@kya-os/cli 2.1.0 → 2.1.2

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.
@@ -0,0 +1,131 @@
1
+ /**
2
+ * The development identity file (`.mcpi/identity.json` by default), created
3
+ * and rotated in exactly the format `@kya-os/mcp-i`'s runtime
4
+ * `IdentityManager` reads and writes.
5
+ *
6
+ * This is a copy of that class's development path, not an import of it.
7
+ * `@kya-os/mcp-i` is the MCP server framework, and as a dependency of
8
+ * `@kya-os/cli` it installed the framework's whole toolchain (webpack, swc,
9
+ * esbuild, tsx, express, the MCP Inspector's React app) with every
10
+ * `npm install @kya-os/cli`: 389 MB across 359 packages, for about 250 lines.
11
+ * `kya-os build` and `kya-os dev` run the target project's own
12
+ * `@kya-os/mcp-i` (`bin/run-compile.mjs`), so nothing else here needed it.
13
+ *
14
+ * The keys, the DID's hash and the kid's base58 come from `@kya-os/mcp`, the
15
+ * protocol's reference implementation, which the CLI already depends on: a
16
+ * `CryptoProvider` (`NodeCryptoProvider` unless the caller passes another,
17
+ * such as `WebCryptoProvider` off Node) and its `base58Encode`.
18
+ *
19
+ * `__tests__/dev-identity-parity.test.ts` checks each file this module
20
+ * writes against the runtime's `IdentityManager` and each file the runtime
21
+ * writes against this module, including rotation and the `keyId` migration,
22
+ * so the copy cannot drift from the runtime unnoticed. Keep the two in step:
23
+ * a format change in either fails that test.
24
+ */
25
+ import { existsSync } from "node:fs";
26
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
27
+ import { dirname, isAbsolute, resolve } from "node:path";
28
+ import { base58Encode, NodeCryptoProvider } from "@kya-os/mcp";
29
+ /** The Ed25519 multicodec prefix a multibase key identifier starts with. */
30
+ const ED25519_MULTICODEC = Buffer.from([0xed, 0x01]);
31
+ const nodeCrypto = new NodeCryptoProvider();
32
+ /** A relative path is taken from the working directory, as the runtime takes it. */
33
+ function absolute(identityPath) {
34
+ return isAbsolute(identityPath)
35
+ ? identityPath
36
+ : resolve(process.cwd(), identityPath);
37
+ }
38
+ /**
39
+ * The identity at `identityPath`, generating and saving a fresh one when
40
+ * there is none or it cannot be read. A file with a legacy `keyId` of the
41
+ * form `key-…` is migrated to a multibase `kid` and saved again.
42
+ */
43
+ export async function ensureDevIdentity(identityPath, crypto = nodeCrypto) {
44
+ const path = absolute(identityPath);
45
+ try {
46
+ if (existsSync(path)) {
47
+ const devIdentity = JSON.parse(await readFile(path, "utf-8"));
48
+ let kid = devIdentity.kid || devIdentity.keyId;
49
+ if (devIdentity.keyId && !devIdentity.kid && kid.startsWith("key-")) {
50
+ kid = multibaseKid(devIdentity.publicKey);
51
+ const migrated = {
52
+ did: devIdentity.did,
53
+ kid,
54
+ privateKey: devIdentity.privateKey,
55
+ publicKey: devIdentity.publicKey,
56
+ createdAt: devIdentity.createdAt,
57
+ lastRotated: devIdentity.lastRotated,
58
+ };
59
+ await saveDevIdentity(path, migrated);
60
+ console.error(`✅ Migrated identity to new multibase kid format: ${kid}`);
61
+ return migrated;
62
+ }
63
+ return {
64
+ did: devIdentity.did,
65
+ kid,
66
+ privateKey: devIdentity.privateKey,
67
+ publicKey: devIdentity.publicKey,
68
+ createdAt: devIdentity.createdAt,
69
+ lastRotated: devIdentity.lastRotated,
70
+ };
71
+ }
72
+ }
73
+ catch (error) {
74
+ console.warn(`Warning: Could not load identity from ${path}, generating new one`, error instanceof Error ? error.message : error);
75
+ }
76
+ return generateDevIdentity(path, crypto);
77
+ }
78
+ /**
79
+ * A fresh Ed25519 keypair saved over whatever is at `identityPath`, with
80
+ * `lastRotated` set to its `createdAt`. `preserveDid` keeps the agent's DID;
81
+ * without it a new `did:web:localhost` DID is minted.
82
+ */
83
+ export async function rotateDevIdentity(identityPath, preserveDid, crypto = nodeCrypto) {
84
+ const path = absolute(identityPath);
85
+ const identity = await generateDevIdentity(path, crypto, preserveDid);
86
+ const rotated = { ...identity, lastRotated: identity.createdAt };
87
+ await saveDevIdentity(path, rotated);
88
+ return rotated;
89
+ }
90
+ async function generateDevIdentity(path, crypto, preserveDid) {
91
+ // Base64 raw 32-byte Ed25519 keys, the form the file stores.
92
+ const { privateKey, publicKey } = await crypto.generateKeyPair();
93
+ // A development DID names the agent by the first 8 hex digits of the
94
+ // SHA-256 of its base64 public key; the provider answers `sha256:<hex>`.
95
+ const digest = await crypto.hash(new TextEncoder().encode(publicKey));
96
+ if (!digest.startsWith("sha256:")) {
97
+ throw new Error(`Unexpected hash format from the crypto provider: ${digest.slice(0, 16)}`);
98
+ }
99
+ const shortId = digest.slice("sha256:".length, "sha256:".length + 8);
100
+ const identity = {
101
+ did: preserveDid ?? `did:web:localhost:3000:agents:${shortId}`,
102
+ kid: multibaseKid(publicKey),
103
+ privateKey,
104
+ publicKey,
105
+ createdAt: new Date().toISOString(),
106
+ };
107
+ await saveDevIdentity(path, identity);
108
+ return identity;
109
+ }
110
+ /** The key's multibase identifier: `z` + base58btc of the Ed25519 multicodec and key. */
111
+ function multibaseKid(base64PublicKey) {
112
+ const prefixed = Buffer.concat([ED25519_MULTICODEC, Buffer.from(base64PublicKey, "base64")]);
113
+ return `z${base58Encode(prefixed)}`;
114
+ }
115
+ async function saveDevIdentity(path, identity) {
116
+ await mkdir(dirname(path), { recursive: true });
117
+ const file = {
118
+ version: "1.0",
119
+ did: identity.did,
120
+ kid: identity.kid,
121
+ privateKey: identity.privateKey,
122
+ publicKey: identity.publicKey,
123
+ createdAt: identity.createdAt,
124
+ lastRotated: identity.lastRotated,
125
+ };
126
+ await writeFile(path, JSON.stringify(file, null, 2), { mode: 0o600 });
127
+ console.error(`✅ Identity saved to ${path}`);
128
+ console.error(` DID: ${identity.did}`);
129
+ console.error(` Key ID: ${identity.kid}`);
130
+ }
131
+ //# sourceMappingURL=dev-identity-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-identity-file.js","sourceRoot":"","sources":["../../../../sidecar/src/dev-identity-file.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,11 @@
1
- // A thin wrapper around @kya-os/mcp-i's own IdentityManager -- reused
2
- // as-is, matching ops/sign-with-ed25519-seed.ts's precedent of reusing
3
- // existing crypto/identity logic rather than reimplementing it. Unlike
4
- // that op (which reaches up into this package's own src/utils/dco/ via a
5
- // relative import), @kya-os/mcp-i is a real, already-resolvable npm
6
- // dependency of @kya-os/cli (verified: packages/cli/node_modules/@kya-os/mcp-i
7
- // symlinks to the built packages/mcp-i, whose dist/index.js exports
8
- // IdentityManager), so this imports it as a normal package specifier.
9
- import { IdentityManager } from "@kya-os/mcp-i";
1
+ // A thin wrapper around dev-identity-file.ts, which writes the identity file
2
+ // in exactly the format @kya-os/mcp-i's runtime IdentityManager reads (see
3
+ // that module for why it is a copy, and its parity test).
4
+ import { ensureDevIdentity } from "../dev-identity-file.js";
10
5
  /**
11
6
  * Load `identityPath` if it already holds a valid identity, generating a
12
7
  * fresh Ed25519 keypair (and a placeholder `did:web:localhost:3000:agents:*`
13
- * DID) otherwise -- IdentityManager.ensureIdentity()'s own exact behavior,
8
+ * DID) otherwise -- ensureDevIdentity()'s own exact behavior,
14
9
  * including its corrupted-file-regenerates fallback and its keyId->kid
15
10
  * migration, none of which this wrapper reimplements.
16
11
  *
@@ -23,8 +18,7 @@ export async function ensureIdentity(params) {
23
18
  if (typeof identityPath !== "string" || identityPath.length === 0) {
24
19
  throw new Error("ensureIdentity: identityPath is required");
25
20
  }
26
- const manager = new IdentityManager({ environment: "development", devIdentityPath: identityPath });
27
- const identity = await manager.ensureIdentity();
21
+ const identity = await ensureDevIdentity(identityPath);
28
22
  return {
29
23
  did: identity.did,
30
24
  kid: identity.kid,
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-identity.js","sourceRoot":"","sources":["../../../../../sidecar/src/ops/ensure-identity.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,uEAAuE;AACvE,uEAAuE;AACvE,yEAAyE;AACzE,oEAAoE;AACpE,+EAA+E;AAC/E,oEAAoE;AACpE,sEAAsE;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAchD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAe;IAClD,MAAM,EAAE,YAAY,EAAE,GAAG,MAA8B,CAAC;IACxD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;IACnG,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;IAChD,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,gBAAgB,EAAE,QAAQ,CAAC,UAAU;QACrC,eAAe,EAAE,QAAQ,CAAC,SAAS;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ensure-identity.js","sourceRoot":"","sources":["../../../../../sidecar/src/ops/ensure-identity.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,2EAA2E;AAC3E,0DAA0D;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAc5D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAe;IAClD,MAAM,EAAE,YAAY,EAAE,GAAG,MAA8B,CAAC;IACxD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACvD,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,gBAAgB,EAAE,QAAQ,CAAC,UAAU;QACrC,eAAe,EAAE,QAAQ,CAAC,SAAS;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC"}
@@ -1,9 +1,6 @@
1
- // A thin wrapper around @kya-os/mcp-i's own IdentityManager.rotateDevIdentity
2
- // -- mirrors ops/ensure-identity.ts's own precedent of reusing existing
3
- // crypto/identity logic rather than reimplementing it, and its own doc
4
- // comment's reasoning for importing @kya-os/mcp-i as a normal package
5
- // specifier.
6
- import { IdentityManager } from "@kya-os/mcp-i";
1
+ // A thin wrapper around dev-identity-file.ts's rotateDevIdentity, as
2
+ // ops/ensure-identity.ts wraps its ensureDevIdentity.
3
+ import { rotateDevIdentity } from "../dev-identity-file.js";
7
4
  /**
8
5
  * Force-generate a fresh Ed25519 keypair and persist it to `identityPath`,
9
6
  * unconditionally overwriting whatever identity (if any) is already there.
@@ -21,8 +18,7 @@ export async function rotateIdentity(params) {
21
18
  if (typeof identityPath !== "string" || identityPath.length === 0) {
22
19
  throw new Error("rotateIdentity: identityPath is required");
23
20
  }
24
- const manager = new IdentityManager({ environment: "development", devIdentityPath: identityPath });
25
- const identity = await manager.rotateDevIdentity(typeof preserveDid === "string" && preserveDid.length > 0 ? preserveDid : undefined);
21
+ const identity = await rotateDevIdentity(identityPath, typeof preserveDid === "string" && preserveDid.length > 0 ? preserveDid : undefined);
26
22
  return {
27
23
  did: identity.did,
28
24
  kid: identity.kid,
@@ -30,7 +26,7 @@ export async function rotateIdentity(params) {
30
26
  publicKeyBase64: identity.publicKey,
31
27
  createdAt: identity.createdAt,
32
28
  // rotateDevIdentity() always sets lastRotated to the new identity's own
33
- // createdAt -- see identity.ts's own doc comment.
29
+ // createdAt -- see dev-identity-file.ts.
34
30
  lastRotated: identity.lastRotated,
35
31
  };
36
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rotate-identity.js","sourceRoot":"","sources":["../../../../../sidecar/src/ops/rotate-identity.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wEAAwE;AACxE,uEAAuE;AACvE,sEAAsE;AACtE,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAgBhD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAe;IAClD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAA8B,CAAC;IACrE,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;IACnG,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAC9C,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CACpF,CAAC;IACF,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,gBAAgB,EAAE,QAAQ,CAAC,UAAU;QACrC,eAAe,EAAE,QAAQ,CAAC,SAAS;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,wEAAwE;QACxE,kDAAkD;QAClD,WAAW,EAAE,QAAQ,CAAC,WAAqB;KAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"rotate-identity.js","sourceRoot":"","sources":["../../../../../sidecar/src/ops/rotate-identity.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sDAAsD;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAgB5D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAe;IAClD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAA8B,CAAC;IACrE,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CACtC,YAAY,EACZ,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CACpF,CAAC;IACF,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,gBAAgB,EAAE,QAAQ,CAAC,UAAU;QACrC,eAAe,EAAE,QAAQ,CAAC,SAAS;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,wEAAwE;QACxE,yCAAyC;QACzC,WAAW,EAAE,QAAQ,CAAC,WAAqB;KAC5C,CAAC;AACJ,CAAC"}
@@ -131,7 +131,8 @@ export function sshFingerprintFromPublicKeyLine(publicKeyLine) {
131
131
  /**
132
132
  * Decode a stored Ed25519 public key into its raw 32 bytes, tolerating the two
133
133
  * encodings that appear across the ecosystem:
134
- * - raw base64 (32 bytes) as written by the local mcp-i IdentityManager, and
134
+ * - raw base64 (32 bytes) as written by the development identity file
135
+ * (dev-identity-file.ts, in mcp-i's IdentityManager format), and
135
136
  * - multibase base64url with an "m" prefix as returned by the KTA registry
136
137
  * (see know-that-ai cli-register `encodePublicKey`).
137
138
  * Returns null when the value is neither, so a defense-in-depth cross-check can
@@ -1 +1 @@
1
- {"version":3,"file":"ssh-key.js","sourceRoot":"","sources":["../../../../sidecar/src/ssh-key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssh-key.js","sourceRoot":"","sources":["../../../../sidecar/src/ssh-key.ts"],"names":[],"mappings":"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"}
@@ -1086,6 +1086,15 @@ export declare const BudgetSettlementSchema: z.ZodDiscriminatedUnion<"state", [z
1086
1086
  }, {
1087
1087
  state: "not_started";
1088
1088
  evidenceRef: string;
1089
+ }>, z.ZodObject<{
1090
+ state: z.ZodLiteral<"not_dispatched">;
1091
+ startOperationId: z.ZodString;
1092
+ }, "strict", z.ZodTypeAny, {
1093
+ state: "not_dispatched";
1094
+ startOperationId: string;
1095
+ }, {
1096
+ state: "not_dispatched";
1097
+ startOperationId: string;
1089
1098
  }>]>;
1090
1099
  export type PriceSchedule = z.infer<typeof PriceScheduleSchema>;
1091
1100
  export type CostQuantities = z.infer<typeof CostQuantitiesSchema>;
@@ -84,4 +84,6 @@ exports.BudgetSettlementSchema = zod_1.z.discriminatedUnion('state', [
84
84
  zod_1.z.object({ state: zod_1.z.literal('known'), costRecordId: id }).strict(),
85
85
  zod_1.z.object({ state: zod_1.z.literal('unknown'), costRecordId: id.nullable() }).strict(),
86
86
  zod_1.z.object({ state: zod_1.z.literal('not_started'), evidenceRef: id }).strict(),
87
+ /** A standing start proven never dispatched, or refused by Checkpoint on its first send. */
88
+ zod_1.z.object({ state: zod_1.z.literal('not_dispatched'), startOperationId: id }).strict(),
87
89
  ]);
