@native-knowledge/knowledge-sdk 0.0.0-stage → 0.1.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +29 -0
  3. package/README.md +34 -2
  4. package/dist/agent-entry.d.ts +291 -0
  5. package/dist/agent-entry.js +153 -0
  6. package/dist/agent-guidance-error.d.ts +15 -0
  7. package/dist/agent-guidance-error.js +46 -0
  8. package/dist/auth.d.ts +124 -0
  9. package/dist/auth.js +165 -0
  10. package/dist/index.d.ts +290 -0
  11. package/dist/index.js +166 -0
  12. package/dist/internal/contracts/artifact.d.ts +120 -0
  13. package/dist/internal/contracts/artifact.js +103 -0
  14. package/dist/internal/contracts/collection-control.d.ts +160 -0
  15. package/dist/internal/contracts/collection-control.js +69 -0
  16. package/dist/internal/contracts/collection.d.ts +263 -0
  17. package/dist/internal/contracts/collection.js +174 -0
  18. package/dist/internal/contracts/common.d.ts +17 -0
  19. package/dist/internal/contracts/common.js +16 -0
  20. package/dist/internal/contracts/currentness.d.ts +477 -0
  21. package/dist/internal/contracts/currentness.js +221 -0
  22. package/dist/internal/contracts/event.d.ts +60 -0
  23. package/dist/internal/contracts/event.js +35 -0
  24. package/dist/internal/contracts/evidence.d.ts +202 -0
  25. package/dist/internal/contracts/evidence.js +171 -0
  26. package/dist/internal/contracts/index.d.ts +54 -0
  27. package/dist/internal/contracts/index.js +54 -0
  28. package/dist/internal/contracts/material-capability.d.ts +88 -0
  29. package/dist/internal/contracts/material-capability.js +8 -0
  30. package/dist/internal/contracts/material-carrier.d.ts +104 -0
  31. package/dist/internal/contracts/material-carrier.js +15 -0
  32. package/dist/internal/contracts/material-context.d.ts +28 -0
  33. package/dist/internal/contracts/material-context.js +9 -0
  34. package/dist/internal/contracts/material-read.d.ts +152 -0
  35. package/dist/internal/contracts/material-read.js +12 -0
  36. package/dist/internal/contracts/observation.d.ts +75 -0
  37. package/dist/internal/contracts/observation.js +39 -0
  38. package/dist/internal/contracts/persistence.d.ts +370 -0
  39. package/dist/internal/contracts/persistence.js +239 -0
  40. package/dist/internal/contracts/project-intent.d.ts +218 -0
  41. package/dist/internal/contracts/project-intent.js +121 -0
  42. package/dist/internal/contracts/projection.d.ts +380 -0
  43. package/dist/internal/contracts/projection.js +194 -0
  44. package/dist/internal/contracts/public-reference.d.ts +237 -0
  45. package/dist/internal/contracts/public-reference.js +87 -0
  46. package/dist/internal/contracts/reference-record.d.ts +124 -0
  47. package/dist/internal/contracts/reference-record.js +55 -0
  48. package/dist/internal/contracts/remote-file.d.ts +128 -0
  49. package/dist/internal/contracts/remote-file.js +159 -0
  50. package/dist/internal/contracts/resource-scope.d.ts +40 -0
  51. package/dist/internal/contracts/resource-scope.js +38 -0
  52. package/dist/internal/contracts/review-packet.d.ts +274 -0
  53. package/dist/internal/contracts/review-packet.js +61 -0
  54. package/dist/internal/contracts/review-plane.d.ts +90 -0
  55. package/dist/internal/contracts/review-plane.js +89 -0
  56. package/dist/internal/contracts/rich-document.d.ts +641 -0
  57. package/dist/internal/contracts/rich-document.js +184 -0
  58. package/dist/internal/contracts/runtime-compatibility.d.ts +22 -0
  59. package/dist/internal/contracts/runtime-compatibility.js +55 -0
  60. package/dist/internal/contracts/runtime.d.ts +59 -0
  61. package/dist/internal/contracts/runtime.js +68 -0
  62. package/dist/internal/contracts/scheduler.d.ts +348 -0
  63. package/dist/internal/contracts/scheduler.js +256 -0
  64. package/dist/internal/contracts/signal.d.ts +113 -0
  65. package/dist/internal/contracts/signal.js +77 -0
  66. package/dist/internal/contracts/source-governance.d.ts +375 -0
  67. package/dist/internal/contracts/source-governance.js +194 -0
  68. package/dist/internal/contracts/source.d.ts +62 -0
  69. package/dist/internal/contracts/source.js +32 -0
  70. package/dist/internal/contracts/tenant-budget.d.ts +59 -0
  71. package/dist/internal/contracts/tenant-budget.js +34 -0
  72. package/dist/internal/contracts/tenant-collection-request.d.ts +209 -0
  73. package/dist/internal/contracts/tenant-collection-request.js +58 -0
  74. package/dist/internal/contracts/tenant-collection.d.ts +199 -0
  75. package/dist/internal/contracts/tenant-collection.js +66 -0
  76. package/dist/internal/contracts/tenant-currentness.d.ts +117 -0
  77. package/dist/internal/contracts/tenant-currentness.js +26 -0
  78. package/dist/internal/contracts/tenant-management.d.ts +286 -0
  79. package/dist/internal/contracts/tenant-management.js +27 -0
  80. package/dist/internal/contracts/tenant-material-api.d.ts +584 -0
  81. package/dist/internal/contracts/tenant-material-api.js +46 -0
  82. package/dist/internal/contracts/tenant-material-json-schema.js +16 -0
  83. package/dist/internal/contracts/tenant-pdf-text.d.ts +27 -0
  84. package/dist/internal/contracts/tenant-pdf-text.js +13 -0
  85. package/dist/internal/contracts/tenant-project-control.d.ts +94 -0
  86. package/dist/internal/contracts/tenant-project-control.js +19 -0
  87. package/dist/internal/contracts/tenant-public-reference.d.ts +179 -0
  88. package/dist/internal/contracts/tenant-public-reference.js +26 -0
  89. package/dist/internal/contracts/tenant-resource-api.d.ts +738 -0
  90. package/dist/internal/contracts/tenant-resource-api.js +70 -0
  91. package/dist/internal/contracts/tenant-resource.d.ts +298 -0
  92. package/dist/internal/contracts/tenant-resource.js +118 -0
  93. package/dist/internal/contracts/tenant-rich-document.d.ts +317 -0
  94. package/dist/internal/contracts/tenant-rich-document.js +17 -0
  95. package/dist/internal/contracts/tenant-source-binding.d.ts +44 -0
  96. package/dist/internal/contracts/tenant-source-binding.js +33 -0
  97. package/dist/internal/contracts/tenant-source-bridge.d.ts +70 -0
  98. package/dist/internal/contracts/tenant-source-bridge.js +9 -0
  99. package/dist/internal/contracts/tenant-source-cutover.d.ts +226 -0
  100. package/dist/internal/contracts/tenant-source-cutover.js +26 -0
  101. package/dist/internal/contracts/tenant-source-document.d.ts +163 -0
  102. package/dist/internal/contracts/tenant-source-document.js +38 -0
  103. package/dist/internal/contracts/tenant-source-lease.d.ts +1 -0
  104. package/dist/internal/contracts/tenant-source-lease.js +5 -0
  105. package/dist/internal/contracts/tenant-source.d.ts +223 -0
  106. package/dist/internal/contracts/tenant-source.js +83 -0
  107. package/dist/internal/contracts/tenant-web-collection.d.ts +287 -0
  108. package/dist/internal/contracts/tenant-web-collection.js +118 -0
  109. package/dist/internal/contracts/tenant-web-content-plan.d.ts +86 -0
  110. package/dist/internal/contracts/tenant-web-content-plan.js +39 -0
  111. package/dist/internal/contracts/tenant-web-content-result.d.ts +63 -0
  112. package/dist/internal/contracts/tenant-web-content-result.js +15 -0
  113. package/dist/internal/contracts/tenant-web-content.d.ts +383 -0
  114. package/dist/internal/contracts/tenant-web-content.js +16 -0
  115. package/dist/internal/contracts/tenant-web-crawl.d.ts +310 -0
  116. package/dist/internal/contracts/tenant-web-crawl.js +55 -0
  117. package/dist/internal/contracts/tenant-web-dynamic.d.ts +698 -0
  118. package/dist/internal/contracts/tenant-web-dynamic.js +68 -0
  119. package/dist/internal/contracts/tenant-web-results.d.ts +66 -0
  120. package/dist/internal/contracts/tenant-web-results.js +41 -0
  121. package/dist/internal/contracts/tenant-web-workflow.d.ts +494 -0
  122. package/dist/internal/contracts/tenant-web-workflow.js +29 -0
  123. package/dist/internal/serving-contracts/agent-catalog.d.ts +70 -0
  124. package/dist/internal/serving-contracts/agent-catalog.js +56 -0
  125. package/dist/internal/serving-contracts/agent-entry.d.ts +13148 -0
  126. package/dist/internal/serving-contracts/agent-entry.js +57 -0
  127. package/dist/internal/serving-contracts/agent-guidance-shapes.d.ts +263 -0
  128. package/dist/internal/serving-contracts/agent-guidance-shapes.js +12 -0
  129. package/dist/internal/serving-contracts/agent-input-hints.d.ts +24 -0
  130. package/dist/internal/serving-contracts/agent-input-hints.js +104 -0
  131. package/dist/internal/serving-contracts/body-search.d.ts +231 -0
  132. package/dist/internal/serving-contracts/body-search.js +16 -0
  133. package/dist/internal/serving-contracts/consumer.d.ts +989 -0
  134. package/dist/internal/serving-contracts/consumer.js +45 -0
  135. package/dist/internal/serving-contracts/core.d.ts +333 -0
  136. package/dist/internal/serving-contracts/core.js +76 -0
  137. package/dist/internal/serving-contracts/http.d.ts +2874 -0
  138. package/dist/internal/serving-contracts/http.js +64 -0
  139. package/dist/internal/serving-contracts/index.d.ts +24 -0
  140. package/dist/internal/serving-contracts/index.js +25 -0
  141. package/dist/internal/serving-contracts/management.d.ts +424 -0
  142. package/dist/internal/serving-contracts/management.js +15 -0
  143. package/dist/internal/serving-contracts/material-capabilities.d.ts +508 -0
  144. package/dist/internal/serving-contracts/material-capabilities.js +14 -0
  145. package/dist/internal/serving-contracts/material-index-status.d.ts +55 -0
  146. package/dist/internal/serving-contracts/material-index-status.js +5 -0
  147. package/dist/internal/serving-contracts/mcp.d.ts +2218 -0
  148. package/dist/internal/serving-contracts/mcp.js +140 -0
  149. package/dist/internal/serving-contracts/tenant-governance.d.ts +236 -0
  150. package/dist/internal/serving-contracts/tenant-governance.js +13 -0
  151. package/dist/internal/serving-contracts/tenant-management.d.ts +6276 -0
  152. package/dist/internal/serving-contracts/tenant-management.js +89 -0
  153. package/dist/internal/serving-contracts/tenant-project.d.ts +7550 -0
  154. package/dist/internal/serving-contracts/tenant-project.js +39 -0
  155. package/dist/internal/serving-contracts/tenant-runtime.d.ts +9674 -0
  156. package/dist/internal/serving-contracts/tenant-runtime.js +37 -0
  157. package/dist/internal/serving-contracts/tenant-session.d.ts +87 -0
  158. package/dist/internal/serving-contracts/tenant-session.js +8 -0
  159. package/dist/internal/serving-contracts/tenant-web-content.d.ts +4606 -0
  160. package/dist/internal/serving-contracts/tenant-web-content.js +20 -0
  161. package/dist/internal/serving-contracts/tenant-web-crawl.d.ts +2958 -0
  162. package/dist/internal/serving-contracts/tenant-web-crawl.js +13 -0
  163. package/dist/internal/serving-contracts/tenant-web-dynamic.d.ts +3902 -0
  164. package/dist/internal/serving-contracts/tenant-web-dynamic.js +20 -0
  165. package/dist/internal/serving-contracts/tenant-web-workflow.d.ts +5750 -0
  166. package/dist/internal/serving-contracts/tenant-web-workflow.js +36 -0
  167. package/dist/internal/serving-contracts/tenant-web.d.ts +6418 -0
  168. package/dist/internal/serving-contracts/tenant-web.js +53 -0
  169. package/dist/internal/serving-contracts/tenant-workspace.d.ts +6451 -0
  170. package/dist/internal/serving-contracts/tenant-workspace.js +28 -0
  171. package/dist/internal/serving-contracts/workflow.d.ts +439 -0
  172. package/dist/internal/serving-contracts/workflow.js +37 -0
  173. package/dist/material-stream.d.ts +18 -0
  174. package/dist/material-stream.js +29 -0
  175. package/dist/oauth.d.ts +268 -0
  176. package/dist/oauth.js +539 -0
  177. package/dist/resource.d.ts +88 -0
  178. package/dist/resource.js +123 -0
  179. package/dist/session.d.ts +4 -0
  180. package/dist/session.js +3 -0
  181. package/dist/tenant-client.d.ts +169 -0
  182. package/dist/tenant-client.js +58 -0
  183. package/dist/tenant-management.d.ts +240 -0
  184. package/dist/tenant-management.js +149 -0
  185. package/dist/tenant-project.d.ts +57 -0
  186. package/dist/tenant-project.js +63 -0
  187. package/dist/tenant-runtime.d.ts +174 -0
  188. package/dist/tenant-runtime.js +17 -0
  189. package/dist/tenant-web-content.d.ts +44 -0
  190. package/dist/tenant-web-content.js +70 -0
  191. package/dist/tenant-web-crawl.d.ts +42 -0
  192. package/dist/tenant-web-crawl.js +39 -0
  193. package/dist/tenant-web-dynamic.d.ts +42 -0
  194. package/dist/tenant-web-dynamic.js +39 -0
  195. package/dist/tenant-web-workflow.d.ts +43 -0
  196. package/dist/tenant-web-workflow.js +63 -0
  197. package/dist/tenant-web.d.ts +42 -0
  198. package/dist/tenant-web.js +39 -0
  199. package/dist/tenant-workspace.d.ts +36 -0
  200. package/dist/tenant-workspace.js +21 -0
  201. package/dist/token-provider.d.ts +14 -0
  202. package/dist/token-provider.js +21 -0
  203. package/package.json +45 -3
