@skrr-ai/cli 0.1.47 → 0.1.49
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 +1 -1
- package/dist/base-command.d.ts +18 -0
- package/dist/base-command.js +61 -1
- package/dist/commands/agent-worker.d.ts +12 -0
- package/dist/commands/agent-worker.js +140 -0
- package/dist/commands/agents/chat.d.ts +21 -0
- package/dist/commands/agents/chat.js +26 -9
- package/dist/commands/balance/usage/breakdown.d.ts +14 -0
- package/dist/commands/balance/usage/breakdown.js +68 -0
- package/dist/commands/balance/usage.js +24 -0
- package/dist/commands/commerce/entitlements/explain.d.ts +22 -0
- package/dist/commands/commerce/entitlements/explain.js +40 -0
- package/dist/commands/commerce/incidents/audit.d.ts +20 -0
- package/dist/commands/commerce/incidents/audit.js +37 -0
- package/dist/commands/commerce/incidents/list.d.ts +22 -0
- package/dist/commands/commerce/incidents/list.js +49 -0
- package/dist/commands/commerce/incidents/resolve.d.ts +23 -0
- package/dist/commands/commerce/incidents/resolve.js +45 -0
- package/dist/commands/commerce/incidents/retry.d.ts +22 -0
- package/dist/commands/commerce/incidents/retry.js +45 -0
- package/dist/commands/commerce/incidents/show.d.ts +13 -0
- package/dist/commands/commerce/incidents/show.js +30 -0
- package/dist/commands/commerce/offers/approve.d.ts +17 -0
- package/dist/commands/commerce/offers/approve.js +33 -0
- package/dist/commands/commerce/offers/create.d.ts +18 -0
- package/dist/commands/commerce/offers/create.js +34 -0
- package/dist/commands/commerce/offers/publish.d.ts +13 -0
- package/dist/commands/commerce/offers/publish.js +28 -0
- package/dist/commands/commerce/offers/retire.d.ts +17 -0
- package/dist/commands/commerce/offers/retire.js +32 -0
- package/dist/commands/commerce/offers/validate.d.ts +18 -0
- package/dist/commands/commerce/offers/validate.js +33 -0
- package/dist/commands/commerce/products/create.d.ts +10 -0
- package/dist/commands/commerce/products/create.js +25 -0
- package/dist/commands/commerce/promotions/redeem.d.ts +13 -0
- package/dist/commands/commerce/promotions/redeem.js +32 -0
- package/dist/commands/commerce/terms/accept.d.ts +18 -0
- package/dist/commands/commerce/terms/accept.js +39 -0
- package/dist/commands/commerce/terms/show.d.ts +10 -0
- package/dist/commands/commerce/terms/show.js +34 -0
- package/dist/commands/commerce/trials/conversion-preview.d.ts +18 -0
- package/dist/commands/commerce/trials/conversion-preview.js +39 -0
- package/dist/commands/commerce/trials/start.d.ts +23 -0
- package/dist/commands/commerce/trials/start.js +58 -0
- package/dist/commands/commitments/accounting.d.ts +39 -0
- package/dist/commands/commitments/accounting.js +116 -0
- package/dist/commands/commitments/action-history.d.ts +1 -0
- package/dist/commands/commitments/action-history.js +8 -1
- package/dist/commands/commitments/case.d.ts +1 -0
- package/dist/commands/commitments/case.js +19 -3
- package/dist/commands/commitments/cases.d.ts +1 -0
- package/dist/commands/commitments/cases.js +11 -1
- package/dist/commands/commitments/checks.d.ts +1 -0
- package/dist/commands/commitments/checks.js +5 -1
- package/dist/commands/commitments/cost.d.ts +62 -0
- package/dist/commands/commitments/cost.js +130 -0
- package/dist/commands/commitments/create.js +1 -1
- package/dist/commands/commitments/delete.d.ts +1 -0
- package/dist/commands/commitments/delete.js +56 -6
- package/dist/commands/commitments/feedback.js +9 -1
- package/dist/commands/commitments/handover.js +16 -0
- package/dist/commands/commitments/hypotheses.d.ts +1 -0
- package/dist/commands/commitments/hypotheses.js +17 -2
- package/dist/commands/commitments/links/list.js +4 -1
- package/dist/commands/commitments/liveness.d.ts +18 -0
- package/dist/commands/commitments/liveness.js +80 -0
- package/dist/commands/commitments/metrics.d.ts +1 -0
- package/dist/commands/commitments/metrics.js +8 -1
- package/dist/commands/commitments/next-tick.d.ts +39 -0
- package/dist/commands/commitments/next-tick.js +122 -0
- package/dist/commands/commitments/observations.d.ts +1 -0
- package/dist/commands/commitments/observations.js +19 -2
- package/dist/commands/commitments/pause.js +12 -0
- package/dist/commands/commitments/receipt.d.ts +2 -0
- package/dist/commands/commitments/receipt.js +16 -2
- package/dist/commands/commitments/remediation-proposal.js +6 -2
- package/dist/commands/commitments/remediation-proposals.js +5 -1
- package/dist/commands/commitments/restore.d.ts +25 -0
- package/dist/commands/commitments/restore.js +46 -0
- package/dist/commands/commitments/show.js +32 -0
- package/dist/commands/commitments/trigger-status.js +33 -0
- package/dist/commands/commitments/update.d.ts +1 -0
- package/dist/commands/commitments/update.js +31 -5
- package/dist/commands/commitments/wake-capabilities.d.ts +0 -1
- package/dist/commands/commitments/wake-capabilities.js +8 -4
- package/dist/commands/enterprise/budgets/create.d.ts +11 -0
- package/dist/commands/enterprise/budgets/create.js +27 -0
- package/dist/commands/enterprise/budgets/evaluate.d.ts +17 -0
- package/dist/commands/enterprise/budgets/evaluate.js +32 -0
- package/dist/commands/enterprise/budgets/publish.d.ts +14 -0
- package/dist/commands/enterprise/budgets/publish.js +30 -0
- package/dist/commands/enterprise/contracts/activate.d.ts +14 -0
- package/dist/commands/enterprise/contracts/activate.js +30 -0
- package/dist/commands/enterprise/contracts/create.d.ts +14 -0
- package/dist/commands/enterprise/contracts/create.js +32 -0
- package/dist/commands/enterprise/contracts/issue.d.ts +18 -0
- package/dist/commands/enterprise/contracts/issue.js +34 -0
- package/dist/commands/enterprise/domains/begin.d.ts +20 -0
- package/dist/commands/enterprise/domains/begin.js +39 -0
- package/dist/commands/enterprise/domains/verify.d.ts +14 -0
- package/dist/commands/enterprise/domains/verify.js +32 -0
- package/dist/commands/enterprise/external-config/activate.d.ts +22 -0
- package/dist/commands/enterprise/external-config/activate.js +49 -0
- package/dist/commands/enterprise/external-config/set.d.ts +25 -0
- package/dist/commands/enterprise/external-config/set.js +123 -0
- package/dist/commands/enterprise/external-config/show.d.ts +12 -0
- package/dist/commands/enterprise/external-config/show.js +39 -0
- package/dist/commands/enterprise/external-config/suspend.d.ts +13 -0
- package/dist/commands/enterprise/external-config/suspend.js +41 -0
- package/dist/commands/enterprise/finance/close-snapshot.d.ts +11 -0
- package/dist/commands/enterprise/finance/close-snapshot.js +28 -0
- package/dist/commands/enterprise/finance/record-document.d.ts +18 -0
- package/dist/commands/enterprise/finance/record-document.js +35 -0
- package/dist/commands/enterprise/profile.d.ts +20 -0
- package/dist/commands/enterprise/profile.js +38 -0
- package/dist/commands/login.d.ts +13 -0
- package/dist/commands/login.js +77 -0
- package/dist/commands/machines/dedicated/index.js +3 -0
- package/dist/commands/machines/dedicated/service/apply.d.ts +23 -0
- package/dist/commands/machines/dedicated/service/apply.js +99 -0
- package/dist/commands/machines/dedicated/service/approve.d.ts +23 -0
- package/dist/commands/machines/dedicated/service/approve.js +52 -0
- package/dist/commands/machines/dedicated/service/create.d.ts +55 -0
- package/dist/commands/machines/dedicated/service/create.js +222 -0
- package/dist/commands/machines/dedicated/service/edit.d.ts +30 -0
- package/dist/commands/machines/dedicated/service/edit.js +146 -0
- package/dist/commands/machines/dedicated/service/exec.d.ts +26 -0
- package/dist/commands/machines/dedicated/service/exec.js +92 -0
- package/dist/commands/machines/dedicated/service/export.d.ts +29 -0
- package/dist/commands/machines/dedicated/service/export.js +106 -0
- package/dist/commands/machines/dedicated/service/index.d.ts +14 -0
- package/dist/commands/machines/dedicated/service/index.js +49 -0
- package/dist/commands/machines/dedicated/service/logs.d.ts +33 -0
- package/dist/commands/machines/dedicated/service/logs.js +148 -0
- package/dist/commands/machines/dedicated/service/ls.d.ts +20 -0
- package/dist/commands/machines/dedicated/service/ls.js +80 -0
- package/dist/commands/machines/dedicated/service/restart.d.ts +14 -0
- package/dist/commands/machines/dedicated/service/restart.js +29 -0
- package/dist/commands/machines/dedicated/service/rm.d.ts +20 -0
- package/dist/commands/machines/dedicated/service/rm.js +33 -0
- package/dist/commands/machines/dedicated/service/secret/index.d.ts +14 -0
- package/dist/commands/machines/dedicated/service/secret/index.js +25 -0
- package/dist/commands/machines/dedicated/service/secret/rm.d.ts +22 -0
- package/dist/commands/machines/dedicated/service/secret/rm.js +54 -0
- package/dist/commands/machines/dedicated/service/secret/set.d.ts +22 -0
- package/dist/commands/machines/dedicated/service/secret/set.js +93 -0
- package/dist/commands/machines/dedicated/service/start.d.ts +14 -0
- package/dist/commands/machines/dedicated/service/start.js +29 -0
- package/dist/commands/machines/dedicated/service/status.d.ts +21 -0
- package/dist/commands/machines/dedicated/service/status.js +85 -0
- package/dist/commands/machines/dedicated/service/stop.d.ts +20 -0
- package/dist/commands/machines/dedicated/service/stop.js +35 -0
- package/dist/commands/machines/dedicated/service/top.d.ts +22 -0
- package/dist/commands/machines/dedicated/service/top.js +120 -0
- package/dist/commands/machines/dedicated/sign-in-status.d.ts +22 -0
- package/dist/commands/machines/dedicated/sign-in-status.js +79 -0
- package/dist/commands/machines/dedicated/ssh-config.d.ts +28 -0
- package/dist/commands/machines/dedicated/ssh-config.js +66 -0
- package/dist/commands/machines/dedicated/ssh-proxy.d.ts +22 -0
- package/dist/commands/machines/dedicated/ssh-proxy.js +62 -0
- package/dist/commands/machines/dedicated/ssh.d.ts +29 -0
- package/dist/commands/machines/dedicated/ssh.js +121 -0
- package/dist/commands/native/allow-all.d.ts +14 -0
- package/dist/commands/native/allow-all.js +25 -0
- package/dist/commands/native/allow.d.ts +24 -0
- package/dist/commands/native/allow.js +45 -0
- package/dist/commands/native/deny.d.ts +24 -0
- package/dist/commands/native/deny.js +43 -0
- package/dist/commands/native/disable.d.ts +17 -0
- package/dist/commands/native/disable.js +28 -0
- package/dist/commands/native/enable.d.ts +12 -0
- package/dist/commands/native/enable.js +29 -0
- package/dist/commands/native/list-apps.d.ts +19 -0
- package/dist/commands/native/list-apps.js +30 -0
- package/dist/commands/native/restrict-to.d.ts +22 -0
- package/dist/commands/native/restrict-to.js +41 -0
- package/dist/commands/native/status.d.ts +19 -0
- package/dist/commands/native/status.js +33 -0
- package/dist/commands/native.d.ts +39 -0
- package/dist/commands/native.js +76 -0
- package/dist/commands/service/index.d.ts +14 -0
- package/dist/commands/service/index.js +31 -0
- package/dist/commands/service/logs.d.ts +18 -0
- package/dist/commands/service/logs.js +53 -0
- package/dist/commands/service/ls.d.ts +13 -0
- package/dist/commands/service/ls.js +48 -0
- package/dist/commands/service/propose.d.ts +34 -0
- package/dist/commands/service/propose.js +113 -0
- package/dist/commands/service/status.d.ts +17 -0
- package/dist/commands/service/status.js +56 -0
- package/dist/commands/spaces/auto-executor/runs.d.ts +13 -0
- package/dist/commands/spaces/auto-executor/runs.js +56 -0
- package/dist/commands/store/governance/artifacts.d.ts +25 -0
- package/dist/commands/store/governance/artifacts.js +55 -0
- package/dist/commands/store/governance/assign.d.ts +16 -0
- package/dist/commands/store/governance/assign.js +54 -0
- package/dist/commands/store/governance/create-license.d.ts +18 -0
- package/dist/commands/store/governance/create-license.js +35 -0
- package/dist/commands/store/governance/install-plan.d.ts +25 -0
- package/dist/commands/store/governance/install-plan.js +56 -0
- package/dist/commands/store/governance/license-policy.d.ts +30 -0
- package/dist/commands/store/governance/license-policy.js +69 -0
- package/dist/commands/store/governance/policy.d.ts +25 -0
- package/dist/commands/store/governance/policy.js +65 -0
- package/dist/commands/store/governance/publish-release.d.ts +17 -0
- package/dist/commands/store/governance/publish-release.js +34 -0
- package/dist/commands/tasks/deliverable/add.d.ts +15 -0
- package/dist/commands/tasks/deliverable/add.js +174 -0
- package/dist/commands/tasks/deliverable/archive.d.ts +35 -0
- package/dist/commands/tasks/deliverable/archive.js +205 -0
- package/dist/commands/tasks/labels/detach.js +3 -0
- package/dist/commands/tasks/labels/suggest.d.ts +24 -0
- package/dist/commands/tasks/labels/suggest.js +69 -0
- package/dist/commands/tasks/list.d.ts +16 -2
- package/dist/commands/tasks/list.js +100 -24
- package/dist/commands/tasks/show.d.ts +23 -0
- package/dist/commands/tasks/show.js +51 -1
- package/dist/commands/wiki/rm.d.ts +22 -1
- package/dist/commands/wiki/rm.js +52 -3
- package/dist/lib/agentic-stream.js +10 -2
- package/dist/lib/balance.d.ts +6 -1
- package/dist/lib/balance.js +15 -0
- package/dist/lib/commerce-command.d.ts +48 -0
- package/dist/lib/commerce-command.js +70 -0
- package/dist/lib/commerce.d.ts +93 -0
- package/dist/lib/commerce.js +129 -0
- package/dist/lib/commitment-product.js +1 -1
- package/dist/lib/commitments.d.ts +202 -29
- package/dist/lib/commitments.js +300 -33
- package/dist/lib/daemon-installer.d.ts +6 -5
- package/dist/lib/daemon-installer.js +4 -17
- package/dist/lib/dedicated-lease-command.js +10 -0
- package/dist/lib/dedicated-machines.d.ts +37 -0
- package/dist/lib/dedicated-machines.js +47 -0
- package/dist/lib/dedicated-service-command.d.ts +60 -0
- package/dist/lib/dedicated-service-command.js +182 -0
- package/dist/lib/dedicated-service.d.ts +342 -0
- package/dist/lib/dedicated-service.js +741 -0
- package/dist/lib/dedicated-ssh.d.ts +136 -0
- package/dist/lib/dedicated-ssh.js +387 -0
- package/dist/lib/delegated-cli.js +51 -13
- package/dist/lib/enterprise-commerce.d.ts +67 -0
- package/dist/lib/enterprise-commerce.js +112 -0
- package/dist/lib/enterprise-external-configuration.d.ts +60 -0
- package/dist/lib/enterprise-external-configuration.js +58 -0
- package/dist/lib/first-party-harness.js +17 -3
- package/dist/lib/governed-store.d.ts +110 -0
- package/dist/lib/governed-store.js +79 -0
- package/dist/lib/guest-service-command.d.ts +16 -0
- package/dist/lib/guest-service-command.js +32 -0
- package/dist/lib/guest-service.d.ts +67 -0
- package/dist/lib/guest-service.js +112 -0
- package/dist/lib/prompt.d.ts +1 -0
- package/dist/lib/prompt.js +1 -0
- package/dist/lib/task-asset-upload.d.ts +20 -0
- package/dist/lib/task-asset-upload.js +30 -8
- package/dist/lib/task-extras.d.ts +23 -0
- package/dist/lib/task-extras.js +6 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonScopes.d.ts +9 -3
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonScopes.js +10 -3
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/firstPartyHarness.d.ts +1 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/firstPartyHarness.js +1 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/index.d.ts +2 -2
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/index.js +8 -5
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/messages.d.ts +16 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/messages.js +21 -4
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/releaseManifest.d.ts +38 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/releaseManifest.js +66 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/spawnEnv.d.ts +1 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/spawnEnv.js +24 -2
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonScopes.d.ts +9 -3
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonScopes.js +10 -3
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/firstPartyHarness.d.ts +1 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/firstPartyHarness.js +1 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/index.d.ts +2 -2
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/index.js +2 -2
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/messages.d.ts +16 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/messages.js +20 -4
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/releaseManifest.d.ts +38 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/releaseManifest.js +64 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/spawnEnv.d.ts +1 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/spawnEnv.js +24 -2
- package/dist/node_modules/@skrr-ai/auth-core/package.json +1 -1
- package/dist/node_modules/@skrr-ai/data-provider/index.js +5060 -4827
- package/oclif.manifest.json +35194 -29157
- package/package.json +43 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `/api/commerce` — marketplace terms, the offer governance pipeline, trials,
|
|
3
|
+
* promotions, and the incident queue behind fulfillment and integrity.
|
|
4
|
+
*
|
|
5
|
+
* Most of it is `checkAdmin` on the server, which is not a reason to leave it
|
|
6
|
+
* in a browser: the API enforces that either way, so a CLI grants nothing and
|
|
7
|
+
* only gives an operator a path that is not a page. The incident queue and the
|
|
8
|
+
* offer pipeline are the two most CLI-shaped things in the file — a queue you
|
|
9
|
+
* triage and a lifecycle you advance are exactly what a headless operator does
|
|
10
|
+
* at 2am, which is the case the parity doctrine names.
|
|
11
|
+
*
|
|
12
|
+
* Every route is written out at its own call site rather than composed from a
|
|
13
|
+
* builder: the parity checker reads a LITERAL there and deliberately refuses a
|
|
14
|
+
* composed path.
|
|
15
|
+
*
|
|
16
|
+
* **Bodies are passed through, not re-declared.** The complex writes (a
|
|
17
|
+
* product, an offer version, an entitlement question) take JSON the server
|
|
18
|
+
* validates with its own zod schema. Restating those shapes here would be a
|
|
19
|
+
* second declaration of a vocabulary the server owns — the way a surface
|
|
20
|
+
* silently drifts from the API that rejects it.
|
|
21
|
+
*/
|
|
22
|
+
export type MarketplaceTermsScope = 'buyer' | 'publisher';
|
|
23
|
+
/**
|
|
24
|
+
* `GET /marketplace/terms/current` — the terms in force for one side of a deal.
|
|
25
|
+
*
|
|
26
|
+
* The query rides in `withQuery` rather than being interpolated into the
|
|
27
|
+
* literal. That is not style: the parity checker reads the LITERAL at the call
|
|
28
|
+
* site, and a `?scope=${…}` baked into it resolves to a path with a query
|
|
29
|
+
* attached, which matches no route — so a covered endpoint reports as
|
|
30
|
+
* unreachable. `withQuery` is the wrapper the checker already understands, and
|
|
31
|
+
* it is the one the other libs use.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getMarketplaceTerms(scope: MarketplaceTermsScope): Promise<unknown>;
|
|
34
|
+
/**
|
|
35
|
+
* `POST /marketplace/terms/accept` — record that you accept them.
|
|
36
|
+
*
|
|
37
|
+
* `accepted: true` is a literal the server requires; it is not a flag the CLI
|
|
38
|
+
* may default, because the whole value of the receipt is that somebody said so.
|
|
39
|
+
*/
|
|
40
|
+
export declare function acceptMarketplaceTerms(scope: MarketplaceTermsScope): Promise<unknown>;
|
|
41
|
+
/** `GET /admin/marketplace/incidents/:kind` — the queue. */
|
|
42
|
+
export declare function listMarketplaceIncidents(kind: string, params?: {
|
|
43
|
+
status?: string;
|
|
44
|
+
limit?: number;
|
|
45
|
+
}): Promise<unknown>;
|
|
46
|
+
/** `GET /admin/marketplace/incidents/:kind/:incidentId` — one incident. */
|
|
47
|
+
export declare function getMarketplaceIncident(kind: string, incidentId: string): Promise<unknown>;
|
|
48
|
+
/** `GET /admin/marketplace/incidents/:kind/:incidentId/audit` — what was done to it. */
|
|
49
|
+
export declare function listMarketplaceIncidentAudit(kind: string, incidentId: string): Promise<unknown>;
|
|
50
|
+
/**
|
|
51
|
+
* `POST /admin/marketplace/incidents/integrity/:incidentId/resolve` — close an
|
|
52
|
+
* integrity incident with a stated resolution.
|
|
53
|
+
*
|
|
54
|
+
* Integrity only. A fulfillment incident is retried, not resolved, and the two
|
|
55
|
+
* are different acts: one says the work can run again, the other says a human
|
|
56
|
+
* looked and decided. The CLI keeps them as separate verbs for that reason.
|
|
57
|
+
*/
|
|
58
|
+
export declare function resolveIntegrityIncident(incidentId: string, body: Record<string, unknown>): Promise<unknown>;
|
|
59
|
+
/** `POST /admin/marketplace/fulfillment-reconciliations/:id/retry` — run it again. */
|
|
60
|
+
export declare function retryFulfillmentReconciliation(reconciliationId: string, body?: Record<string, unknown>): Promise<unknown>;
|
|
61
|
+
/** `POST /admin/products` — create a product. Body is the server's schema. */
|
|
62
|
+
export declare function createCommerceProduct(body: Record<string, unknown>): Promise<unknown>;
|
|
63
|
+
/** `POST /admin/offers` — create an offer VERSION. Body is the server's schema. */
|
|
64
|
+
export declare function createCommerceOfferVersion(body: Record<string, unknown>): Promise<unknown>;
|
|
65
|
+
/**
|
|
66
|
+
* The offer pipeline, in the order it is meant to run: validate → approve →
|
|
67
|
+
* publish, with retire as the exit. Four doors rather than one `--state` flag,
|
|
68
|
+
* because each is a distinct act with a distinct authority behind it, and a
|
|
69
|
+
* single mutate-the-state verb is how a governance pipeline becomes a field.
|
|
70
|
+
*/
|
|
71
|
+
/** `POST /admin/offers/:offerVersionId/validate` — is it ready to be approved? */
|
|
72
|
+
export declare function validateCommerceOffer(offerVersionId: string): Promise<unknown>;
|
|
73
|
+
/** `POST /admin/offers/:offerVersionId/approve` — somebody signs off. */
|
|
74
|
+
export declare function approveCommerceOffer(offerVersionId: string): Promise<unknown>;
|
|
75
|
+
/** `POST /admin/offers/:offerVersionId/publish` — it becomes buyable. */
|
|
76
|
+
export declare function publishCommerceOffer(offerVersionId: string): Promise<unknown>;
|
|
77
|
+
/** `POST /admin/offers/:offerVersionId/retire` — it stops being buyable. */
|
|
78
|
+
export declare function retireCommerceOffer(offerVersionId: string): Promise<unknown>;
|
|
79
|
+
/** `POST /trials` — enrol the calling user. The subject is the credential, never a field. */
|
|
80
|
+
export declare function startCommerceTrial(body: Record<string, unknown>): Promise<unknown>;
|
|
81
|
+
/** `GET /trials/:enrollmentId/conversion-preview` — what converting would cost. */
|
|
82
|
+
export declare function previewCommerceTrialConversion(enrollmentId: string): Promise<unknown>;
|
|
83
|
+
/** `POST /promotions/redeem` — redeem a promotional offer version. */
|
|
84
|
+
export declare function redeemCommercePromotion(offerVersionId: string): Promise<unknown>;
|
|
85
|
+
/**
|
|
86
|
+
* `POST /admin/entitlements/explain` — WHY a subject does or does not have a
|
|
87
|
+
* capability.
|
|
88
|
+
*
|
|
89
|
+
* The most useful read on this mount and the reason a CLI is worth having:
|
|
90
|
+
* "this account cannot do X" is a support question answered by tracing an
|
|
91
|
+
* entitlement, and tracing it from a terminal beats clicking through a console.
|
|
92
|
+
*/
|
|
93
|
+
export declare function explainCommerceEntitlement(body: Record<string, unknown>): Promise<unknown>;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMarketplaceTerms = getMarketplaceTerms;
|
|
4
|
+
exports.acceptMarketplaceTerms = acceptMarketplaceTerms;
|
|
5
|
+
exports.listMarketplaceIncidents = listMarketplaceIncidents;
|
|
6
|
+
exports.getMarketplaceIncident = getMarketplaceIncident;
|
|
7
|
+
exports.listMarketplaceIncidentAudit = listMarketplaceIncidentAudit;
|
|
8
|
+
exports.resolveIntegrityIncident = resolveIntegrityIncident;
|
|
9
|
+
exports.retryFulfillmentReconciliation = retryFulfillmentReconciliation;
|
|
10
|
+
exports.createCommerceProduct = createCommerceProduct;
|
|
11
|
+
exports.createCommerceOfferVersion = createCommerceOfferVersion;
|
|
12
|
+
exports.validateCommerceOffer = validateCommerceOffer;
|
|
13
|
+
exports.approveCommerceOffer = approveCommerceOffer;
|
|
14
|
+
exports.publishCommerceOffer = publishCommerceOffer;
|
|
15
|
+
exports.retireCommerceOffer = retireCommerceOffer;
|
|
16
|
+
exports.startCommerceTrial = startCommerceTrial;
|
|
17
|
+
exports.previewCommerceTrialConversion = previewCommerceTrialConversion;
|
|
18
|
+
exports.redeemCommercePromotion = redeemCommercePromotion;
|
|
19
|
+
exports.explainCommerceEntitlement = explainCommerceEntitlement;
|
|
20
|
+
const api_fetch_1 = require("./api-fetch");
|
|
21
|
+
const triggers_1 = require("./triggers");
|
|
22
|
+
/**
|
|
23
|
+
* `GET /marketplace/terms/current` — the terms in force for one side of a deal.
|
|
24
|
+
*
|
|
25
|
+
* The query rides in `withQuery` rather than being interpolated into the
|
|
26
|
+
* literal. That is not style: the parity checker reads the LITERAL at the call
|
|
27
|
+
* site, and a `?scope=${…}` baked into it resolves to a path with a query
|
|
28
|
+
* attached, which matches no route — so a covered endpoint reports as
|
|
29
|
+
* unreachable. `withQuery` is the wrapper the checker already understands, and
|
|
30
|
+
* it is the one the other libs use.
|
|
31
|
+
*/
|
|
32
|
+
async function getMarketplaceTerms(scope) {
|
|
33
|
+
return (0, api_fetch_1.apiFetch)((0, triggers_1.withQuery)('/api/commerce/marketplace/terms/current', { scope }));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* `POST /marketplace/terms/accept` — record that you accept them.
|
|
37
|
+
*
|
|
38
|
+
* `accepted: true` is a literal the server requires; it is not a flag the CLI
|
|
39
|
+
* may default, because the whole value of the receipt is that somebody said so.
|
|
40
|
+
*/
|
|
41
|
+
async function acceptMarketplaceTerms(scope) {
|
|
42
|
+
return (0, api_fetch_1.apiFetch)('/api/commerce/marketplace/terms/accept', {
|
|
43
|
+
method: 'POST',
|
|
44
|
+
body: { scope, accepted: true },
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/** `GET /admin/marketplace/incidents/:kind` — the queue. */
|
|
48
|
+
async function listMarketplaceIncidents(kind, params = {}) {
|
|
49
|
+
return (0, api_fetch_1.apiFetch)((0, triggers_1.withQuery)(`/api/commerce/admin/marketplace/incidents/${encodeURIComponent(kind)}`, params));
|
|
50
|
+
}
|
|
51
|
+
/** `GET /admin/marketplace/incidents/:kind/:incidentId` — one incident. */
|
|
52
|
+
async function getMarketplaceIncident(kind, incidentId) {
|
|
53
|
+
return (0, api_fetch_1.apiFetch)(`/api/commerce/admin/marketplace/incidents/${encodeURIComponent(kind)}/${encodeURIComponent(incidentId)}`);
|
|
54
|
+
}
|
|
55
|
+
/** `GET /admin/marketplace/incidents/:kind/:incidentId/audit` — what was done to it. */
|
|
56
|
+
async function listMarketplaceIncidentAudit(kind, incidentId) {
|
|
57
|
+
return (0, api_fetch_1.apiFetch)(`/api/commerce/admin/marketplace/incidents/${encodeURIComponent(kind)}/${encodeURIComponent(incidentId)}/audit`);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* `POST /admin/marketplace/incidents/integrity/:incidentId/resolve` — close an
|
|
61
|
+
* integrity incident with a stated resolution.
|
|
62
|
+
*
|
|
63
|
+
* Integrity only. A fulfillment incident is retried, not resolved, and the two
|
|
64
|
+
* are different acts: one says the work can run again, the other says a human
|
|
65
|
+
* looked and decided. The CLI keeps them as separate verbs for that reason.
|
|
66
|
+
*/
|
|
67
|
+
async function resolveIntegrityIncident(incidentId, body) {
|
|
68
|
+
return (0, api_fetch_1.apiFetch)(`/api/commerce/admin/marketplace/incidents/integrity/${encodeURIComponent(incidentId)}/resolve`, { method: 'POST', body });
|
|
69
|
+
}
|
|
70
|
+
/** `POST /admin/marketplace/fulfillment-reconciliations/:id/retry` — run it again. */
|
|
71
|
+
async function retryFulfillmentReconciliation(reconciliationId, body = {}) {
|
|
72
|
+
return (0, api_fetch_1.apiFetch)(`/api/commerce/admin/marketplace/fulfillment-reconciliations/${encodeURIComponent(reconciliationId)}/retry`, { method: 'POST', body });
|
|
73
|
+
}
|
|
74
|
+
/** `POST /admin/products` — create a product. Body is the server's schema. */
|
|
75
|
+
async function createCommerceProduct(body) {
|
|
76
|
+
return (0, api_fetch_1.apiFetch)('/api/commerce/admin/products', { method: 'POST', body });
|
|
77
|
+
}
|
|
78
|
+
/** `POST /admin/offers` — create an offer VERSION. Body is the server's schema. */
|
|
79
|
+
async function createCommerceOfferVersion(body) {
|
|
80
|
+
return (0, api_fetch_1.apiFetch)('/api/commerce/admin/offers', { method: 'POST', body });
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The offer pipeline, in the order it is meant to run: validate → approve →
|
|
84
|
+
* publish, with retire as the exit. Four doors rather than one `--state` flag,
|
|
85
|
+
* because each is a distinct act with a distinct authority behind it, and a
|
|
86
|
+
* single mutate-the-state verb is how a governance pipeline becomes a field.
|
|
87
|
+
*/
|
|
88
|
+
/** `POST /admin/offers/:offerVersionId/validate` — is it ready to be approved? */
|
|
89
|
+
async function validateCommerceOffer(offerVersionId) {
|
|
90
|
+
return (0, api_fetch_1.apiFetch)(`/api/commerce/admin/offers/${encodeURIComponent(offerVersionId)}/validate`, { method: 'POST', body: {} });
|
|
91
|
+
}
|
|
92
|
+
/** `POST /admin/offers/:offerVersionId/approve` — somebody signs off. */
|
|
93
|
+
async function approveCommerceOffer(offerVersionId) {
|
|
94
|
+
return (0, api_fetch_1.apiFetch)(`/api/commerce/admin/offers/${encodeURIComponent(offerVersionId)}/approve`, { method: 'POST', body: {} });
|
|
95
|
+
}
|
|
96
|
+
/** `POST /admin/offers/:offerVersionId/publish` — it becomes buyable. */
|
|
97
|
+
async function publishCommerceOffer(offerVersionId) {
|
|
98
|
+
return (0, api_fetch_1.apiFetch)(`/api/commerce/admin/offers/${encodeURIComponent(offerVersionId)}/publish`, { method: 'POST', body: {} });
|
|
99
|
+
}
|
|
100
|
+
/** `POST /admin/offers/:offerVersionId/retire` — it stops being buyable. */
|
|
101
|
+
async function retireCommerceOffer(offerVersionId) {
|
|
102
|
+
return (0, api_fetch_1.apiFetch)(`/api/commerce/admin/offers/${encodeURIComponent(offerVersionId)}/retire`, { method: 'POST', body: {} });
|
|
103
|
+
}
|
|
104
|
+
/** `POST /trials` — enrol the calling user. The subject is the credential, never a field. */
|
|
105
|
+
async function startCommerceTrial(body) {
|
|
106
|
+
return (0, api_fetch_1.apiFetch)('/api/commerce/trials', { method: 'POST', body });
|
|
107
|
+
}
|
|
108
|
+
/** `GET /trials/:enrollmentId/conversion-preview` — what converting would cost. */
|
|
109
|
+
async function previewCommerceTrialConversion(enrollmentId) {
|
|
110
|
+
return (0, api_fetch_1.apiFetch)(`/api/commerce/trials/${encodeURIComponent(enrollmentId)}/conversion-preview`);
|
|
111
|
+
}
|
|
112
|
+
/** `POST /promotions/redeem` — redeem a promotional offer version. */
|
|
113
|
+
async function redeemCommercePromotion(offerVersionId) {
|
|
114
|
+
return (0, api_fetch_1.apiFetch)('/api/commerce/promotions/redeem', {
|
|
115
|
+
method: 'POST',
|
|
116
|
+
body: { offerVersionId },
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* `POST /admin/entitlements/explain` — WHY a subject does or does not have a
|
|
121
|
+
* capability.
|
|
122
|
+
*
|
|
123
|
+
* The most useful read on this mount and the reason a CLI is worth having:
|
|
124
|
+
* "this account cannot do X" is a support question answered by tracing an
|
|
125
|
+
* entitlement, and tracing it from a terminal beats clicking through a console.
|
|
126
|
+
*/
|
|
127
|
+
async function explainCommerceEntitlement(body) {
|
|
128
|
+
return (0, api_fetch_1.apiFetch)('/api/commerce/admin/entitlements/explain', { method: 'POST', body });
|
|
129
|
+
}
|
|
@@ -125,7 +125,7 @@ function renderExecutionReceiptQuarterlyMetrics(response, log, verbose = false)
|
|
|
125
125
|
log(` Execute starts: ${metrics.executeStarts}`);
|
|
126
126
|
log(` Declared deliveries: ${metrics.declaredDeliveries}`);
|
|
127
127
|
log(` Verified outcomes: ${metrics.verifiedOutcomes}`);
|
|
128
|
-
log(` Blocked:
|
|
128
|
+
log(` Blocked / failed: ${metrics.blocked} / ${metrics.failed ?? '—'}`);
|
|
129
129
|
log('');
|
|
130
130
|
log('Rates');
|
|
131
131
|
log(` Verified per eligible wake: ${ratio(metrics.verifiedOutcomesPerEligibleMaterialWake)}`);
|
|
@@ -16,21 +16,14 @@
|
|
|
16
16
|
* Two `kind`s: `achieve` (bounded, deadline-bearing) and `maintain` (perpetual
|
|
17
17
|
* "hold this state", derived from a Compass invariant — not authored here).
|
|
18
18
|
*/
|
|
19
|
-
import { COMMITMENT_WATCHED_SOURCES, COMMITMENT_TEMPLATE_IDS, COMMITMENT_CADENCE_MODES, COMMITMENT_CADENCE_TIME_PATTERN, COMMITMENT_CADENCE_MAX_TIMES, COMMITMENT_AUTONOMY_MODES, COMMITMENT_EXECUTION_ISOLATION_MODES } from '@skrr-ai/data-provider';
|
|
19
|
+
import { COMMITMENT_WATCHED_SOURCES, COMMITMENT_TEMPLATE_IDS, COMMITMENT_CADENCE_MODES, COMMITMENT_CADENCE_TIME_PATTERN, COMMITMENT_CADENCE_MAX_TIMES, COMMITMENT_AUTONOMY_MODES, COMMITMENT_EXECUTION_ISOLATION_MODES, COMMITMENT_STATUSES, COMMITMENT_KIND_VALUES } from '@skrr-ai/data-provider';
|
|
20
20
|
import type { CommitmentCheck, CommitmentChecksResponse, Commitment, CommitmentActionProposal, CommitmentListResponse, CommitmentPlanResponse, CommitmentStatusResponse, CommitmentWorkLink, CommitmentExecutionReceiptListResponse, CommitmentExecutionReceiptQuarterlyMetricsResponse, CommitmentCapabilitySource, CommitmentDeliveryPatchResponse, CommitmentDeliveryBundleResponse } from '@skrr-ai/data-provider';
|
|
21
21
|
import { withQuery } from './triggers';
|
|
22
|
-
export { COMMITMENT_WATCHED_SOURCES, COMMITMENT_TEMPLATE_IDS, COMMITMENT_CADENCE_MODES, COMMITMENT_CADENCE_TIME_PATTERN, COMMITMENT_CADENCE_MAX_TIMES, };
|
|
22
|
+
export { COMMITMENT_WATCHED_SOURCES, COMMITMENT_TEMPLATE_IDS, COMMITMENT_CADENCE_MODES, COMMITMENT_CADENCE_TIME_PATTERN, COMMITMENT_CADENCE_MAX_TIMES, COMMITMENT_STATUSES, COMMITMENT_KIND_VALUES, };
|
|
23
23
|
export type { CommitmentCheck, CommitmentChecksResponse, Commitment, CommitmentActionProposal, CommitmentListResponse, CommitmentPlanResponse, CommitmentStatusResponse, CommitmentWorkLink, };
|
|
24
24
|
/** Derived from the installed compatibility vocabulary so the CLI remains
|
|
25
25
|
* safe even while data-provider and CLI packages roll out separately. */
|
|
26
26
|
export declare const COMMITMENT_AUTHORABLE_CADENCE_MODES: ("manual" | "daily" | "interval" | "event_plus_interval")[];
|
|
27
|
-
/**
|
|
28
|
-
* oclif's `options:` needs runtime arrays, but data-provider models these two as
|
|
29
|
-
* union TYPES only. The values live here — and both directions of drift are a
|
|
30
|
-
* COMPILE error: `satisfies` rejects an invalid or extra value, and the
|
|
31
|
-
* `_Exhaustive*` guards fail to resolve if a canonical value is missing.
|
|
32
|
-
*/
|
|
33
|
-
export declare const COMMITMENT_STATUSES: readonly ["draft", "active", "paused", "completed", "cancelled", "archived"];
|
|
34
27
|
/**
|
|
35
28
|
* Autonomy ladder — how much the commitment may act without asking.
|
|
36
29
|
*
|
|
@@ -66,6 +59,12 @@ export declare const MAX_COMMITMENT_INTERVAL_MS: number;
|
|
|
66
59
|
*/
|
|
67
60
|
export type CommitmentView = Partial<Commitment>;
|
|
68
61
|
export type CommitmentCheckView = Partial<CommitmentCheck>;
|
|
62
|
+
/** The `object:'list'` envelope every per-commitment read list now answers. */
|
|
63
|
+
export type CommitmentListPage = {
|
|
64
|
+
data: unknown[];
|
|
65
|
+
has_more?: boolean;
|
|
66
|
+
next_cursor?: string | null;
|
|
67
|
+
};
|
|
69
68
|
export type CommitmentPreflightReport = {
|
|
70
69
|
verdict: 'ready' | 'needs_review' | 'blocked';
|
|
71
70
|
capabilities?: CommitmentCapabilitySource[];
|
|
@@ -204,6 +203,11 @@ export declare const commitmentApi: {
|
|
|
204
203
|
* anything failing.
|
|
205
204
|
*/
|
|
206
205
|
list: (query?: Parameters<typeof withQuery>[1]) => Promise<CommitmentListResponse>;
|
|
206
|
+
/**
|
|
207
|
+
* Fleet-level liveness sweep health (OSK-10958): when the reconciler last
|
|
208
|
+
* swept, how stale that is, and the tally it last persisted. Aggregate only.
|
|
209
|
+
*/
|
|
210
|
+
livenessSweep: () => Promise<Record<string, unknown>>;
|
|
207
211
|
manifest: (id: string) => Promise<Record<string, unknown>>;
|
|
208
212
|
import: (body: Record<string, unknown>) => Promise<{
|
|
209
213
|
commitment: {
|
|
@@ -249,10 +253,14 @@ export declare const commitmentApi: {
|
|
|
249
253
|
}>;
|
|
250
254
|
plan: (body: Record<string, unknown>) => Promise<CommitmentPlanResponse>;
|
|
251
255
|
checkNow: (id: string) => Promise<Record<string, unknown>>;
|
|
252
|
-
checks: (id: string,
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
}>;
|
|
256
|
+
checks: (id: string, query?: {
|
|
257
|
+
limit?: number;
|
|
258
|
+
cursor?: string;
|
|
259
|
+
}) => Promise<CommitmentChecksResponse>;
|
|
260
|
+
actionHistory: (id: string, query?: {
|
|
261
|
+
limit?: number;
|
|
262
|
+
cursor?: string;
|
|
263
|
+
}) => Promise<CommitmentListPage>;
|
|
256
264
|
actionProposals: (id: string, query?: {
|
|
257
265
|
status?: string;
|
|
258
266
|
limit?: number;
|
|
@@ -295,7 +303,11 @@ export declare const commitmentApi: {
|
|
|
295
303
|
autonomy: (id: string, body: Record<string, unknown>) => Promise<Commitment>;
|
|
296
304
|
mode: (id: string, body: Record<string, unknown>) => Promise<Commitment>;
|
|
297
305
|
delivery: (id: string, body: Record<string, unknown>) => Promise<Commitment>;
|
|
298
|
-
receipts: (id: string,
|
|
306
|
+
receipts: (id: string, query?: {
|
|
307
|
+
limit?: number;
|
|
308
|
+
checkId?: string;
|
|
309
|
+
runId?: string;
|
|
310
|
+
} | number) => Promise<CommitmentExecutionReceiptListResponse>;
|
|
299
311
|
receiptQuarterlyMetrics: (id: string, year: number, quarter: number) => Promise<CommitmentExecutionReceiptQuarterlyMetricsResponse>;
|
|
300
312
|
deliveryPatch: (id: string, taskId: string) => Promise<CommitmentDeliveryPatchResponse>;
|
|
301
313
|
deliveryBundle: (id: string, taskId: string) => Promise<CommitmentDeliveryBundleResponse>;
|
|
@@ -306,9 +318,8 @@ export declare const commitmentApi: {
|
|
|
306
318
|
cases: (id: string, query?: {
|
|
307
319
|
limit?: number;
|
|
308
320
|
status?: string;
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
}>;
|
|
321
|
+
cursor?: string;
|
|
322
|
+
}) => Promise<CommitmentListPage>;
|
|
312
323
|
caseDetail: (id: string, caseId: string) => Promise<Record<string, unknown>>;
|
|
313
324
|
remediationProposals: (id: string, query?: {
|
|
314
325
|
caseId?: string;
|
|
@@ -329,19 +340,61 @@ export declare const commitmentApi: {
|
|
|
329
340
|
* reference it stay resolvable. Refused for an active or system-managed
|
|
330
341
|
* commitment — see CommitmentControl.deleteCommitment.
|
|
331
342
|
*/
|
|
332
|
-
remove: (id: string, reason?: string
|
|
343
|
+
remove: (id: string, reason?: string, opts?: {
|
|
344
|
+
stopOpenWork?: boolean;
|
|
345
|
+
}) => Promise<Record<string, unknown>>;
|
|
346
|
+
/** What a delete would leave behind. Read-only. */
|
|
347
|
+
deletionPreview: (id: string) => Promise<Record<string, unknown>>;
|
|
348
|
+
/** Un-delete. Returns the Commitment PAUSED, never active. */
|
|
349
|
+
restore: (id: string) => Promise<Commitment>;
|
|
333
350
|
trace: (id: string, query?: {
|
|
334
351
|
limit?: number;
|
|
335
352
|
cursor?: string;
|
|
336
353
|
}) => Promise<Record<string, unknown>>;
|
|
337
354
|
ledger: (id: string, query?: Record<string, string | number | undefined>) => Promise<Record<string, unknown>>;
|
|
338
355
|
wakeCapabilities: (id: string) => Promise<CommitmentWakeCapabilities>;
|
|
339
|
-
dailyMetrics: (id: string,
|
|
340
|
-
|
|
341
|
-
|
|
356
|
+
dailyMetrics: (id: string, query?: {
|
|
357
|
+
limit?: number;
|
|
358
|
+
cursor?: string;
|
|
359
|
+
}) => Promise<CommitmentListPage>;
|
|
342
360
|
cadenceDecisions: (id: string, limit?: number) => Promise<{
|
|
343
361
|
data: unknown[];
|
|
344
362
|
}>;
|
|
363
|
+
/**
|
|
364
|
+
* What the NEXT check would decide, computed without taking it.
|
|
365
|
+
*
|
|
366
|
+
* Every other read on this object is retrospective. This one stops at the
|
|
367
|
+
* DecisionEnvelope → Arbiter boundary — no Check row, no budget debit, no
|
|
368
|
+
* delivery gate, no contract write — so it is the only way to answer "what is
|
|
369
|
+
* this commitment about to do" before it does it. Worth its own command for
|
|
370
|
+
* the same reason `trigger-status` is: when a commitment is about to nudge
|
|
371
|
+
* somebody and nobody can say why, the posture and its policy trail are the
|
|
372
|
+
* answer, and re-running a real check to find out changes the thing you are
|
|
373
|
+
* trying to observe.
|
|
374
|
+
*/
|
|
375
|
+
nextTick: (id: string) => Promise<CommitmentNextTickProjection>;
|
|
376
|
+
/**
|
|
377
|
+
* The accounting SHADOW readout behind allowance accounting.
|
|
378
|
+
*
|
|
379
|
+
* WORKSPACE-scoped despite hanging off one commitment's id: it aggregates
|
|
380
|
+
* every closed daily metric in the workspace, because the question it answers
|
|
381
|
+
* is "does this workspace have enough closed evidence to activate" rather than
|
|
382
|
+
* "what has this commitment spent". `cost` is the per-commitment question.
|
|
383
|
+
*/
|
|
384
|
+
accountingReadout: (id: string) => Promise<CommitmentAccountingReadout>;
|
|
385
|
+
/**
|
|
386
|
+
* Closed-period spend for ONE commitment over a UTC day window.
|
|
387
|
+
*
|
|
388
|
+
* `costStatus` is the load-bearing field, not the dollar figure: `partial` and
|
|
389
|
+
* `unavailable` mean some runs carried no cost attribution at all, so the
|
|
390
|
+
* number understates the spend and a caller that printed it bare would be
|
|
391
|
+
* quietly wrong. The server refuses a window that is not on UTC day
|
|
392
|
+
* boundaries, so the caller builds one rather than passing a wall-clock time.
|
|
393
|
+
*/
|
|
394
|
+
cost: (id: string, window: {
|
|
395
|
+
from: string;
|
|
396
|
+
to: string;
|
|
397
|
+
}) => Promise<CommitmentCostWindow>;
|
|
345
398
|
/**
|
|
346
399
|
* What this commitment's RUNS claim to have seen (agent-as-sensor).
|
|
347
400
|
*
|
|
@@ -363,17 +416,15 @@ export declare const commitmentApi: {
|
|
|
363
416
|
limit?: number;
|
|
364
417
|
investigationKey?: string;
|
|
365
418
|
status?: string;
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
}>;
|
|
419
|
+
cursor?: string;
|
|
420
|
+
}) => Promise<CommitmentListPage>;
|
|
369
421
|
observations: (id: string, query?: {
|
|
370
422
|
limit?: number;
|
|
371
423
|
declaredOnly?: boolean;
|
|
372
424
|
changedOnly?: boolean;
|
|
373
425
|
since?: string;
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
}>;
|
|
426
|
+
cursor?: string;
|
|
427
|
+
}) => Promise<CommitmentListPage>;
|
|
377
428
|
/** One-tap feedback on a check — the signal Reflection retunes cadence from. */
|
|
378
429
|
checkFeedback: (id: string, checkId: string, body: Record<string, unknown>) => Promise<Record<string, unknown>>;
|
|
379
430
|
/** Bounded, named corrections — never a free-form contract edit. */
|
|
@@ -383,6 +434,89 @@ export declare const commitmentApi: {
|
|
|
383
434
|
linkGoal: (id: string, goalId: string) => Promise<Record<string, unknown>>;
|
|
384
435
|
unlinkGoal: (id: string, goalId: string) => Promise<Record<string, unknown>>;
|
|
385
436
|
};
|
|
437
|
+
/**
|
|
438
|
+
* Shape of `GET /:id/next-tick`.
|
|
439
|
+
*
|
|
440
|
+
* `envelope` is the full DecisionEnvelope — large, versioned, and only useful
|
|
441
|
+
* under `--json` — so it stays `unknown` here rather than being half-typed into
|
|
442
|
+
* something a renderer would be tempted to trust.
|
|
443
|
+
*/
|
|
444
|
+
export interface CommitmentNextTickProjection {
|
|
445
|
+
object?: string;
|
|
446
|
+
commitmentId?: string;
|
|
447
|
+
projectedAt?: string;
|
|
448
|
+
envelope?: Record<string, unknown>;
|
|
449
|
+
/**
|
|
450
|
+
* OSK-11433 — the stored liveness verdict, carried alongside the projected
|
|
451
|
+
* envelope because the projection reads world-model delta, not run
|
|
452
|
+
* outcomes: a commitment whose dispatches are all refused still projects
|
|
453
|
+
* on_track, and without this field the two honest answers contradict
|
|
454
|
+
* silently across surfaces.
|
|
455
|
+
*/
|
|
456
|
+
health?: string;
|
|
457
|
+
liveness?: {
|
|
458
|
+
observedAt?: string;
|
|
459
|
+
diagnosisKind?: string;
|
|
460
|
+
terminalDispositionCensus?: {
|
|
461
|
+
workFailures?: number;
|
|
462
|
+
budgetRefusals?: number;
|
|
463
|
+
terminal?: number;
|
|
464
|
+
};
|
|
465
|
+
};
|
|
466
|
+
decision?: {
|
|
467
|
+
posture?: string;
|
|
468
|
+
health?: string;
|
|
469
|
+
confidence?: number;
|
|
470
|
+
riskLevel?: string;
|
|
471
|
+
whyNow?: string;
|
|
472
|
+
actionPlan?: Array<{
|
|
473
|
+
kind?: string;
|
|
474
|
+
type?: string;
|
|
475
|
+
summary?: string;
|
|
476
|
+
title?: string;
|
|
477
|
+
}>;
|
|
478
|
+
policyTrace?: Array<{
|
|
479
|
+
rule?: string;
|
|
480
|
+
decision?: string;
|
|
481
|
+
reason?: string;
|
|
482
|
+
}>;
|
|
483
|
+
};
|
|
484
|
+
}
|
|
485
|
+
/** Shape of `GET /:id/accounting-readout`. */
|
|
486
|
+
export interface CommitmentAccountingReadout {
|
|
487
|
+
windowDays?: number;
|
|
488
|
+
evidenceDays?: number;
|
|
489
|
+
source?: string;
|
|
490
|
+
attempts?: number;
|
|
491
|
+
advancements?: number;
|
|
492
|
+
netAdvancements?: number;
|
|
493
|
+
allowanceAttemptDivergence?: number;
|
|
494
|
+
costUsdMicros?: number;
|
|
495
|
+
costRunCount?: number;
|
|
496
|
+
costReportedRunCount?: number;
|
|
497
|
+
costUnavailableRunCount?: number;
|
|
498
|
+
costStatus?: 'reported' | 'partial' | 'unavailable' | 'not_applicable';
|
|
499
|
+
recommendedAttemptMultiplier?: number | null;
|
|
500
|
+
multiplierDerivation?: string;
|
|
501
|
+
canActivate?: boolean;
|
|
502
|
+
activationBlocker?: string | null;
|
|
503
|
+
noneByReason?: Record<string, number>;
|
|
504
|
+
advancementsByKind?: Record<string, number>;
|
|
505
|
+
/** The mode the workspace ASKED for, which `canActivate` may still withhold. */
|
|
506
|
+
requestedMode?: string;
|
|
507
|
+
}
|
|
508
|
+
/** Shape of `GET /:id/cost`. */
|
|
509
|
+
export interface CommitmentCostWindow {
|
|
510
|
+
commitmentId?: string;
|
|
511
|
+
from?: string;
|
|
512
|
+
to?: string;
|
|
513
|
+
dayCount?: number;
|
|
514
|
+
costUsdMicros?: number;
|
|
515
|
+
runCount?: number;
|
|
516
|
+
reportedRunCount?: number;
|
|
517
|
+
unavailableRunCount?: number;
|
|
518
|
+
costStatus?: 'reported' | 'partial' | 'unavailable' | 'not_applicable';
|
|
519
|
+
}
|
|
386
520
|
/** Shape of `GET /:id/wake-capabilities`. */
|
|
387
521
|
export interface CommitmentWakeCapabilities {
|
|
388
522
|
workPromotionModel?: 'monitor_prepare_execute_v1';
|
|
@@ -481,6 +615,14 @@ export type EvidenceHealthView = {
|
|
|
481
615
|
* is noise in a summary someone reads to find what is wrong.
|
|
482
616
|
*/
|
|
483
617
|
export declare function describeEvidenceHealth(health?: EvidenceHealthView | null, criteriaCount?: number): string | undefined;
|
|
618
|
+
/**
|
|
619
|
+
* `stalled` is a verdict, not a reason. Printed bare it reads like `unknown`
|
|
620
|
+
* with a harsher word, and the operator's next move is to go and read run
|
|
621
|
+
* history to find what the reconciler had already decided. Returns undefined
|
|
622
|
+
* for every other health value, including `unknown` — "nobody has judged" has
|
|
623
|
+
* no diagnosis to name.
|
|
624
|
+
*/
|
|
625
|
+
export declare function describeStalledHealth(commitment: CommitmentView): string | undefined;
|
|
484
626
|
/** Render an interval back as a compact human string. */
|
|
485
627
|
export declare function describeIntervalMs(ms: number | undefined): string;
|
|
486
628
|
/**
|
|
@@ -619,10 +761,41 @@ type ReadModelRecord = Record<string, unknown>;
|
|
|
619
761
|
export declare function renderCommitmentLedger(ledger: ReadModelRecord, log: (line: string) => void): void;
|
|
620
762
|
/** Human view for the ordered commitment trace. */
|
|
621
763
|
export declare function renderCommitmentTrace(trace: ReadModelRecord, log: (line: string) => void): void;
|
|
622
|
-
|
|
764
|
+
/**
|
|
765
|
+
* Print the continuation hint for a paged `object:'list'` response — the line
|
|
766
|
+
* that makes history beyond the newest page reachable instead of invisible.
|
|
767
|
+
*/
|
|
768
|
+
export declare function renderListPageHint(page: {
|
|
769
|
+
has_more?: boolean;
|
|
770
|
+
next_cursor?: string | null;
|
|
771
|
+
} | undefined, log: (line: string) => void): void;
|
|
772
|
+
export declare function renderCommitmentObservations(response: ReadModelRecord, log: (line: string) => void, options?: {
|
|
773
|
+
emptyMessage?: string;
|
|
774
|
+
}): void;
|
|
623
775
|
/** Human view for causal hypotheses. */
|
|
624
|
-
export declare function renderCommitmentHypotheses(response: ReadModelRecord, log: (line: string) => void
|
|
776
|
+
export declare function renderCommitmentHypotheses(response: ReadModelRecord, log: (line: string) => void, options?: {
|
|
777
|
+
emptyMessage?: string;
|
|
778
|
+
}): void;
|
|
625
779
|
/** Human view for the commitment → work lineage projection. */
|
|
626
780
|
export declare function renderCommitmentLineage(lineage: ReadModelRecord, log: (line: string) => void): void;
|
|
627
781
|
/** Human view for daily control-loop metrics. */
|
|
628
782
|
export declare function renderCommitmentMetrics(response: ReadModelRecord, log: (line: string) => void): void;
|
|
783
|
+
/** Human view for the case list — one row per durable problem case. */
|
|
784
|
+
export declare function renderCommitmentCases(response: ReadModelRecord, log: (line: string) => void): void;
|
|
785
|
+
/**
|
|
786
|
+
* Human view for one case — a bounded digest, never the raw document.
|
|
787
|
+
*
|
|
788
|
+
* A case accumulates factRefs, hypothesisRefs, actionRefs, and receipts with
|
|
789
|
+
* no per-case bound, and the route projects the whole thing again as `trace`.
|
|
790
|
+
* Printing the payload verbatim produced a 93k-line dump for a single case
|
|
791
|
+
* (OSK-10952); the summary counts and the most recent entries answer "what is
|
|
792
|
+
* this case and what happened last" in one screen, and `--json` stays the
|
|
793
|
+
* opt-in for the full document.
|
|
794
|
+
*/
|
|
795
|
+
export declare function renderCommitmentCaseDetail(response: ReadModelRecord, log: (line: string) => void, options?: {
|
|
796
|
+
maxEntries?: number;
|
|
797
|
+
}): void;
|
|
798
|
+
/** Human view for the remediation-proposal list. */
|
|
799
|
+
export declare function renderCommitmentRemediationProposals(response: ReadModelRecord, log: (line: string) => void): void;
|
|
800
|
+
/** Human view for one frozen remediation proposal. */
|
|
801
|
+
export declare function renderCommitmentRemediationProposal(response: ReadModelRecord, log: (line: string) => void): void;
|