@@ -357,16 +357,24 @@ export declare const WorkbenchSourceBindingSchema: z.ZodObject<{
357
357
  sourceRevision: z.ZodNumber;
358
358
  inputDigest: z.ZodString;
359
359
  operationId: z.ZodString;
360
+ /**
361
+ * The Checkpoint task this work is admitted, started, finished and reported under, set only
362
+ * when it differs from the manifest's taskId (a tracker item bound to a received source).
363
+ * Omitted otherwise, so existing manifest digests are unchanged.
364
+ */
365
+ taskId: z.ZodOptional<z.ZodString>;
360
366
  }, "strict", z.ZodTypeAny, {
361
367
  sourceId: string;
362
368
  sourceRevision: number;
363
369
  inputDigest: string;
364
370
  operationId: string;
371
+ taskId?: string | undefined;
365
372
  }, {
366
373
  sourceId: string;
367
374
  sourceRevision: number;
368
375
  inputDigest: string;
369
376
  operationId: string;
377
+ taskId?: string | undefined;
370
378
  }>;
371
379
  /** At most 32 KiB of UTF-8, as the Rust manifest bounds it. */
372
380
  export declare const WORKBENCH_TASK_INSTRUCTIONS_MAX_BYTES: number;
@@ -401,16 +409,24 @@ export declare const WorkbenchTaskManifestSchema: z.ZodEffects<z.ZodObject<{
401
409
  sourceRevision: z.ZodNumber;
402
410
  inputDigest: z.ZodString;
403
411
  operationId: z.ZodString;
412
+ /**
413
+ * The Checkpoint task this work is admitted, started, finished and reported under, set only
414
+ * when it differs from the manifest's taskId (a tracker item bound to a received source).
415
+ * Omitted otherwise, so existing manifest digests are unchanged.
416
+ */
417
+ taskId: z.ZodOptional<z.ZodString>;
404
418
  }, "strict", z.ZodTypeAny, {
405
419
  sourceId: string;
406
420
  sourceRevision: number;
407
421
  inputDigest: string;
408
422
  operationId: string;
423
+ taskId?: string | undefined;
409
424
  }, {
410
425
  sourceId: string;
411
426
  sourceRevision: number;
412
427
  inputDigest: string;
413
428
  operationId: string;
429
+ taskId?: string | undefined;
414
430
  }>>;
