@intutic/clawde 2.2.0 → 2.4.0

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.
Files changed (44) hide show
  1. package/README.md +5 -3
  2. package/dist/client.d.ts +26 -3
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +104 -15
  5. package/dist/client.js.map +1 -1
  6. package/dist/control-plane.d.ts +314 -13
  7. package/dist/control-plane.d.ts.map +1 -1
  8. package/dist/control-plane.js +665 -20
  9. package/dist/control-plane.js.map +1 -1
  10. package/dist/errors.d.ts +13 -3
  11. package/dist/errors.d.ts.map +1 -1
  12. package/dist/errors.js +15 -3
  13. package/dist/errors.js.map +1 -1
  14. package/dist/evidence.d.ts +22 -0
  15. package/dist/evidence.d.ts.map +1 -0
  16. package/dist/evidence.js +114 -0
  17. package/dist/evidence.js.map +1 -0
  18. package/dist/git-context.d.ts +27 -0
  19. package/dist/git-context.d.ts.map +1 -0
  20. package/dist/git-context.js +114 -0
  21. package/dist/git-context.js.map +1 -0
  22. package/dist/index.d.ts +4 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +14 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/integrity.d.ts +23 -0
  27. package/dist/integrity.d.ts.map +1 -0
  28. package/dist/integrity.js +89 -0
  29. package/dist/integrity.js.map +1 -0
  30. package/dist/refusals.d.ts +39 -15
  31. package/dist/refusals.d.ts.map +1 -1
  32. package/dist/refusals.js +69 -16
  33. package/dist/refusals.js.map +1 -1
  34. package/dist/toon.d.ts +22 -0
  35. package/dist/toon.d.ts.map +1 -0
  36. package/dist/toon.js +115 -0
  37. package/dist/toon.js.map +1 -0
  38. package/dist/types.d.ts +1182 -1
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/upstream.d.ts +8 -0
  41. package/dist/upstream.d.ts.map +1 -0
  42. package/dist/upstream.js +17 -0
  43. package/dist/upstream.js.map +1 -0
  44. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import type { ControlPlaneClientOptions, WhoamiResult, OrgSignupParams, OrgSignupResult, StartDomainVerificationResult, CheckDomainVerificationResult, CreateOrgParams, CreateOrgResult, Team, Workspace, GatewayRegisterParams, GatewayRegisterResult, Gateway, GatewayRotateResult, GatewayStatus, GatewayConfigUpdate, GatewayConfigResult, GatewayResolution, ProviderCredentialStatus } from './types';
