@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,286 @@
1
+ /** 新 Tenant 管理输入与操作归因;身份/actor/来源 origin 不能由正文注入。 */
2
+ import { z } from 'zod';
3
+ export declare const tenantManagementRequestIdSchema: z.ZodString;
4
+ export declare const tenantInvocationAuthoritySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5
+ type: z.ZodLiteral<"HOST">;
6
+ }, z.core.$strict>, z.ZodObject<{
7
+ type: z.ZodLiteral<"OAUTH">;
8
+ authorityVersion: z.ZodLiteral<2>;
9
+ clientId: z.ZodString;
10
+ grantId: z.ZodString;
11
+ resource: z.ZodString;
12
+ }, z.core.$strict>], "type">;
13
+ export declare function tenantOperationRef(tenantId: string, requestId: string): string;
14
+ export declare const tenantManagementIntentSchema: z.ZodObject<{
15
+ schemaVersion: z.ZodLiteral<1>;
16
+ requestId: z.ZodString;
17
+ tenantId: z.ZodString;
18
+ ref: z.ZodString;
19
+ action: z.ZodString;
20
+ inputHash: z.ZodString;
21
+ actor: z.ZodObject<{
22
+ tenantId: z.ZodString;
23
+ userId: z.ZodString;
24
+ agentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
25
+ }, z.core.$strict>;
26
+ authority: z.ZodDiscriminatedUnion<[z.ZodObject<{
27
+ type: z.ZodLiteral<"HOST">;
28
+ }, z.core.$strict>, z.ZodObject<{
29
+ type: z.ZodLiteral<"OAUTH">;
30
+ authorityVersion: z.ZodLiteral<2>;
31
+ clientId: z.ZodString;
32
+ grantId: z.ZodString;
33
+ resource: z.ZodString;
34
+ }, z.core.$strict>], "type">;
35
+ receivedAt: z.ZodISODateTime;
36
+ }, z.core.$strict>;
37
+ export declare const tenantRawSubmissionSchema: z.ZodObject<{
38
+ title: z.ZodString;
39
+ summary: z.ZodDefault<z.ZodString>;
40
+ mediaType: z.ZodString;
41
+ access: z.ZodDefault<z.ZodEnum<{
42
+ PUBLIC: "PUBLIC";
43
+ PUBLIC_METADATA: "PUBLIC_METADATA";
44
+ TENANT: "TENANT";
45
+ INTERNAL: "INTERNAL";
46
+ FDE_INTERNAL: "FDE_INTERNAL";
47
+ ACCESS_CONTROLLED: "ACCESS_CONTROLLED";
48
+ UNKNOWN: "UNKNOWN";
49
+ }>>;
50
+ claimedSourceRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
51
+ requestId: z.ZodString;
52
+ }, z.core.$strict>;
53
+ export declare const tenantArtifactDraftSchema: z.ZodObject<{
54
+ artifactId: z.ZodString;
55
+ kind: z.ZodEnum<{
56
+ RESEARCH: "RESEARCH";
57
+ KNOWLEDGE: "KNOWLEDGE";
58
+ INSIGHT: "INSIGHT";
59
+ }>;
60
+ title: z.ZodString;
61
+ mediaType: z.ZodString;
62
+ access: z.ZodDefault<z.ZodEnum<{
63
+ PUBLIC: "PUBLIC";
64
+ PUBLIC_METADATA: "PUBLIC_METADATA";
65
+ TENANT: "TENANT";
66
+ INTERNAL: "INTERNAL";
67
+ FDE_INTERNAL: "FDE_INTERNAL";
68
+ ACCESS_CONTROLLED: "ACCESS_CONTROLLED";
69
+ UNKNOWN: "UNKNOWN";
70
+ }>>;
71
+ observedAt: z.ZodDefault<z.ZodNullable<z.ZodISODateTime>>;
72
+ validUntil: z.ZodDefault<z.ZodNullable<z.ZodISODateTime>>;
73
+ sourceRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
74
+ evidenceRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
75
+ relatedRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
76
+ expectedVersion: z.ZodNumber;
77
+ requestId: z.ZodString;
78
+ }, z.core.$strict>;
79
+ export declare const tenantReviewInputSchema: z.ZodObject<{
80
+ targetRef: z.ZodString;
81
+ expectedVersion: z.ZodNumber;
82
+ decision: z.ZodEnum<{
83
+ PASS: "PASS";
84
+ REWORK: "REWORK";
85
+ REJECT: "REJECT";
86
+ }>;
87
+ reviewedAt: z.ZodISODateTime;
88
+ summary: z.ZodString;
89
+ sourceRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
90
+ requestId: z.ZodString;
91
+ }, z.core.$strict>;
92
+ export declare const tenantPromoteInputSchema: z.ZodObject<{
93
+ targetRef: z.ZodString;
94
+ expectedVersion: z.ZodNumber;
95
+ nextStatus: z.ZodEnum<{
96
+ READY_FOR_REVIEW: "READY_FOR_REVIEW";
97
+ REWORK_REQUIRED: "REWORK_REQUIRED";
98
+ APPROVED: "APPROVED";
99
+ REJECTED: "REJECTED";
100
+ }>;
101
+ reviewRef: z.ZodOptional<z.ZodString>;
102
+ requestId: z.ZodString;
103
+ }, z.core.$strict>;
104
+ export declare const tenantComposeInputSchema: z.ZodObject<{
105
+ artifactId: z.ZodString;
106
+ sourceRefs: z.ZodArray<z.ZodString>;
107
+ primarySourceRef: z.ZodOptional<z.ZodString>;
108
+ title: z.ZodOptional<z.ZodString>;
109
+ outputKind: z.ZodDefault<z.ZodEnum<{
110
+ KNOWLEDGE: "KNOWLEDGE";
111
+ INSIGHT: "INSIGHT";
112
+ }>>;
113
+ publicationProfile: z.ZodDefault<z.ZodEnum<{
114
+ HUMAN_ARTICLE_V1: "HUMAN_ARTICLE_V1";
115
+ KNOWLEDGE_CARD_V1: "KNOWLEDGE_CARD_V1";
116
+ }>>;
117
+ validUntil: z.ZodDefault<z.ZodNullable<z.ZodISODateTime>>;
118
+ composition: z.ZodOptional<z.ZodObject<{
119
+ summary: z.ZodString;
120
+ byline: z.ZodOptional<z.ZodNullable<z.ZodString>>;
121
+ language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
122
+ blocks: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
123
+ kind: z.ZodLiteral<"HEADING">;
124
+ level: z.ZodNumber;
125
+ text: z.ZodString;
126
+ inlines: z.ZodOptional<z.ZodArray<z.ZodObject<{
127
+ text: z.ZodString;
128
+ href: z.ZodNullable<z.ZodString>;
129
+ }, z.core.$strict>>>;
130
+ ordinal: z.ZodNumber;
131
+ }, z.core.$strict>, z.ZodObject<{
132
+ kind: z.ZodLiteral<"PARAGRAPH">;
133
+ text: z.ZodString;
134
+ inlines: z.ZodOptional<z.ZodArray<z.ZodObject<{
135
+ text: z.ZodString;
136
+ href: z.ZodNullable<z.ZodString>;
137
+ }, z.core.$strict>>>;
138
+ ordinal: z.ZodNumber;
139
+ }, z.core.$strict>, z.ZodObject<{
140
+ kind: z.ZodLiteral<"LIST_ITEM">;
141
+ text: z.ZodString;
142
+ ordered: z.ZodBoolean;
143
+ level: z.ZodNumber;
144
+ index: z.ZodNullable<z.ZodNumber>;
145
+ inlines: z.ZodOptional<z.ZodArray<z.ZodObject<{
146
+ text: z.ZodString;
147
+ href: z.ZodNullable<z.ZodString>;
148
+ }, z.core.$strict>>>;
149
+ ordinal: z.ZodNumber;
150
+ }, z.core.$strict>, z.ZodObject<{
151
+ kind: z.ZodLiteral<"QUOTE">;
152
+ text: z.ZodString;
153
+ inlines: z.ZodOptional<z.ZodArray<z.ZodObject<{
154
+ text: z.ZodString;
155
+ href: z.ZodNullable<z.ZodString>;
156
+ }, z.core.$strict>>>;
157
+ ordinal: z.ZodNumber;
158
+ }, z.core.$strict>, z.ZodObject<{
159
+ kind: z.ZodLiteral<"CODE">;
160
+ text: z.ZodString;
161
+ language: z.ZodNullable<z.ZodString>;
162
+ ordinal: z.ZodNumber;
163
+ }, z.core.$strict>, z.ZodObject<{
164
+ kind: z.ZodLiteral<"IMAGE">;
165
+ alt: z.ZodNullable<z.ZodString>;
166
+ width: z.ZodNullable<z.ZodNumber>;
167
+ height: z.ZodNullable<z.ZodNumber>;
168
+ ordinal: z.ZodNumber;
169
+ sourceUrl: z.ZodString;
170
+ canonicalUrl: z.ZodNullable<z.ZodString>;
171
+ availability: z.ZodEnum<{
172
+ MIRRORED: "MIRRORED";
173
+ REMOTE_ONLY: "REMOTE_ONLY";
174
+ UNAVAILABLE: "UNAVAILABLE";
175
+ }>;
176
+ mediaRef: z.ZodNullable<z.ZodString>;
177
+ evidenceRef: z.ZodNullable<z.ZodString>;
178
+ contentHash: z.ZodNullable<z.ZodString>;
179
+ mediaType: z.ZodNullable<z.ZodString>;
180
+ byteLength: z.ZodNullable<z.ZodNumber>;
181
+ caption: z.ZodNullable<z.ZodString>;
182
+ }, z.core.$strict>, z.ZodObject<{
183
+ kind: z.ZodLiteral<"VIDEO">;
184
+ title: z.ZodNullable<z.ZodString>;
185
+ posterUrl: z.ZodNullable<z.ZodString>;
186
+ posterEvidenceRef: z.ZodNullable<z.ZodString>;
187
+ ordinal: z.ZodNumber;
188
+ sourceUrl: z.ZodString;
189
+ canonicalUrl: z.ZodNullable<z.ZodString>;
190
+ availability: z.ZodEnum<{
191
+ MIRRORED: "MIRRORED";
192
+ REMOTE_ONLY: "REMOTE_ONLY";
193
+ UNAVAILABLE: "UNAVAILABLE";
194
+ }>;
195
+ mediaRef: z.ZodNullable<z.ZodString>;
196
+ evidenceRef: z.ZodNullable<z.ZodString>;
197
+ contentHash: z.ZodNullable<z.ZodString>;
198
+ mediaType: z.ZodNullable<z.ZodString>;
199
+ byteLength: z.ZodNullable<z.ZodNumber>;
200
+ caption: z.ZodNullable<z.ZodString>;
201
+ }, z.core.$strict>, z.ZodObject<{
202
+ kind: z.ZodLiteral<"AUDIO">;
203
+ title: z.ZodNullable<z.ZodString>;
204
+ ordinal: z.ZodNumber;
205
+ sourceUrl: z.ZodString;
206
+ canonicalUrl: z.ZodNullable<z.ZodString>;
207
+ availability: z.ZodEnum<{
208
+ MIRRORED: "MIRRORED";
209
+ REMOTE_ONLY: "REMOTE_ONLY";
210
+ UNAVAILABLE: "UNAVAILABLE";
211
+ }>;
212
+ mediaRef: z.ZodNullable<z.ZodString>;
213
+ evidenceRef: z.ZodNullable<z.ZodString>;
214
+ contentHash: z.ZodNullable<z.ZodString>;
215
+ mediaType: z.ZodNullable<z.ZodString>;
216
+ byteLength: z.ZodNullable<z.ZodNumber>;
217
+ caption: z.ZodNullable<z.ZodString>;
218
+ }, z.core.$strict>, z.ZodObject<{
219
+ kind: z.ZodLiteral<"EMBED">;
220
+ sourceUrl: z.ZodString;
221
+ provider: z.ZodNullable<z.ZodString>;
222
+ title: z.ZodNullable<z.ZodString>;
223
+ caption: z.ZodNullable<z.ZodString>;
224
+ ordinal: z.ZodNumber;
225
+ }, z.core.$strict>, z.ZodObject<{
226
+ kind: z.ZodLiteral<"DIVIDER">;
227
+ ordinal: z.ZodNumber;
228
+ }, z.core.$strict>, z.ZodObject<{
229
+ kind: z.ZodLiteral<"TABLE">;
230
+ rows: z.ZodArray<z.ZodObject<{
231
+ cells: z.ZodArray<z.ZodObject<{
232
+ text: z.ZodString;
233
+ header: z.ZodBoolean;
234
+ }, z.core.$strict>>;
235
+ }, z.core.$strict>>;
236
+ ordinal: z.ZodNumber;
237
+ }, z.core.$strict>], "kind">>;
238
+ citations: z.ZodArray<z.ZodObject<{
239
+ blockOrdinal: z.ZodNumber;
240
+ sourceRefs: z.ZodArray<z.ZodString>;
241
+ }, z.core.$strict>>;
242
+ }, z.core.$strict>>;
243
+ sourceDocuments: z.ZodDefault<z.ZodArray<z.ZodObject<{
244
+ sourceRef: z.ZodString;
245
+ documentRef: z.ZodString;
246
+ }, z.core.$strict>>>;
247
+ expectedVersion: z.ZodNumber;
248
+ requestId: z.ZodString;
249
+ }, z.core.$strict>;
250
+ export type TenantManagementIntent = z.infer<typeof tenantManagementIntentSchema>;
251
+ export type TenantRawSubmission = z.infer<typeof tenantRawSubmissionSchema>;
252
+ export type TenantArtifactDraft = z.infer<typeof tenantArtifactDraftSchema>;
253
+ export type TenantReviewInput = z.infer<typeof tenantReviewInputSchema>;
254
+ export type TenantPromoteInput = z.infer<typeof tenantPromoteInputSchema>;
255
+ export type TenantComposeInput = z.infer<typeof tenantComposeInputSchema>;
256
+ export declare const tenantReviewDecisionSchema: z.ZodObject<{
257
+ schemaVersion: z.ZodLiteral<2>;
258
+ format: z.ZodLiteral<"TENANT_REVIEW_DECISION_V1">;
259
+ targetRef: z.ZodString;
260
+ decision: z.ZodEnum<{
261
+ PASS: "PASS";
262
+ REWORK: "REWORK";
263
+ REJECT: "REJECT";
264
+ }>;
265
+ reviewedAt: z.ZodISODateTime;
266
+ summary: z.ZodString;
267
+ sourceRefs: z.ZodArray<z.ZodString>;
268
+ }, z.core.$strict>;
269
+ export type TenantReviewDecision = z.infer<typeof tenantReviewDecisionSchema>;
270
+ export declare const tenantShareInputSchema: z.ZodObject<{
271
+ requestId: z.ZodString;
272
+ recipientTenantId: z.ZodString;
273
+ matchType: z.ZodEnum<{
274
+ SOURCE: "SOURCE";
275
+ REF: "REF";
276
+ }>;
277
+ matchValue: z.ZodString;
278
+ effect: z.ZodDefault<z.ZodEnum<{
279
+ ALLOW: "ALLOW";
280
+ DENY: "DENY";
281
+ }>>;
282
+ }, z.core.$strict>;
283
+ export declare const tenantRevokeShareInputSchema: z.ZodObject<{
284
+ requestId: z.ZodString;
285
+ routeId: z.ZodString;
286
+ }, z.core.$strict>;
@@ -0,0 +1,27 @@
1
+ /** 新 Tenant 管理输入与操作归因;身份/actor/来源 origin 不能由正文注入。 */
2
+ import { z } from 'zod';
3
+ import { createHash } from 'node:crypto';
4
+ import { artifactIdSchema, reviewDecisionSchema } from './artifact.js';
5
+ import { accessClassificationSchema, isoDateTimeSchema, sha256Schema, stableUriSchema } from './common.js';
6
+ import { knowledgeActorContextSchema } from './project-intent.js';
7
+ import { materialTenantIdSchema } from './material-context.js';
8
+ import { tenantStorageKey, tenantResourceRefSchema } from './resource-scope.js';
9
+ import { tenantCollectionRequestAuthoritySchema } from './tenant-collection-request.js';
10
+ import { tenantCompositionDraftSchema } from './tenant-rich-document.js';
11
+ import { publicationProfileSchema } from './rich-document.js';
12
+ export const tenantManagementRequestIdSchema = z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/);
13
+ export const tenantInvocationAuthoritySchema = tenantCollectionRequestAuthoritySchema;
14
+ export function tenantOperationRef(tenantId, requestId) { return `tenant-operation://${tenantStorageKey(tenantId)}/${createHash('sha256').update(tenantManagementRequestIdSchema.parse(requestId)).digest('hex')}`; }
15
+ export const tenantManagementIntentSchema = z.object({ schemaVersion: z.literal(1), requestId: tenantManagementRequestIdSchema, tenantId: materialTenantIdSchema, ref: stableUriSchema, action: z.string().min(1).max(64), inputHash: sha256Schema, actor: knowledgeActorContextSchema, authority: tenantInvocationAuthoritySchema, receivedAt: isoDateTimeSchema }).strict().superRefine((v, ctx) => { if (v.actor.tenantId !== v.tenantId || v.ref !== tenantOperationRef(v.tenantId, v.requestId))
16
+ ctx.addIssue({ code: 'custom', message: 'Operation retains exact Tenant, actor and request identity' }); });
17
+ const request = { requestId: tenantManagementRequestIdSchema }, version = { expectedVersion: z.number().int().nonnegative().safe() }, refs = z.array(stableUriSchema).max(256);
18
+ export const tenantRawSubmissionSchema = z.object({ ...request, title: z.string().trim().min(1).max(512), summary: z.string().max(1024).default(''), mediaType: z.string().trim().min(1).max(256), access: accessClassificationSchema.default('INTERNAL'), claimedSourceRefs: z.array(stableUriSchema).max(127).default([]) }).strict();
19
+ export const tenantArtifactDraftSchema = z.object({ ...request, ...version, artifactId: artifactIdSchema, kind: z.enum(['RESEARCH', 'KNOWLEDGE', 'INSIGHT']), title: z.string().trim().min(1).max(500), mediaType: z.string().trim().min(1).max(256), access: accessClassificationSchema.default('INTERNAL'), observedAt: isoDateTimeSchema.nullable().default(null), validUntil: isoDateTimeSchema.nullable().default(null), sourceRefs: refs.default([]), evidenceRefs: refs.default([]), relatedRefs: refs.default([]) }).strict();
20
+ export const tenantReviewInputSchema = z.object({ ...request, targetRef: tenantResourceRefSchema, expectedVersion: z.number().int().positive().safe(), decision: reviewDecisionSchema.shape.decision, reviewedAt: isoDateTimeSchema, summary: reviewDecisionSchema.shape.summary, sourceRefs: refs.default([]) }).strict();
21
+ export const tenantPromoteInputSchema = z.object({ ...request, targetRef: tenantResourceRefSchema, expectedVersion: z.number().int().positive().safe(), nextStatus: z.enum(['READY_FOR_REVIEW', 'APPROVED', 'REWORK_REQUIRED', 'REJECTED']), reviewRef: tenantResourceRefSchema.optional() }).strict();
22
+ export const tenantComposeInputSchema = z.object({ ...request, ...version, artifactId: artifactIdSchema, sourceRefs: z.array(stableUriSchema).min(1).max(64), primarySourceRef: stableUriSchema.optional(), title: z.string().trim().min(1).max(500).optional(), outputKind: z.enum(['KNOWLEDGE', 'INSIGHT']).default('KNOWLEDGE'), publicationProfile: publicationProfileSchema.default('KNOWLEDGE_CARD_V1'), validUntil: isoDateTimeSchema.nullable().default(null), composition: tenantCompositionDraftSchema.optional(), sourceDocuments: z.array(z.object({ sourceRef: stableUriSchema, documentRef: stableUriSchema }).strict()).max(64).default([]) }).strict().superRefine((v, ctx) => { if (new Set(v.sourceRefs).size !== v.sourceRefs.length || v.primarySourceRef && !v.sourceRefs.includes(v.primarySourceRef) || new Set(v.sourceDocuments.map(row => row.sourceRef)).size !== v.sourceDocuments.length || v.sourceDocuments.some(row => !v.sourceRefs.includes(row.sourceRef)))
23
+ ctx.addIssue({ code: 'custom', message: 'Source selection must be unique and exact' }); });
24
+ export const tenantReviewDecisionSchema = z.object({ schemaVersion: z.literal(2), format: z.literal('TENANT_REVIEW_DECISION_V1'), targetRef: tenantResourceRefSchema, decision: reviewDecisionSchema.shape.decision, reviewedAt: isoDateTimeSchema, summary: reviewDecisionSchema.shape.summary, sourceRefs: refs }).strict();
25
+ export const tenantShareInputSchema = z.object({ requestId: tenantManagementRequestIdSchema, recipientTenantId: materialTenantIdSchema, matchType: z.enum(['SOURCE', 'REF']), matchValue: stableUriSchema, effect: z.enum(['ALLOW', 'DENY']).default('ALLOW') }).strict().superRefine((v, ctx) => { if (v.effect === 'DENY' && v.matchType !== 'REF')
26
+ ctx.addIssue({ code: 'custom', message: 'DENY requires an exact resource ref' }); });
27
+ export const tenantRevokeShareInputSchema = z.object({ requestId: tenantManagementRequestIdSchema, routeId: z.string().regex(/^[a-f0-9]{64}$/) }).strict();