415
431
  /** The reviewed dependency binding a dependent tracker task consumes; part of the manifest digest. */
416
432
  dependencyBinding: z.ZodOptional<z.ZodString>;
@@ -475,6 +491,7 @@ export declare const WorkbenchTaskManifestSchema: z.ZodEffects<z.ZodObject<{
475
491
  sourceRevision: number;
476
492
  inputDigest: string;
477
493
  operationId: string;
494
+ taskId?: string | undefined;
478
495
  } | undefined;
479
496
  instructions?: string | undefined;
480
497
  dependencyBinding?: string | undefined;
@@ -507,6 +524,7 @@ export declare const WorkbenchTaskManifestSchema: z.ZodEffects<z.ZodObject<{
507
524
  sourceRevision: number;
508
525
  inputDigest: string;
509
526
  operationId: string;
527
+ taskId?: string | undefined;
510
528
  } | undefined;
511
529
  instructions?: string | undefined;
512
530
  dependencyBinding?: string | undefined;
@@ -539,6 +557,7 @@ export declare const WorkbenchTaskManifestSchema: z.ZodEffects<z.ZodObject<{
539
557
  sourceRevision: number;
540
558
  inputDigest: string;
541
559
  operationId: string;
560
+ taskId?: string | undefined;
542
561
  } | undefined;
543
562
  instructions?: string | undefined;
544
563
  dependencyBinding?: string | undefined;
@@ -571,6 +590,7 @@ export declare const WorkbenchTaskManifestSchema: z.ZodEffects<z.ZodObject<{
571
590
  sourceRevision: number;
572
591
  inputDigest: string;
573
592
  operationId: string;
593
+ taskId?: string | undefined;
574
594
  } | undefined;
575
595
  instructions?: string | undefined;
576
596
  dependencyBinding?: string | undefined;
