@c4a/context 0.6.19 → 0.7.0

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 (120) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/codeIndexPlan.d.ts +34 -0
  4. package/docs/README.md +7 -0
  5. package/docs/README.zh-CN.md +5 -0
  6. package/docs/guides/code-indexer-skill-authoring.md +124 -0
  7. package/docs/guides/indexer-provider-and-customization.md +140 -0
  8. package/docs/guides/markdown-indexer-skill-authoring.md +118 -0
  9. package/docs/reference/code-extractors.md +2 -2
  10. package/docs/reference/indexer-provider-protocol.md +819 -0
  11. package/docs/reference/project-api.md +2 -2
  12. package/index.d.ts +47 -1
  13. package/index.js +28239 -3952
  14. package/indexerAgentStepProtocol.d.ts +9391 -0
  15. package/indexerArtifactDependencies.d.ts +689 -0
  16. package/indexerArtifactPolicy.d.ts +335 -0
  17. package/indexerArtifactResult.d.ts +2010 -0
  18. package/indexerAuditFacts.d.ts +66 -0
  19. package/indexerAuditOverrideReadiness.d.ts +27 -0
  20. package/indexerAuditProtocol.d.ts +238 -0
  21. package/indexerAuditRevision.d.ts +726 -0
  22. package/indexerAuditRevisionActions.d.ts +236 -0
  23. package/indexerAuthoringFixture.d.ts +152 -0
  24. package/indexerBaseQuestionAmendment.d.ts +2403 -0
  25. package/indexerBenchmark.d.ts +1062 -0
  26. package/indexerCandidateCompile.d.ts +801 -0
  27. package/indexerCapabilityGroupEvidence.d.ts +129 -0
  28. package/indexerCatalogFallback.d.ts +1262 -0
  29. package/indexerCollectionMapping.d.ts +75 -0
  30. package/indexerContentLayers.d.ts +137 -0
  31. package/indexerControlledInvocation.d.ts +512 -0
  32. package/indexerControlledProgram.d.ts +12535 -0
  33. package/indexerCoreExports.d.ts +21 -0
  34. package/indexerCustomizationDraft.d.ts +13800 -0
  35. package/indexerCustomizationLadder.d.ts +103 -0
  36. package/indexerDependencyView.d.ts +1610 -0
  37. package/indexerEvidenceAdapterResult.d.ts +504 -0
  38. package/indexerExampleDecision.d.ts +1606 -0
  39. package/indexerExampleIdentity.d.ts +132 -0
  40. package/indexerExampleIdentityAudit.d.ts +70 -0
  41. package/indexerExampleLinkageAudit.d.ts +80 -0
  42. package/indexerGeneratedAuthoringAudit.d.ts +208 -0
  43. package/indexerIncrementalImpact.d.ts +221 -0
  44. package/indexerInventoryDisposition.d.ts +443 -0
  45. package/indexerLayerComposition.d.ts +1652 -0
  46. package/indexerLayoutChange.d.ts +329 -0
  47. package/indexerLayoutProposalSet.d.ts +447 -0
  48. package/indexerLayoutResolver.d.ts +342 -0
  49. package/indexerLayoutTransition.d.ts +247 -0
  50. package/indexerLifecycle.d.ts +53 -0
  51. package/indexerMainLifecycle.d.ts +258 -0
  52. package/indexerMainRunLedger.d.ts +888 -0
  53. package/indexerMainRunProtocol.d.ts +6471 -0
  54. package/indexerMainWorkset.d.ts +2141 -0
  55. package/indexerMaterialAnswer.d.ts +738 -0
  56. package/indexerMaterialAnswerActualization.d.ts +91 -0
  57. package/indexerMaterialAnswerExecutionPlan.d.ts +2887 -0
  58. package/indexerMaterialAnswerFlow.d.ts +63 -0
  59. package/indexerMaterialAnswerLayout.d.ts +76 -0
  60. package/indexerMaterialAnswerReview.d.ts +217 -0
  61. package/indexerMaterialAnswerReviewRoute.d.ts +6145 -0
  62. package/indexerMaterialAnswerRunLedger.d.ts +918 -0
  63. package/indexerMaterialAnswerRunProtocol.d.ts +1253 -0
  64. package/indexerMaterialGapLedger.d.ts +3111 -0
  65. package/indexerMaterialQuestionExclusion.d.ts +129 -0
  66. package/indexerMaterialQuestionWorkset.d.ts +508 -0
  67. package/indexerNavigationArtifactGraph.d.ts +5 -0
  68. package/indexerNavigationArtifactPlan.d.ts +39 -0
  69. package/indexerOverlayQuestionAmendment.d.ts +2551 -0
  70. package/indexerOverlayQuestionApplyProposal.d.ts +4697 -0
  71. package/indexerOverlayTrust.d.ts +1425 -0
  72. package/indexerParserCoordinate.d.ts +222 -0
  73. package/indexerParserFactView.d.ts +503 -0
  74. package/indexerPartitionConvergence.d.ts +496 -0
  75. package/indexerPartitionPlan.d.ts +919 -0
  76. package/indexerPartitionStrategyResolution.d.ts +594 -0
  77. package/indexerPhysicalArtifactAudit.d.ts +247 -0
  78. package/indexerPhysicalArtifactManifest.d.ts +449 -0
  79. package/indexerPlannedMaterialAnswer.d.ts +116 -0
  80. package/indexerPostAuthorComposition.d.ts +2000 -0
  81. package/indexerPostAuthorRunLedger.d.ts +1972 -0
  82. package/indexerPrimaryProjection.d.ts +262 -0
  83. package/indexerProfileContract.d.ts +3034 -0
  84. package/indexerProfileMetricAudit.d.ts +218 -0
  85. package/indexerProgramExecutionAuthorization.d.ts +227 -0
  86. package/indexerProgramRunProtocol.d.ts +7642 -0
  87. package/indexerProjectProposal.d.ts +2807 -0
  88. package/indexerProjectedArtifactFanOutAudit.d.ts +159 -0
  89. package/indexerProjectedArtifactPlan.d.ts +217 -0
  90. package/indexerProtocolCommon.d.ts +29 -0
  91. package/indexerProvider.d.ts +2573 -0
  92. package/indexerProviderComposition.d.ts +1357 -0
  93. package/indexerProviderContractReferences.d.ts +13 -0
  94. package/indexerProviderProfileResolution.d.ts +20 -0
  95. package/indexerProviderResolution.d.ts +752 -0
  96. package/indexerProviderResolutionAction.d.ts +678 -0
  97. package/indexerProviderRouting.d.ts +3909 -0
  98. package/indexerProviderSelectionProposal.d.ts +3311 -0
  99. package/indexerQuestionAuthority.d.ts +419 -0
  100. package/indexerReaderTargetInventory.d.ts +161 -0
  101. package/indexerReferenceOnlyAudit.d.ts +90 -0
  102. package/indexerRegistry.d.ts +3019 -0
  103. package/indexerRequirementComparison.d.ts +44 -0
  104. package/indexerRequirementConfirmation.d.ts +1193 -0
  105. package/indexerRequirementLifecycle.d.ts +3314 -0
  106. package/indexerRestrictedSelector.d.ts +63 -0
  107. package/indexerResultReconciliation.d.ts +6844 -0
  108. package/indexerResultReconciliationRun.d.ts +15 -0
  109. package/indexerRunEnvelope.d.ts +384 -0
  110. package/indexerRunProtocolCommon.d.ts +21 -0
  111. package/indexerSharedArtifactFingerprint.d.ts +33 -0
  112. package/indexerStructuredDeclaration.d.ts +513 -0
  113. package/indexerSubjectCatalog.d.ts +230 -0
  114. package/indexerSubjectIdentity.d.ts +19 -0
  115. package/indexerSubjectKeyAuthority.d.ts +785 -0
  116. package/indexerTemplateRendering.d.ts +485 -0
  117. package/indexerToolSnapshot.d.ts +431 -0
  118. package/indexerWorksetRead.d.ts +287 -0
  119. package/package.json +1 -1
  120. package/phases.d.ts +1 -1
