@lucern/contracts 0.3.0-alpha.0 → 0.3.0-alpha.1

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 (117) hide show
  1. package/dist/dsl.js +3 -0
  2. package/dist/dsl.js.map +1 -1
  3. package/dist/function-registry/beliefs.d.ts +11 -51
  4. package/dist/function-registry/beliefs.js +445 -94
  5. package/dist/function-registry/beliefs.js.map +1 -1
  6. package/dist/function-registry/coding.d.ts +7 -31
  7. package/dist/function-registry/coding.js +264 -81
  8. package/dist/function-registry/coding.js.map +1 -1
  9. package/dist/function-registry/context.d.ts +4 -16
  10. package/dist/function-registry/context.js +223 -62
  11. package/dist/function-registry/context.js.map +1 -1
  12. package/dist/function-registry/contracts.d.ts +4 -16
  13. package/dist/function-registry/contracts.js +195 -54
  14. package/dist/function-registry/contracts.js.map +1 -1
  15. package/dist/function-registry/coordination.d.ts +10 -46
  16. package/dist/function-registry/coordination.js +208 -57
  17. package/dist/function-registry/coordination.js.map +1 -1
  18. package/dist/function-registry/edges.d.ts +10 -18
  19. package/dist/function-registry/edges.js +343 -68
  20. package/dist/function-registry/edges.js.map +1 -1
  21. package/dist/function-registry/evidence.d.ts +17 -49
  22. package/dist/function-registry/evidence.js +395 -99
  23. package/dist/function-registry/evidence.js.map +1 -1
  24. package/dist/function-registry/graph.d.ts +14 -66
  25. package/dist/function-registry/graph.js +225 -65
  26. package/dist/function-registry/graph.js.map +1 -1
  27. package/dist/function-registry/helpers.d.ts +6 -8
  28. package/dist/function-registry/helpers.js +204 -55
  29. package/dist/function-registry/helpers.js.map +1 -1
  30. package/dist/function-registry/identity.d.ts +4 -16
  31. package/dist/function-registry/identity.js +195 -54
  32. package/dist/function-registry/identity.js.map +1 -1
  33. package/dist/function-registry/index.d.ts +2 -2
  34. package/dist/function-registry/index.js +204 -55
  35. package/dist/function-registry/index.js.map +1 -1
  36. package/dist/function-registry/judgments.d.ts +5 -13
  37. package/dist/function-registry/judgments.js +214 -63
  38. package/dist/function-registry/judgments.js.map +1 -1
  39. package/dist/function-registry/legacy.d.ts +2 -6
  40. package/dist/function-registry/legacy.js +195 -54
  41. package/dist/function-registry/legacy.js.map +1 -1
  42. package/dist/function-registry/lenses.d.ts +5 -21
  43. package/dist/function-registry/lenses.js +241 -58
  44. package/dist/function-registry/lenses.js.map +1 -1
  45. package/dist/function-registry/manifest.d.ts +3 -3
  46. package/dist/function-registry/manifest.js +1 -0
  47. package/dist/function-registry/manifest.js.map +1 -1
  48. package/dist/function-registry/ontologies.d.ts +12 -56
  49. package/dist/function-registry/ontologies.js +227 -77
  50. package/dist/function-registry/ontologies.js.map +1 -1
  51. package/dist/function-registry/pipeline.d.ts +4 -16
  52. package/dist/function-registry/pipeline.js +207 -55
  53. package/dist/function-registry/pipeline.js.map +1 -1
  54. package/dist/function-registry/questions.d.ts +13 -61
  55. package/dist/function-registry/questions.js +281 -82
  56. package/dist/function-registry/questions.js.map +1 -1
  57. package/dist/function-registry/tasks.d.ts +5 -21
  58. package/dist/function-registry/tasks.js +265 -58
  59. package/dist/function-registry/tasks.js.map +1 -1
  60. package/dist/function-registry/topics.d.ts +6 -26
  61. package/dist/function-registry/topics.js +214 -57
  62. package/dist/function-registry/topics.js.map +1 -1
  63. package/dist/function-registry/types.d.ts +2 -2
  64. package/dist/function-registry/worktrees.d.ts +49 -46
  65. package/dist/function-registry/worktrees.js +326 -81
  66. package/dist/function-registry/worktrees.js.map +1 -1
  67. package/dist/generated/convexSchemas.js +4 -3
  68. package/dist/generated/convexSchemas.js.map +1 -1
  69. package/dist/generated/schema-manifest.json +55 -3
  70. package/dist/generated/tableOwnership.d.ts +2 -1
  71. package/dist/generated/tableOwnership.js +2 -0
  72. package/dist/generated/tableOwnership.js.map +1 -1
  73. package/dist/generated/tier-expectations.json +6 -3
  74. package/dist/index-CV-0_VWJ.d.ts +25 -0
  75. package/dist/index.d.ts +414 -4
  76. package/dist/index.js +665 -62
  77. package/dist/index.js.map +1 -1
  78. package/dist/schema-helpers/validators.d.ts +1 -1
  79. package/dist/schema-helpers/validators.js +1 -1
  80. package/dist/schema-helpers/validators.js.map +1 -1
  81. package/dist/schemas/component-table-manifest.d.ts +74 -0
  82. package/dist/schemas/component-table-manifest.js +26 -0
  83. package/dist/schemas/component-table-manifest.js.map +1 -0
  84. package/dist/schemas/index.d.ts +2 -0
  85. package/dist/schemas/index.js +68 -10
  86. package/dist/schemas/index.js.map +1 -1
  87. package/dist/schemas/manifest.d.ts +110 -45
  88. package/dist/schemas/manifest.js +36 -9
  89. package/dist/schemas/manifest.js.map +1 -1
  90. package/dist/schemas/sl-opinion.d.ts +31 -0
  91. package/dist/schemas/sl-opinion.js +19 -0
  92. package/dist/schemas/sl-opinion.js.map +1 -0
  93. package/dist/schemas/tables/kernel/epistemic.d.ts +6 -4
  94. package/dist/schemas/tables/kernel/epistemic.js +6 -4
  95. package/dist/schemas/tables/kernel/epistemic.js.map +1 -1
  96. package/dist/schemas/tables/kernel/infra.d.ts +13 -1
  97. package/dist/schemas/tables/kernel/infra.js +23 -1
  98. package/dist/schemas/tables/kernel/infra.js.map +1 -1
  99. package/dist/schemas/tables/kernel/worktree.d.ts +4 -4
  100. package/dist/schemas/tables/kernel/worktree.js +6 -4
  101. package/dist/schemas/tables/kernel/worktree.js.map +1 -1
  102. package/dist/schemas/tables/mc/runtime.d.ts +1 -1
  103. package/dist/schemas/tables/mc/runtime.js +1 -1
  104. package/dist/schemas/tables/mc/runtime.js.map +1 -1
  105. package/dist/sdk-methods.contract.d.ts +5 -2
  106. package/dist/{sdk-tools.contract-C2kQN_Xk.d.ts → sdk-tools.contract-S4ia0TTo.d.ts} +1 -1
  107. package/dist/sdk-tools.contract.d.ts +2 -2
  108. package/dist/sdk-tools.contract.js +154 -51
  109. package/dist/sdk-tools.contract.js.map +1 -1
  110. package/dist/{tool-contracts-WCnuE9DW.d.ts → tool-contracts-C92-9ueT.d.ts} +5 -3
  111. package/dist/tool-contracts.d.ts +1 -1
  112. package/dist/tool-contracts.js +155 -52
  113. package/dist/tool-contracts.js.map +1 -1
  114. package/dist/workflow-runtime.contract.js +1 -1
  115. package/dist/workflow-runtime.contract.js.map +1 -1
  116. package/package.json +19 -1
  117. package/dist/index-DoDXl8KS.d.ts +0 -19
