@lucern/contracts 0.3.0-alpha.3 → 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 (110) hide show
  1. package/dist/component-host-boundary.contract.d.ts +41 -0
  2. package/dist/component-host-boundary.contract.js +54 -0
  3. package/dist/component-host-boundary.contract.js.map +1 -0
  4. package/dist/function-registry/beliefs.d.ts +41 -41
  5. package/dist/function-registry/beliefs.js +202 -8
  6. package/dist/function-registry/beliefs.js.map +1 -1
  7. package/dist/function-registry/coding.js +187 -8
  8. package/dist/function-registry/coding.js.map +1 -1
  9. package/dist/function-registry/context.d.ts +13 -13
  10. package/dist/function-registry/context.js +187 -9
  11. package/dist/function-registry/context.js.map +1 -1
  12. package/dist/function-registry/contracts.js +158 -5
  13. package/dist/function-registry/contracts.js.map +1 -1
  14. package/dist/function-registry/coordination.js +158 -5
  15. package/dist/function-registry/coordination.js.map +1 -1
  16. package/dist/function-registry/edges.js +169 -6
  17. package/dist/function-registry/edges.js.map +1 -1
  18. package/dist/function-registry/evidence.d.ts +33 -33
  19. package/dist/function-registry/evidence.js +202 -9
  20. package/dist/function-registry/evidence.js.map +1 -1
  21. package/dist/function-registry/graph.d.ts +53 -53
  22. package/dist/function-registry/graph.js +217 -12
  23. package/dist/function-registry/graph.js.map +1 -1
  24. package/dist/function-registry/helpers.d.ts +1 -1
  25. package/dist/function-registry/helpers.js +158 -5
  26. package/dist/function-registry/helpers.js.map +1 -1
  27. package/dist/function-registry/identity.js +158 -5
  28. package/dist/function-registry/identity.js.map +1 -1
  29. package/dist/function-registry/index.d.ts +1 -1
  30. package/dist/function-registry/index.js +158 -5
  31. package/dist/function-registry/index.js.map +1 -1
  32. package/dist/function-registry/judgments.d.ts +9 -9
  33. package/dist/function-registry/judgments.js +170 -8
  34. package/dist/function-registry/judgments.js.map +1 -1
  35. package/dist/function-registry/legacy.js +158 -5
  36. package/dist/function-registry/legacy.js.map +1 -1
  37. package/dist/function-registry/lenses.d.ts +17 -17
  38. package/dist/function-registry/lenses.js +181 -8
  39. package/dist/function-registry/lenses.js.map +1 -1
  40. package/dist/function-registry/manifest.d.ts +3 -3
  41. package/dist/function-registry/manifest.js +1 -1
  42. package/dist/function-registry/manifest.js.map +1 -1
  43. package/dist/function-registry/ontologies.d.ts +45 -45
  44. package/dist/function-registry/ontologies.js +176 -11
  45. package/dist/function-registry/ontologies.js.map +1 -1
  46. package/dist/function-registry/pipeline.d.ts +13 -13
  47. package/dist/function-registry/pipeline.js +167 -8
  48. package/dist/function-registry/pipeline.js.map +1 -1
  49. package/dist/function-registry/questions.d.ts +49 -49
  50. package/dist/function-registry/questions.js +255 -13
  51. package/dist/function-registry/questions.js.map +1 -1
  52. package/dist/function-registry/tasks.js +158 -5
  53. package/dist/function-registry/tasks.js.map +1 -1
  54. package/dist/function-registry/topics.d.ts +21 -21
  55. package/dist/function-registry/topics.js +172 -8
  56. package/dist/function-registry/topics.js.map +1 -1
  57. package/dist/function-registry/types.d.ts +1 -1
  58. package/dist/function-registry/worktrees.d.ts +80 -41
  59. package/dist/function-registry/worktrees.js +292 -17
  60. package/dist/function-registry/worktrees.js.map +1 -1
  61. package/dist/function-registry-input-audit.d.ts +13 -0
  62. package/dist/function-registry-input-audit.js +164 -0
  63. package/dist/function-registry-input-audit.js.map +1 -0
  64. package/dist/gateway.contract.d.ts +1 -0
  65. package/dist/gateway.contract.js.map +1 -1
  66. package/dist/generated/convexSchemas.js +1 -1
  67. package/dist/generated/convexSchemas.js.map +1 -1
  68. package/dist/index.d.ts +188 -35
  69. package/dist/index.js +1370 -17
  70. package/dist/index.js.map +1 -1
  71. package/dist/infisical-runtime.contract.d.ts +174 -0
  72. package/dist/infisical-runtime.contract.js +192 -0
  73. package/dist/infisical-runtime.contract.js.map +1 -0
  74. package/dist/schemas/index.js +3 -1
  75. package/dist/schemas/index.js.map +1 -1
  76. package/dist/schemas/manifest.d.ts +935 -905
  77. package/dist/schemas/manifest.js +3 -1
  78. package/dist/schemas/manifest.js.map +1 -1
  79. package/dist/schemas/sl-opinion.d.ts +4 -4
  80. package/dist/schemas/tables/identity/platform.d.ts +10 -10
  81. package/dist/schemas/tables/kernel/epistemic.d.ts +6 -6
  82. package/dist/schemas/tables/kernel/infra.d.ts +4 -4
  83. package/dist/schemas/tables/kernel/intelligence.d.ts +10 -10
  84. package/dist/schemas/tables/kernel/lens.d.ts +4 -4
  85. package/dist/schemas/tables/kernel/platform.d.ts +12 -12
  86. package/dist/schemas/tables/kernel/spine.d.ts +2 -2
  87. package/dist/schemas/tables/kernel/task.d.ts +42 -42
  88. package/dist/schemas/tables/kernel/worktree.d.ts +62 -62
  89. package/dist/schemas/tables/mc/identity.d.ts +2 -2
  90. package/dist/schemas/tables/mc/pack.d.ts +20 -20
  91. package/dist/schemas/tables/mc/registry.d.ts +4 -4
  92. package/dist/schemas/tables/mc/workspace.d.ts +9 -3
  93. package/dist/schemas/tables/mc/workspace.js +3 -1
  94. package/dist/schemas/tables/mc/workspace.js.map +1 -1
  95. package/dist/sdk-methods.contract.d.ts +1 -1
  96. package/dist/{sdk-tools.contract-S4ia0TTo.d.ts → sdk-tools.contract-CD-N1Jf7.d.ts} +1 -1
  97. package/dist/sdk-tools.contract.d.ts +2 -2
  98. package/dist/sdk-tools.contract.js +157 -4
  99. package/dist/sdk-tools.contract.js.map +1 -1
  100. package/dist/tenant-bootstrap-seed.contract.d.ts +1097 -0
  101. package/dist/tenant-bootstrap-seed.contract.js +651 -0
  102. package/dist/tenant-bootstrap-seed.contract.js.map +1 -0
  103. package/dist/tenant-bootstrap-seed.defaults.d.ts +16 -0
  104. package/dist/tenant-bootstrap-seed.defaults.js +303 -0
  105. package/dist/tenant-bootstrap-seed.defaults.js.map +1 -0
  106. package/dist/{tool-contracts-C92-9ueT.d.ts → tool-contracts-BcKz-VGj.d.ts} +4 -2
  107. package/dist/tool-contracts.d.ts +1 -1
  108. package/dist/tool-contracts.js +158 -5
  109. package/dist/tool-contracts.js.map +1 -1
  110. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import * as zod from 'zod';
