Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,18 @@ permissions:
contents: read

jobs:
typos:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Setup Nix
uses: ./.github/actions/setup-nix

- name: Run Typo Check
run: nix develop --command just typos

ci:
runs-on: ubuntu-latest
strategy:
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ uv add 'stackone-ai[mcp,examples]'
```python
from stackone_ai import StackOneToolSet

# Initialise with API key
# Initialize with API key
toolset = StackOneToolSet() # Uses STACKONE_API_KEY env var
# Or explicitly: toolset = StackOneToolSet(api_key="your-api-key")

Expand Down Expand Up @@ -133,11 +133,11 @@ tools = toolset.fetch_tools(providers=["hibob"])

## Implicit Feedback (Beta)

The Python SDK can emit implicit behavioural feedback to LangSmith so you can triage low-quality tool results without manually tagging runs.
The Python SDK can emit implicit behavioral feedback to LangSmith so you can triage low-quality tool results without manually tagging runs.

### Automatic configuration

Set `LANGSMITH_API_KEY` in your environment and the SDK will initialise the implicit feedback manager on first tool execution. You can optionally fine-tune behaviour with:
Set `LANGSMITH_API_KEY` in your environment and the SDK will initialize the implicit feedback manager on first tool execution. You can optionally fine-tune behavior with:

- `STACKONE_IMPLICIT_FEEDBACK_ENABLED` (`true`/`false`, defaults to `true` when an API key is present)
- `STACKONE_IMPLICIT_FEEDBACK_PROJECT` to pin a LangSmith project name
Expand Down Expand Up @@ -187,7 +187,7 @@ StackOne tools work seamlessly with LangChain, enabling powerful AI agent workfl
from langchain_openai import ChatOpenAI
from stackone_ai import StackOneToolSet

# Initialise StackOne tools
# Initialize StackOne tools
toolset = StackOneToolSet()
tools = toolset.fetch_tools(actions=["hris_*"], account_ids=["your-account-id"])

Expand Down Expand Up @@ -282,7 +282,7 @@ langchain_tools = tools.to_langchain()
# Create CrewAI agent with StackOne tools
agent = Agent(
role="HR Manager",
goal="Analyse employee data and generate insights",
goal="Analyze employee data and generate insights",
backstory="Expert in HR analytics and employee management",
tools=langchain_tools,
llm="gpt-4o-mini"
Expand Down
3 changes: 3 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
"CHANGELOG.md"
];
};
typos.enable = true;
};
};

Expand Down Expand Up @@ -81,6 +82,8 @@
uv
just
nixfmt-rfc-style
typos
typos-lsp
];

shellHook = ''
Expand Down
8 changes: 8 additions & 0 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,14 @@ test-examples:
mypy:
uv run mypy stackone_ai

# Run typos spell checker
typos:
typos --config typos.toml .

# Fix typos
typos-fix:
typos --config typos.toml --write-changes .

# Update version in __init__.py
update-version:
uv run scripts/update_version.py
Expand Down
2 changes: 1 addition & 1 deletion stackone_ai/constants.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Hybrid search default weight for BM25 vs TF-IDF
# alpha=0.2 means: 20% BM25 + 80% TF-IDF
# This value was optimised through validation testing and provides
# This value was optimized through validation testing and provides
# 10.8% improvement in tool discovery accuracy
DEFAULT_HYBRID_ALPHA: float = 0.2
15 changes: 15 additions & 0 deletions typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[default]
locale = 'en-us'
extend-ignore-re = [
"(?s)(#|//)\\s*spellchecker:off.*?\\n\\s*(#|//)\\s*spellchecker:on",
"(?s)<!--\\s*spellchecker:off.*?\\n\\s*spellchecker:on\\s*-->",
"(?Rm)^.*#\\s*spellchecker:disable-line$",
"(?m)^.*<!--\\s*spellchecker:disable-line\\s*-->\\n.*$"
]

[files]
extend-exclude = [
".venv",
"uv.lock",
"CHANGELOG.md",
]
Loading