@xemahq/kernel-contracts 0.7.0 → 0.9.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 (69) hide show
  1. package/dist/agent-composition/index.d.ts +3 -3
  2. package/dist/agent-composition/index.d.ts.map +1 -1
  3. package/dist/agent-composition/index.js +3 -3
  4. package/dist/agent-composition/index.js.map +1 -1
  5. package/dist/agent-composition/lib/agent-limits-schema.d.ts +4 -0
  6. package/dist/agent-composition/lib/agent-limits-schema.d.ts.map +1 -0
  7. package/dist/agent-composition/lib/agent-limits-schema.js +13 -0
  8. package/dist/agent-composition/lib/agent-limits-schema.js.map +1 -0
  9. package/dist/agent-composition/lib/agent-workspace-config.d.ts +37 -0
  10. package/dist/agent-composition/lib/agent-workspace-config.d.ts.map +1 -0
  11. package/dist/agent-composition/lib/agent-workspace-config.js +9 -0
  12. package/dist/agent-composition/lib/agent-workspace-config.js.map +1 -0
  13. package/dist/agent-composition/lib/agent.d.ts +65 -0
  14. package/dist/agent-composition/lib/agent.d.ts.map +1 -0
  15. package/dist/agent-composition/lib/agent.js +18 -0
  16. package/dist/agent-composition/lib/agent.js.map +1 -0
  17. package/dist/agent-workspace/awp-spec.json +1 -1
  18. package/dist/biome/lib/biome-manifest.d.ts +880 -27
  19. package/dist/biome/lib/biome-manifest.d.ts.map +1 -1
  20. package/dist/biome/lib/biome-manifest.js +507 -20
  21. package/dist/biome/lib/biome-manifest.js.map +1 -1
  22. package/dist/distribution/lib/distribution-selector.d.ts +2 -0
  23. package/dist/distribution/lib/distribution-selector.d.ts.map +1 -1
  24. package/dist/distribution/lib/distribution-selector.js +6 -2
  25. package/dist/distribution/lib/distribution-selector.js.map +1 -1
  26. package/dist/resource/index.d.ts +7 -0
  27. package/dist/resource/index.d.ts.map +1 -0
  28. package/dist/resource/index.js +23 -0
  29. package/dist/resource/index.js.map +1 -0
  30. package/dist/resource/lib/plan.d.ts +31 -0
  31. package/dist/resource/lib/plan.d.ts.map +1 -0
  32. package/dist/resource/lib/plan.js +32 -0
  33. package/dist/resource/lib/plan.js.map +1 -0
  34. package/dist/resource/lib/resource-declaration.d.ts +15 -0
  35. package/dist/resource/lib/resource-declaration.d.ts.map +1 -0
  36. package/dist/resource/lib/resource-declaration.js +32 -0
  37. package/dist/resource/lib/resource-declaration.js.map +1 -0
  38. package/dist/resource/lib/resource-kind.d.ts +20 -0
  39. package/dist/resource/lib/resource-kind.d.ts.map +1 -0
  40. package/dist/resource/lib/resource-kind.js +24 -0
  41. package/dist/resource/lib/resource-kind.js.map +1 -0
  42. package/dist/resource/lib/resource-managed-by.d.ts +9 -0
  43. package/dist/resource/lib/resource-managed-by.d.ts.map +1 -0
  44. package/dist/resource/lib/resource-managed-by.js +13 -0
  45. package/dist/resource/lib/resource-managed-by.js.map +1 -0
  46. package/dist/resource/lib/stack.d.ts +22 -0
  47. package/dist/resource/lib/stack.d.ts.map +1 -0
  48. package/dist/resource/lib/stack.js +23 -0
  49. package/dist/resource/lib/stack.js.map +1 -0
  50. package/dist/resource/lib/xema-manifest.d.ts +11 -0
  51. package/dist/resource/lib/xema-manifest.d.ts.map +1 -0
  52. package/dist/resource/lib/xema-manifest.js +47 -0
  53. package/dist/resource/lib/xema-manifest.js.map +1 -0
  54. package/package.json +1 -1
  55. package/src/agent-composition/index.ts +3 -3
  56. package/src/agent-composition/lib/{composition-limits-schema.ts → agent-limits-schema.ts} +1 -1
  57. package/src/agent-composition/lib/{composition.ts → agent.ts} +1 -1
  58. package/src/biome/lib/biome-manifest.ts +1140 -66
  59. package/src/distribution/lib/distribution-selector.ts +16 -4
  60. package/src/invocation/lib/invoke-request.ts +1 -1
  61. package/src/invocation/lib/invoke-response.ts +1 -1
  62. package/src/resource/index.ts +22 -0
  63. package/src/resource/lib/plan.ts +83 -0
  64. package/src/resource/lib/resource-declaration.ts +67 -0
  65. package/src/resource/lib/resource-kind.ts +37 -0
  66. package/src/resource/lib/resource-managed-by.ts +29 -0
  67. package/src/resource/lib/stack.ts +61 -0
  68. package/src/resource/lib/xema-manifest.ts +86 -0
  69. /package/src/agent-composition/lib/{composition-workspace.ts → agent-workspace-config.ts} +0 -0
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./lib/resource-kind"), exports);
18
+ __exportStar(require("./lib/resource-managed-by"), exports);
19
+ __exportStar(require("./lib/resource-declaration"), exports);
20
+ __exportStar(require("./lib/xema-manifest"), exports);
21
+ __exportStar(require("./lib/stack"), exports);
22
+ __exportStar(require("./lib/plan"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resource/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgBA,sDAAoC;AACpC,4DAA0C;AAC1C,6DAA2C;AAC3C,sDAAoC;AACpC,8CAA4B;AAC5B,6CAA2B"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ import { XemaResourceKind } from './resource-kind';
3
+ export declare enum ResourceChangeAction {
4
+ Create = "create",
5
+ Update = "update",
6
+ Replace = "replace",
7
+ Delete = "delete",
8
+ NoOp = "noop"
9
+ }
10
+ export declare const ResourceChangeActionSchema: z.ZodEnum<typeof ResourceChangeAction>;
11
+ export interface ResourceFieldDiff {
12
+ from: unknown;
13
+ to: unknown;
14
+ }
15
+ export declare const ResourceFieldDiffSchema: z.ZodType<ResourceFieldDiff>;
16
+ export interface ResourceChange {
17
+ kind: XemaResourceKind;
18
+ logicalId: string;
19
+ action: ResourceChangeAction;
20
+ physicalId?: string;
21
+ driftFromActual?: boolean;
22
+ diff?: Record<string, ResourceFieldDiff>;
23
+ }
24
+ export declare const ResourceChangeSchema: z.ZodType<ResourceChange>;
25
+ export interface ResourcePlan {
26
+ stackName: string;
27
+ changes: readonly ResourceChange[];
28
+ driftDetected: boolean;
29
+ }
30
+ export declare const ResourcePlanSchema: z.ZodType<ResourcePlan>;
31
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/resource/lib/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAA0B,MAAM,iBAAiB,CAAC;AAa3E,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,eAAO,MAAM,0BAA0B,wCAAqC,CAAC;AAM7E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;CACb;AAED,eAAO,MAAM,uBAAuB,EAG9B,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAWnC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,gBAAgB,CAAC;IAEvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,oBAAoB,CAAC;IAE7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,oBAAoB,EAO3B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAOhC,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IACnC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,EAIzB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResourcePlanSchema = exports.ResourceChangeSchema = exports.ResourceFieldDiffSchema = exports.ResourceChangeActionSchema = exports.ResourceChangeAction = void 0;
4
+ const zod_1 = require("zod");
5
+ const resource_kind_1 = require("./resource-kind");
6
+ var ResourceChangeAction;
7
+ (function (ResourceChangeAction) {
8
+ ResourceChangeAction["Create"] = "create";
9
+ ResourceChangeAction["Update"] = "update";
10
+ ResourceChangeAction["Replace"] = "replace";
11
+ ResourceChangeAction["Delete"] = "delete";
12
+ ResourceChangeAction["NoOp"] = "noop";
13
+ })(ResourceChangeAction || (exports.ResourceChangeAction = ResourceChangeAction = {}));
14
+ exports.ResourceChangeActionSchema = zod_1.z.nativeEnum(ResourceChangeAction);
15
+ exports.ResourceFieldDiffSchema = zod_1.z.object({
16
+ from: zod_1.z.unknown(),
17
+ to: zod_1.z.unknown(),
18
+ });
19
+ exports.ResourceChangeSchema = zod_1.z.object({
20
+ kind: resource_kind_1.XemaResourceKindSchema,
21
+ logicalId: zod_1.z.string().min(1),
22
+ action: exports.ResourceChangeActionSchema,
23
+ physicalId: zod_1.z.string().min(1).optional(),
24
+ driftFromActual: zod_1.z.boolean().optional(),
25
+ diff: zod_1.z.record(zod_1.z.string(), exports.ResourceFieldDiffSchema).optional(),
26
+ });
27
+ exports.ResourcePlanSchema = zod_1.z.object({
28
+ stackName: zod_1.z.string().min(1),
29
+ changes: zod_1.z.array(exports.ResourceChangeSchema).readonly(),
30
+ driftDetected: zod_1.z.boolean(),
31
+ });
32
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/resource/lib/plan.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,mDAA2E;AAa3E,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,yCAAiB,CAAA;IACjB,2CAAmB,CAAA;IACnB,yCAAiB,CAAA;IACjB,qCAAa,CAAA;AACf,CAAC,EANW,oBAAoB,oCAApB,oBAAoB,QAM/B;AAEY,QAAA,0BAA0B,GAAG,OAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAWhE,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,OAAC,CAAC,OAAO,EAAE;IACjB,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE;CAChB,CAAiC,CAAC;AAsBtB,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,sCAAsB;IAC5B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,kCAA0B;IAClC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,eAAe,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,+BAAuB,CAAC,CAAC,QAAQ,EAAE;CAC/D,CAA8B,CAAC;AAanB,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,4BAAoB,CAAC,CAAC,QAAQ,EAAE;IACjD,aAAa,EAAE,OAAC,CAAC,OAAO,EAAE;CAC3B,CAA4B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { XemaResourceKind } from './resource-kind';
3
+ export type ResourceLogicalRef = string;
4
+ export interface ResourceDeclaration {
5
+ kind: XemaResourceKind;
6
+ id: string;
7
+ managedKey?: string;
8
+ dependsOn?: readonly ResourceLogicalRef[];
9
+ spec: Record<string, unknown>;
10
+ }
11
+ export declare const ResourceLogicalRefSchema: z.ZodString;
12
+ export declare const ResourceDeclarationSchema: z.ZodType<ResourceDeclaration>;
13
+ export declare function logicalRefOf(decl: Pick<ResourceDeclaration, 'kind' | 'id'>): ResourceLogicalRef;
14
+ export declare function managedKeyOf(decl: ResourceDeclaration): string;
15
+ //# sourceMappingURL=resource-declaration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-declaration.d.ts","sourceRoot":"","sources":["../../../src/resource/lib/resource-declaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAA0B,MAAM,iBAAiB,CAAC;AAO3E,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAiBxC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAID,eAAO,MAAM,wBAAwB,aAKjC,CAAC;AAEL,eAAO,MAAM,yBAAyB,EAYhC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAGrC,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC,GAC7C,kBAAkB,CAEpB;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAE9D"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResourceDeclarationSchema = exports.ResourceLogicalRefSchema = void 0;
4
+ exports.logicalRefOf = logicalRefOf;
5
+ exports.managedKeyOf = managedKeyOf;
6
+ const zod_1 = require("zod");
7
+ const resource_kind_1 = require("./resource-kind");
8
+ const LOGICAL_REF_RE = /^[a-z0-9-]+\.[A-Za-z0-9._-]+$/;
9
+ exports.ResourceLogicalRefSchema = zod_1.z
10
+ .string()
11
+ .regex(LOGICAL_REF_RE, {
12
+ message: 'A resource ref must be "<kind>.<id>" (e.g. "project.web-app").',
13
+ });
14
+ exports.ResourceDeclarationSchema = zod_1.z.object({
15
+ kind: resource_kind_1.XemaResourceKindSchema,
16
+ id: zod_1.z
17
+ .string()
18
+ .min(1)
19
+ .regex(/^[A-Za-z0-9._-]+$/, {
20
+ message: 'ResourceDeclaration.id must be a stable slug ([A-Za-z0-9._-]+).',
21
+ }),
22
+ managedKey: zod_1.z.string().min(1).optional(),
23
+ dependsOn: zod_1.z.array(exports.ResourceLogicalRefSchema).readonly().optional(),
24
+ spec: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()),
25
+ });
26
+ function logicalRefOf(decl) {
27
+ return `${decl.kind}.${decl.id}`;
28
+ }
29
+ function managedKeyOf(decl) {
30
+ return decl.managedKey ?? decl.id;
31
+ }
32
+ //# sourceMappingURL=resource-declaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-declaration.js","sourceRoot":"","sources":["../../../src/resource/lib/resource-declaration.ts"],"names":[],"mappings":";;;AAyDA,oCAIC;AAGD,oCAEC;AAlED,6BAAwB;AACxB,mDAA2E;AAgC3E,MAAM,cAAc,GAAG,+BAA+B,CAAC;AAE1C,QAAA,wBAAwB,GAAG,OAAC;KACtC,MAAM,EAAE;KACR,KAAK,CAAC,cAAc,EAAE;IACrB,OAAO,EACL,gEAAgE;CACnE,CAAC,CAAC;AAEQ,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,sCAAsB;IAC5B,EAAE,EAAE,OAAC;SACF,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,mBAAmB,EAAE;QAC1B,OAAO,EACL,iEAAiE;KACpE,CAAC;IACJ,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,gCAAwB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClE,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;CACxC,CAAmC,CAAC;AAGrC,SAAgB,YAAY,CAC1B,IAA8C;IAE9C,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;AACnC,CAAC;AAGD,SAAgB,YAAY,CAAC,IAAyB;IACpD,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ export declare enum XemaResourceKind {
3
+ Org = "org",
4
+ Project = "project",
5
+ Portal = "portal",
6
+ BiomeInstall = "biome-install",
7
+ Provider = "provider",
8
+ Model = "model",
9
+ ModelResolutionRule = "model-resolution-rule",
10
+ Skill = "skill",
11
+ Agent = "agent",
12
+ Role = "role",
13
+ Grant = "grant",
14
+ Space = "space",
15
+ Environment = "environment",
16
+ Team = "team",
17
+ DeliverableSpec = "deliverable-spec"
18
+ }
19
+ export declare const XemaResourceKindSchema: z.ZodEnum<typeof XemaResourceKind>;
20
+ //# sourceMappingURL=resource-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-kind.d.ts","sourceRoot":"","sources":["../../../src/resource/lib/resource-kind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,oBAAY,gBAAgB;IAC1B,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,YAAY,kBAAkB;IAC9B,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,mBAAmB,0BAA0B;IAC7C,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,eAAe,qBAAqB;CACrC;AAED,eAAO,MAAM,sBAAsB,oCAAiC,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XemaResourceKindSchema = exports.XemaResourceKind = void 0;
4
+ const zod_1 = require("zod");
5
+ var XemaResourceKind;
6
+ (function (XemaResourceKind) {
7
+ XemaResourceKind["Org"] = "org";
8
+ XemaResourceKind["Project"] = "project";
9
+ XemaResourceKind["Portal"] = "portal";
10
+ XemaResourceKind["BiomeInstall"] = "biome-install";
11
+ XemaResourceKind["Provider"] = "provider";
12
+ XemaResourceKind["Model"] = "model";
13
+ XemaResourceKind["ModelResolutionRule"] = "model-resolution-rule";
14
+ XemaResourceKind["Skill"] = "skill";
15
+ XemaResourceKind["Agent"] = "agent";
16
+ XemaResourceKind["Role"] = "role";
17
+ XemaResourceKind["Grant"] = "grant";
18
+ XemaResourceKind["Space"] = "space";
19
+ XemaResourceKind["Environment"] = "environment";
20
+ XemaResourceKind["Team"] = "team";
21
+ XemaResourceKind["DeliverableSpec"] = "deliverable-spec";
22
+ })(XemaResourceKind || (exports.XemaResourceKind = XemaResourceKind = {}));
23
+ exports.XemaResourceKindSchema = zod_1.z.nativeEnum(XemaResourceKind);
24
+ //# sourceMappingURL=resource-kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-kind.js","sourceRoot":"","sources":["../../../src/resource/lib/resource-kind.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAkBxB,IAAY,gBAgBX;AAhBD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,kDAA8B,CAAA;IAC9B,yCAAqB,CAAA;IACrB,mCAAe,CAAA;IACf,iEAA6C,CAAA;IAC7C,mCAAe,CAAA;IACf,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,mCAAe,CAAA;IACf,+CAA2B,CAAA;IAC3B,iCAAa,CAAA;IACb,wDAAoC,CAAA;AACtC,CAAC,EAhBW,gBAAgB,gCAAhB,gBAAgB,QAgB3B;AAEY,QAAA,sBAAsB,GAAG,OAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ export declare enum ResourceManagedBy {
3
+ Ui = "ui",
4
+ Iac = "iac",
5
+ Seeder = "seeder",
6
+ System = "system"
7
+ }
8
+ export declare const ResourceManagedBySchema: z.ZodEnum<typeof ResourceManagedBy>;
9
+ //# sourceMappingURL=resource-managed-by.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-managed-by.d.ts","sourceRoot":"","sources":["../../../src/resource/lib/resource-managed-by.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,oBAAY,iBAAiB;IAC3B,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,uBAAuB,qCAAkC,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResourceManagedBySchema = exports.ResourceManagedBy = void 0;
4
+ const zod_1 = require("zod");
5
+ var ResourceManagedBy;
6
+ (function (ResourceManagedBy) {
7
+ ResourceManagedBy["Ui"] = "ui";
8
+ ResourceManagedBy["Iac"] = "iac";
9
+ ResourceManagedBy["Seeder"] = "seeder";
10
+ ResourceManagedBy["System"] = "system";
11
+ })(ResourceManagedBy || (exports.ResourceManagedBy = ResourceManagedBy = {}));
12
+ exports.ResourceManagedBySchema = zod_1.z.nativeEnum(ResourceManagedBy);
13
+ //# sourceMappingURL=resource-managed-by.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-managed-by.js","sourceRoot":"","sources":["../../../src/resource/lib/resource-managed-by.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAqBxB,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,8BAAS,CAAA;IACT,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,sCAAiB,CAAA;AACnB,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B;AAEY,QAAA,uBAAuB,GAAG,OAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { XemaResourceKind } from './resource-kind';
3
+ import { XemaManifest } from './xema-manifest';
4
+ export interface ResourceMapping {
5
+ logicalId: string;
6
+ kind: XemaResourceKind;
7
+ physicalId: string;
8
+ managedKey: string;
9
+ lastAppliedHash: string;
10
+ }
11
+ export declare const ResourceMappingSchema: z.ZodType<ResourceMapping>;
12
+ export interface Stack {
13
+ schemaVersion: 1;
14
+ stackId: string;
15
+ orgId: string;
16
+ name: string;
17
+ lastAppliedManifest?: XemaManifest;
18
+ mappings: readonly ResourceMapping[];
19
+ updatedAt?: string;
20
+ }
21
+ export declare const StackSchema: z.ZodType<Stack>;
22
+ //# sourceMappingURL=stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/resource/lib/stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAA0B,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AASnE,MAAM,WAAW,eAAe;IAE9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IAEvB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;IAEnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB,EAM5B,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAWjC,MAAM,WAAW,KAAK;IACpB,aAAa,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAEb,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAErC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAQlB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StackSchema = exports.ResourceMappingSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const resource_kind_1 = require("./resource-kind");
6
+ const xema_manifest_1 = require("./xema-manifest");
7
+ exports.ResourceMappingSchema = zod_1.z.object({
8
+ logicalId: zod_1.z.string().min(1),
9
+ kind: resource_kind_1.XemaResourceKindSchema,
10
+ physicalId: zod_1.z.string().min(1),
11
+ managedKey: zod_1.z.string().min(1),
12
+ lastAppliedHash: zod_1.z.string().min(1),
13
+ });
14
+ exports.StackSchema = zod_1.z.object({
15
+ schemaVersion: zod_1.z.literal(1),
16
+ stackId: zod_1.z.string().min(1),
17
+ orgId: zod_1.z.string().min(1),
18
+ name: zod_1.z.string().min(1),
19
+ lastAppliedManifest: xema_manifest_1.XemaManifestSchema.optional(),
20
+ mappings: zod_1.z.array(exports.ResourceMappingSchema).readonly(),
21
+ updatedAt: zod_1.z.string().min(1).optional(),
22
+ });
23
+ //# sourceMappingURL=stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../src/resource/lib/stack.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,mDAA2E;AAC3E,mDAAmE;AAqBtD,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,IAAI,EAAE,sCAAsB;IAC5B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACnC,CAA+B,CAAC;AAuBpB,QAAA,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,mBAAmB,EAAE,kCAAkB,CAAC,QAAQ,EAAE;IAClD,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,6BAAqB,CAAC,CAAC,QAAQ,EAAE;IACnD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAqB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ import { ResourceDeclaration } from './resource-declaration';
3
+ export type XemaManifestApiVersion = 'xema/v1';
4
+ export interface XemaManifest {
5
+ apiVersion: XemaManifestApiVersion;
6
+ stack?: string;
7
+ resources: readonly ResourceDeclaration[];
8
+ }
9
+ export declare const XemaManifestSchema: z.ZodType<XemaManifest>;
10
+ export declare function parseXemaManifest(raw: unknown): XemaManifest;
11
+ //# sourceMappingURL=xema-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xema-manifest.d.ts","sourceRoot":"","sources":["../../../src/resource/lib/xema-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,mBAAmB,EAGpB,MAAM,wBAAwB,CAAC;AAQhC,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAe/C,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,sBAAsB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC3C;AAED,eAAO,MAAM,kBAAkB,EAkCZ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAO3C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAU5D"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XemaManifestSchema = void 0;
4
+ exports.parseXemaManifest = parseXemaManifest;
5
+ const zod_1 = require("zod");
6
+ const resource_declaration_1 = require("./resource-declaration");
7
+ exports.XemaManifestSchema = zod_1.z
8
+ .object({
9
+ apiVersion: zod_1.z.literal('xema/v1'),
10
+ stack: zod_1.z.string().min(1).optional(),
11
+ resources: zod_1.z.array(resource_declaration_1.ResourceDeclarationSchema).readonly(),
12
+ })
13
+ .superRefine((manifest, ctx) => {
14
+ const seen = new Set();
15
+ manifest.resources.forEach((decl, index) => {
16
+ const ref = (0, resource_declaration_1.logicalRefOf)(decl);
17
+ if (seen.has(ref)) {
18
+ ctx.addIssue({
19
+ code: zod_1.z.ZodIssueCode.custom,
20
+ path: ['resources', index],
21
+ message: `Duplicate resource ref "${ref}" — every (kind, id) must be unique within a manifest.`,
22
+ });
23
+ }
24
+ seen.add(ref);
25
+ });
26
+ manifest.resources.forEach((decl, index) => {
27
+ for (const dep of decl.dependsOn ?? []) {
28
+ if (!seen.has(dep)) {
29
+ ctx.addIssue({
30
+ code: zod_1.z.ZodIssueCode.custom,
31
+ path: ['resources', index, 'dependsOn'],
32
+ message: `dependsOn "${dep}" does not match any resource declared in this manifest.`,
33
+ });
34
+ }
35
+ }
36
+ });
37
+ });
38
+ function parseXemaManifest(raw) {
39
+ const result = exports.XemaManifestSchema.safeParse(raw);
40
+ if (!result.success) {
41
+ throw new Error(`Invalid xema.yaml: ${result.error.issues
42
+ .map((i) => `[${i.path.join('.')}] ${i.message}`)
43
+ .join('; ')}`);
44
+ }
45
+ return result.data;
46
+ }
47
+ //# sourceMappingURL=xema-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xema-manifest.js","sourceRoot":"","sources":["../../../src/resource/lib/xema-manifest.ts"],"names":[],"mappings":";;;AA2EA,8CAUC;AArFD,6BAAwB;AACxB,iEAIgC;AA6BnB,QAAA,kBAAkB,GAAG,OAAC;KAChC,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,gDAAyB,CAAC,CAAC,QAAQ,EAAE;CACzD,CAAC;KACD,WAAW,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;IAG7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,IAAA,mCAAY,EAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC;gBAC1B,OAAO,EAAE,2BAA2B,GAAG,wDAAwD;aAChG,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAGH,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACzC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,GAAG,CAAC,QAAQ,CAAC;oBACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;oBACvC,OAAO,EAAE,cAAc,GAAG,0DAA0D;iBACrF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAuC,CAAC;AAO3C,SAAgB,iBAAiB,CAAC,GAAY;IAC5C,MAAM,MAAM,GAAG,0BAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,sBAAsB,MAAM,CAAC,KAAK,CAAC,MAAM;aACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAChD,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/kernel-contracts",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "description": "Consolidated Xema OS kernel wire contracts — pure types + zod schemas for the 32 kernel protocol surfaces. One package, one npm scope, wildcard per-surface subpath exports. No framework/runtime deps.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",
@@ -10,9 +10,9 @@
10
10
  // ═══════════════════════════════════════════════════════════════════════════
