@c4a/context 0.6.19 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +2 -2
  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/getting-started.md +30 -24
  7. package/docs/guides/agent-guide.md +41 -46
  8. package/docs/guides/code-indexer-skill-authoring.md +124 -0
  9. package/docs/guides/indexer-provider-and-customization.md +140 -0
  10. package/docs/guides/markdown-indexer-skill-authoring.md +118 -0
  11. package/docs/reference/code-extractors.md +9 -24
  12. package/docs/reference/indexer-provider-protocol.md +808 -0
  13. package/docs/reference/project-api.md +41 -40
  14. package/index.d.ts +47 -1
  15. package/index.js +28010 -3945
  16. package/indexerAgentStepProtocol.d.ts +9391 -0
  17. package/indexerArtifactDependencies.d.ts +689 -0
  18. package/indexerArtifactPolicy.d.ts +335 -0
  19. package/indexerArtifactResult.d.ts +2009 -0
  20. package/indexerAuditFacts.d.ts +66 -0
  21. package/indexerAuditOverrideReadiness.d.ts +27 -0
  22. package/indexerAuditProtocol.d.ts +238 -0
  23. package/indexerAuditRevision.d.ts +726 -0
  24. package/indexerAuditRevisionActions.d.ts +236 -0
  25. package/indexerAuthoringFixture.d.ts +152 -0
  26. package/indexerBaseQuestionAmendment.d.ts +2403 -0
  27. package/indexerBenchmark.d.ts +1062 -0
  28. package/indexerCandidateCompile.d.ts +985 -0
  29. package/indexerCapabilityGroupEvidence.d.ts +129 -0
  30. package/indexerCatalogFallback.d.ts +1262 -0
  31. package/indexerCollectionMapping.d.ts +75 -0
  32. package/indexerContentLayers.d.ts +137 -0
  33. package/indexerContractOverlay.d.ts +879 -0
  34. package/indexerControlledInvocation.d.ts +512 -0
  35. package/indexerControlledProgram.d.ts +12535 -0
  36. package/indexerCoreExports.d.ts +21 -0
  37. package/indexerCustomizationDraft.d.ts +13800 -0
  38. package/indexerCustomizationLadder.d.ts +103 -0
  39. package/indexerDependencyView.d.ts +1610 -0
  40. package/indexerEvidenceAdapterResult.d.ts +504 -0
  41. package/indexerExampleDecision.d.ts +1606 -0
  42. package/indexerExampleIdentity.d.ts +132 -0
  43. package/indexerExampleIdentityAudit.d.ts +70 -0
  44. package/indexerExampleLinkageAudit.d.ts +80 -0
  45. package/indexerGeneratedAuthoringAudit.d.ts +208 -0
  46. package/indexerIncrementalImpact.d.ts +221 -0
  47. package/indexerInventoryDisposition.d.ts +443 -0
  48. package/indexerLayerComposition.d.ts +1652 -0
  49. package/indexerLayoutChange.d.ts +329 -0
  50. package/indexerLayoutProposalSet.d.ts +447 -0
  51. package/indexerLayoutResolver.d.ts +342 -0
  52. package/indexerLayoutTransition.d.ts +247 -0
  53. package/indexerLifecycle.d.ts +53 -0
  54. package/indexerMainLifecycle.d.ts +258 -0
  55. package/indexerMainRunLedger.d.ts +888 -0
  56. package/indexerMainRunProtocol.d.ts +6471 -0
  57. package/indexerMainWorkset.d.ts +2141 -0
  58. package/indexerMaterialAnswer.d.ts +738 -0
  59. package/indexerMaterialAnswerActualization.d.ts +91 -0
  60. package/indexerMaterialAnswerExecutionPlan.d.ts +2887 -0
  61. package/indexerMaterialAnswerFlow.d.ts +63 -0
  62. package/indexerMaterialAnswerLayout.d.ts +76 -0
  63. package/indexerMaterialAnswerReview.d.ts +217 -0
  64. package/indexerMaterialAnswerReviewRoute.d.ts +6145 -0
  65. package/indexerMaterialAnswerRunLedger.d.ts +918 -0
  66. package/indexerMaterialAnswerRunProtocol.d.ts +1253 -0
  67. package/indexerMaterialGapLedger.d.ts +3111 -0
  68. package/indexerMaterialQuestionExclusion.d.ts +129 -0
  69. package/indexerMaterialQuestionWorkset.d.ts +508 -0
  70. package/indexerNavigationArtifactGraph.d.ts +5 -0
  71. package/indexerNavigationArtifactPlan.d.ts +39 -0
  72. package/indexerOverlayQuestionAmendment.d.ts +2551 -0
  73. package/indexerOverlayQuestionApplyProposal.d.ts +4697 -0
  74. package/indexerParserCoordinate.d.ts +222 -0
  75. package/indexerParserFactView.d.ts +503 -0
  76. package/indexerPartitionConvergence.d.ts +496 -0
  77. package/indexerPartitionPlan.d.ts +919 -0
  78. package/indexerPartitionStrategyResolution.d.ts +594 -0
  79. package/indexerPhysicalArtifactAudit.d.ts +247 -0
  80. package/indexerPhysicalArtifactManifest.d.ts +449 -0
  81. package/indexerPlannedMaterialAnswer.d.ts +116 -0
  82. package/indexerPostAuthorComposition.d.ts +2000 -0
  83. package/indexerPostAuthorRunLedger.d.ts +1972 -0
  84. package/indexerPrimaryProjection.d.ts +262 -0
  85. package/indexerProfileContract.d.ts +3034 -0
  86. package/indexerProfileMetricAudit.d.ts +218 -0
  87. package/indexerProgramExecutionAuthorization.d.ts +227 -0
  88. package/indexerProgramRunProtocol.d.ts +7642 -0
  89. package/indexerProjectProposal.d.ts +2807 -0
  90. package/indexerProjectedArtifactFanOutAudit.d.ts +159 -0
  91. package/indexerProjectedArtifactPlan.d.ts +217 -0
  92. package/indexerProtocolCommon.d.ts +29 -0
  93. package/indexerProvider.d.ts +2510 -0
  94. package/indexerProviderComposition.d.ts +1357 -0
  95. package/indexerProviderContractReferences.d.ts +13 -0
  96. package/indexerProviderProfileResolution.d.ts +20 -0
  97. package/indexerProviderResolution.d.ts +752 -0
  98. package/indexerProviderResolutionAction.d.ts +678 -0
  99. package/indexerProviderRouting.d.ts +3909 -0
  100. package/indexerProviderSelectionProposal.d.ts +3311 -0
  101. package/indexerQuestionAuthority.d.ts +419 -0
  102. package/indexerReaderTargetInventory.d.ts +161 -0
  103. package/indexerReferenceOnlyAudit.d.ts +90 -0
  104. package/indexerRegistry.d.ts +3019 -0
  105. package/indexerRequirementComparison.d.ts +44 -0
  106. package/indexerRequirementConfirmation.d.ts +1193 -0
  107. package/indexerRequirementLifecycle.d.ts +3314 -0
  108. package/indexerRestrictedSelector.d.ts +63 -0
  109. package/indexerResultReconciliation.d.ts +6844 -0
  110. package/indexerResultReconciliationRun.d.ts +15 -0
  111. package/indexerRunEnvelope.d.ts +384 -0
  112. package/indexerRunProtocolCommon.d.ts +21 -0
  113. package/indexerSharedArtifactFingerprint.d.ts +33 -0
  114. package/indexerStructuredDeclaration.d.ts +513 -0
  115. package/indexerSubjectCatalog.d.ts +230 -0
  116. package/indexerSubjectIdentity.d.ts +19 -0
  117. package/indexerSubjectKeyAuthority.d.ts +785 -0
  118. package/indexerTemplateRendering.d.ts +485 -0
  119. package/indexerToolSnapshot.d.ts +431 -0
  120. package/indexerWorksetRead.d.ts +287 -0
  121. package/package.json +1 -1
  122. package/phases.d.ts +1 -1
