openxiangda-contracts 2.27.0 → 2.29.0

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 (43) hide show
  1. package/dist/ai.d.ts +48 -0
  2. package/dist/ai.d.ts.map +1 -1
  3. package/dist/ai.js +31 -0
  4. package/dist/ai.js.map +1 -1
  5. package/dist/browser.d.ts +1 -0
  6. package/dist/browser.d.ts.map +1 -1
  7. package/dist/browser.js +1 -0
  8. package/dist/browser.js.map +1 -1
  9. package/dist/concurrency.d.ts +145 -0
  10. package/dist/concurrency.d.ts.map +1 -0
  11. package/dist/concurrency.js +2 -0
  12. package/dist/concurrency.js.map +1 -0
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/native-compiler/compiler.d.ts.map +1 -1
  18. package/dist/native-compiler/compiler.js +16 -1
  19. package/dist/native-compiler/compiler.js.map +1 -1
  20. package/dist/native-compiler/data-surface.js +1 -1
  21. package/dist/native-compiler/data-surface.js.map +1 -1
  22. package/dist/native-compiler/index.cjs +4 -4
  23. package/dist/native-compiler/index.d.ts +1 -0
  24. package/dist/native-compiler/index.d.ts.map +1 -1
  25. package/dist/native-compiler/index.js +4 -4
  26. package/dist/native-compiler/managed-concurrency.d.ts +10 -0
  27. package/dist/native-compiler/managed-concurrency.d.ts.map +1 -0
  28. package/dist/native-compiler/managed-concurrency.js +238 -0
  29. package/dist/native-compiler/managed-concurrency.js.map +1 -0
  30. package/dist/native-version.d.ts +1 -0
  31. package/dist/native-version.d.ts.map +1 -1
  32. package/dist/native-version.js +1 -0
  33. package/dist/native-version.js.map +1 -1
  34. package/dist/native.d.ts +12 -0
  35. package/dist/native.d.ts.map +1 -1
  36. package/dist/native.js.map +1 -1
  37. package/dist/schemas.d.ts +165 -2
  38. package/dist/schemas.d.ts.map +1 -1
  39. package/dist/schemas.js +28 -1
  40. package/dist/schemas.js.map +1 -1
  41. package/dist/surface.d.ts +1 -1
  42. package/dist/surface.d.ts.map +1 -1
  43. package/package.json +1 -1
