@stigg/agent-sdk-js 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -119,7 +119,10 @@ Both take the same `stiggContext`, merged the same way — only where it attache
119
119
  | Tools | not seen | `tools`, checked and metered per call |
120
120
  | A refusal | the call throws | the step throws, and the graph decides — a refused sub-agent reads to its lead as a failed tool call |
121
121
 
122
- The [LangChain and LangGraph guide](docs/langchain.md) has every configuration.
122
+ The [LangChain and LangGraph guide](docs/langchain.md) has every configuration. A Google ADK graph
123
+ takes the same options as one plugin on its Runner — `new StiggAdkPlugin(...)` from
124
+ `@stigg/agent-sdk-js/adk` — plus a `stepContext` that names the customer, since ADK has no per-run
125
+ metadata ([guide](docs/guide.md#google-adk-one-plugin-per-runner)).
123
126
 
124
127
  ## 🧭 How it works
125
128
 
@@ -153,6 +156,13 @@ closed, and conflating them is how an outage takes an application down.
153
156
  | <img src="https://raw.githubusercontent.com/stiggio/stigg-agent-sdk-ts/main/docs/logos/cloudflare.svg" width="18" alt=""> | Cloudflare Workers AI | <img src="https://raw.githubusercontent.com/stiggio/stigg-agent-sdk-ts/main/docs/logos/openrouter.svg" width="18" alt=""> | OpenRouter |
154
157
  | <img src="https://raw.githubusercontent.com/stiggio/stigg-agent-sdk-ts/main/docs/logos/databricks.svg" width="18" alt=""> | Databricks | | |
155
158
 
159
+ **Orchestrators** — every agent in a graph checked and metered as itself, its tools included:
160
+
161
+ | | Orchestrator | | Orchestrator |
162
+ | --- | --- | --- | --- |
163
+ | <img src="https://raw.githubusercontent.com/stiggio/stigg-agent-sdk-ts/main/docs/logos/langchain.svg" width="18" alt=""> | [LangChain](docs/langchain.md) | <img src="https://raw.githubusercontent.com/stiggio/stigg-agent-sdk-ts/main/docs/logos/langgraph.svg" width="18" alt=""> | [LangGraph](docs/langchain.md#a-hand-built-langgraph) |
164
+ | <img src="https://raw.githubusercontent.com/stiggio/stigg-agent-sdk-ts/main/docs/logos/google-adk.png" width="18" alt=""> | [Google ADK](docs/guide.md#google-adk-one-plugin-per-runner) | | Your own harness, through `stigg.middleware()` |
165
+
156
166
  Each binding is written against the *shape a vendor returns*, not against its SDK — so installing
157
167
  this package pulls in **no vendor packages at all**, and you install only the one you use.
158
168
 
@@ -301,19 +301,20 @@ class StiggAgentSDK {
301
301
  // built: `run()` already validates in this order, and a malformed call that reports itself as
302
302
  // a probe timeout sends the reader looking at the network for a typo they can see.
303
303
  await this.ensureStarted();
304
+ // Only a call that asked for something governance-only is an error. A budget or a parent
305
+ // cannot be honoured, and carrying on would leave an agent that looks governed with a budget
306
+ // that was never written - so that fails, before a customer is provisioned for nothing.
307
+ if (placement && !this.engine.capabilities.provisioning) {
308
+ throw new errors_1.GovernanceNotEnabledError(`Cannot give agent ${agentId} a budget or a parent: governance is not enabled for this ` +
309
+ 'account, so there is nowhere to write the assignment. Contact Stigg to enable it, or ' +
310
+ 'register without them - checks and usage reporting work at the customer level.');
311
+ }
304
312
  // The customer before the agent: an entity is created under a customer, so one Stigg has never
305
313
  // seen would be refused. The same once-per-customer provisioning every check does.
306
314
  if (defaultPlanId)
307
315
  await this.provisionCustomer(customerId, defaultPlanId);
308
316
  if (!this.engine.capabilities.provisioning) {
309
- // Only a call that asked for something governance-only is an error. A budget or a parent
310
- // cannot be honoured, and carrying on would leave an agent that looks governed with a
311
- // budget that was never written - so that fails. A bare registration asked for neither.
312
- if (placement) {
313
- throw new errors_1.GovernanceNotEnabledError(`Cannot give agent ${agentId} a budget or a parent: governance is not enabled for this ` +
314
- 'account, so there is nowhere to write the assignment. Contact Stigg to enable it, or ' +
315
- 'register without them - checks and usage reporting work at the customer level.');
316
- }
317
+ // A bare registration asked for nothing governance-only.
317
318
  this.config.logger.warn(`[stigg] governance is not enabled: agent ${agentId} has no entity, so checks and usage ` +
318
319
  'apply to the customer rather than to the agent.');
319
320
  return agentId;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigg/agent-sdk-js",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Stigg agent SDK (JS) - run-lifecycle governance for agentic stacks, with examples per layer",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",