openxiangda-contracts 2.0.0-alpha.28 → 2.0.0-alpha.30

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.
package/dist/ai.d.ts ADDED
@@ -0,0 +1,176 @@
1
+ import { SCHEMA_VERSIONS, type DataFieldType, type Diagnostic } from "./types.js";
2
+ export type AiJsonSchema = Record<string, unknown>;
3
+ export type AiCapabilityKind = "generatedCrud" | "customAction";
4
+ export type AiCapabilityOperation = "query" | "get" | "create" | "update" | "delete" | "custom";
5
+ export type AiCapabilityRisk = "read" | "write" | "destructive" | "external";
6
+ export type AiConfirmationPolicy = "none" | "required";
7
+ export type AiIdempotencyPolicy = "none" | "required";
8
+ export type AiConcurrencyPolicy = "none" | "revision";
9
+ export interface AiCapabilityLimits {
10
+ maxRows?: number;
11
+ timeoutMs?: number;
12
+ }
13
+ export interface AiCapability {
14
+ code: string;
15
+ appCode: string;
16
+ name: string;
17
+ description: string;
18
+ kind: AiCapabilityKind;
19
+ operation: AiCapabilityOperation;
20
+ resources: string[];
21
+ inputSchema: AiJsonSchema;
22
+ outputSchema: AiJsonSchema;
23
+ authorization: {
24
+ capabilities: string[];
25
+ };
26
+ risk: AiCapabilityRisk;
27
+ confirmation: AiConfirmationPolicy;
28
+ idempotency: AiIdempotencyPolicy;
29
+ concurrency: AiConcurrencyPolicy;
30
+ limits: AiCapabilityLimits;
31
+ sideEffects: string[];
32
+ generatedFrom?: {
33
+ resourceCode: string;
34
+ operation: Exclude<AiCapabilityOperation, "custom">;
35
+ };
36
+ }
37
+ export interface AiCapabilityCatalog {
38
+ schemaVersion: typeof SCHEMA_VERSIONS.aiCapabilityCatalog;
39
+ appCode: string;
40
+ appName: string;
41
+ sourceConfigDigest?: string;
42
+ capabilities: AiCapability[];
43
+ }
44
+ export declare function validateAiCapabilityCatalog(value: unknown): Diagnostic[];
45
+ export declare function assertAiCapabilityCatalog(value: unknown): asserts value is AiCapabilityCatalog;
46
+ export declare function aiJsonSchemaForField(type: DataFieldType): AiJsonSchema;
47
+ export declare const aiCapabilityCatalogSchema: {
48
+ readonly $id: "openxiangda.ai-capability/v1";
49
+ readonly type: "object";
50
+ readonly additionalProperties: false;
51
+ readonly required: readonly ["schemaVersion", "appCode", "appName", "capabilities"];
52
+ readonly properties: {
53
+ readonly schemaVersion: {
54
+ readonly const: "openxiangda.ai-capability/v1";
55
+ };
56
+ readonly appCode: {
57
+ readonly type: "string";
58
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
59
+ };
60
+ readonly appName: {
61
+ readonly type: "string";
62
+ readonly minLength: 1;
63
+ };
64
+ readonly sourceConfigDigest: {
65
+ readonly type: "string";
66
+ readonly pattern: "^[0-9a-f]{64}$";
67
+ };
68
+ readonly capabilities: {
69
+ readonly type: "array";
70
+ readonly maxItems: 500;
71
+ readonly items: {
72
+ readonly type: "object";
73
+ readonly additionalProperties: false;
74
+ readonly required: readonly ["code", "appCode", "name", "description", "kind", "operation", "resources", "inputSchema", "outputSchema", "authorization", "risk", "confirmation", "idempotency", "concurrency", "limits", "sideEffects"];
75
+ readonly properties: {
76
+ readonly code: {
77
+ readonly type: "string";
78
+ readonly pattern: "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*){2,}$";
79
+ };
80
+ readonly appCode: {
81
+ readonly type: "string";
82
+ };
83
+ readonly name: {
84
+ readonly type: "string";
85
+ readonly minLength: 1;
86
+ };
87
+ readonly description: {
88
+ readonly type: "string";
89
+ readonly minLength: 1;
90
+ };
91
+ readonly kind: {
92
+ readonly enum: readonly ["generatedCrud", "customAction"];
93
+ };
94
+ readonly operation: {
95
+ readonly enum: readonly ["query", "get", "create", "update", "delete", "custom"];
96
+ };
97
+ readonly resources: {
98
+ readonly type: "array";
99
+ readonly minItems: 1;
100
+ readonly items: {
101
+ readonly type: "string";
102
+ };
103
+ };
104
+ readonly inputSchema: {
105
+ readonly type: "object";
106
+ };
107
+ readonly outputSchema: {
108
+ readonly type: "object";
109
+ };
110
+ readonly authorization: {
111
+ readonly type: "object";
112
+ readonly additionalProperties: false;
113
+ readonly required: readonly ["capabilities"];
114
+ readonly properties: {
115
+ readonly capabilities: {
116
+ readonly type: "array";
117
+ readonly minItems: 1;
118
+ readonly items: {
119
+ readonly type: "string";
120
+ };
121
+ };
122
+ };
123
+ };
124
+ readonly risk: {
125
+ readonly enum: readonly ["read", "write", "destructive", "external"];
126
+ };
127
+ readonly confirmation: {
128
+ readonly enum: readonly ["none", "required"];
129
+ };
130
+ readonly idempotency: {
131
+ readonly enum: readonly ["none", "required"];
132
+ };
133
+ readonly concurrency: {
134
+ readonly enum: readonly ["none", "revision"];
135
+ };
136
+ readonly limits: {
137
+ readonly type: "object";
138
+ readonly additionalProperties: false;
139
+ readonly properties: {
140
+ readonly maxRows: {
141
+ readonly type: "integer";
142
+ readonly minimum: 1;
143
+ readonly maximum: 100;
144
+ };
145
+ readonly timeoutMs: {
146
+ readonly type: "integer";
147
+ readonly minimum: 100;
148
+ readonly maximum: 30000;
149
+ };
150
+ };
151
+ };
152
+ readonly sideEffects: {
153
+ readonly type: "array";
154
+ readonly items: {
155
+ readonly type: "string";
156
+ };
157
+ };
158
+ readonly generatedFrom: {
159
+ readonly type: "object";
160
+ readonly additionalProperties: false;
161
+ readonly required: readonly ["resourceCode", "operation"];
162
+ readonly properties: {
163
+ readonly resourceCode: {
164
+ readonly type: "string";
165
+ };
166
+ readonly operation: {
167
+ readonly enum: readonly ["query", "get", "create", "update", "delete"];
168
+ };
169
+ };
170
+ };
171
+ };
172
+ };
173
+ };
174
+ };
175
+ };
176
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,cAAc,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,OAAO,GACP,aAAa,GACb,UAAU,CAAC;AAEf,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,UAAU,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,qBAAqB,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,IAAI,EAAE,gBAAgB,CAAC;IACvB,YAAY,EAAE,oBAAoB,CAAC;IACnC,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;KACrD,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,OAAO,eAAe,CAAC,mBAAmB,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AA+BD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CAiNxE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAOtC;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CAqBtE;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4F5B,CAAC"}
package/dist/ai.js ADDED
@@ -0,0 +1,250 @@
1
+ import { SCHEMA_VERSIONS, } from "./types.js";
2
+ const DIAGNOSTIC_SCHEMA = SCHEMA_VERSIONS.diagnostic;
3
+ function diagnostic(code, message, path) {
4
+ return {
5
+ schemaVersion: DIAGNOSTIC_SCHEMA,
6
+ code,
7
+ severity: "error",
8
+ message,
9
+ path,
10
+ source: "ai-capability-catalog",
11
+ retryable: false,
12
+ };
13
+ }
14
+ function isRecord(value) {
15
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
16
+ }
17
+ function nonEmptyString(value) {
18
+ return typeof value === "string" && value.trim().length > 0;
19
+ }
20
+ function validCapabilityCode(value) {
21
+ return (nonEmptyString(value) &&
22
+ /^[a-z][a-z0-9_-]*(?:\.[a-z][a-z0-9_-]*){2,}$/.test(value));
23
+ }
24
+ export function validateAiCapabilityCatalog(value) {
25
+ const diagnostics = [];
26
+ if (!isRecord(value)) {
27
+ return [
28
+ diagnostic("AI_CATALOG_INVALID", "AI Capability Catalog 必须是对象", "$"),
29
+ ];
30
+ }
31
+ if (value.schemaVersion !== SCHEMA_VERSIONS.aiCapabilityCatalog) {
32
+ diagnostics.push(diagnostic("AI_CATALOG_SCHEMA_UNSUPPORTED", `schemaVersion 必须是 ${SCHEMA_VERSIONS.aiCapabilityCatalog}`, "schemaVersion"));
33
+ }
34
+ for (const field of ["appCode", "appName"]) {
35
+ if (!nonEmptyString(value[field])) {
36
+ diagnostics.push(diagnostic("AI_CATALOG_REQUIRED_STRING", `${field} 必须是非空字符串`, field));
37
+ }
38
+ }
39
+ if (value.sourceConfigDigest !== undefined &&
40
+ (!nonEmptyString(value.sourceConfigDigest) ||
41
+ !/^[0-9a-f]{64}$/.test(value.sourceConfigDigest))) {
42
+ diagnostics.push(diagnostic("AI_CATALOG_SOURCE_DIGEST_INVALID", "sourceConfigDigest 必须是小写 64 位 SHA-256", "sourceConfigDigest"));
43
+ }
44
+ const capabilities = Array.isArray(value.capabilities)
45
+ ? value.capabilities
46
+ : [];
47
+ if (!Array.isArray(value.capabilities) || capabilities.length > 500) {
48
+ diagnostics.push(diagnostic("AI_CATALOG_CAPABILITIES_INVALID", "capabilities 必须是最多 500 项的数组", "capabilities"));
49
+ }
50
+ const codes = new Set();
51
+ capabilities.forEach((raw, index) => {
52
+ const path = `capabilities[${index}]`;
53
+ if (!isRecord(raw)) {
54
+ diagnostics.push(diagnostic("AI_CAPABILITY_INVALID", `${path} 必须是对象`, path));
55
+ return;
56
+ }
57
+ if (!validCapabilityCode(raw.code) || codes.has(String(raw.code))) {
58
+ diagnostics.push(diagnostic("AI_CAPABILITY_CODE_INVALID", `${path}.code 必须是唯一的应用作用域能力编码`, `${path}.code`));
59
+ }
60
+ codes.add(String(raw.code || ""));
61
+ if (raw.appCode !== value.appCode) {
62
+ diagnostics.push(diagnostic("AI_CAPABILITY_APP_MISMATCH", `${path}.appCode 必须与 Catalog.appCode 一致`, `${path}.appCode`));
63
+ }
64
+ if (!nonEmptyString(raw.name) || !nonEmptyString(raw.description)) {
65
+ diagnostics.push(diagnostic("AI_CAPABILITY_DESCRIPTION_REQUIRED", `${path} 必须声明 name 和 description`, path));
66
+ }
67
+ if (!["generatedCrud", "customAction"].includes(String(raw.kind))) {
68
+ diagnostics.push(diagnostic("AI_CAPABILITY_KIND_INVALID", `${path}.kind 不受支持`, `${path}.kind`));
69
+ }
70
+ if (!["query", "get", "create", "update", "delete", "custom"].includes(String(raw.operation))) {
71
+ diagnostics.push(diagnostic("AI_CAPABILITY_OPERATION_INVALID", `${path}.operation 不受支持`, `${path}.operation`));
72
+ }
73
+ if (!Array.isArray(raw.resources) ||
74
+ raw.resources.length === 0 ||
75
+ raw.resources.some(item => !nonEmptyString(item))) {
76
+ diagnostics.push(diagnostic("AI_CAPABILITY_RESOURCES_INVALID", `${path}.resources 必须至少包含一个资源编码`, `${path}.resources`));
77
+ }
78
+ for (const schemaField of ["inputSchema", "outputSchema"]) {
79
+ if (!isRecord(raw[schemaField]) || raw[schemaField].type !== "object") {
80
+ diagnostics.push(diagnostic("AI_CAPABILITY_SCHEMA_INVALID", `${path}.${schemaField} 必须是 object JSON Schema`, `${path}.${schemaField}`));
81
+ }
82
+ }
83
+ const authorization = isRecord(raw.authorization)
84
+ ? raw.authorization
85
+ : {};
86
+ if (!Array.isArray(authorization.capabilities) ||
87
+ authorization.capabilities.length === 0 ||
88
+ authorization.capabilities.some(item => !nonEmptyString(item))) {
89
+ diagnostics.push(diagnostic("AI_CAPABILITY_AUTHORIZATION_INVALID", `${path}.authorization.capabilities 必须至少包含一项已有 capability`, `${path}.authorization.capabilities`));
90
+ }
91
+ const risk = String(raw.risk);
92
+ const confirmation = String(raw.confirmation);
93
+ const idempotency = String(raw.idempotency);
94
+ const concurrency = String(raw.concurrency);
95
+ const validExecutionPolicy = ["read", "write", "destructive", "external"].includes(risk) &&
96
+ ["none", "required"].includes(confirmation) &&
97
+ ["none", "required"].includes(idempotency) &&
98
+ ["none", "revision"].includes(concurrency) &&
99
+ (risk === "read"
100
+ ? confirmation === "none" && idempotency === "none" && concurrency === "none"
101
+ : confirmation === "required" && idempotency === "required");
102
+ if (!validExecutionPolicy) {
103
+ diagnostics.push(diagnostic("AI_CAPABILITY_EXECUTION_POLICY_INVALID", `${path} 的 risk、confirmation、idempotency、concurrency 组合无效`, path));
104
+ }
105
+ const limits = isRecord(raw.limits) ? raw.limits : {};
106
+ const maxRows = limits.maxRows;
107
+ const timeoutMs = limits.timeoutMs;
108
+ if ((maxRows !== undefined &&
109
+ (!Number.isSafeInteger(maxRows) ||
110
+ typeof maxRows !== "number" ||
111
+ maxRows < 1 ||
112
+ maxRows > 100)) ||
113
+ (timeoutMs !== undefined &&
114
+ (!Number.isSafeInteger(timeoutMs) ||
115
+ typeof timeoutMs !== "number" ||
116
+ timeoutMs < 100 ||
117
+ timeoutMs > 30000))) {
118
+ diagnostics.push(diagnostic("AI_CAPABILITY_LIMITS_INVALID", `${path}.limits 必须保持在平台上限内`, `${path}.limits`));
119
+ }
120
+ if (!Array.isArray(raw.sideEffects)) {
121
+ diagnostics.push(diagnostic("AI_CAPABILITY_SIDE_EFFECTS_INVALID", `${path}.sideEffects 必须是数组`, `${path}.sideEffects`));
122
+ }
123
+ if (raw.kind === "generatedCrud" && !isRecord(raw.generatedFrom)) {
124
+ diagnostics.push(diagnostic("AI_CAPABILITY_GENERATED_SOURCE_MISSING", `${path}.generatedFrom 是自动 CRUD 能力的必需字段`, `${path}.generatedFrom`));
125
+ }
126
+ });
127
+ return diagnostics;
128
+ }
129
+ export function assertAiCapabilityCatalog(value) {
130
+ const diagnostics = validateAiCapabilityCatalog(value);
131
+ if (diagnostics.length > 0) {
132
+ throw new Error(diagnostics.map(item => `${item.path}: ${item.message}`).join("; "));
133
+ }
134
+ }
135
+ export function aiJsonSchemaForField(type) {
136
+ switch (type) {
137
+ case "integer":
138
+ return { type: "integer" };
139
+ case "decimal":
140
+ return { type: "number" };
141
+ case "boolean":
142
+ return { type: "boolean" };
143
+ case "date":
144
+ return { type: "string", format: "date" };
145
+ case "datetime":
146
+ return { type: "string", format: "date-time" };
147
+ case "uuid":
148
+ return { type: "string", format: "uuid" };
149
+ case "json":
150
+ return { type: "object" };
151
+ case "string":
152
+ case "text":
153
+ default:
154
+ return { type: "string" };
155
+ }
156
+ }
157
+ export const aiCapabilityCatalogSchema = {
158
+ $id: SCHEMA_VERSIONS.aiCapabilityCatalog,
159
+ type: "object",
160
+ additionalProperties: false,
161
+ required: ["schemaVersion", "appCode", "appName", "capabilities"],
162
+ properties: {
163
+ schemaVersion: { const: SCHEMA_VERSIONS.aiCapabilityCatalog },
164
+ appCode: {
165
+ type: "string",
166
+ pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
167
+ },
168
+ appName: { type: "string", minLength: 1 },
169
+ sourceConfigDigest: { type: "string", pattern: "^[0-9a-f]{64}$" },
170
+ capabilities: {
171
+ type: "array",
172
+ maxItems: 500,
173
+ items: {
174
+ type: "object",
175
+ additionalProperties: false,
176
+ required: [
177
+ "code",
178
+ "appCode",
179
+ "name",
180
+ "description",
181
+ "kind",
182
+ "operation",
183
+ "resources",
184
+ "inputSchema",
185
+ "outputSchema",
186
+ "authorization",
187
+ "risk",
188
+ "confirmation",
189
+ "idempotency",
190
+ "concurrency",
191
+ "limits",
192
+ "sideEffects",
193
+ ],
194
+ properties: {
195
+ code: {
196
+ type: "string",
197
+ pattern: "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*){2,}$",
198
+ },
199
+ appCode: { type: "string" },
200
+ name: { type: "string", minLength: 1 },
201
+ description: { type: "string", minLength: 1 },
202
+ kind: { enum: ["generatedCrud", "customAction"] },
203
+ operation: {
204
+ enum: ["query", "get", "create", "update", "delete", "custom"],
205
+ },
206
+ resources: { type: "array", minItems: 1, items: { type: "string" } },
207
+ inputSchema: { type: "object" },
208
+ outputSchema: { type: "object" },
209
+ authorization: {
210
+ type: "object",
211
+ additionalProperties: false,
212
+ required: ["capabilities"],
213
+ properties: {
214
+ capabilities: {
215
+ type: "array",
216
+ minItems: 1,
217
+ items: { type: "string" },
218
+ },
219
+ },
220
+ },
221
+ risk: { enum: ["read", "write", "destructive", "external"] },
222
+ confirmation: { enum: ["none", "required"] },
223
+ idempotency: { enum: ["none", "required"] },
224
+ concurrency: { enum: ["none", "revision"] },
225
+ limits: {
226
+ type: "object",
227
+ additionalProperties: false,
228
+ properties: {
229
+ maxRows: { type: "integer", minimum: 1, maximum: 100 },
230
+ timeoutMs: { type: "integer", minimum: 100, maximum: 30000 },
231
+ },
232
+ },
233
+ sideEffects: { type: "array", items: { type: "string" } },
234
+ generatedFrom: {
235
+ type: "object",
236
+ additionalProperties: false,
237
+ required: ["resourceCode", "operation"],
238
+ properties: {
239
+ resourceCode: { type: "string" },
240
+ operation: {
241
+ enum: ["query", "get", "create", "update", "delete"],
242
+ },
243
+ },
244
+ },
245
+ },
246
+ },
247
+ },
248
+ },
249
+ };
250
+ //# sourceMappingURL=ai.js.map
package/dist/ai.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
package/dist/browser.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  /** Browser-safe contract surface. Node-only canonical hashing stays on the root export. */
2
2
  export * from './field-values.js';