@@ -0,0 +1,2510 @@
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
+ }, "strict", z.ZodTypeAny, {
893
+ id: string;
894
+ protocol: "context.indexer.contract-overlay/v1";
895
+ integrity: string;
896
+ resource: string;
897
+ extends: {
898
+ version: string;
899
+ profile: string;
900
+ };
901
+ }, {
902
+ id: string;
903
+ protocol: "context.indexer.contract-overlay/v1";
904
+ integrity: string;
905
+ resource: string;
906
+ extends: {
907
+ version: string;
908
+ profile: string;
909
+ };
910
+ }>, "many">>;
911
+ }, "strict", z.ZodTypeAny, {
912
+ operations: ({
913
+ id: "main-index";
914
+ consumes: "context.indexer.main-workset/v1";
915
+ produces: "context.indexer.main-result/v1";
916
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
917
+ } | {
918
+ id: "material-answer";
919
+ consumes: "context.indexer.material-question-workset/v1";
920
+ produces: "context.indexer.material-answer-result/v1";
921
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
922
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
923
+ })[];
924
+ profiles: string[];
925
+ composers?: {
926
+ id: string;
927
+ supported_profiles: string[];
928
+ contract?: {
929
+ instruction: string;
930
+ primary_requirements: {
931
+ artifact_kinds: string[];
932
+ fact_kinds: string[];
933
+ };
934
+ derived_artifact_policy: {
935
+ artifact_policy_variant: string;
936
+ artifact_kinds: string[];
937
+ fragment_protocol: "context.indexer.layer-fragment/v1";
938
+ fragment_kind: "derived-artifact-proposal";
939
+ };
940
+ empty_result: {
941
+ result_protocol: "context.indexer.layer-fragment-result/v1";
942
+ behavior: "empty-fragment-set";
943
+ };
944
+ } | undefined;
945
+ }[] | undefined;
946
+ source_roles?: string[] | undefined;
947
+ layer_fragments?: ({
948
+ kind: "fact-enrichment";
949
+ phase: "pre-authority";
950
+ produces: "context.indexer.layer-fragment/v1";
951
+ } | {
952
+ kind: "template-variables";
953
+ phase: "pre-authority";
954
+ produces: "context.indexer.layer-fragment/v1";
955
+ } | {
956
+ kind: "derived-artifact-proposal";
957
+ phase: "post-author";
958
+ produces: "context.indexer.layer-fragment/v1";
959
+ })[] | undefined;
960
+ tool_sources?: {
961
+ id: string;
962
+ handler: string;
963
+ operations: string[];
964
+ optional: true;
965
+ request: string;
966
+ produces: "context.indexer.tool-snapshot/v1";
967
+ }[] | undefined;
968
+ logical_units?: {
969
+ id: string;
970
+ identity: string;
971
+ artifacts?: {
972
+ recommended: string[];
973
+ supported_policy_variants: string[];
974
+ } | undefined;
975
+ }[] | undefined;
976
+ partition_strategies?: {
977
+ id: string;
978
+ priority: number;
979
+ profiles: string[];
980
+ }[] | undefined;
981
+ contract_overlays?: {
982
+ id: string;
983
+ protocol: "context.indexer.contract-overlay/v1";
984
+ integrity: string;
985
+ resource: string;
986
+ extends: {
987
+ version: string;
988
+ profile: string;
989
+ };
990
+ }[] | undefined;
991
+ }, {
992
+ operations: ({
993
+ id: "main-index";
994
+ consumes: "context.indexer.main-workset/v1";
995
+ produces: "context.indexer.main-result/v1";
996
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
997
+ } | {
998
+ id: "material-answer";
999
+ consumes: "context.indexer.material-question-workset/v1";
1000
+ produces: "context.indexer.material-answer-result/v1";
1001
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
1002
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1003
+ })[];
1004
+ profiles: string[];
1005
+ composers?: {
1006
+ id: string;
1007
+ supported_profiles: string[];
1008
+ contract?: {
1009
+ instruction: string;
1010
+ primary_requirements: {
1011
+ artifact_kinds: string[];
1012
+ fact_kinds: string[];
1013
+ };
1014
+ derived_artifact_policy: {
1015
+ artifact_policy_variant: string;
1016
+ artifact_kinds: string[];
1017
+ fragment_protocol: "context.indexer.layer-fragment/v1";
1018
+ fragment_kind: "derived-artifact-proposal";
1019
+ };
1020
+ empty_result: {
1021
+ result_protocol: "context.indexer.layer-fragment-result/v1";
1022
+ behavior: "empty-fragment-set";
1023
+ };
1024
+ } | undefined;
1025
+ }[] | undefined;
1026
+ source_roles?: string[] | undefined;
1027
+ layer_fragments?: ({
1028
+ kind: "fact-enrichment";
1029
+ phase: "pre-authority";
1030
+ produces: "context.indexer.layer-fragment/v1";
1031
+ } | {
1032
+ kind: "template-variables";
1033
+ phase: "pre-authority";
1034
+ produces: "context.indexer.layer-fragment/v1";
1035
+ } | {
1036
+ kind: "derived-artifact-proposal";
1037
+ phase: "post-author";
1038
+ produces: "context.indexer.layer-fragment/v1";
1039
+ })[] | undefined;
1040
+ tool_sources?: {
1041
+ id: string;
1042
+ handler: string;
1043
+ operations: string[];
1044
+ optional: true;
1045
+ request: string;
1046
+ produces: "context.indexer.tool-snapshot/v1";
1047
+ }[] | undefined;
1048
+ logical_units?: {
1049
+ id: string;
1050
+ identity: string;
1051
+ artifacts?: {
1052
+ recommended: string[];
1053
+ supported_policy_variants: string[];
1054
+ } | undefined;
1055
+ }[] | undefined;
1056
+ partition_strategies?: {
1057
+ id: string;
1058
+ priority: number;
1059
+ profiles: string[];
1060
+ }[] | undefined;
1061
+ contract_overlays?: {
1062
+ id: string;
1063
+ protocol: "context.indexer.contract-overlay/v1";
1064
+ integrity: string;
1065
+ resource: string;
1066
+ extends: {
1067
+ version: string;
1068
+ profile: string;
1069
+ };
1070
+ }[] | undefined;
1071
+ }>, {
1072
+ operations: ({
1073
+ id: "main-index";
1074
+ consumes: "context.indexer.main-workset/v1";
1075
+ produces: "context.indexer.main-result/v1";
1076
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1077
+ } | {
1078
+ id: "material-answer";
1079
+ consumes: "context.indexer.material-question-workset/v1";
1080
+ produces: "context.indexer.material-answer-result/v1";
1081
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
1082
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1083
+ })[];
1084
+ profiles: string[];
1085
+ composers?: {
1086
+ id: string;
1087
+ supported_profiles: string[];
1088
+ contract?: {
1089
+ instruction: string;
1090
+ primary_requirements: {
1091
+ artifact_kinds: string[];
1092
+ fact_kinds: string[];
1093
+ };
1094
+ derived_artifact_policy: {
1095
+ artifact_policy_variant: string;
1096
+ artifact_kinds: string[];
1097
+ fragment_protocol: "context.indexer.layer-fragment/v1";
1098
+ fragment_kind: "derived-artifact-proposal";
1099
+ };
1100
+ empty_result: {
1101
+ result_protocol: "context.indexer.layer-fragment-result/v1";
1102
+ behavior: "empty-fragment-set";
1103
+ };
1104
+ } | undefined;
1105
+ }[] | undefined;
1106
+ source_roles?: string[] | undefined;
1107
+ layer_fragments?: ({
1108
+ kind: "fact-enrichment";
1109
+ phase: "pre-authority";
1110
+ produces: "context.indexer.layer-fragment/v1";
1111
+ } | {
1112
+ kind: "template-variables";
1113
+ phase: "pre-authority";
1114
+ produces: "context.indexer.layer-fragment/v1";
1115
+ } | {
1116
+ kind: "derived-artifact-proposal";
1117
+ phase: "post-author";
1118
+ produces: "context.indexer.layer-fragment/v1";
1119
+ })[] | undefined;
1120
+ tool_sources?: {
1121
+ id: string;
1122
+ handler: string;
1123
+ operations: string[];
1124
+ optional: true;
1125
+ request: string;
1126
+ produces: "context.indexer.tool-snapshot/v1";
1127
+ }[] | undefined;
1128
+ logical_units?: {
1129
+ id: string;
1130
+ identity: string;
1131
+ artifacts?: {
1132
+ recommended: string[];
1133
+ supported_policy_variants: string[];
1134
+ } | undefined;
1135
+ }[] | undefined;
1136
+ partition_strategies?: {
1137
+ id: string;
1138
+ priority: number;
1139
+ profiles: string[];
1140
+ }[] | undefined;
1141
+ contract_overlays?: {
1142
+ id: string;
1143
+ protocol: "context.indexer.contract-overlay/v1";
1144
+ integrity: string;
1145
+ resource: string;
1146
+ extends: {
1147
+ version: string;
1148
+ profile: string;
1149
+ };
1150
+ }[] | undefined;
1151
+ }, {
1152
+ operations: ({
1153
+ id: "main-index";
1154
+ consumes: "context.indexer.main-workset/v1";
1155
+ produces: "context.indexer.main-result/v1";
1156
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1157
+ } | {
1158
+ id: "material-answer";
1159
+ consumes: "context.indexer.material-question-workset/v1";
1160
+ produces: "context.indexer.material-answer-result/v1";
1161
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
1162
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1163
+ })[];
1164
+ profiles: string[];
1165
+ composers?: {
1166
+ id: string;
1167
+ supported_profiles: string[];
1168
+ contract?: {
1169
+ instruction: string;
1170
+ primary_requirements: {
1171
+ artifact_kinds: string[];
1172
+ fact_kinds: string[];
1173
+ };
1174
+ derived_artifact_policy: {
1175
+ artifact_policy_variant: string;
1176
+ artifact_kinds: string[];
1177
+ fragment_protocol: "context.indexer.layer-fragment/v1";
1178
+ fragment_kind: "derived-artifact-proposal";
1179
+ };
1180
+ empty_result: {
1181
+ result_protocol: "context.indexer.layer-fragment-result/v1";
1182
+ behavior: "empty-fragment-set";
1183
+ };
1184
+ } | undefined;
1185
+ }[] | undefined;
1186
+ source_roles?: string[] | undefined;
1187
+ layer_fragments?: ({
1188
+ kind: "fact-enrichment";
1189
+ phase: "pre-authority";
1190
+ produces: "context.indexer.layer-fragment/v1";
1191
+ } | {
1192
+ kind: "template-variables";
1193
+ phase: "pre-authority";
1194
+ produces: "context.indexer.layer-fragment/v1";
1195
+ } | {
1196
+ kind: "derived-artifact-proposal";
1197
+ phase: "post-author";
1198
+ produces: "context.indexer.layer-fragment/v1";
1199
+ })[] | undefined;
1200
+ tool_sources?: {
1201
+ id: string;
1202
+ handler: string;
1203
+ operations: string[];
1204
+ optional: true;
1205
+ request: string;
1206
+ produces: "context.indexer.tool-snapshot/v1";
1207
+ }[] | undefined;
1208
+ logical_units?: {
1209
+ id: string;
1210
+ identity: string;
1211
+ artifacts?: {
1212
+ recommended: string[];
1213
+ supported_policy_variants: string[];
1214
+ } | undefined;
1215
+ }[] | undefined;
1216
+ partition_strategies?: {
1217
+ id: string;
1218
+ priority: number;
1219
+ profiles: string[];
1220
+ }[] | undefined;
1221
+ contract_overlays?: {
1222
+ id: string;
1223
+ protocol: "context.indexer.contract-overlay/v1";
1224
+ integrity: string;
1225
+ resource: string;
1226
+ extends: {
1227
+ version: string;
1228
+ profile: string;
1229
+ };
1230
+ }[] | undefined;
1231
+ }>;
1232
+ authoring_inspector: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1233
+ execution: z.ZodObject<{
1234
+ runtime: z.ZodLiteral<"node">;
1235
+ entry: z.ZodEffects<z.ZodString, string, string>;
1236
+ args: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1237
+ }, "strict", z.ZodTypeAny, {
1238
+ entry: string;
1239
+ args: string[];
1240
+ runtime: "node";
1241
+ }, {
1242
+ entry: string;
1243
+ args: string[];
1244
+ runtime: "node";
1245
+ }>;
1246
+ protocol: z.ZodLiteral<"context.indexer.inspector/v1">;
1247
+ capabilities: z.ZodArray<z.ZodEnum<["parser-facts.read", "source.read"]>, "many">;
1248
+ output: z.ZodLiteral<"provider-enrichment-facts">;
1249
+ }, "strict", z.ZodTypeAny, {
1250
+ protocol: "context.indexer.inspector/v1";
1251
+ output: "provider-enrichment-facts";
1252
+ capabilities: ("source.read" | "parser-facts.read")[];
1253
+ execution: {
1254
+ entry: string;
1255
+ args: string[];
1256
+ runtime: "node";
1257
+ };
1258
+ }, {
1259
+ protocol: "context.indexer.inspector/v1";
1260
+ output: "provider-enrichment-facts";
1261
+ capabilities: ("source.read" | "parser-facts.read")[];
1262
+ execution: {
1263
+ entry: string;
1264
+ args: string[];
1265
+ runtime: "node";
1266
+ };
1267
+ }>, {
1268
+ protocol: "context.indexer.inspector/v1";
1269
+ output: "provider-enrichment-facts";
1270
+ capabilities: ("source.read" | "parser-facts.read")[];
1271
+ execution: {
1272
+ entry: string;
1273
+ args: string[];
1274
+ runtime: "node";
1275
+ };
1276
+ }, {
1277
+ protocol: "context.indexer.inspector/v1";
1278
+ output: "provider-enrichment-facts";
1279
+ capabilities: ("source.read" | "parser-facts.read")[];
1280
+ execution: {
1281
+ entry: string;
1282
+ args: string[];
1283
+ runtime: "node";
1284
+ };
1285
+ }>>;
1286
+ provider: z.ZodEffects<z.ZodObject<{
1287
+ program: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1288
+ execution: z.ZodObject<{
1289
+ runtime: z.ZodLiteral<"node">;
1290
+ entry: z.ZodEffects<z.ZodString, string, string>;
1291
+ args: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1292
+ }, "strict", z.ZodTypeAny, {
1293
+ entry: string;
1294
+ args: string[];
1295
+ runtime: "node";
1296
+ }, {
1297
+ entry: string;
1298
+ args: string[];
1299
+ runtime: "node";
1300
+ }>;
1301
+ protocol: z.ZodLiteral<"context.indexer.program/v1">;
1302
+ capabilities: z.ZodArray<z.ZodEnum<["source.read", "parser-facts.read", "indexer-result.write"]>, "many">;
1303
+ }, "strict", z.ZodTypeAny, {
1304
+ protocol: "context.indexer.program/v1";
1305
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1306
+ execution: {
1307
+ entry: string;
1308
+ args: string[];
1309
+ runtime: "node";
1310
+ };
1311
+ }, {
1312
+ protocol: "context.indexer.program/v1";
1313
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1314
+ execution: {
1315
+ entry: string;
1316
+ args: string[];
1317
+ runtime: "node";
1318
+ };
1319
+ }>, {
1320
+ protocol: "context.indexer.program/v1";
1321
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1322
+ execution: {
1323
+ entry: string;
1324
+ args: string[];
1325
+ runtime: "node";
1326
+ };
1327
+ }, {
1328
+ protocol: "context.indexer.program/v1";
1329
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1330
+ execution: {
1331
+ entry: string;
1332
+ args: string[];
1333
+ runtime: "node";
1334
+ };
1335
+ }>>;
1336
+ instructions: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
1337
+ path: z.ZodEffects<z.ZodString, string, string>;
1338
+ profiles: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1339
+ }, "strict", z.ZodTypeAny, {
1340
+ path: string;
1341
+ profiles: string[];
1342
+ }, {
1343
+ path: string;
1344
+ profiles: string[];
1345
+ }>, {
1346
+ path: string;
1347
+ profiles: string[];
1348
+ }, {
1349
+ path: string;
1350
+ profiles: string[];
1351
+ }>, "many">>;
1352
+ templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
1353
+ id: z.ZodEffects<z.ZodString, string, string>;
1354
+ profile: z.ZodEffects<z.ZodString, string, string>;
1355
+ path: z.ZodEffects<z.ZodString, string, string>;
1356
+ }, "strict", z.ZodTypeAny, {
1357
+ id: string;
1358
+ path: string;
1359
+ profile: string;
1360
+ }, {
1361
+ id: string;
1362
+ path: string;
1363
+ profile: string;
1364
+ }>, "many">>;
1365
+ config_schema: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1366
+ forbidden_fallbacks: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1367
+ completion_checks: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1368
+ }, "strict", z.ZodTypeAny, {
1369
+ program?: {
1370
+ protocol: "context.indexer.program/v1";
1371
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1372
+ execution: {
1373
+ entry: string;
1374
+ args: string[];
1375
+ runtime: "node";
1376
+ };
1377
+ } | undefined;
1378
+ instructions?: {
1379
+ path: string;
1380
+ profiles: string[];
1381
+ }[] | undefined;
1382
+ templates?: {
1383
+ id: string;
1384
+ path: string;
1385
+ profile: string;
1386
+ }[] | undefined;
1387
+ config_schema?: string | undefined;
1388
+ forbidden_fallbacks?: string[] | undefined;
1389
+ completion_checks?: string[] | undefined;
1390
+ }, {
1391
+ program?: {
1392
+ protocol: "context.indexer.program/v1";
1393
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1394
+ execution: {
1395
+ entry: string;
1396
+ args: string[];
1397
+ runtime: "node";
1398
+ };
1399
+ } | undefined;
1400
+ instructions?: {
1401
+ path: string;
1402
+ profiles: string[];
1403
+ }[] | undefined;
1404
+ templates?: {
1405
+ id: string;
1406
+ path: string;
1407
+ profile: string;
1408
+ }[] | undefined;
1409
+ config_schema?: string | undefined;
1410
+ forbidden_fallbacks?: string[] | undefined;
1411
+ completion_checks?: string[] | undefined;
1412
+ }>, {
1413
+ program?: {
1414
+ protocol: "context.indexer.program/v1";
1415
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1416
+ execution: {
1417
+ entry: string;
1418
+ args: string[];
1419
+ runtime: "node";
1420
+ };
1421
+ } | undefined;
1422
+ instructions?: {
1423
+ path: string;
1424
+ profiles: string[];
1425
+ }[] | undefined;
1426
+ templates?: {
1427
+ id: string;
1428
+ path: string;
1429
+ profile: string;
1430
+ }[] | undefined;
1431
+ config_schema?: string | undefined;
1432
+ forbidden_fallbacks?: string[] | undefined;
1433
+ completion_checks?: string[] | undefined;
1434
+ }, {
1435
+ program?: {
1436
+ protocol: "context.indexer.program/v1";
1437
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1438
+ execution: {
1439
+ entry: string;
1440
+ args: string[];
1441
+ runtime: "node";
1442
+ };
1443
+ } | undefined;
1444
+ instructions?: {
1445
+ path: string;
1446
+ profiles: string[];
1447
+ }[] | undefined;
1448
+ templates?: {
1449
+ id: string;
1450
+ path: string;
1451
+ profile: string;
1452
+ }[] | undefined;
1453
+ config_schema?: string | undefined;
1454
+ forbidden_fallbacks?: string[] | undefined;
1455
+ completion_checks?: string[] | undefined;
1456
+ }>;
1457
+ customization: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1458
+ supports: z.ZodArray<z.ZodEnum<["config", "instructions-append", "template-override", "program-extend"]>, "many">;
1459
+ guide: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1460
+ }, "strict", z.ZodTypeAny, {
1461
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
1462
+ guide?: string | undefined;
1463
+ }, {
1464
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
1465
+ guide?: string | undefined;
1466
+ }>, {
1467
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
1468
+ guide?: string | undefined;
1469
+ }, {
1470
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
1471
+ guide?: string | undefined;
1472
+ }>>;
1473
+ quality_guidance: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1474
+ metric_ids: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1475
+ repair: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
1476
+ }, "strict", z.ZodTypeAny, {
1477
+ metric_ids: string[];
1478
+ repair?: string | undefined;
1479
+ }, {
1480
+ metric_ids: string[];
1481
+ repair?: string | undefined;
1482
+ }>, {
1483
+ metric_ids: string[];
1484
+ repair?: string | undefined;
1485
+ }, {
1486
+ metric_ids: string[];
1487
+ repair?: string | undefined;
1488
+ }>>;
1489
+ composition: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1490
+ extensions: z.ZodArray<z.ZodObject<{
1491
+ profile: z.ZodEffects<z.ZodString, string, string>;
1492
+ extends: z.ZodEffects<z.ZodString, string, string>;
1493
+ variant_schema: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1494
+ axes: z.ZodArray<z.ZodEffects<z.ZodObject<{
1495
+ id: z.ZodString;
1496
+ type: z.ZodLiteral<"enum">;
1497
+ values: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1498
+ required: z.ZodBoolean;
1499
+ }, "strict", z.ZodTypeAny, {
1500
+ values: string[];
1501
+ id: string;
1502
+ type: "enum";
1503
+ required: boolean;
1504
+ }, {
1505
+ values: string[];
1506
+ id: string;
1507
+ type: "enum";
1508
+ required: boolean;
1509
+ }>, {
1510
+ values: string[];
1511
+ id: string;
1512
+ type: "enum";
1513
+ required: boolean;
1514
+ }, {
1515
+ values: string[];
1516
+ id: string;
1517
+ type: "enum";
1518
+ required: boolean;
1519
+ }>, "many">;
1520
+ }, "strict", z.ZodTypeAny, {
1521
+ axes: {
1522
+ values: string[];
1523
+ id: string;
1524
+ type: "enum";
1525
+ required: boolean;
1526
+ }[];
1527
+ }, {
1528
+ axes: {
1529
+ values: string[];
1530
+ id: string;
1531
+ type: "enum";
1532
+ required: boolean;
1533
+ }[];
1534
+ }>, {
1535
+ axes: {
1536
+ values: string[];
1537
+ id: string;
1538
+ type: "enum";
1539
+ required: boolean;
1540
+ }[];
1541
+ }, {
1542
+ axes: {
1543
+ values: string[];
1544
+ id: string;
1545
+ type: "enum";
1546
+ required: boolean;
1547
+ }[];
1548
+ }>>;
1549
+ subject_key_schema: z.ZodEffects<z.ZodObject<{
1550
+ version: z.ZodNumber;
1551
+ namespace: z.ZodObject<{
1552
+ operator: z.ZodEnum<["canonical-source-module-namespace", "canonical-service-namespace", "canonical-module-identity", "canonical-export-family"]>;
1553
+ }, "strict", z.ZodTypeAny, {
1554
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1555
+ }, {
1556
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1557
+ }>;
1558
+ kinds: z.ZodArray<z.ZodObject<{
1559
+ id: z.ZodEffects<z.ZodString, string, string>;
1560
+ local_key: z.ZodObject<{
1561
+ operator: z.ZodEnum<["canonical-source-module-namespace", "canonical-service-namespace", "canonical-module-identity", "canonical-export-family"]>;
1562
+ }, "strict", z.ZodTypeAny, {
1563
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1564
+ }, {
1565
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1566
+ }>;
1567
+ }, "strict", z.ZodTypeAny, {
1568
+ id: string;
1569
+ local_key: {
1570
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1571
+ };
1572
+ }, {
1573
+ id: string;
1574
+ local_key: {
1575
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1576
+ };
1577
+ }>, "many">;
1578
+ normalization: z.ZodOptional<z.ZodArray<z.ZodEnum<["trim", "unicode-nfc", "preserve-case", "lowercase"]>, "many">>;
1579
+ }, "strict", z.ZodTypeAny, {
1580
+ namespace: {
1581
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1582
+ };
1583
+ version: number;
1584
+ kinds: {
1585
+ id: string;
1586
+ local_key: {
1587
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1588
+ };
1589
+ }[];
1590
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1591
+ }, {
1592
+ namespace: {
1593
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1594
+ };
1595
+ version: number;
1596
+ kinds: {
1597
+ id: string;
1598
+ local_key: {
1599
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1600
+ };
1601
+ }[];
1602
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1603
+ }>, {
1604
+ namespace: {
1605
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1606
+ };
1607
+ version: number;
1608
+ kinds: {
1609
+ id: string;
1610
+ local_key: {
1611
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1612
+ };
1613
+ }[];
1614
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1615
+ }, {
1616
+ namespace: {
1617
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1618
+ };
1619
+ version: number;
1620
+ kinds: {
1621
+ id: string;
1622
+ local_key: {
1623
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1624
+ };
1625
+ }[];
1626
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1627
+ }>;
1628
+ }, "strict", z.ZodTypeAny, {
1629
+ profile: string;
1630
+ extends: string;
1631
+ subject_key_schema: {
1632
+ namespace: {
1633
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1634
+ };
1635
+ version: number;
1636
+ kinds: {
1637
+ id: string;
1638
+ local_key: {
1639
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1640
+ };
1641
+ }[];
1642
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1643
+ };
1644
+ variant_schema?: {
1645
+ axes: {
1646
+ values: string[];
1647
+ id: string;
1648
+ type: "enum";
1649
+ required: boolean;
1650
+ }[];
1651
+ } | undefined;
1652
+ }, {
1653
+ profile: string;
1654
+ extends: string;
1655
+ subject_key_schema: {
1656
+ namespace: {
1657
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1658
+ };
1659
+ version: number;
1660
+ kinds: {
1661
+ id: string;
1662
+ local_key: {
1663
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1664
+ };
1665
+ }[];
1666
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1667
+ };
1668
+ variant_schema?: {
1669
+ axes: {
1670
+ values: string[];
1671
+ id: string;
1672
+ type: "enum";
1673
+ required: boolean;
1674
+ }[];
1675
+ } | undefined;
1676
+ }>, "many">;
1677
+ }, "strict", z.ZodTypeAny, {
1678
+ extensions: {
1679
+ profile: string;
1680
+ extends: string;
1681
+ subject_key_schema: {
1682
+ namespace: {
1683
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1684
+ };
1685
+ version: number;
1686
+ kinds: {
1687
+ id: string;
1688
+ local_key: {
1689
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1690
+ };
1691
+ }[];
1692
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1693
+ };
1694
+ variant_schema?: {
1695
+ axes: {
1696
+ values: string[];
1697
+ id: string;
1698
+ type: "enum";
1699
+ required: boolean;
1700
+ }[];
1701
+ } | undefined;
1702
+ }[];
1703
+ }, {
1704
+ extensions: {
1705
+ profile: string;
1706
+ extends: string;
1707
+ subject_key_schema: {
1708
+ namespace: {
1709
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1710
+ };
1711
+ version: number;
1712
+ kinds: {
1713
+ id: string;
1714
+ local_key: {
1715
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1716
+ };
1717
+ }[];
1718
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1719
+ };
1720
+ variant_schema?: {
1721
+ axes: {
1722
+ values: string[];
1723
+ id: string;
1724
+ type: "enum";
1725
+ required: boolean;
1726
+ }[];
1727
+ } | undefined;
1728
+ }[];
1729
+ }>, {
1730
+ extensions: {
1731
+ profile: string;
1732
+ extends: string;
1733
+ subject_key_schema: {
1734
+ namespace: {
1735
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1736
+ };
1737
+ version: number;
1738
+ kinds: {
1739
+ id: string;
1740
+ local_key: {
1741
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1742
+ };
1743
+ }[];
1744
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1745
+ };
1746
+ variant_schema?: {
1747
+ axes: {
1748
+ values: string[];
1749
+ id: string;
1750
+ type: "enum";
1751
+ required: boolean;
1752
+ }[];
1753
+ } | undefined;
1754
+ }[];
1755
+ }, {
1756
+ extensions: {
1757
+ profile: string;
1758
+ extends: string;
1759
+ subject_key_schema: {
1760
+ namespace: {
1761
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1762
+ };
1763
+ version: number;
1764
+ kinds: {
1765
+ id: string;
1766
+ local_key: {
1767
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1768
+ };
1769
+ }[];
1770
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1771
+ };
1772
+ variant_schema?: {
1773
+ axes: {
1774
+ values: string[];
1775
+ id: string;
1776
+ type: "enum";
1777
+ required: boolean;
1778
+ }[];
1779
+ } | undefined;
1780
+ }[];
1781
+ }>>;
1782
+ }, "strict", z.ZodTypeAny, {
1783
+ id: string;
1784
+ protocol: "context.indexer.provider/v1";
1785
+ provider: {
1786
+ program?: {
1787
+ protocol: "context.indexer.program/v1";
1788
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1789
+ execution: {
1790
+ entry: string;
1791
+ args: string[];
1792
+ runtime: "node";
1793
+ };
1794
+ } | undefined;
1795
+ instructions?: {
1796
+ path: string;
1797
+ profiles: string[];
1798
+ }[] | undefined;
1799
+ templates?: {
1800
+ id: string;
1801
+ path: string;
1802
+ profile: string;
1803
+ }[] | undefined;
1804
+ config_schema?: string | undefined;
1805
+ forbidden_fallbacks?: string[] | undefined;
1806
+ completion_checks?: string[] | undefined;
1807
+ };
1808
+ version: string;
1809
+ domains: string[];
1810
+ activation: {
1811
+ target_kinds: string[];
1812
+ required_signals: {
1813
+ id: string;
1814
+ description: string;
1815
+ }[];
1816
+ supporting_signals: {
1817
+ id: string;
1818
+ description: string;
1819
+ }[];
1820
+ negative_signals: {
1821
+ id: string;
1822
+ description: string;
1823
+ }[];
1824
+ agent_questions?: string[] | undefined;
1825
+ detector?: {
1826
+ protocol: "context.indexer.activation/v1";
1827
+ optional: boolean;
1828
+ capabilities: ["parser-facts.read"];
1829
+ execution: {
1830
+ entry: string;
1831
+ args: string[];
1832
+ runtime: "node";
1833
+ };
1834
+ } | undefined;
1835
+ };
1836
+ provides: {
1837
+ operations: ({
1838
+ id: "main-index";
1839
+ consumes: "context.indexer.main-workset/v1";
1840
+ produces: "context.indexer.main-result/v1";
1841
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1842
+ } | {
1843
+ id: "material-answer";
1844
+ consumes: "context.indexer.material-question-workset/v1";
1845
+ produces: "context.indexer.material-answer-result/v1";
1846
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
1847
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
1848
+ })[];
1849
+ profiles: string[];
1850
+ composers?: {
1851
+ id: string;
1852
+ supported_profiles: string[];
1853
+ contract?: {
1854
+ instruction: string;
1855
+ primary_requirements: {
1856
+ artifact_kinds: string[];
1857
+ fact_kinds: string[];
1858
+ };
1859
+ derived_artifact_policy: {
1860
+ artifact_policy_variant: string;
1861
+ artifact_kinds: string[];
1862
+ fragment_protocol: "context.indexer.layer-fragment/v1";
1863
+ fragment_kind: "derived-artifact-proposal";
1864
+ };
1865
+ empty_result: {
1866
+ result_protocol: "context.indexer.layer-fragment-result/v1";
1867
+ behavior: "empty-fragment-set";
1868
+ };
1869
+ } | undefined;
1870
+ }[] | undefined;
1871
+ source_roles?: string[] | undefined;
1872
+ layer_fragments?: ({
1873
+ kind: "fact-enrichment";
1874
+ phase: "pre-authority";
1875
+ produces: "context.indexer.layer-fragment/v1";
1876
+ } | {
1877
+ kind: "template-variables";
1878
+ phase: "pre-authority";
1879
+ produces: "context.indexer.layer-fragment/v1";
1880
+ } | {
1881
+ kind: "derived-artifact-proposal";
1882
+ phase: "post-author";
1883
+ produces: "context.indexer.layer-fragment/v1";
1884
+ })[] | undefined;
1885
+ tool_sources?: {
1886
+ id: string;
1887
+ handler: string;
1888
+ operations: string[];
1889
+ optional: true;
1890
+ request: string;
1891
+ produces: "context.indexer.tool-snapshot/v1";
1892
+ }[] | undefined;
1893
+ logical_units?: {
1894
+ id: string;
1895
+ identity: string;
1896
+ artifacts?: {
1897
+ recommended: string[];
1898
+ supported_policy_variants: string[];
1899
+ } | undefined;
1900
+ }[] | undefined;
1901
+ partition_strategies?: {
1902
+ id: string;
1903
+ priority: number;
1904
+ profiles: string[];
1905
+ }[] | undefined;
1906
+ contract_overlays?: {
1907
+ id: string;
1908
+ protocol: "context.indexer.contract-overlay/v1";
1909
+ integrity: string;
1910
+ resource: string;
1911
+ extends: {
1912
+ version: string;
1913
+ profile: string;
1914
+ };
1915
+ }[] | undefined;
1916
+ };
1917
+ customization?: {
1918
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
1919
+ guide?: string | undefined;
1920
+ } | undefined;
1921
+ authoring_inspector?: {
1922
+ protocol: "context.indexer.inspector/v1";
1923
+ output: "provider-enrichment-facts";
1924
+ capabilities: ("source.read" | "parser-facts.read")[];
1925
+ execution: {
1926
+ entry: string;
1927
+ args: string[];
1928
+ runtime: "node";
1929
+ };
1930
+ } | undefined;
1931
+ quality_guidance?: {
1932
+ metric_ids: string[];
1933
+ repair?: string | undefined;
1934
+ } | undefined;
1935
+ composition?: {
1936
+ extensions: {
1937
+ profile: string;
1938
+ extends: string;
1939
+ subject_key_schema: {
1940
+ namespace: {
1941
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1942
+ };
1943
+ version: number;
1944
+ kinds: {
1945
+ id: string;
1946
+ local_key: {
1947
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
1948
+ };
1949
+ }[];
1950
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
1951
+ };
1952
+ variant_schema?: {
1953
+ axes: {
1954
+ values: string[];
1955
+ id: string;
1956
+ type: "enum";
1957
+ required: boolean;
1958
+ }[];
1959
+ } | undefined;
1960
+ }[];
1961
+ } | undefined;
1962
+ }, {
1963
+ id: string;
1964
+ protocol: "context.indexer.provider/v1";
1965
+ provider: {
1966
+ program?: {
1967
+ protocol: "context.indexer.program/v1";
1968
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
1969
+ execution: {
1970
+ entry: string;
1971
+ args: string[];
1972
+ runtime: "node";
1973
+ };
1974
+ } | undefined;
1975
+ instructions?: {
1976
+ path: string;
1977
+ profiles: string[];
1978
+ }[] | undefined;
1979
+ templates?: {
1980
+ id: string;
1981
+ path: string;
1982
+ profile: string;
1983
+ }[] | undefined;
1984
+ config_schema?: string | undefined;
1985
+ forbidden_fallbacks?: string[] | undefined;
1986
+ completion_checks?: string[] | undefined;
1987
+ };
1988
+ version: string;
1989
+ domains: string[];
1990
+ activation: {
1991
+ target_kinds: string[];
1992
+ required_signals: {
1993
+ id: string;
1994
+ description: string;
1995
+ }[];
1996
+ supporting_signals: {
1997
+ id: string;
1998
+ description: string;
1999
+ }[];
2000
+ negative_signals: {
2001
+ id: string;
2002
+ description: string;
2003
+ }[];
2004
+ agent_questions?: string[] | undefined;
2005
+ detector?: {
2006
+ protocol: "context.indexer.activation/v1";
2007
+ optional: boolean;
2008
+ capabilities: ["parser-facts.read"];
2009
+ execution: {
2010
+ entry: string;
2011
+ args: string[];
2012
+ runtime: "node";
2013
+ };
2014
+ } | undefined;
2015
+ };
2016
+ provides: {
2017
+ operations: ({
2018
+ id: "main-index";
2019
+ consumes: "context.indexer.main-workset/v1";
2020
+ produces: "context.indexer.main-result/v1";
2021
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2022
+ } | {
2023
+ id: "material-answer";
2024
+ consumes: "context.indexer.material-question-workset/v1";
2025
+ produces: "context.indexer.material-answer-result/v1";
2026
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
2027
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2028
+ })[];
2029
+ profiles: string[];
2030
+ composers?: {
2031
+ id: string;
2032
+ supported_profiles: string[];
2033
+ contract?: {
2034
+ instruction: string;
2035
+ primary_requirements: {
2036
+ artifact_kinds: string[];
2037
+ fact_kinds: string[];
2038
+ };
2039
+ derived_artifact_policy: {
2040
+ artifact_policy_variant: string;
2041
+ artifact_kinds: string[];
2042
+ fragment_protocol: "context.indexer.layer-fragment/v1";
2043
+ fragment_kind: "derived-artifact-proposal";
2044
+ };
2045
+ empty_result: {
2046
+ result_protocol: "context.indexer.layer-fragment-result/v1";
2047
+ behavior: "empty-fragment-set";
2048
+ };
2049
+ } | undefined;
2050
+ }[] | undefined;
2051
+ source_roles?: string[] | undefined;
2052
+ layer_fragments?: ({
2053
+ kind: "fact-enrichment";
2054
+ phase: "pre-authority";
2055
+ produces: "context.indexer.layer-fragment/v1";
2056
+ } | {
2057
+ kind: "template-variables";
2058
+ phase: "pre-authority";
2059
+ produces: "context.indexer.layer-fragment/v1";
2060
+ } | {
2061
+ kind: "derived-artifact-proposal";
2062
+ phase: "post-author";
2063
+ produces: "context.indexer.layer-fragment/v1";
2064
+ })[] | undefined;
2065
+ tool_sources?: {
2066
+ id: string;
2067
+ handler: string;
2068
+ operations: string[];
2069
+ optional: true;
2070
+ request: string;
2071
+ produces: "context.indexer.tool-snapshot/v1";
2072
+ }[] | undefined;
2073
+ logical_units?: {
2074
+ id: string;
2075
+ identity: string;
2076
+ artifacts?: {
2077
+ recommended: string[];
2078
+ supported_policy_variants: string[];
2079
+ } | undefined;
2080
+ }[] | undefined;
2081
+ partition_strategies?: {
2082
+ id: string;
2083
+ priority: number;
2084
+ profiles: string[];
2085
+ }[] | undefined;
2086
+ contract_overlays?: {
2087
+ id: string;
2088
+ protocol: "context.indexer.contract-overlay/v1";
2089
+ integrity: string;
2090
+ resource: string;
2091
+ extends: {
2092
+ version: string;
2093
+ profile: string;
2094
+ };
2095
+ }[] | undefined;
2096
+ };
2097
+ customization?: {
2098
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
2099
+ guide?: string | undefined;
2100
+ } | undefined;
2101
+ authoring_inspector?: {
2102
+ protocol: "context.indexer.inspector/v1";
2103
+ output: "provider-enrichment-facts";
2104
+ capabilities: ("source.read" | "parser-facts.read")[];
2105
+ execution: {
2106
+ entry: string;
2107
+ args: string[];
2108
+ runtime: "node";
2109
+ };
2110
+ } | undefined;
2111
+ quality_guidance?: {
2112
+ metric_ids: string[];
2113
+ repair?: string | undefined;
2114
+ } | undefined;
2115
+ composition?: {
2116
+ extensions: {
2117
+ profile: string;
2118
+ extends: string;
2119
+ subject_key_schema: {
2120
+ namespace: {
2121
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2122
+ };
2123
+ version: number;
2124
+ kinds: {
2125
+ id: string;
2126
+ local_key: {
2127
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2128
+ };
2129
+ }[];
2130
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
2131
+ };
2132
+ variant_schema?: {
2133
+ axes: {
2134
+ values: string[];
2135
+ id: string;
2136
+ type: "enum";
2137
+ required: boolean;
2138
+ }[];
2139
+ } | undefined;
2140
+ }[];
2141
+ } | undefined;
2142
+ }>, {
2143
+ id: string;
2144
+ protocol: "context.indexer.provider/v1";
2145
+ provider: {
2146
+ program?: {
2147
+ protocol: "context.indexer.program/v1";
2148
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
2149
+ execution: {
2150
+ entry: string;
2151
+ args: string[];
2152
+ runtime: "node";
2153
+ };
2154
+ } | undefined;
2155
+ instructions?: {
2156
+ path: string;
2157
+ profiles: string[];
2158
+ }[] | undefined;
2159
+ templates?: {
2160
+ id: string;
2161
+ path: string;
2162
+ profile: string;
2163
+ }[] | undefined;
2164
+ config_schema?: string | undefined;
2165
+ forbidden_fallbacks?: string[] | undefined;
2166
+ completion_checks?: string[] | undefined;
2167
+ };
2168
+ version: string;
2169
+ domains: string[];
2170
+ activation: {
2171
+ target_kinds: string[];
2172
+ required_signals: {
2173
+ id: string;
2174
+ description: string;
2175
+ }[];
2176
+ supporting_signals: {
2177
+ id: string;
2178
+ description: string;
2179
+ }[];
2180
+ negative_signals: {
2181
+ id: string;
2182
+ description: string;
2183
+ }[];
2184
+ agent_questions?: string[] | undefined;
2185
+ detector?: {
2186
+ protocol: "context.indexer.activation/v1";
2187
+ optional: boolean;
2188
+ capabilities: ["parser-facts.read"];
2189
+ execution: {
2190
+ entry: string;
2191
+ args: string[];
2192
+ runtime: "node";
2193
+ };
2194
+ } | undefined;
2195
+ };
2196
+ provides: {
2197
+ operations: ({
2198
+ id: "main-index";
2199
+ consumes: "context.indexer.main-workset/v1";
2200
+ produces: "context.indexer.main-result/v1";
2201
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2202
+ } | {
2203
+ id: "material-answer";
2204
+ consumes: "context.indexer.material-question-workset/v1";
2205
+ produces: "context.indexer.material-answer-result/v1";
2206
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
2207
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2208
+ })[];
2209
+ profiles: string[];
2210
+ composers?: {
2211
+ id: string;
2212
+ supported_profiles: string[];
2213
+ contract?: {
2214
+ instruction: string;
2215
+ primary_requirements: {
2216
+ artifact_kinds: string[];
2217
+ fact_kinds: string[];
2218
+ };
2219
+ derived_artifact_policy: {
2220
+ artifact_policy_variant: string;
2221
+ artifact_kinds: string[];
2222
+ fragment_protocol: "context.indexer.layer-fragment/v1";
2223
+ fragment_kind: "derived-artifact-proposal";
2224
+ };
2225
+ empty_result: {
2226
+ result_protocol: "context.indexer.layer-fragment-result/v1";
2227
+ behavior: "empty-fragment-set";
2228
+ };
2229
+ } | undefined;
2230
+ }[] | undefined;
2231
+ source_roles?: string[] | undefined;
2232
+ layer_fragments?: ({
2233
+ kind: "fact-enrichment";
2234
+ phase: "pre-authority";
2235
+ produces: "context.indexer.layer-fragment/v1";
2236
+ } | {
2237
+ kind: "template-variables";
2238
+ phase: "pre-authority";
2239
+ produces: "context.indexer.layer-fragment/v1";
2240
+ } | {
2241
+ kind: "derived-artifact-proposal";
2242
+ phase: "post-author";
2243
+ produces: "context.indexer.layer-fragment/v1";
2244
+ })[] | undefined;
2245
+ tool_sources?: {
2246
+ id: string;
2247
+ handler: string;
2248
+ operations: string[];
2249
+ optional: true;
2250
+ request: string;
2251
+ produces: "context.indexer.tool-snapshot/v1";
2252
+ }[] | undefined;
2253
+ logical_units?: {
2254
+ id: string;
2255
+ identity: string;
2256
+ artifacts?: {
2257
+ recommended: string[];
2258
+ supported_policy_variants: string[];
2259
+ } | undefined;
2260
+ }[] | undefined;
2261
+ partition_strategies?: {
2262
+ id: string;
2263
+ priority: number;
2264
+ profiles: string[];
2265
+ }[] | undefined;
2266
+ contract_overlays?: {
2267
+ id: string;
2268
+ protocol: "context.indexer.contract-overlay/v1";
2269
+ integrity: string;
2270
+ resource: string;
2271
+ extends: {
2272
+ version: string;
2273
+ profile: string;
2274
+ };
2275
+ }[] | undefined;
2276
+ };
2277
+ customization?: {
2278
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
2279
+ guide?: string | undefined;
2280
+ } | undefined;
2281
+ authoring_inspector?: {
2282
+ protocol: "context.indexer.inspector/v1";
2283
+ output: "provider-enrichment-facts";
2284
+ capabilities: ("source.read" | "parser-facts.read")[];
2285
+ execution: {
2286
+ entry: string;
2287
+ args: string[];
2288
+ runtime: "node";
2289
+ };
2290
+ } | undefined;
2291
+ quality_guidance?: {
2292
+ metric_ids: string[];
2293
+ repair?: string | undefined;
2294
+ } | undefined;
2295
+ composition?: {
2296
+ extensions: {
2297
+ profile: string;
2298
+ extends: string;
2299
+ subject_key_schema: {
2300
+ namespace: {
2301
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2302
+ };
2303
+ version: number;
2304
+ kinds: {
2305
+ id: string;
2306
+ local_key: {
2307
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2308
+ };
2309
+ }[];
2310
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
2311
+ };
2312
+ variant_schema?: {
2313
+ axes: {
2314
+ values: string[];
2315
+ id: string;
2316
+ type: "enum";
2317
+ required: boolean;
2318
+ }[];
2319
+ } | undefined;
2320
+ }[];
2321
+ } | undefined;
2322
+ }, {
2323
+ id: string;
2324
+ protocol: "context.indexer.provider/v1";
2325
+ provider: {
2326
+ program?: {
2327
+ protocol: "context.indexer.program/v1";
2328
+ capabilities: ("source.read" | "parser-facts.read" | "indexer-result.write")[];
2329
+ execution: {
2330
+ entry: string;
2331
+ args: string[];
2332
+ runtime: "node";
2333
+ };
2334
+ } | undefined;
2335
+ instructions?: {
2336
+ path: string;
2337
+ profiles: string[];
2338
+ }[] | undefined;
2339
+ templates?: {
2340
+ id: string;
2341
+ path: string;
2342
+ profile: string;
2343
+ }[] | undefined;
2344
+ config_schema?: string | undefined;
2345
+ forbidden_fallbacks?: string[] | undefined;
2346
+ completion_checks?: string[] | undefined;
2347
+ };
2348
+ version: string;
2349
+ domains: string[];
2350
+ activation: {
2351
+ target_kinds: string[];
2352
+ required_signals: {
2353
+ id: string;
2354
+ description: string;
2355
+ }[];
2356
+ supporting_signals: {
2357
+ id: string;
2358
+ description: string;
2359
+ }[];
2360
+ negative_signals: {
2361
+ id: string;
2362
+ description: string;
2363
+ }[];
2364
+ agent_questions?: string[] | undefined;
2365
+ detector?: {
2366
+ protocol: "context.indexer.activation/v1";
2367
+ optional: boolean;
2368
+ capabilities: ["parser-facts.read"];
2369
+ execution: {
2370
+ entry: string;
2371
+ args: string[];
2372
+ runtime: "node";
2373
+ };
2374
+ } | undefined;
2375
+ };
2376
+ provides: {
2377
+ operations: ({
2378
+ id: "main-index";
2379
+ consumes: "context.indexer.main-workset/v1";
2380
+ produces: "context.indexer.main-result/v1";
2381
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2382
+ } | {
2383
+ id: "material-answer";
2384
+ consumes: "context.indexer.material-question-workset/v1";
2385
+ produces: "context.indexer.material-answer-result/v1";
2386
+ supported_evidence_kinds: ("contract" | "code" | "configuration" | "documentation" | "runbook" | "decision-record" | "test-result" | "runtime-observation" | "tool-snapshot")[];
2387
+ accepts_layer_fragments?: ("fact-enrichment" | "template-variables")[] | undefined;
2388
+ })[];
2389
+ profiles: string[];
2390
+ composers?: {
2391
+ id: string;
2392
+ supported_profiles: string[];
2393
+ contract?: {
2394
+ instruction: string;
2395
+ primary_requirements: {
2396
+ artifact_kinds: string[];
2397
+ fact_kinds: string[];
2398
+ };
2399
+ derived_artifact_policy: {
2400
+ artifact_policy_variant: string;
2401
+ artifact_kinds: string[];
2402
+ fragment_protocol: "context.indexer.layer-fragment/v1";
2403
+ fragment_kind: "derived-artifact-proposal";
2404
+ };
2405
+ empty_result: {
2406
+ result_protocol: "context.indexer.layer-fragment-result/v1";
2407
+ behavior: "empty-fragment-set";
2408
+ };
2409
+ } | undefined;
2410
+ }[] | undefined;
2411
+ source_roles?: string[] | undefined;
2412
+ layer_fragments?: ({
2413
+ kind: "fact-enrichment";
2414
+ phase: "pre-authority";
2415
+ produces: "context.indexer.layer-fragment/v1";
2416
+ } | {
2417
+ kind: "template-variables";
2418
+ phase: "pre-authority";
2419
+ produces: "context.indexer.layer-fragment/v1";
2420
+ } | {
2421
+ kind: "derived-artifact-proposal";
2422
+ phase: "post-author";
2423
+ produces: "context.indexer.layer-fragment/v1";
2424
+ })[] | undefined;
2425
+ tool_sources?: {
2426
+ id: string;
2427
+ handler: string;
2428
+ operations: string[];
2429
+ optional: true;
2430
+ request: string;
2431
+ produces: "context.indexer.tool-snapshot/v1";
2432
+ }[] | undefined;
2433
+ logical_units?: {
2434
+ id: string;
2435
+ identity: string;
2436
+ artifacts?: {
2437
+ recommended: string[];
2438
+ supported_policy_variants: string[];
2439
+ } | undefined;
2440
+ }[] | undefined;
2441
+ partition_strategies?: {
2442
+ id: string;
2443
+ priority: number;
2444
+ profiles: string[];
2445
+ }[] | undefined;
2446
+ contract_overlays?: {
2447
+ id: string;
2448
+ protocol: "context.indexer.contract-overlay/v1";
2449
+ integrity: string;
2450
+ resource: string;
2451
+ extends: {
2452
+ version: string;
2453
+ profile: string;
2454
+ };
2455
+ }[] | undefined;
2456
+ };
2457
+ customization?: {
2458
+ supports: ("config" | "instructions-append" | "template-override" | "program-extend")[];
2459
+ guide?: string | undefined;
2460
+ } | undefined;
2461
+ authoring_inspector?: {
2462
+ protocol: "context.indexer.inspector/v1";
2463
+ output: "provider-enrichment-facts";
2464
+ capabilities: ("source.read" | "parser-facts.read")[];
2465
+ execution: {
2466
+ entry: string;
2467
+ args: string[];
2468
+ runtime: "node";
2469
+ };
2470
+ } | undefined;
2471
+ quality_guidance?: {
2472
+ metric_ids: string[];
2473
+ repair?: string | undefined;
2474
+ } | undefined;
2475
+ composition?: {
2476
+ extensions: {
2477
+ profile: string;
2478
+ extends: string;
2479
+ subject_key_schema: {
2480
+ namespace: {
2481
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2482
+ };
2483
+ version: number;
2484
+ kinds: {
2485
+ id: string;
2486
+ local_key: {
2487
+ operator: "canonical-source-module-namespace" | "canonical-service-namespace" | "canonical-module-identity" | "canonical-export-family";
2488
+ };
2489
+ }[];
2490
+ normalization?: ("trim" | "unicode-nfc" | "preserve-case" | "lowercase")[] | undefined;
2491
+ };
2492
+ variant_schema?: {
2493
+ axes: {
2494
+ values: string[];
2495
+ id: string;
2496
+ type: "enum";
2497
+ required: boolean;
2498
+ }[];
2499
+ } | undefined;
2500
+ }[];
2501
+ } | undefined;
2502
+ }>;
2503
+ export type IndexerExecution = z.infer<typeof indexerExecutionSchema>;
2504
+ export type IndexerProviderOperation = z.infer<typeof indexerProviderOperationSchema>;
2505
+ export type IndexerProviderLayerFragment = z.infer<typeof indexerProviderLayerFragmentSchema>;
2506
+ export type IndexerProviderManifest = z.infer<typeof indexerProviderManifestSchema>;
2507
+ export declare function parseIndexerProviderManifest(source: string, label?: string): IndexerProviderManifest;
2508
+ export declare function loadIndexerProviderManifest(bundleRoot: string): Promise<IndexerProviderManifest>;
2509
+ export declare function isIndexerProviderProtocol(value: string): boolean;
2510
+ export declare function isIndexerLayerFragmentKind(value: string): boolean;