@xemahq/agent-session-runtime 0.6.2 → 0.6.3
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/agent-resolution.d.ts +4 -1
- package/dist/lib/agent-resolution.d.ts.map +1 -1
- package/dist/lib/agent-resolution.js +6 -0
- package/dist/lib/agent-resolution.js.map +1 -1
- package/package.json +2 -2
- package/src/lib/agent-resolution.ts +22 -0
- package/dist/lib/composition-resolution.d.ts +0 -43
- package/dist/lib/composition-resolution.d.ts.map +0 -1
- package/dist/lib/composition-resolution.js +0 -236
- package/dist/lib/composition-resolution.js.map +0 -1
- package/dist/lib/composition-workspace-manifest.d.ts +0 -51
- package/dist/lib/composition-workspace-manifest.d.ts.map +0 -1
- package/dist/lib/composition-workspace-manifest.js +0 -178
- package/dist/lib/composition-workspace-manifest.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ModelRef, type NodeOverlayFragment, type SubAgentBinding } from '@xemahq/kernel-contracts/workflow';
|
|
1
|
+
import { type ModelRef, type NodeOverlayFragment, type PromptMergeMode, type SubAgentBinding } from '@xemahq/kernel-contracts/workflow';
|
|
2
2
|
import type { ResolvedAgent, ResolvedAgentNode } from '@xemahq/kernel-contracts/agent-composition';
|
|
3
3
|
import type { PermissionMap } from '@xemahq/kernel-contracts/agent-permission';
|
|
4
4
|
import { type ToolSelectionEntry } from '@xemahq/kernel-contracts/mcp-tool';
|
|
@@ -19,10 +19,12 @@ export interface RuntimeAgentConfig {
|
|
|
19
19
|
readonly agentRef: string;
|
|
20
20
|
readonly primaryAgentSlug: string;
|
|
21
21
|
readonly primaryInstructions: string | null;
|
|
22
|
+
readonly primaryPromptMode: PromptMergeMode | null;
|
|
22
23
|
readonly primaryPermission: PermissionMap | null;
|
|
23
24
|
readonly primaryModelOverride: ModelRef | null;
|
|
24
25
|
readonly subAgentBindings: readonly SubAgentBinding[];
|
|
25
26
|
readonly subAgentInstructionsBySlug: Readonly<Record<string, string>>;
|
|
27
|
+
readonly subAgentPromptModeBySlug: Readonly<Record<string, PromptMergeMode>>;
|
|
26
28
|
readonly subAgentPermissionBySlug: Readonly<Record<string, PermissionMap>>;
|
|
27
29
|
readonly subAgentModelOverridesBySlug: Readonly<Record<string, ModelRef>>;
|
|
28
30
|
readonly defaultSkillSlugs: readonly string[];
|
|
@@ -33,6 +35,7 @@ export declare function flattenAgentTree(root: ResolvedAgentNode): readonly Flat
|
|
|
33
35
|
export declare function collectSkills(root: ResolvedAgentNode, opts?: CollectScopeOptions): readonly string[];
|
|
34
36
|
export declare function collectTools(root: ResolvedAgentNode, opts?: CollectScopeOptions): readonly ToolSelectionEntry[];
|
|
35
37
|
export declare function collectInstructionsBySlug(root: ResolvedAgentNode): Readonly<Record<string, string>>;
|
|
38
|
+
export declare function collectPromptModeBySlug(root: ResolvedAgentNode): Readonly<Record<string, PromptMergeMode>>;
|
|
36
39
|
export declare function collectPermissionsBySlug(root: ResolvedAgentNode): Readonly<Record<string, PermissionMap>>;
|
|
37
40
|
export declare function collectModelOverridesBySlug(root: ResolvedAgentNode): Readonly<Record<string, ModelRef>>;
|
|
38
41
|
export declare function appendInstructions(baseSystemPrompt: string, nodeInstructions: string | null): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-resolution.d.ts","sourceRoot":"","sources":["../../src/lib/agent-resolution.ts"],"names":[],"mappings":"AA4BA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EAClB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAU3C,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI5C;AAWD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAGD,MAAM,WAAW,mBAAmB;IAKlC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAOD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-resolution.d.ts","sourceRoot":"","sources":["../../src/lib/agent-resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ exports.flattenAgentTree = flattenAgentTree;
|
|
|
5
5
|
exports.collectSkills = collectSkills;
|
|
6
6
|
exports.collectTools = collectTools;
|
|
7
7
|
exports.collectInstructionsBySlug = collectInstructionsBySlug;
|
|
8
|
+
exports.collectPromptModeBySlug = collectPromptModeBySlug;
|
|
8
9
|
exports.collectPermissionsBySlug = collectPermissionsBySlug;
|
|
9
10
|
exports.collectModelOverridesBySlug = collectModelOverridesBySlug;
|
|
10
11
|
exports.appendInstructions = appendInstructions;
|
|
@@ -91,6 +92,9 @@ function collectTools(root, opts) {
|
|
|
91
92
|
function collectInstructionsBySlug(root) {
|
|
92
93
|
return collectDescendantOverlay(root, (child) => normalizeInstructions(child.instructions));
|
|
93
94
|
}
|
|
95
|
+
function collectPromptModeBySlug(root) {
|
|
96
|
+
return collectDescendantOverlay(root, (child) => child.promptMode ?? null);
|
|
97
|
+
}
|
|
94
98
|
function collectPermissionsBySlug(root) {
|
|
95
99
|
return collectDescendantOverlay(root, (child) => normalizePermission(child.permission));
|
|
96
100
|
}
|
|
@@ -222,10 +226,12 @@ function projectAgentToRuntimeConfig(resolved, overlay) {
|
|
|
222
226
|
agentRef,
|
|
223
227
|
primaryAgentSlug: root.kernel.slug,
|
|
224
228
|
primaryInstructions: primaryInstructions.length > 0 ? primaryInstructions : null,
|
|
229
|
+
primaryPromptMode: root.promptMode ?? null,
|
|
225
230
|
primaryPermission: overlayPermission ?? rootPermission,
|
|
226
231
|
primaryModelOverride: overlayModelOverride ?? rootModelOverride,
|
|
227
232
|
subAgentBindings: flattened.map((n) => ({ ...n })),
|
|
228
233
|
subAgentInstructionsBySlug: collectInstructionsBySlug(root),
|
|
234
|
+
subAgentPromptModeBySlug: collectPromptModeBySlug(root),
|
|
229
235
|
subAgentPermissionBySlug: collectPermissionsBySlug(root),
|
|
230
236
|
subAgentModelOverridesBySlug: collectModelOverridesBySlug(root),
|
|
231
237
|
defaultSkillSlugs: collectSkills(root, { scope: 'root' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-resolution.js","sourceRoot":"","sources":["../../src/lib/agent-resolution.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"agent-resolution.js","sourceRoot":"","sources":["../../src/lib/agent-resolution.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.6.
|
|
3
|
+
"version": "0.6.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"registry": "https://registry.npmjs.org/",
|
|
6
6
|
"access": "public"
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"prettier": "3.6.2",
|
|
36
36
|
"ts-jest": "^29.4.9",
|
|
37
37
|
"typescript": "5.9.3",
|
|
38
|
-
"@xemahq/kernel-contracts": "^0.13.
|
|
38
|
+
"@xemahq/kernel-contracts": "^0.13.2"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@xemahq/dsl": "^0.5.3"
|
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
type ModelClass,
|
|
33
33
|
type ModelRef,
|
|
34
34
|
type NodeOverlayFragment,
|
|
35
|
+
type PromptMergeMode,
|
|
35
36
|
type SubAgentBinding,
|
|
36
37
|
} from '@xemahq/kernel-contracts/workflow';
|
|
37
38
|
import type {
|
|
@@ -95,6 +96,13 @@ export interface RuntimeAgentConfig {
|
|
|
95
96
|
readonly primaryAgentSlug: string;
|
|
96
97
|
/** Root instructions (+ overlay), normalized; `null` when none. */
|
|
97
98
|
readonly primaryInstructions: string | null;
|
|
99
|
+
/**
|
|
100
|
+
* How `primaryInstructions` combine with the base kernel's `systemPrompt`
|
|
101
|
+
* (the root node's `promptMode`). `null` ⇒ Append (back-compat). `Replace`
|
|
102
|
+
* makes `primaryInstructions` the system prompt; the base kernel prompt body
|
|
103
|
+
* is dropped (config still inherited). The session overlay always appends.
|
|
104
|
+
*/
|
|
105
|
+
readonly primaryPromptMode: PromptMergeMode | null;
|
|
98
106
|
/** Root permission (+ overlay); `null` when none. */
|
|
99
107
|
readonly primaryPermission: PermissionMap | null;
|
|
100
108
|
/** Root model override (+ overlay); `null` when none. */
|
|
@@ -102,6 +110,7 @@ export interface RuntimeAgentConfig {
|
|
|
102
110
|
/** Flattened descendant bindings — NOW carrying the overlay trio. */
|
|
103
111
|
readonly subAgentBindings: readonly SubAgentBinding[];
|
|
104
112
|
readonly subAgentInstructionsBySlug: Readonly<Record<string, string>>;
|
|
113
|
+
readonly subAgentPromptModeBySlug: Readonly<Record<string, PromptMergeMode>>;
|
|
105
114
|
readonly subAgentPermissionBySlug: Readonly<Record<string, PermissionMap>>;
|
|
106
115
|
readonly subAgentModelOverridesBySlug: Readonly<Record<string, ModelRef>>;
|
|
107
116
|
/** Root-scoped skill slugs. */
|
|
@@ -226,6 +235,17 @@ export function collectInstructionsBySlug(
|
|
|
226
235
|
);
|
|
227
236
|
}
|
|
228
237
|
|
|
238
|
+
/**
|
|
239
|
+
* Per-descendant-slug `promptMode`, keyed by agent slug. DFS pre-order,
|
|
240
|
+
* first-wins. A descendant that omits `promptMode` contributes no key
|
|
241
|
+
* (consumer defaults to Append).
|
|
242
|
+
*/
|
|
243
|
+
export function collectPromptModeBySlug(
|
|
244
|
+
root: ResolvedAgentNode,
|
|
245
|
+
): Readonly<Record<string, PromptMergeMode>> {
|
|
246
|
+
return collectDescendantOverlay(root, (child) => child.promptMode ?? null);
|
|
247
|
+
}
|
|
248
|
+
|
|
229
249
|
/**
|
|
230
250
|
* Per-descendant-slug permission overlay, keyed by agent slug. DFS pre-order,
|
|
231
251
|
* first-wins. A descendant with no (or empty) override contributes no key.
|
|
@@ -511,10 +531,12 @@ export function projectAgentToRuntimeConfig(
|
|
|
511
531
|
primaryAgentSlug: root.kernel.slug,
|
|
512
532
|
primaryInstructions:
|
|
513
533
|
primaryInstructions.length > 0 ? primaryInstructions : null,
|
|
534
|
+
primaryPromptMode: root.promptMode ?? null,
|
|
514
535
|
primaryPermission: overlayPermission ?? rootPermission,
|
|
515
536
|
primaryModelOverride: overlayModelOverride ?? rootModelOverride,
|
|
516
537
|
subAgentBindings: flattened.map((n) => ({ ...n })),
|
|
517
538
|
subAgentInstructionsBySlug: collectInstructionsBySlug(root),
|
|
539
|
+
subAgentPromptModeBySlug: collectPromptModeBySlug(root),
|
|
518
540
|
subAgentPermissionBySlug: collectPermissionsBySlug(root),
|
|
519
541
|
subAgentModelOverridesBySlug: collectModelOverridesBySlug(root),
|
|
520
542
|
defaultSkillSlugs: collectSkills(root, { scope: 'root' }),
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { type ModelRef, type NodeOverlayFragment, type SubAgentBinding } from '@xemahq/kernel-contracts/workflow';
|
|
2
|
-
import type { ResolvedAgent, ResolvedAgentNode } from '@xemahq/kernel-contracts/agent-composition';
|
|
3
|
-
import type { PermissionMap } from '@xemahq/kernel-contracts/agent-permission';
|
|
4
|
-
import { type ToolSelectionEntry } from '@xemahq/kernel-contracts/mcp-tool';
|
|
5
|
-
export declare class AgentResolutionError extends Error {
|
|
6
|
-
constructor(context: string, detail: string);
|
|
7
|
-
}
|
|
8
|
-
export interface FlattenedAgentNode {
|
|
9
|
-
readonly slug: string;
|
|
10
|
-
readonly alias?: string;
|
|
11
|
-
readonly modelOverride?: ModelRef;
|
|
12
|
-
readonly instructions?: string;
|
|
13
|
-
readonly permission?: PermissionMap;
|
|
14
|
-
}
|
|
15
|
-
export interface CollectScopeOptions {
|
|
16
|
-
readonly scope?: 'tree' | 'root';
|
|
17
|
-
}
|
|
18
|
-
export interface RuntimeAgentConfig {
|
|
19
|
-
readonly agentRef: string;
|
|
20
|
-
readonly primaryAgentSlug: string;
|
|
21
|
-
readonly primaryInstructions: string | null;
|
|
22
|
-
readonly primaryPermission: PermissionMap | null;
|
|
23
|
-
readonly primaryModelOverride: ModelRef | null;
|
|
24
|
-
readonly subAgentBindings: readonly SubAgentBinding[];
|
|
25
|
-
readonly subAgentInstructionsBySlug: Readonly<Record<string, string>>;
|
|
26
|
-
readonly subAgentPermissionBySlug: Readonly<Record<string, PermissionMap>>;
|
|
27
|
-
readonly subAgentModelOverridesBySlug: Readonly<Record<string, ModelRef>>;
|
|
28
|
-
readonly defaultSkillSlugs: readonly string[];
|
|
29
|
-
readonly allSkillSlugs: readonly string[];
|
|
30
|
-
readonly defaultToolSelection: readonly ToolSelectionEntry[];
|
|
31
|
-
}
|
|
32
|
-
export declare function flattenAgentTree(root: ResolvedAgentNode): readonly FlattenedAgentNode[];
|
|
33
|
-
export declare function collectSkills(root: ResolvedAgentNode, opts?: CollectScopeOptions): readonly string[];
|
|
34
|
-
export declare function collectTools(root: ResolvedAgentNode, opts?: CollectScopeOptions): readonly ToolSelectionEntry[];
|
|
35
|
-
export declare function collectInstructionsBySlug(root: ResolvedAgentNode): Readonly<Record<string, string>>;
|
|
36
|
-
export declare function collectPermissionsBySlug(root: ResolvedAgentNode): Readonly<Record<string, PermissionMap>>;
|
|
37
|
-
export declare function collectModelOverridesBySlug(root: ResolvedAgentNode): Readonly<Record<string, ModelRef>>;
|
|
38
|
-
export declare function appendInstructions(baseSystemPrompt: string, nodeInstructions: string | null): string;
|
|
39
|
-
export declare function normalizeInstructions(raw: string | undefined): string | null;
|
|
40
|
-
export declare function normalizePermission(raw: PermissionMap | undefined): PermissionMap | null;
|
|
41
|
-
export declare function projectModelOverride(raw: ModelRef | undefined, context: string): ModelRef | null;
|
|
42
|
-
export declare function projectAgentToRuntimeConfig(resolved: ResolvedAgent, overlay?: NodeOverlayFragment): RuntimeAgentConfig;
|
|
43
|
-
//# sourceMappingURL=composition-resolution.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composition-resolution.d.ts","sourceRoot":"","sources":["../../src/lib/composition-resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AgentResolutionError = void 0;
|
|
4
|
-
exports.flattenAgentTree = flattenAgentTree;
|
|
5
|
-
exports.collectSkills = collectSkills;
|
|
6
|
-
exports.collectTools = collectTools;
|
|
7
|
-
exports.collectInstructionsBySlug = collectInstructionsBySlug;
|
|
8
|
-
exports.collectPermissionsBySlug = collectPermissionsBySlug;
|
|
9
|
-
exports.collectModelOverridesBySlug = collectModelOverridesBySlug;
|
|
10
|
-
exports.appendInstructions = appendInstructions;
|
|
11
|
-
exports.normalizeInstructions = normalizeInstructions;
|
|
12
|
-
exports.normalizePermission = normalizePermission;
|
|
13
|
-
exports.projectModelOverride = projectModelOverride;
|
|
14
|
-
exports.projectAgentToRuntimeConfig = projectAgentToRuntimeConfig;
|
|
15
|
-
const workflow_1 = require("@xemahq/kernel-contracts/workflow");
|
|
16
|
-
const mcp_tool_1 = require("@xemahq/kernel-contracts/mcp-tool");
|
|
17
|
-
class AgentResolutionError extends Error {
|
|
18
|
-
constructor(context, detail) {
|
|
19
|
-
super(`Agent resolution failed for "${context}": ${detail}`);
|
|
20
|
-
this.name = 'AgentResolutionError';
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.AgentResolutionError = AgentResolutionError;
|
|
24
|
-
function flattenAgentTree(root) {
|
|
25
|
-
const seen = new Set();
|
|
26
|
-
const out = [];
|
|
27
|
-
const visit = (node) => {
|
|
28
|
-
for (const child of node.children) {
|
|
29
|
-
const slug = child.kernel.slug;
|
|
30
|
-
if (slug.length === 0) {
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
if (!seen.has(slug)) {
|
|
34
|
-
seen.add(slug);
|
|
35
|
-
out.push({
|
|
36
|
-
slug,
|
|
37
|
-
...(child.alias ? { alias: child.alias } : {}),
|
|
38
|
-
...(child.modelOverride
|
|
39
|
-
? { modelOverride: child.modelOverride }
|
|
40
|
-
: {}),
|
|
41
|
-
...(child.instructions ? { instructions: child.instructions } : {}),
|
|
42
|
-
...(child.permission ? { permission: child.permission } : {}),
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
visit(child);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
visit(root);
|
|
49
|
-
return out;
|
|
50
|
-
}
|
|
51
|
-
function collectSkills(root, opts) {
|
|
52
|
-
const scope = opts?.scope ?? 'tree';
|
|
53
|
-
const seen = new Set();
|
|
54
|
-
const out = [];
|
|
55
|
-
const addNode = (node) => {
|
|
56
|
-
for (const slug of projectSkillSlugs(node.skills)) {
|
|
57
|
-
if (!seen.has(slug)) {
|
|
58
|
-
seen.add(slug);
|
|
59
|
-
out.push(slug);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
addNode(root);
|
|
64
|
-
if (scope === 'tree') {
|
|
65
|
-
const visit = (node) => {
|
|
66
|
-
for (const child of node.children) {
|
|
67
|
-
addNode(child);
|
|
68
|
-
visit(child);
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
visit(root);
|
|
72
|
-
}
|
|
73
|
-
return out;
|
|
74
|
-
}
|
|
75
|
-
function collectTools(root, opts) {
|
|
76
|
-
const scope = opts?.scope ?? 'root';
|
|
77
|
-
const ctx = root.kernel.slug;
|
|
78
|
-
if (scope === 'root') {
|
|
79
|
-
return projectToolSelection(root.tools, ctx);
|
|
80
|
-
}
|
|
81
|
-
const out = [...projectToolSelection(root.tools, ctx)];
|
|
82
|
-
const visit = (node) => {
|
|
83
|
-
for (const child of node.children) {
|
|
84
|
-
out.push(...projectToolSelection(child.tools, child.kernel.slug));
|
|
85
|
-
visit(child);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
visit(root);
|
|
89
|
-
return out;
|
|
90
|
-
}
|
|
91
|
-
function collectInstructionsBySlug(root) {
|
|
92
|
-
return collectDescendantOverlay(root, (child) => normalizeInstructions(child.instructions));
|
|
93
|
-
}
|
|
94
|
-
function collectPermissionsBySlug(root) {
|
|
95
|
-
return collectDescendantOverlay(root, (child) => normalizePermission(child.permission));
|
|
96
|
-
}
|
|
97
|
-
function collectModelOverridesBySlug(root) {
|
|
98
|
-
return collectDescendantOverlay(root, (child) => projectModelOverride(child.modelOverride, child.kernel.slug));
|
|
99
|
-
}
|
|
100
|
-
function collectDescendantOverlay(root, project) {
|
|
101
|
-
const out = {};
|
|
102
|
-
const seen = new Set();
|
|
103
|
-
const visit = (node) => {
|
|
104
|
-
for (const child of node.children) {
|
|
105
|
-
const slug = child.kernel.slug;
|
|
106
|
-
if (slug.length === 0) {
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
if (!seen.has(slug)) {
|
|
110
|
-
seen.add(slug);
|
|
111
|
-
const value = project(child);
|
|
112
|
-
if (value !== null) {
|
|
113
|
-
out[slug] = value;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
visit(child);
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
visit(root);
|
|
120
|
-
return out;
|
|
121
|
-
}
|
|
122
|
-
function appendInstructions(baseSystemPrompt, nodeInstructions) {
|
|
123
|
-
const trimmed = nodeInstructions === null ? '' : nodeInstructions.trim();
|
|
124
|
-
if (trimmed.length === 0) {
|
|
125
|
-
return baseSystemPrompt;
|
|
126
|
-
}
|
|
127
|
-
if (baseSystemPrompt.length === 0) {
|
|
128
|
-
return trimmed;
|
|
129
|
-
}
|
|
130
|
-
return `${baseSystemPrompt}\n\n${trimmed}`;
|
|
131
|
-
}
|
|
132
|
-
function normalizeInstructions(raw) {
|
|
133
|
-
if (typeof raw !== 'string') {
|
|
134
|
-
return null;
|
|
135
|
-
}
|
|
136
|
-
const trimmed = raw.trim();
|
|
137
|
-
return trimmed.length > 0 ? trimmed : null;
|
|
138
|
-
}
|
|
139
|
-
function normalizePermission(raw) {
|
|
140
|
-
if (!raw || typeof raw !== 'object' || Object.keys(raw).length === 0) {
|
|
141
|
-
return null;
|
|
142
|
-
}
|
|
143
|
-
return raw;
|
|
144
|
-
}
|
|
145
|
-
function projectModelOverride(raw, context) {
|
|
146
|
-
if (raw === undefined) {
|
|
147
|
-
return null;
|
|
148
|
-
}
|
|
149
|
-
if (raw.kind === workflow_1.ModelRefKind.CONCRETE) {
|
|
150
|
-
if (typeof raw.modelId !== 'string' || raw.modelId.trim().length === 0) {
|
|
151
|
-
throw new AgentResolutionError(context, 'concrete modelOverride is missing a modelId');
|
|
152
|
-
}
|
|
153
|
-
return raw;
|
|
154
|
-
}
|
|
155
|
-
const modelClass = raw.modelClass;
|
|
156
|
-
if (modelClass === undefined ||
|
|
157
|
-
!workflow_1.MODEL_CLASS_VALUES.includes(modelClass)) {
|
|
158
|
-
throw new AgentResolutionError(context, `strategy modelOverride.modelClass must be one of ${workflow_1.MODEL_CLASS_VALUES.join(', ')}`);
|
|
159
|
-
}
|
|
160
|
-
return raw;
|
|
161
|
-
}
|
|
162
|
-
function projectSkillSlugs(skills) {
|
|
163
|
-
if (!Array.isArray(skills)) {
|
|
164
|
-
return [];
|
|
165
|
-
}
|
|
166
|
-
return skills
|
|
167
|
-
.map((s) => s.slug)
|
|
168
|
-
.filter((slug) => typeof slug === 'string' && slug.length > 0);
|
|
169
|
-
}
|
|
170
|
-
function projectToolSelection(tools, context) {
|
|
171
|
-
if (!Array.isArray(tools)) {
|
|
172
|
-
return [];
|
|
173
|
-
}
|
|
174
|
-
const validKinds = new Set(Object.values(mcp_tool_1.ToolProviderKind));
|
|
175
|
-
const out = [];
|
|
176
|
-
for (const [idx, tool] of tools.entries()) {
|
|
177
|
-
if (typeof tool.providerKind !== 'string' ||
|
|
178
|
-
!validKinds.has(tool.providerKind)) {
|
|
179
|
-
throw new AgentResolutionError(context, `tools[${idx}].providerKind must be one of ${Object.values(mcp_tool_1.ToolProviderKind).join(', ')}`);
|
|
180
|
-
}
|
|
181
|
-
if (typeof tool.resourceId !== 'string' ||
|
|
182
|
-
tool.resourceId.trim().length === 0) {
|
|
183
|
-
throw new AgentResolutionError(context, `tools[${idx}].resourceId must be a non-empty string`);
|
|
184
|
-
}
|
|
185
|
-
if (tool.kind === 'provider') {
|
|
186
|
-
out.push({
|
|
187
|
-
kind: 'provider',
|
|
188
|
-
providerKind: tool.providerKind,
|
|
189
|
-
resourceId: tool.resourceId,
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
else if (tool.kind === 'tool') {
|
|
193
|
-
if (typeof tool.toolName !== 'string' ||
|
|
194
|
-
tool.toolName.trim().length === 0) {
|
|
195
|
-
throw new AgentResolutionError(context, `tools[${idx}].toolName must be a non-empty string for kind='tool'`);
|
|
196
|
-
}
|
|
197
|
-
out.push({
|
|
198
|
-
kind: 'tool',
|
|
199
|
-
providerKind: tool.providerKind,
|
|
200
|
-
resourceId: tool.resourceId,
|
|
201
|
-
toolName: tool.toolName,
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
throw new AgentResolutionError(context, `tools[${idx}].kind must be "provider" or "tool"`);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
return out;
|
|
209
|
-
}
|
|
210
|
-
function projectAgentToRuntimeConfig(resolved, overlay) {
|
|
211
|
-
const root = resolved.root;
|
|
212
|
-
const agentRef = `${resolved.slug}@${resolved.version}`;
|
|
213
|
-
const rootInstructions = normalizeInstructions(root.instructions);
|
|
214
|
-
const overlayInstructions = normalizeInstructions(overlay?.instructions);
|
|
215
|
-
const primaryInstructions = appendInstructions(rootInstructions ?? '', overlayInstructions);
|
|
216
|
-
const rootModelOverride = projectModelOverride(root.modelOverride, agentRef);
|
|
217
|
-
const overlayModelOverride = projectModelOverride(overlay?.modelOverride, `${agentRef}#overlay`);
|
|
218
|
-
const rootPermission = normalizePermission(root.permission);
|
|
219
|
-
const overlayPermission = normalizePermission(overlay?.permission);
|
|
220
|
-
const flattened = flattenAgentTree(root);
|
|
221
|
-
return {
|
|
222
|
-
agentRef,
|
|
223
|
-
primaryAgentSlug: root.kernel.slug,
|
|
224
|
-
primaryInstructions: primaryInstructions.length > 0 ? primaryInstructions : null,
|
|
225
|
-
primaryPermission: overlayPermission ?? rootPermission,
|
|
226
|
-
primaryModelOverride: overlayModelOverride ?? rootModelOverride,
|
|
227
|
-
subAgentBindings: flattened.map((n) => ({ ...n })),
|
|
228
|
-
subAgentInstructionsBySlug: collectInstructionsBySlug(root),
|
|
229
|
-
subAgentPermissionBySlug: collectPermissionsBySlug(root),
|
|
230
|
-
subAgentModelOverridesBySlug: collectModelOverridesBySlug(root),
|
|
231
|
-
defaultSkillSlugs: collectSkills(root, { scope: 'root' }),
|
|
232
|
-
allSkillSlugs: collectSkills(root, { scope: 'tree' }),
|
|
233
|
-
defaultToolSelection: collectTools(root, { scope: 'root' }),
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
//# sourceMappingURL=composition-resolution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composition-resolution.js","sourceRoot":"","sources":["../../src/lib/composition-resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { type CompiledManifestCredential, type CompiledManifestPermissions, type ModelRef } from '@xemahq/kernel-contracts/workflow';
|
|
2
|
-
import type { PermissionMap } from '@xemahq/kernel-contracts/agent-permission';
|
|
3
|
-
import { type CompiledWorkspaceManifest } from '@xemahq/dsl/workspace-manifest';
|
|
4
|
-
export type { CompiledWorkspaceManifest };
|
|
5
|
-
export declare class AgentMountLayoutError extends Error {
|
|
6
|
-
constructor(agentRef: string, detail: string);
|
|
7
|
-
}
|
|
8
|
-
export interface AgentRunConfigInput {
|
|
9
|
-
readonly stage: string;
|
|
10
|
-
readonly role: string;
|
|
11
|
-
readonly deliverableSpecRef?: string;
|
|
12
|
-
}
|
|
13
|
-
export interface AgentMountLayoutInput {
|
|
14
|
-
readonly mounts: Readonly<Record<string, unknown>>;
|
|
15
|
-
readonly agentRunConfig: AgentRunConfigInput;
|
|
16
|
-
readonly seedFiles: readonly unknown[];
|
|
17
|
-
readonly inputs: Readonly<Record<string, unknown>>;
|
|
18
|
-
}
|
|
19
|
-
export interface AgentSubAgentBindingInput {
|
|
20
|
-
readonly slug: string;
|
|
21
|
-
readonly alias?: string;
|
|
22
|
-
readonly modelOverride?: ModelRef;
|
|
23
|
-
readonly instructions?: string;
|
|
24
|
-
readonly permission?: PermissionMap;
|
|
25
|
-
}
|
|
26
|
-
export interface AgentOutputSurfaceInput {
|
|
27
|
-
readonly kind: 'none' | 'web' | 'static' | 'app' | 'tunnel';
|
|
28
|
-
readonly port?: number;
|
|
29
|
-
readonly healthPath?: string;
|
|
30
|
-
readonly autoOpen?: boolean;
|
|
31
|
-
readonly mode?: 'single' | 'multi';
|
|
32
|
-
readonly root?: string;
|
|
33
|
-
readonly defaultDocument?: string;
|
|
34
|
-
}
|
|
35
|
-
export interface AgentManifestSource {
|
|
36
|
-
readonly agentRef: string;
|
|
37
|
-
readonly primaryAgentSlug: string;
|
|
38
|
-
readonly subAgentBindings: readonly AgentSubAgentBindingInput[];
|
|
39
|
-
readonly mountLayout: AgentMountLayoutInput | undefined;
|
|
40
|
-
readonly outputSurface?: AgentOutputSurfaceInput;
|
|
41
|
-
readonly credentials?: readonly CompiledManifestCredential[];
|
|
42
|
-
readonly permissions?: CompiledManifestPermissions;
|
|
43
|
-
}
|
|
44
|
-
export interface AgentManifestImplicitInputs {
|
|
45
|
-
readonly orgId: string;
|
|
46
|
-
readonly projectId: string;
|
|
47
|
-
readonly sessionId?: string;
|
|
48
|
-
}
|
|
49
|
-
export declare function compileAgentWorkspaceManifest(source: AgentManifestSource, bindInputs: Readonly<Record<string, unknown>>): CompiledWorkspaceManifest;
|
|
50
|
-
export declare function buildAgentManifestBindInputs(source: AgentManifestSource, explicitInputs: Record<string, unknown> | null, implicitInputs: AgentManifestImplicitInputs): Readonly<Record<string, unknown>>;
|
|
51
|
-
//# sourceMappingURL=composition-workspace-manifest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composition-workspace-manifest.d.ts","sourceRoot":"","sources":["../../src/lib/composition-workspace-manifest.ts"],"names":[],"mappings":"AA6BA,OAAO,EAIL,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,QAAQ,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAEL,KAAK,yBAAyB,EAU/B,MAAM,gCAAgC,CAAC;AAMxC,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAQ1C,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAO7C;AAOD,MAAM,WAAW,mBAAmB;IAElC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AASD,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnD,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAE7C,QAAQ,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC;IAEvC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAaD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;IAElC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAcD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAOD,MAAM,WAAW,mBAAmB;IAElC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAMhE,QAAQ,CAAC,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAUxD,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IAajD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAa7D,QAAQ,CAAC,WAAW,CAAC,EAAE,2BAA2B,CAAC;CACpD;AAaD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAwBD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC5C,yBAAyB,CAsG3B;AA0GD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC9C,cAAc,EAAE,2BAA2B,GAC1C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA6CnC"}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AgentMountLayoutError = void 0;
|
|
4
|
-
exports.compileAgentWorkspaceManifest = compileAgentWorkspaceManifest;
|
|
5
|
-
exports.buildAgentManifestBindInputs = buildAgentManifestBindInputs;
|
|
6
|
-
const workflow_1 = require("@xemahq/kernel-contracts/workflow");
|
|
7
|
-
const workspace_manifest_1 = require("@xemahq/dsl/workspace-manifest");
|
|
8
|
-
class AgentMountLayoutError extends Error {
|
|
9
|
-
constructor(agentRef, detail) {
|
|
10
|
-
super(`Cannot derive a workspace mount layout from Agent ` +
|
|
11
|
-
`"${agentRef}": ${detail}`);
|
|
12
|
-
this.name = 'AgentMountLayoutError';
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.AgentMountLayoutError = AgentMountLayoutError;
|
|
16
|
-
function compileAgentWorkspaceManifest(source, bindInputs) {
|
|
17
|
-
const mountLayout = source.mountLayout;
|
|
18
|
-
if (!mountLayout) {
|
|
19
|
-
throw new AgentMountLayoutError(source.agentRef, 'the composition declares no `workspace.mountLayout` block — its ' +
|
|
20
|
-
'source workspace manifest was not projected by the llm-registry-api ' +
|
|
21
|
-
'composition seeder. Re-seed compositions (boot llm-registry-api) or ' +
|
|
22
|
-
'fix the source manifest.');
|
|
23
|
-
}
|
|
24
|
-
const [slug, version] = splitAgentRef(source.agentRef);
|
|
25
|
-
const subAgents = source.subAgentBindings.map((binding) => ({
|
|
26
|
-
slug: binding.slug,
|
|
27
|
-
...(binding.alias !== undefined ? { alias: binding.alias } : {}),
|
|
28
|
-
...(binding.modelOverride !== undefined
|
|
29
|
-
? { defaultModel: binding.modelOverride }
|
|
30
|
-
: {}),
|
|
31
|
-
...(binding.instructions !== undefined
|
|
32
|
-
? { instructions: binding.instructions }
|
|
33
|
-
: {}),
|
|
34
|
-
...(binding.permission !== undefined
|
|
35
|
-
? { permission: binding.permission }
|
|
36
|
-
: {}),
|
|
37
|
-
}));
|
|
38
|
-
const outputSurface = projectOutputSurface(source.outputSurface);
|
|
39
|
-
const credentials = projectCredentials(source.credentials);
|
|
40
|
-
const permissions = projectPermissions(source.permissions);
|
|
41
|
-
const spec = {
|
|
42
|
-
mounts: mountLayout.mounts,
|
|
43
|
-
agent: {
|
|
44
|
-
slug: source.primaryAgentSlug,
|
|
45
|
-
stage: mountLayout.agentRunConfig.stage,
|
|
46
|
-
role: mountLayout.agentRunConfig.role,
|
|
47
|
-
...(mountLayout.agentRunConfig.deliverableSpecRef !== undefined
|
|
48
|
-
? { deliverableSpecRef: mountLayout.agentRunConfig.deliverableSpecRef }
|
|
49
|
-
: {}),
|
|
50
|
-
...(subAgents.length > 0 ? { subAgents } : {}),
|
|
51
|
-
},
|
|
52
|
-
...(Object.keys(mountLayout.inputs).length > 0
|
|
53
|
-
? {
|
|
54
|
-
inputs: mountLayout.inputs,
|
|
55
|
-
}
|
|
56
|
-
: {}),
|
|
57
|
-
...(mountLayout.seedFiles.length > 0
|
|
58
|
-
? {
|
|
59
|
-
seedFiles: mountLayout.seedFiles,
|
|
60
|
-
}
|
|
61
|
-
: {}),
|
|
62
|
-
...(outputSurface === undefined ? {} : { outputSurface }),
|
|
63
|
-
...(credentials === undefined ? {} : { credentials }),
|
|
64
|
-
...(permissions === undefined ? {} : { permissions }),
|
|
65
|
-
};
|
|
66
|
-
const envelope = {
|
|
67
|
-
apiVersion: 'xema.dev/workspace/v1',
|
|
68
|
-
kind: 'WorkspaceManifest',
|
|
69
|
-
metadata: {
|
|
70
|
-
slug,
|
|
71
|
-
version,
|
|
72
|
-
surfaceCompat: [workflow_1.ManifestSurface.AGENT_SESSION],
|
|
73
|
-
},
|
|
74
|
-
spec,
|
|
75
|
-
};
|
|
76
|
-
const result = (0, workspace_manifest_1.compileManifest)(envelope, bindInputs);
|
|
77
|
-
if (!result.ok) {
|
|
78
|
-
throw new AgentMountLayoutError(source.agentRef, `reconstructed manifest failed to compile: ${result.errors
|
|
79
|
-
.map((e) => `${e.path}: ${e.message}`)
|
|
80
|
-
.join('; ')}`);
|
|
81
|
-
}
|
|
82
|
-
return result.compiled;
|
|
83
|
-
}
|
|
84
|
-
function projectOutputSurface(surface) {
|
|
85
|
-
if (!surface)
|
|
86
|
-
return undefined;
|
|
87
|
-
return {
|
|
88
|
-
kind: surface.kind,
|
|
89
|
-
...(surface.port === undefined ? {} : { port: surface.port }),
|
|
90
|
-
...(surface.healthPath === undefined
|
|
91
|
-
? {}
|
|
92
|
-
: { healthPath: surface.healthPath }),
|
|
93
|
-
...(surface.autoOpen === undefined ? {} : { autoOpen: surface.autoOpen }),
|
|
94
|
-
...(surface.mode === undefined ? {} : { mode: surface.mode }),
|
|
95
|
-
...(surface.root === undefined ? {} : { root: surface.root }),
|
|
96
|
-
...(surface.defaultDocument === undefined
|
|
97
|
-
? {}
|
|
98
|
-
: { defaultDocument: surface.defaultDocument }),
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
function projectCredentials(credentials) {
|
|
102
|
-
if (credentials === undefined)
|
|
103
|
-
return undefined;
|
|
104
|
-
return credentials.map((credential) => ({
|
|
105
|
-
name: credential.name,
|
|
106
|
-
kind: credential.kind,
|
|
107
|
-
sourceRef: credential.sourceRef,
|
|
108
|
-
required: credential.required,
|
|
109
|
-
}));
|
|
110
|
-
}
|
|
111
|
-
function projectPermissions(permissions) {
|
|
112
|
-
if (permissions === undefined)
|
|
113
|
-
return undefined;
|
|
114
|
-
return {
|
|
115
|
-
tools: {
|
|
116
|
-
allow: permissions.tools.allow,
|
|
117
|
-
deny: permissions.tools.deny,
|
|
118
|
-
},
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
function buildAgentManifestBindInputs(source, explicitInputs, implicitInputs) {
|
|
122
|
-
const declared = new Set(Object.keys(source.mountLayout?.inputs ?? {}));
|
|
123
|
-
if (declared.size === 0) {
|
|
124
|
-
return {};
|
|
125
|
-
}
|
|
126
|
-
if (explicitInputs !== null &&
|
|
127
|
-
(typeof explicitInputs !== 'object' || Array.isArray(explicitInputs))) {
|
|
128
|
-
throw new AgentMountLayoutError(source.agentRef, 'explicit manifest inputs must be an object when provided');
|
|
129
|
-
}
|
|
130
|
-
const explicit = explicitInputs ?? {};
|
|
131
|
-
for (const [key, value] of Object.entries(explicit)) {
|
|
132
|
-
if (!declared.has(key)) {
|
|
133
|
-
throw new AgentMountLayoutError(source.agentRef, `manifest inputs contain undeclared key "${key}"`);
|
|
134
|
-
}
|
|
135
|
-
assertManifestInputValue(source.agentRef, key, value);
|
|
136
|
-
}
|
|
137
|
-
const implicit = {
|
|
138
|
-
orgId: implicitInputs.orgId,
|
|
139
|
-
projectId: implicitInputs.projectId,
|
|
140
|
-
...(implicitInputs.sessionId !== undefined
|
|
141
|
-
? { sessionId: implicitInputs.sessionId }
|
|
142
|
-
: {}),
|
|
143
|
-
};
|
|
144
|
-
const out = {};
|
|
145
|
-
for (const key of declared) {
|
|
146
|
-
if (Object.hasOwn(explicit, key)) {
|
|
147
|
-
out[key] = explicit[key];
|
|
148
|
-
continue;
|
|
149
|
-
}
|
|
150
|
-
if (Object.hasOwn(implicit, key)) {
|
|
151
|
-
out[key] = implicit[key];
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return out;
|
|
155
|
-
}
|
|
156
|
-
function splitAgentRef(ref) {
|
|
157
|
-
const at = ref.lastIndexOf('@');
|
|
158
|
-
if (at <= 0 || at === ref.length - 1) {
|
|
159
|
-
throw new AgentMountLayoutError(ref, 'expected a version-pinned `slug@version` composition ref — the ' +
|
|
160
|
-
'session resolver always pins the resolved version');
|
|
161
|
-
}
|
|
162
|
-
return [ref.slice(0, at), ref.slice(at + 1)];
|
|
163
|
-
}
|
|
164
|
-
function assertManifestInputValue(agentRef, key, value) {
|
|
165
|
-
if (value !== null &&
|
|
166
|
-
typeof value !== 'string' &&
|
|
167
|
-
typeof value !== 'number' &&
|
|
168
|
-
typeof value !== 'boolean' &&
|
|
169
|
-
!Array.isArray(value)) {
|
|
170
|
-
throw new AgentMountLayoutError(agentRef, `manifest input "${key}" must be a primitive ` +
|
|
171
|
-
`(string, number, boolean, string[]) — got ${typeof value}`);
|
|
172
|
-
}
|
|
173
|
-
if (Array.isArray(value) &&
|
|
174
|
-
!value.every((entry) => typeof entry === 'string')) {
|
|
175
|
-
throw new AgentMountLayoutError(agentRef, `manifest input "${key}" is an array — every element must be a string`);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
//# sourceMappingURL=composition-workspace-manifest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composition-workspace-manifest.js","sourceRoot":"","sources":["../../src/lib/composition-workspace-manifest.ts"],"names":[],"mappings":"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"}
|