@@ -1,6 +1,6 @@
1
1
  import * as convex_values from 'convex/values';
2
2
 
3
- declare const permissiveReturn: convex_values.VAny<any, "optional", string>;
3
+ declare const permissiveReturn: convex_values.VAny<any, "required", string>;
4
4
  declare const looseJsonObject: convex_values.VRecord<Record<string, any>, convex_values.VString<string, "required">, convex_values.VAny<any, "required", string>, "required", string>;
5
5
  declare const looseJsonArray: convex_values.VArray<any[], convex_values.VAny<any, "required", string>, "required">;
6
6
  declare const looseJsonValue: convex_values.VUnion<string | number | boolean | any[] | Record<string, any> | null, [convex_values.VString<string, "required">, convex_values.VFloat64<number, "required">, convex_values.VBoolean<boolean, "required">, convex_values.VNull<null, "required">, convex_values.VRecord<Record<string, any>, convex_values.VString<string, "required">, convex_values.VAny<any, "required", string>, "required", string>, convex_values.VArray<any[], convex_values.VAny<any, "required", string>, "required">], "required", string>;
@@ -1,7 +1,7 @@
1
1
  import { v } from 'convex/values';
2
2
 
3
3
  // src/schema-helpers/validators.ts
4
- var permissiveReturn = v.optional(v.any());
4
+ var permissiveReturn = v.any();
5
5
  var looseJsonObject = v.record(v.string(), v.any());
