@eir-labs/coltrane 0.5.1 → 0.7.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.
Files changed (115) hide show
  1. package/README.md +23 -0
  2. package/agents/bill.json +59 -0
  3. package/agents/deploy-agent.json +68 -0
  4. package/agents/deploy-scout.json +40 -0
  5. package/agents/john.json +42 -0
  6. package/agents/miles.json +44 -0
  7. package/charts/software-delivery-v1.json +9 -0
  8. package/charts/software-delivery-v2.json +39 -0
  9. package/dist/src/bifrost_invoker.js +5 -3
  10. package/dist/src/bifrost_invoker.js.map +1 -1
  11. package/dist/src/canonical_form.d.ts +23 -0
  12. package/dist/src/canonical_form.js +53 -0
  13. package/dist/src/canonical_form.js.map +1 -1
  14. package/dist/src/chart.d.ts +254 -0
  15. package/dist/src/chart.js +897 -0
  16. package/dist/src/chart.js.map +1 -0
  17. package/dist/src/claude_invoker.d.ts +20 -3
  18. package/dist/src/claude_invoker.js +30 -5
  19. package/dist/src/claude_invoker.js.map +1 -1
  20. package/dist/src/cli.d.ts +19 -4
  21. package/dist/src/cli.js +132 -9
  22. package/dist/src/cli.js.map +1 -1
  23. package/dist/src/composition.d.ts +24 -0
  24. package/dist/src/composition.js +50 -5
  25. package/dist/src/composition.js.map +1 -1
  26. package/dist/src/conduct_daemon.d.ts +59 -0
  27. package/dist/src/conduct_daemon.js +178 -0
  28. package/dist/src/conduct_daemon.js.map +1 -0
  29. package/dist/src/genome_schema.d.ts +1476 -146
  30. package/dist/src/genome_schema.js +438 -32
  31. package/dist/src/genome_schema.js.map +1 -1
  32. package/dist/src/genome_store.d.ts +79 -0
  33. package/dist/src/genome_store.js +503 -0
  34. package/dist/src/genome_store.js.map +1 -0
  35. package/dist/src/gig_tracker.d.ts +11 -1
  36. package/dist/src/gig_tracker.js +5 -0
  37. package/dist/src/gig_tracker.js.map +1 -1
  38. package/dist/src/hosted_tools.d.ts +23 -0
  39. package/dist/src/hosted_tools.js +170 -0
  40. package/dist/src/hosted_tools.js.map +1 -0
  41. package/dist/src/index.d.ts +4 -0
  42. package/dist/src/index.js +4 -0
  43. package/dist/src/index.js.map +1 -1
  44. package/dist/src/ledger.d.ts +22 -0
  45. package/dist/src/ledger.js +4 -0
  46. package/dist/src/ledger.js.map +1 -1
  47. package/dist/src/loader.d.ts +9 -1
  48. package/dist/src/loader.js +105 -5
  49. package/dist/src/loader.js.map +1 -1
  50. package/dist/src/mcp.js +52 -5
  51. package/dist/src/mcp.js.map +1 -1
  52. package/dist/src/output_mirror.d.ts +70 -0
  53. package/dist/src/output_mirror.js +381 -0
  54. package/dist/src/output_mirror.js.map +1 -0
  55. package/dist/src/outputs.d.ts +77 -1
  56. package/dist/src/outputs.js +179 -37
  57. package/dist/src/outputs.js.map +1 -1
  58. package/dist/src/play_worker.d.ts +24 -0
  59. package/dist/src/play_worker.js +49 -0
  60. package/dist/src/play_worker.js.map +1 -0
  61. package/dist/src/registry.d.ts +2 -0
  62. package/dist/src/registry.js +63 -33
  63. package/dist/src/registry.js.map +1 -1
  64. package/dist/src/reuse.d.ts +56 -0
  65. package/dist/src/reuse.js +0 -0
  66. package/dist/src/reuse.js.map +1 -1
  67. package/dist/src/runtime.d.ts +91 -2
  68. package/dist/src/runtime.js +236 -18
  69. package/dist/src/runtime.js.map +1 -1
  70. package/dist/src/seal_drill.d.ts +32 -0
  71. package/dist/src/seal_drill.js +138 -0
  72. package/dist/src/seal_drill.js.map +1 -0
  73. package/dist/src/server.d.ts +39 -1
  74. package/dist/src/server.js +760 -68
  75. package/dist/src/server.js.map +1 -1
  76. package/dist/src/skill_subprocess.js +12 -4
  77. package/dist/src/skill_subprocess.js.map +1 -1
  78. package/dist/src/supabase_genome.d.ts +28 -0
  79. package/dist/src/supabase_genome.js +49 -0
  80. package/dist/src/supabase_genome.js.map +1 -0
  81. package/dist/src/tool_surface.d.ts +5 -0
  82. package/dist/src/tool_surface.js +15 -0
  83. package/dist/src/tool_surface.js.map +1 -0
  84. package/dist/src/version.d.ts +1 -1
  85. package/dist/src/version.js +1 -1
  86. package/dist/src/worker.d.ts +182 -0
  87. package/dist/src/worker.js +609 -0
  88. package/dist/src/worker.js.map +1 -0
  89. package/domain_types/branch-state.json +21 -0
  90. package/domain_types/change-context.json +39 -0
  91. package/domain_types/change-decision.json +36 -0
  92. package/domain_types/change-plan.json +47 -0
  93. package/domain_types/change-request.json +24 -0
  94. package/domain_types/change-set.json +46 -0
  95. package/domain_types/change-verdict.json +26 -0
  96. package/domain_types/deploy-verdict.json +23 -0
  97. package/domain_types/design-brief.json +37 -0
  98. package/domain_types/design-concept.json +36 -0
  99. package/domain_types/design-definition.json +37 -0
  100. package/domain_types/design-question.json +23 -0
  101. package/domain_types/design-verdict.json +27 -0
  102. package/domain_types/preview-deployment.json +32 -0
  103. package/institutions/quartet.json +344 -0
  104. package/package.json +21 -3
  105. package/skills/vercel-api/fixtures/error.json +10 -0
  106. package/skills/vercel-api/fixtures/ready.json +10 -0
  107. package/skills/vercel-api/fixtures/unsettled.json +10 -0
  108. package/skills/vercel-api/meta.json +10 -0
  109. package/skills/vercel-api/skill.mjs +63 -0
  110. package/standards/preview-deploy-v1.json +89 -0
  111. package/standards/product-design-v1.json +122 -0
  112. package/standards/promote-v1.json +41 -0
  113. package/standards/software-change-v1.json +147 -0
  114. package/venues/ci-deploy-room-v1.json +28 -0
  115. package/venues/empty-room-v1.json +19 -0
@@ -24,6 +24,213 @@ export declare const BrowserGrantSchema: z.ZodObject<{
24
24
  headless?: boolean | undefined;
25
25
  }>;
26
26
  export type BrowserGrant = z.output<typeof BrowserGrantSchema>;
