@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,380 @@
1
+ import { z } from 'zod';
2
+ export declare const driveRelativePathSchema: z.ZodString;
3
+ export declare const driveArtifactProjectionSchema: z.ZodObject<{
4
+ schemaVersion: z.ZodLiteral<1>;
5
+ projectionType: z.ZodLiteral<"GOOGLE_DRIVE">;
6
+ projectionId: z.ZodString;
7
+ relativePath: z.ZodString;
8
+ projectKey: z.ZodString;
9
+ projectRef: z.ZodOptional<z.ZodString>;
10
+ artifactRef: z.ZodString;
11
+ identityRef: z.ZodString;
12
+ contentHash: z.ZodString;
13
+ mediaType: z.ZodString;
14
+ byteLength: z.ZodNumber;
15
+ artifactKind: z.ZodEnum<{
16
+ SIGNAL_GENERATION: "SIGNAL_GENERATION";
17
+ RESEARCH: "RESEARCH";
18
+ REVIEW: "REVIEW";
19
+ KNOWLEDGE: "KNOWLEDGE";
20
+ INSIGHT: "INSIGHT";
21
+ }>;
22
+ artifactStatus: z.ZodEnum<{
23
+ GENERATED: "GENERATED";
24
+ DRAFT: "DRAFT";
25
+ READY_FOR_REVIEW: "READY_FOR_REVIEW";
26
+ REWORK_REQUIRED: "REWORK_REQUIRED";
27
+ APPROVED: "APPROVED";
28
+ REJECTED: "REJECTED";
29
+ SUPERSEDED: "SUPERSEDED";
30
+ }>;
31
+ artifactVersion: z.ZodNumber;
32
+ }, z.core.$strict>;
33
+ export declare const driveReviewPlaneProjectionSchema: z.ZodObject<{
34
+ schemaVersion: z.ZodLiteral<1>;
35
+ projectionType: z.ZodLiteral<"GOOGLE_DRIVE_REVIEW">;
36
+ projectionId: z.ZodString;
37
+ relativePath: z.ZodString;
38
+ workspaceRoot: z.ZodString;
39
+ reviewStage: z.ZodEnum<{
40
+ REVIEWED: "REVIEWED";
41
+ PROGRAM: "PROGRAM";
42
+ INBOX: "INBOX";
43
+ USER_APPROVED: "USER_APPROVED";
44
+ PROMOTION_RECEIPTS: "PROMOTION_RECEIPTS";
45
+ GUIDES: "GUIDES";
46
+ REJECTED_SUPERSEDED: "REJECTED_SUPERSEDED";
47
+ }>;
48
+ projectKey: z.ZodString;
49
+ projectRef: z.ZodOptional<z.ZodString>;
50
+ artifactRef: z.ZodString;
51
+ identityRef: z.ZodString;
52
+ contentHash: z.ZodString;
53
+ mediaType: z.ZodString;
54
+ byteLength: z.ZodNumber;
55
+ artifactKind: z.ZodEnum<{
56
+ SIGNAL_GENERATION: "SIGNAL_GENERATION";
57
+ RESEARCH: "RESEARCH";
58
+ REVIEW: "REVIEW";
59
+ KNOWLEDGE: "KNOWLEDGE";
60
+ INSIGHT: "INSIGHT";
61
+ }>;
62
+ artifactStatus: z.ZodEnum<{
63
+ GENERATED: "GENERATED";
64
+ DRAFT: "DRAFT";
65
+ READY_FOR_REVIEW: "READY_FOR_REVIEW";
66
+ REWORK_REQUIRED: "REWORK_REQUIRED";
67
+ APPROVED: "APPROVED";
68
+ REJECTED: "REJECTED";
69
+ SUPERSEDED: "SUPERSEDED";
70
+ }>;
71
+ artifactVersion: z.ZodNumber;
72
+ }, z.core.$strict>;
73
+ export declare const driveUploadProjectionSchema: z.ZodUnion<readonly [z.ZodObject<{
74
+ schemaVersion: z.ZodLiteral<1>;
75
+ projectionType: z.ZodLiteral<"GOOGLE_DRIVE">;
76
+ projectionId: z.ZodString;
77
+ relativePath: z.ZodString;
78
+ projectKey: z.ZodString;
79
+ projectRef: z.ZodOptional<z.ZodString>;
80
+ artifactRef: z.ZodString;
81
+ identityRef: z.ZodString;
82
+ contentHash: z.ZodString;
83
+ mediaType: z.ZodString;
84
+ byteLength: z.ZodNumber;
85
+ artifactKind: z.ZodEnum<{
86
+ SIGNAL_GENERATION: "SIGNAL_GENERATION";
87
+ RESEARCH: "RESEARCH";
88
+ REVIEW: "REVIEW";
89
+ KNOWLEDGE: "KNOWLEDGE";
90
+ INSIGHT: "INSIGHT";
91
+ }>;
92
+ artifactStatus: z.ZodEnum<{
93
+ GENERATED: "GENERATED";
94
+ DRAFT: "DRAFT";
95
+ READY_FOR_REVIEW: "READY_FOR_REVIEW";
96
+ REWORK_REQUIRED: "REWORK_REQUIRED";
97
+ APPROVED: "APPROVED";
98
+ REJECTED: "REJECTED";
99
+ SUPERSEDED: "SUPERSEDED";
100
+ }>;
101
+ artifactVersion: z.ZodNumber;
102
+ }, z.core.$strict>, z.ZodObject<{
103
+ schemaVersion: z.ZodLiteral<1>;
104
+ projectionType: z.ZodLiteral<"GOOGLE_DRIVE_REVIEW">;
105
+ projectionId: z.ZodString;
106
+ relativePath: z.ZodString;
107
+ workspaceRoot: z.ZodString;
108
+ reviewStage: z.ZodEnum<{
109
+ REVIEWED: "REVIEWED";
110
+ PROGRAM: "PROGRAM";
111
+ INBOX: "INBOX";
112
+ USER_APPROVED: "USER_APPROVED";
113
+ PROMOTION_RECEIPTS: "PROMOTION_RECEIPTS";
114
+ GUIDES: "GUIDES";
115
+ REJECTED_SUPERSEDED: "REJECTED_SUPERSEDED";
116
+ }>;
117
+ projectKey: z.ZodString;
118
+ projectRef: z.ZodOptional<z.ZodString>;
119
+ artifactRef: z.ZodString;
120
+ identityRef: z.ZodString;
121
+ contentHash: z.ZodString;
122
+ mediaType: z.ZodString;
123
+ byteLength: z.ZodNumber;
124
+ artifactKind: z.ZodEnum<{
125
+ SIGNAL_GENERATION: "SIGNAL_GENERATION";
126
+ RESEARCH: "RESEARCH";
127
+ REVIEW: "REVIEW";
128
+ KNOWLEDGE: "KNOWLEDGE";
129
+ INSIGHT: "INSIGHT";
130
+ }>;
131
+ artifactStatus: z.ZodEnum<{
132
+ GENERATED: "GENERATED";
133
+ DRAFT: "DRAFT";
134
+ READY_FOR_REVIEW: "READY_FOR_REVIEW";
135
+ REWORK_REQUIRED: "REWORK_REQUIRED";
136
+ APPROVED: "APPROVED";
137
+ REJECTED: "REJECTED";
138
+ SUPERSEDED: "SUPERSEDED";
139
+ }>;
140
+ artifactVersion: z.ZodNumber;
141
+ }, z.core.$strict>]>;
142
+ export declare const driveProviderIdSchema: z.ZodString;
143
+ export declare const driveProviderDeliverySchema: z.ZodObject<{
144
+ provider: z.ZodLiteral<"GOOGLE_DRIVE">;
145
+ fileId: z.ZodString;
146
+ mimeType: z.ZodString;
147
+ byteLength: z.ZodNumber;
148
+ md5Checksum: z.ZodString;
149
+ version: z.ZodNullable<z.ZodString>;
150
+ modifiedTime: z.ZodNullable<z.ZodISODateTime>;
151
+ }, z.core.$strict>;
152
+ export declare const driveDeliveryReceiptSchema: z.ZodObject<{
153
+ schemaVersion: z.ZodLiteral<1>;
154
+ projectionId: z.ZodString;
155
+ projectKey: z.ZodString;
156
+ projectRef: z.ZodOptional<z.ZodString>;
157
+ artifactRef: z.ZodString;
158
+ contentHash: z.ZodString;
159
+ relativePath: z.ZodString;
160
+ deliveredAt: z.ZodISODateTime;
161
+ provider: z.ZodObject<{
162
+ provider: z.ZodLiteral<"GOOGLE_DRIVE">;
163
+ fileId: z.ZodString;
164
+ mimeType: z.ZodString;
165
+ byteLength: z.ZodNumber;
166
+ md5Checksum: z.ZodString;
167
+ version: z.ZodNullable<z.ZodString>;
168
+ modifiedTime: z.ZodNullable<z.ZodISODateTime>;
169
+ }, z.core.$strict>;
170
+ }, z.core.$strict>;
171
+ export declare const driveUploadFolderBindingSchema: z.ZodObject<{
172
+ relativePath: z.ZodString;
173
+ name: z.ZodString;
174
+ parentFileId: z.ZodString;
175
+ fileId: z.ZodString;
176
+ disposition: z.ZodEnum<{
177
+ EXISTING: "EXISTING";
178
+ RESERVED: "RESERVED";
179
+ }>;
180
+ }, z.core.$strict>;
181
+ export declare const driveUploadFileBindingSchema: z.ZodObject<{
182
+ name: z.ZodString;
183
+ parentFileId: z.ZodString;
184
+ fileId: z.ZodString;
185
+ disposition: z.ZodEnum<{
186
+ EXISTING: "EXISTING";
187
+ RESERVED: "RESERVED";
188
+ }>;
189
+ }, z.core.$strict>;
190
+ export declare const driveUploadIntentSchema: z.ZodObject<{
191
+ schemaVersion: z.ZodLiteral<1>;
192
+ projectionId: z.ZodString;
193
+ projectKey: z.ZodString;
194
+ projectRef: z.ZodOptional<z.ZodString>;
195
+ artifactRef: z.ZodString;
196
+ contentHash: z.ZodString;
197
+ relativePath: z.ZodString;
198
+ rootParentFolderId: z.ZodString;
199
+ sharedDriveId: z.ZodNullable<z.ZodString>;
200
+ reservedAt: z.ZodISODateTime;
201
+ folders: z.ZodArray<z.ZodObject<{
202
+ relativePath: z.ZodString;
203
+ name: z.ZodString;
204
+ parentFileId: z.ZodString;
205
+ fileId: z.ZodString;
206
+ disposition: z.ZodEnum<{
207
+ EXISTING: "EXISTING";
208
+ RESERVED: "RESERVED";
209
+ }>;
210
+ }, z.core.$strict>>;
211
+ file: z.ZodObject<{
212
+ name: z.ZodString;
213
+ parentFileId: z.ZodString;
214
+ fileId: z.ZodString;
215
+ disposition: z.ZodEnum<{
216
+ EXISTING: "EXISTING";
217
+ RESERVED: "RESERVED";
218
+ }>;
219
+ }, z.core.$strict>;
220
+ }, z.core.$strict>;
221
+ export declare const driveProjectionOutboxEntrySchema: z.ZodObject<{
222
+ schemaVersion: z.ZodLiteral<1>;
223
+ deliveryId: z.ZodString;
224
+ state: z.ZodEnum<{
225
+ PENDING: "PENDING";
226
+ BLOCKED: "BLOCKED";
227
+ DELIVERED: "DELIVERED";
228
+ FAILED_RETRYABLE: "FAILED_RETRYABLE";
229
+ FAILED_TERMINAL: "FAILED_TERMINAL";
230
+ }>;
231
+ projection: z.ZodUnion<readonly [z.ZodObject<{
232
+ schemaVersion: z.ZodLiteral<1>;
233
+ projectionType: z.ZodLiteral<"GOOGLE_DRIVE">;
234
+ projectionId: z.ZodString;
235
+ relativePath: z.ZodString;
236
+ projectKey: z.ZodString;
237
+ projectRef: z.ZodOptional<z.ZodString>;
238
+ artifactRef: z.ZodString;
239
+ identityRef: z.ZodString;
240
+ contentHash: z.ZodString;
241
+ mediaType: z.ZodString;
242
+ byteLength: z.ZodNumber;
243
+ artifactKind: z.ZodEnum<{
244
+ SIGNAL_GENERATION: "SIGNAL_GENERATION";
245
+ RESEARCH: "RESEARCH";
246
+ REVIEW: "REVIEW";
247
+ KNOWLEDGE: "KNOWLEDGE";
248
+ INSIGHT: "INSIGHT";
249
+ }>;
250
+ artifactStatus: z.ZodEnum<{
251
+ GENERATED: "GENERATED";
252
+ DRAFT: "DRAFT";
253
+ READY_FOR_REVIEW: "READY_FOR_REVIEW";
254
+ REWORK_REQUIRED: "REWORK_REQUIRED";
255
+ APPROVED: "APPROVED";
256
+ REJECTED: "REJECTED";
257
+ SUPERSEDED: "SUPERSEDED";
258
+ }>;
259
+ artifactVersion: z.ZodNumber;
260
+ }, z.core.$strict>, z.ZodObject<{
261
+ schemaVersion: z.ZodLiteral<1>;
262
+ projectionType: z.ZodLiteral<"GOOGLE_DRIVE_REVIEW">;
263
+ projectionId: z.ZodString;
264
+ relativePath: z.ZodString;
265
+ workspaceRoot: z.ZodString;
266
+ reviewStage: z.ZodEnum<{
267
+ REVIEWED: "REVIEWED";
268
+ PROGRAM: "PROGRAM";
269
+ INBOX: "INBOX";
270
+ USER_APPROVED: "USER_APPROVED";
271
+ PROMOTION_RECEIPTS: "PROMOTION_RECEIPTS";
272
+ GUIDES: "GUIDES";
273
+ REJECTED_SUPERSEDED: "REJECTED_SUPERSEDED";
274
+ }>;
275
+ projectKey: z.ZodString;
276
+ projectRef: z.ZodOptional<z.ZodString>;
277
+ artifactRef: z.ZodString;
278
+ identityRef: z.ZodString;
279
+ contentHash: z.ZodString;
280
+ mediaType: z.ZodString;
281
+ byteLength: z.ZodNumber;
282
+ artifactKind: z.ZodEnum<{
283
+ SIGNAL_GENERATION: "SIGNAL_GENERATION";
284
+ RESEARCH: "RESEARCH";
285
+ REVIEW: "REVIEW";
286
+ KNOWLEDGE: "KNOWLEDGE";
287
+ INSIGHT: "INSIGHT";
288
+ }>;
289
+ artifactStatus: z.ZodEnum<{
290
+ GENERATED: "GENERATED";
291
+ DRAFT: "DRAFT";
292
+ READY_FOR_REVIEW: "READY_FOR_REVIEW";
293
+ REWORK_REQUIRED: "REWORK_REQUIRED";
294
+ APPROVED: "APPROVED";
295
+ REJECTED: "REJECTED";
296
+ SUPERSEDED: "SUPERSEDED";
297
+ }>;
298
+ artifactVersion: z.ZodNumber;
299
+ }, z.core.$strict>]>;
300
+ outboxDirectory: z.ZodString;
301
+ descriptorPath: z.ZodString;
302
+ payloadPath: z.ZodString;
303
+ uploadIntentPath: z.ZodNullable<z.ZodString>;
304
+ uploadIntent: z.ZodNullable<z.ZodObject<{
305
+ schemaVersion: z.ZodLiteral<1>;
306
+ projectionId: z.ZodString;
307
+ projectKey: z.ZodString;
308
+ projectRef: z.ZodOptional<z.ZodString>;
309
+ artifactRef: z.ZodString;
310
+ contentHash: z.ZodString;
311
+ relativePath: z.ZodString;
312
+ rootParentFolderId: z.ZodString;
313
+ sharedDriveId: z.ZodNullable<z.ZodString>;
314
+ reservedAt: z.ZodISODateTime;
315
+ folders: z.ZodArray<z.ZodObject<{
316
+ relativePath: z.ZodString;
317
+ name: z.ZodString;
318
+ parentFileId: z.ZodString;
319
+ fileId: z.ZodString;
320
+ disposition: z.ZodEnum<{
321
+ EXISTING: "EXISTING";
322
+ RESERVED: "RESERVED";
323
+ }>;
324
+ }, z.core.$strict>>;
325
+ file: z.ZodObject<{
326
+ name: z.ZodString;
327
+ parentFileId: z.ZodString;
328
+ fileId: z.ZodString;
329
+ disposition: z.ZodEnum<{
330
+ EXISTING: "EXISTING";
331
+ RESERVED: "RESERVED";
332
+ }>;
333
+ }, z.core.$strict>;
334
+ }, z.core.$strict>>;
335
+ deliveryPath: z.ZodNullable<z.ZodString>;
336
+ delivery: z.ZodNullable<z.ZodObject<{
337
+ schemaVersion: z.ZodLiteral<1>;
338
+ projectionId: z.ZodString;
339
+ projectKey: z.ZodString;
340
+ projectRef: z.ZodOptional<z.ZodString>;
341
+ artifactRef: z.ZodString;
342
+ contentHash: z.ZodString;
343
+ relativePath: z.ZodString;
344
+ deliveredAt: z.ZodISODateTime;
345
+ provider: z.ZodObject<{
346
+ provider: z.ZodLiteral<"GOOGLE_DRIVE">;
347
+ fileId: z.ZodString;
348
+ mimeType: z.ZodString;
349
+ byteLength: z.ZodNumber;
350
+ md5Checksum: z.ZodString;
351
+ version: z.ZodNullable<z.ZodString>;
352
+ modifiedTime: z.ZodNullable<z.ZodISODateTime>;
353
+ }, z.core.$strict>;
354
+ }, z.core.$strict>>;
355
+ }, z.core.$strict>;
356
+ export declare const driveProjectionStagingReceiptSchema: z.ZodObject<{
357
+ schemaVersion: z.ZodLiteral<1>;
358
+ deliveryId: z.ZodString;
359
+ projectionId: z.ZodString;
360
+ projectRef: z.ZodOptional<z.ZodString>;
361
+ artifactRef: z.ZodString;
362
+ contentHash: z.ZodString;
363
+ relativePath: z.ZodString;
364
+ runtimeNodeId: z.ZodString;
365
+ stagedAt: z.ZodISODateTime;
366
+ outboxDirectory: z.ZodString;
367
+ descriptorPath: z.ZodString;
368
+ payloadPath: z.ZodString;
369
+ reused: z.ZodBoolean;
370
+ }, z.core.$strict>;
371
+ export type DriveArtifactProjection = z.infer<typeof driveArtifactProjectionSchema>;
372
+ export type DriveReviewPlaneProjection = z.infer<typeof driveReviewPlaneProjectionSchema>;
373
+ export type DriveUploadProjection = z.infer<typeof driveUploadProjectionSchema>;
374
+ export type DriveProviderDelivery = z.infer<typeof driveProviderDeliverySchema>;
375
+ export type DriveUploadFolderBinding = z.infer<typeof driveUploadFolderBindingSchema>;
376
+ export type DriveUploadFileBinding = z.infer<typeof driveUploadFileBindingSchema>;
377
+ export type DriveUploadIntent = z.infer<typeof driveUploadIntentSchema>;
378
+ export type DriveDeliveryReceipt = z.infer<typeof driveDeliveryReceiptSchema>;
379
+ export type DriveProjectionStagingReceipt = z.infer<typeof driveProjectionStagingReceiptSchema>;
380
+ export type DriveProjectionOutboxEntry = z.infer<typeof driveProjectionOutboxEntrySchema>;
@@ -0,0 +1,194 @@
1
+ import { z } from 'zod';
2
+ import { artifactKindSchema, artifactStatusSchema } from './artifact.js';
3
+ import { idSchema, isoDateTimeSchema, projectKeySchema, schemaVersionSchema, sha256Schema, stableUriSchema } from './common.js';
4
+ export const driveRelativePathSchema = z.string().trim().min(1).max(2048).refine((value) => {
5
+ if (value.startsWith('/') || value.startsWith('\\'))
6
+ return false;
7
+ if (value.includes('\\'))
8
+ return false;
9
+ return !value.split('/').some((part) => !part || part === '.' || part === '..');
10
+ }, 'Drive relative path must be normalized and traversal-free');
11
+ export const driveArtifactProjectionSchema = z.object({
12
+ schemaVersion: schemaVersionSchema,
13
+ projectionType: z.literal('GOOGLE_DRIVE'),
14
+ projectionId: sha256Schema,
15
+ relativePath: driveRelativePathSchema,
16
+ projectKey: projectKeySchema,
17
+ projectRef: stableUriSchema.optional(),
18
+ artifactRef: stableUriSchema,
19
+ identityRef: stableUriSchema,
20
+ contentHash: sha256Schema,
21
+ mediaType: z.string().trim().min(1).max(256),
22
+ byteLength: z.number().int().nonnegative(),
23
+ artifactKind: artifactKindSchema,
24
+ artifactStatus: artifactStatusSchema,
25
+ artifactVersion: z.number().int().positive(),
26
+ }).strict().superRefine((value, ctx) => {
27
+ if (!value.relativePath.startsWith(`Knowledge V2/${value.projectKey}/`))
28
+ ctx.addIssue({ code: 'custom', path: ['relativePath'], message: 'Drive path project must match projectKey' });
29
+ if (value.projectRef) {
30
+ try {
31
+ const project = new URL(value.projectRef);
32
+ if (project.protocol !== 'knowledge-project:' || project.hostname.toLowerCase() !== value.projectKey.toLowerCase())
33
+ ctx.addIssue({ code: 'custom', path: ['projectRef'], message: 'projectRef project must match projectKey' });
34
+ }
35
+ catch {
36
+ ctx.addIssue({ code: 'custom', path: ['projectRef'], message: 'Invalid projectRef' });
37
+ }
38
+ }
39
+ try {
40
+ const artifact = new URL(value.artifactRef);
41
+ const identity = new URL(value.identityRef);
42
+ if (artifact.hostname.toLowerCase() !== value.projectKey.toLowerCase() || identity.hostname.toLowerCase() !== value.projectKey.toLowerCase())
43
+ ctx.addIssue({ code: 'custom', path: ['artifactRef'], message: 'Artifact refs must match projectKey' });
44
+ }
45
+ catch {
46
+ ctx.addIssue({ code: 'custom', path: ['artifactRef'], message: 'Artifact refs must be valid stable URLs' });
47
+ }
48
+ });
49
+ export const driveReviewPlaneProjectionSchema = z.object({
50
+ schemaVersion: schemaVersionSchema,
51
+ projectionType: z.literal('GOOGLE_DRIVE_REVIEW'),
52
+ projectionId: sha256Schema,
53
+ relativePath: driveRelativePathSchema,
54
+ workspaceRoot: driveRelativePathSchema,
55
+ reviewStage: z.enum(['PROGRAM', 'INBOX', 'REVIEWED', 'USER_APPROVED', 'PROMOTION_RECEIPTS', 'GUIDES', 'REJECTED_SUPERSEDED']),
56
+ projectKey: projectKeySchema,
57
+ projectRef: stableUriSchema.optional(),
58
+ artifactRef: stableUriSchema,
59
+ identityRef: stableUriSchema,
60
+ contentHash: sha256Schema,
61
+ mediaType: z.string().trim().min(1).max(256),
62
+ byteLength: z.number().int().nonnegative(),
63
+ artifactKind: artifactKindSchema,
64
+ artifactStatus: artifactStatusSchema,
65
+ artifactVersion: z.number().int().positive(),
66
+ }).strict().superRefine((value, ctx) => {
67
+ if (!value.relativePath.startsWith(`${value.workspaceRoot}/`))
68
+ ctx.addIssue({ code: 'custom', path: ['relativePath'], message: 'Review projection path must stay under workspaceRoot' });
69
+ if (value.projectRef) {
70
+ try {
71
+ const project = new URL(value.projectRef);
72
+ if (project.protocol !== 'knowledge-project:' || project.hostname.toLowerCase() !== value.projectKey.toLowerCase())
73
+ ctx.addIssue({ code: 'custom', path: ['projectRef'], message: 'projectRef project must match projectKey' });
74
+ }
75
+ catch {
76
+ ctx.addIssue({ code: 'custom', path: ['projectRef'], message: 'Invalid projectRef' });
77
+ }
78
+ }
79
+ try {
80
+ const artifact = new URL(value.artifactRef);
81
+ const identity = new URL(value.identityRef);
82
+ if (artifact.hostname.toLowerCase() !== value.projectKey.toLowerCase() || identity.hostname.toLowerCase() !== value.projectKey.toLowerCase())
83
+ ctx.addIssue({ code: 'custom', path: ['artifactRef'], message: 'Artifact refs must match projectKey' });
84
+ }
85
+ catch {
86
+ ctx.addIssue({ code: 'custom', path: ['artifactRef'], message: 'Artifact refs must be valid stable URLs' });
87
+ }
88
+ });
89
+ export const driveUploadProjectionSchema = z.union([driveArtifactProjectionSchema, driveReviewPlaneProjectionSchema]);
90
+ export const driveProviderIdSchema = z.string().trim().regex(/^[A-Za-z0-9_-]{10,512}$/);
91
+ export const driveProviderDeliverySchema = z.object({
92
+ provider: z.literal('GOOGLE_DRIVE'),
93
+ fileId: driveProviderIdSchema,
94
+ mimeType: z.string().trim().min(1).max(256),
95
+ byteLength: z.number().int().nonnegative(),
96
+ md5Checksum: z.string().regex(/^[a-f0-9]{32}$/),
97
+ version: z.string().trim().min(1).max(128).nullable(),
98
+ modifiedTime: isoDateTimeSchema.nullable(),
99
+ }).strict();
100
+ export const driveDeliveryReceiptSchema = z.object({
101
+ schemaVersion: schemaVersionSchema,
102
+ projectionId: sha256Schema,
103
+ projectKey: projectKeySchema,
104
+ projectRef: stableUriSchema.optional(),
105
+ artifactRef: stableUriSchema,
106
+ contentHash: sha256Schema,
107
+ relativePath: driveRelativePathSchema,
108
+ deliveredAt: isoDateTimeSchema,
109
+ provider: driveProviderDeliverySchema,
110
+ }).strict().superRefine((value, ctx) => {
111
+ if (value.projectRef) {
112
+ try {
113
+ const project = new URL(value.projectRef);
114
+ if (project.protocol !== 'knowledge-project:' || project.hostname.toLowerCase() !== value.projectKey.toLowerCase())
115
+ ctx.addIssue({ code: 'custom', path: ['projectRef'], message: 'projectRef project must match projectKey' });
116
+ }
117
+ catch {
118
+ ctx.addIssue({ code: 'custom', path: ['projectRef'], message: 'Invalid projectRef' });
119
+ }
120
+ }
121
+ });
122
+ export const driveUploadFolderBindingSchema = z.object({
123
+ relativePath: driveRelativePathSchema,
124
+ name: z.string().trim().min(1).max(255),
125
+ parentFileId: driveProviderIdSchema,
126
+ fileId: driveProviderIdSchema,
127
+ disposition: z.enum(['EXISTING', 'RESERVED']),
128
+ }).strict();
129
+ export const driveUploadFileBindingSchema = z.object({
130
+ name: z.string().trim().min(1).max(255),
131
+ parentFileId: driveProviderIdSchema,
132
+ fileId: driveProviderIdSchema,
133
+ disposition: z.enum(['EXISTING', 'RESERVED']),
134
+ }).strict();
135
+ export const driveUploadIntentSchema = z.object({
136
+ schemaVersion: schemaVersionSchema,
137
+ projectionId: sha256Schema,
138
+ projectKey: projectKeySchema,
139
+ projectRef: stableUriSchema.optional(),
140
+ artifactRef: stableUriSchema,
141
+ contentHash: sha256Schema,
142
+ relativePath: driveRelativePathSchema,
143
+ rootParentFolderId: driveProviderIdSchema,
144
+ sharedDriveId: driveProviderIdSchema.nullable(),
145
+ reservedAt: isoDateTimeSchema,
146
+ folders: z.array(driveUploadFolderBindingSchema).max(32),
147
+ file: driveUploadFileBindingSchema,
148
+ }).strict().superRefine((value, ctx) => {
149
+ if (value.projectRef) {
150
+ try {
151
+ const project = new URL(value.projectRef);
152
+ if (project.protocol !== 'knowledge-project:' || project.hostname.toLowerCase() !== value.projectKey.toLowerCase())
153
+ ctx.addIssue({ code: 'custom', path: ['projectRef'], message: 'projectRef project must match projectKey' });
154
+ }
155
+ catch {
156
+ ctx.addIssue({ code: 'custom', path: ['projectRef'], message: 'Invalid projectRef' });
157
+ }
158
+ }
159
+ });
160
+ export const driveProjectionOutboxEntrySchema = z.object({
161
+ schemaVersion: schemaVersionSchema,
162
+ deliveryId: sha256Schema,
163
+ state: z.enum(['PENDING', 'DELIVERED', 'BLOCKED', 'FAILED_RETRYABLE', 'FAILED_TERMINAL']),
164
+ projection: driveUploadProjectionSchema,
165
+ outboxDirectory: z.string().trim().min(1).max(4096).startsWith('/'),
166
+ descriptorPath: z.string().trim().min(1).max(4096).startsWith('/'),
167
+ payloadPath: z.string().trim().min(1).max(4096).startsWith('/'),
168
+ uploadIntentPath: z.string().trim().min(1).max(4096).startsWith('/').nullable(),
169
+ uploadIntent: driveUploadIntentSchema.nullable(),
170
+ deliveryPath: z.string().trim().min(1).max(4096).startsWith('/').nullable(),
171
+ delivery: driveDeliveryReceiptSchema.nullable(),
172
+ }).strict().superRefine((value, ctx) => {
173
+ if ((value.uploadIntentPath === null) !== (value.uploadIntent === null))
174
+ ctx.addIssue({ code: 'custom', path: ['uploadIntent'], message: 'upload intent path/value must appear together' });
175
+ if (value.state !== 'DELIVERED' && (value.deliveryPath !== null || value.delivery !== null))
176
+ ctx.addIssue({ code: 'custom', path: ['delivery'], message: 'Only DELIVERED entry may carry Drive provider delivery' });
177
+ if (value.state === 'DELIVERED' && (value.deliveryPath === null || value.delivery === null))
178
+ ctx.addIssue({ code: 'custom', path: ['delivery'], message: 'DELIVERED entry requires delivery' });
179
+ });
180
+ export const driveProjectionStagingReceiptSchema = z.object({
181
+ schemaVersion: schemaVersionSchema,
182
+ deliveryId: sha256Schema,
183
+ projectionId: sha256Schema,
184
+ projectRef: stableUriSchema.optional(),
185
+ artifactRef: stableUriSchema,
186
+ contentHash: sha256Schema,
187
+ relativePath: driveRelativePathSchema,
188
+ runtimeNodeId: idSchema,
189
+ stagedAt: isoDateTimeSchema,
190
+ outboxDirectory: z.string().trim().min(1).max(4096).startsWith('/'),
191
+ descriptorPath: z.string().trim().min(1).max(4096).startsWith('/'),
192
+ payloadPath: z.string().trim().min(1).max(4096).startsWith('/'),
193
+ reused: z.boolean(),
194
+ }).strict();