6
6
  var looseJsonArray = v.array(v.any());
7
7
  var looseJsonValue = v.union(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema-helpers/validators.ts"],"names":[],"mappings":";;;AAEO,IAAM,gBAAA,GAAmB,CAAA,CAAE,QAAA,CAAS,CAAA,CAAE,KAAK;AAC3C,IAAM,eAAA,GAAkB,EAAE,MAAA,CAAO,CAAA,CAAE,QAAO,EAAG,CAAA,CAAE,KAAK;AACpD,IAAM,cAAA,GAAiB,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,KAAK;AACtC,IAAM,iBAAiB,CAAA,CAAE,KAAA;AAAA,EAC9B,EAAE,MAAA,EAAO;AAAA,EACT,EAAE,MAAA,EAAO;AAAA,EACT,EAAE,OAAA,EAAQ;AAAA,EACV,EAAE,IAAA,EAAK;AAAA,EACP,eAAA;AAAA,EACA;AACF","file":"validators.js","sourcesContent":["import { v } from \"convex/values\";\n\nexport const permissiveReturn = v.optional(v.any());\nexport const looseJsonObject = v.record(v.string(), v.any());\nexport const looseJsonArray = v.array(v.any());\nexport const looseJsonValue = v.union(\n v.string(),\n v.number(),\n v.boolean(),\n v.null(),\n looseJsonObject,\n looseJsonArray\n);\n"]}
