@mmnto/totem 1.57.0 → 1.58.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.
- package/dist/artifacts/schema.d.ts +197 -32
- package/dist/artifacts/schema.d.ts.map +1 -1
- package/dist/artifacts/schema.js +66 -1
- package/dist/artifacts/schema.js.map +1 -1
- package/dist/artifacts/schema.test.js +75 -1
- package/dist/artifacts/schema.test.js.map +1 -1
- package/dist/compile-cache.d.ts +4 -4
- package/dist/config-schema.d.ts +390 -0
- package/dist/config-schema.d.ts.map +1 -1
- package/dist/config-schema.js +17 -0
- package/dist/config-schema.js.map +1 -1
- package/dist/config-schema.test.js +57 -0
- package/dist/config-schema.test.js.map +1 -1
- package/dist/embedders/gemini-embedder.d.ts.map +1 -1
- package/dist/embedders/gemini-embedder.js +9 -1
- package/dist/embedders/gemini-embedder.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/missing-sdk.d.ts +39 -0
- package/dist/missing-sdk.d.ts.map +1 -0
- package/dist/missing-sdk.js +92 -0
- package/dist/missing-sdk.js.map +1 -0
- package/dist/missing-sdk.test.d.ts +2 -0
- package/dist/missing-sdk.test.d.ts.map +1 -0
- package/dist/missing-sdk.test.js +117 -0
- package/dist/missing-sdk.test.js.map +1 -0
- package/dist/store/lance-schema.d.ts +4 -4
- package/package.json +1 -1
|
@@ -65,6 +65,21 @@ export declare const PROVENANCE_UNGROUNDED = "ungrounded";
|
|
|
65
65
|
* argument as provenance.
|
|
66
66
|
*/
|
|
67
67
|
export declare const ADMISSION_COMPLETION_ONLY: "completion_only";
|
|
68
|
+
/**
|
|
69
|
+
* Elevated admission class (mmnto-ai/totem#2102, strategy#474 slice 3): the
|
|
70
|
+
* backend is admitted to ground itself (agentic retrieval/tool use) rather
|
|
71
|
+
* than complete over caller-delivered context. Requestable only when declared
|
|
72
|
+
* in `orchestrator.capabilities.admissionClasses` — the admission gate in
|
|
73
|
+
* `runOrchestrator` fails loud pre-invoke otherwise.
|
|
74
|
+
*/
|
|
75
|
+
export declare const ADMISSION_SELF_GROUNDING_AGENT: "self_grounding_agent";
|
|
76
|
+
/**
|
|
77
|
+
* Closed two-value enum this slice — single source of truth for both
|
|
78
|
+
* `BackendSchema.admissionClass` and the config-side capability declaration
|
|
79
|
+
* (`orchestrator.capabilities.admissionClasses`); a parallel definition is
|
|
80
|
+
* the drift vector the #1429 model-validation review named.
|
|
81
|
+
*/
|
|
82
|
+
export declare const ADMISSION_CLASSES: readonly ["completion_only", "self_grounding_agent"];
|
|
68
83
|
/**
|
|
69
84
|
* The assembled prompt inputs, POST-DLP. `maskedPrompt`/`maskedSystemPrompt`
|
|
70
85
|
* are what actually crossed the wire (`maskSecrets` output) — recording the
|
|
@@ -107,16 +122,16 @@ export declare const GroundingItemSchema: z.ZodObject<{
|
|
|
107
122
|
/** Linked-index name for cross-repo hits; ABSENT = the run's own repo (F1) — post-checks resolve `filePath` against the run's config root when absent. */
|
|
108
123
|
sourceRepo: z.ZodOptional<z.ZodString>;
|
|
109
124
|
}, "strip", z.ZodTypeAny, {
|
|
110
|
-
filePath: string;
|
|
111
125
|
provenance: string;
|
|
112
126
|
contentHash: string;
|
|
113
127
|
sourceType: string;
|
|
128
|
+
filePath: string;
|
|
114
129
|
sourceRepo?: string | undefined;
|
|
115
130
|
}, {
|
|
116
|
-
filePath: string;
|
|
117
131
|
provenance: string;
|
|
118
132
|
contentHash: string;
|
|
119
133
|
sourceType: string;
|
|
134
|
+
filePath: string;
|
|
120
135
|
sourceRepo?: string | undefined;
|
|
121
136
|
}>;
|
|
122
137
|
/**
|
|
@@ -137,32 +152,32 @@ export declare const GroundingBundleSchema: z.ZodObject<{
|
|
|
137
152
|
/** Linked-index name for cross-repo hits; ABSENT = the run's own repo (F1) — post-checks resolve `filePath` against the run's config root when absent. */
|
|
138
153
|
sourceRepo: z.ZodOptional<z.ZodString>;
|
|
139
154
|
}, "strip", z.ZodTypeAny, {
|
|
140
|
-
filePath: string;
|
|
141
155
|
provenance: string;
|
|
142
156
|
contentHash: string;
|
|
143
157
|
sourceType: string;
|
|
158
|
+
filePath: string;
|
|
144
159
|
sourceRepo?: string | undefined;
|
|
145
160
|
}, {
|
|
146
|
-
filePath: string;
|
|
147
161
|
provenance: string;
|
|
148
162
|
contentHash: string;
|
|
149
163
|
sourceType: string;
|
|
164
|
+
filePath: string;
|
|
150
165
|
sourceRepo?: string | undefined;
|
|
151
166
|
}>, "many">;
|
|
152
167
|
}, "strip", z.ZodTypeAny, {
|
|
153
168
|
items: {
|
|
154
|
-
filePath: string;
|
|
155
169
|
provenance: string;
|
|
156
170
|
contentHash: string;
|
|
157
171
|
sourceType: string;
|
|
172
|
+
filePath: string;
|
|
158
173
|
sourceRepo?: string | undefined;
|
|
159
174
|
}[];
|
|
160
175
|
}, {
|
|
161
176
|
items: {
|
|
162
|
-
filePath: string;
|
|
163
177
|
provenance: string;
|
|
164
178
|
contentHash: string;
|
|
165
179
|
sourceType: string;
|
|
180
|
+
filePath: string;
|
|
166
181
|
sourceRepo?: string | undefined;
|
|
167
182
|
}[];
|
|
168
183
|
}>;
|
|
@@ -192,32 +207,32 @@ export declare const GroundingSchema: z.ZodObject<{
|
|
|
192
207
|
/** Linked-index name for cross-repo hits; ABSENT = the run's own repo (F1) — post-checks resolve `filePath` against the run's config root when absent. */
|
|
193
208
|
sourceRepo: z.ZodOptional<z.ZodString>;
|
|
194
209
|
}, "strip", z.ZodTypeAny, {
|
|
195
|
-
filePath: string;
|
|
196
210
|
provenance: string;
|
|
197
211
|
contentHash: string;
|
|
198
212
|
sourceType: string;
|
|
213
|
+
filePath: string;
|
|
199
214
|
sourceRepo?: string | undefined;
|
|
200
215
|
}, {
|
|
201
|
-
filePath: string;
|
|
202
216
|
provenance: string;
|
|
203
217
|
contentHash: string;
|
|
204
218
|
sourceType: string;
|
|
219
|
+
filePath: string;
|
|
205
220
|
sourceRepo?: string | undefined;
|
|
206
221
|
}>, "many">;
|
|
207
222
|
}, "strip", z.ZodTypeAny, {
|
|
208
223
|
items: {
|
|
209
|
-
filePath: string;
|
|
210
224
|
provenance: string;
|
|
211
225
|
contentHash: string;
|
|
212
226
|
sourceType: string;
|
|
227
|
+
filePath: string;
|
|
213
228
|
sourceRepo?: string | undefined;
|
|
214
229
|
}[];
|
|
215
230
|
}, {
|
|
216
231
|
items: {
|
|
217
|
-
filePath: string;
|
|
218
232
|
provenance: string;
|
|
219
233
|
contentHash: string;
|
|
220
234
|
sourceType: string;
|
|
235
|
+
filePath: string;
|
|
221
236
|
sourceRepo?: string | undefined;
|
|
222
237
|
}[];
|
|
223
238
|
}>>;
|
|
@@ -226,10 +241,10 @@ export declare const GroundingSchema: z.ZodObject<{
|
|
|
226
241
|
provenanceSummary: string;
|
|
227
242
|
bundle?: {
|
|
228
243
|
items: {
|
|
229
|
-
filePath: string;
|
|
230
244
|
provenance: string;
|
|
231
245
|
contentHash: string;
|
|
232
246
|
sourceType: string;
|
|
247
|
+
filePath: string;
|
|
233
248
|
sourceRepo?: string | undefined;
|
|
234
249
|
}[];
|
|
235
250
|
} | undefined;
|
|
@@ -238,10 +253,10 @@ export declare const GroundingSchema: z.ZodObject<{
|
|
|
238
253
|
provenanceSummary: string;
|
|
239
254
|
bundle?: {
|
|
240
255
|
items: {
|
|
241
|
-
filePath: string;
|
|
242
256
|
provenance: string;
|
|
243
257
|
contentHash: string;
|
|
244
258
|
sourceType: string;
|
|
259
|
+
filePath: string;
|
|
245
260
|
sourceRepo?: string | undefined;
|
|
246
261
|
}[];
|
|
247
262
|
} | undefined;
|
|
@@ -271,6 +286,58 @@ export declare const BackendSchema: z.ZodObject<{
|
|
|
271
286
|
taskProfile: string;
|
|
272
287
|
temperature?: number | undefined;
|
|
273
288
|
}>;
|
|
289
|
+
/**
|
|
290
|
+
* Caller-declared output contract (mmnto-ai/totem#2102): the citations-or-
|
|
291
|
+
* `VERIFY:` declaration. Callers write; #2103 post-checks read; providers
|
|
292
|
+
* transport, never enforce (Totem is not zero-user — backend cooperation is
|
|
293
|
+
* never assumed, enforcement is caller-side post-invocation). Closed object:
|
|
294
|
+
* extensible by additive optional fields, not an index signature.
|
|
295
|
+
*/
|
|
296
|
+
export declare const OutputContractSchema: z.ZodObject<{
|
|
297
|
+
/** Response claims must carry citations into the delivered grounding. */
|
|
298
|
+
citationsRequired: z.ZodOptional<z.ZodBoolean>;
|
|
299
|
+
/** Whether an explicit `VERIFY:` escalation is an acceptable fallback for an uncitable claim. */
|
|
300
|
+
verifyFallback: z.ZodOptional<z.ZodBoolean>;
|
|
301
|
+
/** JSON-Schema definition for structured output. */
|
|
302
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
303
|
+
}, "strip", z.ZodTypeAny, {
|
|
304
|
+
citationsRequired?: boolean | undefined;
|
|
305
|
+
verifyFallback?: boolean | undefined;
|
|
306
|
+
schema?: Record<string, unknown> | undefined;
|
|
307
|
+
}, {
|
|
308
|
+
citationsRequired?: boolean | undefined;
|
|
309
|
+
verifyFallback?: boolean | undefined;
|
|
310
|
+
schema?: Record<string, unknown> | undefined;
|
|
311
|
+
}>;
|
|
312
|
+
/**
|
|
313
|
+
* Caller-declared context policy (mmnto-ai/totem#2102). Advisory this slice —
|
|
314
|
+
* recorded for honesty, enforced by nothing yet — but validated so
|
|
315
|
+
* declared-not-enforced never means accepting nonsense.
|
|
316
|
+
*/
|
|
317
|
+
export declare const ContextPolicySchema: z.ZodObject<{
|
|
318
|
+
/** Advisory context budget. Unit: INPUT TOKENS. */
|
|
319
|
+
budget: z.ZodOptional<z.ZodNumber>;
|
|
320
|
+
}, "strip", z.ZodTypeAny, {
|
|
321
|
+
budget?: number | undefined;
|
|
322
|
+
}, {
|
|
323
|
+
budget?: number | undefined;
|
|
324
|
+
}>;
|
|
325
|
+
/**
|
|
326
|
+
* Caller identity metadata (mmnto-ai/totem#2102, the #2100 runMetadata
|
|
327
|
+
* target) — recorded verbatim into the artifact.
|
|
328
|
+
*/
|
|
329
|
+
export declare const RunMetadataSchema: z.ZodObject<{
|
|
330
|
+
/** The command/module that issued the run (e.g. `spec`, `review`). */
|
|
331
|
+
caller: z.ZodOptional<z.ZodString>;
|
|
332
|
+
/** The CLI command identity the run served, when distinct from `caller`. */
|
|
333
|
+
command: z.ZodOptional<z.ZodString>;
|
|
334
|
+
}, "strip", z.ZodTypeAny, {
|
|
335
|
+
caller?: string | undefined;
|
|
336
|
+
command?: string | undefined;
|
|
337
|
+
}, {
|
|
338
|
+
caller?: string | undefined;
|
|
339
|
+
command?: string | undefined;
|
|
340
|
+
}>;
|
|
274
341
|
/**
|
|
275
342
|
* Token counts mirror `OrchestratorResult`: `null` means the provider did not
|
|
276
343
|
* report (honest-absent), distinct from the field being absent entirely.
|
|
@@ -341,32 +408,32 @@ export declare const RunArtifactSchema: z.ZodObject<{
|
|
|
341
408
|
/** Linked-index name for cross-repo hits; ABSENT = the run's own repo (F1) — post-checks resolve `filePath` against the run's config root when absent. */
|
|
342
409
|
sourceRepo: z.ZodOptional<z.ZodString>;
|
|
343
410
|
}, "strip", z.ZodTypeAny, {
|
|
344
|
-
filePath: string;
|
|
345
411
|
provenance: string;
|
|
346
412
|
contentHash: string;
|
|
347
413
|
sourceType: string;
|
|
414
|
+
filePath: string;
|
|
348
415
|
sourceRepo?: string | undefined;
|
|
349
416
|
}, {
|
|
350
|
-
filePath: string;
|
|
351
417
|
provenance: string;
|
|
352
418
|
contentHash: string;
|
|
353
419
|
sourceType: string;
|
|
420
|
+
filePath: string;
|
|
354
421
|
sourceRepo?: string | undefined;
|
|
355
422
|
}>, "many">;
|
|
356
423
|
}, "strip", z.ZodTypeAny, {
|
|
357
424
|
items: {
|
|
358
|
-
filePath: string;
|
|
359
425
|
provenance: string;
|
|
360
426
|
contentHash: string;
|
|
361
427
|
sourceType: string;
|
|
428
|
+
filePath: string;
|
|
362
429
|
sourceRepo?: string | undefined;
|
|
363
430
|
}[];
|
|
364
431
|
}, {
|
|
365
432
|
items: {
|
|
366
|
-
filePath: string;
|
|
367
433
|
provenance: string;
|
|
368
434
|
contentHash: string;
|
|
369
435
|
sourceType: string;
|
|
436
|
+
filePath: string;
|
|
370
437
|
sourceRepo?: string | undefined;
|
|
371
438
|
}[];
|
|
372
439
|
}>>;
|
|
@@ -375,10 +442,10 @@ export declare const RunArtifactSchema: z.ZodObject<{
|
|
|
375
442
|
provenanceSummary: string;
|
|
376
443
|
bundle?: {
|
|
377
444
|
items: {
|
|
378
|
-
filePath: string;
|
|
379
445
|
provenance: string;
|
|
380
446
|
contentHash: string;
|
|
381
447
|
sourceType: string;
|
|
448
|
+
filePath: string;
|
|
382
449
|
sourceRepo?: string | undefined;
|
|
383
450
|
}[];
|
|
384
451
|
} | undefined;
|
|
@@ -387,10 +454,10 @@ export declare const RunArtifactSchema: z.ZodObject<{
|
|
|
387
454
|
provenanceSummary: string;
|
|
388
455
|
bundle?: {
|
|
389
456
|
items: {
|
|
390
|
-
filePath: string;
|
|
391
457
|
provenance: string;
|
|
392
458
|
contentHash: string;
|
|
393
459
|
sourceType: string;
|
|
460
|
+
filePath: string;
|
|
394
461
|
sourceRepo?: string | undefined;
|
|
395
462
|
}[];
|
|
396
463
|
} | undefined;
|
|
@@ -459,6 +526,71 @@ export declare const RunArtifactSchema: z.ZodObject<{
|
|
|
459
526
|
finishReason?: string | undefined;
|
|
460
527
|
};
|
|
461
528
|
}>;
|
|
529
|
+
/** Admitted contract group (mmnto-ai/totem#2102) — additive 1.x optional; slice-1/2 artifacts predate it. */
|
|
530
|
+
admission: z.ZodOptional<z.ZodObject<{
|
|
531
|
+
outputContract: z.ZodOptional<z.ZodObject<{
|
|
532
|
+
/** Response claims must carry citations into the delivered grounding. */
|
|
533
|
+
citationsRequired: z.ZodOptional<z.ZodBoolean>;
|
|
534
|
+
/** Whether an explicit `VERIFY:` escalation is an acceptable fallback for an uncitable claim. */
|
|
535
|
+
verifyFallback: z.ZodOptional<z.ZodBoolean>;
|
|
536
|
+
/** JSON-Schema definition for structured output. */
|
|
537
|
+
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
538
|
+
}, "strip", z.ZodTypeAny, {
|
|
539
|
+
citationsRequired?: boolean | undefined;
|
|
540
|
+
verifyFallback?: boolean | undefined;
|
|
541
|
+
schema?: Record<string, unknown> | undefined;
|
|
542
|
+
}, {
|
|
543
|
+
citationsRequired?: boolean | undefined;
|
|
544
|
+
verifyFallback?: boolean | undefined;
|
|
545
|
+
schema?: Record<string, unknown> | undefined;
|
|
546
|
+
}>>;
|
|
547
|
+
contextPolicy: z.ZodOptional<z.ZodObject<{
|
|
548
|
+
/** Advisory context budget. Unit: INPUT TOKENS. */
|
|
549
|
+
budget: z.ZodOptional<z.ZodNumber>;
|
|
550
|
+
}, "strip", z.ZodTypeAny, {
|
|
551
|
+
budget?: number | undefined;
|
|
552
|
+
}, {
|
|
553
|
+
budget?: number | undefined;
|
|
554
|
+
}>>;
|
|
555
|
+
runMetadata: z.ZodOptional<z.ZodObject<{
|
|
556
|
+
/** The command/module that issued the run (e.g. `spec`, `review`). */
|
|
557
|
+
caller: z.ZodOptional<z.ZodString>;
|
|
558
|
+
/** The CLI command identity the run served, when distinct from `caller`. */
|
|
559
|
+
command: z.ZodOptional<z.ZodString>;
|
|
560
|
+
}, "strip", z.ZodTypeAny, {
|
|
561
|
+
caller?: string | undefined;
|
|
562
|
+
command?: string | undefined;
|
|
563
|
+
}, {
|
|
564
|
+
caller?: string | undefined;
|
|
565
|
+
command?: string | undefined;
|
|
566
|
+
}>>;
|
|
567
|
+
}, "strip", z.ZodTypeAny, {
|
|
568
|
+
outputContract?: {
|
|
569
|
+
citationsRequired?: boolean | undefined;
|
|
570
|
+
verifyFallback?: boolean | undefined;
|
|
571
|
+
schema?: Record<string, unknown> | undefined;
|
|
572
|
+
} | undefined;
|
|
573
|
+
contextPolicy?: {
|
|
574
|
+
budget?: number | undefined;
|
|
575
|
+
} | undefined;
|
|
576
|
+
runMetadata?: {
|
|
577
|
+
caller?: string | undefined;
|
|
578
|
+
command?: string | undefined;
|
|
579
|
+
} | undefined;
|
|
580
|
+
}, {
|
|
581
|
+
outputContract?: {
|
|
582
|
+
citationsRequired?: boolean | undefined;
|
|
583
|
+
verifyFallback?: boolean | undefined;
|
|
584
|
+
schema?: Record<string, unknown> | undefined;
|
|
585
|
+
} | undefined;
|
|
586
|
+
contextPolicy?: {
|
|
587
|
+
budget?: number | undefined;
|
|
588
|
+
} | undefined;
|
|
589
|
+
runMetadata?: {
|
|
590
|
+
caller?: string | undefined;
|
|
591
|
+
command?: string | undefined;
|
|
592
|
+
} | undefined;
|
|
593
|
+
}>>;
|
|
462
594
|
/**
|
|
463
595
|
* ISO-8601 emission time. EXCLUDED from the content address (identical runs
|
|
464
596
|
* dedup to one artifact regardless of when they ran) — observability only.
|
|
@@ -466,16 +598,6 @@ export declare const RunArtifactSchema: z.ZodObject<{
|
|
|
466
598
|
createdAt: z.ZodString;
|
|
467
599
|
}, "strip", z.ZodTypeAny, {
|
|
468
600
|
createdAt: string;
|
|
469
|
-
output: {
|
|
470
|
-
content: string;
|
|
471
|
-
metrics: {
|
|
472
|
-
durationMs: number;
|
|
473
|
-
inputTokens?: number | null | undefined;
|
|
474
|
-
outputTokens?: number | null | undefined;
|
|
475
|
-
cacheReadInputTokens?: number | null | undefined;
|
|
476
|
-
finishReason?: string | undefined;
|
|
477
|
-
};
|
|
478
|
-
};
|
|
479
601
|
schemaVersion: string;
|
|
480
602
|
inputBundle: {
|
|
481
603
|
maskedPrompt: string;
|
|
@@ -489,10 +611,10 @@ export declare const RunArtifactSchema: z.ZodObject<{
|
|
|
489
611
|
provenanceSummary: string;
|
|
490
612
|
bundle?: {
|
|
491
613
|
items: {
|
|
492
|
-
filePath: string;
|
|
493
614
|
provenance: string;
|
|
494
615
|
contentHash: string;
|
|
495
616
|
sourceType: string;
|
|
617
|
+
filePath: string;
|
|
496
618
|
sourceRepo?: string | undefined;
|
|
497
619
|
}[];
|
|
498
620
|
} | undefined;
|
|
@@ -505,8 +627,6 @@ export declare const RunArtifactSchema: z.ZodObject<{
|
|
|
505
627
|
taskProfile: string;
|
|
506
628
|
temperature?: number | undefined;
|
|
507
629
|
};
|
|
508
|
-
}, {
|
|
509
|
-
createdAt: string;
|
|
510
630
|
output: {
|
|
511
631
|
content: string;
|
|
512
632
|
metrics: {
|
|
@@ -517,6 +637,22 @@ export declare const RunArtifactSchema: z.ZodObject<{
|
|
|
517
637
|
finishReason?: string | undefined;
|
|
518
638
|
};
|
|
519
639
|
};
|
|
640
|
+
admission?: {
|
|
641
|
+
outputContract?: {
|
|
642
|
+
citationsRequired?: boolean | undefined;
|
|
643
|
+
verifyFallback?: boolean | undefined;
|
|
644
|
+
schema?: Record<string, unknown> | undefined;
|
|
645
|
+
} | undefined;
|
|
646
|
+
contextPolicy?: {
|
|
647
|
+
budget?: number | undefined;
|
|
648
|
+
} | undefined;
|
|
649
|
+
runMetadata?: {
|
|
650
|
+
caller?: string | undefined;
|
|
651
|
+
command?: string | undefined;
|
|
652
|
+
} | undefined;
|
|
653
|
+
} | undefined;
|
|
654
|
+
}, {
|
|
655
|
+
createdAt: string;
|
|
520
656
|
schemaVersion: string;
|
|
521
657
|
inputBundle: {
|
|
522
658
|
maskedPrompt: string;
|
|
@@ -530,10 +666,10 @@ export declare const RunArtifactSchema: z.ZodObject<{
|
|
|
530
666
|
provenanceSummary: string;
|
|
531
667
|
bundle?: {
|
|
532
668
|
items: {
|
|
533
|
-
filePath: string;
|
|
534
669
|
provenance: string;
|
|
535
670
|
contentHash: string;
|
|
536
671
|
sourceType: string;
|
|
672
|
+
filePath: string;
|
|
537
673
|
sourceRepo?: string | undefined;
|
|
538
674
|
}[];
|
|
539
675
|
} | undefined;
|
|
@@ -546,9 +682,38 @@ export declare const RunArtifactSchema: z.ZodObject<{
|
|
|
546
682
|
taskProfile: string;
|
|
547
683
|
temperature?: number | undefined;
|
|
548
684
|
};
|
|
685
|
+
output: {
|
|
686
|
+
content: string;
|
|
687
|
+
metrics: {
|
|
688
|
+
durationMs: number;
|
|
689
|
+
inputTokens?: number | null | undefined;
|
|
690
|
+
outputTokens?: number | null | undefined;
|
|
691
|
+
cacheReadInputTokens?: number | null | undefined;
|
|
692
|
+
finishReason?: string | undefined;
|
|
693
|
+
};
|
|
694
|
+
};
|
|
695
|
+
admission?: {
|
|
696
|
+
outputContract?: {
|
|
697
|
+
citationsRequired?: boolean | undefined;
|
|
698
|
+
verifyFallback?: boolean | undefined;
|
|
699
|
+
schema?: Record<string, unknown> | undefined;
|
|
700
|
+
} | undefined;
|
|
701
|
+
contextPolicy?: {
|
|
702
|
+
budget?: number | undefined;
|
|
703
|
+
} | undefined;
|
|
704
|
+
runMetadata?: {
|
|
705
|
+
caller?: string | undefined;
|
|
706
|
+
command?: string | undefined;
|
|
707
|
+
} | undefined;
|
|
708
|
+
} | undefined;
|
|
549
709
|
}>;
|
|
550
710
|
export type RunArtifact = z.infer<typeof RunArtifactSchema>;
|
|
551
711
|
export type InputBundle = z.infer<typeof InputBundleSchema>;
|
|
552
712
|
export type GroundingItem = z.infer<typeof GroundingItemSchema>;
|
|
553
713
|
export type GroundingBundle = z.infer<typeof GroundingBundleSchema>;
|
|
714
|
+
export type OutputContract = z.infer<typeof OutputContractSchema>;
|
|
715
|
+
export type ContextPolicy = z.infer<typeof ContextPolicySchema>;
|
|
716
|
+
export type RunMetadata = z.infer<typeof RunMetadataSchema>;
|
|
717
|
+
/** Inferred from the `BackendSchema` enum — the canonical admission-class union (mmnto-ai/totem#2102). */
|
|
718
|
+
export type BackendAdmissionClass = z.infer<typeof BackendSchema>['admissionClass'];
|
|
554
719
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/artifacts/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAC5D,eAAO,MAAM,gCAAgC,0BAA0B,CAAC;AACxE,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AACxD,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AACxD,eAAO,MAAM,kBAAkB,yFAKrB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAG,iBAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/artifacts/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/artifacts/schema.js
CHANGED
|
@@ -70,6 +70,24 @@ export const PROVENANCE_UNGROUNDED = 'ungrounded';
|
|
|
70
70
|
* argument as provenance.
|
|
71
71
|
*/
|
|
72
72
|
export const ADMISSION_COMPLETION_ONLY = 'completion_only';
|
|
73
|
+
/**
|
|
74
|
+
* Elevated admission class (mmnto-ai/totem#2102, strategy#474 slice 3): the
|
|
75
|
+
* backend is admitted to ground itself (agentic retrieval/tool use) rather
|
|
76
|
+
* than complete over caller-delivered context. Requestable only when declared
|
|
77
|
+
* in `orchestrator.capabilities.admissionClasses` — the admission gate in
|
|
78
|
+
* `runOrchestrator` fails loud pre-invoke otherwise.
|
|
79
|
+
*/
|
|
80
|
+
export const ADMISSION_SELF_GROUNDING_AGENT = 'self_grounding_agent';
|
|
81
|
+
/**
|
|
82
|
+
* Closed two-value enum this slice — single source of truth for both
|
|
83
|
+
* `BackendSchema.admissionClass` and the config-side capability declaration
|
|
84
|
+
* (`orchestrator.capabilities.admissionClasses`); a parallel definition is
|
|
85
|
+
* the drift vector the #1429 model-validation review named.
|
|
86
|
+
*/
|
|
87
|
+
export const ADMISSION_CLASSES = [
|
|
88
|
+
ADMISSION_COMPLETION_ONLY,
|
|
89
|
+
ADMISSION_SELF_GROUNDING_AGENT,
|
|
90
|
+
];
|
|
73
91
|
/** sha256 hex content hash (full digest — identity, not display). */
|
|
74
92
|
const SHA256_HEX = /^[0-9a-f]{64}$/;
|
|
75
93
|
/** Major-1 semver literal — keep in sync with {@link RUN_ARTIFACT_KNOWN_MAJOR} (CR review on #2114: a literal beats runtime RegExp construction; the major only changes alongside a migration entry anyway). */
|
|
@@ -139,11 +157,56 @@ export const BackendSchema = z.object({
|
|
|
139
157
|
model: z.string().min(1),
|
|
140
158
|
/** The full provider-qualified string telemetry/cache key on (`provider:model`). */
|
|
141
159
|
qualifiedModel: z.string().min(1),
|
|
142
|
-
admissionClass: z.enum(
|
|
160
|
+
admissionClass: z.enum(ADMISSION_CLASSES),
|
|
143
161
|
/** The command tag the run served (`Spec`, `Review`, ...) — the task profile. */
|
|
144
162
|
taskProfile: z.string().min(1),
|
|
145
163
|
temperature: z.number().optional(),
|
|
146
164
|
});
|
|
165
|
+
/**
|
|
166
|
+
* Caller-declared output contract (mmnto-ai/totem#2102): the citations-or-
|
|
167
|
+
* `VERIFY:` declaration. Callers write; #2103 post-checks read; providers
|
|
168
|
+
* transport, never enforce (Totem is not zero-user — backend cooperation is
|
|
169
|
+
* never assumed, enforcement is caller-side post-invocation). Closed object:
|
|
170
|
+
* extensible by additive optional fields, not an index signature.
|
|
171
|
+
*/
|
|
172
|
+
export const OutputContractSchema = z.object({
|
|
173
|
+
/** Response claims must carry citations into the delivered grounding. */
|
|
174
|
+
citationsRequired: z.boolean().optional(),
|
|
175
|
+
/** Whether an explicit `VERIFY:` escalation is an acceptable fallback for an uncitable claim. */
|
|
176
|
+
verifyFallback: z.boolean().optional(),
|
|
177
|
+
/** JSON-Schema definition for structured output. */
|
|
178
|
+
schema: z.record(z.unknown()).optional(),
|
|
179
|
+
});
|
|
180
|
+
/**
|
|
181
|
+
* Caller-declared context policy (mmnto-ai/totem#2102). Advisory this slice —
|
|
182
|
+
* recorded for honesty, enforced by nothing yet — but validated so
|
|
183
|
+
* declared-not-enforced never means accepting nonsense.
|
|
184
|
+
*/
|
|
185
|
+
export const ContextPolicySchema = z.object({
|
|
186
|
+
/** Advisory context budget. Unit: INPUT TOKENS. */
|
|
187
|
+
budget: z.number().int().positive().optional(),
|
|
188
|
+
});
|
|
189
|
+
/**
|
|
190
|
+
* Caller identity metadata (mmnto-ai/totem#2102, the #2100 runMetadata
|
|
191
|
+
* target) — recorded verbatim into the artifact.
|
|
192
|
+
*/
|
|
193
|
+
export const RunMetadataSchema = z.object({
|
|
194
|
+
/** The command/module that issued the run (e.g. `spec`, `review`). */
|
|
195
|
+
caller: z.string().min(1).optional(),
|
|
196
|
+
/** The CLI command identity the run served, when distinct from `caller`. */
|
|
197
|
+
command: z.string().min(1).optional(),
|
|
198
|
+
});
|
|
199
|
+
/**
|
|
200
|
+
* The admitted contract group (mmnto-ai/totem#2102). Top-level and optional,
|
|
201
|
+
* NOT inside `inputBundle` — `inputBundle` feeds `inputHash`, and polluting
|
|
202
|
+
* it would break rerun/compare identity for identical prompts. Recorded only
|
|
203
|
+
* when the caller supplied at least one member.
|
|
204
|
+
*/
|
|
205
|
+
const RunAdmissionSchema = z.object({
|
|
206
|
+
outputContract: OutputContractSchema.optional(),
|
|
207
|
+
contextPolicy: ContextPolicySchema.optional(),
|
|
208
|
+
runMetadata: RunMetadataSchema.optional(),
|
|
209
|
+
});
|
|
147
210
|
/**
|
|
148
211
|
* Token counts mirror `OrchestratorResult`: `null` means the provider did not
|
|
149
212
|
* report (honest-absent), distinct from the field being absent entirely.
|
|
@@ -166,6 +229,8 @@ export const RunArtifactSchema = z.object({
|
|
|
166
229
|
content: z.string(),
|
|
167
230
|
metrics: RunMetricsSchema,
|
|
168
231
|
}),
|
|
232
|
+
/** Admitted contract group (mmnto-ai/totem#2102) — additive 1.x optional; slice-1/2 artifacts predate it. */
|
|
233
|
+
admission: RunAdmissionSchema.optional(),
|
|
169
234
|
/**
|
|
170
235
|
* ISO-8601 emission time. EXCLUDED from the content address (identical runs
|
|
171
236
|
* dedup to one artifact regardless of when they ran) — observability only.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/artifacts/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/artifacts/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,OAAO,CAAC;AAEnD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;AAC5D,MAAM,CAAC,MAAM,gCAAgC,GAAG,uBAAuB,CAAC;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,0BAA0B;IAC1B,gCAAgC;IAChC,wBAAwB;IACxB,wBAAwB;CAChB,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAA0B,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAA+B,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,yBAAyB;IACzB,8BAA8B;CACtB,CAAC;AAEX,qEAAqE;AACrE,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAEpC,gNAAgN;AAChN,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,+EAA+E;AAC/E,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,OAAO,EAAE,2CAA2C,CAAC,qCAAqC,wBAAwB,+DAA+D;CAClL,CAAC,CACH,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,gFAAgF;IAChF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,oFAAoF;IACpF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,4IAA4I;IAC5I,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,iFAAiF;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,yCAAyC,CAAC;IACpF,0GAA0G;IAC1G,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,wFAAwF;IACxF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,0JAA0J;IAC1J,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;CACpC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC;;;;;;OAMG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,4CAA4C,CAAC;IAChF,yHAAyH;IACzH,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,yHAAyH;IACzH,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,oFAAoF;IACpF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACzC,iFAAiF;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,yEAAyE;IACzE,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,iGAAiG;IACjG,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,oDAAoD;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,mDAAmD;IACnD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,sEAAsE;IACtE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,4EAA4E;IAC5E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC/C,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC7C,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,iBAAiB;IAC9B,sEAAsE;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,uCAAuC,CAAC;IAChF,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,gBAAgB;KAC1B,CAAC;IACF,6GAA6G;IAC7G,SAAS,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACxC;;;OAGG;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { RUN_ARTIFACT_SCHEMA_VERSION, RunArtifactSchema } from './schema.js';
|
|
2
|
+
import { ADMISSION_COMPLETION_ONLY, ADMISSION_SELF_GROUNDING_AGENT, ContextPolicySchema, OutputContractSchema, RUN_ARTIFACT_SCHEMA_VERSION, RunArtifactSchema, RunMetadataSchema, } from './schema.js';
|
|
3
3
|
/** A minimal valid artifact for mutation in each case. */
|
|
4
4
|
function validArtifact() {
|
|
5
5
|
return {
|
|
@@ -54,4 +54,78 @@ describe('RunArtifactSchema', () => {
|
|
|
54
54
|
expect(RunArtifactSchema.safeParse(artifact).success).toBe(true);
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
|
+
// ─── Admission contract (mmnto-ai/totem#2102, strategy#474 slice 3) ──
|
|
58
|
+
describe('admission contract schemas (#2102)', () => {
|
|
59
|
+
it('exports both admission-class constants matching the BackendSchema enum', () => {
|
|
60
|
+
expect(ADMISSION_COMPLETION_ONLY).toBe('completion_only');
|
|
61
|
+
expect(ADMISSION_SELF_GROUNDING_AGENT).toBe('self_grounding_agent');
|
|
62
|
+
// Compile-time lock: BackendAdmissionClass is inferred from the enum, so
|
|
63
|
+
// both constants must be assignable to it.
|
|
64
|
+
const classes = [
|
|
65
|
+
ADMISSION_COMPLETION_ONLY,
|
|
66
|
+
ADMISSION_SELF_GROUNDING_AGENT,
|
|
67
|
+
];
|
|
68
|
+
expect(classes).toHaveLength(2);
|
|
69
|
+
});
|
|
70
|
+
it('accepts self_grounding_agent as a backend admissionClass', () => {
|
|
71
|
+
const artifact = validArtifact();
|
|
72
|
+
artifact.backend.admissionClass = ADMISSION_SELF_GROUNDING_AGENT;
|
|
73
|
+
expect(RunArtifactSchema.safeParse(artifact).success).toBe(true);
|
|
74
|
+
});
|
|
75
|
+
it('a slice-1 artifact (no admission group) still parses (invariant 6 — additive 1.x)', () => {
|
|
76
|
+
const parsed = RunArtifactSchema.parse(validArtifact());
|
|
77
|
+
expect(parsed.admission).toBeUndefined();
|
|
78
|
+
});
|
|
79
|
+
it('accepts a fully hydrated top-level admission group and roundtrips it verbatim', () => {
|
|
80
|
+
const artifact = {
|
|
81
|
+
...validArtifact(),
|
|
82
|
+
admission: {
|
|
83
|
+
outputContract: {
|
|
84
|
+
citationsRequired: true,
|
|
85
|
+
verifyFallback: true,
|
|
86
|
+
schema: { type: 'object', properties: { verdict: { type: 'string' } } },
|
|
87
|
+
},
|
|
88
|
+
contextPolicy: { budget: 32_000 },
|
|
89
|
+
runMetadata: { caller: 'spec', command: 'spec' },
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
expect(RunArtifactSchema.parse(artifact)).toEqual(artifact);
|
|
93
|
+
});
|
|
94
|
+
it('the admission group lives at the top level, never inside inputBundle (inputHash identity)', () => {
|
|
95
|
+
const artifact = validArtifact();
|
|
96
|
+
const polluted = {
|
|
97
|
+
...artifact,
|
|
98
|
+
inputBundle: { ...artifact.inputBundle, admission: { contextPolicy: { budget: 1 } } },
|
|
99
|
+
};
|
|
100
|
+
// Zod strips unknown keys: the polluted member never lands in the bundle.
|
|
101
|
+
const parsed = RunArtifactSchema.parse(polluted);
|
|
102
|
+
expect(parsed.inputBundle).toEqual(artifact.inputBundle);
|
|
103
|
+
});
|
|
104
|
+
it('ContextPolicy budget must be a positive integer (input tokens — declared ≠ nonsense)', () => {
|
|
105
|
+
expect(ContextPolicySchema.safeParse({ budget: 8000 }).success).toBe(true);
|
|
106
|
+
expect(ContextPolicySchema.safeParse({}).success).toBe(true);
|
|
107
|
+
expect(ContextPolicySchema.safeParse({ budget: 0 }).success).toBe(false);
|
|
108
|
+
expect(ContextPolicySchema.safeParse({ budget: -100 }).success).toBe(false);
|
|
109
|
+
expect(ContextPolicySchema.safeParse({ budget: 1.5 }).success).toBe(false);
|
|
110
|
+
});
|
|
111
|
+
it('rejects an artifact whose admission carries an invalid budget', () => {
|
|
112
|
+
const broken = {
|
|
113
|
+
...validArtifact(),
|
|
114
|
+
admission: { contextPolicy: { budget: -1 } },
|
|
115
|
+
};
|
|
116
|
+
expect(RunArtifactSchema.safeParse(broken).success).toBe(false);
|
|
117
|
+
});
|
|
118
|
+
it('OutputContract is a closed object — unknown keys are stripped, never key soup', () => {
|
|
119
|
+
const parsed = OutputContractSchema.parse({
|
|
120
|
+
citationsRequired: false,
|
|
121
|
+
arbitraryExtension: 'smuggled',
|
|
122
|
+
});
|
|
123
|
+
expect(parsed).toEqual({ citationsRequired: false });
|
|
124
|
+
});
|
|
125
|
+
it('RunMetadata rejects empty caller/command strings', () => {
|
|
126
|
+
expect(RunMetadataSchema.safeParse({ caller: 'spec' }).success).toBe(true);
|
|
127
|
+
expect(RunMetadataSchema.safeParse({ caller: '' }).success).toBe(false);
|
|
128
|
+
expect(RunMetadataSchema.safeParse({ command: '' }).success).toBe(false);
|
|
129
|
+
});
|
|
130
|
+
});
|
|
57
131
|
//# sourceMappingURL=schema.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../src/artifacts/schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,
|
|
1
|
+
{"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../src/artifacts/schema.test.ts"],"names":[],"mappings":"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"}
|