1
+ import type { ControlPlaneClientOptions, WhoamiResult, OrgSignupParams, OrgSignupResult, StartDomainVerificationResult, CheckDomainVerificationResult, CreateOrgParams, CreateOrgResult, Team, Workspace, GatewayRegisterParams, GatewayRegisterResult, Gateway, GatewayRotateResult, GatewayStatus, GatewayConfigUpdate, GatewayConfigResult, GatewayResolution, ProviderCredentialStatus, ProviderModelList, WorkspaceSettings, WorkspaceSettingsUpdateResult, McpServerList, McpServerDecision, NotificationRule, NotificationRuleInput, NotificationRuleUpdate, NotificationSecretRotation, SiemDestination, SiemDestinationList, SiemSources, SiemDestinationInput, SiemDestinationUpdate, SiemSecretRotation, UsageOptions, MemberUsageResponse, TeamUsageResponse, BranchUsageResponse, CommitUsageResponse, PullRequestUsageResponse, PullRequestRefreshResult, InventorySummary, InventoryDevice, InventoryHarness, InventoryMcpServer, InventorySkill, DeviceDisconnect, InventoryFilters, InventorySkillFilters, CoverageFormat, FrameworkCoverage, EvidenceCollectOptions, EvidenceCollectResult, SigningJwks, GateLiveness, GitHubWebhookInfo, GitHubWebhookSecret, PolicySource, PolicySourceInput, PolicySourceSyncResult, PolicyDocumentSummary, PolicyDocumentDetail, ExtractDocumentResult, ExtractOptions, TokenCoverage, PassageSearchResult, GuardrailImpactSeed, LedgerImpact, DuplicatesOptions, LedgerDuplicates, GuardrailFilters, GuardrailSummary, GuardrailDetail, GuardrailReadiness, GuardrailTransitionResult, PromoteOptions, AuthoredGuardrailInput, AuthoredGuardrailUpdate, AuthoredGuardrailWriteResult, GuardrailDeleteResult, GuardrailReplay, GuardrailConflict, ReviewOptions, DecisionReviewResult, LoopRun, StartLoopRunOptions, CompleteLoopRunOptions, LoopRunReviewOptions, LoopRunActionResult, Finding, FindingFilters, FindingOutcome, AdjudicateOptions, FindingAdjudication, FindingStats, ResponseEchoReportOptions, ResponseEchoReport, TraceFilters, TraceList, IncidentFilters, Incident, IncidentList, TraceDetail, IntegrityRootList, IntegrityRootDetail, IntegrityRecompute, IntegrityChain, ConfigChain, CompliancePolicy, PolicyChangeResult, RuleCandidateSource, BundleUploadOptions, BundleUploadResult, WasmReplayOptions, WasmReplayResult, SopSummary, SopDetail, SopInput, SopCreateResult, OrgSop, OrgSopInput, AttenuateOptions, AttenuationResult, AttenuationChainLink, PredictCostParams, CostPrediction, MirrorAdoptionReport } from './types';
2
2
  /**
3
- * Control-plane management client (LLD #69) — org/team/gateway/credentials
3
+ * Control-plane management client — org/team/gateway/credentials
4
4
  * administration, as distinct from `ClawdeClient`'s data-plane chat calls.
5
5
  *
6
6
  * Deliberately a separate class, not new methods on `ClawdeClient`:
@@ -10,14 +10,25 @@ import type { ControlPlaneClientOptions, WhoamiResult, OrgSignupParams, OrgSignu
10
10
  * management calls onto `ClawdeClient` would silently need a second base URL
11
11
  * on a class whose whole contract today is "one client, one proxy."
12
12
  *
13
- * Every endpoint here is mirrored 1:1 from `tools/cli/src/commands/{org,
14
- * team,gateway,credentials,whoami}.ts` — the CLI's own already-tested
15
- * contracts, not re-derived. Endpoints deliberately NOT included: session
16
- * establishment (`login`/`logout` — an SDK caller supplies `apiKey`
17
- * directly), and local-environment/terminal concerns (`init`, `doctor`,
18
- * `install-daemon`, `integrity`, `rollback`, `connect`, `exec`, `start`,
19
- * `syncContext`, `skill`) that have no meaning for a library embedded in
20
- * someone else's process.
13
+ * Every endpoint here comes from the control-plane calls in
14
+ * `tools/cli/src/commands/*` — the CLI's own already-tested contracts, not
15
+ * re-derived — and the Python SDK's `control_plane.py` has the same methods
16
+ * in snake_case. `packages/shared-types/fixtures/control-plane-operations.json`
17
+ * lists every method with the request it makes and the answer it returns, and
18
+ * both SDKs' tests run against it, so neither can grow a method the other
19
+ * lacks. Method names follow one pattern for whatever is added next: a verb
20
+ * (`list`, `get`, `create`, `update`, `delete`, `rotate…Secret`, `download`,
21
+ * or the CLI subcommand's own verb, such as `approve` or `promote`), then the
22
+ * resource.
23
+ *
24
+ * Not included: session establishment (`login`/`logout`; an SDK caller
25
+ * supplies `apiKey` directly, and `ClawdeClient` registers its own session),
26
+ * the CLI's workspace budget (`ClawdeClient.checkBudget()`), and commands
27
+ * that act on the machine they run on: `init`, `setup`, `doctor`,
28
+ * `install-daemon`, `connect`, `disconnect`, `exec`, `start`, `syncContext`,
29
+ * `rollback`, `enforce`, `rules`, `judge`, `skill` (its loop commands are
30
+ * here), `sops status`, `guardrails pull`, and `policy
31
+ * compile|install|snapshot|list-local`.
21
32
  *
22
33
  * Works unmodified against a self-hosted control plane — there is no
23
34
  * SaaS-vs-self-hosted branch anywhere in this file. An open-core user who
@@ -29,15 +40,23 @@ import type { ControlPlaneClientOptions, WhoamiResult, OrgSignupParams, OrgSignu
29
40
  *
30
41
  * Auth: the same `apiKey` type `ClawdeClient` accepts — a `vk_` token or a
31
42
  * JWT both satisfy `services/control-plane/src/middleware/auth.ts`, which
32
- * resolves either to an `AuthContext` with a role; endpoints gated
33
- * `requireRole('OWNER','ADMIN')` server-side reject an under-privileged
34
- * token exactly as they would for the CLI using the same token.
43
+ * resolves either to an `AuthContext` with a role. A call the role may not
44
+ * make throws `ClawdeConnectionError` with the control plane's answer; for a
45
+ * 403 that names the roles allowed (`detail`), the message is that sentence,
46
+ * as the CLI prints it.
35
47
  */