@@ -0,0 +1,103 @@
1
+ import { z } from 'zod';
2
+ import { accessClassificationSchema, isoDateTimeSchema, projectKeySchema, schemaVersionSchema, sha256Schema, stableUriSchema, } from './common.js';
3
+ export const artifactIdSchema = z.string().trim().min(1).max(128).regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/);
4
+ export const artifactKindSchema = z.enum([
5
+ 'SIGNAL_GENERATION',
6
+ 'RESEARCH',
7
+ 'REVIEW',
8
+ 'KNOWLEDGE',
9
+ 'INSIGHT',
10
+ ]);
11
+ export const artifactStatusSchema = z.enum([
12
+ 'GENERATED',
13
+ 'DRAFT',
14
+ 'READY_FOR_REVIEW',
15
+ 'REWORK_REQUIRED',
16
+ 'APPROVED',
17
+ 'REJECTED',
18
+ 'SUPERSEDED',
19
+ ]);
20
+ export const artifactManifestSchema = z.object({
21
+ schemaVersion: schemaVersionSchema,
22
+ artifactId: artifactIdSchema,
23
+ kind: artifactKindSchema,
24
+ projectKey: projectKeySchema,
25
+ projectRef: stableUriSchema.optional(),
26
+ version: z.number().int().positive(),
27
+ ref: stableUriSchema,
28
+ identityRef: stableUriSchema,
29
+ status: artifactStatusSchema,
30
+ access: accessClassificationSchema.default('INTERNAL'),
31
+ title: z.string().trim().min(1).max(500).optional(),
32
+ createdAt: isoDateTimeSchema,
33
+ observedAt: isoDateTimeSchema.nullable().default(null),
34
+ validUntil: isoDateTimeSchema.nullable().default(null),
35
+ contentHash: sha256Schema,
36
+ mediaType: z.string().trim().min(1).max(256),
37
+ byteLength: z.number().int().nonnegative(),
38
+ evidenceRefs: z.array(stableUriSchema).max(256).default([]),
39
+ relatedRefs: z.array(stableUriSchema).max(256).default([]),
40
+ supersedesRef: stableUriSchema.nullable().default(null),
41
+ }).strict().superRefine((value, ctx) => {
42
+ if (value.projectRef) {
43
+ try {
44
+ const url = new URL(value.projectRef);
45
+ if (url.protocol !== 'knowledge-project:' || url.hostname.toLowerCase() !== value.projectKey.toLowerCase())
46
+ ctx.addIssue({ code: 'custom', path: ['projectRef'], message: 'projectRef project must match Artifact project' });
47
+ }
48
+ catch {
49
+ ctx.addIssue({ code: 'custom', path: ['projectRef'], message: 'Invalid projectRef' });
50
+ }
51
+ }
52
+ if (value.validUntil && value.observedAt && Date.parse(value.validUntil) < Date.parse(value.observedAt)) {
53
+ ctx.addIssue({ code: 'custom', path: ['validUntil'], message: 'validUntil must not precede observedAt' });
54
+ }
55
+ if (value.kind === 'SIGNAL_GENERATION' && (value.version !== 1 || value.status !== 'GENERATED')) {
56
+ ctx.addIssue({ code: 'custom', path: ['version'], message: 'Signal generations are immutable generated artifacts at version 1' });
57
+ }
58
+ if (['KNOWLEDGE', 'INSIGHT'].includes(value.kind) && value.status === 'GENERATED') {
59
+ ctx.addIssue({ code: 'custom', path: ['status'], message: 'Knowledge/Insight cannot use GENERATED status' });
60
+ }
61
+ });
62
+ export const artifactWriteMetadataSchema = z.object({
63
+ schemaVersion: schemaVersionSchema,
64
+ artifactId: artifactIdSchema,
65
+ kind: artifactKindSchema,
66
+ projectKey: projectKeySchema,
67
+ projectRef: stableUriSchema.optional(),
68
+ version: z.number().int().positive(),
69
+ status: artifactStatusSchema,
70
+ access: accessClassificationSchema.default('INTERNAL'),
71
+ title: z.string().trim().min(1).max(500).optional(),
72
+ createdAt: isoDateTimeSchema,
73
+ observedAt: isoDateTimeSchema.nullable().default(null),
74
+ validUntil: isoDateTimeSchema.nullable().default(null),
75
+ mediaType: z.string().trim().min(1).max(256),
76
+ evidenceRefs: z.array(stableUriSchema).max(256).default([]),
77
+ relatedRefs: z.array(stableUriSchema).max(256).default([]),
78
+ supersedesRef: stableUriSchema.nullable().default(null),
79
+ }).strict().superRefine((value, ctx) => {
80
+ if (value.validUntil && value.observedAt && Date.parse(value.validUntil) < Date.parse(value.observedAt)) {
81
+ ctx.addIssue({ code: 'custom', path: ['validUntil'], message: 'validUntil must not precede observedAt' });
82
+ }
83
+ if (value.kind === 'SIGNAL_GENERATION') {
84
+ ctx.addIssue({ code: 'custom', path: ['kind'], message: 'Signal generations are produced only by the signal composer' });
85
+ }
86
+ if (value.kind === 'REVIEW') {
87
+ ctx.addIssue({ code: 'custom', path: ['kind'], message: 'Review artifacts are produced only by the review lifecycle' });
88
+ }
89
+ if (['KNOWLEDGE', 'INSIGHT'].includes(value.kind) && value.status !== 'DRAFT') {
90
+ ctx.addIssue({ code: 'custom', path: ['status'], message: 'Knowledge/Insight manual writes must enter as DRAFT' });
91
+ }
92
+ if (value.kind === 'RESEARCH' && value.status !== 'DRAFT') {
93
+ ctx.addIssue({ code: 'custom', path: ['status'], message: 'Research manual writes must enter as DRAFT' });
94
+ }
95
+ });
96
+ export const reviewDecisionSchema = z.object({
97
+ schemaVersion: schemaVersionSchema,
98
+ targetRef: stableUriSchema,
99
+ decision: z.enum(['PASS', 'REWORK', 'REJECT']),
100
+ reviewedAt: isoDateTimeSchema,
101
+ summary: z.string().trim().min(1).max(16000),
102
+ evidenceRefs: z.array(stableUriSchema).max(256).default([]),
103
+ }).strict();
@@ -0,0 +1,160 @@
1
+ import { z } from 'zod';
2
+ export declare const knowledgeControlScopeSchema: z.ZodEnum<{
3
+ "knowledge.read": "knowledge.read";
4
+ "knowledge.collect": "knowledge.collect";
5
+ "knowledge.source.manage": "knowledge.source.manage";
6
+ "knowledge.review": "knowledge.review";
7
+ "knowledge.publish": "knowledge.publish";
8
+ }>;
9
+ export declare const collectionControlRequestIdSchema: z.ZodString;
10
+ export declare const collectionControlCreateRequestSchema: z.ZodPipe<z.ZodObject<{
11
+ projectKey: z.ZodString;
12
+ requestId: z.ZodString;
13
+ sourceIds: z.ZodArray<z.ZodString>;
14
+ }, z.core.$strict>, z.ZodTransform<{
15
+ sourceIds: string[];
16
+ projectKey: string;
17
+ requestId: string;
18
+ }, {
19
+ projectKey: string;
20
+ requestId: string;
21
+ sourceIds: string[];
22
+ }>>;
23
+ export declare const collectionControlAuditSchema: z.ZodObject<{
24
+ schemaVersion: z.ZodLiteral<1>;
25
+ projectKey: z.ZodString;
26
+ requestId: z.ZodString;
27
+ batchId: z.ZodString;
28
+ batchRef: z.ZodString;
29
+ tenantId: z.ZodString;
30
+ clientId: z.ZodString;
31
+ requestedAt: z.ZodISODateTime;
32
+ sourceIds: z.ZodArray<z.ZodString>;
33
+ sourceRevisionRefs: z.ZodArray<z.ZodString>;
34
+ admission: z.ZodLiteral<"ACCEPTED">;
35
+ }, z.core.$strict>;
36
+ export declare const collectionControlStatusSchema: z.ZodEnum<{
37
+ PENDING: "PENDING";
38
+ SUCCEEDED: "SUCCEEDED";
39
+ PARTIAL: "PARTIAL";
40
+ FAILED: "FAILED";
41
+ }>;
42
+ export declare const collectionControlRunSummarySchema: z.ZodObject<{
43
+ runId: z.ZodString;
44
+ runtimeNodeId: z.ZodString;
45
+ startedAt: z.ZodISODateTime;
46
+ finishedAt: z.ZodISODateTime;
47
+ status: z.ZodEnum<{
48
+ SUCCEEDED: "SUCCEEDED";
49
+ PARTIAL: "PARTIAL";
50
+ FAILED: "FAILED";
51
+ }>;
52
+ }, z.core.$strict>;
53
+ export declare const collectionControlRequestProjectionSchema: z.ZodObject<{
54
+ schemaVersion: z.ZodLiteral<1>;
55
+ projectKey: z.ZodString;
56
+ requestId: z.ZodString;
57
+ batchId: z.ZodString;
58
+ batchRef: z.ZodString;
59
+ trigger: z.ZodLiteral<"MANUAL">;
60
+ status: z.ZodEnum<{
61
+ PENDING: "PENDING";
62
+ SUCCEEDED: "SUCCEEDED";
63
+ PARTIAL: "PARTIAL";
64
+ FAILED: "FAILED";
65
+ }>;
66
+ requestedAt: z.ZodISODateTime;
67
+ requestedBy: z.ZodObject<{
68
+ tenantId: z.ZodString;
69
+ clientId: z.ZodString;
70
+ }, z.core.$strict>;
71
+ sourceIds: z.ZodArray<z.ZodString>;
72
+ sourceRevisionRefs: z.ZodArray<z.ZodString>;
73
+ run: z.ZodNullable<z.ZodObject<{
74
+ runId: z.ZodString;
75
+ runtimeNodeId: z.ZodString;
76
+ startedAt: z.ZodISODateTime;
77
+ finishedAt: z.ZodISODateTime;
78
+ status: z.ZodEnum<{
79
+ SUCCEEDED: "SUCCEEDED";
80
+ PARTIAL: "PARTIAL";
81
+ FAILED: "FAILED";
82
+ }>;
83
+ }, z.core.$strict>>;
84
+ }, z.core.$strict>;
85
+ export declare const collectionControlCreateResponseSchema: z.ZodObject<{
86
+ schemaVersion: z.ZodLiteral<1>;
87
+ inserted: z.ZodBoolean;
88
+ request: z.ZodObject<{
89
+ schemaVersion: z.ZodLiteral<1>;
90
+ projectKey: z.ZodString;
91
+ requestId: z.ZodString;
92
+ batchId: z.ZodString;
93
+ batchRef: z.ZodString;
94
+ trigger: z.ZodLiteral<"MANUAL">;
95
+ status: z.ZodEnum<{
96
+ PENDING: "PENDING";
97
+ SUCCEEDED: "SUCCEEDED";
98
+ PARTIAL: "PARTIAL";
99
+ FAILED: "FAILED";
100
+ }>;
101
+ requestedAt: z.ZodISODateTime;
102
+ requestedBy: z.ZodObject<{
103
+ tenantId: z.ZodString;
104
+ clientId: z.ZodString;
105
+ }, z.core.$strict>;
106
+ sourceIds: z.ZodArray<z.ZodString>;
107
+ sourceRevisionRefs: z.ZodArray<z.ZodString>;
108
+ run: z.ZodNullable<z.ZodObject<{
109
+ runId: z.ZodString;
110
+ runtimeNodeId: z.ZodString;
111
+ startedAt: z.ZodISODateTime;
112
+ finishedAt: z.ZodISODateTime;
113
+ status: z.ZodEnum<{
114
+ SUCCEEDED: "SUCCEEDED";
115
+ PARTIAL: "PARTIAL";
116
+ FAILED: "FAILED";
117
+ }>;
118
+ }, z.core.$strict>>;
119
+ }, z.core.$strict>;
120
+ }, z.core.$strict>;
121
+ export declare const collectionControlGetResponseSchema: z.ZodObject<{
122
+ schemaVersion: z.ZodLiteral<1>;
123
+ request: z.ZodObject<{
124
+ schemaVersion: z.ZodLiteral<1>;
125
+ projectKey: z.ZodString;
126
+ requestId: z.ZodString;
127
+ batchId: z.ZodString;
128
+ batchRef: z.ZodString;
129
+ trigger: z.ZodLiteral<"MANUAL">;
130
+ status: z.ZodEnum<{
131
+ PENDING: "PENDING";
132
+ SUCCEEDED: "SUCCEEDED";
133
+ PARTIAL: "PARTIAL";
134
+ FAILED: "FAILED";
135
+ }>;
136
+ requestedAt: z.ZodISODateTime;
137
+ requestedBy: z.ZodObject<{
138
+ tenantId: z.ZodString;
139
+ clientId: z.ZodString;
140
+ }, z.core.$strict>;
141
+ sourceIds: z.ZodArray<z.ZodString>;
142
+ sourceRevisionRefs: z.ZodArray<z.ZodString>;
143
+ run: z.ZodNullable<z.ZodObject<{
144
+ runId: z.ZodString;
145
+ runtimeNodeId: z.ZodString;
146
+ startedAt: z.ZodISODateTime;
147
+ finishedAt: z.ZodISODateTime;
148
+ status: z.ZodEnum<{
149
+ SUCCEEDED: "SUCCEEDED";
150
+ PARTIAL: "PARTIAL";
151
+ FAILED: "FAILED";
152
+ }>;
153
+ }, z.core.$strict>>;
154
+ }, z.core.$strict>;
155
+ }, z.core.$strict>;
156
+ export type KnowledgeControlScope = z.infer<typeof knowledgeControlScopeSchema>;
157
+ export type CollectionControlCreateRequest = z.infer<typeof collectionControlCreateRequestSchema>;
158
+ export type CollectionControlAudit = z.infer<typeof collectionControlAuditSchema>;
159
+ export type CollectionControlStatus = z.infer<typeof collectionControlStatusSchema>;
160
+ export type CollectionControlRequestProjection = z.infer<typeof collectionControlRequestProjectionSchema>;
@@ -0,0 +1,69 @@
1
+ import { z } from 'zod';
2
+ import { idSchema, isoDateTimeSchema, projectKeySchema, schemaVersionSchema, stableUriSchema } from './common.js';
3
+ export const knowledgeControlScopeSchema = z.enum([
4
+ 'knowledge.read',
5
+ 'knowledge.collect',
6
+ 'knowledge.source.manage',
7
+ 'knowledge.review',
8
+ 'knowledge.publish',
9
+ ]);
10
+ export const collectionControlRequestIdSchema = idSchema.regex(/^[A-Za-z0-9][A-Za-z0-9._-]{0,255}$/);
11
+ export const collectionControlCreateRequestSchema = z.object({
12
+ projectKey: projectKeySchema,
13
+ requestId: collectionControlRequestIdSchema,
14
+ sourceIds: z.array(idSchema).min(1).max(1_000),
15
+ }).strict().transform((value) => ({
16
+ ...value,
17
+ sourceIds: [...new Set(value.sourceIds)].sort(),
18
+ }));
19
+ export const collectionControlAuditSchema = z.object({
20
+ schemaVersion: schemaVersionSchema,
21
+ projectKey: projectKeySchema,
22
+ requestId: collectionControlRequestIdSchema,
23
+ batchId: idSchema,
24
+ batchRef: stableUriSchema,
25
+ tenantId: idSchema,
26
+ clientId: idSchema,
27
+ requestedAt: isoDateTimeSchema,
28
+ sourceIds: z.array(idSchema).min(1).max(1_000),
29
+ sourceRevisionRefs: z.array(stableUriSchema).min(1).max(1_000),
30
+ admission: z.literal('ACCEPTED'),
31
+ }).strict().superRefine((value, ctx) => {
32
+ if (value.sourceIds.length !== value.sourceRevisionRefs.length)
33
+ ctx.addIssue({
34
+ code: 'custom',
35
+ path: ['sourceRevisionRefs'],
36
+ message: 'sourceRevisionRefs must align with sourceIds',
37
+ });
38
+ });
39
+ export const collectionControlStatusSchema = z.enum(['PENDING', 'SUCCEEDED', 'PARTIAL', 'FAILED']);
40
+ export const collectionControlRunSummarySchema = z.object({
41
+ runId: idSchema,
42
+ runtimeNodeId: idSchema,
43
+ startedAt: isoDateTimeSchema,
44
+ finishedAt: isoDateTimeSchema,
45
+ status: z.enum(['SUCCEEDED', 'PARTIAL', 'FAILED']),
46
+ }).strict();
47
+ export const collectionControlRequestProjectionSchema = z.object({
48
+ schemaVersion: schemaVersionSchema,
49
+ projectKey: projectKeySchema,
50
+ requestId: collectionControlRequestIdSchema,
51
+ batchId: idSchema,
52
+ batchRef: stableUriSchema,
53
+ trigger: z.literal('MANUAL'),
54
+ status: collectionControlStatusSchema,
55
+ requestedAt: isoDateTimeSchema,
56
+ requestedBy: z.object({ tenantId: idSchema, clientId: idSchema }).strict(),
57
+ sourceIds: z.array(idSchema).min(1).max(1_000),
58
+ sourceRevisionRefs: z.array(stableUriSchema).min(1).max(1_000),
59
+ run: collectionControlRunSummarySchema.nullable(),
60
+ }).strict();
61
+ export const collectionControlCreateResponseSchema = z.object({
62
+ schemaVersion: schemaVersionSchema,
63
+ inserted: z.boolean(),
64
+ request: collectionControlRequestProjectionSchema,
65
+ }).strict();
66
+ export const collectionControlGetResponseSchema = z.object({
67
+ schemaVersion: schemaVersionSchema,
68
+ request: collectionControlRequestProjectionSchema,
69
+ }).strict();
@@ -0,0 +1,263 @@
1
+ import { z } from 'zod';
2
+ export declare const collectionBatchSourceBindingSchema: z.ZodObject<{
3
+ sourceId: z.ZodString;
4
+ sourceRef: z.ZodString;
5
+ sourceRevisionRef: z.ZodString;
6
+ targetId: z.ZodString;
7
+ }, z.core.$strict>;
8
+ /** The collector-facing task deliberately contains no project/source-family semantics. */
9
+ export declare const collectionTaskSchema: z.ZodObject<{
10
+ taskId: z.ZodString;
11
+ targetId: z.ZodString;
12
+ target: z.ZodDiscriminatedUnion<[z.ZodObject<{
13
+ kind: z.ZodLiteral<"URL">;
14
+ locator: z.ZodURL;
15
+ }, z.core.$strict>, z.ZodObject<{
16
+ kind: z.ZodLiteral<"FILE">;
17
+ rootBinding: z.ZodString;
18
+ relativePath: z.ZodString;
19
+ }, z.core.$strict>, z.ZodObject<{
20
+ kind: z.ZodLiteral<"EXECUTOR">;
21
+ executorId: z.ZodString;
22
+ bindingRef: z.ZodDefault<z.ZodNullable<z.ZodString>>;
23
+ parameters: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>>;
24
+ }, z.core.$strict>], "kind">;
25
+ }, z.core.$strict>;
26
+ export declare const collectionBatchTriggerSchema: z.ZodEnum<{
27
+ MANUAL: "MANUAL";
28
+ DUE: "DUE";
29
+ }>;
30
+ export declare const collectionBatchSchema: z.ZodObject<{
31
+ schemaVersion: z.ZodLiteral<1>;
32
+ projectKey: z.ZodString;
33
+ projectRef: z.ZodString;
34
+ projectIntentRef: z.ZodString;
35
+ requestId: z.ZodString;
36
+ batchId: z.ZodString;
37
+ batchRef: z.ZodString;
38
+ trigger: z.ZodDefault<z.ZodEnum<{
39
+ MANUAL: "MANUAL";
40
+ DUE: "DUE";
41
+ }>>;
42
+ createdAt: z.ZodISODateTime;
43
+ sourceBindings: z.ZodArray<z.ZodObject<{
44
+ sourceId: z.ZodString;
45
+ sourceRef: z.ZodString;
46
+ sourceRevisionRef: z.ZodString;
47
+ targetId: z.ZodString;
48
+ }, z.core.$strict>>;
49
+ tasks: z.ZodArray<z.ZodObject<{
50
+ taskId: z.ZodString;
51
+ targetId: z.ZodString;
52
+ target: z.ZodDiscriminatedUnion<[z.ZodObject<{
53
+ kind: z.ZodLiteral<"URL">;
54
+ locator: z.ZodURL;
55
+ }, z.core.$strict>, z.ZodObject<{
56
+ kind: z.ZodLiteral<"FILE">;
57
+ rootBinding: z.ZodString;
58
+ relativePath: z.ZodString;
59
+ }, z.core.$strict>, z.ZodObject<{
60
+ kind: z.ZodLiteral<"EXECUTOR">;
61
+ executorId: z.ZodString;
62
+ bindingRef: z.ZodDefault<z.ZodNullable<z.ZodString>>;
63
+ parameters: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>>;
64
+ }, z.core.$strict>], "kind">;
65
+ }, z.core.$strict>>;
66
+ }, z.core.$strict>;
67
+ export declare const collectorBatchViewSchema: z.ZodObject<{
68
+ schemaVersion: z.ZodLiteral<1>;
69
+ batchId: z.ZodString;
70
+ tasks: z.ZodArray<z.ZodObject<{
71
+ taskId: z.ZodString;
72
+ targetId: z.ZodString;
73
+ target: z.ZodDiscriminatedUnion<[z.ZodObject<{
74
+ kind: z.ZodLiteral<"URL">;
75
+ locator: z.ZodURL;
76
+ }, z.core.$strict>, z.ZodObject<{
77
+ kind: z.ZodLiteral<"FILE">;
78
+ rootBinding: z.ZodString;
79
+ relativePath: z.ZodString;
80
+ }, z.core.$strict>, z.ZodObject<{
81
+ kind: z.ZodLiteral<"EXECUTOR">;
82
+ executorId: z.ZodString;
83
+ bindingRef: z.ZodDefault<z.ZodNullable<z.ZodString>>;
84
+ parameters: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>>;
85
+ }, z.core.$strict>], "kind">;
86
+ }, z.core.$strict>>;
87
+ }, z.core.$strict>;
88
+ export declare const sourceCollectionDueReasonSchema: z.ZodEnum<{
89
+ MANUAL: "MANUAL";
90
+ DISABLED: "DISABLED";
91
+ PENDING_BATCH: "PENDING_BATCH";
92
+ SPECIALIZED_EXECUTOR: "SPECIALIZED_EXECUTOR";
93
+ SPECIALIZED_COLLECTOR: "SPECIALIZED_COLLECTOR";
94
+ NEVER_ATTEMPTED: "NEVER_ATTEMPTED";
95
+ INTERVAL_WAIT: "INTERVAL_WAIT";
96
+ INTERVAL_ELAPSED: "INTERVAL_ELAPSED";
97
+ }>;
98
+ export declare const sourceCollectionDueEntrySchema: z.ZodObject<{
99
+ sourceId: z.ZodString;
100
+ sourceRef: z.ZodString;
101
+ sourceRevisionRef: z.ZodString;
102
+ enabled: z.ZodBoolean;
103
+ refresh: z.ZodDiscriminatedUnion<[z.ZodObject<{
104
+ mode: z.ZodLiteral<"MANUAL">;
105
+ }, z.core.$strict>, z.ZodObject<{
106
+ mode: z.ZodLiteral<"INTERVAL">;
107
+ intervalSeconds: z.ZodNumber;
108
+ }, z.core.$strict>], "mode">;
109
+ lastAttemptAt: z.ZodNullable<z.ZodISODateTime>;
110
+ lastState: z.ZodNullable<z.ZodEnum<{
111
+ ACCESS_CONTROLLED: "ACCESS_CONTROLLED";
112
+ FAILED: "FAILED";
113
+ ACQUIRED: "ACQUIRED";
114
+ HTTP_TERMINAL: "HTTP_TERMINAL";
115
+ }>>;
116
+ lastBatchRef: z.ZodNullable<z.ZodString>;
117
+ lastRunId: z.ZodNullable<z.ZodString>;
118
+ pendingBatchRef: z.ZodNullable<z.ZodString>;
119
+ nextDueAt: z.ZodNullable<z.ZodISODateTime>;
120
+ due: z.ZodBoolean;
121
+ reason: z.ZodEnum<{
122
+ MANUAL: "MANUAL";
123
+ DISABLED: "DISABLED";
124
+ PENDING_BATCH: "PENDING_BATCH";
125
+ SPECIALIZED_EXECUTOR: "SPECIALIZED_EXECUTOR";
126
+ SPECIALIZED_COLLECTOR: "SPECIALIZED_COLLECTOR";
127
+ NEVER_ATTEMPTED: "NEVER_ATTEMPTED";
128
+ INTERVAL_WAIT: "INTERVAL_WAIT";
129
+ INTERVAL_ELAPSED: "INTERVAL_ELAPSED";
130
+ }>;
131
+ }, z.core.$strict>;
132
+ export declare const projectCollectionDuePlanSchema: z.ZodObject<{
133
+ schemaVersion: z.ZodLiteral<1>;
134
+ projectKey: z.ZodString;
135
+ projectRef: z.ZodString;
136
+ projectIntentRef: z.ZodString;
137
+ assessedAt: z.ZodISODateTime;
138
+ sourceCount: z.ZodNumber;
139
+ dueSourceCount: z.ZodNumber;
140
+ dueSourceIds: z.ZodArray<z.ZodString>;
141
+ sources: z.ZodArray<z.ZodObject<{
142
+ sourceId: z.ZodString;
143
+ sourceRef: z.ZodString;
144
+ sourceRevisionRef: z.ZodString;
145
+ enabled: z.ZodBoolean;
146
+ refresh: z.ZodDiscriminatedUnion<[z.ZodObject<{
147
+ mode: z.ZodLiteral<"MANUAL">;
148
+ }, z.core.$strict>, z.ZodObject<{
149
+ mode: z.ZodLiteral<"INTERVAL">;
150
+ intervalSeconds: z.ZodNumber;
151
+ }, z.core.$strict>], "mode">;
152
+ lastAttemptAt: z.ZodNullable<z.ZodISODateTime>;
153
+ lastState: z.ZodNullable<z.ZodEnum<{
154
+ ACCESS_CONTROLLED: "ACCESS_CONTROLLED";
155
+ FAILED: "FAILED";
156
+ ACQUIRED: "ACQUIRED";
157
+ HTTP_TERMINAL: "HTTP_TERMINAL";
158
+ }>>;
159
+ lastBatchRef: z.ZodNullable<z.ZodString>;
160
+ lastRunId: z.ZodNullable<z.ZodString>;
161
+ pendingBatchRef: z.ZodNullable<z.ZodString>;
162
+ nextDueAt: z.ZodNullable<z.ZodISODateTime>;
163
+ due: z.ZodBoolean;
164
+ reason: z.ZodEnum<{
165
+ MANUAL: "MANUAL";
166
+ DISABLED: "DISABLED";
167
+ PENDING_BATCH: "PENDING_BATCH";
168
+ SPECIALIZED_EXECUTOR: "SPECIALIZED_EXECUTOR";
169
+ SPECIALIZED_COLLECTOR: "SPECIALIZED_COLLECTOR";
170
+ NEVER_ATTEMPTED: "NEVER_ATTEMPTED";
171
+ INTERVAL_WAIT: "INTERVAL_WAIT";
172
+ INTERVAL_ELAPSED: "INTERVAL_ELAPSED";
173
+ }>;
174
+ }, z.core.$strict>>;
175
+ }, z.core.$strict>;
176
+ export declare const collectionTaskRunResultSchema: z.ZodObject<{
177
+ taskId: z.ZodString;
178
+ targetId: z.ZodString;
179
+ sourceId: z.ZodString;
180
+ sourceRevisionRef: z.ZodString;
181
+ observedAt: z.ZodISODateTime;
182
+ state: z.ZodEnum<{
183
+ ACCESS_CONTROLLED: "ACCESS_CONTROLLED";
184
+ FAILED: "FAILED";
185
+ ACQUIRED: "ACQUIRED";
186
+ HTTP_TERMINAL: "HTTP_TERMINAL";
187
+ }>;
188
+ finalLocator: z.ZodNullable<z.ZodString>;
189
+ httpStatus: z.ZodNullable<z.ZodNumber>;
190
+ evidenceRef: z.ZodNullable<z.ZodString>;
191
+ contentHash: z.ZodNullable<z.ZodString>;
192
+ byteLength: z.ZodNullable<z.ZodNumber>;
193
+ mediaType: z.ZodNullable<z.ZodString>;
194
+ reusedEvidence: z.ZodBoolean;
195
+ relatedEvidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
196
+ richDocumentRef: z.ZodDefault<z.ZodNullable<z.ZodString>>;
197
+ projectionJobId: z.ZodOptional<z.ZodString>;
198
+ projectionState: z.ZodOptional<z.ZodEnum<{
199
+ PENDING: "PENDING";
200
+ SUCCEEDED: "SUCCEEDED";
201
+ PARTIAL: "PARTIAL";
202
+ FAILED: "FAILED";
203
+ NOT_REQUIRED: "NOT_REQUIRED";
204
+ }>>;
205
+ errorCode: z.ZodNullable<z.ZodString>;
206
+ }, z.core.$strict>;
207
+ export declare const collectionRunReceiptSchema: z.ZodObject<{
208
+ schemaVersion: z.ZodLiteral<1>;
209
+ projectKey: z.ZodString;
210
+ projectRef: z.ZodString;
211
+ batchId: z.ZodString;
212
+ batchRef: z.ZodString;
213
+ runId: z.ZodString;
214
+ runtimeNodeId: z.ZodString;
215
+ startedAt: z.ZodISODateTime;
216
+ finishedAt: z.ZodISODateTime;
217
+ status: z.ZodEnum<{
218
+ SUCCEEDED: "SUCCEEDED";
219
+ PARTIAL: "PARTIAL";
220
+ FAILED: "FAILED";
221
+ }>;
222
+ results: z.ZodArray<z.ZodObject<{
223
+ taskId: z.ZodString;
224
+ targetId: z.ZodString;
225
+ sourceId: z.ZodString;
226
+ sourceRevisionRef: z.ZodString;
227
+ observedAt: z.ZodISODateTime;
228
+ state: z.ZodEnum<{
229
+ ACCESS_CONTROLLED: "ACCESS_CONTROLLED";
230
+ FAILED: "FAILED";
231
+ ACQUIRED: "ACQUIRED";
232
+ HTTP_TERMINAL: "HTTP_TERMINAL";
233
+ }>;
234
+ finalLocator: z.ZodNullable<z.ZodString>;
235
+ httpStatus: z.ZodNullable<z.ZodNumber>;
236
+ evidenceRef: z.ZodNullable<z.ZodString>;
237
+ contentHash: z.ZodNullable<z.ZodString>;
238
+ byteLength: z.ZodNullable<z.ZodNumber>;
239
+ mediaType: z.ZodNullable<z.ZodString>;
240
+ reusedEvidence: z.ZodBoolean;
241
+ relatedEvidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
242
+ richDocumentRef: z.ZodDefault<z.ZodNullable<z.ZodString>>;
243
+ projectionJobId: z.ZodOptional<z.ZodString>;
244
+ projectionState: z.ZodOptional<z.ZodEnum<{
245
+ PENDING: "PENDING";
246
+ SUCCEEDED: "SUCCEEDED";
247
+ PARTIAL: "PARTIAL";
248
+ FAILED: "FAILED";
249
+ NOT_REQUIRED: "NOT_REQUIRED";
250
+ }>>;
251
+ errorCode: z.ZodNullable<z.ZodString>;
252
+ }, z.core.$strict>>;
253
+ }, z.core.$strict>;
254
+ export type SourceCollectionDueReason = z.infer<typeof sourceCollectionDueReasonSchema>;
255
+ export type SourceCollectionDueEntry = z.infer<typeof sourceCollectionDueEntrySchema>;
256
+ export type ProjectCollectionDuePlan = z.infer<typeof projectCollectionDuePlanSchema>;
257
+ export type CollectionBatchTrigger = z.infer<typeof collectionBatchTriggerSchema>;
258
+ export type CollectionBatchSourceBinding = z.infer<typeof collectionBatchSourceBindingSchema>;
259
+ export type CollectionTask = z.infer<typeof collectionTaskSchema>;
260
+ export type CollectionBatch = z.infer<typeof collectionBatchSchema>;
261
+ export type CollectorBatchView = z.infer<typeof collectorBatchViewSchema>;
262
+ export type CollectionTaskRunResult = z.infer<typeof collectionTaskRunResultSchema>;
263
+ export type CollectionRunReceipt = z.infer<typeof collectionRunReceiptSchema>;