@shield-agent/kya 0.32.5 → 0.32.6
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/.cursor-plugin/plugin.json +1 -1
- package/.mcp.json +1 -1
- package/LICENSE +1 -1
- package/LIMITATIONS.md +3 -1
- package/README.md +13 -5
- package/amp/settings.example.json +1 -1
- package/claude/claude_desktop_config.example.json +1 -1
- package/cline/cline_mcp_settings.example.json +1 -1
- package/copilot/mcp-config.example.json +1 -1
- package/dist/client.d.ts +29 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +121 -13
- package/dist/client.js.map +1 -1
- package/dist/commands/team.d.ts +4 -0
- package/dist/commands/team.d.ts.map +1 -1
- package/dist/commands/team.js +12 -9
- package/dist/commands/team.js.map +1 -1
- package/dist/errors.d.ts +3 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +12 -1
- package/dist/errors.js.map +1 -1
- package/dist/notify/index.d.ts +1 -1
- package/dist/notify/index.d.ts.map +1 -1
- package/dist/notify/index.js +2 -2
- package/dist/notify/index.js.map +1 -1
- package/dist/notify/templates.d.ts +18 -2
- package/dist/notify/templates.d.ts.map +1 -1
- package/dist/notify/templates.js +56 -1
- package/dist/notify/templates.js.map +1 -1
- package/dist/update-check.d.ts +5 -0
- package/dist/update-check.d.ts.map +1 -1
- package/dist/update-check.js +38 -5
- package/dist/update-check.js.map +1 -1
- package/droid/README.md +1 -1
- package/droid/mcp.example.json +1 -1
- package/gemini/settings.example.json +1 -1
- package/grok/README.md +1 -1
- package/kilo/kilo.example.json +1 -1
- package/kimi/mcp.example.json +1 -1
- package/kiro/mcp.example.json +1 -1
- package/manifest.json +1 -1
- package/mastracode/mcp.example.json +1 -1
- package/mcp.json +1 -1
- package/openai/codex.config.example.toml +1 -1
- package/opencode/opencode.example.json +1 -1
- package/package.json +1 -1
- package/qwen/settings.example.json +1 -1
- package/server.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shield-kya",
|
|
3
|
-
"version": "0.32.
|
|
3
|
+
"version": "0.32.6",
|
|
4
4
|
"description": "Audit trail and traceability for AI agents. See what every coding agent did, block risky calls, ask a human for approval, and prove it with signed trust checks.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Shield Agent",
|
package/.mcp.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.32.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.32.6", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
package/LICENSE
CHANGED
package/LIMITATIONS.md
CHANGED
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
- `invoke` authorizes on a live plane after Allow or APPROVED. It never runs the customer write in the CLI. There is no `--offline` invoke.
|
|
14
14
|
- The TUI (`dash`) can `a`/`x` decide only after `y` confirm, and only with a JWT that has `kya.approve`. Machine `sk_*` keys are refused (print the CLI hint instead).
|
|
15
15
|
- Human decide is also `kya approve --id` / `kya reject --id` against `POST /api/v1/kya/approvals/{id}/approve|reject` (`kya.approve` scope).
|
|
16
|
+
- A create, decide or priority change that cannot get a lock in time gets `503 kya.approval_busy` with `Retry-After`. The usual cause is another call that holds the same approval (the limit is 5 s; a deadlock can end the wait after about 1 s). A short table lock of a server maintenance job can also cause it. The approval did not change. Send the same call again after the delay. Exception: a console approve with a two-factor code uses up the code before the 503, so send it again with a new code.
|
|
17
|
+
- The SDK client (`requestApproval`, `decideApproval`) sends a busy create or decide again. It waits `Retry-After` seconds (default 2 s, at most 10 s, plus up to 20 percent jitter). It makes at most 3 retries in 20 s and stops when the caller's `AbortSignal` fires. Then it gives `PLANE_BUSY` ("approval service busy; retry later"). A busy approval is never an approval: `wrap` stops and MCP `kya.request_approval` returns an error. Other calls and other HTTP errors (500, 429, other 503) are not retried.
|
|
16
18
|
- Shield KYA evaluate/approve is the only policy decision point (`ALLOW` / `DENY` / `REQUIRE_APPROVE`). Scanners, `--scorecard`, `harness.agentshield`, and the ORR CLI write evidence. They never ALLOW a side effect. AgentShield is opt-in (`--producer harness.agentshield` or `--agentshield-json`). Trust scores never authorize writes. The CLI never passes `--fix`, never starts MiniClaw, and never installs `ecc-agentshield`.
|
|
17
19
|
- OWASP MCP Governance / MCP Top 10 alignment is documented in `docs/owasp-mcp-governance.md`. That guide is not a certificate. Org MCP inventory, Tier UI, and auto risk score are hosted roadmap (not in this CLI).
|
|
18
20
|
- Operator SSO (OIDC/SAML), SCIM 2.0, IdP-group → role maps, and IdP group→tool maps (raise/deny) are hosted Scale only. See `docs/hosted-operator-sso.md`. They never ALLOW a tool write from this CLI.
|
|
@@ -33,4 +35,4 @@
|
|
|
33
35
|
- Grok (grok.com) custom connectors need a public HTTPS URL. Localhost and private IPs are rejected. If the UI only offers OAuth or no auth, use Codex, Gemini CLI, or the xAI SDK instead of turning auth off.
|
|
34
36
|
- Local HTTP MCP remains loopback-only. Do not bind it to a public interface.
|
|
35
37
|
- Optional `kya sandbox` (Firecracker) is a runtime wrap beside the gate, not a hypervisor product. Binaries are not in npm. Default off (`KYA_SANDBOX`). MCP still never executes spawn/exec. Kernel bugs and unwrapped shells remain residual risk (see ADR 0007).
|
|
36
|
-
- `kya certify` is evidence-only: it reads local state (trail, ORR, wired hosts, sandboxes, receipts, showback, attestations) and writes a gap report. It never ALLOWs, DENYs, approves, or blocks a tool call, and it is not a second PEP. `pass` means "local evidence shows no gap" - not certification by any third party. Signed evidence bundles (`--sign`) are self-signed: they prove integrity and continuity of a key, not identity
|
|
38
|
+
- `kya certify` is evidence-only: it reads local state (trail, ORR, wired hosts, sandboxes, receipts, showback, attestations) and writes a gap report. It never ALLOWs, DENYs, approves, or blocks a tool call, and it is not a second PEP. `pass` means "local evidence shows no gap" - not certification by any third party. Signed evidence bundles (`--sign`) are self-signed: they prove integrity and continuity of a key, not identity, and show a grey `self-signed` badge on the public verify endpoint (`POST /api/v1/kya/evidence/verify`) and badge. Only a bundle signed by an active hosted workspace key earns the green badge, which ties it to a hosted account, not to a checked legal identity. Attestations are unverified operator statements recorded locally in `.kya/attestations.json`.
|
package/README.md
CHANGED
|
@@ -265,7 +265,7 @@ MCP Registry entry: `server.json` plus package `mcpName` `io.github.The-Pixel-Bo
|
|
|
265
265
|
"mcpServers": {
|
|
266
266
|
"shield-kya": {
|
|
267
267
|
"command": "npx",
|
|
268
|
-
"args": ["--no-install", "@shield-agent/kya@0.32.
|
|
268
|
+
"args": ["--no-install", "@shield-agent/kya@0.32.6", "serve-mcp", "--stdio"],
|
|
269
269
|
"env": {
|
|
270
270
|
"KYA_BASE_URL": "http://127.0.0.1:8090",
|
|
271
271
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -284,6 +284,8 @@ npx @shield-agent/kya approve --id <approval-id>
|
|
|
284
284
|
npx @shield-agent/kya reject --id <approval-id>
|
|
285
285
|
```
|
|
286
286
|
|
|
287
|
+
A hosted high-risk request (HIGH priority now or before, or created with the irreversible hint) cannot be approved from the CLI or the TUI: the hosted plane answers 403 `kya.approval_console_mfa_required`. Approve it in the hosted console with a two-factor code. `reject` always works.
|
|
288
|
+
|
|
287
289
|
`wrap` evaluates and may open a pending ticket. It never executes the side effect. `invoke` asks the live plane to authorize after Allow or APPROVED. It does not run the write on this machine. The TUI (`dash`) can `a`/`x` decide only after `y` confirm with a JWT (`sk_*` refused).
|
|
288
290
|
|
|
289
291
|
## In-process SDK shims
|
|
@@ -305,7 +307,7 @@ Offline evaluate by default (no network, no hosted plane); an explicit config us
|
|
|
305
307
|
|
|
306
308
|
```bash
|
|
307
309
|
# Prefer a preinstalled package (no registry auto-install):
|
|
308
|
-
npx --no-install @shield-agent/kya@0.32.
|
|
310
|
+
npx --no-install @shield-agent/kya@0.32.6 serve-mcp --stdio
|
|
309
311
|
# Or after npm i -g / local install:
|
|
310
312
|
kya serve-mcp --stdio
|
|
311
313
|
```
|
|
@@ -316,7 +318,7 @@ Copy `claude/claude_desktop_config.example.json` into Claude Desktop MCP setting
|
|
|
316
318
|
|
|
317
319
|
## OpenAI (Codex / Responses)
|
|
318
320
|
|
|
319
|
-
**Codex CLI plugin (hooks):** see [Codex plugin](#codex-plugin). **Codex CLI / IDE (MCP):** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.32.
|
|
321
|
+
**Codex CLI plugin (hooks):** see [Codex plugin](#codex-plugin). **Codex CLI / IDE (MCP):** copy `openai/codex.config.example.toml` into `~/.codex/config.toml`. Local stdio uses `npx --no-install @shield-agent/kya@0.32.6 serve-mcp --stdio`. Hosted Codex uses `url = "https://shield-agent.com/mcp"` with `bearer_token_env_var = "KYA_API_KEY"`.
|
|
320
322
|
|
|
321
323
|
**Responses API:** see `openai/responses-mcp.example.json` (`server_url` + `Authorization: Bearer <KYA_API_KEY>`).
|
|
322
324
|
|
|
@@ -380,7 +382,7 @@ npx @shield-agent/kya certify --sign # also emit a signed evidence-bun
|
|
|
380
382
|
|
|
381
383
|
Certify is **evidence-only**. It never ALLOWs, DENYs, or blocks anything. The sole PEP (policy enforcement point: the component that can block a call) remains Shield KYA. Record-based machine checks never pass on an empty record (they report `insufficient_evidence`). What a machine cannot check is covered by explicit local attestations (`--attest`), recorded in `.kya/attestations.json`. These are unverified operator statements, labeled as such.
|
|
382
384
|
|
|
383
|
-
`--sign` emits `evidence-bundle.json`: canonical JSON, ed25519-signed (a public-key signature) by a locally generated key (`~/.kya/keys/evidence-ed25519.json`, mode 0600, auto-created on first use). Each `--sign` run prints the signing key fingerprint. When the key was just created, the CLI notes that key continuity resets there (earlier bundles stay verifiable only under the old pubkey). A self-signed developer key proves bundle **integrity** and **continuity of a key**, **not identity**.
|
|
385
|
+
`--sign` emits `evidence-bundle.json`: canonical JSON, ed25519-signed (a public-key signature) by a locally generated key (`~/.kya/keys/evidence-ed25519.json`, mode 0600, auto-created on first use). Each `--sign` run prints the signing key fingerprint. When the key was just created, the CLI notes that key continuity resets there (earlier bundles stay verifiable only under the old pubkey). A self-signed developer key proves bundle **integrity** and **continuity of a key**, **not identity**. Bundles from `--sign` verify offline. On the public verify endpoint (`POST /api/v1/kya/evidence/verify`) and badge, they show a grey `self-signed` badge. Only a bundle signed with the key of an active hosted workspace earns the green Shield Verified badge. That ties the badge to a hosted account. It does not prove the legal identity of the company or the agent. The bundle format is open and documented in `docs/certify.md`; anyone can verify a bundle offline with the embedded pubkey.
|
|
384
386
|
|
|
385
387
|
`kya certify` is local, free, and offline: no account, no network calls, no license check (it never sends usage stats). The catalog is MIT-licensed and PRs are welcome. An EU AI Act crosswalk (baseline requirements mapped to Articles 9-15, 26, 72) ships in [docs/certify-eu-ai-act.md](docs/certify-eu-ai-act.md) and `src/certify/eu-ai-act-map.json`.
|
|
386
388
|
|
|
@@ -433,19 +435,24 @@ Home-directory prefixes are redacted from evidence paths (replaced with `~`). Th
|
|
|
433
435
|
|
|
434
436
|
## Alert webhooks (decision routing)
|
|
435
437
|
|
|
436
|
-
Route DENY / REQUIRE_APPROVE events to Slack, Linear, Jira, or any webhook. Config lives in `.kya/config.json` (project) or `~/.kya/config.json` (global):
|
|
438
|
+
Route DENY / REQUIRE_APPROVE events to Slack, Microsoft Teams, Linear, Jira, or any webhook. Config lives in `.kya/config.json` (project) or `~/.kya/config.json` (global):
|
|
437
439
|
|
|
438
440
|
```json
|
|
439
441
|
{
|
|
440
442
|
"notify": {
|
|
441
443
|
"webhooks": [
|
|
442
444
|
{ "url": "https://hooks.slack.com/services/...", "template": "slack", "events": ["DENY", "REQUIRE_APPROVE"] },
|
|
445
|
+
{ "url": "https://<env>.environment.api.powerplatform.com:443/powerautomate/...", "template": "teams", "events": ["DENY"] },
|
|
443
446
|
{ "url": "https://example.invalid/jira", "template": "jira", "events": ["DENY"] }
|
|
444
447
|
]
|
|
445
448
|
}
|
|
446
449
|
}
|
|
447
450
|
```
|
|
448
451
|
|
|
452
|
+
Every Slack message ends with a line that says a Slack reaction or reply is not an approval. The hosted plane can also post new approval requests to Slack (Approvals > Slack notify in the console); that message only links to the console and has no approve button.
|
|
453
|
+
|
|
454
|
+
The `teams` template sends one Adaptive Card to a Teams Workflows webhook (in Teams: channel, Workflows, "Send webhook alerts to a channel", copy the webhook link). The card has no buttons and ends with a line that says a Teams reaction or reply is not an approval. Event text loses the characters that Teams uses for links, mentions and Markdown. The workflow URL holds a signature, so keep it secret; the notify log stores the host only. The hosted plane can also post new approval requests to Teams (Approvals > Teams notify in the console).
|
|
455
|
+
|
|
449
456
|
`KYA_NOTIFY_WEBHOOK=<url>` is the zero-config variant (generic payload). Delivery retries with exponential backoff (250ms/1s/4s + jitter), per-attempt timeouts, a per-URL circuit breaker (stops sending to a target that keeps failing), and a send rate limiter. Payloads are built only from redacted record fields, with an automatic minimized fallback if the secret scan finds something. From short-lived hook/wrap spawns, a detached helper (`kya notify-flush`) sends the webhooks, so the gate path never waits on the network. Every delivery attempt is appended to `~/.kya/notify-log.jsonl` (target host only, never the full URL; capped at the last 500 entries), and the report's System tab shows an **Alerts** panel with per-target delivered/failed counts and the last attempt.
|
|
450
457
|
|
|
451
458
|
## Optional sandbox wrap (Firecracker, OpenShell)
|
|
@@ -493,6 +500,7 @@ pnpm build
|
|
|
493
500
|
- [Works with your observability stack](docs/marketing/observability-stack.md)
|
|
494
501
|
- [SDK & framework integrations (in-process shims)](docs/sdk-integrations.md)
|
|
495
502
|
- [Hosted operator SSO / SCIM (not in OSS CLI)](docs/hosted-operator-sso.md)
|
|
503
|
+
- [What is open source and what is hosted](docs/oss-vs-hosted.md)
|
|
496
504
|
- See also `LIMITATIONS.md` in this repo
|
|
497
505
|
|
|
498
506
|
## Anonymous usage stats (opt-in, off by default)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"amp.mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.32.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.32.6", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.32.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.32.6", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.32.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.32.6", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"shield-kya": {
|
|
4
4
|
"command": "npx",
|
|
5
|
-
"args": ["--no-install", "@shield-agent/kya@0.32.
|
|
5
|
+
"args": ["--no-install", "@shield-agent/kya@0.32.6", "serve-mcp", "--stdio"],
|
|
6
6
|
"env": {
|
|
7
7
|
"KYA_BASE_URL": "https://shield-agent.com",
|
|
8
8
|
"KYA_API_KEY": "${KYA_API_KEY}",
|
package/dist/client.d.ts
CHANGED
|
@@ -156,7 +156,13 @@ export declare class KyaHttpClient {
|
|
|
156
156
|
evaluatePolicy(req: PolicyEvaluateRequest): Promise<PolicyEvaluateResponse>;
|
|
157
157
|
ingestSession(req: SessionIngestRequest): Promise<SessionIngestResponse>;
|
|
158
158
|
invokeTool(req: InvokeToolRequest): Promise<InvokeToolResponse>;
|
|
159
|
-
|
|
159
|
+
/**
|
|
160
|
+
* Retries a busy plane (503 kya.approval_busy). Safe: the plane gives busy before
|
|
161
|
+
* any write, and a create with the same work item returns the existing row (dedup).
|
|
162
|
+
*/
|
|
163
|
+
requestApproval(req: CreateApprovalRequest, opts?: {
|
|
164
|
+
signal?: AbortSignal;
|
|
165
|
+
}): Promise<ApprovalResponse>;
|
|
160
166
|
listAgents(): Promise<AgentResponse[]>;
|
|
161
167
|
getAgent(id: string): Promise<AgentResponse>;
|
|
162
168
|
killAgent(id: string): Promise<AgentResponse>;
|
|
@@ -164,14 +170,28 @@ export declare class KyaHttpClient {
|
|
|
164
170
|
listApprovals(): Promise<ApprovalResponse[]>;
|
|
165
171
|
listSessions(): Promise<SessionListItem[]>;
|
|
166
172
|
shrinkSession(id: string, to: SessionClearance): Promise<ShrinkResponse>;
|
|
167
|
-
/**
|
|
168
|
-
|
|
173
|
+
/**
|
|
174
|
+
* Human decide. Requires kya.approve. Never called by wrap or offline eval.
|
|
175
|
+
* Retries a busy plane (503 kya.approval_busy): the plane gives busy when the
|
|
176
|
+
* row lock wait times out, before any write, so nothing changed. A decide that another call already
|
|
177
|
+
* made gives 409 kya.approval_already_decided, never a second decision.
|
|
178
|
+
*/
|
|
179
|
+
decideApproval(id: string, decision: "approve" | "reject", opts?: {
|
|
180
|
+
signal?: AbortSignal;
|
|
181
|
+
}): Promise<ApprovalResponse>;
|
|
169
182
|
request<T>(path: string, options?: {
|
|
170
183
|
method?: "GET" | "POST" | "PUT" | "DELETE";
|
|
171
184
|
body?: unknown;
|
|
172
185
|
headers?: Record<string, string>;
|
|
173
186
|
signal?: AbortSignal;
|
|
187
|
+
/**
|
|
188
|
+
* Retry 503 kya.approval_busy. Only for calls that are safe to send again
|
|
189
|
+
* (approval create and decide). Other calls never retry.
|
|
190
|
+
*/
|
|
191
|
+
retryBusy?: boolean;
|
|
174
192
|
}): Promise<T>;
|
|
193
|
+
/** One HTTP call with the default 15 s timeout (or the caller signal). */
|
|
194
|
+
private attempt;
|
|
175
195
|
}
|
|
176
196
|
export declare function buildEvaluateFromToolArgs(input: {
|
|
177
197
|
toolId: string;
|
|
@@ -183,6 +203,12 @@ export declare function buildEvaluateFromToolArgs(input: {
|
|
|
183
203
|
approvalStatus?: string;
|
|
184
204
|
sandboxId?: string;
|
|
185
205
|
}): PolicyEvaluateRequest;
|
|
206
|
+
/**
|
|
207
|
+
* Wait before a busy retry. Retry-After counts only as delta-seconds (digits).
|
|
208
|
+
* An HTTP-date, a negative, an empty or any other value gives the 2 s default.
|
|
209
|
+
* Adds up to 20 percent jitter. The result is never more than 10 s.
|
|
210
|
+
*/
|
|
211
|
+
export declare function busyWaitMs(retryAfter: string | null | undefined, random?: () => number): number;
|
|
186
212
|
/** Machine keys use X-API-Key. JWTs stay Bearer. */
|
|
187
213
|
export declare function applyPlaneAuth(headers: Record<string, string>, apiKey: string): void;
|
|
188
214
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { setTimeout as sleep } from "node:timers/promises";
|
|
1
2
|
import { AuthRequiredError, HttpError, KyaError, UsageError } from "./errors.js";
|
|
2
3
|
import { computeArgsHash } from "./hash.js";
|
|
3
4
|
import { findSampleTool } from "./sample-tools.js";
|
|
@@ -109,9 +110,15 @@ export class KyaHttpClient {
|
|
|
109
110
|
},
|
|
110
111
|
});
|
|
111
112
|
}
|
|
112
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Retries a busy plane (503 kya.approval_busy). Safe: the plane gives busy before
|
|
115
|
+
* any write, and a create with the same work item returns the existing row (dedup).
|
|
116
|
+
*/
|
|
117
|
+
async requestApproval(req, opts = {}) {
|
|
113
118
|
return this.request("/api/v1/kya/approvals", {
|
|
114
119
|
method: "POST",
|
|
120
|
+
signal: opts.signal,
|
|
121
|
+
retryBusy: true,
|
|
115
122
|
body: {
|
|
116
123
|
agentId: req.agentId,
|
|
117
124
|
disputeId: req.disputeId,
|
|
@@ -163,19 +170,56 @@ export class KyaHttpClient {
|
|
|
163
170
|
throw new UsageError("session id required");
|
|
164
171
|
return this.request(`/api/v1/kya/sessions/${encodeURIComponent(trimmed)}/shrink`, { method: "POST", body: { to } });
|
|
165
172
|
}
|
|
166
|
-
/**
|
|
167
|
-
|
|
173
|
+
/**
|
|
174
|
+
* Human decide. Requires kya.approve. Never called by wrap or offline eval.
|
|
175
|
+
* Retries a busy plane (503 kya.approval_busy): the plane gives busy when the
|
|
176
|
+
* row lock wait times out, before any write, so nothing changed. A decide that another call already
|
|
177
|
+
* made gives 409 kya.approval_already_decided, never a second decision.
|
|
178
|
+
*/
|
|
179
|
+
async decideApproval(id, decision, opts = {}) {
|
|
168
180
|
const trimmed = id.trim();
|
|
169
181
|
if (!trimmed) {
|
|
170
182
|
throw new UsageError("approval id required");
|
|
171
183
|
}
|
|
172
|
-
const res = await this.request(`/api/v1/kya/approvals/${encodeURIComponent(trimmed)}/${decision}`, { method: "POST" });
|
|
184
|
+
const res = await this.request(`/api/v1/kya/approvals/${encodeURIComponent(trimmed)}/${decision}`, { method: "POST", signal: opts.signal, retryBusy: true });
|
|
173
185
|
if (!res || typeof res.id !== "string" || typeof res.status !== "string") {
|
|
174
186
|
throw new HttpError(200, "approval decide returned no id/status", res);
|
|
175
187
|
}
|
|
176
188
|
return res;
|
|
177
189
|
}
|
|
178
190
|
async request(path, options = {}) {
|
|
191
|
+
if (!options.retryBusy)
|
|
192
|
+
return this.attempt(path, options);
|
|
193
|
+
// Monotonic clock: a wall clock change cannot move the deadline.
|
|
194
|
+
const started = performance.now();
|
|
195
|
+
for (let retries = 0;; retries++) {
|
|
196
|
+
try {
|
|
197
|
+
return await this.attempt(path, options);
|
|
198
|
+
}
|
|
199
|
+
catch (err) {
|
|
200
|
+
if (!isApprovalBusy(err))
|
|
201
|
+
throw err;
|
|
202
|
+
const waitMs = busyWaitMs(err.retryAfter);
|
|
203
|
+
// ponytail: the deadline stops new waits and attempts. An attempt that has
|
|
204
|
+
// started keeps its own 15 s timeout (no caller signal), so the worst case
|
|
205
|
+
// is about 20 s + 15 s.
|
|
206
|
+
if (retries >= BUSY_MAX_RETRIES || performance.now() - started + waitMs > BUSY_DEADLINE_MS) {
|
|
207
|
+
const busy = new KyaError("approval service busy; retry later", "PLANE_BUSY", 1);
|
|
208
|
+
busy.cause = err;
|
|
209
|
+
throw busy;
|
|
210
|
+
}
|
|
211
|
+
try {
|
|
212
|
+
await sleep(waitMs, undefined, { signal: options.signal });
|
|
213
|
+
}
|
|
214
|
+
catch (abortErr) {
|
|
215
|
+
// Same rule as a fetch abort: the caller gets its own abort reason.
|
|
216
|
+
throw options.signal?.reason ?? abortErr;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/** One HTTP call with the default 15 s timeout (or the caller signal). */
|
|
222
|
+
async attempt(path, options) {
|
|
179
223
|
const method = options.method ?? "GET";
|
|
180
224
|
const url = `${this.baseUrl}${path.startsWith("/") ? path : `/${path}`}`;
|
|
181
225
|
const headers = {
|
|
@@ -191,14 +235,33 @@ export class KyaHttpClient {
|
|
|
191
235
|
headers["Content-Type"] = "application/json; charset=utf-8";
|
|
192
236
|
body = JSON.stringify(options.body);
|
|
193
237
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
238
|
+
// Kept in a local so the catch can tell our timeout from any other abort.
|
|
239
|
+
const defaultSignal = options.signal ? undefined : AbortSignal.timeout(REQUEST_TIMEOUT_MS);
|
|
240
|
+
let response;
|
|
241
|
+
let text;
|
|
242
|
+
try {
|
|
243
|
+
response = await this.fetchImpl(url, {
|
|
244
|
+
method,
|
|
245
|
+
headers,
|
|
246
|
+
body,
|
|
247
|
+
redirect: "error",
|
|
248
|
+
signal: options.signal ?? defaultSignal,
|
|
249
|
+
});
|
|
250
|
+
// The same signal also covers the body read.
|
|
251
|
+
text = await response.text();
|
|
252
|
+
}
|
|
253
|
+
catch (err) {
|
|
254
|
+
// Only the default timeout gets the new message. A caller signal or any
|
|
255
|
+
// other abort keeps its own error.
|
|
256
|
+
const name = err?.name;
|
|
257
|
+
if (defaultSignal?.aborted && (name === "TimeoutError" || name === "AbortError")) {
|
|
258
|
+
const timeout = new KyaError(timeoutMessage(this.baseUrl, method, path), "PLANE_HTTP_TIMEOUT", 1);
|
|
259
|
+
// SDK users can still read the original error name.
|
|
260
|
+
timeout.cause = err;
|
|
261
|
+
throw timeout;
|
|
262
|
+
}
|
|
263
|
+
throw err;
|
|
264
|
+
}
|
|
202
265
|
const parsed = parseJsonSafe(text);
|
|
203
266
|
if (!response.ok) {
|
|
204
267
|
if (response.status === 401 || response.status === 403) {
|
|
@@ -211,7 +274,9 @@ export class KyaHttpClient {
|
|
|
211
274
|
typeof parsed.message === "string") {
|
|
212
275
|
msg = parsed.message;
|
|
213
276
|
}
|
|
214
|
-
throw new HttpError(response.status, msg, parsed
|
|
277
|
+
throw new HttpError(response.status, msg, parsed,
|
|
278
|
+
// Optional chain: injected fetch stubs may return a Response-like object with no headers.
|
|
279
|
+
response.headers?.get("retry-after") ?? undefined);
|
|
215
280
|
}
|
|
216
281
|
return parsed;
|
|
217
282
|
}
|
|
@@ -232,6 +297,49 @@ export function buildEvaluateFromToolArgs(input) {
|
|
|
232
297
|
},
|
|
233
298
|
};
|
|
234
299
|
}
|
|
300
|
+
/** Default wait for one control plane request (headers and body). */
|
|
301
|
+
const REQUEST_TIMEOUT_MS = 15_000;
|
|
302
|
+
/** Busy approval retry: 1 call plus at most 3 retries, all inside 20 s. */
|
|
303
|
+
const BUSY_MAX_RETRIES = 3;
|
|
304
|
+
const BUSY_DEADLINE_MS = 20_000;
|
|
305
|
+
const BUSY_DEFAULT_WAIT_S = 2;
|
|
306
|
+
const BUSY_MAX_WAIT_MS = 10_000;
|
|
307
|
+
function isApprovalBusy(err) {
|
|
308
|
+
if (!(err instanceof HttpError) || err.status !== 503)
|
|
309
|
+
return false;
|
|
310
|
+
const body = err.body;
|
|
311
|
+
return body?.error?.code === "kya.approval_busy";
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Wait before a busy retry. Retry-After counts only as delta-seconds (digits).
|
|
315
|
+
* An HTTP-date, a negative, an empty or any other value gives the 2 s default.
|
|
316
|
+
* Adds up to 20 percent jitter. The result is never more than 10 s.
|
|
317
|
+
*/
|
|
318
|
+
export function busyWaitMs(retryAfter, random = Math.random) {
|
|
319
|
+
const v = (retryAfter ?? "").trim();
|
|
320
|
+
const seconds = /^\d+$/.test(v) ? Number(v) : BUSY_DEFAULT_WAIT_S;
|
|
321
|
+
return Math.min(seconds * 1000 * (1 + 0.2 * random()), BUSY_MAX_WAIT_MS);
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Method and the full request URL: origin, base path and request path. No
|
|
325
|
+
* userinfo, no query, no fragment. Never the API key.
|
|
326
|
+
*/
|
|
327
|
+
function timeoutMessage(baseUrl, method, path) {
|
|
328
|
+
// Same normalization as the request URL: "agents" and "/agents" give one target.
|
|
329
|
+
const p = path.startsWith("/") ? path : `/${path}`;
|
|
330
|
+
const cleanPath = p.split(/[?#]/, 1)[0];
|
|
331
|
+
let target = cleanPath;
|
|
332
|
+
try {
|
|
333
|
+
const base = new URL(baseUrl);
|
|
334
|
+
target = `${base.origin}${base.pathname.replace(/\/+$/, "")}${cleanPath}`;
|
|
335
|
+
}
|
|
336
|
+
catch {
|
|
337
|
+
/* keep the path only */
|
|
338
|
+
}
|
|
339
|
+
return (`control plane did not answer ${method} ${target} within ${REQUEST_TIMEOUT_MS / 1000} seconds. ` +
|
|
340
|
+
"Check the base URL (KYA_BASE_URL or --base-url), check your network, then try again. " +
|
|
341
|
+
"Hosted hooks are not affected: they use their own time budget.");
|
|
342
|
+
}
|
|
235
343
|
function stripTrailingSlash(url) {
|
|
236
344
|
return url.endsWith("/") ? url.slice(0, -1) : url;
|
|
237
345
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/team.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ export declare const PLUGIN_ID = "kya@shield-kya";
|
|
|
3
3
|
export declare const PUBLIC_REPO = "The-Pixel-Boys/shield-kya";
|
|
4
4
|
/** Public repo release tags are `v<version>` (the `kya-v*` tags live only in the private monorepo). */
|
|
5
5
|
export declare function releaseRef(version?: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* A prerelease kya (X.Y.Z-pre) is published to npm `next` only: shield-kya gets no `v<version>` tag for it,
|
|
8
|
+
* so a pin to that ref would point at nothing. Refuse instead of writing a broken marketplace source.
|
|
9
|
+
*/
|
|
6
10
|
export declare function marketplaceSource(version?: string): {
|
|
7
11
|
source: string;
|
|
8
12
|
repo: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/commands/team.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/commands/team.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,SAAS,mBAAmB,CAAC;AAC1C,eAAO,MAAM,WAAW,8BAA8B,CAAC;AAEvD,uGAAuG;AACvG,wBAAgB,UAAU,CAAC,OAAO,GAAE,MAAoB,GAAG,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAoB;;;;EAK9D;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,OAAO,GAAE,MAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKtF;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wGAAwG;IACxG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA4CnC,uGAAuG;AACvG,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAE,MAAoB,GAAG,MAAM,EAAE,CA0CxF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,cAAc,CA4BjB;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAkB7D"}
|
package/dist/commands/team.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* enabledPlugins["kya@shield-kya"] = true
|
|
7
7
|
* Every other key is kept. No network, no permissions, nothing auto-accepted: Claude Code still
|
|
8
8
|
* shows each teammate its folder trust prompt. managed-settings prints the same two keys as an
|
|
9
|
-
* admin policy document. Schema: code.claude.com/docs/en/plugins/org and
|
|
9
|
+
* admin policy document. A prerelease kya refuses both (no public tag to pin). Schema: code.claude.com/docs/en/plugins/org and
|
|
10
10
|
* /docs/en/plugins/marketplace-reference (marketplace `github` source: repo, ref, path; no sha).
|
|
11
11
|
*/
|
|
12
12
|
import { existsSync, lstatSync, mkdirSync, readFileSync, realpathSync } from "node:fs";
|
|
@@ -14,6 +14,7 @@ import { homedir } from "node:os";
|
|
|
14
14
|
import { basename, dirname, join } from "node:path";
|
|
15
15
|
import { KyaError } from "../errors.js";
|
|
16
16
|
import { atomicWriteSync } from "../fs-atomic.js";
|
|
17
|
+
import { compareVersions } from "../update-check.js";
|
|
17
18
|
import { CLI_VERSION } from "../version.js";
|
|
18
19
|
export const MARKETPLACE = "shield-kya";
|
|
19
20
|
export const PLUGIN_ID = "kya@shield-kya";
|
|
@@ -22,7 +23,14 @@ export const PUBLIC_REPO = "The-Pixel-Boys/shield-kya";
|
|
|
22
23
|
export function releaseRef(version = CLI_VERSION) {
|
|
23
24
|
return `v${version}`;
|
|
24
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* A prerelease kya (X.Y.Z-pre) is published to npm `next` only: shield-kya gets no `v<version>` tag for it,
|
|
28
|
+
* so a pin to that ref would point at nothing. Refuse instead of writing a broken marketplace source.
|
|
29
|
+
*/
|
|
25
30
|
export function marketplaceSource(version = CLI_VERSION) {
|
|
31
|
+
if (version.includes("-")) {
|
|
32
|
+
throw refuse(`kya ${version} is a prerelease: prerelease kya has no public tag; use a stable kya (npx @shield-agent/kya@latest team init)`);
|
|
33
|
+
}
|
|
26
34
|
return { source: "github", repo: PUBLIC_REPO, ref: releaseRef(version) };
|
|
27
35
|
}
|
|
28
36
|
/** The managed-settings document an admin deploys. Same pin as `team init`. */
|
|
@@ -70,15 +78,10 @@ function detectIndent(text) {
|
|
|
70
78
|
const m = /\n([ \t]+)"/.exec(text);
|
|
71
79
|
return m ? m[1] : 2;
|
|
72
80
|
}
|
|
73
|
-
/** True when tag `a` (vX.Y.Z) is a strictly newer release than `b
|
|
81
|
+
/** True when tag `a` (vX.Y.Z[-pre]) is a strictly newer release than `b` (SemVer precedence); other refs are not newer. */
|
|
74
82
|
function newerThan(a, b) {
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
const y = parse(b);
|
|
78
|
-
if (!x || !y)
|
|
79
|
-
return false;
|
|
80
|
-
const d = x.map((n, i) => n - y[i]).find((n) => n !== 0);
|
|
81
|
-
return d !== undefined && d > 0;
|
|
83
|
+
const tag = /^v\d+\.\d+\.\d+(-[0-9A-Za-z.-]+)?$/;
|
|
84
|
+
return tag.test(a) && tag.test(b) && compareVersions(a, b) > 0;
|
|
82
85
|
}
|
|
83
86
|
/** Merge our two keys into `settings`; returns change lines. Throws (nothing written) on conflicts. */
|
|
84
87
|
export function mergeTeamSettings(settings, version = CLI_VERSION) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/commands/team.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/commands/team.ts"],"names":[],"mappings":"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"}
|