@lucern/contracts 0.3.0-alpha.2 → 0.3.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/component-boundary.contract.d.ts +14 -0
  2. package/dist/component-boundary.contract.js +155 -0
  3. package/dist/component-boundary.contract.js.map +1 -0
  4. package/dist/component-host-boundary.contract.d.ts +41 -0
  5. package/dist/component-host-boundary.contract.js +54 -0
  6. package/dist/component-host-boundary.contract.js.map +1 -0
  7. package/dist/function-registry/beliefs.d.ts +41 -41
  8. package/dist/function-registry/beliefs.js +202 -8
  9. package/dist/function-registry/beliefs.js.map +1 -1
  10. package/dist/function-registry/coding.js +187 -8
  11. package/dist/function-registry/coding.js.map +1 -1
  12. package/dist/function-registry/context.d.ts +13 -13
  13. package/dist/function-registry/context.js +187 -9
  14. package/dist/function-registry/context.js.map +1 -1
  15. package/dist/function-registry/contracts.js +158 -5
  16. package/dist/function-registry/contracts.js.map +1 -1
  17. package/dist/function-registry/coordination.js +158 -5
  18. package/dist/function-registry/coordination.js.map +1 -1
  19. package/dist/function-registry/edges.js +169 -6
  20. package/dist/function-registry/edges.js.map +1 -1
  21. package/dist/function-registry/evidence.d.ts +33 -33
  22. package/dist/function-registry/evidence.js +202 -9
  23. package/dist/function-registry/evidence.js.map +1 -1
  24. package/dist/function-registry/graph.d.ts +53 -53
  25. package/dist/function-registry/graph.js +217 -12
  26. package/dist/function-registry/graph.js.map +1 -1
  27. package/dist/function-registry/helpers.d.ts +1 -1
  28. package/dist/function-registry/helpers.js +158 -5
  29. package/dist/function-registry/helpers.js.map +1 -1
  30. package/dist/function-registry/identity.js +158 -5
  31. package/dist/function-registry/identity.js.map +1 -1
  32. package/dist/function-registry/index.d.ts +1 -1
  33. package/dist/function-registry/index.js +158 -5
  34. package/dist/function-registry/index.js.map +1 -1
  35. package/dist/function-registry/judgments.d.ts +9 -9
  36. package/dist/function-registry/judgments.js +170 -8
  37. package/dist/function-registry/judgments.js.map +1 -1
  38. package/dist/function-registry/legacy.js +158 -5
  39. package/dist/function-registry/legacy.js.map +1 -1
  40. package/dist/function-registry/lenses.d.ts +17 -17
  41. package/dist/function-registry/lenses.js +181 -8
  42. package/dist/function-registry/lenses.js.map +1 -1
  43. package/dist/function-registry/manifest.d.ts +3 -3
  44. package/dist/function-registry/manifest.js +1 -1
  45. package/dist/function-registry/manifest.js.map +1 -1
  46. package/dist/function-registry/ontologies.d.ts +45 -45
  47. package/dist/function-registry/ontologies.js +176 -11
  48. package/dist/function-registry/ontologies.js.map +1 -1
  49. package/dist/function-registry/pipeline.d.ts +13 -13
  50. package/dist/function-registry/pipeline.js +167 -8
  51. package/dist/function-registry/pipeline.js.map +1 -1
  52. package/dist/function-registry/questions.d.ts +49 -49
  53. package/dist/function-registry/questions.js +255 -13
  54. package/dist/function-registry/questions.js.map +1 -1
  55. package/dist/function-registry/tasks.js +158 -5
  56. package/dist/function-registry/tasks.js.map +1 -1
  57. package/dist/function-registry/topics.d.ts +21 -21
  58. package/dist/function-registry/topics.js +172 -8
  59. package/dist/function-registry/topics.js.map +1 -1
  60. package/dist/function-registry/types.d.ts +1 -1
  61. package/dist/function-registry/worktrees.d.ts +80 -41
  62. package/dist/function-registry/worktrees.js +292 -17
  63. package/dist/function-registry/worktrees.js.map +1 -1
  64. package/dist/function-registry-input-audit.d.ts +13 -0
  65. package/dist/function-registry-input-audit.js +164 -0
  66. package/dist/function-registry-input-audit.js.map +1 -0
  67. package/dist/gateway.contract.d.ts +2 -0
  68. package/dist/gateway.contract.js.map +1 -1
  69. package/dist/generated/convexSchemas.js +2 -1
  70. package/dist/generated/convexSchemas.js.map +1 -1
  71. package/dist/generated/schema-manifest.json +42 -3
  72. package/dist/generated/tableOwnership.d.ts +2 -1
  73. package/dist/generated/tableOwnership.js +2 -0
  74. package/dist/generated/tableOwnership.js.map +1 -1
  75. package/dist/generated/tier-expectations.json +4 -2
  76. package/dist/index.d.ts +445 -35
  77. package/dist/index.js +1987 -17
  78. package/dist/index.js.map +1 -1
  79. package/dist/infisical-runtime.contract.d.ts +174 -0
  80. package/dist/infisical-runtime.contract.js +192 -0
  81. package/dist/infisical-runtime.contract.js.map +1 -0
  82. package/dist/mcp-gateway-boundary.contract.d.ts +181 -0
  83. package/dist/mcp-gateway-boundary.contract.js +43 -0
  84. package/dist/mcp-gateway-boundary.contract.js.map +1 -0
  85. package/dist/schemas/component-table-manifest.d.ts +2 -2
  86. package/dist/schemas/index.js +38 -1
  87. package/dist/schemas/index.js.map +1 -1
  88. package/dist/schemas/manifest.d.ts +1050 -910
  89. package/dist/schemas/manifest.js +38 -1
  90. package/dist/schemas/manifest.js.map +1 -1
  91. package/dist/schemas/sl-opinion.d.ts +4 -4
  92. package/dist/schemas/tables/identity/platform.d.ts +10 -10
  93. package/dist/schemas/tables/kernel/epistemic.d.ts +6 -6
  94. package/dist/schemas/tables/kernel/infra.d.ts +4 -4
  95. package/dist/schemas/tables/kernel/intelligence.d.ts +10 -10
  96. package/dist/schemas/tables/kernel/lens.d.ts +4 -4
  97. package/dist/schemas/tables/kernel/platform.d.ts +12 -12
  98. package/dist/schemas/tables/kernel/spine.d.ts +2 -2
  99. package/dist/schemas/tables/kernel/task.d.ts +42 -42
  100. package/dist/schemas/tables/kernel/worktree.d.ts +62 -62
  101. package/dist/schemas/tables/mc/identity.d.ts +26 -3
  102. package/dist/schemas/tables/mc/identity.js +35 -1
  103. package/dist/schemas/tables/mc/identity.js.map +1 -1
  104. package/dist/schemas/tables/mc/pack.d.ts +20 -20
  105. package/dist/schemas/tables/mc/registry.d.ts +4 -4
  106. package/dist/schemas/tables/mc/workspace.d.ts +9 -3
  107. package/dist/schemas/tables/mc/workspace.js +3 -1
  108. package/dist/schemas/tables/mc/workspace.js.map +1 -1
  109. package/dist/sdk-methods.contract.d.ts +1 -1
  110. package/dist/{sdk-tools.contract-S4ia0TTo.d.ts → sdk-tools.contract-CD-N1Jf7.d.ts} +1 -1
  111. package/dist/sdk-tools.contract.d.ts +2 -2
  112. package/dist/sdk-tools.contract.js +157 -4
  113. package/dist/sdk-tools.contract.js.map +1 -1
  114. package/dist/tenant-bootstrap-seed.contract.d.ts +1097 -0
  115. package/dist/tenant-bootstrap-seed.contract.js +651 -0
  116. package/dist/tenant-bootstrap-seed.contract.js.map +1 -0
  117. package/dist/tenant-bootstrap-seed.defaults.d.ts +16 -0
  118. package/dist/tenant-bootstrap-seed.defaults.js +303 -0
  119. package/dist/tenant-bootstrap-seed.defaults.js.map +1 -0
  120. package/dist/tenant-client.contract.d.ts +266 -0
  121. package/dist/tenant-client.contract.js +404 -0
  122. package/dist/tenant-client.contract.js.map +1 -0
  123. package/dist/{tool-contracts-C92-9ueT.d.ts → tool-contracts-BcKz-VGj.d.ts} +4 -2
  124. package/dist/tool-contracts.d.ts +1 -1
  125. package/dist/tool-contracts.js +158 -5
  126. package/dist/tool-contracts.js.map +1 -1
  127. package/package.json +1 -1