@@ -42,6 +42,12 @@ exports.WorkbenchTaskRoutingSchema = zod_1.z.discriminatedUnion('mode', [
42
42
  exports.WorkbenchSourceBindingSchema = zod_1.z.object({
43
43
  sourceId: zod_1.z.string().min(1), sourceRevision: zod_1.z.number().int().positive(),
44
44
  inputDigest: zod_1.z.string().regex(/^sha256:[a-f0-9]{64}$/), operationId: zod_1.z.string().uuid(),
45
+ /**
46
+ * The Checkpoint task this work is admitted, started, finished and reported under, set only
47
+ * when it differs from the manifest's taskId (a tracker item bound to a received source).
48
+ * Omitted otherwise, so existing manifest digests are unchanged.
49
+ */
50
+ taskId: zod_1.z.string().uuid().optional(),
45
51
  }).strict();
46
52
  /** At most 32 KiB of UTF-8, as the Rust manifest bounds it. */
47
53
  exports.WORKBENCH_TASK_INSTRUCTIONS_MAX_BYTES = 32 * 1024;
@@ -78,6 +84,11 @@ exports.WorkbenchTaskManifestSchema = zod_1.z.object({
78
84
  code: zod_1.z.ZodIssueCode.custom, path: ['acceptanceCriteria'],
79
85
  message: 'Acceptance criteria require unique IDs',
80
86
  });
87
+ if (manifest.source?.taskId !== undefined && manifest.source.taskId === manifest.taskId)
88
+ context.addIssue({
89
+ code: zod_1.z.ZodIssueCode.custom, path: ['source', 'taskId'],
90
+ message: 'A source binding names its Checkpoint task only when it differs from the task',
91
+ });
81
92
  });
82
93
  exports.WorkbenchExecutionLeaseSchema = zod_1.z.object({
83
94
  operationId: zod_1.z.string().min(1), taskId: zod_1.z.string().min(1),
@@ -269,16 +269,19 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
269
269
  sourceRevision: z.ZodNumber;
270
270
  inputDigest: z.ZodString;
271
271
  operationId: z.ZodString;
272
+ taskId: z.ZodOptional<z.ZodString>;
272
273
  }, "strict", z.ZodTypeAny, {
273
274
  sourceId: string;
274
275
  sourceRevision: number;
275
276
  inputDigest: string;
276
277
  operationId: string;
278
+ taskId?: string | undefined;
277
279
  }, {
278
280
  sourceId: string;
279
281
  sourceRevision: number;
280
282
  inputDigest: string;
281
283
  operationId: string;
284
+ taskId?: string | undefined;
282
285
  }>>;
283
286
  dependencyBinding: z.ZodOptional<z.ZodString>;
284
287
  acceptanceCriteria: z.ZodArray<z.ZodObject<{
@@ -342,6 +345,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
342
345
  sourceRevision: number;
343
346
  inputDigest: string;
344
347
  operationId: string;
348
+ taskId?: string | undefined;
345
349
  } | undefined;
346
350
  instructions?: string | undefined;
347
351
  dependencyBinding?: string | undefined;
@@ -374,6 +378,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
374
378
  sourceRevision: number;
375
379
  inputDigest: string;
376
380
  operationId: string;
381
+ taskId?: string | undefined;
377
382
  } | undefined;
378
383
  instructions?: string | undefined;
379
384
  dependencyBinding?: string | undefined;
@@ -406,6 +411,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
406
411
  sourceRevision: number;
407
412
  inputDigest: string;
408
413
  operationId: string;
414
+ taskId?: string | undefined;
409
415
  } | undefined;
410
416
  instructions?: string | undefined;
411
417
  dependencyBinding?: string | undefined;
@@ -438,6 +444,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
438
444
  sourceRevision: number;
439
445
  inputDigest: string;
440
446
  operationId: string;
447
+ taskId?: string | undefined;
441
448
  } | undefined;
442
449
  instructions?: string | undefined;
443
450
  dependencyBinding?: string | undefined;
@@ -894,6 +901,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
894
901
  sourceRevision: number;
895
902
  inputDigest: string;
896
903
  operationId: string;
904
+ taskId?: string | undefined;
897
905
  } | undefined;
898
906
  instructions?: string | undefined;
899
907
  dependencyBinding?: string | undefined;
@@ -1007,6 +1015,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1007
1015
  sourceRevision: number;
1008
1016
  inputDigest: string;
1009
1017
  operationId: string;
1018
+ taskId?: string | undefined;
1010
1019
  } | undefined;
1011
1020
  instructions?: string | undefined;
1012
1021
  dependencyBinding?: string | undefined;
@@ -1120,6 +1129,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1120
1129
  sourceRevision: number;
1121
1130
  inputDigest: string;
1122
1131
  operationId: string;
1132
+ taskId?: string | undefined;
1123
1133
  } | undefined;
1124
1134
  instructions?: string | undefined;
1125
1135
  dependencyBinding?: string | undefined;
@@ -1233,6 +1243,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1233
1243
  sourceRevision: number;
1234
1244
  inputDigest: string;
1235
1245
  operationId: string;
1246
+ taskId?: string | undefined;
1236
1247
  } | undefined;
1237
1248
  instructions?: string | undefined;
1238
1249
  dependencyBinding?: string | undefined;
@@ -1349,6 +1360,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1349
1360
  sourceRevision: number;
1350
1361
  inputDigest: string;
1351
1362
  operationId: string;
1363
+ taskId?: string | undefined;
1352
1364
  } | undefined;
1353
1365
  instructions?: string | undefined;
1354
1366
  dependencyBinding?: string | undefined;
@@ -1371,6 +1383,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1371
1383
  permittedOperations: string[];
1372
1384
  prohibitedExternalOperations: string[];
1373
1385
  };
1386
+ startOperationId: string;
1374
1387
  admissionRef: string;
1375
1388
  admission: {
1376
1389
  projectId: string;
@@ -1420,7 +1433,6 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1420
1433
  acceptedProviders?: ("discord" | "linear" | "github" | "didcomm" | "a2a")[] | undefined;
1421
1434
  };
1422
1435
  workerProfile: string;
1423
- startOperationId: string;
1424
1436
  }, {
1425
1437
  schemaVersion: 1;
1426
1438
  review: {
@@ -1515,6 +1527,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1515
1527
  sourceRevision: number;
1516
1528
  inputDigest: string;
1517
1529
  operationId: string;
1530
+ taskId?: string | undefined;
1518
1531
  } | undefined;
1519
1532
  instructions?: string | undefined;
1520
1533
  dependencyBinding?: string | undefined;
@@ -1537,6 +1550,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1537
1550
  permittedOperations: string[];
1538
1551
  prohibitedExternalOperations: string[];
1539
1552
  };
1553
+ startOperationId: string;
1540
1554
  admissionRef: string;
1541
1555
  admission: {
1542
1556
  projectId: string;
@@ -1586,7 +1600,6 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1586
1600
  acceptedProviders?: ("discord" | "linear" | "github" | "didcomm" | "a2a")[] | undefined;
1587
1601
  };