package/dist/ai.d.ts CHANGED
@@ -30,6 +30,13 @@ export interface AiCapability {
30
30
  concurrency: AiConcurrencyPolicy;
31
31
  limits: AiCapabilityLimits;
32
32
  sideEffects: string[];
33
+ agent?: {
34
+ visibility: "task" | "support";
35
+ examples?: string[];
36
+ aliases?: string[];
37
+ supportCapabilities?: string[];
38
+ inputLookups?: Record<string, string>;
39
+ };
33
40
  generatedFrom?: {
34
41
  resourceCode: string;
35
42
  operation: Exclude<AiCapabilityOperation, "custom">;
@@ -165,6 +172,47 @@ export declare const aiCapabilityCatalogSchema: {
165
172
  readonly type: "string";
166
173
  };
167
174
  };
175
+ readonly agent: {
176
+ readonly type: "object";
177
+ readonly additionalProperties: false;
178
+ readonly required: readonly ["visibility"];
179
+ readonly properties: {
180
+ readonly visibility: {
181
+ readonly enum: readonly ["task", "support"];
182
+ };
183
+ readonly examples: {
184
+ readonly type: "array";
185
+ readonly maxItems: 12;
186
+ readonly uniqueItems: true;
187
+ readonly items: {
188
+ readonly type: "string";
189
+ };
190
+ };
191
+ readonly aliases: {
192
+ readonly type: "array";
193
+ readonly maxItems: 20;
194
+ readonly uniqueItems: true;
195
+ readonly items: {
196
+ readonly type: "string";
197
+ };
198
+ };
199
+ readonly supportCapabilities: {
200
+ readonly type: "array";
201
+ readonly maxItems: 12;
202
+ readonly uniqueItems: true;
203
+ readonly items: {
204
+ readonly type: "string";
205
+ };
206
+ };
207
+ readonly inputLookups: {
208
+ readonly type: "object";
209
+ readonly maxProperties: 32;
210
+ readonly additionalProperties: {
211
+ readonly type: "string";
212
+ };
213
+ };
214
+ };
215
+ };
168
216
  readonly generatedFrom: {
169
217
  readonly type: "object";
170
218
  readonly additionalProperties: false;
package/dist/ai.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAiC,KAAK,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE1G,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;IACF,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,SAAS,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;QACpD,IAAI,EAAE,MAAM,CAAC;KACd,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;AAqCD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CA4QxE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAOtC;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,0BAA0B,GAChC,YAAY,CA0Ed;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiH5B,CAAC"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
package/dist/ai.js CHANGED
@@ -160,6 +160,26 @@ export function validateAiCapabilityCatalog(value) {
160
160
  diagnostics.push(diagnostic("AI_CAPABILITY_CUSTOM_BINDING_INVALID", `${path}.binding 必须绑定一个静态 app-api 操作`, `${path}.binding`));
161
161
  }
162
162
  }
163
+ if (raw.agent !== undefined) {
164
+ const agent = isRecord(raw.agent) ? raw.agent : {};
165
+ const strings = (value, max, length) => value === undefined ||
166
+ (Array.isArray(value) &&
167
+ value.length <= max &&
168
+ new Set(value).size === value.length &&
169
+ value.every(item => nonEmptyString(item) && item.length <= length));
170
+ const lookups = isRecord(agent.inputLookups) ? agent.inputLookups : {};
171
+ if (raw.kind !== "customAction" ||
172
+ !["task", "support"].includes(String(agent.visibility)) ||
173
+ !strings(agent.examples, 12, 160) ||
174
+ !strings(agent.aliases, 20, 80) ||
175
+ !strings(agent.supportCapabilities, 12, 255) ||
176
+ Object.keys(lookups).length > 32 ||
177
+ Object.entries(lookups).some(([field, code]) => !/^[A-Za-z][A-Za-z0-9_]{0,62}$/.test(field) || !nonEmptyString(code)) ||
178
+ (agent.visibility === "support" &&
179
+ (agent.supportCapabilities !== undefined || agent.inputLookups !== undefined))) {
180
+ diagnostics.push(diagnostic("AI_CAPABILITY_AGENT_DECLARATION_INVALID", `${path}.agent 必须是受限的业务任务或辅助能力声明`, `${path}.agent`));
181
+ }
182
+ }
163
183
  });
164
184
  return diagnostics;
165
185
  }
@@ -330,6 +350,17 @@ export const aiCapabilityCatalogSchema = {
330
350
  },
331
351
  },
332
352
  sideEffects: { type: "array", items: { type: "string" } },