@@ -135,46 +135,46 @@ declare const packVersions: TableContract<{
135
135
  idempotent: z.ZodBoolean;
136
136
  sideEffectLevel: z.ZodEnum<["none", "low", "high"]>;
137
137
  }, "strip", z.ZodTypeAny, {
138
- readOnly: boolean;
139
138
  idempotent: boolean;
139
+ readOnly: boolean;
140
140
  sideEffectLevel: "high" | "low" | "none";
141
141
  }, {
142
- readOnly: boolean;
143
142
  idempotent: boolean;
143
+ readOnly: boolean;
144
144
  sideEffectLevel: "high" | "low" | "none";
145
145
  }>>;
146
146
  }, "strip", z.ZodTypeAny, {
147
147
  toolName: string;
148
148
  toolVersion: string;
149
149
  description?: string | undefined;
150
+ surfaces?: ("cli" | "mcp" | "sdk" | "chat" | "voice" | "sprint" | "api")[] | undefined;
151
+ category?: "read" | "write" | "admin" | "system" | undefined;
150
152
  executionAdapter?: "convex_mutation" | "convex_action" | "http_callback" | "mcp_tool" | "sdk_invocation" | "external_observed" | undefined;
151
153
  parameterSchema?: Record<string, any> | undefined;
152
- category?: "read" | "write" | "admin" | "system" | undefined;
153
154
  requiredRole?: "platform_admin" | "tenant_admin" | "workspace_admin" | "editor" | "viewer" | "auditor" | "service_agent" | undefined;
154
- requiredAction?: "read" | "admin" | "mutate" | "summarize" | "export" | "create" | "delete" | "grant" | "revoke" | undefined;
155
- surfaces?: ("cli" | "mcp" | "chat" | "voice" | "sprint" | "api" | "sdk")[] | undefined;
155
+ requiredAction?: "delete" | "read" | "admin" | "create" | "mutate" | "summarize" | "export" | "grant" | "revoke" | undefined;
156
156
  returnSchema?: Record<string, any> | undefined;
157
157
  handlerRef?: string | undefined;
158
158
  safetyMetadata?: {
159
- readOnly: boolean;
160
159
  idempotent: boolean;
160
+ readOnly: boolean;
161
161
  sideEffectLevel: "high" | "low" | "none";
162
162
  } | undefined;
163
163
  }, {
164
164
  toolName: string;
165
165
  toolVersion: string;
166
166
  description?: string | undefined;
167
+ surfaces?: ("cli" | "mcp" | "sdk" | "chat" | "voice" | "sprint" | "api")[] | undefined;
168
+ category?: "read" | "write" | "admin" | "system" | undefined;
167
169
  executionAdapter?: "convex_mutation" | "convex_action" | "http_callback" | "mcp_tool" | "sdk_invocation" | "external_observed" | undefined;
168
170
  parameterSchema?: Record<string, any> | undefined;
169
- category?: "read" | "write" | "admin" | "system" | undefined;
170
171
  requiredRole?: "platform_admin" | "tenant_admin" | "workspace_admin" | "editor" | "viewer" | "auditor" | "service_agent" | undefined;
171
- requiredAction?: "read" | "admin" | "mutate" | "summarize" | "export" | "create" | "delete" | "grant" | "revoke" | undefined;
172
- surfaces?: ("cli" | "mcp" | "chat" | "voice" | "sprint" | "api" | "sdk")[] | undefined;
172
+ requiredAction?: "delete" | "read" | "admin" | "create" | "mutate" | "summarize" | "export" | "grant" | "revoke" | undefined;
173
173
  returnSchema?: Record<string, any> | undefined;
174
174
  handlerRef?: string | undefined;
175
175
  safetyMetadata?: {
176
- readOnly: boolean;
177
176
  idempotent: boolean;
177
+ readOnly: boolean;
178
178
  sideEffectLevel: "high" | "low" | "none";
179
179
  } | undefined;
180
180
  }>, "many">;