1588
1602
  workerProfile: string;
1589
- startOperationId: string;
1590
1603
  }>, {
1591
1604
  schemaVersion: 1;
1592
1605
  review: {
@@ -1681,6 +1694,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1681
1694
  sourceRevision: number;
1682
1695
  inputDigest: string;
1683
1696
  operationId: string;
1697
+ taskId?: string | undefined;
1684
1698
  } | undefined;
1685
1699
  instructions?: string | undefined;
1686
1700
  dependencyBinding?: string | undefined;
@@ -1703,6 +1717,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1703
1717
  permittedOperations: string[];
1704
1718
  prohibitedExternalOperations: string[];
1705
1719
  };
1720
+ startOperationId: string;
1706
1721
  admissionRef: string;
1707
1722
  admission: {
1708
1723
  projectId: string;
@@ -1752,7 +1767,6 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1752
1767
  acceptedProviders?: ("discord" | "linear" | "github" | "didcomm" | "a2a")[] | undefined;
1753
1768
  };
1754
1769
  workerProfile: string;
1755
- startOperationId: string;
1756
1770
  }, {
1757
1771
  schemaVersion: 1;
1758
1772
  review: {
@@ -1847,6 +1861,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1847
1861
  sourceRevision: number;
1848
1862
  inputDigest: string;
1849
1863
  operationId: string;
1864
+ taskId?: string | undefined;
1850
1865
  } | undefined;
1851
1866
  instructions?: string | undefined;
1852
1867
  dependencyBinding?: string | undefined;
@@ -1869,6 +1884,7 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1869
1884
  permittedOperations: string[];
1870
1885
  prohibitedExternalOperations: string[];
1871
1886
  };
1887
+ startOperationId: string;
1872
1888
  admissionRef: string;
1873
1889
  admission: {
1874
1890
  projectId: string;
@@ -1918,7 +1934,6 @@ export declare const GovernedExecutionSchema: z.ZodEffects<z.ZodObject<{
1918
1934
  acceptedProviders?: ("discord" | "linear" | "github" | "didcomm" | "a2a")[] | undefined;
1919
1935
  };
1920
1936
  workerProfile: string;
1921
- startOperationId: string;
1922
1937
  }>;
1923
1938
  export type GovernedExecution = z.infer<typeof GovernedExecutionSchema>;