353
+ agent: {
354
+ type: "object", additionalProperties: false,
355
+ required: ["visibility"],
356
+ properties: {
357
+ visibility: { enum: ["task", "support"] },
358
+ examples: { type: "array", maxItems: 12, uniqueItems: true, items: { type: "string" } },
359
+ aliases: { type: "array", maxItems: 20, uniqueItems: true, items: { type: "string" } },
360
+ supportCapabilities: { type: "array", maxItems: 12, uniqueItems: true, items: { type: "string" } },
361
+ inputLookups: { type: "object", maxProperties: 32, additionalProperties: { type: "string" } },
362
+ },
363
+ },
333
364
  generatedFrom: {
334
365
  type: "object",
335
366
  additionalProperties: false,
package/dist/ai.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAEhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,6BAA6B,EAAmC,MAAM,0BAA0B,CAAC;AAoE1G,MAAM,iBAAiB,GAAG,eAAe,CAAC,UAAU,CAAC;AAErD,SAAS,UAAU,CAAC,IAAY,EAAE,OAAe,EAAE,IAAY;IAC7D,OAAO;QACL,aAAa,EAAE,iBAAiB;QAChC,IAAI;QACJ,QAAQ,EAAE,OAAO;QACjB,OAAO;QACP,IAAI;QACJ,MAAM,EAAE,uBAAuB;QAC/B,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,CACL,cAAc,CAAC,KAAK,CAAC;QACrB,wEAAwE,CAAC,IAAI,CAAC,KAAK,CAAC,CACrF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,cAAc,CAAC,KAAK,CAAC,IAAI,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,CACvE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,UAAU,CACR,oBAAoB,EACpB,6BAA6B,EAC7B,GAAG,CACJ;SACF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,eAAe,CAAC,mBAAmB,EAAE,CAAC;QAChE,WAAW,CAAC,IAAI,CACd,UAAU,CACR,+BAA+B,EAC/B,qBAAqB,eAAe,CAAC,mBAAmB,EAAE,EAC1D,eAAe,CAChB,CACF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,SAAS,CAAU,EAAE,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CACd,UAAU,CAAC,4BAA4B,EAAE,GAAG,KAAK,WAAW,EAAE,KAAK,CAAC,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IACE,KAAK,CAAC,kBAAkB,KAAK,SAAS;QACtC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC;YACxC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EACnD,CAAC;QACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,kCAAkC,EAClC,uCAAuC,EACvC,oBAAoB,CACrB,CACF,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QACpD,CAAC,CAAC,KAAK,CAAC,YAAY;QACpB,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACpE,WAAW,CAAC,IAAI,CACd,UAAU,CACR,iCAAiC,EACjC,6BAA6B,EAC7B,cAAc,CACf,CACF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,gBAAgB,KAAK,GAAG,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,GAAG,IAAI,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAClE,WAAW,CAAC,IAAI,CACd,UAAU,CACR,4BAA4B,EAC5B,GAAG,IAAI,uBAAuB,EAC9B,GAAG,IAAI,OAAO,CACf,CACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CACd,UAAU,CACR,4BAA4B,EAC5B,GAAG,IAAI,iCAAiC,EACxC,GAAG,IAAI,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAClE,WAAW,CAAC,IAAI,CACd,UAAU,CACR,oCAAoC,EACpC,GAAG,IAAI,0BAA0B,EACjC,IAAI,CACL,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAClE,WAAW,CAAC,IAAI,CACd,UAAU,CAAC,4BAA4B,EAAE,GAAG,IAAI,YAAY,EAAE,GAAG,IAAI,OAAO,CAAC,CAC9E,CAAC;QACJ,CAAC;QACD,IACE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAChE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CACtB,EACD,CAAC;YACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,iCAAiC,EACjC,GAAG,IAAI,iBAAiB,EACxB,GAAG,IAAI,YAAY,CACpB,CACF,CAAC;QACJ,CAAC;QACD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAC1B,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE;YACzB,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,MAAM;YACpD,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,EACpD,CAAC;YACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,iCAAiC,EACjC,GAAG,IAAI,yBAAyB,EAChC,GAAG,IAAI,YAAY,CACpB,CACF,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,WAAW,IAAI,CAAC,aAAa,EAAE,cAAc,CAAU,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtE,WAAW,CAAC,IAAI,CACd,UAAU,CACR,8BAA8B,EAC9B,GAAG,IAAI,IAAI,WAAW,yBAAyB,EAC/C,GAAG,IAAI,IAAI,WAAW,EAAE,CACzB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;YAC/C,CAAC,CAAC,GAAG,CAAC,aAAa;YACnB,CAAC,CAAC,EAAE,CAAC;QACP,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;YAC1C,aAAa,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YACvC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAC9D,CAAC;YACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,qCAAqC,EACrC,GAAG,IAAI,mDAAmD,EAC1D,GAAG,IAAI,6BAA6B,CACrC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,oBAAoB,GACxB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3D,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC3C,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1C,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1C,CAAC,IAAI,KAAK,MAAM;gBACd,CAAC,CAAC,YAAY,KAAK,MAAM,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,MAAM;gBAC7E,CAAC,CAAC,YAAY,KAAK,UAAU,IAAI,WAAW,KAAK,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,WAAW,CAAC,IAAI,CACd,UAAU,CACR,wCAAwC,EACxC,GAAG,IAAI,mDAAmD,EAC1D,IAAI,CACL,CACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IACE,CAAC,OAAO,KAAK,SAAS;YACpB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;gBAC7B,OAAO,OAAO,KAAK,QAAQ;gBAC3B,OAAO,GAAG,CAAC;gBACX,OAAO,GAAG,GAAG,CAAC,CAAC;YACnB,CAAC,SAAS,KAAK,SAAS;gBACtB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;oBAC/B,OAAO,SAAS,KAAK,QAAQ;oBAC7B,SAAS,GAAG,GAAG;oBACf,SAAS,GAAG,KAAK,CAAC,CAAC,EACvB,CAAC;YACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,8BAA8B,EAC9B,GAAG,IAAI,oBAAoB,EAC3B,GAAG,IAAI,SAAS,CACjB,CACF,CAAC;QACJ,CAAC;QACD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YAC/B,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE;YAC3B,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,CAAC,MAAM;YACxD,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;YACjD,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,EACjD,CAAC;YACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,oCAAoC,EACpC,GAAG,IAAI,oBAAoB,EAC3B,GAAG,IAAI,cAAc,CACtB,CACF,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC/C,CAAC,CAAC,GAAG,CAAC,aAAa;gBACnB,CAAC,CAAC,EAAE,CAAC;YACP,IACE,CAAC,iBAAiB,CAAC,aAAa,CAAC,YAAY,CAAC;gBAC9C,CAAC,CACC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;oBAC5B,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CACnD;gBACD,aAAa,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS;gBACzC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CACtD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAChC,EACD,CAAC;gBACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,wCAAwC,EACxC,GAAG,IAAI,iCAAiC,EACxC,GAAG,IAAI,gBAAgB,CACxB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9D,WAAW,CAAC,IAAI,CACd,UAAU,CACR,2CAA2C,EAC3C,GAAG,IAAI,yBAAyB,EAChC,GAAG,IAAI,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,IACE,OAAO,CAAC,IAAI,KAAK,SAAS;gBAC1B,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC;gBACtC,CAAC,oCAAoC,CAAC,IAAI,CACxC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAC9B;gBACD,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CACjD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CACvB;gBACD,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC9C,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;gBAChD,GAAG,CAAC,aAAa,KAAK,SAAS,EAC/B,CAAC;gBACD,WAAW,CAAC,IAAI,CACd,UAAU,CACR,sCAAsC,EACtC,GAAG,IAAI,8BAA8B,EACrC,GAAG,IAAI,UAAU,CAClB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAc;IAEd,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAiC;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC5B,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;KACF,CAAC;IACF,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAC7D,MAAM,SAAS,GAAG;QAChB,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;QAChE,UAAU,EAAE;YACV,aAAa,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,WAAW,EAAE;YACrD,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;KACF,CAAC;IACF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB;YACnB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,gBAAgB;YACnB,OAAO,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5C,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5C,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjD,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB;YACnB,OAAO,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,eAAe,CAAC;QACrB,KAAK,aAAa,CAAC;QACnB,KAAK,mBAAmB,CAAC;QACzB,KAAK,qBAAqB;YACxB,OAAO,YAAY,CAAC;QACtB,KAAK,iBAAiB,CAAC;QACvB,KAAK,eAAe,CAAC;QACrB,KAAK,qBAAqB,CAAC;QAC3B,KAAK,uBAAuB;YAC1B,OAAO,aAAa,CAAC;QACvB,KAAK,gBAAgB;YACnB,OAAO,aAAa,CAAC;QACvB,KAAK,kBAAkB;YACrB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC7C,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;QACtD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5C,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,eAAe,CAAC;QACrB;YACE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,EAAE,eAAe,CAAC,mBAAmB;IACxC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC;IACjE,UAAU,EAAE;QACV,aAAa,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,mBAAmB,EAAE;QAC7D,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,iCAAiC;SAC3C;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;QACzC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE;QACjE,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,GAAG;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE;oBACR,MAAM;oBACN,SAAS;oBACT,MAAM;oBACN,aAAa;oBACb,MAAM;oBACN,WAAW;oBACX,WAAW;oBACX,aAAa;oBACb,cAAc;oBACd,eAAe;oBACf,MAAM;oBACN,cAAc;oBACd,aAAa;oBACb,aAAa;oBACb,QAAQ;oBACR,aAAa;iBACd;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,OAAO,EACL,yEAAyE;qBAC5E;oBACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;oBACtC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;oBAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE;oBACjD,SAAS,EAAE;wBACT,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;qBAC/D;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,EAAE;wBACZ,WAAW,EAAE,IAAI;wBACjB,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,iCAAiC;yBAC3C;qBACF;oBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,aAAa,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,QAAQ,EAAE,CAAC,cAAc,CAAC;wBAC1B,UAAU,EAAE;4BACV,YAAY,EAAE;gCACZ,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,CAAC;gCACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC1B;yBACF;qBACF;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE;oBAC5D,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;oBAC5C,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;oBAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;oBAC3C,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,UAAU,EAAE;4BACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;4BACtD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;yBAC7D;qBACF;oBACD,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;oBACzD,aAAa,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,QAAQ,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;wBACvC,UAAU,EAAE;4BACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAChC,SAAS,EAAE;gCACT,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;6BACrD;yBACF;qBACF;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC;wBACrD,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;4BAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;4BAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;4BAC3D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE;yBACxD;qBACF;iBACF;aACF;SACF;KACF;CACO,CAAC"}
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
package/dist/browser.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /** Browser-safe contract surface. Node-only canonical hashing stays on the root export. */
2
+ export * from './concurrency.js';
2
3
  export * from './field-values.js';
3
4
  export * from './event-catalog.js';
4
5
  export * from './ai.js';
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
package/dist/browser.js CHANGED
@@ -1,4 +1,5 @@
1
1
  /** Browser-safe contract surface. Node-only canonical hashing stays on the root export. */
2
+ export * from './concurrency.js';
2
3
  export * from './field-values.js';
3
4
  export * from './event-catalog.js';
4
5
  export * from './ai.js';
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,145 @@
1
+ /** Optional platform-owned concurrency. No application Redis, SQL or worker code. */
2
+ export type ConcurrencyParameter = {
3
+ type: 'uuid';
4
+ } | {
5
+ type: 'string';
6
+ values: string[];
7
+ } | {
8
+ type: 'integer';
9
+ minimum: number;
10
+ maximum: number;
11
+ };
12
+ export type ConcurrencyBinding = {
13
+ from: 'input';
14
+ key: string;
15
+ } | {
16
+ from: 'actor';
17
+ } | {
18
+ from: 'literal';
19
+ value: string | number | boolean | null;
20
+ } | {
21
+ from: 'allocation';
22
+ };
23
+ export interface ManagedReadDeclaration {
24
+ code: string;
25
+ resourceCode: string;
26
+ parameters: Record<string, ConcurrencyParameter>;
27
+ select: string[];
28
+ where?: Array<{
29
+ field: string;
30
+ value: ConcurrencyBinding;
31
+ }>;
32
+ limit: number;
33
+ scope: 'subject' | 'application';
34
+ freshSeconds: number;
35
+ staleSeconds: number;
36
+ maxKeys: number;
37
+ sourcePerSecond: number;
38
+ /** Fields whose changes invalidate the snapshot; select/filter fields are mandatory. */
39
+ dependencies: string[];
40
+ }
41
+ export interface AdmissionPolicy {
42
+ perSecond: number;
43
+ burst: number;
44
+ maxInFlight: number;
45
+ maxQueue: number;
46
+ maxWaitSeconds: number;
47
+ permitSeconds: number;
48
+ }
49
+ export interface IntegerQuotaDeclaration {
50
+ code: string;
51
+ sourceResource: string;
52
+ capacityField: string;
53
+ allocationResource: string;
54
+ allocationField: string;
55
+ /** Omit to allow immediate committed allocations only. */
56
+ reservationSeconds?: number;
57
+ }
58
+ export interface QueuedCommandDeclaration {
59
+ code: string;
60
+ capability: string;
61
+ parameters: Record<string, ConcurrencyParameter>;
62
+ resourceKey: ConcurrencyBinding;
63
+ admission: AdmissionPolicy;
64
+ deadlineSeconds: number;
65
+ guards?: Array<{
66
+ resourceCode: string;
67
+ id: ConcurrencyBinding;
68
+ conditions: Array<{
69
+ kind?: 'value';
70
+ field: string;
71
+ operator: 'eq' | 'neq' | 'lt' | 'lte' | 'gt' | 'gte';
72
+ value: ConcurrencyBinding;
73
+ } | {
74
+ kind: 'database-now';
75
+ field: string;
76
+ operator: 'lt' | 'lte' | 'gt' | 'gte';
77
+ }>;
78
+ }>;
79
+ operations: Array<{
80
+ operation: 'create' | 'update';
81
+ resourceCode: string;
82
+ id?: ConcurrencyBinding;
83
+ expectedRevision?: ConcurrencyBinding;
84
+ data: Record<string, ConcurrencyBinding>;
85
+ }>;
86
+ quota?: {
87
+ pool: string;
88
+ action: 'allocate' | 'confirm' | 'release';
89
+ units?: number;
90
+ mode?: 'reserved' | 'committed';
91
+ allocation?: ConcurrencyBinding;
92
+ };
93
+ }
94
+ export interface ManagedConcurrencyDeclaration {
95
+ version: 1;
96
+ /** Shared by all command/resource queues in this application and environment. */
97
+ admission: {
98
+ perSecond: number;
99
+ burst: number;
100
+ maxInFlight: number;
101
+ };
102
+ reads: ManagedReadDeclaration[];
103
+ quotas: IntegerQuotaDeclaration[];
104
+ commands: QueuedCommandDeclaration[];
105
+ }
106
+ export interface ManagedReadResult<T = Record<string, unknown>> {
107
+ items: T[];
108
+ generatedAt: string;
109
+ freshUntil: string;
110
+ staleUntil: string;
111
+ version: string;
112
+ freshness: 'fresh' | 'stale';
113
+ }
114
+ export type CommandState = 'accepted' | 'executing' | 'retry_wait' | 'succeeded' | 'rejected' | 'expired' | 'cancelled';
115
+ export interface CommandReceipt {
116
+ operationId: string;
117
+ command: string;
118
+ requestKey: string;
119
+ state: CommandState;
120
+ acceptedAt: string;
121
+ retryAfterMs: number;
122
+ result?: {
123
+ items?: Array<{
124
+ id: string;
125
+ revision?: number;
126
+ }>;
127
+ allocation?: {
128
+ id: string;
129
+ state: string;
130
+ units: number;
131
+ expiresAt: string | null;
132
+ };
133
+ };
134
+ errorCode?: string;
135
+ }
136
+ export interface WaitingReceipt {
137
+ state: 'waiting' | 'admitted' | 'expired';
138
+ ticket: string;
139
+ requestKey: string;
140
+ retryAfterMs: number;
141
+ position?: number;
142
+ permit?: string;
143
+ expiresAt: string;
144
+ }
145
+ //# sourceMappingURL=concurrency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../src/concurrency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=concurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../src/concurrency.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './canonical.js';
2
+ export * from './concurrency.js';
2
3
  export * from './native-compiler/decimal-reservation.js';
3
4
  export * from './native-compiler/data-audit-access.js';
4
5
  export * from './ai.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './canonical.js';
2
+ export * from './concurrency.js';
2
3
  export * from './native-compiler/decimal-reservation.js';
3
4
  export * from './native-compiler/data-audit-access.js';
4
5
  export * from './ai.js';
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,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/native-compiler/compiler.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,kCAAkC,IAAI,uCAAuC,EACnF,MAAM,aAAa,CAAC;AAyBrB,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAC3E,QAAA,MAAM,yBAAyB,YAA2C,CAAC;AAgF3E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;EAe7B,CAAC;AACZ,eAAO,MAAM,mBAAmB,6HAItB,CAAC;AACX,eAAO,MAAM,uBAAuB,u/CAkC1B,CAAC;AAGX,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1C,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B,CAAC,CAAC,GAAG,UAAU;IAC3D,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,uBAAuB,EAAE,OAAO,yBAAyB,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE;QACX,KAAK,EAAE,6BAA6B,CAAC;QACrC,IAAI,EAAE,6BAA6B,CAAC;QACpC,MAAM,EAAE,6BAA6B,CAAC;QACtC,SAAS,EAAE,6BAA6B,CAAC;QACzC,OAAO,EAAE,6BAA6B,CAAC;QACvC,SAAS,EAAE,6BAA6B,CAAC;KAC1C,CAAC;IACF,4BAA4B,EAAE,uCAAuC,EAAE,CAAC;IACxE,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAG3C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAY5C;AAED,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,gCAAgC,GACtC,iCAAiC,CAkJnC;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,UAAU,GACjB,uCAAuC,EAAE,CAoT3C;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;CAChC,GAAG,wBAAwB,EAAE,CA4J7B"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/native-compiler/compiler.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,kCAAkC,IAAI,uCAAuC,EACnF,MAAM,aAAa,CAAC;AAyBrB,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAC3E,QAAA,MAAM,yBAAyB,YAA2C,CAAC;AAgF3E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;EAe7B,CAAC;AACZ,eAAO,MAAM,mBAAmB,6HAItB,CAAC;AACX,eAAO,MAAM,uBAAuB,u/CAkC1B,CAAC;AAGX,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1C,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B,CAAC,CAAC,GAAG,UAAU;IAC3D,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,uBAAuB,EAAE,OAAO,yBAAyB,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE;QACX,KAAK,EAAE,6BAA6B,CAAC;QACrC,IAAI,EAAE,6BAA6B,CAAC;QACpC,MAAM,EAAE,6BAA6B,CAAC;QACtC,SAAS,EAAE,6BAA6B,CAAC;QACzC,OAAO,EAAE,6BAA6B,CAAC;QACvC,SAAS,EAAE,6BAA6B,CAAC;KAC1C,CAAC;IACF,4BAA4B,EAAE,uCAAuC,EAAE,CAAC;IACxE,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAG3C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAY5C;AAED,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,gCAAgC,GACtC,iCAAiC,CAmJnC;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,UAAU,GACjB,uCAAuC,EAAE,CAqT3C;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;CAChC,GAAG,wBAAwB,EAAE,CA4J7B"}
@@ -1,4 +1,5 @@
1
1
  import { NativeUniqueKeyContractError, parseNativeUniqueKeys } from './unique-keys.js';