27
+ export declare const NetworkGrantSchema: z.ZodObject<{
28
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
29
+ methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
30
+ max_requests: z.ZodOptional<z.ZodNumber>;
31
+ max_bytes: z.ZodOptional<z.ZodNumber>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ allow: string[];
34
+ methods?: string[] | undefined;
35
+ max_requests?: number | undefined;
36
+ max_bytes?: number | undefined;
37
+ }, {
38
+ allow?: string[] | undefined;
39
+ methods?: string[] | undefined;
40
+ max_requests?: number | undefined;
41
+ max_bytes?: number | undefined;
42
+ }>;
43
+ export declare const SkillPermissionSchema: z.ZodObject<{
44
+ tier: z.ZodOptional<z.ZodNumber>;
45
+ network: z.ZodOptional<z.ZodObject<{
46
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
47
+ methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
48
+ max_requests: z.ZodOptional<z.ZodNumber>;
49
+ max_bytes: z.ZodOptional<z.ZodNumber>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ allow: string[];
52
+ methods?: string[] | undefined;
53
+ max_requests?: number | undefined;
54
+ max_bytes?: number | undefined;
55
+ }, {
56
+ allow?: string[] | undefined;
57
+ methods?: string[] | undefined;
58
+ max_requests?: number | undefined;
59
+ max_bytes?: number | undefined;
60
+ }>>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ tier?: number | undefined;
63
+ network?: {
64
+ allow: string[];
65
+ methods?: string[] | undefined;
66
+ max_requests?: number | undefined;
67
+ max_bytes?: number | undefined;
68
+ } | undefined;
69
+ }, {
70
+ tier?: number | undefined;
71
+ network?: {
72
+ allow?: string[] | undefined;
73
+ methods?: string[] | undefined;
74
+ max_requests?: number | undefined;
75
+ max_bytes?: number | undefined;
76
+ } | undefined;
77
+ }>;
78
+ /**
79
+ * A HYDRATION SLOT — a named hole in a skill's method that something outside the agent fills.
80
+ *
81
+ * The seam this draws is the whole point of a carried skill: the METHOD is the agent's (portable,
82
+ * it travels into any institution that seats the player), while the DATA the method operates on is
83
+ * the institution's. A skill that hard-codes one house's constraints is not portable; a skill that
84
+ * declares the slot and receives the constraints is.
85
+ *
86
+ * `binding` says WHEN the slot is filled, and the two times are not interchangeable:
87
+ * - "institution" (the default when omitted) — filled at SEAT time from the chair's `supplies`.
88
+ * Known before any run exists, so a `required` slot nothing supplies is a DEAD SLOT and
89
+ * composition refuses it, exactly as an unresolvable tool grant is refused.
90
+ * - "gig" — filled at DISPATCH time from the gig payload. These are the chair contract's formal
91
+ * parameters and the dispatch input is the argument list, so compose time cannot demand them:
92
+ * it knows nothing about the arguments of a run that has not been asked for yet. Their floor
93
+ * belongs to the runtime pre-flight at t=0.
94
+ */
95
+ export declare const HydrationSlotSchema: z.ZodObject<{
96
+ type: z.ZodString;
97
+ description: z.ZodOptional<z.ZodString>;
98
+ required: z.ZodOptional<z.ZodBoolean>;
99
+ binding: z.ZodOptional<z.ZodEnum<["institution", "gig"]>>;
100
+ }, "strip", z.ZodTypeAny, {
101
+ type: string;
102
+ description?: string | undefined;
103
+ required?: boolean | undefined;
104
+ binding?: "institution" | "gig" | undefined;
105
+ }, {
106
+ type: string;
107
+ description?: string | undefined;
108
+ required?: boolean | undefined;
109
+ binding?: "institution" | "gig" | undefined;
110
+ }>;
111
+ export declare const SkillSchema: z.ZodObject<{
112
+ slug: z.ZodString;
113
+ version: z.ZodOptional<z.ZodNumber>;
114
+ skill_type: z.ZodOptional<z.ZodString>;
115
+ input_type: z.ZodOptional<z.ZodString>;
116
+ output_type: z.ZodOptional<z.ZodString>;
117
+ corpus: z.ZodOptional<z.ZodString>;
118
+ determinism_ratio: z.ZodOptional<z.ZodNumber>;
119
+ permission: z.ZodOptional<z.ZodObject<{
120
+ tier: z.ZodOptional<z.ZodNumber>;
121
+ network: z.ZodOptional<z.ZodObject<{
122
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
123
+ methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
124
+ max_requests: z.ZodOptional<z.ZodNumber>;
125
+ max_bytes: z.ZodOptional<z.ZodNumber>;
126
+ }, "strip", z.ZodTypeAny, {
127
+ allow: string[];
128
+ methods?: string[] | undefined;
129
+ max_requests?: number | undefined;
130
+ max_bytes?: number | undefined;
131
+ }, {
132
+ allow?: string[] | undefined;
133
+ methods?: string[] | undefined;
134
+ max_requests?: number | undefined;
135
+ max_bytes?: number | undefined;
136
+ }>>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ tier?: number | undefined;
139
+ network?: {
140
+ allow: string[];
141
+ methods?: string[] | undefined;
142
+ max_requests?: number | undefined;
143
+ max_bytes?: number | undefined;
144
+ } | undefined;
145
+ }, {
146
+ tier?: number | undefined;
147
+ network?: {
148
+ allow?: string[] | undefined;
149
+ methods?: string[] | undefined;
150
+ max_requests?: number | undefined;
151
+ max_bytes?: number | undefined;
152
+ } | undefined;
153
+ }>>;
154
+ description: z.ZodOptional<z.ZodString>;
155
+ timeout_ms: z.ZodOptional<z.ZodNumber>;
156
+ /** Slot name → the declared shape of what fills it. See HydrationSlotSchema: the method is the
157
+ * agent's, the slot data is the institution's (or the gig's). */
158
+ hydration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
159
+ type: z.ZodString;
160
+ description: z.ZodOptional<z.ZodString>;
161
+ required: z.ZodOptional<z.ZodBoolean>;
162
+ binding: z.ZodOptional<z.ZodEnum<["institution", "gig"]>>;
163
+ }, "strip", z.ZodTypeAny, {
164
+ type: string;
165
+ description?: string | undefined;
166
+ required?: boolean | undefined;
167
+ binding?: "institution" | "gig" | undefined;
168
+ }, {
169
+ type: string;
170
+ description?: string | undefined;
171
+ required?: boolean | undefined;
172
+ binding?: "institution" | "gig" | undefined;
173
+ }>>>;
174
+ fixtures: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
175
+ code: z.ZodOptional<z.ZodString>;
176
+ md: z.ZodOptional<z.ZodString>;
177
+ }, "strip", z.ZodTypeAny, {
178
+ slug: string;
179
+ version?: number | undefined;
180
+ code?: string | undefined;
181
+ description?: string | undefined;
182
+ skill_type?: string | undefined;
183
+ input_type?: string | undefined;
184
+ output_type?: string | undefined;
185
+ corpus?: string | undefined;
186
+ determinism_ratio?: number | undefined;
187
+ permission?: {
188
+ tier?: number | undefined;
189
+ network?: {
190
+ allow: string[];
191
+ methods?: string[] | undefined;
192
+ max_requests?: number | undefined;
193
+ max_bytes?: number | undefined;
194
+ } | undefined;
195
+ } | undefined;
196
+ timeout_ms?: number | undefined;
197
+ hydration?: Record<string, {
198
+ type: string;
199
+ description?: string | undefined;
200
+ required?: boolean | undefined;
201
+ binding?: "institution" | "gig" | undefined;
202
+ }> | undefined;
203
+ fixtures?: unknown[] | undefined;
204
+ md?: string | undefined;
205
+ }, {
206
+ slug: string;
207
+ version?: number | undefined;
208
+ code?: string | undefined;
209
+ description?: string | undefined;
210
+ skill_type?: string | undefined;
211
+ input_type?: string | undefined;
212
+ output_type?: string | undefined;
213
+ corpus?: string | undefined;
214
+ determinism_ratio?: number | undefined;
215
+ permission?: {
216
+ tier?: number | undefined;
217
+ network?: {
218
+ allow?: string[] | undefined;
219
+ methods?: string[] | undefined;
220
+ max_requests?: number | undefined;
221
+ max_bytes?: number | undefined;
222
+ } | undefined;
223
+ } | undefined;
224
+ timeout_ms?: number | undefined;
225
+ hydration?: Record<string, {
226
+ type: string;
227
+ description?: string | undefined;
228
+ required?: boolean | undefined;
229
+ binding?: "institution" | "gig" | undefined;
230
+ }> | undefined;
231
+ fixtures?: unknown[] | undefined;
232
+ md?: string | undefined;
233
+ }>;
27
234
  export declare const AgentSchema: z.ZodObject<{
28
235
  slug: z.ZodString;
29
236
  primitives: z.ZodReadonly<z.ZodArray<z.ZodEnum<["SENSE", "INTERPRET", "JUDGE", "PLAN", "CREATE", "VERIFY"]>, "many">>;
@@ -36,7 +243,144 @@ export declare const AgentSchema: z.ZodObject<{
36
243
  behavioral_primitives: z.ZodReadonly<z.ZodTuple<[z.ZodEnum<["explorer", "analyst", "critic", "synthesizer", "planner", "executor", "audience_modeler"]>, z.ZodEnum<["explorer", "analyst", "critic", "synthesizer", "planner", "executor", "audience_modeler"]>], null>>;
37
244
  allowed_tools: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
38
245
  disallowed_tools: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
246
+ /** REFERENCES into the shared repertoire (`skills/<slug>/`): the off-the-shelf method, bound by
247
+ * name, resolved against the genome's skills map at run time. A slug that resolves to no
248
+ * package is a dangling binding (loader) and a dead name when a chair requires it (runtime). */
39
249
  skill_slugs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
250
+ /** The agent's OWN skills, carried on its record rather than referenced by name.
251
+ *
252
+ * An agent is the thing closest to its own work, so it is the agent that grows technique — and
253
+ * grown technique has to be portable: the same player seated in a second institution brings its
254
+ * method along instead of waiting for that institution's repertoire to contain it. Institution
255
+ * data never rides along; a carried skill declares `hydration` slots and the seating fills them.
256
+ *
257
+ * Relationship to `skill_slugs`: slugs name the SHARED repertoire, `skills` are the agent's own.
258
+ * Resolution unions the two, carried-first, so a carried definition SHADOWS a same-slug
259
+ * repertoire package (the player's own technique is the one that plays) and a slug covered by a
260
+ * carried definition is not a dangling binding. */
261
+ skills: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
262
+ slug: z.ZodString;
263
+ version: z.ZodOptional<z.ZodNumber>;
264
+ skill_type: z.ZodOptional<z.ZodString>;
265
+ input_type: z.ZodOptional<z.ZodString>;
266
+ output_type: z.ZodOptional<z.ZodString>;
267
+ corpus: z.ZodOptional<z.ZodString>;
268
+ determinism_ratio: z.ZodOptional<z.ZodNumber>;
269
+ permission: z.ZodOptional<z.ZodObject<{
270
+ tier: z.ZodOptional<z.ZodNumber>;
271
+ network: z.ZodOptional<z.ZodObject<{
272
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
273
+ methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
274
+ max_requests: z.ZodOptional<z.ZodNumber>;
275
+ max_bytes: z.ZodOptional<z.ZodNumber>;
276
+ }, "strip", z.ZodTypeAny, {
277
+ allow: string[];
278
+ methods?: string[] | undefined;
279
+ max_requests?: number | undefined;
280
+ max_bytes?: number | undefined;
281
+ }, {
282
+ allow?: string[] | undefined;
283
+ methods?: string[] | undefined;
284
+ max_requests?: number | undefined;
285
+ max_bytes?: number | undefined;
286
+ }>>;
287
+ }, "strip", z.ZodTypeAny, {
288
+ tier?: number | undefined;
289
+ network?: {
290
+ allow: string[];
291
+ methods?: string[] | undefined;
292
+ max_requests?: number | undefined;
293
+ max_bytes?: number | undefined;
294
+ } | undefined;
295
+ }, {
296
+ tier?: number | undefined;
297
+ network?: {
298
+ allow?: string[] | undefined;
299
+ methods?: string[] | undefined;
300
+ max_requests?: number | undefined;
301
+ max_bytes?: number | undefined;
302
+ } | undefined;
303
+ }>>;
304
+ description: z.ZodOptional<z.ZodString>;
305
+ timeout_ms: z.ZodOptional<z.ZodNumber>;
306
+ /** Slot name → the declared shape of what fills it. See HydrationSlotSchema: the method is the
307
+ * agent's, the slot data is the institution's (or the gig's). */
308
+ hydration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
309
+ type: z.ZodString;
310
+ description: z.ZodOptional<z.ZodString>;
311
+ required: z.ZodOptional<z.ZodBoolean>;
312
+ binding: z.ZodOptional<z.ZodEnum<["institution", "gig"]>>;
313
+ }, "strip", z.ZodTypeAny, {
314
+ type: string;
315
+ description?: string | undefined;
316
+ required?: boolean | undefined;
317
+ binding?: "institution" | "gig" | undefined;
318
+ }, {
319
+ type: string;
320
+ description?: string | undefined;
321
+ required?: boolean | undefined;
322
+ binding?: "institution" | "gig" | undefined;
323
+ }>>>;
324
+ fixtures: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
325
+ code: z.ZodOptional<z.ZodString>;
326
+ md: z.ZodOptional<z.ZodString>;
327
+ }, "strip", z.ZodTypeAny, {
328
+ slug: string;
329
+ version?: number | undefined;
330
+ code?: string | undefined;
331
+ description?: string | undefined;
332
+ skill_type?: string | undefined;
333
+ input_type?: string | undefined;
334
+ output_type?: string | undefined;
335
+ corpus?: string | undefined;
336
+ determinism_ratio?: number | undefined;
337
+ permission?: {
338
+ tier?: number | undefined;
339
+ network?: {
340
+ allow: string[];
341
+ methods?: string[] | undefined;
342
+ max_requests?: number | undefined;
343
+ max_bytes?: number | undefined;
344
+ } | undefined;
345
+ } | undefined;
346
+ timeout_ms?: number | undefined;
347
+ hydration?: Record<string, {
348
+ type: string;
349
+ description?: string | undefined;
350
+ required?: boolean | undefined;
351
+ binding?: "institution" | "gig" | undefined;
352
+ }> | undefined;
353
+ fixtures?: unknown[] | undefined;
354
+ md?: string | undefined;
355
+ }, {
356
+ slug: string;
357
+ version?: number | undefined;
358
+ code?: string | undefined;
359
+ description?: string | undefined;
360
+ skill_type?: string | undefined;
361
+ input_type?: string | undefined;
362
+ output_type?: string | undefined;
363
+ corpus?: string | undefined;
364
+ determinism_ratio?: number | undefined;
365
+ permission?: {
366
+ tier?: number | undefined;
367
+ network?: {
368
+ allow?: string[] | undefined;
369
+ methods?: string[] | undefined;
370
+ max_requests?: number | undefined;
371
+ max_bytes?: number | undefined;
372
+ } | undefined;
373
+ } | undefined;
374
+ timeout_ms?: number | undefined;
375
+ hydration?: Record<string, {
376
+ type: string;
377
+ description?: string | undefined;
378
+ required?: boolean | undefined;
379
+ binding?: "institution" | "gig" | undefined;
380
+ }> | undefined;
381
+ fixtures?: unknown[] | undefined;
382
+ md?: string | undefined;
383
+ }>, "many">>>;
40
384
  model_tier: z.ZodOptional<z.ZodEnum<["economy", "standard", "premium"]>>;