3
+ export * from './ai.js';
3
4
  export * from './native.js';
5
+ export * from './references.js';
4
6
  export * from './schemas.js';
7
+ export * from './surface.js';
5
8
  export * from './types.js';
6
9
  export * from './validation.js';
7
10
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
package/dist/browser.js CHANGED
@@ -1,7 +1,10 @@
1
1
  /** Browser-safe contract surface. Node-only canonical hashing stays on the root export. */
2
2
  export * from './field-values.js';
3
+ export * from './ai.js';
3
4
  export * from './native.js';
5
+ export * from './references.js';
4
6
  export * from './schemas.js';
7
+ export * from './surface.js';
5
8
  export * from './types.js';
6
9
  export * from './validation.js';
7
10
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  export * from './canonical.js';
2
+ export * from './ai.js';
2
3
  export * from './field-values.js';
3
4
  export * from './native.js';
5
+ export * from './references.js';
4
6
  export * from './schemas.js';
7
+ export * from './surface.js';
5
8
  export * from './types.js';
6
9
  export * from './validation.js';
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,10 @@
1
1
  export * from './canonical.js';
2
+ export * from './ai.js';
2
3
  export * from './field-values.js';
3
4
  export * from './native.js';
5
+ export * from './references.js';
4
6
  export * from './schemas.js';
7
+ export * from './surface.js';
5
8
  export * from './types.js';
6
9
  export * from './validation.js';
7
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * One stable reference contract shared by the storage declaration and the
3
+ * generated desktop/mobile field renderer.
4
+ */
5
+ export type DataFieldReference = {
6
+ kind: 'directory-user';
7
+ multiple?: boolean;
8
+ } | {
9
+ kind: 'directory-department';
10
+ multiple?: boolean;
11
+ } | {
12
+ kind: 'resource';
13
+ resourceCode: string;
14
+ labelField: string;
15
+ multiple?: boolean;
16
+ };
17
+ //# sourceMappingURL=references.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACD;IACE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":""}