11
11
 
12
12
  export * from './lib/capability-layer';
13
- export * from './lib/composition';
14
- export * from './lib/composition-limits-schema';
15
- export * from './lib/composition-workspace';
13
+ export * from './lib/agent';
14
+ export * from './lib/agent-limits-schema';
15
+ export * from './lib/agent-workspace-config';
16
16
  export * from './lib/intrinsic-floor';
17
17
  export * from './lib/invocation-overlay';
18
18
  export * from './lib/model-resolution-matrix';
@@ -19,7 +19,7 @@
19
19
 
20
20
  import { z } from 'zod';
21
21
 
22
- import type { AgentLimits } from './composition';
22
+ import type { AgentLimits } from './agent';
23
23
 
24
24
  /**
25
25
  * Zod schema for {@link AgentLimits}. Structural counters
@@ -18,7 +18,7 @@ import type { NodeOverlayFragment } from '../../workflow';
18
18
  import type { SkillRef } from '../../skill';
19
19
  import type { BiomeAvailabilityScoped } from '../../biome-availability';
20
20
  import type { CapabilityLayer } from './capability-layer';
21
- import type { AgentWorkspaceConfig } from './composition-workspace';
21
+ import type { AgentWorkspaceConfig } from './agent-workspace-config';
22
22
 
23
23
  /**
24
24
  * A stable reference to an agent definition, optionally version-pinned.