1
+ import { z } from 'zod';
2
2
 
3
3
  /**
4
4
  * MCP Tool Contract Definitions
@@ -115,10 +115,10 @@ declare const questionsContracts: readonly [{
115
115
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
116
116
  };
117
117
  convex: FunctionConvexTarget | undefined;
118
- args: zod.ZodTypeAny;
119
- returns: zod.ZodTypeAny;
120
- input: zod.ZodTypeAny;
121
- output: zod.ZodTypeAny;
118
+ args: z.ZodTypeAny;
119
+ returns: z.ZodTypeAny;
120
+ input: z.ZodTypeAny;
121
+ output: z.ZodTypeAny;
122
122
  openapi: {
123
123
  summary: string;
124
124
  tags: string[];
@@ -154,10 +154,10 @@ declare const questionsContracts: readonly [{
154
154
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
155
155
  };
156
156
  convex: FunctionConvexTarget | undefined;
157
- args: zod.ZodTypeAny;
158
- returns: zod.ZodTypeAny;
159
- input: zod.ZodTypeAny;
160
- output: zod.ZodTypeAny;
157
+ args: z.ZodTypeAny;
158
+ returns: z.ZodTypeAny;
159
+ input: z.ZodTypeAny;
160
+ output: z.ZodTypeAny;
161
161
  openapi: {
162
162
  summary: string;
163
163
  tags: string[];
@@ -193,10 +193,10 @@ declare const questionsContracts: readonly [{
193
193
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
194
194
  };
195
195
  convex: FunctionConvexTarget | undefined;
196
- args: zod.ZodTypeAny;
197
- returns: zod.ZodTypeAny;
198
- input: zod.ZodTypeAny;
199
- output: zod.ZodTypeAny;
196
+ args: z.ZodTypeAny;
197
+ returns: z.ZodTypeAny;
198
+ input: z.ZodTypeAny;
199
+ output: z.ZodTypeAny;
200
200
  openapi: {
201
201
  summary: string;
202
202
  tags: string[];
@@ -232,10 +232,10 @@ declare const questionsContracts: readonly [{
232
232
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
233
233
  };
234
234
  convex: FunctionConvexTarget | undefined;
235
- args: zod.ZodTypeAny;
236
- returns: zod.ZodTypeAny;
237
- input: zod.ZodTypeAny;
238
- output: zod.ZodTypeAny;
235
+ args: z.ZodTypeAny;
236
+ returns: z.ZodTypeAny;
237
+ input: z.ZodTypeAny;
238
+ output: z.ZodTypeAny;
239
239
  openapi: {
240
240
  summary: string;
241
241
  tags: string[];
@@ -271,10 +271,10 @@ declare const questionsContracts: readonly [{
271
271
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
272
272
  };
273
273
  convex: FunctionConvexTarget | undefined;
274
- args: zod.ZodTypeAny;
275
- returns: zod.ZodTypeAny;
276
- input: zod.ZodTypeAny;
277
- output: zod.ZodTypeAny;
274
+ args: z.ZodTypeAny;
275
+ returns: z.ZodTypeAny;
276
+ input: z.ZodTypeAny;
277
+ output: z.ZodTypeAny;
278
278
  openapi: {
279
279
  summary: string;
280
280
  tags: string[];
@@ -310,10 +310,10 @@ declare const questionsContracts: readonly [{
310
310
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
311
311
  };
312
312
  convex: FunctionConvexTarget | undefined;
313
- args: zod.ZodTypeAny;
314
- returns: zod.ZodTypeAny;
315
- input: zod.ZodTypeAny;
316
- output: zod.ZodTypeAny;
313
+ args: z.ZodTypeAny;
314
+ returns: z.ZodTypeAny;
315
+ input: z.ZodTypeAny;
316
+ output: z.ZodTypeAny;
317
317
  openapi: {
318
318
  summary: string;
319
319
  tags: string[];
@@ -349,10 +349,10 @@ declare const questionsContracts: readonly [{
349
349
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
350
350
  };
351
351
  convex: FunctionConvexTarget | undefined;
352
- args: zod.ZodTypeAny;
353
- returns: zod.ZodTypeAny;
354
- input: zod.ZodTypeAny;
355
- output: zod.ZodTypeAny;
352
+ args: z.ZodTypeAny;
353
+ returns: z.ZodTypeAny;
354
+ input: z.ZodTypeAny;
355
+ output: z.ZodTypeAny;
356
356
  openapi: {
357
357
  summary: string;
358
358
  tags: string[];
@@ -388,10 +388,10 @@ declare const questionsContracts: readonly [{
388
388
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
389
389
  };
390
390
  convex: FunctionConvexTarget | undefined;
391
- args: zod.ZodTypeAny;
392
- returns: zod.ZodTypeAny;
393
- input: zod.ZodTypeAny;
394
- output: zod.ZodTypeAny;
391
+ args: z.ZodTypeAny;
392
+ returns: z.ZodTypeAny;
393
+ input: z.ZodTypeAny;
394
+ output: z.ZodTypeAny;
395
395
  openapi: {
396
396
  summary: string;
397
397
  tags: string[];
@@ -427,10 +427,10 @@ declare const questionsContracts: readonly [{
427
427
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
428
428
  };
429
429
  convex: FunctionConvexTarget | undefined;
430
- args: zod.ZodTypeAny;
431
- returns: zod.ZodTypeAny;
432
- input: zod.ZodTypeAny;
433
- output: zod.ZodTypeAny;
430
+ args: z.ZodTypeAny;
431
+ returns: z.ZodTypeAny;
432
+ input: z.ZodTypeAny;
433
+ output: z.ZodTypeAny;
434
434
  openapi: {
435
435
  summary: string;
436
436
  tags: string[];
@@ -466,10 +466,10 @@ declare const questionsContracts: readonly [{
466
466
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
467
467
  };
468
468
  convex: FunctionConvexTarget | undefined;
469
- args: zod.ZodTypeAny;
470
- returns: zod.ZodTypeAny;
471
- input: zod.ZodTypeAny;
472
- output: zod.ZodTypeAny;
469
+ args: z.ZodTypeAny;
470
+ returns: z.ZodTypeAny;
471
+ input: z.ZodTypeAny;
472
+ output: z.ZodTypeAny;
473
473
  openapi: {
474
474
  summary: string;
475
475
  tags: string[];
@@ -505,10 +505,10 @@ declare const questionsContracts: readonly [{
505
505
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
506
506
  };
507
507
  convex: FunctionConvexTarget | undefined;
508
- args: zod.ZodTypeAny;
509
- returns: zod.ZodTypeAny;
510
- input: zod.ZodTypeAny;
511
- output: zod.ZodTypeAny;
508
+ args: z.ZodTypeAny;
509
+ returns: z.ZodTypeAny;
510
+ input: z.ZodTypeAny;
511
+ output: z.ZodTypeAny;
512
512
  openapi: {
513
513
  summary: string;
514
514
  tags: string[];
@@ -544,10 +544,10 @@ declare const questionsContracts: readonly [{
544
544
  allowedPrincipalTypes: ("user" | "service" | "agent")[];
545
545
  };
546
546
  convex: FunctionConvexTarget | undefined;
547
- args: zod.ZodTypeAny;
548
- returns: zod.ZodTypeAny;
549
- input: zod.ZodTypeAny;
550
- output: zod.ZodTypeAny;
547
+ args: z.ZodTypeAny;
548
+ returns: z.ZodTypeAny;
549
+ input: z.ZodTypeAny;
550
+ output: z.ZodTypeAny;
551
551
  openapi: {
552
552
  summary: string;
553
553
  tags: string[];
@@ -422,6 +422,14 @@ var ADD_WORKTREE = {
422
422
  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.",
423
423
  parameters: {
424
424
  title: { type: "string", description: "Worktree name/objective" },
425
+ name: {
426
+ type: "string",
427
+ description: "Optional storage-name alias for callers that already use backend naming"
428
+ },
429
+ projectId: {
430
+ type: "string",
431
+ description: "Legacy topicId alias"
432
+ },
425
433
  topicId: { type: "string", description: "Optional topic scope hint" },
426
434
  branchId: {
427
435
  type: "string",
@@ -435,14 +443,87 @@ var ADD_WORKTREE = {
435
443
  type: "string",
436
444
  description: "The testable claim this worktree investigates"
437
445
  },
446
+ rationale: {
447
+ type: "string",
448
+ description: "Why this worktree exists and why it belongs in the campaign"
449
+ },
450
+ worktreeType: {
451
+ type: "string",
452
+ description: "Schema-enum worktree type used by the kernel lifecycle and retrieval layers"
453
+ },
454
+ gate: {
455
+ type: "string",
456
+ description: "Exit gate name for this worktree"
457
+ },
458
+ startDate: {
459
+ type: "number",
460
+ description: "Planned start timestamp in milliseconds since epoch"
461
+ },
462
+ endDate: {
463
+ type: "number",
464
+ description: "Planned end timestamp in milliseconds since epoch"
465
+ },
466
+ durationWeeks: {
467
+ type: "number",
468
+ description: "Planned duration in weeks"
469
+ },
470
+ confidenceImpact: {
471
+ type: "string",
472
+ description: "Expected confidence impact if the worktree succeeds",
473
+ enum: ["high", "medium", "low"]
474
+ },
475
+ beliefFocus: {
476
+ type: "string",
477
+ description: "Natural-language focus spanning the target belief neighborhood"
478
+ },
438
479
  beliefIds: {
439
480
  type: "array",
440
- description: "Beliefs to test in this worktree"
481
+ description: "Legacy alias for targetBeliefIds"
482
+ },
483
+ beliefs: {
484
+ type: "array",
485
+ description: "Legacy alias for targetBeliefIds"
486
+ },
487
+ targetBeliefIds: {
488
+ type: "array",
489
+ description: "Belief node IDs this worktree is expected to test or update"
490
+ },
491
+ targetQuestionIds: {
492
+ type: "array",
493
+ description: "Question node IDs this worktree is expected to answer"
494
+ },
495
+ keyQuestions: {
496
+ type: "array",
497
+ description: "Inline key question objects with question, optional status, answer, answerConfidence, and linkedQuestionId"
498
+ },
499
+ evidenceSignals: {
500
+ type: "array",
501
+ description: "Evidence signal objects with signal, optional collected state, progress, and notes"
502
+ },
503
+ decisionGate: {
504
+ type: "object",
505
+ description: "Decision gate object with goCriteria, noGoSignals, optional verdict, rationale, decidedAt, and decidedBy"
506
+ },
507
+ goCriteria: {
508
+ type: "array",
509
+ description: "Shorthand go criteria used to build decisionGate"
510
+ },
511
+ noGoSignals: {
512
+ type: "array",
513
+ description: "Shorthand no-go signals used to build decisionGate"
514
+ },
515
+ proofArtifacts: {
516
+ type: "array",
517
+ description: "Expected proof artifacts required to close the worktree"
441
518
  },
442
519
  autoShape: {
443
520
  type: "boolean",
444
521
  description: "Whether to invoke inquiry auto-shaping during worktree creation"
445
522
  },
523
+ autoFixPolicy: {
524
+ type: "object",
525
+ description: "Policy for permitted automatic remediation inside the worktree"
526
+ },
446
527
  domainPackId: {
447
528
  type: "string",
448
529
  description: "Optional domain pack whose shaping hooks should influence generated questions and tasks"
@@ -471,9 +552,17 @@ var ADD_WORKTREE = {
471
552
  type: "array",
472
553
  description: "Worktree IDs blocked by this worktree"
473
554
  },
474
- gate: {
555
+ staffingHint: {
475
556
  type: "string",
476
- description: "Exit gate name for this worktree"
557
+ description: "Suggested staffing or agent allocation note"
558
+ },
559
+ lensId: {
560
+ type: "string",
561
+ description: "Lens that scopes this worktree when applicable"
562
+ },
563
+ lastReconciledAt: {
564
+ type: "number",
565
+ description: "Timestamp when worktree metadata was last reconciled"
477
566
  }
478
567
  },
479
568
  required: ["title", "topicId"],
@@ -503,7 +592,7 @@ var MERGE = {
503
592
  worktreeId: { type: "string", description: "The worktree to merge" },
504
593
  outcomes: {
505
594
  type: "array",
506
- description: "Scoring outcomes for each belief: { beliefId, confidence, rationale }"
595
+ description: "Merge outcomes as key-finding strings, or scoring outcomes for beliefs: { beliefId, confidence, rationale }"
507
596
  },
508
597
  summary: { type: "string", description: "Overall findings summary" }
509
598
  },
@@ -3522,6 +3611,69 @@ var GENERATE_SESSION_HANDOFF = {
3522
3611
  tier: "showcase",
3523
3612
  internal: true
3524
3613
  };
3614
+ var BEGIN_BUILD_SESSION = {
3615
+ name: "begin_build_session",
3616
+ 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.",
3617
+ parameters: {
3618
+ worktreeId: {
3619
+ type: "string",
3620
+ description: "The Lucern worktree ID to bootstrap."
3621
+ },
3622
+ branch: {
3623
+ type: "string",
3624
+ description: "Optional git branch name. Auto-generated from the worktree name when omitted."
3625
+ },
3626
+ branchBase: {
3627
+ type: "string",
3628
+ description: 'Base branch for the feature branch. Default: "staging".'
3629
+ },
3630
+ prBase: {
3631
+ type: "string",
3632
+ description: 'Target branch for the PR. Default: "staging".'
3633
+ },
3634
+ sessionMode: {
3635
+ type: "string",
3636
+ description: 'Session mode: "async" for Codex/headless or "interactive" for live sessions.',
3637
+ enum: ["async", "interactive"]
3638
+ },
3639
+ activateIfPlanning: {
3640
+ type: "boolean",
3641
+ description: "When true, automatically activate a planning worktree during bootstrap."
3642
+ }
3643
+ },
3644
+ required: ["worktreeId"],
3645
+ response: {
3646
+ description: "A compact build-session packet with worktree metadata, graph anchors, questions, dependencies, and git defaults.",
3647
+ fields: {
3648
+ topicId: "string \u2014 canonical topic scope",
3649
+ topicName: "string \u2014 human-readable topic name",
3650
+ worktreeId: "string \u2014 worktree ID",
3651
+ worktreeName: "string \u2014 human-readable worktree name",
3652
+ branch: "string \u2014 git branch name",
3653
+ branchBase: "string \u2014 base branch",
3654
+ prBase: "string \u2014 PR target branch",
3655
+ campaign: "number | null \u2014 top-level pipeline campaign",
3656
+ lane: "string \u2014 campaign lane",
3657
+ gate: "string \u2014 exit gate",
3658
+ hypothesis: "string \u2014 worktree hypothesis",
3659
+ focus: "string \u2014 session focus",
3660
+ status: "string \u2014 worktree status after optional activation",
3661
+ sessionMode: "string \u2014 async | interactive",
3662
+ targetBeliefIds: "array \u2014 scoped belief IDs",
3663
+ targetQuestionIds: "array \u2014 scoped question IDs",
3664
+ topBeliefs: "array \u2014 highest-confidence scoped beliefs",
3665
+ openQuestions: "array \u2014 open scoped questions",
3666
+ resolvedDecisions: "array \u2014 answered questions summarized for the session",
3667
+ dependencies: "array \u2014 upstream worktrees",
3668
+ unblocks: "array \u2014 downstream worktrees",
3669
+ mergeOrderNotes: "string \u2014 merge ordering advisory"
3670
+ }
3671
+ },
3672
+ ownerModule: "bootstrap",
3673
+ ontologyPrimitive: "worktree",
3674
+ tier: "showcase",
3675
+ internal: true
3676
+ };
3525
3677
  var MCP_TOOL_CONTRACTS = {
3526
3678
  // Belief lifecycle (commit, amend, fork, archive)
3527
3679
  create_belief: CREATE_BELIEF,
@@ -3615,6 +3767,7 @@ var MCP_TOOL_CONTRACTS = {
3615
3767
  get_agent_inbox: GET_AGENT_INBOX,
3616
3768
  claim_files: CLAIM_FILES,
3617
3769
  generate_session_handoff: GENERATE_SESSION_HANDOFF,
3770
+ begin_build_session: BEGIN_BUILD_SESSION,
3618
3771
  // Policy / ACL (workhorse)
3619
3772
  check_permission: CHECK_PERMISSION,
3620
3773
  filter_by_permission: FILTER_BY_PERMISSION,
@@ -3828,6 +3981,7 @@ var PLATFORM_INTERNAL_OPERATION_NAMES = [
3828
3981
  "get_change_history",
3829
3982
  "get_failure_log",
3830
3983
  "record_attempt",
3984
+ "begin_build_session",
3831
3985
  "push",
3832
3986
  "open_pull_request",
3833
3987
  "record_judgment",
@@ -3882,7 +4036,6 @@ var SDK_ONLY_OPERATION_NAMES = [
3882
4036
  "find_semantic_orphans"
3883
4037
  ];
3884
4038
  var MCP_ONLY_INTERNAL_OPERATION_NAMES = [
3885
- "begin_build_session",
3886
4039
  "evaluate_engineering_contract",
3887
4040
  "evaluate_research_contract"
3888
4041
  ];
@@ -4243,8 +4396,91 @@ function surfaceContract(args) {
4243
4396
  }
4244
4397
  });
4245
4398
  }
4246
-
4247
- // src/function-registry/questions.ts
4399
+ var jsonRecordSchema = z.record(z.unknown());
4400
+ var questionPrioritySchema = z.enum(["urgent", "high", "medium", "low"]);
4401
+ var kernelQuestionPrioritySchema = z.enum([
4402
+ "critical",
4403
+ "high",
4404
+ "medium",
4405
+ "low"
4406
+ ]);
4407
+ var questionTypeSchema = z.enum([
4408
+ "validation",
4409
+ "falsification",
4410
+ "assumption_probe",
4411
+ "prediction_test",
4412
+ "counterfactual",
4413
+ "discovery",
4414
+ "clarification",
4415
+ "comparison",
4416
+ "causal",
4417
+ "mechanism",
4418
+ "general"
4419
+ ]);
4420
+ var createQuestionArgs = z.object({
4421
+ text: z.string().describe("The question text."),
4422
+ question: z.string().optional().describe("Backend question text alias for kernel-native callers."),
4423
+ topicId: z.string().optional().describe("Topic scope hint."),
4424
+ priority: questionPrioritySchema.optional().describe("Human-facing question priority."),
4425
+ linkedBeliefId: z.string().optional().describe("Belief this question tests."),
4426
+ linkedBeliefNodeId: z.string().optional().describe("Belief node this question tests."),
4427
+ metadata: jsonRecordSchema.optional().describe("Optional metadata merged into the question record."),
4428
+ category: z.string().optional().describe("Question category."),
4429
+ source: z.string().optional().describe("Question source."),
4430
+ testType: z.enum(["validates", "invalidates", "clarifies"]).optional().describe("How this question tests its linked belief."),
4431
+ importance: z.number().optional().describe("Numeric importance score."),
4432
+ epistemicUnlock: z.string().optional().describe("What this question unlocks if answered."),
4433
+ sourceQuestionIds: z.array(z.string()).optional().describe("Question IDs this question derives from."),
4434
+ linkedWorktreeId: z.string().optional().describe("Worktree this question belongs to."),
4435
+ questionType: questionTypeSchema.optional().describe("Question type."),
4436
+ questionPriority: kernelQuestionPrioritySchema.optional().describe("Kernel-native question priority.")
4437
+ });
4438
+ var refineQuestionArgs = z.object({
4439
+ id: z.string().describe("The question to refine."),
4440
+ text: z.string().describe("Updated question text."),
4441
+ question: z.string().optional().describe("Backend question text alias for kernel-native callers."),
4442
+ rationale: z.string().optional().describe("Why the question is refined."),
4443
+ category: z.string().optional().describe("Updated question category."),
4444
+ priority: questionPrioritySchema.optional().describe("Updated human-facing priority.")
4445
+ });
4446
+ var createAnswerArgs = z.object({
4447
+ questionNodeId: z.string().describe("The question node ID this answer responds to."),
4448
+ questionId: z.string().optional().describe("Question ID alias accepted by the projection."),
4449
+ answerText: z.string().describe("The answer content."),
4450
+ topicId: z.string().optional().describe("Topic scope for the answer."),
4451
+ confidence: z.string().optional().describe("Answer confidence."),
4452
+ evidenceNodeIds: z.array(z.string()).optional().describe("Evidence node IDs supporting the answer."),
4453
+ answerSource: z.string().optional().describe("How the answer was produced."),
4454
+ worktreeId: z.string().optional().describe("Worktree whose outcome produced this answer."),
4455
+ sprintId: z.string().optional().describe("Legacy sprint identifier.")
4456
+ });
4457
+ var answerQuestionArgs = z.object({
4458
+ id: z.string().describe("Canonical question ID."),
4459
+ topicId: z.string().describe("Topic scope for the answer."),
4460
+ text: z.string().describe("Answer text."),
4461
+ confidence: z.enum(["weak", "medium", "strong"]).optional().describe("Optional answer confidence."),
4462
+ evidenceIds: z.array(z.string()).optional().describe("Canonical evidence IDs supporting the answer."),
4463
+ rationale: z.string().optional().describe("Why this answer is credible."),
4464
+ questionId: z.string().optional().describe("Question ID alias accepted by the projection."),
4465
+ questionNodeId: z.string().optional().describe("Question node ID alias accepted by the projection."),
4466
+ answerText: z.string().optional().describe("Canonical answer text alias accepted by newer callers."),
4467
+ evidenceNodeIds: z.array(z.string()).optional().describe("Evidence node ID alias accepted by newer callers."),
4468
+ answerSource: z.string().optional().describe("How the answer was produced."),
4469
+ worktreeId: z.string().optional().describe("Worktree whose outcome produced this answer."),
4470
+ sprintId: z.string().optional().describe("Legacy sprint identifier.")
4471
+ });
4472
+ var missingQuestionsArgs = z.object({
4473
+ topicId: z.string().describe("Topic scope."),
4474
+ minConfidence: z.number().optional().describe("Minimum confidence threshold for missing-question checks."),
4475
+ status: z.string().optional().describe("Question status filter."),
4476
+ limit: z.number().optional().describe("Maximum questions to inspect.")
4477
+ });
4478
+ var falsificationQuestionsArgs = z.object({
4479
+ topicId: z.string().describe("Topic scope."),
4480
+ beliefIds: z.array(z.string()).optional().describe("Beliefs to generate falsification questions for."),
4481
+ status: z.string().optional().describe("Question status filter."),
4482
+ limit: z.number().optional().describe("Maximum questions to inspect.")
4483
+ });
4248
4484
  var questionNodeInput = (input) => compactRecord({
4249
4485
  nodeId: input.nodeId ?? input.id ?? input.questionId,
4250
4486
  questionId: input.questionId
@@ -4291,7 +4527,8 @@ var questionsContracts = [
4291
4527
  functionName: "create",
4292
4528
  kind: "mutation",
4293
4529
  inputProjection: createQuestionInput
4294
- }
4530
+ },
4531
+ args: createQuestionArgs
4295
4532
  }),
4296
4533
  surfaceContract({
4297
4534
  name: "get_question",
@@ -4347,7 +4584,8 @@ var questionsContracts = [
4347
4584
  category: input.category,
4348
4585
  priority: input.priority
4349
4586
  })
4350
- }
4587
+ },
4588
+ args: refineQuestionArgs
4351
4589
  }),
4352
4590
  surfaceContract({
4353
4591
  name: "update_question_status",
@@ -4423,7 +4661,8 @@ var questionsContracts = [
4423
4661
  }),
4424
4662
  context
4425
4663
  )
4426
- }
4664
+ },
4665
+ args: createAnswerArgs
4427
4666
  }),
4428
4667
  surfaceContract({
4429
4668
  name: "answer_question",
@@ -4452,7 +4691,8 @@ var questionsContracts = [
4452
4691
  }),
4453
4692
  context
4454
4693
  )
4455
- }
4694
+ },
4695
+ args: answerQuestionArgs
4456
4696
  }),
4457
4697
  surfaceContract({
4458
4698
  name: "get_answer",
@@ -4484,7 +4724,8 @@ var questionsContracts = [
4484
4724
  functionName: "getByTopic",
4485
4725
  kind: "query",
4486
4726
  inputProjection: questionTopicInput
4487
- }
4727
+ },
4728
+ args: missingQuestionsArgs
4488
4729
  }),
4489
4730
  surfaceContract({
4490
4731
  name: "get_high_priority_questions",
@@ -4519,7 +4760,8 @@ var questionsContracts = [
4519
4760
  functionName: "getByTopic",
4520
4761
  kind: "query",
4521
4762
  inputProjection: questionTopicInput
4522
- }
4763
+ },
4764
+ args: falsificationQuestionsArgs
4523
4765
  })
4524
4766
  ];
4525
4767