1924
1939
  /** Metadata projection, with gate status separate from local outcome. It does
@@ -2300,16 +2315,19 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
2300
2315
  sourceRevision: z.ZodNumber;
2301
2316
  inputDigest: z.ZodString;
2302
2317
  operationId: z.ZodString;
2318
+ taskId: z.ZodOptional<z.ZodString>;
2303
2319
  }, "strict", z.ZodTypeAny, {
2304
2320
  sourceId: string;
2305
2321
  sourceRevision: number;
2306
2322
  inputDigest: string;
2307
2323
  operationId: string;
2324
+ taskId?: string | undefined;
2308
2325
  }, {
2309
2326
  sourceId: string;
2310
2327
  sourceRevision: number;
2311
2328
  inputDigest: string;
2312
2329
  operationId: string;
2330
+ taskId?: string | undefined;
2313
2331
  }>>;
2314
2332
  dependencyBinding: z.ZodOptional<z.ZodString>;
2315
2333
  acceptanceCriteria: z.ZodArray<z.ZodObject<{
@@ -2373,6 +2391,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
2373
2391
  sourceRevision: number;
2374
2392
  inputDigest: string;
2375
2393
  operationId: string;
2394
+ taskId?: string | undefined;
2376
2395
  } | undefined;
2377
2396
  instructions?: string | undefined;
2378
2397
  dependencyBinding?: string | undefined;
@@ -2405,6 +2424,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
2405
2424
  sourceRevision: number;
2406
2425
  inputDigest: string;
2407
2426
  operationId: string;
2427
+ taskId?: string | undefined;
2408
2428
  } | undefined;
2409
2429
  instructions?: string | undefined;
2410
2430
  dependencyBinding?: string | undefined;
@@ -2437,6 +2457,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
2437
2457
  sourceRevision: number;
2438
2458
  inputDigest: string;
2439
2459
  operationId: string;
2460
+ taskId?: string | undefined;
2440
2461
  } | undefined;
2441
2462
  instructions?: string | undefined;
2442
2463
  dependencyBinding?: string | undefined;
@@ -2469,6 +2490,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
2469
2490
  sourceRevision: number;
2470
2491
  inputDigest: string;
2471
2492
  operationId: string;
2493
+ taskId?: string | undefined;
2472
2494
  } | undefined;
2473
2495
  instructions?: string | undefined;
2474
2496
  dependencyBinding?: string | undefined;
@@ -2925,6 +2947,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
2925
2947
  sourceRevision: number;
2926
2948
  inputDigest: string;
2927
2949
  operationId: string;
2950
+ taskId?: string | undefined;
2928
2951
  } | undefined;
2929
2952
  instructions?: string | undefined;
2930
2953
  dependencyBinding?: string | undefined;
@@ -3038,6 +3061,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3038
3061
  sourceRevision: number;
3039
3062
  inputDigest: string;
3040
3063
  operationId: string;
3064
+ taskId?: string | undefined;
3041
3065
  } | undefined;
3042
3066
  instructions?: string | undefined;
3043
3067
  dependencyBinding?: string | undefined;
@@ -3151,6 +3175,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3151
3175
  sourceRevision: number;
3152
3176
  inputDigest: string;
3153
3177
  operationId: string;
3178
+ taskId?: string | undefined;
3154
3179
  } | undefined;
3155
3180
  instructions?: string | undefined;
3156
3181
  dependencyBinding?: string | undefined;
@@ -3264,6 +3289,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3264
3289
  sourceRevision: number;
3265
3290
  inputDigest: string;
3266
3291
  operationId: string;
3292
+ taskId?: string | undefined;
3267
3293
  } | undefined;
3268
3294
  instructions?: string | undefined;
3269
3295
  dependencyBinding?: string | undefined;
@@ -3380,6 +3406,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3380
3406
  sourceRevision: number;
3381
3407
  inputDigest: string;
3382
3408
  operationId: string;
3409
+ taskId?: string | undefined;
3383
3410
  } | undefined;
3384
3411
  instructions?: string | undefined;
3385
3412
  dependencyBinding?: string | undefined;
@@ -3402,6 +3429,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3402
3429
  permittedOperations: string[];
3403
3430
  prohibitedExternalOperations: string[];
3404
3431
  };
3432
+ startOperationId: string;
3405
3433
  admissionRef: string;
3406
3434
  admission: {
3407
3435
  projectId: string;
@@ -3451,7 +3479,6 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3451
3479
  acceptedProviders?: ("discord" | "linear" | "github" | "didcomm" | "a2a")[] | undefined;
3452
3480
  };
3453
3481
  workerProfile: string;
3454
- startOperationId: string;
3455
3482
  }, {
3456
3483
  schemaVersion: 1;
3457
3484
  review: {
@@ -3546,6 +3573,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3546
3573
  sourceRevision: number;
3547
3574
  inputDigest: string;
3548
3575
  operationId: string;
3576
+ taskId?: string | undefined;
3549
3577
  } | undefined;
3550
3578
  instructions?: string | undefined;
3551
3579
  dependencyBinding?: string | undefined;
@@ -3568,6 +3596,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3568
3596
  permittedOperations: string[];
3569
3597
  prohibitedExternalOperations: string[];
3570
3598
  };
3599
+ startOperationId: string;
3571
3600
  admissionRef: string;
3572
3601
  admission: {
3573
3602
  projectId: string;
@@ -3617,7 +3646,6 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3617
3646
  acceptedProviders?: ("discord" | "linear" | "github" | "didcomm" | "a2a")[] | undefined;
3618
3647
  };
3619
3648
  workerProfile: string;
3620
- startOperationId: string;
3621
3649
  }>, {
3622
3650
  schemaVersion: 1;
3623
3651
  review: {
@@ -3712,6 +3740,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3712
3740
  sourceRevision: number;
3713
3741
  inputDigest: string;
3714
3742
  operationId: string;
3743
+ taskId?: string | undefined;
3715
3744
  } | undefined;
3716
3745
  instructions?: string | undefined;
3717
3746
  dependencyBinding?: string | undefined;
@@ -3734,6 +3763,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3734
3763
  permittedOperations: string[];
3735
3764
  prohibitedExternalOperations: string[];
3736
3765
  };
3766
+ startOperationId: string;
3737
3767
  admissionRef: string;
3738
3768
  admission: {
3739
3769
  projectId: string;
@@ -3783,7 +3813,6 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3783
3813
  acceptedProviders?: ("discord" | "linear" | "github" | "didcomm" | "a2a")[] | undefined;
3784
3814
  };
3785
3815
  workerProfile: string;
3786
- startOperationId: string;
3787
3816
  }, {
3788
3817
  schemaVersion: 1;
3789
3818
  review: {
@@ -3878,6 +3907,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3878
3907
  sourceRevision: number;
3879
3908
  inputDigest: string;
3880
3909
  operationId: string;
3910
+ taskId?: string | undefined;
3881
3911
  } | undefined;
3882
3912
  instructions?: string | undefined;
3883
3913
  dependencyBinding?: string | undefined;
@@ -3900,6 +3930,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3900
3930
  permittedOperations: string[];
3901
3931
  prohibitedExternalOperations: string[];
3902
3932
  };
3933
+ startOperationId: string;
3903
3934
  admissionRef: string;
3904
3935
  admission: {
3905
3936
  projectId: string;
@@ -3949,7 +3980,6 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
3949
3980
  acceptedProviders?: ("discord" | "linear" | "github" | "didcomm" | "a2a")[] | undefined;
3950
3981
  };
3951
3982
  workerProfile: string;
3952
- startOperationId: string;
3953
3983
  }>;
3954
3984
  leadConfig: z.ZodObject<{
3955
3985
  origin: z.ZodString;
@@ -4073,6 +4103,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
4073
4103
  sourceRevision: number;
4074
4104
  inputDigest: string;
4075
4105
  operationId: string;
4106
+ taskId?: string | undefined;
4076
4107
  } | undefined;
4077
4108
  instructions?: string | undefined;
4078
4109
  dependencyBinding?: string | undefined;
@@ -4095,6 +4126,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
4095
4126
  permittedOperations: string[];
4096
4127
  prohibitedExternalOperations: string[];
4097
4128
  };
4129
+ startOperationId: string;
4098
4130
  admissionRef: string;
4099
4131
  admission: {
4100
4132
  projectId: string;
@@ -4144,7 +4176,6 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
4144
4176
  acceptedProviders?: ("discord" | "linear" | "github" | "didcomm" | "a2a")[] | undefined;
4145
4177
  };
4146
4178
  workerProfile: string;
4147
- startOperationId: string;
4148
4179
  };
4149
4180
  leadConfig: {
4150
4181
  projectId: string;
@@ -4254,6 +4285,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
4254
4285
  sourceRevision: number;
4255
4286
  inputDigest: string;
4256
4287
  operationId: string;
4288
+ taskId?: string | undefined;
4257
4289
  } | undefined;
4258
4290
  instructions?: string | undefined;
4259
4291
  dependencyBinding?: string | undefined;
@@ -4276,6 +4308,7 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
4276
4308
  permittedOperations: string[];
4277
4309
  prohibitedExternalOperations: string[];
4278
4310
  };
4311
+ startOperationId: string;
4279
4312
  admissionRef: string;
4280
4313
  admission: {
4281
4314
  projectId: string;
@@ -4325,7 +4358,6 @@ export declare const StandingSupervisorBindingSchema: z.ZodObject<{
4325
4358
  acceptedProviders?: ("discord" | "linear" | "github" | "didcomm" | "a2a")[] | undefined;
4326
4359
  };
4327
4360
  workerProfile: string;
4328
- startOperationId: string;
4329
4361
  };
4330
4362
  leadConfig: {
4331
4363
  projectId: string;
@@ -4951,16 +4951,19 @@ export declare const LeadPlanSchema: z.ZodObject<{
4951
4951
  sourceRevision: z.ZodNumber;
4952
4952
  inputDigest: z.ZodString;
4953
4953
  operationId: z.ZodString;
4954
+ taskId: z.ZodOptional<z.ZodString>;
4954
4955
  }, "strict", z.ZodTypeAny, {
4955
4956
  sourceId: string;
4956
4957
  sourceRevision: number;
4957
4958
  inputDigest: string;
4958
4959
  operationId: string;
4960
+ taskId?: string | undefined;
4959
4961
  }, {
4960
4962
  sourceId: string;
4961
4963
  sourceRevision: number;
4962
4964
  inputDigest: string;
4963
4965
  operationId: string;
4966
+ taskId?: string | undefined;
4964
4967
  }>>;
4965
4968
  dependencyBinding: z.ZodOptional<z.ZodString>;
4966
4969
  acceptanceCriteria: z.ZodArray<z.ZodObject<{
@@ -5024,6 +5027,7 @@ export declare const LeadPlanSchema: z.ZodObject<{
5024
5027
  sourceRevision: number;
5025
5028
  inputDigest: string;
5026
5029
  operationId: string;
5030
+ taskId?: string | undefined;
5027
5031
  } | undefined;
5028
5032
  instructions?: string | undefined;
5029
5033
  dependencyBinding?: string | undefined;
@@ -5056,6 +5060,7 @@ export declare const LeadPlanSchema: z.ZodObject<{
5056
5060
  sourceRevision: number;
5057
5061
  inputDigest: string;
5058
5062
  operationId: string;
5063
+ taskId?: string | undefined;
5059
5064
  } | undefined;
5060
5065
  instructions?: string | undefined;
5061
5066
  dependencyBinding?: string | undefined;
@@ -5088,6 +5093,7 @@ export declare const LeadPlanSchema: z.ZodObject<{
5088
5093
  sourceRevision: number;
5089
5094
  inputDigest: string;
5090
5095
  operationId: string;
5096
+ taskId?: string | undefined;
5091
5097
  } | undefined;
5092
5098
  instructions?: string | undefined;
5093
5099
  dependencyBinding?: string | undefined;
@@ -5120,6 +5126,7 @@ export declare const LeadPlanSchema: z.ZodObject<{
5120
5126
  sourceRevision: number;
5121
5127
  inputDigest: string;
5122
5128
  operationId: string;
5129
+ taskId?: string | undefined;
5123
5130
  } | undefined;
5124
5131
  instructions?: string | undefined;
5125
5132
  dependencyBinding?: string | undefined;
@@ -5576,6 +5583,7 @@ export declare const LeadPlanSchema: z.ZodObject<{
5576
5583
  sourceRevision: number;
5577
5584
  inputDigest: string;
5578
5585
  operationId: string;
5586
+ taskId?: string | undefined;
5579
5587
  } | undefined;
5580
5588
  instructions?: string | undefined;
5581
5589
  dependencyBinding?: string | undefined;
@@ -5689,6 +5697,7 @@ export declare const LeadPlanSchema: z.ZodObject<{
5689
5697
  sourceRevision: number;
5690
5698
  inputDigest: string;
5691
5699
  operationId: string;
5700
+ taskId?: string | undefined;
5692
5701
  } | undefined;
5693
5702
  instructions?: string | undefined;
5694
5703
  dependencyBinding?: string | undefined;
@@ -5802,6 +5811,7 @@ export declare const LeadPlanSchema: z.ZodObject<{
5802
5811
  sourceRevision: number;
5803
5812
  inputDigest: string;
5804
5813
  operationId: string;
5814
+ taskId?: string | undefined;
5805
5815
  } | undefined;
5806
5816
  instructions?: string | undefined;
5807
5817
  dependencyBinding?: string | undefined;
@@ -5915,6 +5925,7 @@ export declare const LeadPlanSchema: z.ZodObject<{
5915
5925
  sourceRevision: number;
5916
5926
  inputDigest: string;
5917
5927
  operationId: string;
5928
+ taskId?: string | undefined;
5918
5929
  } | undefined;
5919
5930
  instructions?: string | undefined;
5920
5931
  dependencyBinding?: string | undefined;
@@ -7195,6 +7206,7 @@ export declare const LeadPlanSchema: z.ZodObject<{
7195
7206
  sourceRevision: number;
7196
7207
  inputDigest: string;
7197
7208
  operationId: string;
7209
+ taskId?: string | undefined;
7198
7210
  } | undefined;
7199
7211
  instructions?: string | undefined;
7200
7212
  dependencyBinding?: string | undefined;
@@ -7583,6 +7595,7 @@ export declare const LeadPlanSchema: z.ZodObject<{
7583
7595
  sourceRevision: number;
7584
7596
  inputDigest: string;
7585
7597
  operationId: string;
7598
+ taskId?: string | undefined;
7586
7599
  } | undefined;
7587
7600
  instructions?: string | undefined;
7588
7601
  dependencyBinding?: string | undefined;
@@ -222,13 +222,13 @@ export declare const TaskModelReceiptSchema: z.ZodObject<{
222
222
  coverage: "unknown" | "complete" | "partial";
223
223
  }>>;
224
224
  outputDigest: z.ZodOptional<z.ZodString>;
225
- code: z.ZodEnum<["MODEL_STARTED", "MODEL_COMPLETED", "MODEL_OUTCOME_UNKNOWN"]>;
225
+ code: z.ZodEnum<["MODEL_STARTED", "MODEL_COMPLETED", "MODEL_REFUSED", "MODEL_OUTCOME_UNKNOWN"]>;
226
226
  durationMs: z.ZodNullable<z.ZodNumber>;
227
227
  requestStartedAtMs: z.ZodNullable<z.ZodNumber>;
228
228
  costBasis: z.ZodLiteral<"unknown">;
229
229
  billingVerified: z.ZodLiteral<false>;
230
230
  }, "strict", z.ZodTypeAny, {
231
- code: "MODEL_STARTED" | "MODEL_COMPLETED" | "MODEL_OUTCOME_UNKNOWN";
231
+ code: "MODEL_STARTED" | "MODEL_COMPLETED" | "MODEL_REFUSED" | "MODEL_OUTCOME_UNKNOWN";
232
232
  provider: "anthropic";
233
233
  credentialId: string;
234
234
  model: string;
@@ -255,7 +255,7 @@ export declare const TaskModelReceiptSchema: z.ZodObject<{
255
255
  billingVerified: false;
256
256
  outputDigest?: string | undefined;
257
257
  }, {
258
- code: "MODEL_STARTED" | "MODEL_COMPLETED" | "MODEL_OUTCOME_UNKNOWN";
258
+ code: "MODEL_STARTED" | "MODEL_COMPLETED" | "MODEL_REFUSED" | "MODEL_OUTCOME_UNKNOWN";
259
259
  provider: "anthropic";
260
260
  credentialId: string;
261
261
  model: string;
@@ -102,7 +102,8 @@ exports.TaskModelReceiptSchema = zod_1.z
102
102
  .string()
103
103
  .regex(/^sha256:[a-f0-9]{64}$/)
104
104
  .optional(),
105
- code: zod_1.z.enum(['MODEL_STARTED', 'MODEL_COMPLETED', 'MODEL_OUTCOME_UNKNOWN']),
105
+ // A definite refusal keeps its allocation spent without making the admission uncertain.
106
+ code: zod_1.z.enum(['MODEL_STARTED', 'MODEL_COMPLETED', 'MODEL_REFUSED', 'MODEL_OUTCOME_UNKNOWN']),
106
107
  durationMs: zod_1.z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER).nullable(),
107
108
  requestStartedAtMs: zod_1.z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER).nullable(),
108
109
  costBasis: zod_1.z.literal('unknown'),
@@ -27,16 +27,19 @@ export declare const ExecutionReviewSchema: z.ZodEffects<z.ZodObject<{
27
27
  sourceRevision: z.ZodNumber;
28
28
  inputDigest: z.ZodString;
29
29
  operationId: z.ZodString;
30
+ taskId: z.ZodOptional<z.ZodString>;
30
31
  }, "strict", z.ZodTypeAny, {
31
32
  sourceId: string;
32
33
  sourceRevision: number;
33
34
  inputDigest: string;
34
35
  operationId: string;
36
+ taskId?: string | undefined;
35
37
  }, {
36
38
  sourceId: string;
37
39
  sourceRevision: number;
38
40
  inputDigest: string;
39
41
  operationId: string;
42
+ taskId?: string | undefined;
40
43
  }>>;
41
44
  dependencyBinding: z.ZodOptional<z.ZodString>;
42
45
  acceptanceCriteria: z.ZodArray<z.ZodObject<{
@@ -100,6 +103,7 @@ export declare const ExecutionReviewSchema: z.ZodEffects<z.ZodObject<{
100
103
  sourceRevision: number;
101
104
  inputDigest: string;
102
105
  operationId: string;
106
+ taskId?: string | undefined;
103
107
  } | undefined;
104
108
  instructions?: string | undefined;
105
109
  dependencyBinding?: string | undefined;
@@ -132,6 +136,7 @@ export declare const ExecutionReviewSchema: z.ZodEffects<z.ZodObject<{
132
136
  sourceRevision: number;
133
137
  inputDigest: string;
134
138
  operationId: string;
139
+ taskId?: string | undefined;
135
140
  } | undefined;
136
141
  instructions?: string | undefined;
137
142
  dependencyBinding?: string | undefined;
@@ -164,6 +169,7 @@ export declare const ExecutionReviewSchema: z.ZodEffects<z.ZodObject<{
164
169
  sourceRevision: number;
165
170
  inputDigest: string;
166
171
  operationId: string;
172
+ taskId?: string | undefined;
167
173
  } | undefined;
168
174
  instructions?: string | undefined;
169
175
  dependencyBinding?: string | undefined;
@@ -196,6 +202,7 @@ export declare const ExecutionReviewSchema: z.ZodEffects<z.ZodObject<{
196
202
  sourceRevision: number;
197
203
  inputDigest: string;
198
204
  operationId: string;
205
+ taskId?: string | undefined;
199
206
  } | undefined;
200
207
  instructions?: string | undefined;
201
208
  dependencyBinding?: string | undefined;
@@ -652,6 +659,7 @@ export declare const ExecutionReviewSchema: z.ZodEffects<z.ZodObject<{
652
659
  sourceRevision: number;
653
660
  inputDigest: string;
654
661
  operationId: string;
662
+ taskId?: string | undefined;
655
663
  } | undefined;
656
664
  instructions?: string | undefined;
657
665
  dependencyBinding?: string | undefined;
@@ -765,6 +773,7 @@ export declare const ExecutionReviewSchema: z.ZodEffects<z.ZodObject<{
765
773
  sourceRevision: number;
766
774
  inputDigest: string;
767
775
  operationId: string;
776
+ taskId?: string | undefined;
768
777
  } | undefined;
769
778
  instructions?: string | undefined;
770
779
  dependencyBinding?: string | undefined;
@@ -878,6 +887,7 @@ export declare const ExecutionReviewSchema: z.ZodEffects<z.ZodObject<{
878
887
  sourceRevision: number;
879
888
  inputDigest: string;
880
889
  operationId: string;
890
+ taskId?: string | undefined;
881
891
  } | undefined;
882
892
  instructions?: string | undefined;
883
893
  dependencyBinding?: string | undefined;
@@ -991,6 +1001,7 @@ export declare const ExecutionReviewSchema: z.ZodEffects<z.ZodObject<{
991
1001
  sourceRevision: number;
992
1002
  inputDigest: string;
993
1003
  operationId: string;
1004
+ taskId?: string | undefined;
994
1005
  } | undefined;
995
1006
  instructions?: string | undefined;
996
1007
  dependencyBinding?: string | undefined;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kya-os/contracts",
3
- "version": "1.13.0",
3
+ "version": "1.13.1",
4
4
  "description": "Shared contracts, types, and schemas for MCP-I framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -152,6 +152,7 @@
152
152
  },
153
153
  "scripts": {
154
154
  "build": "tsc -p tsconfig.build.json && npm run emit-schemas && npm run check-exports-integrity",
155
+ "typecheck": "tsc --noEmit -p tsconfig.build.json",
155
156
  "emit-schemas": "node scripts/emit-schemas.mjs",
156
157
  "check-exports-integrity": "node scripts/check-exports-integrity.mjs",
157
158
  "test": "vitest run",
@@ -164,7 +165,7 @@
164
165
  },
165
166
  "sideEffects": false,
166
167
  "dependencies": {
167
- "@kya-os/consent": "^0.1.23",
168
+ "@kya-os/consent": "^0.1.50",
168
169
  "zod": "^3.25.67"
169
170
  },
170
171
  "devDependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kya-os/cli",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "description": "CLI for KYA-OS setup and management",
5
5
  "keywords": [
6
6
  "cli",
@@ -32,6 +32,7 @@
32
32
  ],
33
33
  "scripts": {
34
34
  "build": "npm run build:sidecar && node scripts/fix-esm-imports.js && node scripts/smoke-test-dist.js",
35
+ "typecheck": "tsc --noEmit -p tsconfig.sidecar.json",
35
36
  "build:rust": "cargo build --locked --release",
36
37
  "build:sidecar": "tsc -p tsconfig.sidecar.json",
37
38
  "build:foundation": "npm run build:rust && npm run build:sidecar",
@@ -46,14 +47,14 @@
46
47
  "test:coverage": "vitest --coverage --run"
47
48
  },
48
49
  "dependencies": {
49
- "@kya-os/contracts": "1.13.0",
50
+ "@kya-os/contracts": "1.13.1",
50
51
  "@kya-os/mcp": "1.15.0",
51
- "@kya-os/mcp-i": "^1.12.0",
52
52
  "didwebvh-ts": "2.8.0",
53
53
  "json-canonicalize": "2.0.0",
54
54
  "zod": "^3.25.67"
55
55
  },
56
56
  "devDependencies": {
57
+ "@kya-os/mcp-i": "^1.13.1",
57
58
  "@types/node": "^20.0.0",
58
59
  "@vitest/coverage-v8": "^4.0.18",
59
60
  "typescript": "^5.0.0",
@@ -63,9 +64,9 @@
63
64
  "node": ">=20.19.0"
64
65
  },
65
66
  "optionalDependencies": {
66
- "@kya-os/cli-darwin-arm64": "2.1.0",
67
- "@kya-os/cli-darwin-x64": "2.1.0",
68
- "@kya-os/cli-linux-arm64-gnu": "2.1.0",
69
- "@kya-os/cli-linux-x64-gnu": "2.1.0"
67
+ "@kya-os/cli-darwin-arm64": "2.1.2",
68
+ "@kya-os/cli-darwin-x64": "2.1.2",
69
+ "@kya-os/cli-linux-arm64-gnu": "2.1.2",
70
+ "@kya-os/cli-linux-x64-gnu": "2.1.2"
70
71
  }
71
72
  }