2
+ import { validateManagedConcurrency, ManagedConcurrencyContractError } from './managed-concurrency.js';
2
3
  import { normalizeDecimalReservationEventDeclaration, decimalReservationEventContext } from './decimal-reservation.js';
3
4
  import { NativeDecimalLifecycleContractError, parseDecimalReservationLifecycle, validateDecimalReservationLifecycles } from './decimal-lifecycle.js';
4
5
  import { compileNativeEventAction } from './event-action.js';
@@ -201,6 +202,7 @@ export function compileNativeApplicationConfiguration(input) {
201
202
  appCode,
202
203
  resources: config.data.resources,
203
204
  resourceContracts: expectedContract.resources,
205
+ ...(expectedContract.concurrency ? { concurrency: expectedContract.concurrency } : {}),
204
206
  ...(expectedContract.subjectReadSurfaces
205
207
  ? { subjectReadSurfaces: expectedContract.subjectReadSurfaces }
206
208
  : {}),
@@ -326,6 +328,7 @@ export function compileRequiredPlatformCapabilitiesV3(config) {
326
328
  ...(resources.some(resource => resource.uniqueKeys?.length)
327
329
  ? [{ code: 'data.unique-keys', declaration: resources.filter(resource => resource.uniqueKeys?.length)
328
330
  .map(resource => ({ code: resource.code, uniqueKeys: resource.uniqueKeys })) }] : []),
331
+ ...(config.data.concurrency ? [{ code: 'data.managed-concurrency', declaration: config.data.concurrency }] : []),
329
332
  ...(resources.some(resource => resource.decimalReservationLifecycle)
330
333
  ? [{ code: 'data.decimal-reservation-lifecycle',
331
334
  declaration: resources.filter(resource => resource.decimalReservationLifecycle)
@@ -738,6 +741,7 @@ function validateConfigurationEnvelope(config, appCode) {
738
741
  exactKeys(data, ['resources'], '/config/data', [
739
742
  'resourceDetailRoutes',
740
743
  'subjectReadSurfaces',
744
+ 'concurrency',
741
745
  ]);
742
746
  boundedArray(data.resources, '/config/data/resources', 100);
743
747
  if (data.subjectReadSurfaces !== undefined) {
@@ -818,6 +822,7 @@ function validateContractEnvelope(contract, appCode, configDigest) {
818
822
  'publicAccess',
819
823
  'adminAccess',
820
824
  'subjectReadSurfaces',
825
+ 'concurrency',
821
826
  ]);
822
827
  equal(contract.schemaVersion, CONTRACT_SCHEMA, '/contracts/schemaVersion');
823
828
  equal(contract.compilerContractVersion, COMPILER_CONTRACT_VERSION, '/contracts/compilerContractVersion');
@@ -951,6 +956,15 @@ function compileExpectedContract(config, configDigest, generatorVersion) {
951
956
  ]);
952
957
  validateAdminNavigationReferences(config);
953
958
  const adminPages = compileAdminPages(config);
959
+ let concurrency;
960
+ try {
961
+ concurrency = validateManagedConcurrency(config.data.concurrency, config.data.resources, capabilities);
962
+ }
963
+ catch (error) {
964
+ if (error instanceof ManagedConcurrencyContractError)
965
+ fail(error.code, error.pointer, { reason: error.reason });
966
+ throw error;
967
+ }
954
968
  const subjectReadSurfaces = compileSubjectReadSurfaces(config, capabilities);
955
969
  const operations = compileOperations(config);
956
970
  try {
@@ -970,6 +984,7 @@ function compileExpectedContract(config, configDigest, generatorVersion) {
970
984
  perspectives: config.perspectives,
971
985
  resources: compileResources(config),
972
986
  ...(subjectReadSurfaces.length ? { subjectReadSurfaces } : {}),
987
+ ...(concurrency ? { concurrency } : {}),
973
988
  capabilities: sorted(capabilities, item => item.code),
974
989
  operations,
975
990
  eventConsumers,
@@ -3541,7 +3556,7 @@ function validateAuthorizationReferences(config, capabilities) {
3541
3556
  const surface = resource.surface === undefined
3542
3557
  ? {}
3543
3558
  : object(resource.surface, `${resourcePointer}/surface`);
3544
- if ((surface.mutationOwner || 'native') === 'native')
3559
+ if (['native', 'queued-command'].includes(surface.mutationOwner || 'native'))
3545
3560
  return;
3546
3561
  const resourceCapabilities = object(resource.capabilities, `${resourcePointer}/capabilities`);
3547
3562
  for (const operation of ['create', 'update', 'delete']) {