@xemahq/agent-session-runtime 0.10.0 → 0.11.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.
- package/dist/lib/launch-identity/compiled-session-launch-plan-store.d.ts +44 -0
- package/dist/lib/launch-identity/compiled-session-launch-plan-store.d.ts.map +1 -0
- package/dist/lib/launch-identity/compiled-session-launch-plan-store.js +116 -0
- package/dist/lib/launch-identity/compiled-session-launch-plan-store.js.map +1 -0
- package/dist/lib/launch-identity/compiled-session-launch-plan.d.ts +84 -0
- package/dist/lib/launch-identity/compiled-session-launch-plan.d.ts.map +1 -0
- package/dist/lib/launch-identity/compiled-session-launch-plan.js +382 -0
- package/dist/lib/launch-identity/compiled-session-launch-plan.js.map +1 -0
- package/dist/lib/launch-identity/preparation-generation.d.ts +26 -0
- package/dist/lib/launch-identity/preparation-generation.d.ts.map +1 -0
- package/dist/lib/launch-identity/preparation-generation.js +88 -0
- package/dist/lib/launch-identity/preparation-generation.js.map +1 -0
- package/dist/lib/launch-identity/prepared-launch-variant.d.ts +46 -0
- package/dist/lib/launch-identity/prepared-launch-variant.d.ts.map +1 -0
- package/dist/lib/launch-identity/prepared-launch-variant.js +118 -0
- package/dist/lib/launch-identity/prepared-launch-variant.js.map +1 -0
- package/dist/lib/types.d.ts +0 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/lib/types.ts +11 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type CompiledSessionLaunchPlan } from './compiled-session-launch-plan';
|
|
2
|
+
export interface CompiledSessionLaunchPlanStore {
|
|
3
|
+
getByHash(contentHash: string): Promise<CompiledSessionLaunchPlan>;
|
|
4
|
+
putByHash(contentHash: string, plan: CompiledSessionLaunchPlan): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export interface ImmutableCompiledSessionLaunchPlanContentStore {
|
|
7
|
+
read(contentHash: string): Promise<string | undefined>;
|
|
8
|
+
create(contentHash: string, encodedPlan: string): Promise<boolean>;
|
|
9
|
+
}
|
|
10
|
+
export declare class CompiledSessionLaunchPlanMissingError extends Error {
|
|
11
|
+
readonly contentHash: string;
|
|
12
|
+
readonly name = "CompiledSessionLaunchPlanMissingError";
|
|
13
|
+
constructor(contentHash: string);
|
|
14
|
+
}
|
|
15
|
+
export declare class CompiledSessionLaunchPlanAddressMismatchError extends Error {
|
|
16
|
+
readonly expectedHash: string;
|
|
17
|
+
readonly actualHash: string;
|
|
18
|
+
readonly name = "CompiledSessionLaunchPlanAddressMismatchError";
|
|
19
|
+
constructor(expectedHash: string, actualHash: string);
|
|
20
|
+
}
|
|
21
|
+
export declare class CompiledSessionLaunchPlanCollisionError extends Error {
|
|
22
|
+
readonly contentHash: string;
|
|
23
|
+
readonly name = "CompiledSessionLaunchPlanCollisionError";
|
|
24
|
+
constructor(contentHash: string);
|
|
25
|
+
}
|
|
26
|
+
export declare class CompiledSessionLaunchPlanIntegrityError extends Error {
|
|
27
|
+
readonly contentHash: string;
|
|
28
|
+
readonly cause: unknown;
|
|
29
|
+
readonly name = "CompiledSessionLaunchPlanIntegrityError";
|
|
30
|
+
constructor(contentHash: string, cause: unknown);
|
|
31
|
+
}
|
|
32
|
+
export declare class VerifyingCompiledSessionLaunchPlanStore implements CompiledSessionLaunchPlanStore {
|
|
33
|
+
private readonly contentStore;
|
|
34
|
+
constructor(contentStore: ImmutableCompiledSessionLaunchPlanContentStore);
|
|
35
|
+
getByHash(contentHash: string): Promise<CompiledSessionLaunchPlan>;
|
|
36
|
+
putByHash(contentHash: string, plan: CompiledSessionLaunchPlan): Promise<void>;
|
|
37
|
+
private assertSameContent;
|
|
38
|
+
}
|
|
39
|
+
export declare class InMemoryCompiledSessionLaunchPlanContentStore implements ImmutableCompiledSessionLaunchPlanContentStore {
|
|
40
|
+
private readonly values;
|
|
41
|
+
read(contentHash: string): Promise<string | undefined>;
|
|
42
|
+
create(contentHash: string, encodedPlan: string): Promise<boolean>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=compiled-session-launch-plan-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiled-session-launch-plan-store.d.ts","sourceRoot":"","sources":["../../../src/lib/launch-identity/compiled-session-launch-plan-store.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,yBAAyB,EAC/B,MAAM,gCAAgC,CAAC;AAMxC,MAAM,WAAW,8BAA8B;IAC7C,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACnE,SAAS,CACP,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAMD,MAAM,WAAW,8CAA8C;IAC7D,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpE;AAED,qBAAa,qCAAsC,SAAQ,KAAK;IAGlD,QAAQ,CAAC,WAAW,EAAE,MAAM;IAFxC,SAAkB,IAAI,2CAA2C;gBAE5C,WAAW,EAAE,MAAM;CAGzC;AAED,qBAAa,6CAA8C,SAAQ,KAAK;IAIpE,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM;IAJ7B,SAAkB,IAAI,mDAAmD;gBAG9D,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM;CAM9B;AAED,qBAAa,uCAAwC,SAAQ,KAAK;IAGpD,QAAQ,CAAC,WAAW,EAAE,MAAM;IAFxC,SAAkB,IAAI,6CAA6C;gBAE9C,WAAW,EAAE,MAAM;CAKzC;AAED,qBAAa,uCAAwC,SAAQ,KAAK;IAI9D,QAAQ,CAAC,WAAW,EAAE,MAAM;aACV,KAAK,EAAE,OAAO;IAJlC,SAAkB,IAAI,6CAA6C;gBAGxD,WAAW,EAAE,MAAM,EACV,KAAK,EAAE,OAAO;CAOnC;AAOD,qBAAa,uCACX,YAAW,8BAA8B;IAGvC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,8CAA8C;IAGzE,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA2BlE,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAgChB,OAAO,CAAC,iBAAiB;CAS1B;AAGD,qBAAa,6CACX,YAAW,8CAA8C;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAE9C,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAItD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAOzE"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryCompiledSessionLaunchPlanContentStore = exports.VerifyingCompiledSessionLaunchPlanStore = exports.CompiledSessionLaunchPlanIntegrityError = exports.CompiledSessionLaunchPlanCollisionError = exports.CompiledSessionLaunchPlanAddressMismatchError = exports.CompiledSessionLaunchPlanMissingError = void 0;
|
|
4
|
+
const canonical_contract_1 = require("./canonical-contract");
|
|
5
|
+
const compiled_session_launch_plan_1 = require("./compiled-session-launch-plan");
|
|
6
|
+
class CompiledSessionLaunchPlanMissingError extends Error {
|
|
7
|
+
contentHash;
|
|
8
|
+
name = 'CompiledSessionLaunchPlanMissingError';
|
|
9
|
+
constructor(contentHash) {
|
|
10
|
+
super(`Compiled session launch plan '${contentHash}' does not exist.`);
|
|
11
|
+
this.contentHash = contentHash;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.CompiledSessionLaunchPlanMissingError = CompiledSessionLaunchPlanMissingError;
|
|
15
|
+
class CompiledSessionLaunchPlanAddressMismatchError extends Error {
|
|
16
|
+
expectedHash;
|
|
17
|
+
actualHash;
|
|
18
|
+
name = 'CompiledSessionLaunchPlanAddressMismatchError';
|
|
19
|
+
constructor(expectedHash, actualHash) {
|
|
20
|
+
super(`Compiled session launch plan address '${expectedHash}' does not match its content hash '${actualHash}'.`);
|
|
21
|
+
this.expectedHash = expectedHash;
|
|
22
|
+
this.actualHash = actualHash;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.CompiledSessionLaunchPlanAddressMismatchError = CompiledSessionLaunchPlanAddressMismatchError;
|
|
26
|
+
class CompiledSessionLaunchPlanCollisionError extends Error {
|
|
27
|
+
contentHash;
|
|
28
|
+
name = 'CompiledSessionLaunchPlanCollisionError';
|
|
29
|
+
constructor(contentHash) {
|
|
30
|
+
super(`Immutable content collision at compiled session launch plan '${contentHash}'.`);
|
|
31
|
+
this.contentHash = contentHash;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.CompiledSessionLaunchPlanCollisionError = CompiledSessionLaunchPlanCollisionError;
|
|
35
|
+
class CompiledSessionLaunchPlanIntegrityError extends Error {
|
|
36
|
+
contentHash;
|
|
37
|
+
cause;
|
|
38
|
+
name = 'CompiledSessionLaunchPlanIntegrityError';
|
|
39
|
+
constructor(contentHash, cause) {
|
|
40
|
+
super(`Compiled session launch plan '${contentHash}' failed content verification.`, { cause });
|
|
41
|
+
this.contentHash = contentHash;
|
|
42
|
+
this.cause = cause;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.CompiledSessionLaunchPlanIntegrityError = CompiledSessionLaunchPlanIntegrityError;
|
|
46
|
+
class VerifyingCompiledSessionLaunchPlanStore {
|
|
47
|
+
contentStore;
|
|
48
|
+
constructor(contentStore) {
|
|
49
|
+
this.contentStore = contentStore;
|
|
50
|
+
}
|
|
51
|
+
async getByHash(contentHash) {
|
|
52
|
+
const hash = (0, canonical_contract_1.requireSha256)(contentHash, 'contentHash');
|
|
53
|
+
const encoded = await this.contentStore.read(hash);
|
|
54
|
+
if (encoded === undefined) {
|
|
55
|
+
throw new CompiledSessionLaunchPlanMissingError(hash);
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const plan = (0, compiled_session_launch_plan_1.decodeCompiledSessionLaunchPlan)(encoded);
|
|
59
|
+
const actualHash = (0, compiled_session_launch_plan_1.hashCompiledSessionLaunchPlan)(plan);
|
|
60
|
+
if (actualHash !== hash) {
|
|
61
|
+
throw new CompiledSessionLaunchPlanAddressMismatchError(hash, actualHash);
|
|
62
|
+
}
|
|
63
|
+
if ((0, compiled_session_launch_plan_1.encodeCompiledSessionLaunchPlan)(plan) !== encoded) {
|
|
64
|
+
throw new TypeError('Stored launch plan bytes are not in canonical encoding.');
|
|
65
|
+
}
|
|
66
|
+
return plan;
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
throw new CompiledSessionLaunchPlanIntegrityError(hash, error);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async putByHash(contentHash, plan) {
|
|
73
|
+
const hash = (0, canonical_contract_1.requireSha256)(contentHash, 'contentHash');
|
|
74
|
+
const canonicalPlan = (0, compiled_session_launch_plan_1.createCompiledSessionLaunchPlan)(plan);
|
|
75
|
+
const actualHash = (0, compiled_session_launch_plan_1.hashCompiledSessionLaunchPlan)(canonicalPlan);
|
|
76
|
+
if (actualHash !== hash) {
|
|
77
|
+
throw new CompiledSessionLaunchPlanAddressMismatchError(hash, actualHash);
|
|
78
|
+
}
|
|
79
|
+
const encoded = (0, compiled_session_launch_plan_1.encodeCompiledSessionLaunchPlan)(canonicalPlan);
|
|
80
|
+
const existing = await this.contentStore.read(hash);
|
|
81
|
+
if (existing !== undefined) {
|
|
82
|
+
this.assertSameContent(hash, existing, encoded);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const created = await this.contentStore.create(hash, encoded);
|
|
86
|
+
if (created) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const racedExisting = await this.contentStore.read(hash);
|
|
90
|
+
if (racedExisting === undefined) {
|
|
91
|
+
throw new CompiledSessionLaunchPlanIntegrityError(hash, new Error('Immutable content store reported an existing value but returned no content.'));
|
|
92
|
+
}
|
|
93
|
+
this.assertSameContent(hash, racedExisting, encoded);
|
|
94
|
+
}
|
|
95
|
+
assertSameContent(contentHash, existing, expected) {
|
|
96
|
+
if (existing !== expected) {
|
|
97
|
+
throw new CompiledSessionLaunchPlanCollisionError(contentHash);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.VerifyingCompiledSessionLaunchPlanStore = VerifyingCompiledSessionLaunchPlanStore;
|
|
102
|
+
class InMemoryCompiledSessionLaunchPlanContentStore {
|
|
103
|
+
values = new Map();
|
|
104
|
+
async read(contentHash) {
|
|
105
|
+
return this.values.get(contentHash);
|
|
106
|
+
}
|
|
107
|
+
async create(contentHash, encodedPlan) {
|
|
108
|
+
if (this.values.has(contentHash)) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
this.values.set(contentHash, encodedPlan);
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.InMemoryCompiledSessionLaunchPlanContentStore = InMemoryCompiledSessionLaunchPlanContentStore;
|
|
116
|
+
//# sourceMappingURL=compiled-session-launch-plan-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiled-session-launch-plan-store.js","sourceRoot":"","sources":["../../../src/lib/launch-identity/compiled-session-launch-plan-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { type CanonicalJsonValue } from './canonical-contract';
|
|
2
|
+
import { type RuntimeTemplateKey, RuntimeTemplateTenantDependency, RuntimeTemplateTrustPolicy } from './runtime-template-key';
|
|
3
|
+
export declare enum LaunchPlanBindingSlotKind {
|
|
4
|
+
OrganizationId = "organization-id",
|
|
5
|
+
ProjectId = "project-id",
|
|
6
|
+
UserId = "user-id",
|
|
7
|
+
SessionId = "session-id",
|
|
8
|
+
ThreadId = "thread-id",
|
|
9
|
+
InvocationId = "invocation-id",
|
|
10
|
+
DomainRef = "domain-ref",
|
|
11
|
+
Input = "input",
|
|
12
|
+
DynamicContext = "dynamic-context",
|
|
13
|
+
StorageAllocationRef = "storage-allocation-ref",
|
|
14
|
+
WorkingFileSourceRef = "working-file-source-ref",
|
|
15
|
+
OutputRouteRef = "output-route-ref",
|
|
16
|
+
ActorTokenRef = "actor-token-ref",
|
|
17
|
+
ServiceTokenRef = "service-token-ref",
|
|
18
|
+
ProviderTokenRef = "provider-token-ref",
|
|
19
|
+
CredentialGrantRef = "credential-grant-ref",
|
|
20
|
+
DatabaseGrantRef = "database-grant-ref",
|
|
21
|
+
SecretRef = "secret-ref"
|
|
22
|
+
}
|
|
23
|
+
export declare enum LaunchPlanBindingSlotCardinality {
|
|
24
|
+
One = "one",
|
|
25
|
+
Many = "many"
|
|
26
|
+
}
|
|
27
|
+
export interface LaunchPlanBindingSlot {
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly kind: LaunchPlanBindingSlotKind;
|
|
30
|
+
readonly cardinality: LaunchPlanBindingSlotCardinality;
|
|
31
|
+
readonly required: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface PinnedLaunchResource {
|
|
34
|
+
readonly kind: string;
|
|
35
|
+
readonly ref: string;
|
|
36
|
+
readonly revisionRef: string;
|
|
37
|
+
readonly contentHash: string;
|
|
38
|
+
}
|
|
39
|
+
export interface CompiledWorkspaceLaunchPlan {
|
|
40
|
+
readonly manifestRef: string;
|
|
41
|
+
readonly manifestHash: string;
|
|
42
|
+
readonly structure: Readonly<Record<string, CanonicalJsonValue>>;
|
|
43
|
+
readonly layout: Readonly<Record<string, CanonicalJsonValue>>;
|
|
44
|
+
}
|
|
45
|
+
export interface CompiledRuntimeRequirements {
|
|
46
|
+
readonly runtimeRef: string;
|
|
47
|
+
readonly runtimeRevision: string;
|
|
48
|
+
readonly imageDigest: string;
|
|
49
|
+
readonly requirementsHash: string;
|
|
50
|
+
readonly requirements: Readonly<Record<string, CanonicalJsonValue>>;
|
|
51
|
+
}
|
|
52
|
+
export interface LaunchPolicyCompatibility {
|
|
53
|
+
readonly tenantDependency: RuntimeTemplateTenantDependency;
|
|
54
|
+
readonly trustPolicy: RuntimeTemplateTrustPolicy;
|
|
55
|
+
readonly compatibleSurfaces: readonly string[];
|
|
56
|
+
readonly policies: readonly PinnedLaunchResource[];
|
|
57
|
+
}
|
|
58
|
+
export interface CompiledOutputSurfaceSchema {
|
|
59
|
+
readonly kind: string;
|
|
60
|
+
readonly schemaRef: string;
|
|
61
|
+
readonly schemaHash: string;
|
|
62
|
+
readonly schema: Readonly<Record<string, CanonicalJsonValue>>;
|
|
63
|
+
}
|
|
64
|
+
export interface CompiledSessionLaunchPlan {
|
|
65
|
+
readonly schemaVersion: 1;
|
|
66
|
+
readonly runtimeTemplateKey: RuntimeTemplateKey;
|
|
67
|
+
readonly agent: PinnedLaunchResource;
|
|
68
|
+
readonly subagents: readonly PinnedLaunchResource[];
|
|
69
|
+
readonly skills: readonly PinnedLaunchResource[];
|
|
70
|
+
readonly tools: readonly PinnedLaunchResource[];
|
|
71
|
+
readonly mcpDescriptors: readonly PinnedLaunchResource[];
|
|
72
|
+
readonly capabilityDescriptors: readonly PinnedLaunchResource[];
|
|
73
|
+
readonly workspace: CompiledWorkspaceLaunchPlan;
|
|
74
|
+
readonly runtimeRequirements: CompiledRuntimeRequirements;
|
|
75
|
+
readonly policyCompatibility: LaunchPolicyCompatibility;
|
|
76
|
+
readonly outputSurface: CompiledOutputSurfaceSchema;
|
|
77
|
+
readonly bindingSlots: readonly LaunchPlanBindingSlot[];
|
|
78
|
+
}
|
|
79
|
+
export declare function createCompiledSessionLaunchPlan(input: unknown): CompiledSessionLaunchPlan;
|
|
80
|
+
export declare function encodeCompiledSessionLaunchPlan(input: CompiledSessionLaunchPlan): string;
|
|
81
|
+
export declare function decodeCompiledSessionLaunchPlan(encoded: string): CompiledSessionLaunchPlan;
|
|
82
|
+
export declare function hashCompiledSessionLaunchPlan(input: CompiledSessionLaunchPlan): string;
|
|
83
|
+
export declare function hashCompiledWorkspaceLaunchPlan(input: CompiledWorkspaceLaunchPlan): string;
|
|
84
|
+
//# sourceMappingURL=compiled-session-launch-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiled-session-launch-plan.d.ts","sourceRoot":"","sources":["../../../src/lib/launch-identity/compiled-session-launch-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LaunchPlanBindingSlotCardinality = exports.LaunchPlanBindingSlotKind = void 0;
|
|
4
|
+
exports.createCompiledSessionLaunchPlan = createCompiledSessionLaunchPlan;
|
|
5
|
+
exports.encodeCompiledSessionLaunchPlan = encodeCompiledSessionLaunchPlan;
|
|
6
|
+
exports.decodeCompiledSessionLaunchPlan = decodeCompiledSessionLaunchPlan;
|
|
7
|
+
exports.hashCompiledSessionLaunchPlan = hashCompiledSessionLaunchPlan;
|
|
8
|
+
exports.hashCompiledWorkspaceLaunchPlan = hashCompiledWorkspaceLaunchPlan;
|
|
9
|
+
const canonical_contract_1 = require("./canonical-contract");
|
|
10
|
+
const runtime_template_key_1 = require("./runtime-template-key");
|
|
11
|
+
var LaunchPlanBindingSlotKind;
|
|
12
|
+
(function (LaunchPlanBindingSlotKind) {
|
|
13
|
+
LaunchPlanBindingSlotKind["OrganizationId"] = "organization-id";
|
|
14
|
+
LaunchPlanBindingSlotKind["ProjectId"] = "project-id";
|
|
15
|
+
LaunchPlanBindingSlotKind["UserId"] = "user-id";
|
|
16
|
+
LaunchPlanBindingSlotKind["SessionId"] = "session-id";
|
|
17
|
+
LaunchPlanBindingSlotKind["ThreadId"] = "thread-id";
|
|
18
|
+
LaunchPlanBindingSlotKind["InvocationId"] = "invocation-id";
|
|
19
|
+
LaunchPlanBindingSlotKind["DomainRef"] = "domain-ref";
|
|
20
|
+
LaunchPlanBindingSlotKind["Input"] = "input";
|
|
21
|
+
LaunchPlanBindingSlotKind["DynamicContext"] = "dynamic-context";
|
|
22
|
+
LaunchPlanBindingSlotKind["StorageAllocationRef"] = "storage-allocation-ref";
|
|
23
|
+
LaunchPlanBindingSlotKind["WorkingFileSourceRef"] = "working-file-source-ref";
|
|
24
|
+
LaunchPlanBindingSlotKind["OutputRouteRef"] = "output-route-ref";
|
|
25
|
+
LaunchPlanBindingSlotKind["ActorTokenRef"] = "actor-token-ref";
|
|
26
|
+
LaunchPlanBindingSlotKind["ServiceTokenRef"] = "service-token-ref";
|
|
27
|
+
LaunchPlanBindingSlotKind["ProviderTokenRef"] = "provider-token-ref";
|
|
28
|
+
LaunchPlanBindingSlotKind["CredentialGrantRef"] = "credential-grant-ref";
|
|
29
|
+
LaunchPlanBindingSlotKind["DatabaseGrantRef"] = "database-grant-ref";
|
|
30
|
+
LaunchPlanBindingSlotKind["SecretRef"] = "secret-ref";
|
|
31
|
+
})(LaunchPlanBindingSlotKind || (exports.LaunchPlanBindingSlotKind = LaunchPlanBindingSlotKind = {}));
|
|
32
|
+
var LaunchPlanBindingSlotCardinality;
|
|
33
|
+
(function (LaunchPlanBindingSlotCardinality) {
|
|
34
|
+
LaunchPlanBindingSlotCardinality["One"] = "one";
|
|
35
|
+
LaunchPlanBindingSlotCardinality["Many"] = "many";
|
|
36
|
+
})(LaunchPlanBindingSlotCardinality || (exports.LaunchPlanBindingSlotCardinality = LaunchPlanBindingSlotCardinality = {}));
|
|
37
|
+
const PLAN_KEYS = [
|
|
38
|
+
'schemaVersion',
|
|
39
|
+
'runtimeTemplateKey',
|
|
40
|
+
'agent',
|
|
41
|
+
'subagents',
|
|
42
|
+
'skills',
|
|
43
|
+
'tools',
|
|
44
|
+
'mcpDescriptors',
|
|
45
|
+
'capabilityDescriptors',
|
|
46
|
+
'workspace',
|
|
47
|
+
'runtimeRequirements',
|
|
48
|
+
'policyCompatibility',
|
|
49
|
+
'outputSurface',
|
|
50
|
+
'bindingSlots',
|
|
51
|
+
];
|
|
52
|
+
const RESOURCE_KEYS = ['kind', 'ref', 'revisionRef', 'contentHash'];
|
|
53
|
+
const WORKSPACE_KEYS = [
|
|
54
|
+
'manifestRef',
|
|
55
|
+
'manifestHash',
|
|
56
|
+
'structure',
|
|
57
|
+
'layout',
|
|
58
|
+
];
|
|
59
|
+
const RUNTIME_REQUIREMENT_KEYS = [
|
|
60
|
+
'runtimeRef',
|
|
61
|
+
'runtimeRevision',
|
|
62
|
+
'imageDigest',
|
|
63
|
+
'requirementsHash',
|
|
64
|
+
'requirements',
|
|
65
|
+
];
|
|
66
|
+
const POLICY_KEYS = [
|
|
67
|
+
'tenantDependency',
|
|
68
|
+
'trustPolicy',
|
|
69
|
+
'compatibleSurfaces',
|
|
70
|
+
'policies',
|
|
71
|
+
];
|
|
72
|
+
const OUTPUT_SURFACE_KEYS = [
|
|
73
|
+
'kind',
|
|
74
|
+
'schemaRef',
|
|
75
|
+
'schemaHash',
|
|
76
|
+
'schema',
|
|
77
|
+
];
|
|
78
|
+
const BINDING_SLOT_KEYS = ['name', 'kind', 'cardinality', 'required'];
|
|
79
|
+
const BINDING_SLOT_KINDS = Object.values(LaunchPlanBindingSlotKind);
|
|
80
|
+
const BINDING_SLOT_CARDINALITIES = Object.values(LaunchPlanBindingSlotCardinality);
|
|
81
|
+
const TENANT_DEPENDENCIES = Object.values(runtime_template_key_1.RuntimeTemplateTenantDependency);
|
|
82
|
+
const TRUST_POLICIES = Object.values(runtime_template_key_1.RuntimeTemplateTrustPolicy);
|
|
83
|
+
const BINDING_SLOT_NAME_PATTERN = /^[a-z][a-z0-9]*(?:[.-][a-z][a-z0-9]*)*$/u;
|
|
84
|
+
const DYNAMIC_LITERAL_PATTERN = /\$\{\s*(?:input|tenant|org|organization|project|user|session|thread|domain|token|secret|credential)(?:[.:[\]}]|$)/iu;
|
|
85
|
+
const SECRET_REFERENCE_PATTERN = /^(?:secret|vault|credential|token)(?:-ref)?:\/\//iu;
|
|
86
|
+
const DYNAMIC_FIELD_NAMES = new Set([
|
|
87
|
+
'apikey',
|
|
88
|
+
'authorization',
|
|
89
|
+
'cookie',
|
|
90
|
+
'credential',
|
|
91
|
+
'credentialgrantref',
|
|
92
|
+
'credentialref',
|
|
93
|
+
'databasegrantref',
|
|
94
|
+
'domain',
|
|
95
|
+
'domainid',
|
|
96
|
+
'domainref',
|
|
97
|
+
'input',
|
|
98
|
+
'invocationid',
|
|
99
|
+
'organization',
|
|
100
|
+
'organizationid',
|
|
101
|
+
'org',
|
|
102
|
+
'orgid',
|
|
103
|
+
'password',
|
|
104
|
+
'privatekey',
|
|
105
|
+
'project',
|
|
106
|
+
'projectid',
|
|
107
|
+
'secret',
|
|
108
|
+
'secretref',
|
|
109
|
+
'session',
|
|
110
|
+
'sessionid',
|
|
111
|
+
'storageref',
|
|
112
|
+
'tenant',
|
|
113
|
+
'tenantid',
|
|
114
|
+
'thread',
|
|
115
|
+
'threadid',
|
|
116
|
+
'token',
|
|
117
|
+
'tokenref',
|
|
118
|
+
'user',
|
|
119
|
+
'userid',
|
|
120
|
+
'value',
|
|
121
|
+
]);
|
|
122
|
+
const SECRET_OR_CREDENTIAL_FIELD_PATTERN = /(?:apikey|authorization|cookie|credential|password|privatekey|secret|token)(?:ref)?$/u;
|
|
123
|
+
function createCompiledSessionLaunchPlan(input) {
|
|
124
|
+
const object = (0, canonical_contract_1.requireExactObject)(input, 'CompiledSessionLaunchPlan', PLAN_KEYS);
|
|
125
|
+
if (object.schemaVersion !== 1) {
|
|
126
|
+
throw new TypeError('CompiledSessionLaunchPlan.schemaVersion must be 1.');
|
|
127
|
+
}
|
|
128
|
+
const runtimeTemplateKey = (0, runtime_template_key_1.createRuntimeTemplateKey)(object.runtimeTemplateKey);
|
|
129
|
+
const agent = requirePinnedResource(object.agent, 'CompiledSessionLaunchPlan.agent');
|
|
130
|
+
const subagents = requirePinnedResources(object.subagents, 'CompiledSessionLaunchPlan.subagents');
|
|
131
|
+
const skills = requirePinnedResources(object.skills, 'CompiledSessionLaunchPlan.skills');
|
|
132
|
+
const tools = requirePinnedResources(object.tools, 'CompiledSessionLaunchPlan.tools');
|
|
133
|
+
const mcpDescriptors = requirePinnedResources(object.mcpDescriptors, 'CompiledSessionLaunchPlan.mcpDescriptors');
|
|
134
|
+
const capabilityDescriptors = requirePinnedResources(object.capabilityDescriptors, 'CompiledSessionLaunchPlan.capabilityDescriptors');
|
|
135
|
+
const workspace = requireWorkspace(object.workspace);
|
|
136
|
+
const runtimeRequirements = requireRuntimeRequirements(object.runtimeRequirements);
|
|
137
|
+
const policyCompatibility = requirePolicyCompatibility(object.policyCompatibility);
|
|
138
|
+
const outputSurface = requireOutputSurface(object.outputSurface);
|
|
139
|
+
const bindingSlots = requireBindingSlots(object.bindingSlots);
|
|
140
|
+
assertTemplateConsistency({
|
|
141
|
+
runtimeTemplateKey,
|
|
142
|
+
agent,
|
|
143
|
+
subagents,
|
|
144
|
+
skills,
|
|
145
|
+
tools,
|
|
146
|
+
mcpDescriptors,
|
|
147
|
+
capabilityDescriptors,
|
|
148
|
+
workspace,
|
|
149
|
+
runtimeRequirements,
|
|
150
|
+
policyCompatibility,
|
|
151
|
+
});
|
|
152
|
+
assertDeclaredBindingSlotReferences([workspace.structure, workspace.layout, runtimeRequirements.requirements], bindingSlots);
|
|
153
|
+
return Object.freeze({
|
|
154
|
+
schemaVersion: 1,
|
|
155
|
+
runtimeTemplateKey,
|
|
156
|
+
agent,
|
|
157
|
+
subagents,
|
|
158
|
+
skills,
|
|
159
|
+
tools,
|
|
160
|
+
mcpDescriptors,
|
|
161
|
+
capabilityDescriptors,
|
|
162
|
+
workspace,
|
|
163
|
+
runtimeRequirements,
|
|
164
|
+
policyCompatibility,
|
|
165
|
+
outputSurface,
|
|
166
|
+
bindingSlots,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
function encodeCompiledSessionLaunchPlan(input) {
|
|
170
|
+
return (0, canonical_contract_1.canonicalContractJson)(createCompiledSessionLaunchPlan(input));
|
|
171
|
+
}
|
|
172
|
+
function decodeCompiledSessionLaunchPlan(encoded) {
|
|
173
|
+
let parsed;
|
|
174
|
+
try {
|
|
175
|
+
parsed = JSON.parse(encoded);
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
throw new TypeError(`CompiledSessionLaunchPlan is not valid JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
179
|
+
}
|
|
180
|
+
return createCompiledSessionLaunchPlan(parsed);
|
|
181
|
+
}
|
|
182
|
+
function hashCompiledSessionLaunchPlan(input) {
|
|
183
|
+
return (0, canonical_contract_1.hashCanonicalContract)(createCompiledSessionLaunchPlan(input));
|
|
184
|
+
}
|
|
185
|
+
function hashCompiledWorkspaceLaunchPlan(input) {
|
|
186
|
+
return (0, canonical_contract_1.hashCanonicalContract)(input);
|
|
187
|
+
}
|
|
188
|
+
function requirePinnedResource(value, path) {
|
|
189
|
+
const object = (0, canonical_contract_1.requireExactObject)(value, path, RESOURCE_KEYS);
|
|
190
|
+
return Object.freeze({
|
|
191
|
+
kind: (0, canonical_contract_1.requireNonEmptyString)(object.kind, `${path}.kind`),
|
|
192
|
+
ref: (0, canonical_contract_1.requireNonEmptyString)(object.ref, `${path}.ref`),
|
|
193
|
+
revisionRef: (0, canonical_contract_1.requireNonEmptyString)(object.revisionRef, `${path}.revisionRef`),
|
|
194
|
+
contentHash: (0, canonical_contract_1.requireSha256)(object.contentHash, `${path}.contentHash`),
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
function requirePinnedResources(value, path) {
|
|
198
|
+
if (!Array.isArray(value)) {
|
|
199
|
+
throw new TypeError(`${path} must be an array.`);
|
|
200
|
+
}
|
|
201
|
+
const resources = value.map((entry, index) => requirePinnedResource(entry, `${path}[${index}]`));
|
|
202
|
+
const identities = new Set();
|
|
203
|
+
for (const resource of resources) {
|
|
204
|
+
const identity = `${resource.kind}\u0000${resource.ref}`;
|
|
205
|
+
if (identities.has(identity)) {
|
|
206
|
+
throw new TypeError(`${path} contains duplicate resource '${resource.kind}:${resource.ref}'.`);
|
|
207
|
+
}
|
|
208
|
+
identities.add(identity);
|
|
209
|
+
}
|
|
210
|
+
return Object.freeze(resources.toSorted((left, right) => (0, canonical_contract_1.canonicalContractJson)(left).localeCompare((0, canonical_contract_1.canonicalContractJson)(right))));
|
|
211
|
+
}
|
|
212
|
+
function requireWorkspace(value) {
|
|
213
|
+
const path = 'CompiledSessionLaunchPlan.workspace';
|
|
214
|
+
const object = (0, canonical_contract_1.requireExactObject)(value, path, WORKSPACE_KEYS);
|
|
215
|
+
return Object.freeze({
|
|
216
|
+
manifestRef: (0, canonical_contract_1.requireNonEmptyString)(object.manifestRef, `${path}.manifestRef`),
|
|
217
|
+
manifestHash: (0, canonical_contract_1.requireSha256)(object.manifestHash, `${path}.manifestHash`),
|
|
218
|
+
structure: requireStaticPayload(object.structure, `${path}.structure`),
|
|
219
|
+
layout: requireStaticPayload(object.layout, `${path}.layout`),
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
function requireRuntimeRequirements(value) {
|
|
223
|
+
const path = 'CompiledSessionLaunchPlan.runtimeRequirements';
|
|
224
|
+
const object = (0, canonical_contract_1.requireExactObject)(value, path, RUNTIME_REQUIREMENT_KEYS);
|
|
225
|
+
const imageDigest = (0, canonical_contract_1.requireImageDigest)(object.imageDigest, `${path}.imageDigest`);
|
|
226
|
+
const requirements = requireStaticPayload(object.requirements, `${path}.requirements`);
|
|
227
|
+
const requirementsHash = (0, canonical_contract_1.requireSha256)(object.requirementsHash, `${path}.requirementsHash`);
|
|
228
|
+
assertContentHash(requirementsHash, requirements, `${path}.requirementsHash`);
|
|
229
|
+
return Object.freeze({
|
|
230
|
+
runtimeRef: (0, canonical_contract_1.requireNonEmptyString)(object.runtimeRef, `${path}.runtimeRef`),
|
|
231
|
+
runtimeRevision: (0, canonical_contract_1.requireNonEmptyString)(object.runtimeRevision, `${path}.runtimeRevision`),
|
|
232
|
+
imageDigest,
|
|
233
|
+
requirementsHash,
|
|
234
|
+
requirements,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
function requirePolicyCompatibility(value) {
|
|
238
|
+
const path = 'CompiledSessionLaunchPlan.policyCompatibility';
|
|
239
|
+
const object = (0, canonical_contract_1.requireExactObject)(value, path, POLICY_KEYS);
|
|
240
|
+
return Object.freeze({
|
|
241
|
+
tenantDependency: (0, canonical_contract_1.requireEnumValue)(object.tenantDependency, `${path}.tenantDependency`, TENANT_DEPENDENCIES),
|
|
242
|
+
trustPolicy: (0, canonical_contract_1.requireEnumValue)(object.trustPolicy, `${path}.trustPolicy`, TRUST_POLICIES),
|
|
243
|
+
compatibleSurfaces: (0, canonical_contract_1.requireStringRefs)(object.compatibleSurfaces, `${path}.compatibleSurfaces`),
|
|
244
|
+
policies: requirePinnedResources(object.policies, `${path}.policies`),
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
function requireOutputSurface(value) {
|
|
248
|
+
const path = 'CompiledSessionLaunchPlan.outputSurface';
|
|
249
|
+
const object = (0, canonical_contract_1.requireExactObject)(value, path, OUTPUT_SURFACE_KEYS);
|
|
250
|
+
const schema = (0, canonical_contract_1.requireCanonicalJsonObject)(object.schema, `${path}.schema`);
|
|
251
|
+
const schemaHash = (0, canonical_contract_1.requireSha256)(object.schemaHash, `${path}.schemaHash`);
|
|
252
|
+
assertContentHash(schemaHash, schema, `${path}.schemaHash`);
|
|
253
|
+
return Object.freeze({
|
|
254
|
+
kind: (0, canonical_contract_1.requireNonEmptyString)(object.kind, `${path}.kind`),
|
|
255
|
+
schemaRef: (0, canonical_contract_1.requireNonEmptyString)(object.schemaRef, `${path}.schemaRef`),
|
|
256
|
+
schemaHash,
|
|
257
|
+
schema,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
function requireBindingSlots(value) {
|
|
261
|
+
const path = 'CompiledSessionLaunchPlan.bindingSlots';
|
|
262
|
+
if (!Array.isArray(value)) {
|
|
263
|
+
throw new TypeError(`${path} must be an array.`);
|
|
264
|
+
}
|
|
265
|
+
const slots = value.map((entry, index) => {
|
|
266
|
+
const slotPath = `${path}[${index}]`;
|
|
267
|
+
const object = (0, canonical_contract_1.requireExactObject)(entry, slotPath, BINDING_SLOT_KEYS);
|
|
268
|
+
const name = (0, canonical_contract_1.requireNonEmptyString)(object.name, `${slotPath}.name`);
|
|
269
|
+
if (!BINDING_SLOT_NAME_PATTERN.test(name)) {
|
|
270
|
+
throw new TypeError(`${slotPath}.name must be a lowercase dotted or hyphenated identifier.`);
|
|
271
|
+
}
|
|
272
|
+
return Object.freeze({
|
|
273
|
+
name,
|
|
274
|
+
kind: (0, canonical_contract_1.requireEnumValue)(object.kind, `${slotPath}.kind`, BINDING_SLOT_KINDS),
|
|
275
|
+
cardinality: (0, canonical_contract_1.requireEnumValue)(object.cardinality, `${slotPath}.cardinality`, BINDING_SLOT_CARDINALITIES),
|
|
276
|
+
required: (0, canonical_contract_1.requireBoolean)(object.required, `${slotPath}.required`),
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
const names = new Set();
|
|
280
|
+
for (const slot of slots) {
|
|
281
|
+
if (names.has(slot.name)) {
|
|
282
|
+
throw new TypeError(`${path} contains duplicate slot '${slot.name}'.`);
|
|
283
|
+
}
|
|
284
|
+
names.add(slot.name);
|
|
285
|
+
}
|
|
286
|
+
return Object.freeze(slots.toSorted((left, right) => left.name.localeCompare(right.name)));
|
|
287
|
+
}
|
|
288
|
+
function requireStaticPayload(value, path) {
|
|
289
|
+
const normalized = (0, canonical_contract_1.requireCanonicalJsonObject)(value, path);
|
|
290
|
+
assertStaticPayloadNode(normalized, path);
|
|
291
|
+
return normalized;
|
|
292
|
+
}
|
|
293
|
+
function assertStaticPayloadNode(value, path) {
|
|
294
|
+
if (typeof value === 'string') {
|
|
295
|
+
if (DYNAMIC_LITERAL_PATTERN.test(value) ||
|
|
296
|
+
SECRET_REFERENCE_PATTERN.test(value)) {
|
|
297
|
+
throw new TypeError(`${path} embeds dynamic or secret data; use a typed $bindingSlot reference.`);
|
|
298
|
+
}
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
if (value === null || typeof value !== 'object') {
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
if (Array.isArray(value)) {
|
|
305
|
+
value.forEach((entry, index) => assertStaticPayloadNode(entry, `${path}[${index}]`));
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
if (Object.hasOwn(value, '$bindingSlot')) {
|
|
309
|
+
const marker = (0, canonical_contract_1.requireExactObject)(value, path, ['$bindingSlot']);
|
|
310
|
+
(0, canonical_contract_1.requireNonEmptyString)(marker.$bindingSlot, `${path}.$bindingSlot`);
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
314
|
+
const normalizedKey = key.replaceAll(/[^a-z0-9]/giu, '').toLowerCase();
|
|
315
|
+
if (DYNAMIC_FIELD_NAMES.has(normalizedKey) ||
|
|
316
|
+
SECRET_OR_CREDENTIAL_FIELD_PATTERN.test(normalizedKey)) {
|
|
317
|
+
if (!isBindingSlotMarker(entry)) {
|
|
318
|
+
throw new TypeError(`${path}.${key} is dynamic data; its value must be a typed $bindingSlot reference.`);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
assertStaticPayloadNode(entry, `${path}.${key}`);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
function isBindingSlotMarker(value) {
|
|
325
|
+
return (value !== null &&
|
|
326
|
+
typeof value === 'object' &&
|
|
327
|
+
!Array.isArray(value) &&
|
|
328
|
+
Object.hasOwn(value, '$bindingSlot'));
|
|
329
|
+
}
|
|
330
|
+
function assertDeclaredBindingSlotReferences(values, slots) {
|
|
331
|
+
const declared = new Set(slots.map((slot) => slot.name));
|
|
332
|
+
for (const [index, value] of values.entries()) {
|
|
333
|
+
inspectBindingSlotReferences(value, `staticPayloads[${index}]`, declared);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
function inspectBindingSlotReferences(value, path, declared) {
|
|
337
|
+
if (value === null || typeof value !== 'object') {
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
if (Array.isArray(value)) {
|
|
341
|
+
value.forEach((entry, index) => inspectBindingSlotReferences(entry, `${path}[${index}]`, declared));
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
if (isBindingSlotMarker(value)) {
|
|
345
|
+
const name = value.$bindingSlot;
|
|
346
|
+
if (typeof name !== 'string' || !declared.has(name)) {
|
|
347
|
+
throw new TypeError(`${path} references undeclared binding slot '${String(name)}'.`);
|
|
348
|
+
}
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
352
|
+
inspectBindingSlotReferences(entry, `${path}.${key}`, declared);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
function assertTemplateConsistency(input) {
|
|
356
|
+
const key = input.runtimeTemplateKey;
|
|
357
|
+
assertEqual(input.agent.revisionRef, key.agentRevision, 'agent.revisionRef', 'runtimeTemplateKey.agentRevision');
|
|
358
|
+
assertEqual(input.agent.contentHash, key.primaryAgentHash, 'agent.contentHash', 'runtimeTemplateKey.primaryAgentHash');
|
|
359
|
+
assertContentHash(key.subagentsHash, input.subagents, 'subagents');
|
|
360
|
+
assertContentHash(key.skillsHash, input.skills, 'skills');
|
|
361
|
+
assertContentHash(key.toolsHash, input.tools, 'tools');
|
|
362
|
+
assertContentHash(key.mcpDescriptorsHash, input.mcpDescriptors, 'mcpDescriptors');
|
|
363
|
+
assertContentHash(key.capabilityDescriptorsHash, input.capabilityDescriptors, 'capabilityDescriptors');
|
|
364
|
+
assertContentHash(key.workspacePlanHash, input.workspace, 'runtimeTemplateKey.workspacePlanHash');
|
|
365
|
+
assertEqual(input.runtimeRequirements.runtimeRef, key.runtimeRef, 'runtimeRequirements.runtimeRef', 'runtimeTemplateKey.runtimeRef');
|
|
366
|
+
assertEqual(input.runtimeRequirements.runtimeRevision, key.runtimeRevision, 'runtimeRequirements.runtimeRevision', 'runtimeTemplateKey.runtimeRevision');
|
|
367
|
+
assertEqual(input.runtimeRequirements.imageDigest, key.imageDigest, 'runtimeRequirements.imageDigest', 'runtimeTemplateKey.imageDigest');
|
|
368
|
+
assertEqual(input.policyCompatibility.tenantDependency, key.tenantDependency, 'policyCompatibility.tenantDependency', 'runtimeTemplateKey.tenantDependency');
|
|
369
|
+
assertEqual(input.policyCompatibility.trustPolicy, key.trustPolicy, 'policyCompatibility.trustPolicy', 'runtimeTemplateKey.trustPolicy');
|
|
370
|
+
}
|
|
371
|
+
function assertContentHash(expectedHash, content, path) {
|
|
372
|
+
const actualHash = (0, canonical_contract_1.hashCanonicalContract)(content);
|
|
373
|
+
if (actualHash !== expectedHash) {
|
|
374
|
+
throw new TypeError(`${path} content hash mismatch: expected '${expectedHash}', computed '${actualHash}'.`);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
function assertEqual(actual, expected, actualPath, expectedPath) {
|
|
378
|
+
if (actual !== expected) {
|
|
379
|
+
throw new TypeError(`${actualPath} must equal ${expectedPath}; received '${actual}' and '${expected}'.`);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
//# sourceMappingURL=compiled-session-launch-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiled-session-launch-plan.js","sourceRoot":"","sources":["../../../src/lib/launch-identity/compiled-session-launch-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare enum PreparationGenerationStatus {
|
|
2
|
+
Validating = "validating",
|
|
3
|
+
Materializing = "materializing",
|
|
4
|
+
Ready = "ready",
|
|
5
|
+
Failed = "failed",
|
|
6
|
+
Superseded = "superseded"
|
|
7
|
+
}
|
|
8
|
+
export interface PreparationFailure {
|
|
9
|
+
readonly code: string;
|
|
10
|
+
readonly message: string;
|
|
11
|
+
}
|
|
12
|
+
export interface PreparationGeneration {
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly agentRevisionId: string;
|
|
15
|
+
readonly sourceGenerationHash: string;
|
|
16
|
+
readonly requiredVariantKeyHashes: readonly string[];
|
|
17
|
+
readonly status: PreparationGenerationStatus;
|
|
18
|
+
readonly failure?: PreparationFailure;
|
|
19
|
+
readonly rowVersion: number;
|
|
20
|
+
}
|
|
21
|
+
export declare function createPreparationFailure(input: unknown): PreparationFailure;
|
|
22
|
+
export declare function createPreparationGeneration(input: unknown): PreparationGeneration;
|
|
23
|
+
export declare function serializePreparationGeneration(input: PreparationGeneration): string;
|
|
24
|
+
export declare function hashPreparationGeneration(input: PreparationGeneration): string;
|
|
25
|
+
export declare function requirePreparationFailureForStatus(value: unknown, hasFailure: boolean, failed: boolean, path: string): PreparationFailure | undefined;
|
|
26
|
+
//# sourceMappingURL=preparation-generation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preparation-generation.d.ts","sourceRoot":"","sources":["../../../src/lib/launch-identity/preparation-generation.ts"],"names":[],"mappings":"AAUA,oBAAY,2BAA2B;IACrC,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAcD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAS3E;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,qBAAqB,CAwCvB;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,qBAAqB,GAC3B,MAAM,CAER;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,qBAAqB,GAC3B,MAAM,CAER;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,GACX,kBAAkB,GAAG,SAAS,CAahC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PreparationGenerationStatus = void 0;
|
|
4
|
+
exports.createPreparationFailure = createPreparationFailure;
|
|
5
|
+
exports.createPreparationGeneration = createPreparationGeneration;
|
|
6
|
+
exports.serializePreparationGeneration = serializePreparationGeneration;
|
|
7
|
+
exports.hashPreparationGeneration = hashPreparationGeneration;
|
|
8
|
+
exports.requirePreparationFailureForStatus = requirePreparationFailureForStatus;
|
|
9
|
+
const canonical_contract_1 = require("./canonical-contract");
|
|
10
|
+
var PreparationGenerationStatus;
|
|
11
|
+
(function (PreparationGenerationStatus) {
|
|
12
|
+
PreparationGenerationStatus["Validating"] = "validating";
|
|
13
|
+
PreparationGenerationStatus["Materializing"] = "materializing";
|
|
14
|
+
PreparationGenerationStatus["Ready"] = "ready";
|
|
15
|
+
PreparationGenerationStatus["Failed"] = "failed";
|
|
16
|
+
PreparationGenerationStatus["Superseded"] = "superseded";
|
|
17
|
+
})(PreparationGenerationStatus || (exports.PreparationGenerationStatus = PreparationGenerationStatus = {}));
|
|
18
|
+
const GENERATION_KEYS = [
|
|
19
|
+
'id',
|
|
20
|
+
'agentRevisionId',
|
|
21
|
+
'sourceGenerationHash',
|
|
22
|
+
'requiredVariantKeyHashes',
|
|
23
|
+
'status',
|
|
24
|
+
'rowVersion',
|
|
25
|
+
];
|
|
26
|
+
const GENERATION_OPTIONAL_KEYS = ['failure'];
|
|
27
|
+
const FAILURE_KEYS = ['code', 'message'];
|
|
28
|
+
const GENERATION_STATUSES = Object.values(PreparationGenerationStatus);
|
|
29
|
+
function createPreparationFailure(input) {
|
|
30
|
+
const object = (0, canonical_contract_1.requireExactObject)(input, 'PreparationFailure', FAILURE_KEYS);
|
|
31
|
+
return Object.freeze({
|
|
32
|
+
code: (0, canonical_contract_1.requireNonEmptyString)(object.code, 'PreparationFailure.code'),
|
|
33
|
+
message: (0, canonical_contract_1.requireNonEmptyString)(object.message, 'PreparationFailure.message'),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function createPreparationGeneration(input) {
|
|
37
|
+
const object = (0, canonical_contract_1.requireExactObject)(input, 'PreparationGeneration', GENERATION_KEYS, GENERATION_OPTIONAL_KEYS);
|
|
38
|
+
const status = (0, canonical_contract_1.requireEnumValue)(object.status, 'PreparationGeneration.status', GENERATION_STATUSES);
|
|
39
|
+
const failure = requireFailureForStatus(object.failure, Object.hasOwn(object, 'failure'), status, 'PreparationGeneration');
|
|
40
|
+
return Object.freeze({
|
|
41
|
+
id: (0, canonical_contract_1.requireNonEmptyString)(object.id, 'PreparationGeneration.id'),
|
|
42
|
+
agentRevisionId: (0, canonical_contract_1.requireNonEmptyString)(object.agentRevisionId, 'PreparationGeneration.agentRevisionId'),
|
|
43
|
+
sourceGenerationHash: (0, canonical_contract_1.requireSha256)(object.sourceGenerationHash, 'PreparationGeneration.sourceGenerationHash'),
|
|
44
|
+
requiredVariantKeyHashes: requireSortedUniqueHashes(object.requiredVariantKeyHashes, 'PreparationGeneration.requiredVariantKeyHashes'),
|
|
45
|
+
status,
|
|
46
|
+
...(failure === undefined ? {} : { failure }),
|
|
47
|
+
rowVersion: (0, canonical_contract_1.requireNonNegativeSafeInteger)(object.rowVersion, 'PreparationGeneration.rowVersion'),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function serializePreparationGeneration(input) {
|
|
51
|
+
return (0, canonical_contract_1.canonicalContractJson)(createPreparationGeneration(input));
|
|
52
|
+
}
|
|
53
|
+
function hashPreparationGeneration(input) {
|
|
54
|
+
return (0, canonical_contract_1.hashCanonicalContract)(createPreparationGeneration(input));
|
|
55
|
+
}
|
|
56
|
+
function requirePreparationFailureForStatus(value, hasFailure, failed, path) {
|
|
57
|
+
if (failed) {
|
|
58
|
+
if (!hasFailure) {
|
|
59
|
+
throw new TypeError(`${path}.failure is required when status is failed.`);
|
|
60
|
+
}
|
|
61
|
+
return createPreparationFailure(value);
|
|
62
|
+
}
|
|
63
|
+
if (hasFailure) {
|
|
64
|
+
throw new TypeError(`${path}.failure is only supported when status is failed.`);
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
function requireFailureForStatus(value, hasFailure, status, path) {
|
|
69
|
+
return requirePreparationFailureForStatus(value, hasFailure, status === PreparationGenerationStatus.Failed, path);
|
|
70
|
+
}
|
|
71
|
+
function requireSortedUniqueHashes(value, path) {
|
|
72
|
+
if (!Array.isArray(value)) {
|
|
73
|
+
throw new TypeError(`${path} must be an array.`);
|
|
74
|
+
}
|
|
75
|
+
const hashes = value.map((entry, index) => (0, canonical_contract_1.requireSha256)(entry, `${path}[${index}]`));
|
|
76
|
+
for (let index = 1; index < hashes.length; index += 1) {
|
|
77
|
+
const previous = hashes[index - 1];
|
|
78
|
+
const current = hashes[index];
|
|
79
|
+
if (previous === undefined || current === undefined) {
|
|
80
|
+
throw new TypeError(`${path} contains an invalid sparse entry.`);
|
|
81
|
+
}
|
|
82
|
+
if (previous >= current) {
|
|
83
|
+
throw new TypeError(`${path} must contain unique hashes in ascending lexical order.`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return Object.freeze(hashes);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=preparation-generation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preparation-generation.js","sourceRoot":"","sources":["../../../src/lib/launch-identity/preparation-generation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { WorkerRuntimeKind } from '@xemahq/kernel-contracts/worker-runtime';
|
|
2
|
+
import { type PreparationFailure } from './preparation-generation';
|
|
3
|
+
import { RuntimeTemplateTenantDependency, RuntimeTemplateTrustPolicy } from './runtime-template-key';
|
|
4
|
+
export declare enum PreparedLaunchVariantStatus {
|
|
5
|
+
Materializing = "materializing",
|
|
6
|
+
Ready = "ready",
|
|
7
|
+
Failed = "failed",
|
|
8
|
+
Retired = "retired"
|
|
9
|
+
}
|
|
10
|
+
export type PreparedLaunchTenantDependency = {
|
|
11
|
+
readonly kind: RuntimeTemplateTenantDependency.OrganizationNeutral;
|
|
12
|
+
} | {
|
|
13
|
+
readonly kind: RuntimeTemplateTenantDependency.OrganizationBound;
|
|
14
|
+
readonly organizationScopeHash: string;
|
|
15
|
+
};
|
|
16
|
+
export interface PreparedLaunchVariantKey {
|
|
17
|
+
readonly schemaVersion: 1;
|
|
18
|
+
readonly runtimeKind: WorkerRuntimeKind;
|
|
19
|
+
readonly runtimeRevision: string;
|
|
20
|
+
readonly imageDigest: `sha256:${string}`;
|
|
21
|
+
readonly layoutProfileRef: string;
|
|
22
|
+
readonly staticDependencyClosureHash: string;
|
|
23
|
+
readonly tenantDependency: PreparedLaunchTenantDependency;
|
|
24
|
+
readonly trustPolicy: RuntimeTemplateTrustPolicy;
|
|
25
|
+
readonly policyGenerationHash: string;
|
|
26
|
+
readonly region: string;
|
|
27
|
+
}
|
|
28
|
+
export interface PreparedLaunchVariant {
|
|
29
|
+
readonly id: string;
|
|
30
|
+
readonly preparationGenerationId: string;
|
|
31
|
+
readonly key: PreparedLaunchVariantKey;
|
|
32
|
+
readonly keyHash: string;
|
|
33
|
+
readonly compiledLaunchPlanHash: string;
|
|
34
|
+
readonly preparedRuntimeTemplateHash: string;
|
|
35
|
+
readonly preparedRuntimeTemplateRef: string;
|
|
36
|
+
readonly status: PreparedLaunchVariantStatus;
|
|
37
|
+
readonly failure?: PreparationFailure;
|
|
38
|
+
readonly rowVersion: number;
|
|
39
|
+
}
|
|
40
|
+
export declare function createPreparedLaunchVariantKey(input: unknown): PreparedLaunchVariantKey;
|
|
41
|
+
export declare function serializePreparedLaunchVariantKey(input: PreparedLaunchVariantKey): string;
|
|
42
|
+
export declare function hashPreparedLaunchVariantKey(input: PreparedLaunchVariantKey): string;
|
|
43
|
+
export declare function createPreparedLaunchVariant(input: unknown): PreparedLaunchVariant;
|
|
44
|
+
export declare function serializePreparedLaunchVariant(input: PreparedLaunchVariant): string;
|
|
45
|
+
export declare function hashPreparedLaunchVariant(input: PreparedLaunchVariant): string;
|
|
46
|
+
//# sourceMappingURL=prepared-launch-variant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepared-launch-variant.d.ts","sourceRoot":"","sources":["../../../src/lib/launch-identity/prepared-launch-variant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAY5E,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,oBAAY,2BAA2B;IACrC,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,8BAA8B,GACtC;IACE,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC,mBAAmB,CAAC;CACpE,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC,iBAAiB,CAAC;IACjE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC,CAAC;AAEN,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,UAAU,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC;IACjD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,wBAAwB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AA+BD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,GACb,wBAAwB,CAgD1B;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,wBAAwB,GAC9B,MAAM,CAER;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,wBAAwB,GAC9B,MAAM,CAER;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,qBAAqB,CAwDvB;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,qBAAqB,GAC3B,MAAM,CAER;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,qBAAqB,GAC3B,MAAM,CAER"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PreparedLaunchVariantStatus = void 0;
|
|
4
|
+
exports.createPreparedLaunchVariantKey = createPreparedLaunchVariantKey;
|
|
5
|
+
exports.serializePreparedLaunchVariantKey = serializePreparedLaunchVariantKey;
|
|
6
|
+
exports.hashPreparedLaunchVariantKey = hashPreparedLaunchVariantKey;
|
|
7
|
+
exports.createPreparedLaunchVariant = createPreparedLaunchVariant;
|
|
8
|
+
exports.serializePreparedLaunchVariant = serializePreparedLaunchVariant;
|
|
9
|
+
exports.hashPreparedLaunchVariant = hashPreparedLaunchVariant;
|
|
10
|
+
const worker_runtime_1 = require("@xemahq/kernel-contracts/worker-runtime");
|
|
11
|
+
const canonical_contract_1 = require("./canonical-contract");
|
|
12
|
+
const preparation_generation_1 = require("./preparation-generation");
|
|
13
|
+
const runtime_template_key_1 = require("./runtime-template-key");
|
|
14
|
+
var PreparedLaunchVariantStatus;
|
|
15
|
+
(function (PreparedLaunchVariantStatus) {
|
|
16
|
+
PreparedLaunchVariantStatus["Materializing"] = "materializing";
|
|
17
|
+
PreparedLaunchVariantStatus["Ready"] = "ready";
|
|
18
|
+
PreparedLaunchVariantStatus["Failed"] = "failed";
|
|
19
|
+
PreparedLaunchVariantStatus["Retired"] = "retired";
|
|
20
|
+
})(PreparedLaunchVariantStatus || (exports.PreparedLaunchVariantStatus = PreparedLaunchVariantStatus = {}));
|
|
21
|
+
const KEY_KEYS = [
|
|
22
|
+
'schemaVersion',
|
|
23
|
+
'runtimeKind',
|
|
24
|
+
'runtimeRevision',
|
|
25
|
+
'imageDigest',
|
|
26
|
+
'layoutProfileRef',
|
|
27
|
+
'staticDependencyClosureHash',
|
|
28
|
+
'tenantDependency',
|
|
29
|
+
'trustPolicy',
|
|
30
|
+
'policyGenerationHash',
|
|
31
|
+
'region',
|
|
32
|
+
];
|
|
33
|
+
const VARIANT_KEYS = [
|
|
34
|
+
'id',
|
|
35
|
+
'preparationGenerationId',
|
|
36
|
+
'key',
|
|
37
|
+
'keyHash',
|
|
38
|
+
'compiledLaunchPlanHash',
|
|
39
|
+
'preparedRuntimeTemplateHash',
|
|
40
|
+
'preparedRuntimeTemplateRef',
|
|
41
|
+
'status',
|
|
42
|
+
'rowVersion',
|
|
43
|
+
];
|
|
44
|
+
const VARIANT_OPTIONAL_KEYS = ['failure'];
|
|
45
|
+
const RUNTIME_KINDS = Object.values(worker_runtime_1.WorkerRuntimeKind);
|
|
46
|
+
const TENANT_DEPENDENCY_KINDS = Object.values(runtime_template_key_1.RuntimeTemplateTenantDependency);
|
|
47
|
+
const TRUST_POLICIES = Object.values(runtime_template_key_1.RuntimeTemplateTrustPolicy);
|
|
48
|
+
const VARIANT_STATUSES = Object.values(PreparedLaunchVariantStatus);
|
|
49
|
+
function createPreparedLaunchVariantKey(input) {
|
|
50
|
+
const object = (0, canonical_contract_1.requireExactObject)(input, 'PreparedLaunchVariantKey', KEY_KEYS);
|
|
51
|
+
if (object.schemaVersion !== 1) {
|
|
52
|
+
throw new TypeError('PreparedLaunchVariantKey.schemaVersion must be 1.');
|
|
53
|
+
}
|
|
54
|
+
return Object.freeze({
|
|
55
|
+
schemaVersion: 1,
|
|
56
|
+
runtimeKind: (0, canonical_contract_1.requireEnumValue)(object.runtimeKind, 'PreparedLaunchVariantKey.runtimeKind', RUNTIME_KINDS),
|
|
57
|
+
runtimeRevision: (0, canonical_contract_1.requireNonEmptyString)(object.runtimeRevision, 'PreparedLaunchVariantKey.runtimeRevision'),
|
|
58
|
+
imageDigest: (0, canonical_contract_1.requireImageDigest)(object.imageDigest, 'PreparedLaunchVariantKey.imageDigest'),
|
|
59
|
+
layoutProfileRef: (0, canonical_contract_1.requireNonEmptyString)(object.layoutProfileRef, 'PreparedLaunchVariantKey.layoutProfileRef'),
|
|
60
|
+
staticDependencyClosureHash: (0, canonical_contract_1.requireSha256)(object.staticDependencyClosureHash, 'PreparedLaunchVariantKey.staticDependencyClosureHash'),
|
|
61
|
+
tenantDependency: requireTenantDependency(object.tenantDependency),
|
|
62
|
+
trustPolicy: (0, canonical_contract_1.requireEnumValue)(object.trustPolicy, 'PreparedLaunchVariantKey.trustPolicy', TRUST_POLICIES),
|
|
63
|
+
policyGenerationHash: (0, canonical_contract_1.requireSha256)(object.policyGenerationHash, 'PreparedLaunchVariantKey.policyGenerationHash'),
|
|
64
|
+
region: (0, canonical_contract_1.requireNonEmptyString)(object.region, 'PreparedLaunchVariantKey.region'),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function serializePreparedLaunchVariantKey(input) {
|
|
68
|
+
return (0, canonical_contract_1.canonicalContractJson)(createPreparedLaunchVariantKey(input));
|
|
69
|
+
}
|
|
70
|
+
function hashPreparedLaunchVariantKey(input) {
|
|
71
|
+
return (0, canonical_contract_1.hashCanonicalContract)(createPreparedLaunchVariantKey(input));
|
|
72
|
+
}
|
|
73
|
+
function createPreparedLaunchVariant(input) {
|
|
74
|
+
const object = (0, canonical_contract_1.requireExactObject)(input, 'PreparedLaunchVariant', VARIANT_KEYS, VARIANT_OPTIONAL_KEYS);
|
|
75
|
+
const key = createPreparedLaunchVariantKey(object.key);
|
|
76
|
+
const keyHash = (0, canonical_contract_1.requireSha256)(object.keyHash, 'PreparedLaunchVariant.keyHash');
|
|
77
|
+
if (keyHash !== hashPreparedLaunchVariantKey(key)) {
|
|
78
|
+
throw new TypeError('PreparedLaunchVariant.keyHash must equal the canonical key hash.');
|
|
79
|
+
}
|
|
80
|
+
const status = (0, canonical_contract_1.requireEnumValue)(object.status, 'PreparedLaunchVariant.status', VARIANT_STATUSES);
|
|
81
|
+
const failure = (0, preparation_generation_1.requirePreparationFailureForStatus)(object.failure, Object.hasOwn(object, 'failure'), status === PreparedLaunchVariantStatus.Failed, 'PreparedLaunchVariant');
|
|
82
|
+
return Object.freeze({
|
|
83
|
+
id: (0, canonical_contract_1.requireNonEmptyString)(object.id, 'PreparedLaunchVariant.id'),
|
|
84
|
+
preparationGenerationId: (0, canonical_contract_1.requireNonEmptyString)(object.preparationGenerationId, 'PreparedLaunchVariant.preparationGenerationId'),
|
|
85
|
+
key,
|
|
86
|
+
keyHash,
|
|
87
|
+
compiledLaunchPlanHash: (0, canonical_contract_1.requireSha256)(object.compiledLaunchPlanHash, 'PreparedLaunchVariant.compiledLaunchPlanHash'),
|
|
88
|
+
preparedRuntimeTemplateHash: (0, canonical_contract_1.requireSha256)(object.preparedRuntimeTemplateHash, 'PreparedLaunchVariant.preparedRuntimeTemplateHash'),
|
|
89
|
+
preparedRuntimeTemplateRef: (0, canonical_contract_1.requireNonEmptyString)(object.preparedRuntimeTemplateRef, 'PreparedLaunchVariant.preparedRuntimeTemplateRef'),
|
|
90
|
+
status,
|
|
91
|
+
...(failure === undefined ? {} : { failure }),
|
|
92
|
+
rowVersion: (0, canonical_contract_1.requireNonNegativeSafeInteger)(object.rowVersion, 'PreparedLaunchVariant.rowVersion'),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function serializePreparedLaunchVariant(input) {
|
|
96
|
+
return (0, canonical_contract_1.canonicalContractJson)(createPreparedLaunchVariant(input));
|
|
97
|
+
}
|
|
98
|
+
function hashPreparedLaunchVariant(input) {
|
|
99
|
+
return (0, canonical_contract_1.hashCanonicalContract)(createPreparedLaunchVariant(input));
|
|
100
|
+
}
|
|
101
|
+
function requireTenantDependency(input) {
|
|
102
|
+
const base = (0, canonical_contract_1.requireExactObject)(input, 'PreparedLaunchVariantKey.tenantDependency', ['kind'], ['organizationScopeHash']);
|
|
103
|
+
const kind = (0, canonical_contract_1.requireEnumValue)(base.kind, 'PreparedLaunchVariantKey.tenantDependency.kind', TENANT_DEPENDENCY_KINDS);
|
|
104
|
+
if (kind === runtime_template_key_1.RuntimeTemplateTenantDependency.OrganizationNeutral) {
|
|
105
|
+
if (Object.hasOwn(base, 'organizationScopeHash')) {
|
|
106
|
+
throw new TypeError('PreparedLaunchVariantKey.tenantDependency.organizationScopeHash is forbidden for organization-neutral variants.');
|
|
107
|
+
}
|
|
108
|
+
return Object.freeze({ kind });
|
|
109
|
+
}
|
|
110
|
+
if (!Object.hasOwn(base, 'organizationScopeHash')) {
|
|
111
|
+
throw new TypeError('PreparedLaunchVariantKey.tenantDependency.organizationScopeHash is required for organization-bound variants.');
|
|
112
|
+
}
|
|
113
|
+
return Object.freeze({
|
|
114
|
+
kind,
|
|
115
|
+
organizationScopeHash: (0, canonical_contract_1.requireSha256)(base.organizationScopeHash, 'PreparedLaunchVariantKey.tenantDependency.organizationScopeHash'),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=prepared-launch-variant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepared-launch-variant.js","sourceRoot":"","sources":["../../../src/lib/launch-identity/prepared-launch-variant.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -94,7 +94,6 @@ export interface DriveResult {
|
|
|
94
94
|
export interface ApplyWorkspaceImageResult {
|
|
95
95
|
readonly applyId: string;
|
|
96
96
|
readonly outcome: 'applied' | 'idempotent';
|
|
97
|
-
readonly leaseKey: string;
|
|
98
97
|
readonly entries: ReadonlyArray<{
|
|
99
98
|
readonly mountKey: string;
|
|
100
99
|
readonly slot: string;
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/agent-session-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Runtime for composing and running Xema agent sessions — workspace manifests, skill bundles, environment resolution, and drift detection.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
|
package/src/lib/types.ts
CHANGED
|
@@ -317,6 +317,17 @@ export interface DriveResult {
|
|
|
317
317
|
* runtime's apply response (wire shape mirrors
|
|
318
318
|
* `MountApplyEntryResult` from `@xemahq/kernel-contracts/agent-workspace`).
|
|
319
319
|
*
|
|
320
|
+
* NO `leaseKey`. It was declared REQUIRED here and no producer has ever sent
|
|
321
|
+
* one: the authoritative wire contract for this response is the kernel's
|
|
322
|
+
* `MountApplyResponse` — `applyId`, `outcome`, `entries`, `totalLatencyMs`,
|
|
323
|
+
* `totalBytesWritten` — and workspace-proxy derives a lease key purely
|
|
324
|
+
* internally, for its own compare-and-set, never putting it on the wire.
|
|
325
|
+
*
|
|
326
|
+
* Two types for ONE message, and the stricter one was wrong. It stayed
|
|
327
|
+
* harmless only while nothing checked it; the moment the applier's validator
|
|
328
|
+
* started requiring it, EVERY real response became "malformed" and every
|
|
329
|
+
* session launch failed at `apply_bootstrap`.
|
|
330
|
+
*
|
|
320
331
|
* Fields exposed let the worker log per-entry status/bytes/error and
|
|
321
332
|
* surface failed entries even when the apply outcome is `applied` (a
|
|
322
333
|
* single failed entry can still mean the agent runs without its
|
|
@@ -325,7 +336,6 @@ export interface DriveResult {
|
|
|
325
336
|
export interface ApplyWorkspaceImageResult {
|
|
326
337
|
readonly applyId: string;
|
|
327
338
|
readonly outcome: 'applied' | 'idempotent';
|
|
328
|
-
readonly leaseKey: string;
|
|
329
339
|
readonly entries: ReadonlyArray<{
|
|
330
340
|
readonly mountKey: string;
|
|
331
341
|
readonly slot: string;
|