1
+ {"version":3,"sources":["../../src/schema-helpers/validators.ts"],"names":[],"mappings":";;;AAEO,IAAM,gBAAA,GAAmB,EAAE,GAAA;AAC3B,IAAM,eAAA,GAAkB,EAAE,MAAA,CAAO,CAAA,CAAE,QAAO,EAAG,CAAA,CAAE,KAAK;AACpD,IAAM,cAAA,GAAiB,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,KAAK;AACtC,IAAM,iBAAiB,CAAA,CAAE,KAAA;AAAA,EAC9B,EAAE,MAAA,EAAO;AAAA,EACT,EAAE,MAAA,EAAO;AAAA,EACT,EAAE,OAAA,EAAQ;AAAA,EACV,EAAE,IAAA,EAAK;AAAA,EACP,eAAA;AAAA,EACA;AACF","file":"validators.js","sourcesContent":["import { v } from \"convex/values\";\n\nexport const permissiveReturn = v.any();\nexport const looseJsonObject = v.record(v.string(), v.any());\nexport const looseJsonArray = v.array(v.any());\nexport const looseJsonValue = v.union(\n v.string(),\n v.number(),\n v.boolean(),\n v.null(),\n looseJsonObject,\n looseJsonArray\n);\n"]}
@@ -0,0 +1,74 @@
1
+ import { z } from 'zod';
2
+
3
+ declare const ComponentTableManifestSchema: z.ZodObject<{
4
+ manifestVersion: z.ZodString;
5
+ componentName: z.ZodEnum<["kernel", "identity"]>;
6
+ tier: z.ZodEnum<["K", "I"]>;
7
+ packageVersion: z.ZodString;
8
+ tables: z.ZodArray<z.ZodObject<{
9
+ name: z.ZodString;
10
+ fields: z.ZodArray<z.ZodObject<{
11
+ name: z.ZodString;
12
+ type: z.ZodString;
13
+ optional: z.ZodBoolean;
14
+ validator: z.ZodOptional<z.ZodString>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ type: string;
17
+ name: string;
18
+ optional: boolean;
19
+ validator?: string | undefined;
20
+ }, {
21
+ type: string;
22
+ name: string;
23
+ optional: boolean;
24
+ validator?: string | undefined;
25
+ }>, "many">;
26
+ }, "strip", z.ZodTypeAny, {
27
+ name: string;
28
+ fields: {
29
+ type: string;
30
+ name: string;
31
+ optional: boolean;
32
+ validator?: string | undefined;
33
+ }[];
34
+ }, {
35
+ name: string;
36
+ fields: {
37
+ type: string;
38
+ name: string;
39
+ optional: boolean;
40
+ validator?: string | undefined;
41
+ }[];
42
+ }>, "many">;
43
+ }, "strip", z.ZodTypeAny, {
44
+ tier: "K" | "I";
45
+ manifestVersion: string;
46
+ componentName: "kernel" | "identity";
47
+ packageVersion: string;
48
+ tables: {
49
+ name: string;
50
+ fields: {
51
+ type: string;
52
+ name: string;
53
+ optional: boolean;
54
+ validator?: string | undefined;
55
+ }[];
56
+ }[];
57
+ }, {
58
+ tier: "K" | "I";
59
+ manifestVersion: string;
60
+ componentName: "kernel" | "identity";
61
+ packageVersion: string;
62
+ tables: {
63
+ name: string;
64
+ fields: {
65
+ type: string;
66
+ name: string;
67
+ optional: boolean;
68
+ validator?: string | undefined;
69
+ }[];
70
+ }[];
71
+ }>;
72
+ type ComponentTableManifest = z.infer<typeof ComponentTableManifestSchema>;
73
+
74
+ export { type ComponentTableManifest, ComponentTableManifestSchema };
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+
3
+ // src/schemas/component-table-manifest.ts
4
+ var ComponentTableManifestSchema = z.object({
5
+ manifestVersion: z.string(),
6
+ componentName: z.enum(["kernel", "identity"]),
7
+ tier: z.enum(["K", "I"]),
8
+ packageVersion: z.string(),
9
+ tables: z.array(
10
+ z.object({
11
+ name: z.string(),
12
+ fields: z.array(
13
+ z.object({
14
+ name: z.string(),
15
+ type: z.string(),
16
+ optional: z.boolean(),
17
+ validator: z.string().optional()
18
+ })
19
+ )
20
+ })
21
+ )
22
+ });
23
+
24
+ export { ComponentTableManifestSchema };
25
+ //# sourceMappingURL=component-table-manifest.js.map
26
+ //# sourceMappingURL=component-table-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/schemas/component-table-manifest.ts"],"names":[],"mappings":";;;AAEO,IAAM,4BAAA,GAA+B,EAAE,MAAA,CAAO;AAAA,EACnD,eAAA,EAAiB,EAAE,MAAA,EAAO;AAAA,EAC1B,eAAe,CAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAAA,EAC5C,MAAM,CAAA,CAAE,IAAA,CAAK,CAAC,GAAA,EAAK,GAAG,CAAC,CAAA;AAAA,EACvB,cAAA,EAAgB,EAAE,MAAA,EAAO;AAAA,EACzB,QAAQ,CAAA,CAAE,KAAA;AAAA,IACR,EAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,MACf,QAAQ,CAAA,CAAE,KAAA;AAAA,QACR,EAAE,MAAA,CAAO;AAAA,UACP,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,UACf,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,UACf,QAAA,EAAU,EAAE,OAAA,EAAQ;AAAA,UACpB,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,SAChC;AAAA;AACH,KACD;AAAA;AAEL,CAAC","file":"component-table-manifest.js","sourcesContent":["import { z } from \"zod\";\n\nexport const ComponentTableManifestSchema = z.object({\n manifestVersion: z.string(),\n componentName: z.enum([\"kernel\", \"identity\"]),\n tier: z.enum([\"K\", \"I\"]),\n packageVersion: z.string(),\n tables: z.array(\n z.object({\n name: z.string(),\n fields: z.array(\n z.object({\n name: z.string(),\n type: z.string(),\n optional: z.boolean(),\n validator: z.string().optional(),\n })\n ),\n })\n ),\n});\n\nexport type ComponentTableManifest = z.infer<\n typeof ComponentTableManifestSchema\n>;\n"]}
@@ -1,5 +1,7 @@
1
1
  export { EDGE_TYPE, NODE_TYPE, TOPIC_STATUS, TOPIC_VISIBILITY } from './enums.js';
2
2
  export { ALL_TABLE_CONTRACTS, IDENTITY_TABLE_CONTRACTS, KERNEL_TABLE_CONTRACTS, MC_TABLE_CONTRACTS, TABLE_CONTRACTS_BY_COMPONENT, getTableContract, listTableContractsByName } from './manifest.js';
3
+ export { ComponentTableManifest, ComponentTableManifestSchema } from './component-table-manifest.js';
4
+ export { SLOpinionInput, SLOpinionInputSchema } from './sl-opinion.js';
3
5
  import 'zod';