36
48
  export declare class ControlPlaneClient {
37
49
  private apiKey;
38
50
  private baseUrl;
39
51
  constructor(options: ControlPlaneClientOptions);
52
+ private send;
53
+ /**
54
+ * A JSON call. `answers` lists the error statuses whose body is the answer
55
+ * rather than a failure: the integrity chain walk answers a break with 409.
56
+ */
40
57
  private request;
58
+ /** A file download: the body as bytes. Its errors are JSON, as every other call's. */
59
+ private download;
41
60
  /** GET /api/v1/auth/me */
42
61
  whoami(): Promise<WhoamiResult>;
43
62
  /**
@@ -91,6 +110,8 @@ export declare class ControlPlaneClient {
91
110
  rotateGatewayToken(gatewayId: string): Promise<GatewayRotateResult>;
92
111
  /** DELETE /api/v1/gateways/:id */
93
112
  revokeGateway(gatewayId: string, reason?: string): Promise<void>;
113
+ /** GET /api/v1/gateways/:id/config — the flags set on the gateway and their version, as the gateway pulls them. */
114
+ getGatewayConfig(gatewayId: string): Promise<GatewayConfigResult>;
94
115
  /** PATCH /api/v1/gateways/:id/config */
95
116
  setGatewayConfig(gatewayId: string, config: GatewayConfigUpdate): Promise<GatewayConfigResult>;
96
117
  /** PATCH /api/v1/workspace/gateway — pass null to clear the override. */
@@ -103,11 +124,291 @@ export declare class ControlPlaneClient {
103
124
  }>;
104
125
  /** GET /api/v1/workspace/gateway-resolution */
105
126
  resolveGateway(): Promise<GatewayResolution>;
127
+ /** GET /api/v1/workspace/settings — every setting, resolved with its default. */
128
+ getWorkspaceSettings(): Promise<WorkspaceSettings>;
129
+ /**
130
+ * PUT /api/v1/workspace/settings — the route `intutic settings set` calls.
131
+ *
132
+ * Only the keys given change; the rest are kept (`featureFlags` merges one
133
+ * level deeper, so one flag does not switch the others off). The control
134
+ * plane is the authority on which keys exist and what each accepts: an
135
+ * unknown key or a bad value is refused with a 400 naming it, a setting the
136
+ * workspace's plan does not include (the group policy below Biz Org) with a
137
+ * 403 "Upgrade required", and a member below OWNER or ADMIN with a 403. Each
138
+ * refusal throws `ClawdeConnectionError` carrying the server's answer.
139
+ */
140
+ updateWorkspaceSettings(settings: Record<string, unknown>): Promise<WorkspaceSettingsUpdateResult>;
106
141
  /** GET /api/v1/workspace/provider-credentials */
107
142
  listProviderCredentials(): Promise<ProviderCredentialStatus[]>;
108
143
  /** PUT /api/v1/workspace/provider-credentials/:provider */
109
144
  setProviderCredential(provider: string, fields: Record<string, string>): Promise<ProviderCredentialStatus>;
110
145
  /** DELETE /api/v1/workspace/provider-credentials/:provider */
111
146
  unsetProviderCredential(provider: string): Promise<void>;
147
+ /** GET /api/v1/workspace/provider-credentials/:provider/models */
148
+ listProviderModels(provider: string): Promise<ProviderModelList>;
149
+ /** GET /api/v1/mcp/servers — every server the workspace's MCP proxies have reported, and the registry-wide policy. */
150
+ listMcpServers(): Promise<McpServerList>;
151
+ /** POST /api/v1/mcp/servers/:serverId/status — approve a server (OWNER, ADMIN). */
152
+ approveMcpServer(serverId: string): Promise<McpServerDecision>;
153
+ /** POST /api/v1/mcp/servers/:serverId/status — block a server (OWNER, ADMIN). */
154
+ blockMcpServer(serverId: string): Promise<McpServerDecision>;
155
+ /** POST /api/v1/mcp/servers/:serverId/status — return a server to the approval queue (OWNER, ADMIN). */
156
+ resetMcpServer(serverId: string): Promise<McpServerDecision>;
157
+ /** POST /api/v1/mcp/servers/:serverId/tools — switch one tool on (OWNER, ADMIN). */
158
+ enableMcpTool(serverId: string, tool: string): Promise<McpServerDecision>;
159
+ /** POST /api/v1/mcp/servers/:serverId/tools — switch one tool off (OWNER, ADMIN). */
160
+ disableMcpTool(serverId: string, tool: string): Promise<McpServerDecision>;
161
+ private setMcpServerStatus;
162
+ /** GET /api/v1/notifications/rules */
163
+ listNotificationRules(): Promise<NotificationRule[]>;
164
+ /**
165
+ * POST /api/v1/notifications/rules. A webhook rule comes back with its
166
+ * `signingSecret`, which is not shown again.
167
+ */
168
+ createNotificationRule(rule: NotificationRuleInput): Promise<NotificationRule>;
169
+ /**
170
+ * PUT /api/v1/notifications/rules/:ruleId — only the fields given change.
171
+ * A switch to the webhook channel comes back with the new `signingSecret`.
172
+ */
173
+ updateNotificationRule(ruleId: string, changes: NotificationRuleUpdate): Promise<NotificationRule>;
174
+ /** DELETE /api/v1/notifications/rules/:ruleId */
175
+ deleteNotificationRule(ruleId: string): Promise<void>;
176
+ /** POST /api/v1/notifications/rules/:ruleId/signing-secret — deliveries are signed with the new secret from now on. */
177
+ rotateNotificationRuleSecret(ruleId: string): Promise<NotificationSecretRotation>;
178
+ /** GET /api/v1/siem/destinations — the destinations and the event sources they can receive. */
179
+ listSiemDestinations(): Promise<SiemDestinationList>;
180
+ /** GET /api/v1/siem/destinations/:destinationId */
181
+ getSiemDestination(destinationId: string): Promise<SiemDestination>;
182
+ /** The event sources a destination can receive; `defaults` are the ones an empty `sourceTables` means. */
183
+ listSiemSources(): Promise<SiemSources>;
184
+ /**
185
+ * POST /api/v1/siem/destinations (OWNER, ADMIN). The control plane refuses
186
+ * a destination that points at an internal address. A webhook destination
187
+ * comes back with its `signingSecret`, which is not shown again.
188
+ */
189
+ createSiemDestination(destination: SiemDestinationInput): Promise<SiemDestination>;
190
+ /** PUT /api/v1/siem/destinations/:destinationId (OWNER, ADMIN) — only the fields given change. */
191
+ updateSiemDestination(destinationId: string, changes: SiemDestinationUpdate): Promise<SiemDestination>;
192
+ /** DELETE /api/v1/siem/destinations/:destinationId (OWNER, ADMIN) — deactivates it; `updateSiemDestination(id, { isActive: true })` turns it back on. */
193
+ deleteSiemDestination(destinationId: string): Promise<void>;
194
+ /** POST /api/v1/siem/destinations/:destinationId/signing-secret (OWNER, ADMIN) */
195
+ rotateSiemDestinationSecret(destinationId: string): Promise<SiemSecretRotation>;
196
+ /** GET /api/v1/usage/members */
197
+ getMemberUsage(options?: UsageOptions): Promise<MemberUsageResponse>;
198
+ /** GET /api/v1/usage/teams — per SCIM group. */
199
+ getTeamUsage(options?: UsageOptions): Promise<TeamUsageResponse>;
200
+ /** GET /api/v1/usage/branches */
201
+ getBranchUsage(options?: UsageOptions): Promise<BranchUsageResponse>;
202
+ /** GET /api/v1/usage/commits */
203
+ getCommitUsage(options?: UsageOptions): Promise<CommitUsageResponse>;
204
+ /** GET /api/v1/usage/pull-requests */
205
+ getPullRequestUsage(options?: UsageOptions): Promise<PullRequestUsageResponse>;
206
+ /** POST /api/v1/usage/pull-requests/refresh — look the branches up on GitHub now (OWNER, ADMIN, EM). */
207
+ refreshPullRequestUsage(): Promise<PullRequestRefreshResult>;
208
+ /** GET /api/v1/inventory/summary */
209
+ getInventorySummary(): Promise<InventorySummary>;
210
+ /** GET /api/v1/inventory/devices — one row per machine. */
211
+ listInventoryDevices(): Promise<InventoryDevice[]>;
212
+ /** GET /api/v1/inventory/harnesses */
213
+ listInventoryHarnesses(filters?: InventoryFilters): Promise<InventoryHarness[]>;
214
+ /** GET /api/v1/inventory/mcp-servers */
215
+ listInventoryMcpServers(filters?: InventoryFilters): Promise<InventoryMcpServer[]>;
216
+ /** GET /api/v1/inventory/skills */
217
+ listInventorySkills(filters?: InventorySkillFilters): Promise<InventorySkill[]>;
218
+ /** GET /api/v1/inventory/disconnects — machines that ran `intutic disconnect`, newest first (default 100, at most 500). */
219
+ listInventoryDisconnects(options?: {
220
+ limit?: number;
221
+ }): Promise<DeviceDisconnect[]>;
222
+ /** GET /api/v1/inventory/harnesses?format=csv — the CSV the dashboard downloads. */
223
+ downloadInventoryHarnessesCsv(filters?: InventoryFilters): Promise<Uint8Array>;
224
+ /** GET /api/v1/inventory/mcp-servers?format=csv */
225
+ downloadInventoryMcpServersCsv(filters?: InventoryFilters): Promise<Uint8Array>;
226
+ private listData;
227
+ /** GET /api/v1/compliance/frameworks/:frameworkId/coverage — `eu_ai_act`, `iso_42001`, `nist_ai_rmf` or `mitre_atlas`. */
228
+ getFrameworkCoverage(frameworkId: string): Promise<FrameworkCoverage>;
229
+ /**
230
+ * GET /api/v1/compliance/frameworks/:frameworkId/coverage?format= — the
231
+ * report as a file. Unsigned: the signed copies are the ones sealed in the
232
+ * evidence archive.
233
+ */
234
+ downloadFrameworkCoverage(frameworkId: string, format: CoverageFormat): Promise<Uint8Array>;
235
+ /** POST /api/v1/compliance/soc2-collect (OWNER, ADMIN) — run a fresh evidence collection and seal it. */
236
+ collectEvidence(options?: EvidenceCollectOptions): Promise<EvidenceCollectResult>;
237
+ /** GET /api/v1/compliance/soc2-export/:runId (OWNER, ADMIN) — a stored archive, as the file. Check it with `verifyEvidenceArchive`. */
238
+ downloadEvidence(runId: string): Promise<Uint8Array>;
239
+ /**
240
+ * GET /.well-known/intutic-trace-signing.json — the published signing keys,
241
+ * fetched without credentials. `verifyEvidenceArchive` takes them.
242
+ */
243
+ getSigningKeys(): Promise<SigningJwks>;
244
+ /** GET /api/v1/governance/gate-liveness (OWNER, ADMIN, EM) — whether each installed harness's gate is reporting. */
245
+ getGateLiveness(): Promise<GateLiveness>;
246
+ /** GET /api/v1/integrations/github/webhook (OWNER, ADMIN) — the payload URL; never the secret. */
247
+ getGithubWebhook(): Promise<GitHubWebhookInfo>;
248
+ /**
249
+ * POST /api/v1/integrations/github/webhook/secret (OWNER, ADMIN) — make the
250
+ * webhook, or replace its secret. Deliveries signed with an earlier secret
251
+ * are refused from then on.
252
+ */
253
+ rotateGithubWebhookSecret(): Promise<GitHubWebhookSecret>;
254
+ /** GET /api/v1/connectors — the workspace's policy sources (Notion, Confluence, GitHub, Google Drive). */
255
+ listPolicySources(): Promise<PolicySource[]>;
256
+ /** POST /api/v1/connectors */
257
+ addPolicySource(source: PolicySourceInput): Promise<PolicySource>;
258
+ /** POST /api/v1/connectors/:connectorId/sync */
259
+ syncPolicySource(connectorId: string): Promise<PolicySourceSyncResult>;
260
+ /** GET /api/v1/policy-guardrails/documents */
261
+ listPolicyDocuments(): Promise<PolicyDocumentSummary[]>;
262
+ /** GET /api/v1/policy-guardrails/documents/:docId — passages, clauses and extraction runs. */
263
+ getPolicyDocument(docId: string): Promise<PolicyDocumentDetail>;
264
+ /** POST /api/v1/policy-guardrails/documents/:docId/extract — propose guardrails from the document's clauses. */
265
+ extractPolicyDocument(docId: string, options?: ExtractOptions): Promise<ExtractDocumentResult>;
266
+ /** GET /api/v1/policy-guardrails/coverage?token= — the passages that mention a tool or action, and the guardrails on them. */
267
+ getGuardrailCoverage(token: string): Promise<TokenCoverage>;
268
+ /** GET /api/v1/policy-guardrails/search?q= — full-text search over live passages, best match first. */
269
+ searchPolicyPassages(text: string): Promise<PassageSearchResult>;
270
+ /** GET /api/v1/policy-guardrails/impact — what a change to a document or a passage reaches. Name one of them. */
271
+ getGuardrailImpact(seed: GuardrailImpactSeed): Promise<LedgerImpact>;
272
+ /** GET /api/v1/policy-guardrails/duplicates — overlapping passages and rules cited more than once. */
273
+ listGuardrailDuplicates(options?: DuplicatesOptions): Promise<LedgerDuplicates>;
274
+ /** GET /api/v1/policy-guardrails/guardrails */
275
+ listGuardrails(filters?: GuardrailFilters): Promise<GuardrailSummary[]>;
276
+ /** GET /api/v1/policy-guardrails/guardrails/:guardrailId */
277
+ getGuardrail(guardrailId: string): Promise<GuardrailDetail>;
278
+ /** GET /api/v1/policy-guardrails/guardrails/:guardrailId/readiness — whether a SHADOW guardrail's evidence clears promotion. */
279
+ getGuardrailReadiness(guardrailId: string): Promise<GuardrailReadiness>;
280
+ /** POST …/guardrails/:guardrailId/approve-shadow — into SHADOW: distributed as warn, measuring, enforcing nothing. */
281
+ approveGuardrailShadow(guardrailId: string): Promise<GuardrailTransitionResult>;
282
+ /**
283
+ * POST …/guardrails/:guardrailId/promote — into ENFORCING. Refused with a
284
+ * 409 until the shadow evidence clears the thresholds; a guardrail that
285
+ * never fired needs `acknowledgeNoTraffic`.
286
+ */
287
+ promoteGuardrail(guardrailId: string, options?: PromoteOptions): Promise<GuardrailTransitionResult>;
288
+ /** POST …/guardrails/:guardrailId/reject — recorded with the reason. */
289
+ rejectGuardrail(guardrailId: string, reason: string): Promise<GuardrailTransitionResult>;
290
+ /** POST …/guardrails/:guardrailId/retire — gone from every rule endpoint on the next poll. */
291
+ retireGuardrail(guardrailId: string): Promise<GuardrailTransitionResult>;
292
+ /** POST …/guardrails/:guardrailId/reconfirm — re-confirm a stale citation against a live passage. */
293
+ reconfirmGuardrail(guardrailId: string): Promise<GuardrailTransitionResult>;
294
+ /**
295
+ * POST /api/v1/policy-guardrails/guardrails (OWNER, ADMIN) — an authored
296
+ * guardrail, created PROPOSED. An IR a check refuses is a 400 naming the
297
+ * check.
298
+ */
299
+ createGuardrail(guardrail: AuthoredGuardrailInput): Promise<AuthoredGuardrailWriteResult>;
300
+ /**
301
+ * PUT /api/v1/policy-guardrails/guardrails/:guardrailId (OWNER, ADMIN). A
302
+ * changed IR creates the next version (`forked`), PROPOSED with no
303
+ * evidence; a name or description edit keeps the evidence.
304
+ */
305
+ updateGuardrail(guardrailId: string, changes: AuthoredGuardrailUpdate): Promise<AuthoredGuardrailWriteResult>;
306
+ /** DELETE /api/v1/policy-guardrails/guardrails/:guardrailId (OWNER, ADMIN) — retires it; its history is kept. */
307
+ deleteGuardrail(guardrailId: string): Promise<GuardrailDeleteResult>;
308
+ /** POST …/guardrails/:guardrailId/replay — what the guardrail would have done on captured traffic. */
309
+ replayGuardrail(guardrailId: string): Promise<GuardrailReplay>;
310
+ /** GET /api/v1/policy-guardrails/conflicts — live guardrails and front-matter rules that contradict each other. */
311
+ listGuardrailConflicts(): Promise<GuardrailConflict[]>;
312
+ private transitionGuardrail;
313
+ /** POST /api/v1/decisions/:holdId/review (OWNER, ADMIN, EM) — approve a held call. */
314
+ approveDecision(holdId: string, options?: ReviewOptions): Promise<DecisionReviewResult>;
315
+ /** POST /api/v1/decisions/:holdId/review (OWNER, ADMIN, EM) — reject a held call. */
316
+ rejectDecision(holdId: string, options?: ReviewOptions): Promise<DecisionReviewResult>;
317
+ /**
318
+ * POST /api/v1/loops/start — register a loop run. Send its id with the run's
319
+ * requests (`INTUTIC_LOOP_RUN_ID`, as `intutic loop exec` sets it) so the
320
+ * proxy files them under it.
321
+ */
322
+ startLoopRun(name: string, options?: StartLoopRunOptions): Promise<LoopRun>;
323
+ /** GET /api/v1/loops/:loopRunId */
324
+ getLoopRun(loopRunId: string): Promise<LoopRun>;
325
+ /** GET /api/v1/loops */
326
+ listLoopRuns(): Promise<LoopRun[]>;
327
+ /** POST /api/v1/loops/:loopRunId/complete — `outcome` records how the run ended. */
328
+ completeLoopRun(loopRunId: string, options?: CompleteLoopRunOptions): Promise<LoopRunActionResult>;
329
+ /** POST /api/v1/loops/:loopRunId/kill */
330
+ killLoopRun(loopRunId: string): Promise<LoopRunActionResult>;
331
+ /** POST /api/v1/loops/:loopRunId/review (OWNER, ADMIN, EM) — approve a run held for review; it is ACTIVE again. */
332
+ approveLoopRun(loopRunId: string, options?: LoopRunReviewOptions): Promise<LoopRunActionResult>;
333
+ /** POST /api/v1/loops/:loopRunId/review (OWNER, ADMIN, EM) — reject a run held for review; it is KILLED. */
334
+ rejectLoopRun(loopRunId: string, options?: LoopRunReviewOptions): Promise<LoopRunActionResult>;
335
+ /** GET /api/v1/findings — detector findings, newest first. */
336
+ listFindings(filters?: FindingFilters): Promise<Finding[]>;
337
+ /** POST /api/v1/findings/:findingId/adjudicate — the ruling is recorded under the key's member. */
338
+ adjudicateFinding(findingId: string, outcome: FindingOutcome, options?: AdjudicateOptions): Promise<FindingAdjudication>;
339
+ /** GET /api/v1/findings/stats — false-positive rate per detector, over adjudicated findings. */
340
+ getFindingStats(): Promise<FindingStats>;
341
+ /** GET /api/v1/findings/response-echo/report */
342
+ getResponseEchoReport(options?: ResponseEchoReportOptions): Promise<ResponseEchoReport>;
343
+ /** GET /api/v1/incidents — ranked by review priority; filter by status, severity and type. */
344
+ listIncidents(filters?: IncidentFilters): Promise<IncidentList>;
345
+ /** GET /api/v1/incidents/:incidentId */
346
+ getIncident(incidentId: string): Promise<Incident>;
347
+ /** GET /api/v1/traces — newest first. */
348
+ listTraces(filters?: TraceFilters): Promise<TraceList>;
349
+ /** GET /api/v1/traces/:traceId */
350
+ getTrace(traceId: string): Promise<TraceDetail>;
351
+ /** GET /api/v1/integrity/roots — the sealed trace roots. */
352
+ listIntegrityRoots(options?: {
353
+ loopRunId?: string;
354
+ }): Promise<IntegrityRootList>;
355
+ /** GET /api/v1/integrity/roots/:rootId — the root, its signature and its leaves. */
356
+ getIntegrityRoot(rootId: string): Promise<IntegrityRootDetail>;
357
+ /** POST /api/v1/integrity/roots/:rootId/recompute — re-derive the root from the stored traces. */
358
+ recomputeIntegrityRoot(rootId: string): Promise<IntegrityRecompute>;
359
+ /** GET /api/v1/integrity/chain — the root chain walk; `intact: false` lists the breaks. */
360
+ getIntegrityChain(): Promise<IntegrityChain>;
361
+ /** GET /api/v1/integrity/config-chain — the harness config snapshot chain walk. */
362
+ getIntegrityConfigChain(): Promise<ConfigChain>;
363
+ /** GET /api/v1/policies */
364
+ listPolicies(): Promise<CompliancePolicy[]>;
365
+ /** POST /api/v1/policies/:policyId/enable */
366
+ enablePolicy(policyId: string): Promise<PolicyChangeResult>;
367
+ /** POST /api/v1/policies/:policyId/disable */
368
+ disablePolicy(policyId: string): Promise<PolicyChangeResult>;
369
+ /** POST /api/v1/policies/:policyId/rollback */
370
+ rollbackPolicy(policyId: string, version: number): Promise<PolicyChangeResult>;
371
+ /**
372
+ * GET /api/v1/rule-candidates/:candidateId/source — the source of record a
373
+ * candidate's bundle must be compiled from. A source that does not hash to
374
+ * the `sourceSha256` served with it is refused (`ClawdeConnectionError`):
375
+ * something between the control plane and this process changed it.
376
+ */
377
+ getRuleCandidateSource(candidateId: string): Promise<RuleCandidateSource>;
378
+ /**
379
+ * POST /api/v1/rule-candidates/:candidateId/bundle (OWNER, ADMIN) — upload
380
+ * a compiled rule with the hash of the source it was compiled from. The
381
+ * control plane runs its gates; `accepted` says whether the rule went into
382
+ * shadow, and `gates` why.
383
+ */
384
+ uploadRuleCandidateBundle(candidateId: string, wasm: Uint8Array, sourceSha256: string, options?: BundleUploadOptions): Promise<BundleUploadResult>;
385
+ /** POST /api/v1/wasm-rules/:ruleId/replay — what a rule would have done on sampled traffic, without enforcing. */
386
+ replayWasmRule(ruleId: string, options?: WasmReplayOptions): Promise<WasmReplayResult>;
387
+ /** GET /api/v1/sops */
388
+ listSops(options?: {
389
+ limit?: number;
390
+ }): Promise<SopSummary[]>;
391
+ /** GET /api/v1/sops/:sopId */
392
+ getSop(sopId: string): Promise<SopDetail>;
393
+ /** POST /api/v1/sops — one workspace SOP; `markdown_content` without front matter. */
394
+ createSop(sop: SopInput): Promise<SopCreateResult>;
395
+ /** GET /api/v1/workspace/org-sops — the org-wide SOP floors of the key's org. */
396
+ listOrgSops(): Promise<OrgSop[]>;
397
+ /** POST /api/v1/workspace/org-sops — a mandatory org-wide floor (OWNER, ADMIN of a workspace in the org). */
398
+ createOrgSop(sop: OrgSopInput): Promise<OrgSop>;
399
+ /** DELETE /api/v1/workspace/org-sops/:orgSopId — answers 404 both for no such SOP and for a member without admin access. */
400
+ deleteOrgSop(orgSopId: string): Promise<void>;
401
+ /**
402
+ * POST /api/v1/attenuate — a child key narrowed to a subset of the parent
403
+ * key's capabilities. The child key is in the response once and never
404
+ * stored.
405
+ */
406
+ attenuateKey(parentKeyId: string, requestedCaps: string[], options?: AttenuateOptions): Promise<AttenuationResult>;
407
+ /** GET /api/v1/attenuate/chain/:chainId (OWNER, ADMIN) — the delegation lineage. */
408
+ getAttenuationChain(chainId: string): Promise<AttenuationChainLink[]>;
409
+ /** POST /api/v1/predict-cost — estimate a call's cost before it runs. Size the input with a token count or the text. */
410
+ predictCost(params: PredictCostParams): Promise<CostPrediction>;
411
+ /** GET /api/v1/routing/mirror-adoption-report — how a mirror-tested candidate model compared. Reported only; changes nothing. */
412
+ getMirrorAdoptionReport(candidateModel: string): Promise<MirrorAdoptionReport>;
112
413
  }
113
414
  //# sourceMappingURL=control-plane.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"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"}