@@ -326,17 +326,17 @@ declare const packVersions: TableContract<{
326
326
  promptRef: string;
327
327
  required?: boolean | undefined;
328
328
  version?: string | undefined;
329
+ phase?: string | undefined;
329
330
  metadata?: any;
330
331
  role?: string | undefined;
331
- phase?: string | undefined;
332
332
  }, {
333
333
  key: string;
334
334
  promptRef: string;
335
335
  required?: boolean | undefined;
336
336
  version?: string | undefined;
337
+ phase?: string | undefined;
337
338
  metadata?: any;
338
339
  role?: string | undefined;
339
- phase?: string | undefined;
340
340
  }>, "many">;
341
341
  workflowTemplates: z.ZodArray<z.ZodObject<{
342
342
  key: z.ZodString;
@@ -403,16 +403,16 @@ declare const packVersions: TableContract<{
403
403
  key: string;
404
404
  title: string;
405
405
  description?: string | undefined;
406
+ phase?: string | undefined;
406
407
  metadata?: any;
407
408
  priority?: "critical" | "high" | "medium" | "low" | undefined;
408
- phase?: string | undefined;
409
409
  }, {
410
410
  key: string;
411
411
  title: string;
412
412
  description?: string | undefined;
413
+ phase?: string | undefined;
413
414
  metadata?: any;
414
415
  priority?: "critical" | "high" | "medium" | "low" | undefined;
415
- phase?: string | undefined;
416
416
  }>, "many">;
417
417
  questionTemplates: z.ZodOptional<z.ZodArray<z.ZodObject<{
418
418
  key: z.ZodString;
@@ -444,9 +444,9 @@ declare const packVersions: TableContract<{
444
444
  promptRef: string;
445
445
  required?: boolean | undefined;
446
446
  version?: string | undefined;
447
+ phase?: string | undefined;
447
448
  metadata?: any;
448
449
  role?: string | undefined;
449
- phase?: string | undefined;
450
450
  }[];
451
451
  workflowTemplates: {
452
452
  name: string;
@@ -466,13 +466,14 @@ declare const packVersions: TableContract<{
466
466
  key: string;
467
467
  title: string;
468
468
  description?: string | undefined;
469
+ phase?: string | undefined;
469
470
  metadata?: any;
470
471
  priority?: "critical" | "high" | "medium" | "low" | undefined;
471
- phase?: string | undefined;
472
472
  }[];
473
473
  lensKey: string;
474
474
  description?: string | undefined;
475
475
  metadata?: any;
476
+ filterCriteria?: any;
476
477
  questionTemplates?: {
477
478
  key: string;
478
479
  text: string;
@@ -480,7 +481,6 @@ declare const packVersions: TableContract<{
480
481
  priority?: "critical" | "high" | "medium" | "low" | undefined;
481
482
  linkedBeliefKey?: string | undefined;
482
483
  }[] | undefined;
483
- filterCriteria?: any;
484
484
  topicTypeAffinity?: string[] | undefined;
485
485
  }, {
486
486
  name: string;
@@ -490,9 +490,9 @@ declare const packVersions: TableContract<{
490
490
  promptRef: string;
491
491
  required?: boolean | undefined;
492
492
  version?: string | undefined;
493
+ phase?: string | undefined;
493
494
  metadata?: any;
494
495
  role?: string | undefined;
495
- phase?: string | undefined;
496
496
  }[];
497
497
  workflowTemplates: {
498
498
  name: string;
@@ -512,13 +512,14 @@ declare const packVersions: TableContract<{
512
512
  key: string;
513
513
  title: string;
514
514
  description?: string | undefined;
515
+ phase?: string | undefined;
515
516
  metadata?: any;
516
517
  priority?: "critical" | "high" | "medium" | "low" | undefined;
517
- phase?: string | undefined;
518
518
  }[];
519
519
  lensKey: string;
520
520
  description?: string | undefined;
521
521
  metadata?: any;
522
+ filterCriteria?: any;
522
523
  questionTemplates?: {
523
524
  key: string;
524
525
  text: string;
@@ -526,7 +527,6 @@ declare const packVersions: TableContract<{
526
527
  priority?: "critical" | "high" | "medium" | "low" | undefined;
527
528
  linkedBeliefKey?: string | undefined;
528
529
  }[] | undefined;
529
- filterCriteria?: any;
530
530
  topicTypeAffinity?: string[] | undefined;
531
531
  }>, "many">>;
532
532
  configSnapshot: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
@@ -93,12 +93,12 @@ declare const toolCatalog: TableContract<{
93
93
  idempotent: z.ZodBoolean;
94
94
  sideEffectLevel: z.ZodEnum<["none", "low", "high"]>;
95
95
  }, "strip", z.ZodTypeAny, {
96
- readOnly: boolean;
97
96
  idempotent: boolean;
97
+ readOnly: boolean;
98
98
  sideEffectLevel: "high" | "low" | "none";
99
99
  }, {
100
- readOnly: boolean;
101
100
  idempotent: boolean;
101
+ readOnly: boolean;
102
102
  sideEffectLevel: "high" | "low" | "none";
103
103
  }>>;
104
104
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
@@ -122,12 +122,12 @@ declare const toolRegistryEntries: TableContract<{
122
122
  idempotent: z.ZodBoolean;
123
123
  sideEffectLevel: z.ZodEnum<["none", "low", "high"]>;
124
124
  }, "strip", z.ZodTypeAny, {
125
- readOnly: boolean;
126
125
  idempotent: boolean;
126
+ readOnly: boolean;
127
127
  sideEffectLevel: "high" | "low" | "none";
128
128
  }, {
129
- readOnly: boolean;
130
129
  idempotent: boolean;
130
+ readOnly: boolean;
131
131
  sideEffectLevel: "high" | "low" | "none";
132
132
  }>;
133
133
  exampleInvocations: z.ZodArray<z.ZodObject<{
@@ -11,13 +11,19 @@ declare const workspaces: TableContract<{
11
11
  defaultProjectVisibility: z.ZodOptional<z.ZodEnum<["private", "team", "firm", "external", "public"]>>;
12
12
  deployments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
13
13
  url: z.ZodString;
14
- encryptedDeployKey: z.ZodString;
14
+ target: z.ZodOptional<z.ZodEnum<["kernelDeployment", "appDeployment"]>>;
15
+ encryptedDeployKey: z.ZodOptional<z.ZodString>;
16
+ credentialRef: z.ZodOptional<z.ZodString>;
15
17
  }, "strip", z.ZodTypeAny, {
16
- encryptedDeployKey: string;
17
18
  url: string;
19
+ credentialRef?: string | undefined;
20
+ target?: "kernelDeployment" | "appDeployment" | undefined;
21
+ encryptedDeployKey?: string | undefined;
18
22
  }, {
19
- encryptedDeployKey: string;
20
23
  url: string;
24
+ credentialRef?: string | undefined;
25
+ target?: "kernelDeployment" | "appDeployment" | undefined;
26
+ encryptedDeployKey?: string | undefined;
21
27
  }>>>;
22
28
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
23
29
  createdBy: z.ZodOptional<z.ZodString>;
@@ -32,7 +32,9 @@ var workspaces = defineTable({
32
32
  "defaultProjectVisibility": z.enum(["private", "team", "firm", "external", "public"]).optional(),
33
33
  "deployments": z.record(z.object({
34
34
  "url": z.string(),
35
- "encryptedDeployKey": z.string()
35
+ "target": z.enum(["kernelDeployment", "appDeployment"]).optional(),
36
+ "encryptedDeployKey": z.string().optional(),
37
+ "credentialRef": z.string().optional()
36
38
  })).optional(),
37
39
  "metadata": z.record(z.any()).optional(),
38
40
  "createdBy": z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/dsl/defineTable.ts","../../../../src/dsl/idOf.ts","../../../../src/schemas/tables/mc/workspace.ts"],"names":["z"],"mappings":";;;;;AAwCO,SAAS,YACd,IAAA,EACkB;AAClB,EAAA,OAAO,IAAA;AACT;AC1CO,IAAM,eAAA,mBAAkB,MAAA,CAAO,GAAA,CAAI,gCAAgC,CAAA;AASnE,SAAS,KAAuB,KAAA,EAA6B;AAClE,EAAA,MAAM,MAAA,GAAS,CAAA,CAAE,MAAA,EAAO,CAAE,KAAA,EAAkB;AAC5C,EAAA,MAAA,CAAO,cAAA,CAAe,QAAQ,eAAA,EAAiB;AAAA,IAC7C,YAAA,EAAc,KAAA;AAAA,IACd,UAAA,EAAY,KAAA;AAAA,IACZ,KAAA,EAAO,KAAA;AAAA,IACP,QAAA,EAAU;AAAA,GACX,CAAA;AACD,EAAA,OAAO,MAAA;AACT;;;ACVO,IAAM,aAAa,WAAA,CAAY;AAAA,EACpC,IAAA,EAAM,YAAA;AAAA,EACN,SAAA,EAAW,IAAA;AAAA,EACX,QAAA,EAAU,WAAA;AAAA,EACV,KAAA,EAAOA,EAAE,MAAA,CAAO;AAAA,IACd,UAAA,EAAY,KAAK,SAAS,CAAA;AAAA,IAC1B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,IAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,IACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,IACjB,UAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAAA,IACvC,0BAAA,EAA4BA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,MAAA,EAAQ,MAAA,EAAQ,UAAA,EAAY,QAAQ,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,IAC/F,aAAA,EAAeA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,CAAO;AAAA,MACjC,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,oBAAA,EAAsBA,EAAE,MAAA;AAAO,KAChC,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,IACX,YAAYA,CAAAA,CAAE,MAAA,CAAOA,EAAE,GAAA,EAAK,EAAE,QAAA,EAAS;AAAA,IACvC,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACjC,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,IACtB,WAAA,EAAaA,EAAE,MAAA;AAAO,GACvB,CAAA;AAAA,EACD,OAAA,EAAS;AAAA,IACL,EAAE,MAAM,OAAA,EAAS,IAAA,EAAM,eAAe,OAAA,EAAS,CAAC,UAAU,CAAA,EAAE;AAAA,IAC5D,EAAE,MAAM,OAAA,EAAS,IAAA,EAAM,mBAAmB,OAAA,EAAS,CAAC,UAAA,EAAY,KAAK,CAAA,EAAE;AAAA,IACvE,EAAE,MAAM,OAAA,EAAS,IAAA,EAAM,oBAAoB,OAAA,EAAS,CAAC,UAAA,EAAY,MAAM,CAAA,EAAE;AAAA,IACzE,EAAE,MAAM,OAAA,EAAS,IAAA,EAAM,aAAa,OAAA,EAAS,CAAC,QAAQ,CAAA;AAAE;AAE9D,CAAC","file":"workspace.js","sourcesContent":["import type { ZodObject, ZodRawShape } from \"zod\";\n\nexport type TableComponent = \"mc\" | \"kernel\" | \"identity\" | \"developer-pack\";\n\nexport type TableIndex =\n | {\n kind: \"index\";\n name: string;\n columns: readonly string[];\n }\n | {\n kind: \"search\";\n name: string;\n searchField: string;\n filterFields?: readonly string[];\n }\n | {\n kind: \"vector\";\n name: string;\n vectorField: string;\n dimensions: number;\n filterFields?: readonly string[];\n };\n\nexport type TableDeprecation = {\n since: string;\n reason: string;\n replacement?: string;\n};\n\nexport type TableContract<S extends ZodRawShape = ZodRawShape> = {\n name: string;\n component: TableComponent;\n category: string;\n shape: ZodObject<S>;\n indices: readonly TableIndex[];\n deprecated?: TableDeprecation;\n invariants?: readonly string[];\n};\n\nexport function defineTable<S extends ZodRawShape>(\n spec: TableContract<S>\n): TableContract<S> {\n return spec;\n}\n","import { z } from \"zod\";\n\nexport const CONVEX_ID_TABLE = Symbol.for(\"lucern.contracts.convexIdTable\");\n\nexport type ConvexIdSchema<T extends string> = z.ZodBranded<\n z.ZodString,\n `Id<${T}>`\n> & {\n readonly [CONVEX_ID_TABLE]: T;\n};\n\nexport function idOf<T extends string>(table: T): ConvexIdSchema<T> {\n const schema = z.string().brand<`Id<${T}>`>();\n Object.defineProperty(schema, CONVEX_ID_TABLE, {\n configurable: false,\n enumerable: false,\n value: table,\n writable: false,\n });\n return schema as ConvexIdSchema<T>;\n}\n\nexport function getConvexIdTable(schema: z.ZodTypeAny): string | undefined {\n return (schema as Partial<Record<typeof CONVEX_ID_TABLE, string>>)[\n CONVEX_ID_TABLE\n ];\n}\n","/**\n * Schema contracts for mc/workspace.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const workspaces = defineTable({\n name: \"workspaces\",\n component: \"mc\",\n category: \"workspace\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"key\": z.string(),\n \"slug\": z.string(),\n \"name\": z.string(),\n \"status\": z.enum([\"active\", \"archived\"]),\n \"defaultProjectVisibility\": z.enum([\"private\", \"team\", \"firm\", \"external\", \"public\"]).optional(),\n \"deployments\": z.record(z.object({\n \"url\": z.string(),\n \"encryptedDeployKey\": z.string()\n })).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenantId_key\", columns: [\"tenantId\", \"key\"] },\n { kind: 'index', name: \"by_tenantId_slug\", columns: [\"tenantId\", \"slug\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n"]}
1
+ {"version":3,"sources":["../../../../src/dsl/defineTable.ts","../../../../src/dsl/idOf.ts","../../../../src/schemas/tables/mc/workspace.ts"],"names":["z"],"mappings":";;;;;AAwCO,SAAS,YACd,IAAA,EACkB;AAClB,EAAA,OAAO,IAAA;AACT;AC1CO,IAAM,eAAA,mBAAkB,MAAA,CAAO,GAAA,CAAI,gCAAgC,CAAA;AASnE,SAAS,KAAuB,KAAA,EAA6B;AAClE,EAAA,MAAM,MAAA,GAAS,CAAA,CAAE,MAAA,EAAO,CAAE,KAAA,EAAkB;AAC5C,EAAA,MAAA,CAAO,cAAA,CAAe,QAAQ,eAAA,EAAiB;AAAA,IAC7C,YAAA,EAAc,KAAA;AAAA,IACd,UAAA,EAAY,KAAA;AAAA,IACZ,KAAA,EAAO,KAAA;AAAA,IACP,QAAA,EAAU;AAAA,GACX,CAAA;AACD,EAAA,OAAO,MAAA;AACT;;;ACVO,IAAM,aAAa,WAAA,CAAY;AAAA,EACpC,IAAA,EAAM,YAAA;AAAA,EACN,SAAA,EAAW,IAAA;AAAA,EACX,QAAA,EAAU,WAAA;AAAA,EACV,KAAA,EAAOA,EAAE,MAAA,CAAO;AAAA,IACd,UAAA,EAAY,KAAK,SAAS,CAAA;AAAA,IAC1B,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,IAChB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,IACjB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,IACjB,UAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAAA,IACvC,0BAAA,EAA4BA,CAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,MAAA,EAAQ,MAAA,EAAQ,UAAA,EAAY,QAAQ,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,IAC/F,aAAA,EAAeA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,CAAO;AAAA,MACjC,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,MAChB,QAAA,EAAUA,EAAE,IAAA,CAAK,CAAC,oBAAoB,eAAe,CAAC,EAAE,QAAA,EAAS;AAAA,MACjE,oBAAA,EAAsBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,MAC1C,eAAA,EAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,KACtC,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,IACX,YAAYA,CAAAA,CAAE,MAAA,CAAOA,EAAE,GAAA,EAAK,EAAE,QAAA,EAAS;AAAA,IACvC,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACjC,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,IACtB,WAAA,EAAaA,EAAE,MAAA;AAAO,GACvB,CAAA;AAAA,EACD,OAAA,EAAS;AAAA,IACL,EAAE,MAAM,OAAA,EAAS,IAAA,EAAM,eAAe,OAAA,EAAS,CAAC,UAAU,CAAA,EAAE;AAAA,IAC5D,EAAE,MAAM,OAAA,EAAS,IAAA,EAAM,mBAAmB,OAAA,EAAS,CAAC,UAAA,EAAY,KAAK,CAAA,EAAE;AAAA,IACvE,EAAE,MAAM,OAAA,EAAS,IAAA,EAAM,oBAAoB,OAAA,EAAS,CAAC,UAAA,EAAY,MAAM,CAAA,EAAE;AAAA,IACzE,EAAE,MAAM,OAAA,EAAS,IAAA,EAAM,aAAa,OAAA,EAAS,CAAC,QAAQ,CAAA;AAAE;AAE9D,CAAC","file":"workspace.js","sourcesContent":["import type { ZodObject, ZodRawShape } from \"zod\";\n\nexport type TableComponent = \"mc\" | \"kernel\" | \"identity\" | \"developer-pack\";\n\nexport type TableIndex =\n | {\n kind: \"index\";\n name: string;\n columns: readonly string[];\n }\n | {\n kind: \"search\";\n name: string;\n searchField: string;\n filterFields?: readonly string[];\n }\n | {\n kind: \"vector\";\n name: string;\n vectorField: string;\n dimensions: number;\n filterFields?: readonly string[];\n };\n\nexport type TableDeprecation = {\n since: string;\n reason: string;\n replacement?: string;\n};\n\nexport type TableContract<S extends ZodRawShape = ZodRawShape> = {\n name: string;\n component: TableComponent;\n category: string;\n shape: ZodObject<S>;\n indices: readonly TableIndex[];\n deprecated?: TableDeprecation;\n invariants?: readonly string[];\n};\n\nexport function defineTable<S extends ZodRawShape>(\n spec: TableContract<S>\n): TableContract<S> {\n return spec;\n}\n","import { z } from \"zod\";\n\nexport const CONVEX_ID_TABLE = Symbol.for(\"lucern.contracts.convexIdTable\");\n\nexport type ConvexIdSchema<T extends string> = z.ZodBranded<\n z.ZodString,\n `Id<${T}>`\n> & {\n readonly [CONVEX_ID_TABLE]: T;\n};\n\nexport function idOf<T extends string>(table: T): ConvexIdSchema<T> {\n const schema = z.string().brand<`Id<${T}>`>();\n Object.defineProperty(schema, CONVEX_ID_TABLE, {\n configurable: false,\n enumerable: false,\n value: table,\n writable: false,\n });\n return schema as ConvexIdSchema<T>;\n}\n\nexport function getConvexIdTable(schema: z.ZodTypeAny): string | undefined {\n return (schema as Partial<Record<typeof CONVEX_ID_TABLE, string>>)[\n CONVEX_ID_TABLE\n ];\n}\n","/**\n * Schema contracts for mc/workspace.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const workspaces = defineTable({\n name: \"workspaces\",\n component: \"mc\",\n category: \"workspace\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"key\": z.string(),\n \"slug\": z.string(),\n \"name\": z.string(),\n \"status\": z.enum([\"active\", \"archived\"]),\n \"defaultProjectVisibility\": z.enum([\"private\", \"team\", \"firm\", \"external\", \"public\"]).optional(),\n \"deployments\": z.record(z.object({\n \"url\": z.string(),\n \"target\": z.enum([\"kernelDeployment\", \"appDeployment\"]).optional(),\n \"encryptedDeployKey\": z.string().optional(),\n \"credentialRef\": z.string().optional()\n })).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenantId_key\", columns: [\"tenantId\", \"key\"] },\n { kind: 'index', name: \"by_tenantId_slug\", columns: [\"tenantId\", \"slug\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n"]}
@@ -202,7 +202,7 @@ type WorktreeResult = {
202
202
  };
203
203
  /** Input to merge() */
204
204
  type MergeInput = {
205
- outcomes: Array<{
205
+ outcomes: Array<string | {
206
206
  beliefId: string;
207
207
  confidence: number;
208
208
  rationale: string;
@@ -1,4 +1,4 @@
1
- import { M as McpToolContract } from './tool-contracts-C92-9ueT.js';
1
+ import { M as McpToolContract } from './tool-contracts-BcKz-VGj.js';
2
2
 
3
3
  /**
4
4
  * SDK-Only Tool Contract Definitions
@@ -1,2 +1,2 @@
1
- import './tool-contracts-C92-9ueT.js';
2
- export { b as ADD_NOTE_TO_WORKTREE, x as ADD_RESEARCH_ACTION, A as ADVANCE_WORKTREE_PHASE, P as ALL_SDK_TOOL_CONTRACTS, V as ALL_SDK_TOOL_NAMES, n as ANALYZE_BELIEF_CLUSTER_CANDIDATES, m as ANALYZE_BELIEF_CRITICALITY, q as ANALYZE_REASONING_DEPTH, g as COMPLETE_EVIDENCE_REVIEW, f as COMPLETE_HYPOTHESIS_FORMATION, o as CREATE_BELIEF_CONDITIONAL, t as CREATE_EVIDENCE_TASK, C as CREATE_SYNTHESIZED_BELIEF, I as DETECT_ANCHORING_BIAS, J as DETECT_SOURCE_CONCENTRATION, E as EXPLORE_CONNECTIONS, M as FIND_SEMANTIC_BRIDGES, N as FIND_SEMANTIC_ORPHANS, K as FIND_SOFT_CONTRADICTIONS, H as GET_BELIEFS_BY_EPISTEMIC_STATUS, G as GET_BELIEF_RELATIONSHIPS, h as GET_BELIEF_SUPPORT_CHAIN, D as GET_CAUSAL_CHAINS, B as GET_CHALLENGED_BELIEFS, k as GET_COLLECTION_CONVICTION, l as GET_CONVICTION_TREND, i as GET_DEEP_LINEAGE, r as GET_EVIDENCE_BY_METHODOLOGY, p as GET_NECESSARY_EVIDENCE, F as GET_NON_CONSENSUS_BELIEFS, y as GET_PREDICTIONS, z as GET_SURPRISE_DETECTION, w as GET_TASK_COUNTS, j as GRAPH_AWARE_SEARCH, e as LINK_BELIEF_TO_WORKTREE, L as LINK_DOCUMENT_TO_WORKTREE, c as LINK_EVIDENCE_TO_WORKTREE, d as LINK_QUESTION_TO_WORKTREE, u as LIST_TASKS, R as REFINE_WORKTREE_BELIEF, O as SDK_ONLY_TOOL_CONTRACTS, Q as SDK_ONLY_TOOL_NAMES, a as START_WORKTREE, S as SdkToolContract, T as TRACE_PROVENANCE, v as UPDATE_TASK, U as UPDATE_WORKTREE_PHASE, W as validateSdkGitSemantics } from './sdk-tools.contract-S4ia0TTo.js';
1
+ import './tool-contracts-BcKz-VGj.js';
2
+ export { b as ADD_NOTE_TO_WORKTREE, x as ADD_RESEARCH_ACTION, A as ADVANCE_WORKTREE_PHASE, P as ALL_SDK_TOOL_CONTRACTS, V as ALL_SDK_TOOL_NAMES, n as ANALYZE_BELIEF_CLUSTER_CANDIDATES, m as ANALYZE_BELIEF_CRITICALITY, q as ANALYZE_REASONING_DEPTH, g as COMPLETE_EVIDENCE_REVIEW, f as COMPLETE_HYPOTHESIS_FORMATION, o as CREATE_BELIEF_CONDITIONAL, t as CREATE_EVIDENCE_TASK, C as CREATE_SYNTHESIZED_BELIEF, I as DETECT_ANCHORING_BIAS, J as DETECT_SOURCE_CONCENTRATION, E as EXPLORE_CONNECTIONS, M as FIND_SEMANTIC_BRIDGES, N as FIND_SEMANTIC_ORPHANS, K as FIND_SOFT_CONTRADICTIONS, H as GET_BELIEFS_BY_EPISTEMIC_STATUS, G as GET_BELIEF_RELATIONSHIPS, h as GET_BELIEF_SUPPORT_CHAIN, D as GET_CAUSAL_CHAINS, B as GET_CHALLENGED_BELIEFS, k as GET_COLLECTION_CONVICTION, l as GET_CONVICTION_TREND, i as GET_DEEP_LINEAGE, r as GET_EVIDENCE_BY_METHODOLOGY, p as GET_NECESSARY_EVIDENCE, F as GET_NON_CONSENSUS_BELIEFS, y as GET_PREDICTIONS, z as GET_SURPRISE_DETECTION, w as GET_TASK_COUNTS, j as GRAPH_AWARE_SEARCH, e as LINK_BELIEF_TO_WORKTREE, L as LINK_DOCUMENT_TO_WORKTREE, c as LINK_EVIDENCE_TO_WORKTREE, d as LINK_QUESTION_TO_WORKTREE, u as LIST_TASKS, R as REFINE_WORKTREE_BELIEF, O as SDK_ONLY_TOOL_CONTRACTS, Q as SDK_ONLY_TOOL_NAMES, a as START_WORKTREE, S as SdkToolContract, T as TRACE_PROVENANCE, v as UPDATE_TASK, U as UPDATE_WORKTREE_PHASE, W as validateSdkGitSemantics } from './sdk-tools.contract-CD-N1Jf7.js';
@@ -418,6 +418,14 @@ var ADD_WORKTREE = {
418
418
  description: "Check out a branch into an active worktree for investigation. Like `git worktree add <branch>` \u2014 creates independent working state on a thematic branch. Beliefs committed within the worktree can be freely amended (draft code on a feature branch). When investigation is complete, `merge` integrates findings into main.",
419
419
  parameters: {
420
420
  title: { type: "string", description: "Worktree name/objective" },
421
+ name: {
422
+ type: "string",
423
+ description: "Optional storage-name alias for callers that already use backend naming"
424
+ },
425
+ projectId: {
426
+ type: "string",
427
+ description: "Legacy topicId alias"
428
+ },
421
429
  topicId: { type: "string", description: "Optional topic scope hint" },
422
430
  branchId: {
423
431
  type: "string",
@@ -431,14 +439,87 @@ var ADD_WORKTREE = {
431
439
  type: "string",
432
440
  description: "The testable claim this worktree investigates"
433
441
  },
442
+ rationale: {
443
+ type: "string",
444
+ description: "Why this worktree exists and why it belongs in the campaign"
445
+ },
446
+ worktreeType: {
447
+ type: "string",
448
+ description: "Schema-enum worktree type used by the kernel lifecycle and retrieval layers"
449
+ },
450
+ gate: {
451
+ type: "string",
452
+ description: "Exit gate name for this worktree"
453
+ },
454
+ startDate: {
455
+ type: "number",
456
+ description: "Planned start timestamp in milliseconds since epoch"
457
+ },
458
+ endDate: {
459
+ type: "number",
460
+ description: "Planned end timestamp in milliseconds since epoch"
461
+ },
462
+ durationWeeks: {
463
+ type: "number",
464
+ description: "Planned duration in weeks"
465
+ },
466
+ confidenceImpact: {
467
+ type: "string",
468
+ description: "Expected confidence impact if the worktree succeeds",
469
+ enum: ["high", "medium", "low"]
470
+ },
471
+ beliefFocus: {
472
+ type: "string",
473
+ description: "Natural-language focus spanning the target belief neighborhood"
474
+ },
434
475
  beliefIds: {
435
476
  type: "array",
436
- description: "Beliefs to test in this worktree"
477
+ description: "Legacy alias for targetBeliefIds"
478
+ },
479
+ beliefs: {
480
+ type: "array",
481
+ description: "Legacy alias for targetBeliefIds"
482
+ },
483
+ targetBeliefIds: {
484
+ type: "array",
485
+ description: "Belief node IDs this worktree is expected to test or update"
486
+ },
487
+ targetQuestionIds: {
488
+ type: "array",
489
+ description: "Question node IDs this worktree is expected to answer"
490
+ },
491
+ keyQuestions: {
492
+ type: "array",
493
+ description: "Inline key question objects with question, optional status, answer, answerConfidence, and linkedQuestionId"
494
+ },
495
+ evidenceSignals: {
496
+ type: "array",
497
+ description: "Evidence signal objects with signal, optional collected state, progress, and notes"
498
+ },
499
+ decisionGate: {
500
+ type: "object",
501
+ description: "Decision gate object with goCriteria, noGoSignals, optional verdict, rationale, decidedAt, and decidedBy"
502
+ },
503
+ goCriteria: {
504
+ type: "array",
505
+ description: "Shorthand go criteria used to build decisionGate"
506
+ },
507
+ noGoSignals: {
508
+ type: "array",
509
+ description: "Shorthand no-go signals used to build decisionGate"
510
+ },
511
+ proofArtifacts: {
512
+ type: "array",
513
+ description: "Expected proof artifacts required to close the worktree"
437
514
  },
438
515
  autoShape: {
439
516
  type: "boolean",
440
517
  description: "Whether to invoke inquiry auto-shaping during worktree creation"
441
518
  },
519
+ autoFixPolicy: {
520
+ type: "object",
521
+ description: "Policy for permitted automatic remediation inside the worktree"
522
+ },
442
523
  domainPackId: {
443
524
  type: "string",
444
525
  description: "Optional domain pack whose shaping hooks should influence generated questions and tasks"
@@ -467,9 +548,17 @@ var ADD_WORKTREE = {
467
548
  type: "array",
468
549
  description: "Worktree IDs blocked by this worktree"
469
550
  },
470
- gate: {
551
+ staffingHint: {
471
552
  type: "string",
472
- description: "Exit gate name for this worktree"
553
+ description: "Suggested staffing or agent allocation note"
554
+ },
555
+ lensId: {
556
+ type: "string",
557
+ description: "Lens that scopes this worktree when applicable"
558
+ },
559
+ lastReconciledAt: {
560
+ type: "number",
561
+ description: "Timestamp when worktree metadata was last reconciled"
473
562
  }
474
563
  },
475
564
  required: ["title", "topicId"],
@@ -499,7 +588,7 @@ var MERGE = {
499
588
  worktreeId: { type: "string", description: "The worktree to merge" },
500
589
  outcomes: {
501
590
  type: "array",
502
- description: "Scoring outcomes for each belief: { beliefId, confidence, rationale }"
591
+ description: "Merge outcomes as key-finding strings, or scoring outcomes for beliefs: { beliefId, confidence, rationale }"
503
592
  },
504
593
  summary: { type: "string", description: "Overall findings summary" }
505
594
  },
@@ -3518,6 +3607,69 @@ var GENERATE_SESSION_HANDOFF = {
3518
3607
  tier: "showcase",
3519
3608
  internal: true
3520
3609
  };
3610
+ var BEGIN_BUILD_SESSION = {
3611
+ name: "begin_build_session",
3612
+ description: "Bootstrap a coding build session for a Lucern worktree. Like `git worktree add` plus `git status` \u2014 returns the compact context packet an agent needs before editing.",
3613
+ parameters: {
3614
+ worktreeId: {
3615
+ type: "string",
3616
+ description: "The Lucern worktree ID to bootstrap."
3617
+ },
3618
+ branch: {
3619
+ type: "string",
3620
+ description: "Optional git branch name. Auto-generated from the worktree name when omitted."
3621
+ },
3622
+ branchBase: {
3623
+ type: "string",
3624
+ description: 'Base branch for the feature branch. Default: "staging".'
3625
+ },
3626
+ prBase: {
3627
+ type: "string",
3628
+ description: 'Target branch for the PR. Default: "staging".'
3629
+ },
3630
+ sessionMode: {
3631
+ type: "string",
3632
+ description: 'Session mode: "async" for Codex/headless or "interactive" for live sessions.',
3633
+ enum: ["async", "interactive"]
3634
+ },
3635
+ activateIfPlanning: {
3636
+ type: "boolean",
3637
+ description: "When true, automatically activate a planning worktree during bootstrap."
3638
+ }
3639
+ },
3640
+ required: ["worktreeId"],
3641
+ response: {
3642
+ description: "A compact build-session packet with worktree metadata, graph anchors, questions, dependencies, and git defaults.",
3643
+ fields: {
3644
+ topicId: "string \u2014 canonical topic scope",
3645
+ topicName: "string \u2014 human-readable topic name",
3646
+ worktreeId: "string \u2014 worktree ID",
3647
+ worktreeName: "string \u2014 human-readable worktree name",
3648
+ branch: "string \u2014 git branch name",
3649
+ branchBase: "string \u2014 base branch",
3650
+ prBase: "string \u2014 PR target branch",
3651
+ campaign: "number | null \u2014 top-level pipeline campaign",
3652
+ lane: "string \u2014 campaign lane",
3653
+ gate: "string \u2014 exit gate",
3654
+ hypothesis: "string \u2014 worktree hypothesis",
3655
+ focus: "string \u2014 session focus",
3656
+ status: "string \u2014 worktree status after optional activation",
3657
+ sessionMode: "string \u2014 async | interactive",
3658
+ targetBeliefIds: "array \u2014 scoped belief IDs",
3659
+ targetQuestionIds: "array \u2014 scoped question IDs",
3660
+ topBeliefs: "array \u2014 highest-confidence scoped beliefs",
3661
+ openQuestions: "array \u2014 open scoped questions",
3662
+ resolvedDecisions: "array \u2014 answered questions summarized for the session",
3663
+ dependencies: "array \u2014 upstream worktrees",
3664
+ unblocks: "array \u2014 downstream worktrees",
3665
+ mergeOrderNotes: "string \u2014 merge ordering advisory"
3666
+ }
3667
+ },
3668
+ ownerModule: "bootstrap",
3669
+ ontologyPrimitive: "worktree",
3670
+ tier: "showcase",
3671
+ internal: true
3672
+ };
3521
3673
  var MCP_TOOL_CONTRACTS = {
3522
3674
  // Belief lifecycle (commit, amend, fork, archive)
3523
3675
  create_belief: CREATE_BELIEF,
@@ -3611,6 +3763,7 @@ var MCP_TOOL_CONTRACTS = {
3611
3763
  get_agent_inbox: GET_AGENT_INBOX,
3612
3764
  claim_files: CLAIM_FILES,
3613
3765
  generate_session_handoff: GENERATE_SESSION_HANDOFF,
3766
+ begin_build_session: BEGIN_BUILD_SESSION,
3614
3767
  // Policy / ACL (workhorse)
3615
3768
  check_permission: CHECK_PERMISSION,
3616
3769
  filter_by_permission: FILTER_BY_PERMISSION,