4
6
  import '../defineTable-CBQ03FXl.js';
5
7
  import '../idOf-DR8tkhQS.js';
@@ -404,6 +404,28 @@ var autofixJobs = defineTable({
404
404
  { kind: "index", name: "by_createdAt", columns: ["createdAt"] }
405
405
  ]
406
406
  });
407
+ var neo4jSyncQueue = defineTable({
408
+ name: "neo4jSyncQueue",
409
+ component: "kernel",
410
+ category: "infra",
411
+ shape: z.object({
412
+ "entityType": z.enum(["node", "edge"]),
413
+ "entityId": z.string(),
414
+ "operation": z.enum(["upsert", "delete"]),
415
+ "attempts": z.number(),
416
+ "maxAttempts": z.number(),
417
+ "lastAttemptAt": z.number().optional(),
418
+ "lastError": z.string().optional(),
419
+ "status": z.enum(["pending", "in_progress", "failed", "succeeded"]),
420
+ "createdAt": z.number(),
421
+ "updatedAt": z.number()
422
+ }),
423
+ indices: [
424
+ { kind: "index", name: "by_status", columns: ["status"] },
425
+ { kind: "index", name: "by_entity", columns: ["entityType", "entityId"] },
426
+ { kind: "index", name: "by_status_attempts", columns: ["status", "attempts"] }
427
+ ]
428
+ });
407
429
  var backgroundJobRuns = defineTable({
408
430
  name: "backgroundJobRuns",
409
431
  component: "kernel",
@@ -473,9 +495,9 @@ var beliefConfidence = defineTable({
473
495
  category: "epistemic",
474
496
  shape: z.object({
475
497
  "beliefId": z.string(),
476
- "belief": z.number().optional(),
477
- "disbelief": z.number().optional(),
478
- "uncertainty": z.number().optional(),
498
+ "belief": z.number(),
499
+ "disbelief": z.number(),
500
+ "uncertainty": z.number(),
479
501
  "baseRate": z.number(),
480
502
  "slOperator": z.string().optional(),
481
503
  "confidence": z.number(),
@@ -484,10 +506,12 @@ var beliefConfidence = defineTable({
484
506
  "certainty": z.number().optional(),
485
507
  "assessedAt": z.number(),
486
508
  "assessedBy": z.string(),
487
- "trigger": z.enum(["initial", "evidence_added", "evidence_removed", "contradiction_detected", "contradiction_resolved", "manual", "decay", "propagation", "agent_assessment", "worktree_outcome", "worktree_completed", "fusion", "discount", "deduction", "backfill_synthetic"]),
509
+ "trigger": z.enum(["initial", "evidence_added", "evidence_removed", "contradiction_detected", "contradiction_resolved", "propagation", "agent_assessment", "worktree_outcome", "worktree_completed", "fusion", "discount", "deduction", "backfill_synthetic"]),
488
510
  "rationale": z.string().optional(),
489
511
  "triggeringEvidenceId": z.string().optional(),
490
512
  "triggeringEvidenceIds": z.array(z.string()).optional(),
513
+ "triggeringQuestionId": z.string().optional(),
514
+ "triggeringAnswerId": z.string().optional(),
491
515
  "triggeringContradictionId": idOf("contradictions").optional(),
492
516
  "triggeringWorktreeId": z.string().optional(),
493
517
  "triggeringAgentId": z.string().optional(),
@@ -1170,7 +1194,7 @@ var tenantDeploymentCredentials = defineTable({
1170
1194
  "credentialRef": z.string(),
1171
1195
  "tenantId": idOf("tenants"),
1172
1196
  "target": z.enum(["kernelDeployment", "appDeployment"]),
1173
- "environment": z.enum(["dev", "prod"]),
1197
+ "environment": z.enum(["dev", "staging", "prod"]),
1174
1198
  "encryptedDeployKey": z.string(),
1175
1199
  "encryptionVersion": z.string(),
1176
1200
  "keyFingerprint": z.string(),
@@ -3839,13 +3863,13 @@ var worktrees = defineTable({
3839
3863
  "rationale": z.string().optional(),
3840
3864
  "confidenceImpact": z.enum(["high", "medium", "low"]).optional(),
3841
3865
  "hypothesis": z.string().optional(),
3842
- "executionOrder": z.number().optional(),
3843
3866
  "dependsOn": z.array(idOf("worktrees")).optional(),
3844
3867
  "blocks": z.array(idOf("worktrees")).optional(),
3845
3868
  "gate": z.string().optional(),
3846
- "track": z.string().optional(),
3847
- "trackPosition": z.number().optional(),
3848
- "executionBand": z.number().optional(),
3869
+ "campaign": z.number().optional(),
3870
+ "lane": z.string().optional(),
3871
+ "laneOrderInCampaign": z.number().optional(),
3872
+ "orderInLane": z.number().optional(),
3849
3873
  "startDate": z.number(),
3850
3874
  "endDate": z.number(),
3851
3875
  "durationWeeks": z.number(),
@@ -4093,6 +4117,8 @@ var worktrees = defineTable({
4093
4117
  { kind: "index", name: "by_topicId_index", columns: ["topicId", "index"] },
4094
4118
  { kind: "index", name: "by_worktreeType", columns: ["topicId", "worktreeType"] },
4095
4119
  { kind: "index", name: "by_topicId_priority", columns: ["topicId", "priority"] },
4120
+ { kind: "index", name: "by_topicId_campaign_lane_order", columns: ["topicId", "campaign", "laneOrderInCampaign", "orderInLane"] },
4121
+ { kind: "index", name: "by_topicId_lane_order", columns: ["topicId", "lane", "orderInLane"] },
4096
4122
  { kind: "index", name: "by_topicId_branch", columns: ["topicId", "targetBranch"] },
4097
4123
  { kind: "index", name: "by_topicId_scope", columns: ["topicId", "worktreeScope"] }
4098
4124
  ]
@@ -4125,6 +4151,7 @@ var KERNEL_TABLE_CONTRACTS = [
4125
4151
  questionEvidenceLinks,
4126
4152
  idempotencyTokens,
4127
4153
  autofixJobs,
4154
+ neo4jSyncQueue,
4128
4155
  backgroundJobRuns,
4129
4156
  backgroundJobSettings,
4130
4157
  systemLogs,
@@ -4234,7 +4261,38 @@ function getTableContract(name, component) {
4234
4261
  (contract) => contract.name === name && (component ? contract.component === component : true)
4235
4262
  );
4236
4263
  }
4264
+ var ComponentTableManifestSchema = z.object({
4265
+ manifestVersion: z.string(),
4266
+ componentName: z.enum(["kernel", "identity"]),
4267
+ tier: z.enum(["K", "I"]),
4268
+ packageVersion: z.string(),
4269
+ tables: z.array(
4270
+ z.object({
4271
+ name: z.string(),
4272
+ fields: z.array(
4273
+ z.object({
4274
+ name: z.string(),
4275
+ type: z.string(),
4276
+ optional: z.boolean(),
4277
+ validator: z.string().optional()
4278
+ })
4279
+ )
4280
+ })
4281
+ )
4282
+ });
4283
+ var SL_EPSILON = 1e-9;
4284
+ var SLOpinionInputSchema = z.object({
4285
+ belief: z.number(),
4286
+ disbelief: z.number(),
4287
+ uncertainty: z.number(),
4288
+ baseRate: z.number()
4289
+ }).refine(
4290
+ (o) => Math.abs(o.belief + o.disbelief + o.uncertainty - 1) < SL_EPSILON,
4291
+ {
4292
+ message: "SL invariant b+d+u=1 violated at API boundary"
4293
+ }
4294
+ );
4237
4295
 
4238
- export { ALL_TABLE_CONTRACTS, EDGE_TYPE, IDENTITY_TABLE_CONTRACTS, KERNEL_TABLE_CONTRACTS, MC_TABLE_CONTRACTS, NODE_TYPE, TABLE_CONTRACTS_BY_COMPONENT, TOPIC_STATUS, TOPIC_VISIBILITY, getTableContract, listTableContractsByName };
4296
+ export { ALL_TABLE_CONTRACTS, ComponentTableManifestSchema, EDGE_TYPE, IDENTITY_TABLE_CONTRACTS, KERNEL_TABLE_CONTRACTS, MC_TABLE_CONTRACTS, NODE_TYPE, SLOpinionInputSchema, TABLE_CONTRACTS_BY_COMPONENT, TOPIC_STATUS, TOPIC_VISIBILITY, getTableContract, listTableContractsByName };
4239
4297
  //# sourceMappingURL=index.js.map
4240
4298
  //# sourceMappingURL=index.js.map