@@ -0,0 +1,2573 @@
1
+ import { z } from "zod";
2
+ export declare const indexerExecutionSchema: z.ZodObject<{
3
+ runtime: z.ZodLiteral<"node">;
4
+ entry: z.ZodEffects<z.ZodString, string, string>;
5
+ args: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
6
+ }, "strict", z.ZodTypeAny, {
7
+ entry: string;
8
+ args: string[];
9
+ runtime: "node";
10
+ }, {
11
+ entry: string;
12
+ args: string[];
13
+ runtime: "node";
14
+ }>;
15
+ export declare const indexerProviderOperationSchema: z.ZodDiscriminatedUnion<"id", [z.ZodObject<{
16
+ id: z.ZodLiteral<"main-index">;
17
+ consumes: z.ZodLiteral<"context.indexer.main-workset/v1">;
18
+ produces: z.ZodLiteral<"context.indexer.main-result/v1">;
19
+ accepts_layer_fragments: z.ZodOptional<z.ZodArray<z.ZodEnum<["fact-enrichment", "template-variables"]>, "many">>;
20
+ }, "strict", z.ZodTypeAny, {
21
+ id: "main-index";
22
+ consumes: "context.indexer.main-workset/v1";
23
+ produces: "context.indexer.main-result/v1";
24
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
25
+ }, {
26
+ id: "main-index";
27
+ consumes: "context.indexer.main-workset/v1";
28
+ produces: "context.indexer.main-result/v1";
29
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
30
+ }>, z.ZodObject<{
31
+ id: z.ZodLiteral<"material-answer">;
32
+ consumes: z.ZodLiteral<"context.indexer.material-question-workset/v1">;
33
+ produces: z.ZodLiteral<"context.indexer.material-answer-result/v1">;
34
+ supported_evidence_kinds: z.ZodArray<z.ZodEnum<["code", "contract", "configuration", "documentation", "runbook", "decision-record", "test-result", "runtime-observation", "tool-snapshot"]>, "many">;
35
+ accepts_layer_fragments: z.ZodOptional<z.ZodArray<z.ZodEnum<["fact-enrichment", "template-variables"]>, "many">>;
36
+ }, "strict", z.ZodTypeAny, {
37
+ id: "material-answer";
38
+ consumes: "context.indexer.material-question-workset/v1";
39
+ produces: "context.indexer.material-answer-result/v1";
40
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
41
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
42
+ }, {
43
+ id: "material-answer";
44
+ consumes: "context.indexer.material-question-workset/v1";
45
+ produces: "context.indexer.material-answer-result/v1";
46
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
47
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
48
+ }>]>;
49
+ export declare const indexerProviderLayerFragmentSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
50
+ kind: z.ZodLiteral<"fact-enrichment">;
51
+ phase: z.ZodLiteral<"pre-authority">;
52
+ produces: z.ZodLiteral<"context.indexer.layer-fragment/v1">;
53
+ }, "strict", z.ZodTypeAny, {
54
+ kind: "fact-enrichment";
55
+ phase: "pre-authority";
56
+ produces: "context.indexer.layer-fragment/v1";
57
+ }, {
58
+ kind: "fact-enrichment";
59
+ phase: "pre-authority";
60
+ produces: "context.indexer.layer-fragment/v1";
61
+ }>, z.ZodObject<{
62
+ kind: z.ZodLiteral<"template-variables">;
63
+ phase: z.ZodLiteral<"pre-authority">;
64
+ produces: z.ZodLiteral<"context.indexer.layer-fragment/v1">;
65
+ }, "strict", z.ZodTypeAny, {
66
+ kind: "template-variables";
67
+ phase: "pre-authority";
68
+ produces: "context.indexer.layer-fragment/v1";
69
+ }, {
70
+ kind: "template-variables";
71
+ phase: "pre-authority";
72
+ produces: "context.indexer.layer-fragment/v1";
73
+ }>, z.ZodObject<{
74
+ kind: z.ZodLiteral<"derived-artifact-proposal">;
75
+ phase: z.ZodLiteral<"post-author">;
76
+ produces: z.ZodLiteral<"context.indexer.layer-fragment/v1">;
77
+ }, "strict", z.ZodTypeAny, {
78
+ kind: "derived-artifact-proposal";
79
+ phase: "post-author";
80
+ produces: "context.indexer.layer-fragment/v1";
81
+ }, {
82
+ kind: "derived-artifact-proposal";
83
+ phase: "post-author";
84
+ produces: "context.indexer.layer-fragment/v1";
85
+ }>]>;
86
+ export declare const indexerComposerContractSchema: z.ZodEffects<z.ZodObject<{
87
+ instruction: z.ZodEffects<z.ZodString, string, string>;
88
+ primary_requirements: z.ZodObject<{
89
+ fact_kinds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
90
+ artifact_kinds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
91
+ }, "strict", z.ZodTypeAny, {
92
+ artifact_kinds: string[];
93
+ fact_kinds: string[];
94
+ }, {
95
+ artifact_kinds: string[];
96
+ fact_kinds: string[];
97
+ }>;
98
+ derived_artifact_policy: z.ZodObject<{
99
+ fragment_protocol: z.ZodLiteral<"context.indexer.layer-fragment/v1">;
100
+ fragment_kind: z.ZodLiteral<"derived-artifact-proposal">;
101
+ artifact_policy_variant: z.ZodEffects<z.ZodString, string, string>;
102
+ artifact_kinds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
103
+ }, "strict", z.ZodTypeAny, {
104
+ artifact_policy_variant: string;
105
+ artifact_kinds: string[];
106
+ fragment_protocol: "context.indexer.layer-fragment/v1";
107
+ fragment_kind: "derived-artifact-proposal";
108
+ }, {
109
+ artifact_policy_variant: string;
110
+ artifact_kinds: string[];
111
+ fragment_protocol: "context.indexer.layer-fragment/v1";
112
+ fragment_kind: "derived-artifact-proposal";
113
+ }>;
114
+ empty_result: z.ZodObject<{
115
+ result_protocol: z.ZodLiteral<"context.indexer.layer-fragment-result/v1">;
116
+ behavior: z.ZodLiteral<"empty-fragment-set">;
117
+ }, "strict", z.ZodTypeAny, {
118
+ result_protocol: "context.indexer.layer-fragment-result/v1";
119
+ behavior: "empty-fragment-set";
120
+ }, {
121
+ result_protocol: "context.indexer.layer-fragment-result/v1";
122
+ behavior: "empty-fragment-set";
123
+ }>;
124
+ }, "strict", z.ZodTypeAny, {
125
+ instruction: string;
126
+ primary_requirements: {
127
+ artifact_kinds: string[];
128
+ fact_kinds: string[];
129
+ };
130
+ derived_artifact_policy: {
131
+ artifact_policy_variant: string;
132
+ artifact_kinds: string[];
133
+ fragment_protocol: "context.indexer.layer-fragment/v1";
134
+ fragment_kind: "derived-artifact-proposal";
135
+ };
136
+ empty_result: {
137
+ result_protocol: "context.indexer.layer-fragment-result/v1";
138
+ behavior: "empty-fragment-set";
139
+ };
140
+ }, {
141
+ instruction: string;
142
+ primary_requirements: {
143
+ artifact_kinds: string[];
144
+ fact_kinds: string[];
145
+ };
146
+ derived_artifact_policy: {
147
+ artifact_policy_variant: string;
148
+ artifact_kinds: string[];
149
+ fragment_protocol: "context.indexer.layer-fragment/v1";
150
+ fragment_kind: "derived-artifact-proposal";
151
+ };
152
+ empty_result: {
153
+ result_protocol: "context.indexer.layer-fragment-result/v1";
154
+ behavior: "empty-fragment-set";
155
+ };
156
+ }>, {
157
+ instruction: string;
158
+ primary_requirements: {
159
+ artifact_kinds: string[];
160
+ fact_kinds: string[];
161
+ };
162
+ derived_artifact_policy: {
163
+ artifact_policy_variant: string;
164
+ artifact_kinds: string[];
165
+ fragment_protocol: "context.indexer.layer-fragment/v1";
166
+ fragment_kind: "derived-artifact-proposal";
167
+ };
168
+ empty_result: {
169
+ result_protocol: "context.indexer.layer-fragment-result/v1";
170
+ behavior: "empty-fragment-set";
171
+ };
172
+ }, {
173
+ instruction: string;
174
+ primary_requirements: {
175
+ artifact_kinds: string[];
176
+ fact_kinds: string[];
177
+ };
178
+ derived_artifact_policy: {
179
+ artifact_policy_variant: string;
180
+ artifact_kinds: string[];
181
+ fragment_protocol: "context.indexer.layer-fragment/v1";
182
+ fragment_kind: "derived-artifact-proposal";
183
+ };
184
+ empty_result: {
185
+ result_protocol: "context.indexer.layer-fragment-result/v1";
186
+ behavior: "empty-fragment-set";
187
+ };
188
+ }>;
189
+ export declare const indexerComposerDeclarationSchema: z.ZodObject<{
190
+ id: z.ZodEffects<z.ZodString, string, string>;
191
+ supported_profiles: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
192
+ contract: z.ZodOptional<z.ZodEffects<z.ZodObject<{
193
+ instruction: z.ZodEffects<z.ZodString, string, string>;
194
+ primary_requirements: z.ZodObject<{
195
+ fact_kinds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
196
+ artifact_kinds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
197
+ }, "strict", z.ZodTypeAny, {
198
+ artifact_kinds: string[];
199
+ fact_kinds: string[];
200
+ }, {
201
+ artifact_kinds: string[];
202
+ fact_kinds: string[];
203
+ }>;
204
+ derived_artifact_policy: z.ZodObject<{
205
+ fragment_protocol: z.ZodLiteral<"context.indexer.layer-fragment/v1">;
206
+ fragment_kind: z.ZodLiteral<"derived-artifact-proposal">;
207
+ artifact_policy_variant: z.ZodEffects<z.ZodString, string, string>;
208
+ artifact_kinds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
209
+ }, "strict", z.ZodTypeAny, {
210
+ artifact_policy_variant: string;
211
+ artifact_kinds: string[];
212
+ fragment_protocol: "context.indexer.layer-fragment/v1";
213
+ fragment_kind: "derived-artifact-proposal";
214
+ }, {
215
+ artifact_policy_variant: string;
216
+ artifact_kinds: string[];
217
+ fragment_protocol: "context.indexer.layer-fragment/v1";
218
+ fragment_kind: "derived-artifact-proposal";
219
+ }>;
220
+ empty_result: z.ZodObject<{
221
+ result_protocol: z.ZodLiteral<"context.indexer.layer-fragment-result/v1">;
222
+ behavior: z.ZodLiteral<"empty-fragment-set">;
223
+ }, "strict", z.ZodTypeAny, {
224
+ result_protocol: "context.indexer.layer-fragment-result/v1";
225
+ behavior: "empty-fragment-set";
226
+ }, {
227
+ result_protocol: "context.indexer.layer-fragment-result/v1";
228
+ behavior: "empty-fragment-set";
229
+ }>;
230
+ }, "strict", z.ZodTypeAny, {
231
+ instruction: string;
232
+ primary_requirements: {
233
+ artifact_kinds: string[];
234
+ fact_kinds: string[];
235
+ };
236
+ derived_artifact_policy: {
237
+ artifact_policy_variant: string;
238
+ artifact_kinds: string[];
239
+ fragment_protocol: "context.indexer.layer-fragment/v1";
240
+ fragment_kind: "derived-artifact-proposal";
241
+ };
242
+ empty_result: {
243
+ result_protocol: "context.indexer.layer-fragment-result/v1";
244
+ behavior: "empty-fragment-set";
245
+ };
246
+ }, {
247
+ instruction: string;
248
+ primary_requirements: {
249
+ artifact_kinds: string[];
250
+ fact_kinds: string[];
251
+ };
252
+ derived_artifact_policy: {
253
+ artifact_policy_variant: string;
254
+ artifact_kinds: string[];
255
+ fragment_protocol: "context.indexer.layer-fragment/v1";
256
+ fragment_kind: "derived-artifact-proposal";
257
+ };
258
+ empty_result: {
259
+ result_protocol: "context.indexer.layer-fragment-result/v1";
260
+ behavior: "empty-fragment-set";
261
+ };
262
+ }>, {
263
+ instruction: string;
264
+ primary_requirements: {
265
+ artifact_kinds: string[];
266
+ fact_kinds: string[];
267
+ };
268
+ derived_artifact_policy: {
269
+ artifact_policy_variant: string;
270
+ artifact_kinds: string[];
271
+ fragment_protocol: "context.indexer.layer-fragment/v1";
272
+ fragment_kind: "derived-artifact-proposal";
273
+ };
274
+ empty_result: {
275
+ result_protocol: "context.indexer.layer-fragment-result/v1";
276
+ behavior: "empty-fragment-set";
277
+ };
278
+ }, {
279
+ instruction: string;
280
+ primary_requirements: {
281
+ artifact_kinds: string[];
282
+ fact_kinds: string[];
283
+ };
284
+ derived_artifact_policy: {
285
+ artifact_policy_variant: string;
286
+ artifact_kinds: string[];
287
+ fragment_protocol: "context.indexer.layer-fragment/v1";
288
+ fragment_kind: "derived-artifact-proposal";
289
+ };
290
+ empty_result: {
291
+ result_protocol: "context.indexer.layer-fragment-result/v1";
292
+ behavior: "empty-fragment-set";
293
+ };
294
+ }>>;
295
+ }, "strict", z.ZodTypeAny, {
296
+ id: string;
297
+ supported_profiles: string[];
298
+ contract?: {
299
+ instruction: string;
300
+ primary_requirements: {
301
+ artifact_kinds: string[];
302
+ fact_kinds: string[];
303
+ };
304
+ derived_artifact_policy: {
305
+ artifact_policy_variant: string;
306
+ artifact_kinds: string[];
307
+ fragment_protocol: "context.indexer.layer-fragment/v1";
308
+ fragment_kind: "derived-artifact-proposal";
309
+ };
310
+ empty_result: {
311
+ result_protocol: "context.indexer.layer-fragment-result/v1";
312
+ behavior: "empty-fragment-set";
313
+ };
314
+ } | undefined;
315
+ }, {
316
+ id: string;
317
+ supported_profiles: string[];
318
+ contract?: {
319
+ instruction: string;
320
+ primary_requirements: {
321
+ artifact_kinds: string[];
322
+ fact_kinds: string[];
323
+ };
324
+ derived_artifact_policy: {
325
+ artifact_policy_variant: string;
326
+ artifact_kinds: string[];
327
+ fragment_protocol: "context.indexer.layer-fragment/v1";
328
+ fragment_kind: "derived-artifact-proposal";
329
+ };
330
+ empty_result: {
331
+ result_protocol: "context.indexer.layer-fragment-result/v1";
332
+ behavior: "empty-fragment-set";
333
+ };
334
+ } | undefined;
335
+ }>;
336
+ export type IndexerComposerContract = z.infer<typeof indexerComposerContractSchema>;
337
+ export type IndexerComposerDeclaration = z.infer<typeof indexerComposerDeclarationSchema>;
338
+ export declare const indexerToolSourceDeclarationSchema: z.ZodEffects<z.ZodObject<{
339
+ id: z.ZodEffects<z.ZodString, string, string>;
340
+ handler: z.ZodString;
341
+ request: z.ZodString;
342
+ produces: z.ZodLiteral<"context.indexer.tool-snapshot/v1">;
343
+ operations: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
344
+ optional: z.ZodLiteral<true>;
345
+ }, "strict", z.ZodTypeAny, {
346
+ id: string;
347
+ handler: string;
348
+ operations: string[];
349
+ optional: true;
350
+ request: string;
351
+ produces: "context.indexer.tool-snapshot/v1";
352
+ }, {
353
+ id: string;
354
+ handler: string;
355
+ operations: string[];
356
+ optional: true;
357
+ request: string;
358
+ produces: "context.indexer.tool-snapshot/v1";
359
+ }>, {
360
+ id: string;
361
+ handler: string;
362
+ operations: string[];
363
+ optional: true;
364
+ request: string;
365
+ produces: "context.indexer.tool-snapshot/v1";
366
+ }, {
367
+ id: string;
368
+ handler: string;
369
+ operations: string[];
370
+ optional: true;
371
+ request: string;
372
+ produces: "context.indexer.tool-snapshot/v1";
373
+ }>;
374
+ export type IndexerToolSourceDeclaration = z.infer<typeof indexerToolSourceDeclarationSchema>;
375
+ export declare const indexerPartitionStrategyDeclarationSchema: z.ZodEffects<z.ZodObject<{
376
+ id: z.ZodEffects<z.ZodString, string, string>;
377
+ profiles: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
378
+ priority: z.ZodNumber;
379
+ }, "strict", z.ZodTypeAny, {
380
+ id: string;
381
+ priority: number;
382
+ profiles: string[];
383
+ }, {
384
+ id: string;
385
+ priority: number;
386
+ profiles: string[];
387
+ }>, {
388
+ id: string;
389
+ priority: number;
390
+ profiles: string[];
391
+ }, {
392
+ id: string;
393
+ priority: number;
394
+ profiles: string[];
395
+ }>;
396
+ export declare const indexerProviderManifestSchema: z.ZodEffects<z.ZodObject<{
397
+ protocol: z.ZodLiteral<"context.indexer.provider/v1">;
398
+ id: z.ZodEffects<z.ZodString, string, string>;
399
+ version: z.ZodString;
400
+ domains: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
401
+ activation: z.ZodEffects<z.ZodObject<{
402
+ target_kinds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
403
+ required_signals: z.ZodArray<z.ZodObject<{
404
+ id: z.ZodEffects<z.ZodString, string, string>;
405
+ description: z.ZodString;
406
+ }, "strict", z.ZodTypeAny, {
407
+ id: string;
408
+ description: string;
409
+ }, {
410
+ id: string;
411
+ description: string;
412
+ }>, "many">;
413
+ supporting_signals: z.ZodArray<z.ZodObject<{
414
+ id: z.ZodEffects<z.ZodString, string, string>;
415
+ description: z.ZodString;
416
+ }, "strict", z.ZodTypeAny, {
417
+ id: string;
418
+ description: string;
419
+ }, {
420
+ id: string;
421
+ description: string;
422
+ }>, "many">;
423
+ negative_signals: z.ZodArray<z.ZodObject<{
424
+ id: z.ZodEffects<z.ZodString, string, string>;
425
+ description: z.ZodString;
426
+ }, "strict", z.ZodTypeAny, {
427
+ id: string;
428
+ description: string;
429
+ }, {
430
+ id: string;
431
+ description: string;
432
+ }>, "many">;
433
+ agent_questions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
434
+ detector: z.ZodOptional<z.ZodObject<{
435
+ execution: z.ZodObject<{
436
+ runtime: z.ZodLiteral<"node">;
437
+ entry: z.ZodEffects<z.ZodString, string, string>;
438
+ args: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
439
+ }, "strict", z.ZodTypeAny, {
440
+ entry: string;
441
+ args: string[];
442
+ runtime: "node";
443
+ }, {
444
+ entry: string;
445
+ args: string[];
446
+ runtime: "node";
447
+ }>;
448
+ protocol: z.ZodLiteral<"context.indexer.activation/v1">;
449
+ capabilities: z.ZodTuple<[z.ZodLiteral<"parser-facts.read">], null>;
450
+ optional: z.ZodBoolean;
451
+ }, "strict", z.ZodTypeAny, {
452
+ protocol: "context.indexer.activation/v1";
453
+ optional: boolean;
454
+ capabilities: ["parser-facts.read"];
455
+ execution: {
456
+ entry: string;
457
+ args: string[];
458
+ runtime: "node";
459
+ };
460
+ }, {
461
+ protocol: "context.indexer.activation/v1";
462
+ optional: boolean;
463
+ capabilities: ["parser-facts.read"];
464
+ execution: {
465
+ entry: string;
466
+ args: string[];
467
+ runtime: "node";
468
+ };
469
+ }>>;
470
+ }, "strict", z.ZodTypeAny, {
471
+ target_kinds: string[];
472
+ required_signals: {
473
+ id: string;
474
+ description: string;
475
+ }[];
476
+ supporting_signals: {
477
+ id: string;
478
+ description: string;
479
+ }[];
480
+ negative_signals: {
481
+ id: string;
482
+ description: string;
483
+ }[];
484
+ agent_questions?: string[] | undefined;
485
+ detector?: {
486
+ protocol: "context.indexer.activation/v1";
487
+ optional: boolean;
488
+ capabilities: ["parser-facts.read"];
489
+ execution: {
490
+ entry: string;
491
+ args: string[];
492
+ runtime: "node";
493
+ };
494
+ } | undefined;
495
+ }, {
496
+ target_kinds: string[];
497
+ required_signals: {
498
+ id: string;
499
+ description: string;
500
+ }[];
501
+ supporting_signals: {
502
+ id: string;
503
+ description: string;
504
+ }[];
505
+ negative_signals: {
506
+ id: string;
507
+ description: string;
508
+ }[];
509
+ agent_questions?: string[] | undefined;
510
+ detector?: {
511
+ protocol: "context.indexer.activation/v1";
512
+ optional: boolean;
513
+ capabilities: ["parser-facts.read"];
514
+ execution: {
515
+ entry: string;
516
+ args: string[];
517
+ runtime: "node";
518
+ };
519
+ } | undefined;
520
+ }>, {
521
+ target_kinds: string[];
522
+ required_signals: {
523
+ id: string;
524
+ description: string;
525
+ }[];
526
+ supporting_signals: {
527
+ id: string;
528
+ description: string;
529
+ }[];
530
+ negative_signals: {
531
+ id: string;
532
+ description: string;
533
+ }[];
534
+ agent_questions?: string[] | undefined;
535
+ detector?: {
536
+ protocol: "context.indexer.activation/v1";
537
+ optional: boolean;
538
+ capabilities: ["parser-facts.read"];
539
+ execution: {
540
+ entry: string;
541
+ args: string[];
542
+ runtime: "node";
543
+ };
544
+ } | undefined;
545
+ }, {
546
+ target_kinds: string[];
547
+ required_signals: {
548
+ id: string;
549
+ description: string;
550
+ }[];
551
+ supporting_signals: {
552
+ id: string;
553
+ description: string;
554
+ }[];
555
+ negative_signals: {
556
+ id: string;
557
+ description: string;
558
+ }[];
559
+ agent_questions?: string[] | undefined;
560
+ detector?: {
561
+ protocol: "context.indexer.activation/v1";
562
+ optional: boolean;
563
+ capabilities: ["parser-facts.read"];
564
+ execution: {
565
+ entry: string;
566
+ args: string[];
567
+ runtime: "node";
568
+ };
569
+ } | undefined;
570
+ }>;
571
+ provides: z.ZodEffects<z.ZodObject<{
572
+ profiles: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
573
+ operations: z.ZodArray<z.ZodDiscriminatedUnion<"id", [z.ZodObject<{
574
+ id: z.ZodLiteral<"main-index">;
575
+ consumes: z.ZodLiteral<"context.indexer.main-workset/v1">;
576
+ produces: z.ZodLiteral<"context.indexer.main-result/v1">;
577
+ accepts_layer_fragments: z.ZodOptional<z.ZodArray<z.ZodEnum<["fact-enrichment", "template-variables"]>, "many">>;
578
+ }, "strict", z.ZodTypeAny, {
579
+ id: "main-index";
580
+ consumes: "context.indexer.main-workset/v1";
581
+ produces: "context.indexer.main-result/v1";
582
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
583
+ }, {
584
+ id: "main-index";
585
+ consumes: "context.indexer.main-workset/v1";
586
+ produces: "context.indexer.main-result/v1";
587
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
588
+ }>, z.ZodObject<{
589
+ id: z.ZodLiteral<"material-answer">;
590
+ consumes: z.ZodLiteral<"context.indexer.material-question-workset/v1">;
591
+ produces: z.ZodLiteral<"context.indexer.material-answer-result/v1">;
592
+ supported_evidence_kinds: z.ZodArray<z.ZodEnum<["code", "contract", "configuration", "documentation", "runbook", "decision-record", "test-result", "runtime-observation", "tool-snapshot"]>, "many">;
593
+ accepts_layer_fragments: z.ZodOptional<z.ZodArray<z.ZodEnum<["fact-enrichment", "template-variables"]>, "many">>;
594
+ }, "strict", z.ZodTypeAny, {
595
+ id: "material-answer";
596
+ consumes: "context.indexer.material-question-workset/v1";
597
+ produces: "context.indexer.material-answer-result/v1";
598
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
599
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
600
+ }, {
601
+ id: "material-answer";
602
+ consumes: "context.indexer.material-question-workset/v1";
603
+ produces: "context.indexer.material-answer-result/v1";
604
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
605
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
606
+ }>]>, "many">;
607
+ layer_fragments: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
608
+ kind: z.ZodLiteral<"fact-enrichment">;
609
+ phase: z.ZodLiteral<"pre-authority">;
610
+ produces: z.ZodLiteral<"context.indexer.layer-fragment/v1">;
611
+ }, "strict", z.ZodTypeAny, {
612
+ kind: "fact-enrichment";
613
+ phase: "pre-authority";
614
+ produces: "context.indexer.layer-fragment/v1";
615
+ }, {
616
+ kind: "fact-enrichment";
617
+ phase: "pre-authority";
618
+ produces: "context.indexer.layer-fragment/v1";
619
+ }>, z.ZodObject<{
620
+ kind: z.ZodLiteral<"template-variables">;
621
+ phase: z.ZodLiteral<"pre-authority">;
622
+ produces: z.ZodLiteral<"context.indexer.layer-fragment/v1">;
623
+ }, "strict", z.ZodTypeAny, {
624
+ kind: "template-variables";
625
+ phase: "pre-authority";
626
+ produces: "context.indexer.layer-fragment/v1";
627
+ }, {
628
+ kind: "template-variables";
629
+ phase: "pre-authority";
630
+ produces: "context.indexer.layer-fragment/v1";
631
+ }>, z.ZodObject<{
632
+ kind: z.ZodLiteral<"derived-artifact-proposal">;
633
+ phase: z.ZodLiteral<"post-author">;
634
+ produces: z.ZodLiteral<"context.indexer.layer-fragment/v1">;
635
+ }, "strict", z.ZodTypeAny, {
636
+ kind: "derived-artifact-proposal";
637
+ phase: "post-author";
638
+ produces: "context.indexer.layer-fragment/v1";
639
+ }, {
640
+ kind: "derived-artifact-proposal";
641
+ phase: "post-author";
642
+ produces: "context.indexer.layer-fragment/v1";
643
+ }>]>, "many">>;
644
+ composers: z.ZodOptional<z.ZodArray<z.ZodObject<{
645
+ id: z.ZodEffects<z.ZodString, string, string>;
646
+ supported_profiles: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
647
+ contract: z.ZodOptional<z.ZodEffects<z.ZodObject<{
648
+ instruction: z.ZodEffects<z.ZodString, string, string>;
649
+ primary_requirements: z.ZodObject<{
650
+ fact_kinds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
651
+ artifact_kinds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
652
+ }, "strict", z.ZodTypeAny, {
653
+ artifact_kinds: string[];
654
+ fact_kinds: string[];
655
+ }, {
656
+ artifact_kinds: string[];
657
+ fact_kinds: string[];
658
+ }>;
659
+ derived_artifact_policy: z.ZodObject<{
660
+ fragment_protocol: z.ZodLiteral<"context.indexer.layer-fragment/v1">;
661
+ fragment_kind: z.ZodLiteral<"derived-artifact-proposal">;
662
+ artifact_policy_variant: z.ZodEffects<z.ZodString, string, string>;
663
+ artifact_kinds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
664
+ }, "strict", z.ZodTypeAny, {
665
+ artifact_policy_variant: string;
666
+ artifact_kinds: string[];
667
+ fragment_protocol: "context.indexer.layer-fragment/v1";
668
+ fragment_kind: "derived-artifact-proposal";
669
+ }, {
670
+ artifact_policy_variant: string;
671
+ artifact_kinds: string[];
672
+ fragment_protocol: "context.indexer.layer-fragment/v1";
673
+ fragment_kind: "derived-artifact-proposal";
674
+ }>;
675
+ empty_result: z.ZodObject<{
676
+ result_protocol: z.ZodLiteral<"context.indexer.layer-fragment-result/v1">;
677
+ behavior: z.ZodLiteral<"empty-fragment-set">;
678
+ }, "strict", z.ZodTypeAny, {
679
+ result_protocol: "context.indexer.layer-fragment-result/v1";
680
+ behavior: "empty-fragment-set";
681
+ }, {
682
+ result_protocol: "context.indexer.layer-fragment-result/v1";
683
+ behavior: "empty-fragment-set";
684
+ }>;
685
+ }, "strict", z.ZodTypeAny, {
686
+ instruction: string;
687
+ primary_requirements: {
688
+ artifact_kinds: string[];
689
+ fact_kinds: string[];
690
+ };
691
+ derived_artifact_policy: {
692
+ artifact_policy_variant: string;
693
+ artifact_kinds: string[];
694
+ fragment_protocol: "context.indexer.layer-fragment/v1";
695
+ fragment_kind: "derived-artifact-proposal";
696
+ };
697
+ empty_result: {
698
+ result_protocol: "context.indexer.layer-fragment-result/v1";
699
+ behavior: "empty-fragment-set";
700
+ };
701
+ }, {
702
+ instruction: string;
703
+ primary_requirements: {
704
+ artifact_kinds: string[];
705
+ fact_kinds: string[];
706
+ };
707
+ derived_artifact_policy: {
708
+ artifact_policy_variant: string;
709
+ artifact_kinds: string[];
710
+ fragment_protocol: "context.indexer.layer-fragment/v1";
711
+ fragment_kind: "derived-artifact-proposal";
712
+ };
713
+ empty_result: {
714
+ result_protocol: "context.indexer.layer-fragment-result/v1";
715
+ behavior: "empty-fragment-set";
716
+ };
717
+ }>, {
718
+ instruction: string;
719
+ primary_requirements: {
720
+ artifact_kinds: string[];
721
+ fact_kinds: string[];
722
+ };
723
+ derived_artifact_policy: {
724
+ artifact_policy_variant: string;
725
+ artifact_kinds: string[];
726
+ fragment_protocol: "context.indexer.layer-fragment/v1";
727
+ fragment_kind: "derived-artifact-proposal";
728
+ };
729
+ empty_result: {
730
+ result_protocol: "context.indexer.layer-fragment-result/v1";
731
+ behavior: "empty-fragment-set";
732
+ };
733
+ }, {
734
+ instruction: string;
735
+ primary_requirements: {
736
+ artifact_kinds: string[];
737
+ fact_kinds: string[];
738
+ };
739
+ derived_artifact_policy: {
740
+ artifact_policy_variant: string;
741
+ artifact_kinds: string[];
742
+ fragment_protocol: "context.indexer.layer-fragment/v1";
743
+ fragment_kind: "derived-artifact-proposal";
744
+ };
745
+ empty_result: {
746
+ result_protocol: "context.indexer.layer-fragment-result/v1";
747
+ behavior: "empty-fragment-set";
748
+ };
749
+ }>>;
750
+ }, "strict", z.ZodTypeAny, {
751
+ id: string;
752
+ supported_profiles: string[];
753
+ contract?: {
754
+ instruction: string;
755
+ primary_requirements: {
756
+ artifact_kinds: string[];
757
+ fact_kinds: string[];
758
+ };
759
+ derived_artifact_policy: {
760
+ artifact_policy_variant: string;
761
+ artifact_kinds: string[];
762
+ fragment_protocol: "context.indexer.layer-fragment/v1";
763
+ fragment_kind: "derived-artifact-proposal";
764
+ };
765
+ empty_result: {
766
+ result_protocol: "context.indexer.layer-fragment-result/v1";
767
+ behavior: "empty-fragment-set";
768
+ };
769
+ } | undefined;
770
+ }, {
771
+ id: string;
772
+ supported_profiles: string[];
773
+ contract?: {
774
+ instruction: string;
775
+ primary_requirements: {
776
+ artifact_kinds: string[];
777
+ fact_kinds: string[];
778
+ };
779
+ derived_artifact_policy: {
780
+ artifact_policy_variant: string;
781
+ artifact_kinds: string[];
782
+ fragment_protocol: "context.indexer.layer-fragment/v1";
783
+ fragment_kind: "derived-artifact-proposal";
784
+ };
785
+ empty_result: {
786
+ result_protocol: "context.indexer.layer-fragment-result/v1";
787
+ behavior: "empty-fragment-set";
788
+ };
789
+ } | undefined;
790
+ }>, "many">>;
791
+ source_roles: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
792
+ tool_sources: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
793
+ id: z.ZodEffects<z.ZodString, string, string>;
794
+ handler: z.ZodString;
795
+ request: z.ZodString;
796
+ produces: z.ZodLiteral<"context.indexer.tool-snapshot/v1">;
797
+ operations: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
798
+ optional: z.ZodLiteral<true>;
799
+ }, "strict", z.ZodTypeAny, {
800
+ id: string;
801
+ handler: string;
802
+ operations: string[];
803
+ optional: true;
804
+ request: string;
805
+ produces: "context.indexer.tool-snapshot/v1";
806
+ }, {
807
+ id: string;
808
+ handler: string;
809
+ operations: string[];
810
+ optional: true;
811
+ request: string;
812
+ produces: "context.indexer.tool-snapshot/v1";
813
+ }>, {
814
+ id: string;
815
+ handler: string;
816
+ operations: string[];
817
+ optional: true;
818
+ request: string;
819
+ produces: "context.indexer.tool-snapshot/v1";
820
+ }, {
821
+ id: string;
822
+ handler: string;
823
+ operations: string[];
824
+ optional: true;
825
+ request: string;
826
+ produces: "context.indexer.tool-snapshot/v1";
827
+ }>, "many">>;
828
+ logical_units: z.ZodOptional<z.ZodArray<z.ZodObject<{
829
+ id: z.ZodEffects<z.ZodString, string, string>;
830
+ identity: z.ZodEffects<z.ZodString, string, string>;
831
+ artifacts: z.ZodOptional<z.ZodObject<{
832
+ recommended: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
833
+ supported_policy_variants: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
834
+ }, "strict", z.ZodTypeAny, {
835
+ recommended: string[];
836
+ supported_policy_variants: string[];
837
+ }, {
838
+ recommended: string[];
839
+ supported_policy_variants: string[];
840
+ }>>;
841
+ }, "strict", z.ZodTypeAny, {
842
+ id: string;
843
+ identity: string;
844
+ artifacts?: {
845
+ recommended: string[];
846
+ supported_policy_variants: string[];
847
+ } | undefined;
848
+ }, {
849
+ id: string;
850
+ identity: string;
851
+ artifacts?: {
852
+ recommended: string[];
853
+ supported_policy_variants: string[];
854
+ } | undefined;
855
+ }>, "many">>;
856
+ partition_strategies: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
857
+ id: z.ZodEffects<z.ZodString, string, string>;
858
+ profiles: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
859
+ priority: z.ZodNumber;
860
+ }, "strict", z.ZodTypeAny, {
861
+ id: string;
862
+ priority: number;
863
+ profiles: string[];
864
+ }, {
865
+ id: string;
866
+ priority: number;
867
+ profiles: string[];
868
+ }>, {
869
+ id: string;
870
+ priority: number;
871
+ profiles: string[];
872
+ }, {
873
+ id: string;
874
+ priority: number;
875
+ profiles: string[];
876
+ }>, "many">>;
877
+ contract_overlays: z.ZodOptional<z.ZodArray<z.ZodObject<{
878
+ id: z.ZodEffects<z.ZodString, string, string>;
879
+ protocol: z.ZodLiteral<"context.indexer.contract-overlay/v1">;
880
+ extends: z.ZodObject<{
881
+ profile: z.ZodEffects<z.ZodString, string, string>;
882
+ version: z.ZodString;
883
+ }, "strict", z.ZodTypeAny, {
884
+ version: string;
885
+ profile: string;
886
+ }, {
887
+ version: string;
888
+ profile: string;
889
+ }>;
890
+ resource: z.ZodEffects<z.ZodString, string, string>;
891
+ integrity: z.ZodString;
892
+ attestation: z.ZodOptional<z.ZodObject<{
893
+ protocol: z.ZodLiteral<"context.indexer.overlay-attestation/v1">;
894
+ resource: z.ZodEffects<z.ZodString, string, string>;
895
+ integrity: z.ZodString;
896
+ }, "strict", z.ZodTypeAny, {
897
+ protocol: "context.indexer.overlay-attestation/v1";
898
+ integrity: string;
899
+ resource: string;
900
+ }, {
901
+ protocol: "context.indexer.overlay-attestation/v1";
902
+ integrity: string;
903
+ resource: string;
904
+ }>>;
905
+ }, "strict", z.ZodTypeAny, {
906
+ id: string;
907
+ protocol: "context.indexer.contract-overlay/v1";
908
+ integrity: string;
909
+ resource: string;
910
+ extends: {
911
+ version: string;
912
+ profile: string;
913
+ };
914
+ attestation?: {
915
+ protocol: "context.indexer.overlay-attestation/v1";
916
+ integrity: string;
917
+ resource: string;
918
+ } | undefined;
919
+ }, {
920
+ id: string;
921
+ protocol: "context.indexer.contract-overlay/v1";
922
+ integrity: string;
923
+ resource: string;
924
+ extends: {
925
+ version: string;
926
+ profile: string;
927
+ };
928
+ attestation?: {
929
+ protocol: "context.indexer.overlay-attestation/v1";
930
+ integrity: string;
931
+ resource: string;
932
+ } | undefined;
933
+ }>, "many">>;
934
+ }, "strict", z.ZodTypeAny, {
935
+ operations: ({
936
+ id: "main-index";
937
+ consumes: "context.indexer.main-workset/v1";
938
+ produces: "context.indexer.main-result/v1";
939
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
940
+ } | {
941
+ id: "material-answer";
942
+ consumes: "context.indexer.material-question-workset/v1";
943
+ produces: "context.indexer.material-answer-result/v1";
944
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
945
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
946
+ })[];
947
+ profiles: string[];
948
+ composers?: {
949
+ id: string;
950
+ supported_profiles: string[];
951
+ contract?: {
952
+ instruction: string;
953
+ primary_requirements: {
954
+ artifact_kinds: string[];
955
+ fact_kinds: string[];
956
+ };
957
+ derived_artifact_policy: {
958
+ artifact_policy_variant: string;
959
+ artifact_kinds: string[];
960
+ fragment_protocol: "context.indexer.layer-fragment/v1";
961
+ fragment_kind: "derived-artifact-proposal";
962
+ };
963
+ empty_result: {
964
+ result_protocol: "context.indexer.layer-fragment-result/v1";
965
+ behavior: "empty-fragment-set";
966
+ };
967
+ } | undefined;
968
+ }[] | undefined;
969
+ source_roles?: string[] | undefined;
970
+ layer_fragments?: ({
971
+ kind: "fact-enrichment";
972
+ phase: "pre-authority";
973
+ produces: "context.indexer.layer-fragment/v1";
974
+ } | {
975
+ kind: "template-variables";
976
+ phase: "pre-authority";
977
+ produces: "context.indexer.layer-fragment/v1";
978
+ } | {
979
+ kind: "derived-artifact-proposal";
980
+ phase: "post-author";
981
+ produces: "context.indexer.layer-fragment/v1";
982
+ })[] | undefined;
983
+ tool_sources?: {
984
+ id: string;
985
+ handler: string;
986
+ operations: string[];
987
+ optional: true;
988
+ request: string;
989
+ produces: "context.indexer.tool-snapshot/v1";
990
+ }[] | undefined;
991
+ logical_units?: {
992
+ id: string;
993
+ identity: string;
994
+ artifacts?: {
995
+ recommended: string[];
996
+ supported_policy_variants: string[];
997
+ } | undefined;
998
+ }[] | undefined;
999
+ partition_strategies?: {
1000
+ id: string;
1001
+ priority: number;
1002
+ profiles: string[];
1003
+ }[] | undefined;
1004
+ contract_overlays?: {
1005
+ id: string;
1006
+ protocol: "context.indexer.contract-overlay/v1";
1007
+ integrity: string;
1008
+ resource: string;
1009
+ extends: {
1010
+ version: string;
1011
+ profile: string;
1012
+ };
1013
+ attestation?: {
1014
+ protocol: "context.indexer.overlay-attestation/v1";
1015
+ integrity: string;
1016
+ resource: string;
1017
+ } | undefined;
1018
+ }[] | undefined;
1019
+ }, {
1020
+ operations: ({
1021
+ id: "main-index";
1022
+ consumes: "context.indexer.main-workset/v1";
1023
+ produces: "context.indexer.main-result/v1";
1024
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1025
+ } | {
1026
+ id: "material-answer";
1027
+ consumes: "context.indexer.material-question-workset/v1";
1028
+ produces: "context.indexer.material-answer-result/v1";
1029
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
1030
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1031
+ })[];
1032
+ profiles: string[];
1033
+ composers?: {
1034
+ id: string;
1035
+ supported_profiles: string[];
1036
+ contract?: {
1037
+ instruction: string;
1038
+ primary_requirements: {
1039
+ artifact_kinds: string[];
1040
+ fact_kinds: string[];
1041
+ };
1042
+ derived_artifact_policy: {
1043
+ artifact_policy_variant: string;
1044
+ artifact_kinds: string[];
1045
+ fragment_protocol: "context.indexer.layer-fragment/v1";
1046
+ fragment_kind: "derived-artifact-proposal";
1047
+ };
1048
+ empty_result: {
1049
+ result_protocol: "context.indexer.layer-fragment-result/v1";
1050
+ behavior: "empty-fragment-set";
1051
+ };
1052
+ } | undefined;
1053
+ }[] | undefined;
1054
+ source_roles?: string[] | undefined;
1055
+ layer_fragments?: ({
1056
+ kind: "fact-enrichment";
1057
+ phase: "pre-authority";
1058
+ produces: "context.indexer.layer-fragment/v1";
1059
+ } | {
1060
+ kind: "template-variables";
1061
+ phase: "pre-authority";
1062
+ produces: "context.indexer.layer-fragment/v1";
1063
+ } | {
1064
+ kind: "derived-artifact-proposal";
1065
+ phase: "post-author";
1066
+ produces: "context.indexer.layer-fragment/v1";
1067
+ })[] | undefined;
1068
+ tool_sources?: {
1069
+ id: string;
1070
+ handler: string;
1071
+ operations: string[];
1072
+ optional: true;
1073
+ request: string;
1074
+ produces: "context.indexer.tool-snapshot/v1";
1075
+ }[] | undefined;
1076
+ logical_units?: {
1077
+ id: string;
1078
+ identity: string;
1079
+ artifacts?: {
1080
+ recommended: string[];
1081
+ supported_policy_variants: string[];
1082
+ } | undefined;
1083
+ }[] | undefined;
1084
+ partition_strategies?: {
1085
+ id: string;
1086
+ priority: number;
1087
+ profiles: string[];
1088
+ }[] | undefined;
1089
+ contract_overlays?: {
1090
+ id: string;
1091
+ protocol: "context.indexer.contract-overlay/v1";
1092
+ integrity: string;
1093
+ resource: string;
1094
+ extends: {
1095
+ version: string;
1096
+ profile: string;
1097
+ };
1098
+ attestation?: {
1099
+ protocol: "context.indexer.overlay-attestation/v1";
1100
+ integrity: string;
1101
+ resource: string;
1102
+ } | undefined;
1103
+ }[] | undefined;
1104
+ }>, {
1105
+ operations: ({
1106
+ id: "main-index";
1107
+ consumes: "context.indexer.main-workset/v1";
1108
+ produces: "context.indexer.main-result/v1";
1109
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1110
+ } | {
1111
+ id: "material-answer";
1112
+ consumes: "context.indexer.material-question-workset/v1";
1113
+ produces: "context.indexer.material-answer-result/v1";
1114
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
1115
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1116
+ })[];
1117
+ profiles: string[];
1118
+ composers?: {
1119
+ id: string;
1120
+ supported_profiles: string[];
1121
+ contract?: {
1122
+ instruction: string;
1123
+ primary_requirements: {
1124
+ artifact_kinds: string[];
1125
+ fact_kinds: string[];
1126
+ };
1127
+ derived_artifact_policy: {
1128
+ artifact_policy_variant: string;
1129
+ artifact_kinds: string[];
1130
+ fragment_protocol: "context.indexer.layer-fragment/v1";
1131
+ fragment_kind: "derived-artifact-proposal";
1132
+ };
1133
+ empty_result: {
1134
+ result_protocol: "context.indexer.layer-fragment-result/v1";
1135
+ behavior: "empty-fragment-set";
1136
+ };
1137
+ } | undefined;
1138
+ }[] | undefined;
1139
+ source_roles?: string[] | undefined;
1140
+ layer_fragments?: ({
1141
+ kind: "fact-enrichment";
1142
+ phase: "pre-authority";
1143
+ produces: "context.indexer.layer-fragment/v1";
1144
+ } | {
1145
+ kind: "template-variables";
1146
+ phase: "pre-authority";
1147
+ produces: "context.indexer.layer-fragment/v1";
1148
+ } | {
1149
+ kind: "derived-artifact-proposal";
1150
+ phase: "post-author";
1151
+ produces: "context.indexer.layer-fragment/v1";
1152
+ })[] | undefined;
1153
+ tool_sources?: {
1154
+ id: string;
1155
+ handler: string;
1156
+ operations: string[];
1157
+ optional: true;
1158
+ request: string;
1159
+ produces: "context.indexer.tool-snapshot/v1";
1160
+ }[] | undefined;
1161
+ logical_units?: {
1162
+ id: string;
1163
+ identity: string;
1164
+ artifacts?: {
1165
+ recommended: string[];
1166
+ supported_policy_variants: string[];
1167
+ } | undefined;
1168
+ }[] | undefined;
1169
+ partition_strategies?: {
1170
+ id: string;
1171
+ priority: number;
1172
+ profiles: string[];
1173
+ }[] | undefined;
1174
+ contract_overlays?: {
1175
+ id: string;
1176
+ protocol: "context.indexer.contract-overlay/v1";
1177
+ integrity: string;
1178
+ resource: string;
1179
+ extends: {
1180
+ version: string;
1181
+ profile: string;
1182
+ };
1183
+ attestation?: {
1184
+ protocol: "context.indexer.overlay-attestation/v1";
1185
+ integrity: string;
1186
+ resource: string;
1187
+ } | undefined;
1188
+ }[] | undefined;
1189
+ }, {
1190
+ operations: ({
1191
+ id: "main-index";
1192
+ consumes: "context.indexer.main-workset/v1";
1193
+ produces: "context.indexer.main-result/v1";
1194
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1195
+ } | {
1196
+ id: "material-answer";
1197
+ consumes: "context.indexer.material-question-workset/v1";
1198
+ produces: "context.indexer.material-answer-result/v1";
1199
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
1200
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1201
+ })[];
1202
+ profiles: string[];
1203
+ composers?: {
1204
+ id: string;
1205
+ supported_profiles: string[];
1206
+ contract?: {
1207
+ instruction: string;
1208
+ primary_requirements: {
1209
+ artifact_kinds: string[];
1210
+ fact_kinds: string[];
1211
+ };
1212
+ derived_artifact_policy: {
1213
+ artifact_policy_variant: string;
1214
+ artifact_kinds: string[];
1215
+ fragment_protocol: "context.indexer.layer-fragment/v1";
1216
+ fragment_kind: "derived-artifact-proposal";
1217
+ };
1218
+ empty_result: {
1219
+ result_protocol: "context.indexer.layer-fragment-result/v1";
1220
+ behavior: "empty-fragment-set";
1221
+ };
1222
+ } | undefined;
1223
+ }[] | undefined;
1224
+ source_roles?: string[] | undefined;
1225
+ layer_fragments?: ({
1226
+ kind: "fact-enrichment";
1227
+ phase: "pre-authority";
1228
+ produces: "context.indexer.layer-fragment/v1";
1229
+ } | {
1230
+ kind: "template-variables";
1231
+ phase: "pre-authority";
1232
+ produces: "context.indexer.layer-fragment/v1";
1233
+ } | {
1234
+ kind: "derived-artifact-proposal";
1235
+ phase: "post-author";
1236
+ produces: "context.indexer.layer-fragment/v1";
1237
+ })[] | undefined;
1238
+ tool_sources?: {
1239
+ id: string;
1240
+ handler: string;
1241
+ operations: string[];
1242
+ optional: true;
1243
+ request: string;
1244
+ produces: "context.indexer.tool-snapshot/v1";
1245
+ }[] | undefined;
1246
+ logical_units?: {
1247
+ id: string;
1248
+ identity: string;
1249
+ artifacts?: {
1250
+ recommended: string[];
1251
+ supported_policy_variants: string[];
1252
+ } | undefined;
1253
+ }[] | undefined;
1254
+ partition_strategies?: {
1255
+ id: string;
1256
+ priority: number;
1257
+ profiles: string[];
1258
+ }[] | undefined;
1259
+ contract_overlays?: {
1260
+ id: string;
1261
+ protocol: "context.indexer.contract-overlay/v1";
1262
+ integrity: string;
1263
+ resource: string;
1264
+ extends: {
1265
+ version: string;
1266
+ profile: string;
1267
+ };
1268
+ attestation?: {
1269
+ protocol: "context.indexer.overlay-attestation/v1";
1270
+ integrity: string;
1271
+ resource: string;
1272
+ } | undefined;
1273
+ }[] | undefined;
1274
+ }>;
1275
+ authoring_inspector: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1276
+ execution: z.ZodObject<{
1277
+ runtime: z.ZodLiteral<"node">;
1278
+ entry: z.ZodEffects<z.ZodString, string, string>;
1279
+ args: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1280
+ }, "strict", z.ZodTypeAny, {
1281
+ entry: string;
1282
+ args: string[];
1283
+ runtime: "node";
1284
+ }, {
1285
+ entry: string;
1286
+ args: string[];
1287
+ runtime: "node";
1288
+ }>;
1289
+ protocol: z.ZodLiteral<"context.indexer.inspector/v1">;
1290
+ capabilities: z.ZodArray<z.ZodEnum<["parser-facts.read", "source.read"]>, "many">;
1291
+ output: z.ZodLiteral<"provider-enrichment-facts">;
1292
+ }, "strict", z.ZodTypeAny, {
1293
+ protocol: "context.indexer.inspector/v1";
1294
+ output: "provider-enrichment-facts";
1295
+ capabilities: ("source.read" | "parser-facts.read")[];
1296
+ execution: {
1297
+ entry: string;
1298
+ args: string[];
1299
+ runtime: "node";
1300
+ };
1301
+ }, {
1302
+ protocol: "context.indexer.inspector/v1";
1303
+ output: "provider-enrichment-facts";
1304
+ capabilities: ("source.read" | "parser-facts.read")[];
1305
+ execution: {
1306
+ entry: string;
1307
+ args: string[];
1308
+ runtime: "node";
1309
+ };
1310
+ }>, {
1311
+ protocol: "context.indexer.inspector/v1";
1312
+ output: "provider-enrichment-facts";
1313
+ capabilities: ("source.read" | "parser-facts.read")[];
1314
+ execution: {
1315
+ entry: string;
1316
+ args: string[];
1317
+ runtime: "node";
1318
+ };
1319
+ }, {
1320
+ protocol: "context.indexer.inspector/v1";
1321
+ output: "provider-enrichment-facts";
1322
+ capabilities: ("source.read" | "parser-facts.read")[];
1323
+ execution: {
1324
+ entry: string;
1325
+ args: string[];
1326
+ runtime: "node";
1327
+ };
1328
+ }>>;
1329
+ provider: z.ZodEffects<z.ZodObject<{
1330
+ program: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1331
+ execution: z.ZodObject<{
1332
+ runtime: z.ZodLiteral<"node">;
1333
+ entry: z.ZodEffects<z.ZodString, string, string>;
1334
+ args: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1335
+ }, "strict", z.ZodTypeAny, {
1336
+ entry: string;
1337
+ args: string[];
1338
+ runtime: "node";
1339
+ }, {
1340
+ entry: string;
1341
+ args: string[];
1342
+ runtime: "node";
1343
+ }>;
1344
+ protocol: z.ZodLiteral<"context.indexer.program/v1">;
1345
+ capabilities: z.ZodArray<z.ZodEnum<["source.read", "parser-facts.read", "indexer-result.write"]>, "many">;
1346
+ }, "strict", z.ZodTypeAny, {
1347
+ protocol: "context.indexer.program/v1";
1348
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1349
+ execution: {
1350
+ entry: string;
1351
+ args: string[];
1352
+ runtime: "node";
1353
+ };
1354
+ }, {
1355
+ protocol: "context.indexer.program/v1";
1356
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1357
+ execution: {
1358
+ entry: string;
1359
+ args: string[];
1360
+ runtime: "node";
1361
+ };
1362
+ }>, {
1363
+ protocol: "context.indexer.program/v1";
1364
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1365
+ execution: {
1366
+ entry: string;
1367
+ args: string[];
1368
+ runtime: "node";
1369
+ };
1370
+ }, {
1371
+ protocol: "context.indexer.program/v1";
1372
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1373
+ execution: {
1374
+ entry: string;
1375
+ args: string[];
1376
+ runtime: "node";
1377
+ };
1378
+ }>>;
1379
+ instructions: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
1380
+ path: z.ZodEffects<z.ZodString, string, string>;
1381
+ profiles: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1382
+ }, "strict", z.ZodTypeAny, {
1383
+ path: string;
1384
+ profiles: string[];
1385
+ }, {
1386
+ path: string;
1387
+ profiles: string[];
1388
+ }>, {
1389
+ path: string;
1390
+ profiles: string[];
1391
+ }, {
1392
+ path: string;
1393
+ profiles: string[];
1394
+ }>, "many">>;
1395
+ templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
1396
+ id: z.ZodEffects<z.ZodString, string, string>;
1397
+ profile: z.ZodEffects<z.ZodString, string, string>;
1398
+ path: z.ZodEffects<z.ZodString, string, string>;
1399
+ }, "strict", z.ZodTypeAny, {
1400
+ id: string;
1401
+ path: string;
1402
+ profile: string;
1403
+ }, {
1404
+ id: string;
1405
+ path: string;
1406
+ profile: string;
1407
+ }>, "many">>;
1408
+ config_schema: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1409
+ forbidden_fallbacks: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1410
+ completion_checks: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1411
+ }, "strict", z.ZodTypeAny, {
1412
+ program?: {
1413
+ protocol: "context.indexer.program/v1";
1414
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1415
+ execution: {
1416
+ entry: string;
1417
+ args: string[];
1418
+ runtime: "node";
1419
+ };
1420
+ } | undefined;
1421
+ instructions?: {
1422
+ path: string;
1423
+ profiles: string[];
1424
+ }[] | undefined;
1425
+ templates?: {
1426
+ id: string;
1427
+ path: string;
1428
+ profile: string;
1429
+ }[] | undefined;
1430
+ config_schema?: string | undefined;
1431
+ forbidden_fallbacks?: string[] | undefined;
1432
+ completion_checks?: string[] | undefined;
1433
+ }, {
1434
+ program?: {
1435
+ protocol: "context.indexer.program/v1";
1436
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1437
+ execution: {
1438
+ entry: string;
1439
+ args: string[];
1440
+ runtime: "node";
1441
+ };
1442
+ } | undefined;
1443
+ instructions?: {
1444
+ path: string;
1445
+ profiles: string[];
1446
+ }[] | undefined;
1447
+ templates?: {
1448
+ id: string;
1449
+ path: string;
1450
+ profile: string;
1451
+ }[] | undefined;
1452
+ config_schema?: string | undefined;
1453
+ forbidden_fallbacks?: string[] | undefined;
1454
+ completion_checks?: string[] | undefined;
1455
+ }>, {
1456
+ program?: {
1457
+ protocol: "context.indexer.program/v1";
1458
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1459
+ execution: {
1460
+ entry: string;
1461
+ args: string[];
1462
+ runtime: "node";
1463
+ };
1464
+ } | undefined;
1465
+ instructions?: {
1466
+ path: string;
1467
+ profiles: string[];
1468
+ }[] | undefined;
1469
+ templates?: {
1470
+ id: string;
1471
+ path: string;
1472
+ profile: string;
1473
+ }[] | undefined;
1474
+ config_schema?: string | undefined;
1475
+ forbidden_fallbacks?: string[] | undefined;
1476
+ completion_checks?: string[] | undefined;
1477
+ }, {
1478
+ program?: {
1479
+ protocol: "context.indexer.program/v1";
1480
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1481
+ execution: {
1482
+ entry: string;
1483
+ args: string[];
1484
+ runtime: "node";
1485
+ };
1486
+ } | undefined;
1487
+ instructions?: {
1488
+ path: string;
1489
+ profiles: string[];
1490
+ }[] | undefined;
1491
+ templates?: {
1492
+ id: string;
1493
+ path: string;
1494
+ profile: string;
1495
+ }[] | undefined;
1496
+ config_schema?: string | undefined;
1497
+ forbidden_fallbacks?: string[] | undefined;
1498
+ completion_checks?: string[] | undefined;
1499
+ }>;
1500
+ customization: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1501
+ supports: z.ZodArray<z.ZodEnum<["config", "instructions-append", "template-override", "program-extend"]>, "many">;
1502
+ guide: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1503
+ }, "strict", z.ZodTypeAny, {
1504
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
1505
+ guide?: string | undefined;
1506
+ }, {
1507
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
1508
+ guide?: string | undefined;
1509
+ }>, {
1510
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
1511
+ guide?: string | undefined;
1512
+ }, {
1513
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
1514
+ guide?: string | undefined;
1515
+ }>>;
1516
+ quality_guidance: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1517
+ metric_ids: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1518
+ repair: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1519
+ }, "strict", z.ZodTypeAny, {
1520
+ metric_ids: string[];
1521
+ repair?: string | undefined;
1522
+ }, {
1523
+ metric_ids: string[];
1524
+ repair?: string | undefined;
1525
+ }>, {
1526
+ metric_ids: string[];
1527
+ repair?: string | undefined;
1528
+ }, {
1529
+ metric_ids: string[];
1530
+ repair?: string | undefined;
1531
+ }>>;
1532
+ composition: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1533
+ extensions: z.ZodArray<z.ZodObject<{
1534
+ profile: z.ZodEffects<z.ZodString, string, string>;
1535
+ extends: z.ZodEffects<z.ZodString, string, string>;
1536
+ variant_schema: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1537
+ axes: z.ZodArray<z.ZodEffects<z.ZodObject<{
1538
+ id: z.ZodString;
1539
+ type: z.ZodLiteral<"enum">;
1540
+ values: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1541
+ required: z.ZodBoolean;
1542
+ }, "strict", z.ZodTypeAny, {
1543
+ values: string[];
1544
+ id: string;
1545
+ type: "enum";
1546
+ required: boolean;
1547
+ }, {
1548
+ values: string[];
1549
+ id: string;
1550
+ type: "enum";
1551
+ required: boolean;
1552
+ }>, {
1553
+ values: string[];
1554
+ id: string;
1555
+ type: "enum";
1556
+ required: boolean;
1557
+ }, {
1558
+ values: string[];
1559
+ id: string;
1560
+ type: "enum";
1561
+ required: boolean;
1562
+ }>, "many">;
1563
+ }, "strict", z.ZodTypeAny, {
1564
+ axes: {
1565
+ values: string[];
1566
+ id: string;
1567
+ type: "enum";
1568
+ required: boolean;
1569
+ }[];
1570
+ }, {
1571
+ axes: {
1572
+ values: string[];
1573
+ id: string;
1574
+ type: "enum";
1575
+ required: boolean;
1576
+ }[];
1577
+ }>, {
1578
+ axes: {
1579
+ values: string[];
1580
+ id: string;
1581
+ type: "enum";
1582
+ required: boolean;
1583
+ }[];
1584
+ }, {
1585
+ axes: {
1586
+ values: string[];
1587
+ id: string;
1588
+ type: "enum";
1589
+ required: boolean;
1590
+ }[];
1591
+ }>>;
1592
+ subject_key_schema: z.ZodEffects<z.ZodObject<{
1593
+ version: z.ZodNumber;
1594
+ namespace: z.ZodObject<{
1595
+ operator: z.ZodEnum<["canonical-source-module-namespace", "canonical-service-namespace", "canonical-module-identity", "canonical-export-family"]>;
1596
+ }, "strict", z.ZodTypeAny, {
1597
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1598
+ }, {
1599
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1600
+ }>;
1601
+ kinds: z.ZodArray<z.ZodObject<{
1602
+ id: z.ZodEffects<z.ZodString, string, string>;
1603
+ local_key: z.ZodObject<{
1604
+ operator: z.ZodEnum<["canonical-source-module-namespace", "canonical-service-namespace", "canonical-module-identity", "canonical-export-family"]>;
1605
+ }, "strict", z.ZodTypeAny, {
1606
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1607
+ }, {
1608
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1609
+ }>;
1610
+ }, "strict", z.ZodTypeAny, {
1611
+ id: string;
1612
+ local_key: {
1613
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1614
+ };
1615
+ }, {
1616
+ id: string;
1617
+ local_key: {
1618
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1619
+ };
1620
+ }>, "many">;
1621
+ normalization: z.ZodOptional<z.ZodArray<z.ZodEnum<["trim", "unicode-nfc", "preserve-case", "lowercase"]>, "many">>;
1622
+ }, "strict", z.ZodTypeAny, {
1623
+ namespace: {
1624
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1625
+ };
1626
+ version: number;
1627
+ kinds: {
1628
+ id: string;
1629
+ local_key: {
1630
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1631
+ };
1632
+ }[];
1633
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1634
+ }, {
1635
+ namespace: {
1636
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1637
+ };
1638
+ version: number;
1639
+ kinds: {
1640
+ id: string;
1641
+ local_key: {
1642
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1643
+ };
1644
+ }[];
1645
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1646
+ }>, {
1647
+ namespace: {
1648
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1649
+ };
1650
+ version: number;
1651
+ kinds: {
1652
+ id: string;
1653
+ local_key: {
1654
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1655
+ };
1656
+ }[];
1657
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1658
+ }, {
1659
+ namespace: {
1660
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1661
+ };
1662
+ version: number;
1663
+ kinds: {
1664
+ id: string;
1665
+ local_key: {
1666
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1667
+ };
1668
+ }[];
1669
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1670
+ }>;
1671
+ }, "strict", z.ZodTypeAny, {
1672
+ profile: string;
1673
+ extends: string;
1674
+ subject_key_schema: {
1675
+ namespace: {
1676
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1677
+ };
1678
+ version: number;
1679
+ kinds: {
1680
+ id: string;
1681
+ local_key: {
1682
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1683
+ };
1684
+ }[];
1685
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1686
+ };
1687
+ variant_schema?: {
1688
+ axes: {
1689
+ values: string[];
1690
+ id: string;
1691
+ type: "enum";
1692
+ required: boolean;
1693
+ }[];
1694
+ } | undefined;
1695
+ }, {
1696
+ profile: string;
1697
+ extends: string;
1698
+ subject_key_schema: {
1699
+ namespace: {
1700
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1701
+ };
1702
+ version: number;
1703
+ kinds: {
1704
+ id: string;
1705
+ local_key: {
1706
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1707
+ };
1708
+ }[];
1709
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1710
+ };
1711
+ variant_schema?: {
1712
+ axes: {
1713
+ values: string[];
1714
+ id: string;
1715
+ type: "enum";
1716
+ required: boolean;
1717
+ }[];
1718
+ } | undefined;
1719
+ }>, "many">;
1720
+ }, "strict", z.ZodTypeAny, {
1721
+ extensions: {
1722
+ profile: string;
1723
+ extends: string;
1724
+ subject_key_schema: {
1725
+ namespace: {
1726
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1727
+ };
1728
+ version: number;
1729
+ kinds: {
1730
+ id: string;
1731
+ local_key: {
1732
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1733
+ };
1734
+ }[];
1735
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1736
+ };
1737
+ variant_schema?: {
1738
+ axes: {
1739
+ values: string[];
1740
+ id: string;
1741
+ type: "enum";
1742
+ required: boolean;
1743
+ }[];
1744
+ } | undefined;
1745
+ }[];
1746
+ }, {
1747
+ extensions: {
1748
+ profile: string;
1749
+ extends: string;
1750
+ subject_key_schema: {
1751
+ namespace: {
1752
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1753
+ };
1754
+ version: number;
1755
+ kinds: {
1756
+ id: string;
1757
+ local_key: {
1758
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1759
+ };
1760
+ }[];
1761
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1762
+ };
1763
+ variant_schema?: {
1764
+ axes: {
1765
+ values: string[];
1766
+ id: string;
1767
+ type: "enum";
1768
+ required: boolean;
1769
+ }[];
1770
+ } | undefined;
1771
+ }[];
1772
+ }>, {
1773
+ extensions: {
1774
+ profile: string;
1775
+ extends: string;
1776
+ subject_key_schema: {
1777
+ namespace: {
1778
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1779
+ };
1780
+ version: number;
1781
+ kinds: {
1782
+ id: string;
1783
+ local_key: {
1784
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1785
+ };
1786
+ }[];
1787
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1788
+ };
1789
+ variant_schema?: {
1790
+ axes: {
1791
+ values: string[];
1792
+ id: string;
1793
+ type: "enum";
1794
+ required: boolean;
1795
+ }[];
1796
+ } | undefined;
1797
+ }[];
1798
+ }, {
1799
+ extensions: {
1800
+ profile: string;
1801
+ extends: string;
1802
+ subject_key_schema: {
1803
+ namespace: {
1804
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1805
+ };
1806
+ version: number;
1807
+ kinds: {
1808
+ id: string;
1809
+ local_key: {
1810
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1811
+ };
1812
+ }[];
1813
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1814
+ };
1815
+ variant_schema?: {
1816
+ axes: {
1817
+ values: string[];
1818
+ id: string;
1819
+ type: "enum";
1820
+ required: boolean;
1821
+ }[];
1822
+ } | undefined;
1823
+ }[];
1824
+ }>>;
1825
+ }, "strict", z.ZodTypeAny, {
1826
+ id: string;
1827
+ protocol: "context.indexer.provider/v1";
1828
+ provider: {
1829
+ program?: {
1830
+ protocol: "context.indexer.program/v1";
1831
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1832
+ execution: {
1833
+ entry: string;
1834
+ args: string[];
1835
+ runtime: "node";
1836
+ };
1837
+ } | undefined;
1838
+ instructions?: {
1839
+ path: string;
1840
+ profiles: string[];
1841
+ }[] | undefined;
1842
+ templates?: {
1843
+ id: string;
1844
+ path: string;
1845
+ profile: string;
1846
+ }[] | undefined;
1847
+ config_schema?: string | undefined;
1848
+ forbidden_fallbacks?: string[] | undefined;
1849
+ completion_checks?: string[] | undefined;
1850
+ };
1851
+ version: string;
1852
+ domains: string[];
1853
+ activation: {
1854
+ target_kinds: string[];
1855
+ required_signals: {
1856
+ id: string;
1857
+ description: string;
1858
+ }[];
1859
+ supporting_signals: {
1860
+ id: string;
1861
+ description: string;
1862
+ }[];
1863
+ negative_signals: {
1864
+ id: string;
1865
+ description: string;
1866
+ }[];
1867
+ agent_questions?: string[] | undefined;
1868
+ detector?: {
1869
+ protocol: "context.indexer.activation/v1";
1870
+ optional: boolean;
1871
+ capabilities: ["parser-facts.read"];
1872
+ execution: {
1873
+ entry: string;
1874
+ args: string[];
1875
+ runtime: "node";
1876
+ };
1877
+ } | undefined;
1878
+ };
1879
+ provides: {
1880
+ operations: ({
1881
+ id: "main-index";
1882
+ consumes: "context.indexer.main-workset/v1";
1883
+ produces: "context.indexer.main-result/v1";
1884
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1885
+ } | {
1886
+ id: "material-answer";
1887
+ consumes: "context.indexer.material-question-workset/v1";
1888
+ produces: "context.indexer.material-answer-result/v1";
1889
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
1890
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1891
+ })[];
1892
+ profiles: string[];
1893
+ composers?: {
1894
+ id: string;
1895
+ supported_profiles: string[];
1896
+ contract?: {
1897
+ instruction: string;
1898
+ primary_requirements: {
1899
+ artifact_kinds: string[];
1900
+ fact_kinds: string[];
1901
+ };
1902
+ derived_artifact_policy: {
1903
+ artifact_policy_variant: string;
1904
+ artifact_kinds: string[];
1905
+ fragment_protocol: "context.indexer.layer-fragment/v1";
1906
+ fragment_kind: "derived-artifact-proposal";
1907
+ };
1908
+ empty_result: {
1909
+ result_protocol: "context.indexer.layer-fragment-result/v1";
1910
+ behavior: "empty-fragment-set";
1911
+ };
1912
+ } | undefined;
1913
+ }[] | undefined;
1914
+ source_roles?: string[] | undefined;
1915
+ layer_fragments?: ({
1916
+ kind: "fact-enrichment";
1917
+ phase: "pre-authority";
1918
+ produces: "context.indexer.layer-fragment/v1";
1919
+ } | {
1920
+ kind: "template-variables";
1921
+ phase: "pre-authority";
1922
+ produces: "context.indexer.layer-fragment/v1";
1923
+ } | {
1924
+ kind: "derived-artifact-proposal";
1925
+ phase: "post-author";
1926
+ produces: "context.indexer.layer-fragment/v1";
1927
+ })[] | undefined;
1928
+ tool_sources?: {
1929
+ id: string;
1930
+ handler: string;
1931
+ operations: string[];
1932
+ optional: true;
1933
+ request: string;
1934
+ produces: "context.indexer.tool-snapshot/v1";
1935
+ }[] | undefined;
1936
+ logical_units?: {
1937
+ id: string;
1938
+ identity: string;
1939
+ artifacts?: {
1940
+ recommended: string[];
1941
+ supported_policy_variants: string[];
1942
+ } | undefined;
1943
+ }[] | undefined;
1944
+ partition_strategies?: {
1945
+ id: string;
1946
+ priority: number;
1947
+ profiles: string[];
1948
+ }[] | undefined;
1949
+ contract_overlays?: {
1950
+ id: string;
1951
+ protocol: "context.indexer.contract-overlay/v1";
1952
+ integrity: string;
1953
+ resource: string;
1954
+ extends: {
1955
+ version: string;
1956
+ profile: string;
1957
+ };
1958
+ attestation?: {
1959
+ protocol: "context.indexer.overlay-attestation/v1";
1960
+ integrity: string;
1961
+ resource: string;
1962
+ } | undefined;
1963
+ }[] | undefined;
1964
+ };
1965
+ customization?: {
1966
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
1967
+ guide?: string | undefined;
1968
+ } | undefined;
1969
+ authoring_inspector?: {
1970
+ protocol: "context.indexer.inspector/v1";
1971
+ output: "provider-enrichment-facts";
1972
+ capabilities: ("source.read" | "parser-facts.read")[];
1973
+ execution: {
1974
+ entry: string;
1975
+ args: string[];
1976
+ runtime: "node";
1977
+ };
1978
+ } | undefined;
1979
+ quality_guidance?: {
1980
+ metric_ids: string[];
1981
+ repair?: string | undefined;
1982
+ } | undefined;
1983
+ composition?: {
1984
+ extensions: {
1985
+ profile: string;
1986
+ extends: string;
1987
+ subject_key_schema: {
1988
+ namespace: {
1989
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1990
+ };
1991
+ version: number;
1992
+ kinds: {
1993
+ id: string;
1994
+ local_key: {
1995
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1996
+ };
1997
+ }[];
1998
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1999
+ };
2000
+ variant_schema?: {
2001
+ axes: {
2002
+ values: string[];
2003
+ id: string;
2004
+ type: "enum";
2005
+ required: boolean;
2006
+ }[];
2007
+ } | undefined;
2008
+ }[];
2009
+ } | undefined;
2010
+ }, {
2011
+ id: string;
2012
+ protocol: "context.indexer.provider/v1";
2013
+ provider: {
2014
+ program?: {
2015
+ protocol: "context.indexer.program/v1";
2016
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
2017
+ execution: {
2018
+ entry: string;
2019
+ args: string[];
2020
+ runtime: "node";
2021
+ };
2022
+ } | undefined;
2023
+ instructions?: {
2024
+ path: string;
2025
+ profiles: string[];
2026
+ }[] | undefined;
2027
+ templates?: {
2028
+ id: string;
2029
+ path: string;
2030
+ profile: string;
2031
+ }[] | undefined;
2032
+ config_schema?: string | undefined;
2033
+ forbidden_fallbacks?: string[] | undefined;
2034
+ completion_checks?: string[] | undefined;
2035
+ };
2036
+ version: string;
2037
+ domains: string[];
2038
+ activation: {
2039
+ target_kinds: string[];
2040
+ required_signals: {
2041
+ id: string;
2042
+ description: string;
2043
+ }[];
2044
+ supporting_signals: {
2045
+ id: string;
2046
+ description: string;
2047
+ }[];
2048
+ negative_signals: {
2049
+ id: string;
2050
+ description: string;
2051
+ }[];
2052
+ agent_questions?: string[] | undefined;
2053
+ detector?: {
2054
+ protocol: "context.indexer.activation/v1";
2055
+ optional: boolean;
2056
+ capabilities: ["parser-facts.read"];
2057
+ execution: {
2058
+ entry: string;
2059
+ args: string[];
2060
+ runtime: "node";
2061
+ };
2062
+ } | undefined;
2063
+ };
2064
+ provides: {
2065
+ operations: ({
2066
+ id: "main-index";
2067
+ consumes: "context.indexer.main-workset/v1";
2068
+ produces: "context.indexer.main-result/v1";
2069
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2070
+ } | {
2071
+ id: "material-answer";
2072
+ consumes: "context.indexer.material-question-workset/v1";
2073
+ produces: "context.indexer.material-answer-result/v1";
2074
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
2075
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2076
+ })[];
2077
+ profiles: string[];
2078
+ composers?: {
2079
+ id: string;
2080
+ supported_profiles: string[];
2081
+ contract?: {
2082
+ instruction: string;
2083
+ primary_requirements: {
2084
+ artifact_kinds: string[];
2085
+ fact_kinds: string[];
2086
+ };
2087
+ derived_artifact_policy: {
2088
+ artifact_policy_variant: string;
2089
+ artifact_kinds: string[];
2090
+ fragment_protocol: "context.indexer.layer-fragment/v1";
2091
+ fragment_kind: "derived-artifact-proposal";
2092
+ };
2093
+ empty_result: {
2094
+ result_protocol: "context.indexer.layer-fragment-result/v1";
2095
+ behavior: "empty-fragment-set";
2096
+ };
2097
+ } | undefined;
2098
+ }[] | undefined;
2099
+ source_roles?: string[] | undefined;
2100
+ layer_fragments?: ({
2101
+ kind: "fact-enrichment";
2102
+ phase: "pre-authority";
2103
+ produces: "context.indexer.layer-fragment/v1";
2104
+ } | {
2105
+ kind: "template-variables";
2106
+ phase: "pre-authority";
2107
+ produces: "context.indexer.layer-fragment/v1";
2108
+ } | {
2109
+ kind: "derived-artifact-proposal";
2110
+ phase: "post-author";
2111
+ produces: "context.indexer.layer-fragment/v1";
2112
+ })[] | undefined;
2113
+ tool_sources?: {
2114
+ id: string;
2115
+ handler: string;
2116
+ operations: string[];
2117
+ optional: true;
2118
+ request: string;
2119
+ produces: "context.indexer.tool-snapshot/v1";
2120
+ }[] | undefined;
2121
+ logical_units?: {
2122
+ id: string;
2123
+ identity: string;
2124
+ artifacts?: {
2125
+ recommended: string[];
2126
+ supported_policy_variants: string[];
2127
+ } | undefined;
2128
+ }[] | undefined;
2129
+ partition_strategies?: {
2130
+ id: string;
2131
+ priority: number;
2132
+ profiles: string[];
2133
+ }[] | undefined;
2134
+ contract_overlays?: {
2135
+ id: string;
2136
+ protocol: "context.indexer.contract-overlay/v1";
2137
+ integrity: string;
2138
+ resource: string;
2139
+ extends: {
2140
+ version: string;
2141
+ profile: string;
2142
+ };
2143
+ attestation?: {
2144
+ protocol: "context.indexer.overlay-attestation/v1";
2145
+ integrity: string;
2146
+ resource: string;
2147
+ } | undefined;
2148
+ }[] | undefined;
2149
+ };
2150
+ customization?: {
2151
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
2152
+ guide?: string | undefined;
2153
+ } | undefined;
2154
+ authoring_inspector?: {
2155
+ protocol: "context.indexer.inspector/v1";
2156
+ output: "provider-enrichment-facts";
2157
+ capabilities: ("source.read" | "parser-facts.read")[];
2158
+ execution: {
2159
+ entry: string;
2160
+ args: string[];
2161
+ runtime: "node";
2162
+ };
2163
+ } | undefined;
2164
+ quality_guidance?: {
2165
+ metric_ids: string[];
2166
+ repair?: string | undefined;
2167
+ } | undefined;
2168
+ composition?: {
2169
+ extensions: {
2170
+ profile: string;
2171
+ extends: string;
2172
+ subject_key_schema: {
2173
+ namespace: {
2174
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2175
+ };
2176
+ version: number;
2177
+ kinds: {
2178
+ id: string;
2179
+ local_key: {
2180
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2181
+ };
2182
+ }[];
2183
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
2184
+ };
2185
+ variant_schema?: {
2186
+ axes: {
2187
+ values: string[];
2188
+ id: string;
2189
+ type: "enum";
2190
+ required: boolean;
2191
+ }[];
2192
+ } | undefined;
2193
+ }[];
2194
+ } | undefined;
2195
+ }>, {
2196
+ id: string;
2197
+ protocol: "context.indexer.provider/v1";
2198
+ provider: {
2199
+ program?: {
2200
+ protocol: "context.indexer.program/v1";
2201
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
2202
+ execution: {
2203
+ entry: string;
2204
+ args: string[];
2205
+ runtime: "node";
2206
+ };
2207
+ } | undefined;
2208
+ instructions?: {
2209
+ path: string;
2210
+ profiles: string[];
2211
+ }[] | undefined;
2212
+ templates?: {
2213
+ id: string;
2214
+ path: string;
2215
+ profile: string;
2216
+ }[] | undefined;
2217
+ config_schema?: string | undefined;
2218
+ forbidden_fallbacks?: string[] | undefined;
2219
+ completion_checks?: string[] | undefined;
2220
+ };
2221
+ version: string;
2222
+ domains: string[];
2223
+ activation: {
2224
+ target_kinds: string[];
2225
+ required_signals: {
2226
+ id: string;
2227
+ description: string;
2228
+ }[];
2229
+ supporting_signals: {
2230
+ id: string;
2231
+ description: string;
2232
+ }[];
2233
+ negative_signals: {
2234
+ id: string;
2235
+ description: string;
2236
+ }[];
2237
+ agent_questions?: string[] | undefined;
2238
+ detector?: {
2239
+ protocol: "context.indexer.activation/v1";
2240
+ optional: boolean;
2241
+ capabilities: ["parser-facts.read"];
2242
+ execution: {
2243
+ entry: string;
2244
+ args: string[];
2245
+ runtime: "node";
2246
+ };
2247
+ } | undefined;
2248
+ };
2249
+ provides: {
2250
+ operations: ({
2251
+ id: "main-index";
2252
+ consumes: "context.indexer.main-workset/v1";
2253
+ produces: "context.indexer.main-result/v1";
2254
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2255
+ } | {
2256
+ id: "material-answer";
2257
+ consumes: "context.indexer.material-question-workset/v1";
2258
+ produces: "context.indexer.material-answer-result/v1";
2259
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
2260
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2261
+ })[];
2262
+ profiles: string[];
2263
+ composers?: {
2264
+ id: string;
2265
+ supported_profiles: string[];
2266
+ contract?: {
2267
+ instruction: string;
2268
+ primary_requirements: {
2269
+ artifact_kinds: string[];
2270
+ fact_kinds: string[];
2271
+ };
2272
+ derived_artifact_policy: {
2273
+ artifact_policy_variant: string;
2274
+ artifact_kinds: string[];
2275
+ fragment_protocol: "context.indexer.layer-fragment/v1";
2276
+ fragment_kind: "derived-artifact-proposal";
2277
+ };
2278
+ empty_result: {
2279
+ result_protocol: "context.indexer.layer-fragment-result/v1";
2280
+ behavior: "empty-fragment-set";
2281
+ };
2282
+ } | undefined;
2283
+ }[] | undefined;
2284
+ source_roles?: string[] | undefined;
2285
+ layer_fragments?: ({
2286
+ kind: "fact-enrichment";
2287
+ phase: "pre-authority";
2288
+ produces: "context.indexer.layer-fragment/v1";
2289
+ } | {
2290
+ kind: "template-variables";
2291
+ phase: "pre-authority";
2292
+ produces: "context.indexer.layer-fragment/v1";
2293
+ } | {
2294
+ kind: "derived-artifact-proposal";
2295
+ phase: "post-author";
2296
+ produces: "context.indexer.layer-fragment/v1";
2297
+ })[] | undefined;
2298
+ tool_sources?: {
2299
+ id: string;
2300
+ handler: string;
2301
+ operations: string[];
2302
+ optional: true;
2303
+ request: string;
2304
+ produces: "context.indexer.tool-snapshot/v1";
2305
+ }[] | undefined;
2306
+ logical_units?: {
2307
+ id: string;
2308
+ identity: string;
2309
+ artifacts?: {
2310
+ recommended: string[];
2311
+ supported_policy_variants: string[];
2312
+ } | undefined;
2313
+ }[] | undefined;
2314
+ partition_strategies?: {
2315
+ id: string;
2316
+ priority: number;
2317
+ profiles: string[];
2318
+ }[] | undefined;
2319
+ contract_overlays?: {
2320
+ id: string;
2321
+ protocol: "context.indexer.contract-overlay/v1";
2322
+ integrity: string;
2323
+ resource: string;
2324
+ extends: {
2325
+ version: string;
2326
+ profile: string;
2327
+ };
2328
+ attestation?: {
2329
+ protocol: "context.indexer.overlay-attestation/v1";
2330
+ integrity: string;
2331
+ resource: string;
2332
+ } | undefined;
2333
+ }[] | undefined;
2334
+ };
2335
+ customization?: {
2336
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
2337
+ guide?: string | undefined;
2338
+ } | undefined;
2339
+ authoring_inspector?: {
2340
+ protocol: "context.indexer.inspector/v1";
2341
+ output: "provider-enrichment-facts";
2342
+ capabilities: ("source.read" | "parser-facts.read")[];
2343
+ execution: {
2344
+ entry: string;
2345
+ args: string[];
2346
+ runtime: "node";
2347
+ };
2348
+ } | undefined;
2349
+ quality_guidance?: {
2350
+ metric_ids: string[];
2351
+ repair?: string | undefined;
2352
+ } | undefined;
2353
+ composition?: {
2354
+ extensions: {
2355
+ profile: string;
2356
+ extends: string;
2357
+ subject_key_schema: {
2358
+ namespace: {
2359
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2360
+ };
2361
+ version: number;
2362
+ kinds: {
2363
+ id: string;
2364
+ local_key: {
2365
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2366
+ };
2367
+ }[];
2368
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
2369
+ };
2370
+ variant_schema?: {
2371
+ axes: {
2372
+ values: string[];
2373
+ id: string;
2374
+ type: "enum";
2375
+ required: boolean;
2376
+ }[];
2377
+ } | undefined;
2378
+ }[];
2379
+ } | undefined;
2380
+ }, {
2381
+ id: string;
2382
+ protocol: "context.indexer.provider/v1";
2383
+ provider: {
2384
+ program?: {
2385
+ protocol: "context.indexer.program/v1";
2386
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
2387
+ execution: {
2388
+ entry: string;
2389
+ args: string[];
2390
+ runtime: "node";
2391
+ };
2392
+ } | undefined;
2393
+ instructions?: {
2394
+ path: string;
2395
+ profiles: string[];
2396
+ }[] | undefined;
2397
+ templates?: {
2398
+ id: string;
2399
+ path: string;
2400
+ profile: string;
2401
+ }[] | undefined;
2402
+ config_schema?: string | undefined;
2403
+ forbidden_fallbacks?: string[] | undefined;
2404
+ completion_checks?: string[] | undefined;
2405
+ };
2406
+ version: string;
2407
+ domains: string[];
2408
+ activation: {
2409
+ target_kinds: string[];
2410
+ required_signals: {
2411
+ id: string;
2412
+ description: string;
2413
+ }[];
2414
+ supporting_signals: {
2415
+ id: string;
2416
+ description: string;
2417
+ }[];
2418
+ negative_signals: {
2419
+ id: string;
2420
+ description: string;
2421
+ }[];
2422
+ agent_questions?: string[] | undefined;
2423
+ detector?: {
2424
+ protocol: "context.indexer.activation/v1";
2425
+ optional: boolean;
2426
+ capabilities: ["parser-facts.read"];
2427
+ execution: {
2428
+ entry: string;
2429
+ args: string[];
2430
+ runtime: "node";
2431
+ };
2432
+ } | undefined;
2433
+ };
2434
+ provides: {
2435
+ operations: ({
2436
+ id: "main-index";
2437
+ consumes: "context.indexer.main-workset/v1";
2438
+ produces: "context.indexer.main-result/v1";
2439
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2440
+ } | {
2441
+ id: "material-answer";
2442
+ consumes: "context.indexer.material-question-workset/v1";
2443
+ produces: "context.indexer.material-answer-result/v1";
2444
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
2445
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2446
+ })[];
2447
+ profiles: string[];
2448
+ composers?: {
2449
+ id: string;
2450
+ supported_profiles: string[];
2451
+ contract?: {
2452
+ instruction: string;
2453
+ primary_requirements: {
2454
+ artifact_kinds: string[];
2455
+ fact_kinds: string[];
2456
+ };
2457
+ derived_artifact_policy: {
2458
+ artifact_policy_variant: string;
2459
+ artifact_kinds: string[];
2460
+ fragment_protocol: "context.indexer.layer-fragment/v1";
2461
+ fragment_kind: "derived-artifact-proposal";
2462
+ };
2463
+ empty_result: {
2464
+ result_protocol: "context.indexer.layer-fragment-result/v1";
2465
+ behavior: "empty-fragment-set";
2466
+ };
2467
+ } | undefined;
2468
+ }[] | undefined;
2469
+ source_roles?: string[] | undefined;
2470
+ layer_fragments?: ({
2471
+ kind: "fact-enrichment";
2472
+ phase: "pre-authority";
2473
+ produces: "context.indexer.layer-fragment/v1";
2474
+ } | {
2475
+ kind: "template-variables";
2476
+ phase: "pre-authority";
2477
+ produces: "context.indexer.layer-fragment/v1";
2478
+ } | {
2479
+ kind: "derived-artifact-proposal";
2480
+ phase: "post-author";
2481
+ produces: "context.indexer.layer-fragment/v1";
2482
+ })[] | undefined;
2483
+ tool_sources?: {
2484
+ id: string;
2485
+ handler: string;
2486
+ operations: string[];
2487
+ optional: true;
2488
+ request: string;
2489
+ produces: "context.indexer.tool-snapshot/v1";
2490
+ }[] | undefined;
2491
+ logical_units?: {
2492
+ id: string;
2493
+ identity: string;
2494
+ artifacts?: {
2495
+ recommended: string[];
2496
+ supported_policy_variants: string[];
2497
+ } | undefined;
2498
+ }[] | undefined;
2499
+ partition_strategies?: {
2500
+ id: string;
2501
+ priority: number;
2502
+ profiles: string[];
2503
+ }[] | undefined;
2504
+ contract_overlays?: {
2505
+ id: string;
2506
+ protocol: "context.indexer.contract-overlay/v1";
2507
+ integrity: string;
2508
+ resource: string;
2509
+ extends: {
2510
+ version: string;
2511
+ profile: string;
2512
+ };
2513
+ attestation?: {
2514
+ protocol: "context.indexer.overlay-attestation/v1";
2515
+ integrity: string;
2516
+ resource: string;
2517
+ } | undefined;
2518
+ }[] | undefined;
2519
+ };
2520
+ customization?: {
2521
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
2522
+ guide?: string | undefined;
2523
+ } | undefined;
2524
+ authoring_inspector?: {
2525
+ protocol: "context.indexer.inspector/v1";
2526
+ output: "provider-enrichment-facts";
2527
+ capabilities: ("source.read" | "parser-facts.read")[];
2528
+ execution: {
2529
+ entry: string;
2530
+ args: string[];
2531
+ runtime: "node";
2532
+ };
2533
+ } | undefined;
2534
+ quality_guidance?: {
2535
+ metric_ids: string[];
2536
+ repair?: string | undefined;
2537
+ } | undefined;
2538
+ composition?: {
2539
+ extensions: {
2540
+ profile: string;
2541
+ extends: string;
2542
+ subject_key_schema: {
2543
+ namespace: {
2544
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2545
+ };
2546
+ version: number;
2547
+ kinds: {
2548
+ id: string;
2549
+ local_key: {
2550
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2551
+ };
2552
+ }[];
2553
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
2554
+ };
2555
+ variant_schema?: {
2556
+ axes: {
2557
+ values: string[];
2558
+ id: string;
2559
+ type: "enum";
2560
+ required: boolean;
2561
+ }[];
2562
+ } | undefined;
2563
+ }[];
2564
+ } | undefined;
2565
+ }>;
2566
+ export type IndexerExecution = z.infer<typeof indexerExecutionSchema>;
2567
+ export type IndexerProviderOperation = z.infer<typeof indexerProviderOperationSchema>;
2568
+ export type IndexerProviderLayerFragment = z.infer<typeof indexerProviderLayerFragmentSchema>;
2569
+ export type IndexerProviderManifest = z.infer<typeof indexerProviderManifestSchema>;
2570
+ export declare function parseIndexerProviderManifest(source: string, label?: string): IndexerProviderManifest;
2571
+ export declare function loadIndexerProviderManifest(bundleRoot: string): Promise<IndexerProviderManifest>;
2572
+ export declare function isIndexerProviderProtocol(value: string): boolean;
2573
+ export declare function isIndexerLayerFragmentKind(value: string): boolean;