41
385
  max_tool_calls: z.ZodOptional<z.ZodNumber>;
42
386
  max_token_budget: z.ZodOptional<z.ZodNumber>;
@@ -75,6 +419,35 @@ export declare const AgentSchema: z.ZodObject<{
75
419
  allowed_tools?: readonly string[] | undefined;
76
420
  disallowed_tools?: readonly string[] | undefined;
77
421
  skill_slugs?: readonly string[] | undefined;
422
+ skills?: readonly {
423
+ slug: string;
424
+ version?: number | undefined;
425
+ code?: string | undefined;
426
+ description?: string | undefined;
427
+ skill_type?: string | undefined;
428
+ input_type?: string | undefined;
429
+ output_type?: string | undefined;
430
+ corpus?: string | undefined;
431
+ determinism_ratio?: number | undefined;
432
+ permission?: {
433
+ tier?: number | undefined;
434
+ network?: {
435
+ allow: string[];
436
+ methods?: string[] | undefined;
437
+ max_requests?: number | undefined;
438
+ max_bytes?: number | undefined;
439
+ } | undefined;
440
+ } | undefined;
441
+ timeout_ms?: number | undefined;
442
+ hydration?: Record<string, {
443
+ type: string;
444
+ description?: string | undefined;
445
+ required?: boolean | undefined;
446
+ binding?: "institution" | "gig" | undefined;
447
+ }> | undefined;
448
+ fixtures?: unknown[] | undefined;
449
+ md?: string | undefined;
450
+ }[] | undefined;
78
451
  model_tier?: "standard" | "economy" | "premium" | undefined;
79
452
  max_tool_calls?: number | undefined;
80
453
  max_token_budget?: number | undefined;
@@ -100,6 +473,35 @@ export declare const AgentSchema: z.ZodObject<{
100
473
  allowed_tools?: readonly string[] | undefined;
101
474
  disallowed_tools?: readonly string[] | undefined;
102
475
  skill_slugs?: readonly string[] | undefined;
476
+ skills?: readonly {
477
+ slug: string;
478
+ version?: number | undefined;
479
+ code?: string | undefined;
480
+ description?: string | undefined;
481
+ skill_type?: string | undefined;
482
+ input_type?: string | undefined;
483
+ output_type?: string | undefined;
484
+ corpus?: string | undefined;
485
+ determinism_ratio?: number | undefined;
486
+ permission?: {
487
+ tier?: number | undefined;
488
+ network?: {
489
+ allow?: string[] | undefined;
490
+ methods?: string[] | undefined;
491
+ max_requests?: number | undefined;
492
+ max_bytes?: number | undefined;
493
+ } | undefined;
494
+ } | undefined;
495
+ timeout_ms?: number | undefined;
496
+ hydration?: Record<string, {
497
+ type: string;
498
+ description?: string | undefined;
499
+ required?: boolean | undefined;
500
+ binding?: "institution" | "gig" | undefined;
501
+ }> | undefined;
502
+ fixtures?: unknown[] | undefined;
503
+ md?: string | undefined;
504
+ }[] | undefined;
103
505
  model_tier?: "standard" | "economy" | "premium" | undefined;
104
506
  max_tool_calls?: number | undefined;
105
507
  max_token_budget?: number | undefined;
@@ -118,11 +520,27 @@ export declare const ChairSchema: z.ZodObject<{
118
520
  role: z.ZodString;
119
521
  agent_slug: z.ZodOptional<z.ZodString>;
120
522
  skill_slug: z.ZodOptional<z.ZodString>;
523
+ /** The human seat: the chair is an approval office held by a person. No agent, no skill —
524
+ * the incumbent's sealed verdict is the chair's output, and a gig that reaches this chair
525
+ * unapproved PARKS (awaiting_approval) rather than confabulating a yes. */
526
+ human: z.ZodOptional<z.ZodBoolean>;
121
527
  depends_on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
122
528
  input_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
123
529
  output_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
124
530
  optional_outputs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
531
+ /** The FLOOR. A skill named here must be held by whoever is seated — bound by slug or carried on
532
+ * the record — or the seating is refused at compose and the chair fails closed at run. */
125
533
  required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
534
+ /** The PREFERENCE. Technique this chair would rather its incumbent hold, stated without refusing
535
+ * the ones who do not: the roster of available agents is a fact about the world, not a defect,
536
+ * and a preference that refused a seating would be a second floor under another name. Nothing
537
+ * checks it at compose time — deliberately, including its names, since a chair may legitimately
538
+ * prefer a technique no agent in the genome has grown yet. */
539
+ preferred_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
540
+ /** The institution's side of a hydration contract, at the phase-chair level: slot name → the
541
+ * value that fills it. An institution-bound `required` slot on a skill the seated agent holds
542
+ * and nothing here (or on the institutional chair) fills is refused at compose. */
543
+ supplies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
126
544
  }, "strip", z.ZodTypeAny, {
127
545
  role: string;
128
546
  depends_on: string[];
@@ -130,17 +548,23 @@ export declare const ChairSchema: z.ZodObject<{
130
548
  output_contract: string[];
131
549
  optional_outputs: string[];
132
550
  required_skills: string[];
551
+ preferred_skills: string[];
133
552
  agent_slug?: string | undefined;
134
553
  skill_slug?: string | undefined;
554
+ human?: boolean | undefined;
555
+ supplies?: Record<string, unknown> | undefined;
135
556
  }, {
136
557
  role: string;
137
558
  agent_slug?: string | undefined;
138
559
  skill_slug?: string | undefined;
560
+ human?: boolean | undefined;
139
561
  depends_on?: string[] | undefined;
140
562
  input_contract?: string[] | undefined;
141
563
  output_contract?: string[] | undefined;
142
564
  optional_outputs?: string[] | undefined;
143
565
  required_skills?: string[] | undefined;
566
+ preferred_skills?: string[] | undefined;
567
+ supplies?: Record<string, unknown> | undefined;
144
568
  }>;
145
569
  export declare const PhaseSchema: z.ZodObject<{
146
570
  name: z.ZodString;
@@ -148,11 +572,27 @@ export declare const PhaseSchema: z.ZodObject<{
148
572
  role: z.ZodString;
149
573
  agent_slug: z.ZodOptional<z.ZodString>;
150
574
  skill_slug: z.ZodOptional<z.ZodString>;
575
+ /** The human seat: the chair is an approval office held by a person. No agent, no skill —
576
+ * the incumbent's sealed verdict is the chair's output, and a gig that reaches this chair
577
+ * unapproved PARKS (awaiting_approval) rather than confabulating a yes. */
578
+ human: z.ZodOptional<z.ZodBoolean>;
151
579
  depends_on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
152
580
  input_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
153
581
  output_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
154
582
  optional_outputs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
583
+ /** The FLOOR. A skill named here must be held by whoever is seated — bound by slug or carried on
584
+ * the record — or the seating is refused at compose and the chair fails closed at run. */
155
585
  required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
586
+ /** The PREFERENCE. Technique this chair would rather its incumbent hold, stated without refusing
587
+ * the ones who do not: the roster of available agents is a fact about the world, not a defect,
588
+ * and a preference that refused a seating would be a second floor under another name. Nothing
589
+ * checks it at compose time — deliberately, including its names, since a chair may legitimately
590
+ * prefer a technique no agent in the genome has grown yet. */
591
+ preferred_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
592
+ /** The institution's side of a hydration contract, at the phase-chair level: slot name → the
593
+ * value that fills it. An institution-bound `required` slot on a skill the seated agent holds
594
+ * and nothing here (or on the institutional chair) fills is refused at compose. */
595
+ supplies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
156
596
  }, "strip", z.ZodTypeAny, {
157
597
  role: string;
158
598
  depends_on: string[];
@@ -160,17 +600,23 @@ export declare const PhaseSchema: z.ZodObject<{
160
600
  output_contract: string[];
161
601
  optional_outputs: string[];
162
602
  required_skills: string[];
603
+ preferred_skills: string[];
163
604
  agent_slug?: string | undefined;
164
605
  skill_slug?: string | undefined;
606
+ human?: boolean | undefined;
607
+ supplies?: Record<string, unknown> | undefined;
165
608
  }, {
166
609
  role: string;
167
610
  agent_slug?: string | undefined;
168
611
  skill_slug?: string | undefined;
612
+ human?: boolean | undefined;
169
613
  depends_on?: string[] | undefined;
170
614
  input_contract?: string[] | undefined;
171
615
  output_contract?: string[] | undefined;
172
616
  optional_outputs?: string[] | undefined;
173
617
  required_skills?: string[] | undefined;
618
+ preferred_skills?: string[] | undefined;
619
+ supplies?: Record<string, unknown> | undefined;
174
620
  }>, "many">;
175
621
  }, "strip", z.ZodTypeAny, {
176
622
  name: string;
@@ -181,8 +627,11 @@ export declare const PhaseSchema: z.ZodObject<{
181
627
  output_contract: string[];
182
628
  optional_outputs: string[];
183
629
  required_skills: string[];
630
+ preferred_skills: string[];
184
631
  agent_slug?: string | undefined;
185
632
  skill_slug?: string | undefined;
633
+ human?: boolean | undefined;
634
+ supplies?: Record<string, unknown> | undefined;
186
635
  }[];
187
636
  }, {
188
637
  name: string;
@@ -190,11 +639,14 @@ export declare const PhaseSchema: z.ZodObject<{
190
639
  role: string;
191
640
  agent_slug?: string | undefined;
192
641
  skill_slug?: string | undefined;
642
+ human?: boolean | undefined;
193
643
  depends_on?: string[] | undefined;
194
644
  input_contract?: string[] | undefined;
195
645
  output_contract?: string[] | undefined;
196
646
  optional_outputs?: string[] | undefined;
197
647
  required_skills?: string[] | undefined;
648
+ preferred_skills?: string[] | undefined;
649
+ supplies?: Record<string, unknown> | undefined;
198
650
  }[];
199
651
  }>;
200
652
  /** Lifecycle status, shared by domain types and standards (#203). */
@@ -211,11 +663,27 @@ export declare const StandardSchema: z.ZodObject<{
211
663
  role: z.ZodString;
212
664
  agent_slug: z.ZodOptional<z.ZodString>;
213
665
  skill_slug: z.ZodOptional<z.ZodString>;
666
+ /** The human seat: the chair is an approval office held by a person. No agent, no skill —
667
+ * the incumbent's sealed verdict is the chair's output, and a gig that reaches this chair
668
+ * unapproved PARKS (awaiting_approval) rather than confabulating a yes. */
669
+ human: z.ZodOptional<z.ZodBoolean>;
214
670
  depends_on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
215
671
  input_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
216
672
  output_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
217
673
  optional_outputs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
674
+ /** The FLOOR. A skill named here must be held by whoever is seated — bound by slug or carried on
675
+ * the record — or the seating is refused at compose and the chair fails closed at run. */
218
676
  required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
677
+ /** The PREFERENCE. Technique this chair would rather its incumbent hold, stated without refusing
678
+ * the ones who do not: the roster of available agents is a fact about the world, not a defect,
679
+ * and a preference that refused a seating would be a second floor under another name. Nothing
680
+ * checks it at compose time — deliberately, including its names, since a chair may legitimately
681
+ * prefer a technique no agent in the genome has grown yet. */
682
+ preferred_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
683
+ /** The institution's side of a hydration contract, at the phase-chair level: slot name → the
684
+ * value that fills it. An institution-bound `required` slot on a skill the seated agent holds
685
+ * and nothing here (or on the institutional chair) fills is refused at compose. */
686
+ supplies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
219
687
  }, "strip", z.ZodTypeAny, {
220
688
  role: string;
221
689
  depends_on: string[];
@@ -223,17 +691,23 @@ export declare const StandardSchema: z.ZodObject<{
223
691
  output_contract: string[];
224
692
  optional_outputs: string[];
225
693
  required_skills: string[];
694
+ preferred_skills: string[];
226
695
  agent_slug?: string | undefined;
227
696
  skill_slug?: string | undefined;
697
+ human?: boolean | undefined;
698
+ supplies?: Record<string, unknown> | undefined;
228
699
  }, {
229
700
  role: string;
230
701
  agent_slug?: string | undefined;
231
702
  skill_slug?: string | undefined;
703
+ human?: boolean | undefined;
232
704
  depends_on?: string[] | undefined;
233
705
  input_contract?: string[] | undefined;
234
706
  output_contract?: string[] | undefined;
235
707
  optional_outputs?: string[] | undefined;
236
708
  required_skills?: string[] | undefined;
709
+ preferred_skills?: string[] | undefined;
710
+ supplies?: Record<string, unknown> | undefined;
237
711
  }>, "many">;
238
712
  }, "strip", z.ZodTypeAny, {
239
713
  name: string;
@@ -244,8 +718,11 @@ export declare const StandardSchema: z.ZodObject<{
244
718
  output_contract: string[];
245
719
  optional_outputs: string[];
246
720
  required_skills: string[];
721
+ preferred_skills: string[];
247
722
  agent_slug?: string | undefined;
248
723
  skill_slug?: string | undefined;
724
+ human?: boolean | undefined;
725
+ supplies?: Record<string, unknown> | undefined;
249
726
  }[];
250
727
  }, {
251
728
  name: string;
@@ -253,11 +730,14 @@ export declare const StandardSchema: z.ZodObject<{
253
730
  role: string;
254
731
  agent_slug?: string | undefined;
255
732
  skill_slug?: string | undefined;
733
+ human?: boolean | undefined;
256
734
  depends_on?: string[] | undefined;
257
735
  input_contract?: string[] | undefined;
258
736
  output_contract?: string[] | undefined;
259
737
  optional_outputs?: string[] | undefined;
260
738
  required_skills?: string[] | undefined;
739
+ preferred_skills?: string[] | undefined;
740
+ supplies?: Record<string, unknown> | undefined;
261
741
  }[];
262
742
  }>, "many">;
263
743
  eval_slugs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
@@ -277,18 +757,21 @@ export declare const StandardSchema: z.ZodObject<{
277
757
  output_contract: string[];
278
758
  optional_outputs: string[];
279
759
  required_skills: string[];
760
+ preferred_skills: string[];
280
761
  agent_slug?: string | undefined;
281
762
  skill_slug?: string | undefined;
763
+ human?: boolean | undefined;
764
+ supplies?: Record<string, unknown> | undefined;
282
765
  }[];
283
766
  }[];
284
767
  status?: "active" | "retired" | "deprecated" | undefined;
285
768
  input_types?: readonly string[] | undefined;
286
769
  output_types?: readonly string[] | undefined;
770
+ description?: string | undefined;
287
771
  agents?: unknown[] | undefined;
288
772
  agent_slugs?: string[] | undefined;
289
773
  eval_slugs?: readonly string[] | undefined;
290
774
  max_examine_rounds?: number | undefined;
291
- description?: string | undefined;
292
775
  }, {
293
776
  slug: string;
294
777
  domain: string;
@@ -298,168 +781,27 @@ export declare const StandardSchema: z.ZodObject<{
298
781
  role: string;
299
782
  agent_slug?: string | undefined;
300
783
  skill_slug?: string | undefined;
784
+ human?: boolean | undefined;
301
785
  depends_on?: string[] | undefined;
302
786
  input_contract?: string[] | undefined;
303
787
  output_contract?: string[] | undefined;
304
788
  optional_outputs?: string[] | undefined;
305
789
  required_skills?: string[] | undefined;
790
+ preferred_skills?: string[] | undefined;
791
+ supplies?: Record<string, unknown> | undefined;
306
792
  }[];
307
793
  }[];
308
794
  status?: "active" | "retired" | "deprecated" | undefined;
309
795
  input_types?: readonly string[] | undefined;
310
796
  output_types?: readonly string[] | undefined;
797
+ description?: string | undefined;
311
798
  agents?: unknown[] | undefined;
312
799
  agent_slugs?: string[] | undefined;
313
800
  eval_slugs?: readonly string[] | undefined;
314
801
  max_examine_rounds?: number | undefined;
315
- description?: string | undefined;
316
802
  }>;
317
803
  export type StandardInput = z.input<typeof StandardSchema>;
318
804
  export type StandardOutput = z.output<typeof StandardSchema>;
319
- export declare const NetworkGrantSchema: z.ZodObject<{
320
- allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
321
- methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
322
- max_requests: z.ZodOptional<z.ZodNumber>;
323
- max_bytes: z.ZodOptional<z.ZodNumber>;
324
- }, "strip", z.ZodTypeAny, {
325
- allow: string[];
326
- methods?: string[] | undefined;
327
- max_requests?: number | undefined;
328
- max_bytes?: number | undefined;
329
- }, {
330
- allow?: string[] | undefined;
331
- methods?: string[] | undefined;
332
- max_requests?: number | undefined;
333
- max_bytes?: number | undefined;
334
- }>;
335
- export declare const SkillPermissionSchema: z.ZodObject<{
336
- tier: z.ZodOptional<z.ZodNumber>;
337
- network: z.ZodOptional<z.ZodObject<{
338
- allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
339
- methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
340
- max_requests: z.ZodOptional<z.ZodNumber>;
341
- max_bytes: z.ZodOptional<z.ZodNumber>;
342
- }, "strip", z.ZodTypeAny, {
343
- allow: string[];
344
- methods?: string[] | undefined;
345
- max_requests?: number | undefined;
346
- max_bytes?: number | undefined;
347
- }, {
348
- allow?: string[] | undefined;
349
- methods?: string[] | undefined;
350
- max_requests?: number | undefined;
351
- max_bytes?: number | undefined;
352
- }>>;
353
- }, "strip", z.ZodTypeAny, {
354
- tier?: number | undefined;
355
- network?: {
356
- allow: string[];
357
- methods?: string[] | undefined;
358
- max_requests?: number | undefined;
359
- max_bytes?: number | undefined;
360
- } | undefined;
361
- }, {
362
- tier?: number | undefined;
363
- network?: {
364
- allow?: string[] | undefined;
365
- methods?: string[] | undefined;
366
- max_requests?: number | undefined;
367
- max_bytes?: number | undefined;
368
- } | undefined;
369
- }>;
370
- export declare const SkillSchema: z.ZodObject<{
371
- slug: z.ZodString;
372
- version: z.ZodOptional<z.ZodNumber>;
373
- skill_type: z.ZodOptional<z.ZodString>;
374
- input_type: z.ZodOptional<z.ZodString>;
375
- output_type: z.ZodOptional<z.ZodString>;
376
- corpus: z.ZodOptional<z.ZodString>;
377
- determinism_ratio: z.ZodOptional<z.ZodNumber>;
378
- permission: z.ZodOptional<z.ZodObject<{
379
- tier: z.ZodOptional<z.ZodNumber>;
380
- network: z.ZodOptional<z.ZodObject<{
381
- allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
382
- methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
383
- max_requests: z.ZodOptional<z.ZodNumber>;
384
- max_bytes: z.ZodOptional<z.ZodNumber>;
385
- }, "strip", z.ZodTypeAny, {
386
- allow: string[];
387
- methods?: string[] | undefined;
388
- max_requests?: number | undefined;
389
- max_bytes?: number | undefined;
390
- }, {
391
- allow?: string[] | undefined;
392
- methods?: string[] | undefined;
393
- max_requests?: number | undefined;
394
- max_bytes?: number | undefined;
395
- }>>;
396
- }, "strip", z.ZodTypeAny, {
397
- tier?: number | undefined;
398
- network?: {
399
- allow: string[];
400
- methods?: string[] | undefined;
401
- max_requests?: number | undefined;
402
- max_bytes?: number | undefined;
403
- } | undefined;
404
- }, {
405
- tier?: number | undefined;
406
- network?: {
407
- allow?: string[] | undefined;
408
- methods?: string[] | undefined;
409
- max_requests?: number | undefined;
410
- max_bytes?: number | undefined;
411
- } | undefined;
412
- }>>;
413
- description: z.ZodOptional<z.ZodString>;
414
- timeout_ms: z.ZodOptional<z.ZodNumber>;
415
- fixtures: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
416
- code: z.ZodOptional<z.ZodString>;
417
- md: z.ZodOptional<z.ZodString>;
418
- }, "strip", z.ZodTypeAny, {
419
- slug: string;
420
- version?: number | undefined;
421
- code?: string | undefined;
422
- description?: string | undefined;
423
- skill_type?: string | undefined;
424
- input_type?: string | undefined;
425
- output_type?: string | undefined;
426
- corpus?: string | undefined;
427
- determinism_ratio?: number | undefined;
428
- permission?: {
429
- tier?: number | undefined;
430
- network?: {
431
- allow: string[];
432
- methods?: string[] | undefined;
433
- max_requests?: number | undefined;
434
- max_bytes?: number | undefined;
435
- } | undefined;
436
- } | undefined;
437
- timeout_ms?: number | undefined;
438
- fixtures?: unknown[] | undefined;
439
- md?: string | undefined;
440
- }, {
441
- slug: string;
442
- version?: number | undefined;
443
- code?: string | undefined;
444
- description?: string | undefined;
445
- skill_type?: string | undefined;
446
- input_type?: string | undefined;
447
- output_type?: string | undefined;
448
- corpus?: string | undefined;
449
- determinism_ratio?: number | undefined;
450
- permission?: {
451
- tier?: number | undefined;
452
- network?: {
453
- allow?: string[] | undefined;
454
- methods?: string[] | undefined;
455
- max_requests?: number | undefined;
456
- max_bytes?: number | undefined;
457
- } | undefined;
458
- } | undefined;
459
- timeout_ms?: number | undefined;
460
- fixtures?: unknown[] | undefined;
461
- md?: string | undefined;
462
- }>;
463
805
  export declare const EvalSchema: z.ZodObject<{
464
806
  slug: z.ZodString;
465
807
  domain: z.ZodOptional<z.ZodString>;
@@ -508,8 +850,996 @@ export declare const DomainTypeSchema: z.ZodObject<{
508
850
  required_fields?: string[] | undefined;
509
851
  }>;
510
852
  export type SkillOutput = z.output<typeof SkillSchema>;
853
+ export type HydrationSlot = z.output<typeof HydrationSlotSchema>;
511
854
  export type EvalOutput = z.output<typeof EvalSchema>;
512
855
  export type DomainTypeOutput = z.output<typeof DomainTypeSchema>;
856
+ /** The typed lineage-edge vocabulary. Caps grant these; lineage edges are made of them. */
857
+ export declare const LineageEdgeTypeSchema: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
858
+ export declare const InstitutionSchema: z.ZodObject<{
859
+ id: z.ZodOptional<z.ZodString>;
860
+ slug: z.ZodString;
861
+ name: z.ZodString;
862
+ kind: z.ZodEnum<["institution", "personal"]>;
863
+ laws: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
864
+ wiki_space: z.ZodOptional<z.ZodString>;
865
+ sovereign: z.ZodDefault<z.ZodBoolean>;
866
+ }, "strip", z.ZodTypeAny, {
867
+ slug: string;
868
+ name: string;
869
+ kind: "institution" | "personal";
870
+ laws: string[];
871
+ sovereign: boolean;
872
+ id?: string | undefined;
873
+ wiki_space?: string | undefined;
874
+ }, {
875
+ slug: string;
876
+ name: string;
877
+ kind: "institution" | "personal";
878
+ id?: string | undefined;
879
+ laws?: string[] | undefined;
880
+ wiki_space?: string | undefined;
881
+ sovereign?: boolean | undefined;
882
+ }>;
883
+ export declare const OrganizationSchema: z.ZodObject<{
884
+ id: z.ZodOptional<z.ZodString>;
885
+ slug: z.ZodString;
886
+ name: z.ZodString;
887
+ charter: z.ZodDefault<z.ZodNullable<z.ZodString>>;
888
+ address: z.ZodOptional<z.ZodString>;
889
+ parent_org: z.ZodDefault<z.ZodNullable<z.ZodString>>;
890
+ }, "strip", z.ZodTypeAny, {
891
+ slug: string;
892
+ name: string;
893
+ charter: string | null;
894
+ parent_org: string | null;
895
+ id?: string | undefined;
896
+ address?: string | undefined;
897
+ }, {
898
+ slug: string;
899
+ name: string;
900
+ id?: string | undefined;
901
+ charter?: string | null | undefined;
902
+ address?: string | undefined;
903
+ parent_org?: string | null | undefined;
904
+ }>;
905
+ /** Membership/identity record: human and model agents on the SAME contract. */
906
+ export declare const AgentRecordSchema: z.ZodObject<{
907
+ id: z.ZodOptional<z.ZodString>;
908
+ slug: z.ZodString;
909
+ name: z.ZodString;
910
+ kind: z.ZodEnum<["human", "steve"]>;
911
+ is_institution: z.ZodDefault<z.ZodBoolean>;
912
+ skill_slugs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
913
+ status: z.ZodDefault<z.ZodEnum<["proposed", "named", "active", "retired"]>>;
914
+ named_from_forebear: z.ZodDefault<z.ZodNullable<z.ZodString>>;
915
+ auth_user_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
916
+ }, "strip", z.ZodTypeAny, {
917
+ slug: string;
918
+ status: "active" | "retired" | "proposed" | "named";
919
+ skill_slugs: string[];
920
+ name: string;
921
+ kind: "human" | "steve";
922
+ is_institution: boolean;
923
+ named_from_forebear: string | null;
924
+ auth_user_id: string | null;
925
+ id?: string | undefined;
926
+ }, {
927
+ slug: string;
928
+ name: string;
929
+ kind: "human" | "steve";
930
+ status?: "active" | "retired" | "proposed" | "named" | undefined;
931
+ skill_slugs?: string[] | undefined;
932
+ id?: string | undefined;
933
+ is_institution?: boolean | undefined;
934
+ named_from_forebear?: string | null | undefined;
935
+ auth_user_id?: string | null | undefined;
936
+ }>;
937
+ export declare const OrgMemberSchema: z.ZodObject<{
938
+ org_slug: z.ZodString;
939
+ agent_slug: z.ZodString;
940
+ }, "strip", z.ZodTypeAny, {
941
+ agent_slug: string;
942
+ org_slug: string;
943
+ }, {
944
+ agent_slug: string;
945
+ org_slug: string;
946
+ }>;
947
+ export declare const OrgInstitutionSchema: z.ZodObject<{
948
+ org_slug: z.ZodString;
949
+ institution_slug: z.ZodString;
950
+ }, "strip", z.ZodTypeAny, {
951
+ org_slug: string;
952
+ institution_slug: string;
953
+ }, {
954
+ org_slug: string;
955
+ institution_slug: string;
956
+ }>;
957
+ /** A capability grant: a typed lineage-edge scope, optionally expiring. The grant IS the policy. */
958
+ export declare const EdgeCapGrantSchema: z.ZodObject<{
959
+ edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
960
+ scope: z.ZodRecord<z.ZodString, z.ZodUnknown>;
961
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
962
+ }, "strip", z.ZodTypeAny, {
963
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
964
+ scope: Record<string, unknown>;
965
+ expires: string | null;
966
+ }, {
967
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
968
+ scope: Record<string, unknown>;
969
+ expires?: string | null | undefined;
970
+ }>;
971
+ /** The chair-contract dispatch grant — the office names which standards its incumbent may
972
+ * run. Authority sits on the chair; a credential presented by the incumbent may only
973
+ * narrow it, never widen it. (This is the shape the store's authorization function reads:
974
+ * a flat cap, not a scope smuggled inside a lineage edge.) */
975
+ export declare const DispatchCapGrantSchema: z.ZodObject<{
976
+ grant: z.ZodLiteral<"dispatch">;
977
+ standards: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
978
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
979
+ }, "strip", z.ZodTypeAny, {
980
+ expires: string | null;
981
+ grant: "dispatch";
982
+ standards: readonly string[];
983
+ }, {
984
+ grant: "dispatch";
985
+ standards: readonly string[];
986
+ expires?: string | null | undefined;
987
+ }>;
988
+ /** A chair cap is a lineage-edge grant or a dispatch grant. One union, one Zod source. */
989
+ export declare const CapGrantSchema: z.ZodUnion<[z.ZodObject<{
990
+ edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
991
+ scope: z.ZodRecord<z.ZodString, z.ZodUnknown>;
992
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
993
+ }, "strip", z.ZodTypeAny, {
994
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
995
+ scope: Record<string, unknown>;
996
+ expires: string | null;
997
+ }, {
998
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
999
+ scope: Record<string, unknown>;
1000
+ expires?: string | null | undefined;
1001
+ }>, z.ZodObject<{
1002
+ grant: z.ZodLiteral<"dispatch">;
1003
+ standards: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
1004
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1005
+ }, "strip", z.ZodTypeAny, {
1006
+ expires: string | null;
1007
+ grant: "dispatch";
1008
+ standards: readonly string[];
1009
+ }, {
1010
+ grant: "dispatch";
1011
+ standards: readonly string[];
1012
+ expires?: string | null | undefined;
1013
+ }>]>;
1014
+ /** The chair is the thing: the seat's configuration, not a person. */
1015
+ export declare const InstitutionalChairSchema: z.ZodObject<{
1016
+ id: z.ZodOptional<z.ZodString>;
1017
+ institution_slug: z.ZodString;
1018
+ role: z.ZodString;
1019
+ /** The human office: this chair is held by a person, never a model agent. */
1020
+ human: z.ZodOptional<z.ZodBoolean>;
1021
+ function: z.ZodEnum<["SENSE", "INTERPRET", "JUDGE", "PLAN", "CREATE", "VERIFY"]>;
1022
+ mission: z.ZodString;
1023
+ /** The floor: skills the office requires of whoever holds it. */
1024
+ required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1025
+ /** The preference: technique the office would rather its incumbent hold, stated without refusing
1026
+ * the agents who do not hold it. Same two-tier reading as the phase chair's. */
1027
+ preferred_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1028
+ /** The institution's data, delivered through the office: hydration slot name → the value that
1029
+ * fills it. This is where institution-specific content belongs — NOT inside the carried skill,
1030
+ * which is why the skill stays portable across institutions. */
1031
+ supplies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1032
+ caps: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
1033
+ edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
1034
+ scope: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1035
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1036
+ }, "strip", z.ZodTypeAny, {
1037
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1038
+ scope: Record<string, unknown>;
1039
+ expires: string | null;
1040
+ }, {
1041
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1042
+ scope: Record<string, unknown>;
1043
+ expires?: string | null | undefined;
1044
+ }>, z.ZodObject<{
1045
+ grant: z.ZodLiteral<"dispatch">;
1046
+ standards: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
1047
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1048
+ }, "strip", z.ZodTypeAny, {
1049
+ expires: string | null;
1050
+ grant: "dispatch";
1051
+ standards: readonly string[];
1052
+ }, {
1053
+ grant: "dispatch";
1054
+ standards: readonly string[];
1055
+ expires?: string | null | undefined;
1056
+ }>]>, "many">>;
1057
+ obligations: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1058
+ }, "strip", z.ZodTypeAny, {
1059
+ function: "SENSE" | "INTERPRET" | "JUDGE" | "PLAN" | "CREATE" | "VERIFY";
1060
+ role: string;
1061
+ required_skills: string[];
1062
+ preferred_skills: string[];
1063
+ institution_slug: string;
1064
+ mission: string;
1065
+ caps: ({
1066
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1067
+ scope: Record<string, unknown>;
1068
+ expires: string | null;
1069
+ } | {
1070
+ expires: string | null;
1071
+ grant: "dispatch";
1072
+ standards: readonly string[];
1073
+ })[];
1074
+ obligations: string[];
1075
+ human?: boolean | undefined;
1076
+ supplies?: Record<string, unknown> | undefined;
1077
+ id?: string | undefined;
1078
+ }, {
1079
+ function: "SENSE" | "INTERPRET" | "JUDGE" | "PLAN" | "CREATE" | "VERIFY";
1080
+ role: string;
1081
+ institution_slug: string;
1082
+ mission: string;
1083
+ human?: boolean | undefined;
1084
+ required_skills?: string[] | undefined;
1085
+ preferred_skills?: string[] | undefined;
1086
+ supplies?: Record<string, unknown> | undefined;
1087
+ id?: string | undefined;
1088
+ caps?: ({
1089
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1090
+ scope: Record<string, unknown>;
1091
+ expires?: string | null | undefined;
1092
+ } | {
1093
+ grant: "dispatch";
1094
+ standards: readonly string[];
1095
+ expires?: string | null | undefined;
1096
+ })[] | undefined;
1097
+ obligations?: string[] | undefined;
1098
+ }>;
1099
+ /** What a seating cited: a source and the claim read from it. Both required — a source with no
1100
+ * claim cites nothing in particular, and a claim with no source is a recollection. */
1101
+ export declare const TechniqueEvidenceSchema: z.ZodObject<{
1102
+ source: z.ZodString;
1103
+ claim: z.ZodString;
1104
+ }, "strip", z.ZodTypeAny, {
1105
+ source: string;
1106
+ claim: string;
1107
+ }, {
1108
+ source: string;
1109
+ claim: string;
1110
+ }>;
1111
+ /** A seat: a named agent bound into a chair for an org, witnessed.
1112
+ *
1113
+ * Seating is a JUDGEMENT — this player, this office — and `technique_evidence` makes it a recorded
1114
+ * one: the ledger queries, improvement reports, prior gig fingerprints or deterministic suite
1115
+ * results the decision weighed. Optional, because a seating may be made on no evidence at all;
1116
+ * what is not optional is the difference between the two, which is exactly what the field records. */
1117
+ export declare const ChairAssignmentSchema: z.ZodObject<{
1118
+ id: z.ZodOptional<z.ZodString>;
1119
+ chair_id: z.ZodString;
1120
+ agent_slug: z.ZodString;
1121
+ org_slug: z.ZodString;
1122
+ contract_caps: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
1123
+ edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
1124
+ scope: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1125
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1126
+ }, "strip", z.ZodTypeAny, {
1127
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1128
+ scope: Record<string, unknown>;
1129
+ expires: string | null;
1130
+ }, {
1131
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1132
+ scope: Record<string, unknown>;
1133
+ expires?: string | null | undefined;
1134
+ }>, z.ZodObject<{
1135
+ grant: z.ZodLiteral<"dispatch">;
1136
+ standards: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
1137
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1138
+ }, "strip", z.ZodTypeAny, {
1139
+ expires: string | null;
1140
+ grant: "dispatch";
1141
+ standards: readonly string[];
1142
+ }, {
1143
+ grant: "dispatch";
1144
+ standards: readonly string[];
1145
+ expires?: string | null | undefined;
1146
+ }>]>, "many">>;
1147
+ technique_evidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
1148
+ source: z.ZodString;
1149
+ claim: z.ZodString;
1150
+ }, "strip", z.ZodTypeAny, {
1151
+ source: string;
1152
+ claim: string;
1153
+ }, {
1154
+ source: string;
1155
+ claim: string;
1156
+ }>, "many">>;
1157
+ witnessed_by: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1158
+ }, "strip", z.ZodTypeAny, {
1159
+ agent_slug: string;
1160
+ org_slug: string;
1161
+ chair_id: string;
1162
+ contract_caps: ({
1163
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1164
+ scope: Record<string, unknown>;
1165
+ expires: string | null;
1166
+ } | {
1167
+ expires: string | null;
1168
+ grant: "dispatch";
1169
+ standards: readonly string[];
1170
+ })[];
1171
+ witnessed_by: string | null;
1172
+ id?: string | undefined;
1173
+ technique_evidence?: {
1174
+ source: string;
1175
+ claim: string;
1176
+ }[] | undefined;
1177
+ }, {
1178
+ agent_slug: string;
1179
+ org_slug: string;
1180
+ chair_id: string;
1181
+ id?: string | undefined;
1182
+ contract_caps?: ({
1183
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1184
+ scope: Record<string, unknown>;
1185
+ expires?: string | null | undefined;
1186
+ } | {
1187
+ grant: "dispatch";
1188
+ standards: readonly string[];
1189
+ expires?: string | null | undefined;
1190
+ })[] | undefined;
1191
+ technique_evidence?: {
1192
+ source: string;
1193
+ claim: string;
1194
+ }[] | undefined;
1195
+ witnessed_by?: string | null | undefined;
1196
+ }>;
1197
+ /** Cross-institution exposure happens only by contract across the wall. */
1198
+ export declare const ExchangeContractSchema: z.ZodObject<{
1199
+ id: z.ZodOptional<z.ZodString>;
1200
+ from_institution: z.ZodString;
1201
+ to_institution: z.ZodString;
1202
+ caps: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
1203
+ edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
1204
+ scope: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1205
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1206
+ }, "strip", z.ZodTypeAny, {
1207
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1208
+ scope: Record<string, unknown>;
1209
+ expires: string | null;
1210
+ }, {
1211
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1212
+ scope: Record<string, unknown>;
1213
+ expires?: string | null | undefined;
1214
+ }>, z.ZodObject<{
1215
+ grant: z.ZodLiteral<"dispatch">;
1216
+ standards: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
1217
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1218
+ }, "strip", z.ZodTypeAny, {
1219
+ expires: string | null;
1220
+ grant: "dispatch";
1221
+ standards: readonly string[];
1222
+ }, {
1223
+ grant: "dispatch";
1224
+ standards: readonly string[];
1225
+ expires?: string | null | undefined;
1226
+ }>]>, "many">>;
1227
+ witnessed_by: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1228
+ }, "strip", z.ZodTypeAny, {
1229
+ caps: ({
1230
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1231
+ scope: Record<string, unknown>;
1232
+ expires: string | null;
1233
+ } | {
1234
+ expires: string | null;
1235
+ grant: "dispatch";
1236
+ standards: readonly string[];
1237
+ })[];
1238
+ witnessed_by: string | null;
1239
+ from_institution: string;
1240
+ to_institution: string;
1241
+ id?: string | undefined;
1242
+ }, {
1243
+ from_institution: string;
1244
+ to_institution: string;
1245
+ id?: string | undefined;
1246
+ caps?: ({
1247
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1248
+ scope: Record<string, unknown>;
1249
+ expires?: string | null | undefined;
1250
+ } | {
1251
+ grant: "dispatch";
1252
+ standards: readonly string[];
1253
+ expires?: string | null | undefined;
1254
+ })[] | undefined;
1255
+ witnessed_by?: string | null | undefined;
1256
+ }>;
1257
+ export declare const ForebearSchema: z.ZodObject<{
1258
+ slug: z.ZodString;
1259
+ institution_slug: z.ZodString;
1260
+ name: z.ZodString;
1261
+ domain: z.ZodOptional<z.ZodString>;
1262
+ what_taken: z.ZodOptional<z.ZodString>;
1263
+ kind: z.ZodOptional<z.ZodString>;
1264
+ }, "strip", z.ZodTypeAny, {
1265
+ slug: string;
1266
+ name: string;
1267
+ institution_slug: string;
1268
+ domain?: string | undefined;
1269
+ kind?: string | undefined;
1270
+ what_taken?: string | undefined;
1271
+ }, {
1272
+ slug: string;
1273
+ name: string;
1274
+ institution_slug: string;
1275
+ domain?: string | undefined;
1276
+ kind?: string | undefined;
1277
+ what_taken?: string | undefined;
1278
+ }>;
1279
+ export declare const NorthstarSchema: z.ZodObject<{
1280
+ slug: z.ZodString;
1281
+ institution_slug: z.ZodString;
1282
+ ordinal: z.ZodOptional<z.ZodNumber>;
1283
+ kind: z.ZodOptional<z.ZodString>;
1284
+ title: z.ZodString;
1285
+ statement: z.ZodString;
1286
+ source: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1287
+ quote: z.ZodOptional<z.ZodString>;
1288
+ }, "strip", z.ZodTypeAny, {
1289
+ slug: string;
1290
+ institution_slug: string;
1291
+ title: string;
1292
+ statement: string;
1293
+ kind?: string | undefined;
1294
+ source?: Record<string, unknown> | undefined;
1295
+ ordinal?: number | undefined;
1296
+ quote?: string | undefined;
1297
+ }, {
1298
+ slug: string;
1299
+ institution_slug: string;
1300
+ title: string;
1301
+ statement: string;
1302
+ kind?: string | undefined;
1303
+ source?: Record<string, unknown> | undefined;
1304
+ ordinal?: number | undefined;
1305
+ quote?: string | undefined;
1306
+ }>;
1307
+ export declare const LineageEdgeSchema: z.ZodObject<{
1308
+ id: z.ZodOptional<z.ZodNumber>;
1309
+ institution_slug: z.ZodString;
1310
+ edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
1311
+ from_node: z.ZodString;
1312
+ to_node: z.ZodString;
1313
+ kind: z.ZodOptional<z.ZodString>;
1314
+ source: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1315
+ }, "strip", z.ZodTypeAny, {
1316
+ institution_slug: string;
1317
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1318
+ from_node: string;
1319
+ to_node: string;
1320
+ id?: number | undefined;
1321
+ kind?: string | undefined;
1322
+ source?: Record<string, unknown> | undefined;
1323
+ }, {
1324
+ institution_slug: string;
1325
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1326
+ from_node: string;
1327
+ to_node: string;
1328
+ id?: number | undefined;
1329
+ kind?: string | undefined;
1330
+ source?: Record<string, unknown> | undefined;
1331
+ }>;
1332
+ /** The issued org service key DOCUMENT — self-describing (key id, org scope, issuer, scopes,
1333
+ * endpoints) so downstream images have a uniform understanding of what they hold. STRICT by
1334
+ * construction: the secret has no field to live in, so a record carrying key material fails to
1335
+ * parse. Org-scoped because the organization is the resource-usage boundary. Never a platform
1336
+ * service_role. */
1337
+ export declare const OrgServiceKeySchema: z.ZodObject<{
1338
+ key_id: z.ZodString;
1339
+ org_slug: z.ZodString;
1340
+ issuer: z.ZodString;
1341
+ scopes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1342
+ endpoints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1343
+ issued_at: z.ZodOptional<z.ZodString>;
1344
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1345
+ status: z.ZodDefault<z.ZodEnum<["active", "revoked"]>>;
1346
+ }, "strict", z.ZodTypeAny, {
1347
+ status: "active" | "revoked";
1348
+ org_slug: string;
1349
+ expires: string | null;
1350
+ key_id: string;
1351
+ issuer: string;
1352
+ scopes: string[];
1353
+ endpoints?: Record<string, string> | undefined;
1354
+ issued_at?: string | undefined;
1355
+ }, {
1356
+ org_slug: string;
1357
+ key_id: string;
1358
+ issuer: string;
1359
+ status?: "active" | "revoked" | undefined;
1360
+ expires?: string | null | undefined;
1361
+ scopes?: string[] | undefined;
1362
+ endpoints?: Record<string, string> | undefined;
1363
+ issued_at?: string | undefined;
1364
+ }>;
1365
+ export type InstitutionOutput = z.output<typeof InstitutionSchema>;
1366
+ export type OrganizationOutput = z.output<typeof OrganizationSchema>;
1367
+ export type AgentRecordOutput = z.output<typeof AgentRecordSchema>;
1368
+ export type CapGrant = z.output<typeof CapGrantSchema>;
1369
+ export type InstitutionalChairOutput = z.output<typeof InstitutionalChairSchema>;
1370
+ export type ChairAssignmentOutput = z.output<typeof ChairAssignmentSchema>;
1371
+ export type TechniqueEvidence = z.output<typeof TechniqueEvidenceSchema>;
1372
+ export type ExchangeContractOutput = z.output<typeof ExchangeContractSchema>;
1373
+ export type ForebearOutput = z.output<typeof ForebearSchema>;
1374
+ export type NorthstarOutput = z.output<typeof NorthstarSchema>;
1375
+ export type LineageEdgeOutput = z.output<typeof LineageEdgeSchema>;
1376
+ export type OrgServiceKeyOutput = z.output<typeof OrgServiceKeySchema>;
1377
+ /** One typed edge: a type the source movement seals, consumed by the sink movement's entry chairs. */
1378
+ export declare const ChartEdgeSchema: z.ZodObject<{
1379
+ from_movement: z.ZodString;
1380
+ to_movement: z.ZodString;
1381
+ output_type: z.ZodString;
1382
+ /** true = a CONDITIONAL edge: the type lives only in a terminal chair's `optional_outputs`,
1383
+ * so the flow may legitimately carry nothing. Compose classifies it; it cannot prove the
1384
+ * optional output will be produced, which is why a conditional edge never satisfies a
1385
+ * REQUIRED entry slot (src/chart.ts R6/R7). */
1386
+ optional: z.ZodDefault<z.ZodBoolean>;
1387
+ }, "strict", z.ZodTypeAny, {
1388
+ output_type: string;
1389
+ from_movement: string;
1390
+ to_movement: string;
1391
+ optional: boolean;
1392
+ }, {
1393
+ output_type: string;
1394
+ from_movement: string;
1395
+ to_movement: string;
1396
+ optional?: boolean | undefined;
1397
+ }>;
1398
+ /** Who plays which chair for this movement — a recorded act, optionally with its evidence. */
1399
+ export declare const ChartSeatingSchema: z.ZodObject<{
1400
+ chair: z.ZodString;
1401
+ agent_slug: z.ZodString;
1402
+ technique_evidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
1403
+ source: z.ZodString;
1404
+ claim: z.ZodString;
1405
+ }, "strip", z.ZodTypeAny, {
1406
+ source: string;
1407
+ claim: string;
1408
+ }, {
1409
+ source: string;
1410
+ claim: string;
1411
+ }>, "many">>;
1412
+ }, "strict", z.ZodTypeAny, {
1413
+ agent_slug: string;
1414
+ chair: string;
1415
+ technique_evidence?: {
1416
+ source: string;
1417
+ claim: string;
1418
+ }[] | undefined;
1419
+ }, {
1420
+ agent_slug: string;
1421
+ chair: string;
1422
+ technique_evidence?: {
1423
+ source: string;
1424
+ claim: string;
1425
+ }[] | undefined;
1426
+ }>;
1427
+ /** One movement: a standard, its gig-bound hydration arguments, and its seatings.
1428
+ *
1429
+ * `movement_id` — NOT `standard_slug` — is the identity everything keys on: the checkpoint
1430
+ * namespace, the reuse-cache namespace, the edge endpoints. That is what lets one standard
1431
+ * appear twice in a chart without the two instances sharing cached results. */
1432
+ export declare const ChartMovementSchema: z.ZodObject<{
1433
+ movement_id: z.ZodString;
1434
+ standard_slug: z.ZodString;
1435
+ runtime_fills: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1436
+ seatings: z.ZodDefault<z.ZodArray<z.ZodObject<{
1437
+ chair: z.ZodString;
1438
+ agent_slug: z.ZodString;
1439
+ technique_evidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
1440
+ source: z.ZodString;
1441
+ claim: z.ZodString;
1442
+ }, "strip", z.ZodTypeAny, {
1443
+ source: string;
1444
+ claim: string;
1445
+ }, {
1446
+ source: string;
1447
+ claim: string;
1448
+ }>, "many">>;
1449
+ }, "strict", z.ZodTypeAny, {
1450
+ agent_slug: string;
1451
+ chair: string;
1452
+ technique_evidence?: {
1453
+ source: string;
1454
+ claim: string;
1455
+ }[] | undefined;
1456
+ }, {
1457
+ agent_slug: string;
1458
+ chair: string;
1459
+ technique_evidence?: {
1460
+ source: string;
1461
+ claim: string;
1462
+ }[] | undefined;
1463
+ }>, "many">>;
1464
+ }, "strict", z.ZodTypeAny, {
1465
+ movement_id: string;
1466
+ standard_slug: string;
1467
+ runtime_fills: Record<string, unknown>;
1468
+ seatings: {
1469
+ agent_slug: string;
1470
+ chair: string;
1471
+ technique_evidence?: {
1472
+ source: string;
1473
+ claim: string;
1474
+ }[] | undefined;
1475
+ }[];
1476
+ }, {
1477
+ movement_id: string;
1478
+ standard_slug: string;
1479
+ runtime_fills?: Record<string, unknown> | undefined;
1480
+ seatings?: {
1481
+ agent_slug: string;
1482
+ chair: string;
1483
+ technique_evidence?: {
1484
+ source: string;
1485
+ claim: string;
1486
+ }[] | undefined;
1487
+ }[] | undefined;
1488
+ }>;
1489
+ /** A human seat between movements. Parks on `deps.approvals[gate_id]`. */
1490
+ export declare const ChartApprovalGateSchema: z.ZodObject<{
1491
+ gate_id: z.ZodString;
1492
+ after_movement: z.ZodString;
1493
+ before_movement: z.ZodString;
1494
+ chair: z.ZodString;
1495
+ prompt: z.ZodOptional<z.ZodString>;
1496
+ }, "strict", z.ZodTypeAny, {
1497
+ chair: string;
1498
+ gate_id: string;
1499
+ after_movement: string;
1500
+ before_movement: string;
1501
+ prompt?: string | undefined;
1502
+ }, {
1503
+ chair: string;
1504
+ gate_id: string;
1505
+ after_movement: string;
1506
+ before_movement: string;
1507
+ prompt?: string | undefined;
1508
+ }>;
1509
+ /** The ceiling for the whole performance, in real money. */
1510
+ export declare const ChartBudgetEnvelopeSchema: z.ZodObject<{
1511
+ total_usd: z.ZodNumber;
1512
+ }, "strict", z.ZodTypeAny, {
1513
+ total_usd: number;
1514
+ }, {
1515
+ total_usd: number;
1516
+ }>;
1517
+ export declare const ChartSchema: z.ZodObject<{
1518
+ slug: z.ZodString;
1519
+ movements: z.ZodArray<z.ZodObject<{
1520
+ movement_id: z.ZodString;
1521
+ standard_slug: z.ZodString;
1522
+ runtime_fills: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1523
+ seatings: z.ZodDefault<z.ZodArray<z.ZodObject<{
1524
+ chair: z.ZodString;
1525
+ agent_slug: z.ZodString;
1526
+ technique_evidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
1527
+ source: z.ZodString;
1528
+ claim: z.ZodString;
1529
+ }, "strip", z.ZodTypeAny, {
1530
+ source: string;
1531
+ claim: string;
1532
+ }, {
1533
+ source: string;
1534
+ claim: string;
1535
+ }>, "many">>;
1536
+ }, "strict", z.ZodTypeAny, {
1537
+ agent_slug: string;
1538
+ chair: string;
1539
+ technique_evidence?: {
1540
+ source: string;
1541
+ claim: string;
1542
+ }[] | undefined;
1543
+ }, {
1544
+ agent_slug: string;
1545
+ chair: string;
1546
+ technique_evidence?: {
1547
+ source: string;
1548
+ claim: string;
1549
+ }[] | undefined;
1550
+ }>, "many">>;
1551
+ }, "strict", z.ZodTypeAny, {
1552
+ movement_id: string;
1553
+ standard_slug: string;
1554
+ runtime_fills: Record<string, unknown>;
1555
+ seatings: {
1556
+ agent_slug: string;
1557
+ chair: string;
1558
+ technique_evidence?: {
1559
+ source: string;
1560
+ claim: string;
1561
+ }[] | undefined;
1562
+ }[];
1563
+ }, {
1564
+ movement_id: string;
1565
+ standard_slug: string;
1566
+ runtime_fills?: Record<string, unknown> | undefined;
1567
+ seatings?: {
1568
+ agent_slug: string;
1569
+ chair: string;
1570
+ technique_evidence?: {
1571
+ source: string;
1572
+ claim: string;
1573
+ }[] | undefined;
1574
+ }[] | undefined;
1575
+ }>, "many">;
1576
+ edges: z.ZodDefault<z.ZodArray<z.ZodObject<{
1577
+ from_movement: z.ZodString;
1578
+ to_movement: z.ZodString;
1579
+ output_type: z.ZodString;
1580
+ /** true = a CONDITIONAL edge: the type lives only in a terminal chair's `optional_outputs`,
1581
+ * so the flow may legitimately carry nothing. Compose classifies it; it cannot prove the
1582
+ * optional output will be produced, which is why a conditional edge never satisfies a
1583
+ * REQUIRED entry slot (src/chart.ts R6/R7). */
1584
+ optional: z.ZodDefault<z.ZodBoolean>;
1585
+ }, "strict", z.ZodTypeAny, {
1586
+ output_type: string;
1587
+ from_movement: string;
1588
+ to_movement: string;
1589
+ optional: boolean;
1590
+ }, {
1591
+ output_type: string;
1592
+ from_movement: string;
1593
+ to_movement: string;
1594
+ optional?: boolean | undefined;
1595
+ }>, "many">>;
1596
+ approval_gates: z.ZodDefault<z.ZodArray<z.ZodObject<{
1597
+ gate_id: z.ZodString;
1598
+ after_movement: z.ZodString;
1599
+ before_movement: z.ZodString;
1600
+ chair: z.ZodString;
1601
+ prompt: z.ZodOptional<z.ZodString>;
1602
+ }, "strict", z.ZodTypeAny, {
1603
+ chair: string;
1604
+ gate_id: string;
1605
+ after_movement: string;
1606
+ before_movement: string;
1607
+ prompt?: string | undefined;
1608
+ }, {
1609
+ chair: string;
1610
+ gate_id: string;
1611
+ after_movement: string;
1612
+ before_movement: string;
1613
+ prompt?: string | undefined;
1614
+ }>, "many">>;
1615
+ budget_envelope: z.ZodOptional<z.ZodObject<{
1616
+ total_usd: z.ZodNumber;
1617
+ }, "strict", z.ZodTypeAny, {
1618
+ total_usd: number;
1619
+ }, {
1620
+ total_usd: number;
1621
+ }>>;
1622
+ /** The VENUE this performance is held in, by slug — a `VenueSchema` in the genome (below).
1623
+ *
1624
+ * A slug, never an inline room: the venue is an institution-level object shared by whichever
1625
+ * arrangement is fit for it, so it is named here and defined once there. A slug that resolves
1626
+ * to no venue is a dead name and `composeChart` refuses the chart (R10), exactly as an
1627
+ * unresolvable tool grant refuses a dispatch.
1628
+ *
1629
+ * Deliberately NOT folded into `chart_hash`: a room is environment, not structure. Two runs of
1630
+ * the same arrangement in differently-configured rooms share an arrangement identity; what
1631
+ * distinguishes them belongs to the run's own record, not the chart's. */
1632
+ venue: z.ZodOptional<z.ZodString>;
1633
+ }, "strict", z.ZodTypeAny, {
1634
+ slug: string;
1635
+ movements: {
1636
+ movement_id: string;
1637
+ standard_slug: string;
1638
+ runtime_fills: Record<string, unknown>;
1639
+ seatings: {
1640
+ agent_slug: string;
1641
+ chair: string;
1642
+ technique_evidence?: {
1643
+ source: string;
1644
+ claim: string;
1645
+ }[] | undefined;
1646
+ }[];
1647
+ }[];
1648
+ edges: {
1649
+ output_type: string;
1650
+ from_movement: string;
1651
+ to_movement: string;
1652
+ optional: boolean;
1653
+ }[];
1654
+ approval_gates: {
1655
+ chair: string;
1656
+ gate_id: string;
1657
+ after_movement: string;
1658
+ before_movement: string;
1659
+ prompt?: string | undefined;
1660
+ }[];
1661
+ budget_envelope?: {
1662
+ total_usd: number;
1663
+ } | undefined;
1664
+ venue?: string | undefined;
1665
+ }, {
1666
+ slug: string;
1667
+ movements: {
1668
+ movement_id: string;
1669
+ standard_slug: string;
1670
+ runtime_fills?: Record<string, unknown> | undefined;
1671
+ seatings?: {
1672
+ agent_slug: string;
1673
+ chair: string;
1674
+ technique_evidence?: {
1675
+ source: string;
1676
+ claim: string;
1677
+ }[] | undefined;
1678
+ }[] | undefined;
1679
+ }[];
1680
+ edges?: {
1681
+ output_type: string;
1682
+ from_movement: string;
1683
+ to_movement: string;
1684
+ optional?: boolean | undefined;
1685
+ }[] | undefined;
1686
+ approval_gates?: {
1687
+ chair: string;
1688
+ gate_id: string;
1689
+ after_movement: string;
1690
+ before_movement: string;
1691
+ prompt?: string | undefined;
1692
+ }[] | undefined;
1693
+ budget_envelope?: {
1694
+ total_usd: number;
1695
+ } | undefined;
1696
+ venue?: string | undefined;
1697
+ }>;
1698
+ export type ChartInput = z.input<typeof ChartSchema>;
1699
+ export type ChartOutput = z.output<typeof ChartSchema>;
1700
+ export type ChartMovementOutput = z.output<typeof ChartMovementSchema>;
1701
+ export type ChartEdgeOutput = z.output<typeof ChartEdgeSchema>;
1702
+ export type ChartApprovalGateOutput = z.output<typeof ChartApprovalGateSchema>;
1703
+ export type ChartSeatingOutput = z.output<typeof ChartSeatingSchema>;
1704
+ /** The room's equipment: a deny-by-default allowlist of tool grants, in the same vocabulary as an
1705
+ * agent's `allowed_tools`. A venue with no tools holds nothing — not "read-only tools", nothing. */
1706
+ export declare const VenueEquipmentSchema: z.ZodObject<{
1707
+ tools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1708
+ }, "strict", z.ZodTypeAny, {
1709
+ tools: string[];
1710
+ }, {
1711
+ tools?: string[] | undefined;
1712
+ }>;
1713
+ export declare const VenueDoorsSchema: z.ZodObject<{
1714
+ ingress: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1715
+ egress: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1716
+ }, "strict", z.ZodTypeAny, {
1717
+ ingress: string[];
1718
+ egress: string[];
1719
+ }, {
1720
+ ingress?: string[] | undefined;
1721
+ egress?: string[] | undefined;
1722
+ }>;
1723
+ /** Lifecycle. Ephemeral is the default: the contract is the durable object and the realization is
1724
+ * disposable, because everything a standing room accumulates — drift, residue from prior gigs,
1725
+ * standing credentials, warm state — is exactly the class of thing no output's `input_shas` can
1726
+ * cover. `standing` is permitted as a named exception and owes a rebuild cadence (venueDefect). */
1727
+ export declare const VenueLifecycleSchema: z.ZodObject<{
1728
+ policy: z.ZodDefault<z.ZodEnum<["ephemeral", "standing"]>>;
1729
+ /** ISO-8601 duration or cron-shaped cadence — read by the responsible office, not the engine. */
1730
+ rebuild_cadence: z.ZodOptional<z.ZodString>;
1731
+ }, "strict", z.ZodTypeAny, {
1732
+ policy: "ephemeral" | "standing";
1733
+ rebuild_cadence?: string | undefined;
1734
+ }, {
1735
+ policy?: "ephemeral" | "standing" | undefined;
1736
+ rebuild_cadence?: string | undefined;
1737
+ }>;
1738
+ export declare const VenueSchema: z.ZodObject<{
1739
+ slug: z.ZodString;
1740
+ /** Exactly one owning institution. The institution is the duty holder; the office below is the
1741
+ * appointed accountable individual. */
1742
+ institution_slug: z.ZodString;
1743
+ /** Why this room is shaped the way it is — read at review, never at runtime. */
1744
+ description: z.ZodOptional<z.ZodString>;
1745
+ /** The base kind of room (e.g. "ingest-empty", "code-work"). A label for humans and for
1746
+ * "which room does this work want", not a resolvable reference. */
1747
+ flavor: z.ZodOptional<z.ZodString>;
1748
+ /** Defaulted, not required, and the default is the EMPTY room. Every access-shaped field here
1749
+ * leans the same way: absent doors reach nothing, absent installs install nothing, an absent
1750
+ * credential surface permits nothing. A venue that forgot to state its equipment must hold
1751
+ * nothing rather than hold whatever the reader assumed — and both doors into this class (the
1752
+ * loader and venue_define) get that from the one schema rather than from two agreeing habits. */
1753
+ equipment: z.ZodDefault<z.ZodObject<{
1754
+ tools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1755
+ }, "strict", z.ZodTypeAny, {
1756
+ tools: string[];
1757
+ }, {
1758
+ tools?: string[] | undefined;
1759
+ }>>;
1760
+ doors: z.ZodOptional<z.ZodObject<{
1761
+ ingress: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1762
+ egress: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1763
+ }, "strict", z.ZodTypeAny, {
1764
+ ingress: string[];
1765
+ egress: string[];
1766
+ }, {
1767
+ ingress?: string[] | undefined;
1768
+ egress?: string[] | undefined;
1769
+ }>>;
1770
+ /** Digest-pinned software the room contains. */
1771
+ installs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1772
+ /** Which CLASSES of credential may legitimately be present, by name. Never material, and never
1773
+ * a field material could occupy: a room that declares nothing here is a room where finding a
1774
+ * credential is a breach rather than a configuration difference. */
1775
+ credential_surface: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1776
+ lifecycle: z.ZodDefault<z.ZodObject<{
1777
+ policy: z.ZodDefault<z.ZodEnum<["ephemeral", "standing"]>>;
1778
+ /** ISO-8601 duration or cron-shaped cadence — read by the responsible office, not the engine. */
1779
+ rebuild_cadence: z.ZodOptional<z.ZodString>;
1780
+ }, "strict", z.ZodTypeAny, {
1781
+ policy: "ephemeral" | "standing";
1782
+ rebuild_cadence?: string | undefined;
1783
+ }, {
1784
+ policy?: "ephemeral" | "standing" | undefined;
1785
+ rebuild_cadence?: string | undefined;
1786
+ }>>;
1787
+ /** The accountable office: an institutional chair id (the office, not its incumbent). One named
1788
+ * duty-holder answers for the room and for what it permits. */
1789
+ responsible_chair: z.ZodOptional<z.ZodString>;
1790
+ }, "strict", z.ZodTypeAny, {
1791
+ slug: string;
1792
+ institution_slug: string;
1793
+ equipment: {
1794
+ tools: string[];
1795
+ };
1796
+ installs: string[];
1797
+ credential_surface: string[];
1798
+ lifecycle: {
1799
+ policy: "ephemeral" | "standing";
1800
+ rebuild_cadence?: string | undefined;
1801
+ };
1802
+ description?: string | undefined;
1803
+ flavor?: string | undefined;
1804
+ doors?: {
1805
+ ingress: string[];
1806
+ egress: string[];
1807
+ } | undefined;
1808
+ responsible_chair?: string | undefined;
1809
+ }, {
1810
+ slug: string;
1811
+ institution_slug: string;
1812
+ description?: string | undefined;
1813
+ flavor?: string | undefined;
1814
+ equipment?: {
1815
+ tools?: string[] | undefined;
1816
+ } | undefined;
1817
+ doors?: {
1818
+ ingress?: string[] | undefined;
1819
+ egress?: string[] | undefined;
1820
+ } | undefined;
1821
+ installs?: string[] | undefined;
1822
+ credential_surface?: string[] | undefined;
1823
+ lifecycle?: {
1824
+ policy?: "ephemeral" | "standing" | undefined;
1825
+ rebuild_cadence?: string | undefined;
1826
+ } | undefined;
1827
+ responsible_chair?: string | undefined;
1828
+ }>;
1829
+ export type VenueInput = z.input<typeof VenueSchema>;
1830
+ export type VenueOutput = z.output<typeof VenueSchema>;
1831
+ /**
1832
+ * Cross-field venue rules — the ones a single field cannot state.
1833
+ *
1834
+ * A separate function rather than a `.superRefine`, on purpose and by the existing idiom
1835
+ * (`domainTypeDefect` in src/registry.ts): the MCP write-surface is generated from
1836
+ * `zodToMcpProps(VenueSchema)`, which needs a plain `ZodObject` with a `.shape`, and a refined
1837
+ * schema is a `ZodEffects` that has neither. So both doors — the loader and `venue_define` — call
1838
+ * `VenueSchema.safeParse` and then this, and a rule enforced at one door is enforced at both.
1839
+ *
1840
+ * Returns the teaching message, or null when the venue is sound.
1841
+ */
1842
+ export declare function venueDefect(venue: VenueOutput): string | null;
513
1843
  type JsonType = "string" | "number" | "boolean" | "array" | "object";
514
1844
  /** The MCP `properties` map (field → JSON type) for a genome class schema. */
515
1845
  export declare function zodToMcpProps(schema: z.ZodObject<z.ZodRawShape>): Record<string, JsonType>;