@xemahq/agent-session-runtime 0.1.1
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/LICENSE +201 -0
- package/README.md +61 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/composer.d.ts +14 -0
- package/dist/lib/composer.d.ts.map +1 -0
- package/dist/lib/composer.js +595 -0
- package/dist/lib/composer.js.map +1 -0
- package/dist/lib/composition-workspace-manifest.d.ts +44 -0
- package/dist/lib/composition-workspace-manifest.d.ts.map +1 -0
- package/dist/lib/composition-workspace-manifest.js +143 -0
- package/dist/lib/composition-workspace-manifest.js.map +1 -0
- package/dist/lib/dispatch-contract.d.ts +48 -0
- package/dist/lib/dispatch-contract.d.ts.map +1 -0
- package/dist/lib/dispatch-contract.js +8 -0
- package/dist/lib/dispatch-contract.js.map +1 -0
- package/dist/lib/drift-detector.d.ts +40 -0
- package/dist/lib/drift-detector.d.ts.map +1 -0
- package/dist/lib/drift-detector.js +386 -0
- package/dist/lib/drift-detector.js.map +1 -0
- package/dist/lib/environment-resolver.d.ts +84 -0
- package/dist/lib/environment-resolver.d.ts.map +1 -0
- package/dist/lib/environment-resolver.js +181 -0
- package/dist/lib/environment-resolver.js.map +1 -0
- package/dist/lib/errors.d.ts +12 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +27 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/lifecycle-state.d.ts +23 -0
- package/dist/lib/lifecycle-state.d.ts.map +1 -0
- package/dist/lib/lifecycle-state.js +70 -0
- package/dist/lib/lifecycle-state.js.map +1 -0
- package/dist/lib/skill-bundle-template-resolver.d.ts +23 -0
- package/dist/lib/skill-bundle-template-resolver.d.ts.map +1 -0
- package/dist/lib/skill-bundle-template-resolver.js +54 -0
- package/dist/lib/skill-bundle-template-resolver.js.map +1 -0
- package/dist/lib/types.d.ts +141 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +3 -0
- package/dist/lib/types.js.map +1 -0
- package/package.json +45 -0
- package/src/index.ts +34 -0
- package/src/lib/composer.ts +1041 -0
- package/src/lib/composition-workspace-manifest.ts +432 -0
- package/src/lib/dispatch-contract.ts +156 -0
- package/src/lib/drift-detector.ts +497 -0
- package/src/lib/environment-resolver.ts +480 -0
- package/src/lib/errors.ts +43 -0
- package/src/lib/lifecycle-state.ts +139 -0
- package/src/lib/skill-bundle-template-resolver.ts +147 -0
- package/src/lib/types.ts +443 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultEnvironmentResolver = void 0;
|
|
4
|
+
exports.mergeSubAgents = mergeSubAgents;
|
|
5
|
+
const node_crypto_1 = require("node:crypto");
|
|
6
|
+
const agent_composition_1 = require("@xemahq/kernel-contracts/agent-composition");
|
|
7
|
+
const mcp_tool_1 = require("@xemahq/kernel-contracts/mcp-tool");
|
|
8
|
+
const workflow_1 = require("@xemahq/kernel-contracts/workflow");
|
|
9
|
+
const errors_1 = require("./errors");
|
|
10
|
+
class DefaultEnvironmentResolver {
|
|
11
|
+
composer;
|
|
12
|
+
constructor(composer) {
|
|
13
|
+
this.composer = composer;
|
|
14
|
+
}
|
|
15
|
+
async resolve(req) {
|
|
16
|
+
this.assertSurfaceCompat(req.manifest, req.surface);
|
|
17
|
+
const role = req.overrides?.role ?? req.manifest.agent.role;
|
|
18
|
+
const deliverableSpecRef = req.overrides?.deliverableSpecRef ?? req.manifest.agent.deliverableSpecRef;
|
|
19
|
+
const mountPlan = await this.composer.compose({
|
|
20
|
+
orgId: req.surface.orgId,
|
|
21
|
+
projectId: req.surface.projectId,
|
|
22
|
+
manifest: req.manifest,
|
|
23
|
+
agentContext: req.agentContext,
|
|
24
|
+
...(req.surface.kind === workflow_1.ManifestSurface.WORKFLOW
|
|
25
|
+
? {
|
|
26
|
+
workflowRun: {
|
|
27
|
+
runId: req.surface.runId,
|
|
28
|
+
jobRunId: req.surface.jobRunId,
|
|
29
|
+
},
|
|
30
|
+
}
|
|
31
|
+
: {
|
|
32
|
+
interactive: {
|
|
33
|
+
sessionId: req.surface.sessionId,
|
|
34
|
+
...(req.surface.turnGen !== undefined
|
|
35
|
+
? { turnGen: req.surface.turnGen }
|
|
36
|
+
: {}),
|
|
37
|
+
},
|
|
38
|
+
}),
|
|
39
|
+
agentOverrides: {
|
|
40
|
+
role,
|
|
41
|
+
...(deliverableSpecRef !== undefined ? { deliverableSpecRef } : {}),
|
|
42
|
+
},
|
|
43
|
+
...(req.templateResolver !== undefined
|
|
44
|
+
? { templateResolver: req.templateResolver }
|
|
45
|
+
: {}),
|
|
46
|
+
...(req.systemSkillSlugs !== undefined
|
|
47
|
+
? { systemSkillSlugs: req.systemSkillSlugs }
|
|
48
|
+
: {}),
|
|
49
|
+
...(req.briefcase !== undefined ? { briefcase: req.briefcase } : {}),
|
|
50
|
+
});
|
|
51
|
+
const subAgents = mergeSubAgents(req.manifest.agent.subAgents, req.overrides?.subAgents);
|
|
52
|
+
const model = req.overrides?.model ?? req.manifest.agent.defaultModel;
|
|
53
|
+
const toolSelection = mergeBriefcaseToolSelection(req.manifest.toolSelection, req.briefcase?.mcpTools);
|
|
54
|
+
let mcpServers = Object.freeze({});
|
|
55
|
+
if (req.mcpResolver) {
|
|
56
|
+
const ctx = req.surface.kind === workflow_1.ManifestSurface.AGENT_SESSION
|
|
57
|
+
? {
|
|
58
|
+
orgId: req.surface.orgId,
|
|
59
|
+
projectId: req.surface.projectId,
|
|
60
|
+
sessionId: req.surface.sessionId,
|
|
61
|
+
}
|
|
62
|
+
: {
|
|
63
|
+
orgId: req.surface.orgId,
|
|
64
|
+
projectId: req.surface.projectId,
|
|
65
|
+
};
|
|
66
|
+
mcpServers = await req.mcpResolver.resolve(toolSelection, ctx);
|
|
67
|
+
}
|
|
68
|
+
const resolved = {
|
|
69
|
+
surface: req.surface.kind,
|
|
70
|
+
manifest: {
|
|
71
|
+
slug: req.manifest.slug,
|
|
72
|
+
version: req.manifest.version,
|
|
73
|
+
},
|
|
74
|
+
display: req.manifest.display,
|
|
75
|
+
agent: {
|
|
76
|
+
slug: req.manifest.agent.slug,
|
|
77
|
+
role,
|
|
78
|
+
...(deliverableSpecRef !== undefined ? { deliverableSpecRef } : {}),
|
|
79
|
+
...(model !== undefined ? { model } : {}),
|
|
80
|
+
},
|
|
81
|
+
subAgents,
|
|
82
|
+
skills: req.manifest.skills,
|
|
83
|
+
toolSelection,
|
|
84
|
+
intrinsicFloorTools: agent_composition_1.INTRINSIC_FLOOR_TOOLS,
|
|
85
|
+
credentials: req.manifest.credentials,
|
|
86
|
+
permissions: req.manifest.permissions,
|
|
87
|
+
persistence: req.manifest.persistence,
|
|
88
|
+
outputSurface: req.manifest.outputSurface,
|
|
89
|
+
mountPlan,
|
|
90
|
+
env: req.manifest.env,
|
|
91
|
+
mcpServers,
|
|
92
|
+
};
|
|
93
|
+
return { ...resolved, hash: hashResolved(resolved) };
|
|
94
|
+
}
|
|
95
|
+
assertSurfaceCompat(manifest, surface) {
|
|
96
|
+
if (!manifest.surfaceCompat.includes(surface.kind)) {
|
|
97
|
+
throw new errors_1.ManifestSurfaceMismatchError(`Manifest '${manifest.slug}@${manifest.version}' declares surfaceCompat=[${manifest.surfaceCompat.join(', ')}] but was resolved on '${surface.kind}'.`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.DefaultEnvironmentResolver = DefaultEnvironmentResolver;
|
|
102
|
+
function mergeSubAgents(base, overrides) {
|
|
103
|
+
if (!overrides || overrides.length === 0) {
|
|
104
|
+
return base;
|
|
105
|
+
}
|
|
106
|
+
const overrideBySlug = new Map(overrides.map((s) => [s.slug, s]));
|
|
107
|
+
const baseSlugs = new Set();
|
|
108
|
+
const out = [];
|
|
109
|
+
for (const b of base) {
|
|
110
|
+
baseSlugs.add(b.slug);
|
|
111
|
+
out.push(overrideBySlug.get(b.slug) ?? b);
|
|
112
|
+
}
|
|
113
|
+
for (const o of overrides) {
|
|
114
|
+
if (!baseSlugs.has(o.slug)) {
|
|
115
|
+
out.push(o);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return out;
|
|
119
|
+
}
|
|
120
|
+
function mergeBriefcaseToolSelection(manifestSelection, briefcaseTools) {
|
|
121
|
+
if (!briefcaseTools || briefcaseTools.length === 0)
|
|
122
|
+
return manifestSelection;
|
|
123
|
+
const out = [...manifestSelection];
|
|
124
|
+
const seen = new Set(out.map(toolSelectionKey));
|
|
125
|
+
for (const t of briefcaseTools) {
|
|
126
|
+
if (!isToolProviderKind(t.providerKind)) {
|
|
127
|
+
throw new Error(`briefcase.mcpTools[].providerKind='${t.providerKind}' is not a known ToolProviderKind — dispatch must validate at the engine boundary.`);
|
|
128
|
+
}
|
|
129
|
+
const entry = t.kind === 'tool'
|
|
130
|
+
? {
|
|
131
|
+
kind: 'tool',
|
|
132
|
+
providerKind: t.providerKind,
|
|
133
|
+
resourceId: t.resourceId,
|
|
134
|
+
toolName: requireToolName(t),
|
|
135
|
+
}
|
|
136
|
+
: {
|
|
137
|
+
kind: 'provider',
|
|
138
|
+
providerKind: t.providerKind,
|
|
139
|
+
resourceId: t.resourceId,
|
|
140
|
+
};
|
|
141
|
+
const key = toolSelectionKey(entry);
|
|
142
|
+
if (seen.has(key))
|
|
143
|
+
continue;
|
|
144
|
+
seen.add(key);
|
|
145
|
+
out.push(entry);
|
|
146
|
+
}
|
|
147
|
+
return out;
|
|
148
|
+
}
|
|
149
|
+
function toolSelectionKey(entry) {
|
|
150
|
+
return entry.kind === 'tool'
|
|
151
|
+
? `tool:${entry.providerKind}:${entry.resourceId}:${entry.toolName}`
|
|
152
|
+
: `provider:${entry.providerKind}:${entry.resourceId}`;
|
|
153
|
+
}
|
|
154
|
+
function isToolProviderKind(value) {
|
|
155
|
+
return Object.values(mcp_tool_1.ToolProviderKind).includes(value);
|
|
156
|
+
}
|
|
157
|
+
function requireToolName(t) {
|
|
158
|
+
if (t.toolName === undefined || t.toolName.length === 0) {
|
|
159
|
+
throw new Error(`briefcase.mcpTools[].toolName is required when kind='tool' (providerKind='${t.providerKind}', resourceId='${t.resourceId}').`);
|
|
160
|
+
}
|
|
161
|
+
return t.toolName;
|
|
162
|
+
}
|
|
163
|
+
function hashResolved(resolved) {
|
|
164
|
+
const { mountPlan: _mountPlan, ...rest } = resolved;
|
|
165
|
+
return (0, node_crypto_1.createHash)('sha256').update(canonicalJson(rest)).digest('hex');
|
|
166
|
+
}
|
|
167
|
+
function canonicalJson(value) {
|
|
168
|
+
if (value === null || typeof value !== 'object') {
|
|
169
|
+
return JSON.stringify(value);
|
|
170
|
+
}
|
|
171
|
+
if (Array.isArray(value)) {
|
|
172
|
+
return `[${value.map(canonicalJson).join(',')}]`;
|
|
173
|
+
}
|
|
174
|
+
const entries = Object.entries(value)
|
|
175
|
+
.filter(([, v]) => v !== undefined)
|
|
176
|
+
.sort(([a], [b]) => a.localeCompare(b));
|
|
177
|
+
return `{${entries
|
|
178
|
+
.map(([k, v]) => `${JSON.stringify(k)}:${canonicalJson(v)}`)
|
|
179
|
+
.join(',')}}`;
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=environment-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-resolver.js","sourceRoot":"","sources":["../../src/lib/environment-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class ManifestSurfaceMismatchError extends Error {
|
|
2
|
+
readonly name = "ManifestSurfaceMismatchError";
|
|
3
|
+
}
|
|
4
|
+
export declare class UnknownSlotError extends Error {
|
|
5
|
+
readonly slotKey: string;
|
|
6
|
+
readonly origin: 'manifest.mounts' | 'manifest.seedFiles' | 'rendered.mounts' | 'inputArtifacts';
|
|
7
|
+
readonly manifestSlug: string;
|
|
8
|
+
readonly manifestVersion: string;
|
|
9
|
+
readonly name = "UnknownSlotError";
|
|
10
|
+
constructor(slotKey: string, origin: 'manifest.mounts' | 'manifest.seedFiles' | 'rendered.mounts' | 'inputArtifacts', manifestSlug: string, manifestVersion: string);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAkBA,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,SAAkB,IAAI,kCAAkC;CACzD;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAIvC,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,MAAM,EACX,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,GACjB,gBAAgB;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM;IAVlC,SAAkB,IAAI,sBAAsB;gBAGjC,OAAO,EAAE,MAAM,EACf,MAAM,EACX,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,GACjB,gBAAgB,EACX,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM;CASnC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UnknownSlotError = exports.ManifestSurfaceMismatchError = void 0;
|
|
4
|
+
const agent_workspace_1 = require("@xemahq/kernel-contracts/agent-workspace");
|
|
5
|
+
class ManifestSurfaceMismatchError extends Error {
|
|
6
|
+
name = 'ManifestSurfaceMismatchError';
|
|
7
|
+
}
|
|
8
|
+
exports.ManifestSurfaceMismatchError = ManifestSurfaceMismatchError;
|
|
9
|
+
class UnknownSlotError extends Error {
|
|
10
|
+
slotKey;
|
|
11
|
+
origin;
|
|
12
|
+
manifestSlug;
|
|
13
|
+
manifestVersion;
|
|
14
|
+
name = 'UnknownSlotError';
|
|
15
|
+
constructor(slotKey, origin, manifestSlug, manifestVersion) {
|
|
16
|
+
super(`Workspace manifest '${manifestSlug}@${manifestVersion}' references slot '${slotKey}' from ${origin}, ` +
|
|
17
|
+
`but AWP_V1_SPEC declares no such slot. Known slots: [${agent_workspace_1.AWP_V1_SPEC.slots
|
|
18
|
+
.map((s) => s.key)
|
|
19
|
+
.join(', ')}].`);
|
|
20
|
+
this.slotKey = slotKey;
|
|
21
|
+
this.origin = origin;
|
|
22
|
+
this.manifestSlug = manifestSlug;
|
|
23
|
+
this.manifestVersion = manifestVersion;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.UnknownSlotError = UnknownSlotError;
|
|
27
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AAkBvE,MAAa,4BAA6B,SAAQ,KAAK;IACnC,IAAI,GAAG,8BAA8B,CAAC;CACzD;AAFD,oEAEC;AAED,MAAa,gBAAiB,SAAQ,KAAK;IAI9B;IACA;IAKA;IACA;IAVO,IAAI,GAAG,kBAAkB,CAAC;IAE5C,YACW,OAAe,EACf,MAIW,EACX,YAAoB,EACpB,eAAuB;QAEhC,KAAK,CACH,uBAAuB,YAAY,IAAI,eAAe,sBAAsB,OAAO,UAAU,MAAM,IAAI;YACrG,wDAAwD,6BAAW,CAAC,KAAK;iBACtE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;iBACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,CAAC;QAdO,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAIK;QACX,iBAAY,GAAZ,YAAY,CAAQ;QACpB,oBAAe,GAAf,eAAe,CAAQ;IAQlC,CAAC;CACF;AApBD,4CAoBC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const SessionLifecycleState: {
|
|
2
|
+
readonly creating: "creating";
|
|
3
|
+
readonly provisioning: "provisioning";
|
|
4
|
+
readonly active: "active";
|
|
5
|
+
readonly paused: "paused";
|
|
6
|
+
readonly recovering: "recovering";
|
|
7
|
+
readonly completing: "completing";
|
|
8
|
+
readonly completed: "completed";
|
|
9
|
+
readonly failed: "failed";
|
|
10
|
+
readonly archived: "archived";
|
|
11
|
+
};
|
|
12
|
+
export type SessionLifecycleStateValue = (typeof SessionLifecycleState)[keyof typeof SessionLifecycleState];
|
|
13
|
+
export declare const SessionOwnerKind: {
|
|
14
|
+
readonly interactive_session: "interactive_session";
|
|
15
|
+
readonly pipeline_run: "pipeline_run";
|
|
16
|
+
readonly chat_thread: "chat_thread";
|
|
17
|
+
};
|
|
18
|
+
export type SessionOwnerKindValue = (typeof SessionOwnerKind)[keyof typeof SessionOwnerKind];
|
|
19
|
+
export declare function canTransition(from: SessionLifecycleStateValue, to: SessionLifecycleStateValue): boolean;
|
|
20
|
+
export declare function isTerminal(state: SessionLifecycleStateValue): boolean;
|
|
21
|
+
export declare function isPausable(state: SessionLifecycleStateValue): boolean;
|
|
22
|
+
export declare function isResumable(state: SessionLifecycleStateValue): boolean;
|
|
23
|
+
//# sourceMappingURL=lifecycle-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-state.d.ts","sourceRoot":"","sources":["../../src/lib/lifecycle-state.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,qBAAqB;;;;;;;;;;CAUxB,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAYrE,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAiD3D,wBAAgB,aAAa,CAC3B,IAAI,EAAE,0BAA0B,EAChC,EAAE,EAAE,0BAA0B,GAC7B,OAAO,CAET;AAOD,wBAAgB,UAAU,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAMrE;AAQD,wBAAgB,UAAU,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAErE;AAQD,wBAAgB,WAAW,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAEtE"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionOwnerKind = exports.SessionLifecycleState = void 0;
|
|
4
|
+
exports.canTransition = canTransition;
|
|
5
|
+
exports.isTerminal = isTerminal;
|
|
6
|
+
exports.isPausable = isPausable;
|
|
7
|
+
exports.isResumable = isResumable;
|
|
8
|
+
exports.SessionLifecycleState = {
|
|
9
|
+
creating: 'creating',
|
|
10
|
+
provisioning: 'provisioning',
|
|
11
|
+
active: 'active',
|
|
12
|
+
paused: 'paused',
|
|
13
|
+
recovering: 'recovering',
|
|
14
|
+
completing: 'completing',
|
|
15
|
+
completed: 'completed',
|
|
16
|
+
failed: 'failed',
|
|
17
|
+
archived: 'archived',
|
|
18
|
+
};
|
|
19
|
+
exports.SessionOwnerKind = {
|
|
20
|
+
interactive_session: 'interactive_session',
|
|
21
|
+
pipeline_run: 'pipeline_run',
|
|
22
|
+
chat_thread: 'chat_thread',
|
|
23
|
+
};
|
|
24
|
+
const TRANSITIONS = {
|
|
25
|
+
creating: new Set([
|
|
26
|
+
exports.SessionLifecycleState.provisioning,
|
|
27
|
+
exports.SessionLifecycleState.failed,
|
|
28
|
+
]),
|
|
29
|
+
provisioning: new Set([
|
|
30
|
+
exports.SessionLifecycleState.active,
|
|
31
|
+
exports.SessionLifecycleState.failed,
|
|
32
|
+
]),
|
|
33
|
+
active: new Set([
|
|
34
|
+
exports.SessionLifecycleState.paused,
|
|
35
|
+
exports.SessionLifecycleState.completing,
|
|
36
|
+
exports.SessionLifecycleState.failed,
|
|
37
|
+
]),
|
|
38
|
+
paused: new Set([
|
|
39
|
+
exports.SessionLifecycleState.recovering,
|
|
40
|
+
exports.SessionLifecycleState.archived,
|
|
41
|
+
exports.SessionLifecycleState.failed,
|
|
42
|
+
]),
|
|
43
|
+
recovering: new Set([
|
|
44
|
+
exports.SessionLifecycleState.active,
|
|
45
|
+
exports.SessionLifecycleState.paused,
|
|
46
|
+
exports.SessionLifecycleState.failed,
|
|
47
|
+
]),
|
|
48
|
+
completing: new Set([
|
|
49
|
+
exports.SessionLifecycleState.completed,
|
|
50
|
+
exports.SessionLifecycleState.failed,
|
|
51
|
+
]),
|
|
52
|
+
completed: new Set([exports.SessionLifecycleState.archived]),
|
|
53
|
+
failed: new Set([exports.SessionLifecycleState.archived]),
|
|
54
|
+
archived: new Set(),
|
|
55
|
+
};
|
|
56
|
+
function canTransition(from, to) {
|
|
57
|
+
return TRANSITIONS[from].has(to);
|
|
58
|
+
}
|
|
59
|
+
function isTerminal(state) {
|
|
60
|
+
return (state === exports.SessionLifecycleState.completed ||
|
|
61
|
+
state === exports.SessionLifecycleState.failed ||
|
|
62
|
+
state === exports.SessionLifecycleState.archived);
|
|
63
|
+
}
|
|
64
|
+
function isPausable(state) {
|
|
65
|
+
return state === exports.SessionLifecycleState.active;
|
|
66
|
+
}
|
|
67
|
+
function isResumable(state) {
|
|
68
|
+
return state === exports.SessionLifecycleState.paused;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=lifecycle-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-state.js","sourceRoot":"","sources":["../../src/lib/lifecycle-state.ts"],"names":[],"mappings":";;;AAoGA,sCAKC;AAOD,gCAMC;AAQD,gCAEC;AAQD,kCAEC;AAvHY,QAAA,qBAAqB,GAAG;IACnC,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAeE,QAAA,gBAAgB,GAAG;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;CAClB,CAAC;AAiBX,MAAM,WAAW,GAEb;IACF,QAAQ,EAAE,IAAI,GAAG,CAAC;QAChB,6BAAqB,CAAC,YAAY;QAClC,6BAAqB,CAAC,MAAM;KAC7B,CAAC;IACF,YAAY,EAAE,IAAI,GAAG,CAAC;QACpB,6BAAqB,CAAC,MAAM;QAC5B,6BAAqB,CAAC,MAAM;KAC7B,CAAC;IACF,MAAM,EAAE,IAAI,GAAG,CAAC;QACd,6BAAqB,CAAC,MAAM;QAC5B,6BAAqB,CAAC,UAAU;QAChC,6BAAqB,CAAC,MAAM;KAC7B,CAAC;IACF,MAAM,EAAE,IAAI,GAAG,CAAC;QACd,6BAAqB,CAAC,UAAU;QAChC,6BAAqB,CAAC,QAAQ;QAC9B,6BAAqB,CAAC,MAAM;KAC7B,CAAC;IACF,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,6BAAqB,CAAC,MAAM;QAC5B,6BAAqB,CAAC,MAAM;QAC5B,6BAAqB,CAAC,MAAM;KAC7B,CAAC;IACF,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,6BAAqB,CAAC,SAAS;QAC/B,6BAAqB,CAAC,MAAM;KAC7B,CAAC;IACF,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,6BAAqB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,6BAAqB,CAAC,QAAQ,CAAC,CAAC;IACjD,QAAQ,EAAE,IAAI,GAAG,EAAE;CACpB,CAAC;AAEF,SAAgB,aAAa,CAC3B,IAAgC,EAChC,EAA8B;IAE9B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAOD,SAAgB,UAAU,CAAC,KAAiC;IAC1D,OAAO,CACL,KAAK,KAAK,6BAAqB,CAAC,SAAS;QACzC,KAAK,KAAK,6BAAqB,CAAC,MAAM;QACtC,KAAK,KAAK,6BAAqB,CAAC,QAAQ,CACzC,CAAC;AACJ,CAAC;AAQD,SAAgB,UAAU,CAAC,KAAiC;IAC1D,OAAO,KAAK,KAAK,6BAAqB,CAAC,MAAM,CAAC;AAChD,CAAC;AAQD,SAAgB,WAAW,CAAC,KAAiC;IAC3D,OAAO,KAAK,KAAK,6BAAqB,CAAC,MAAM,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { TemplateResolver } from './types';
|
|
2
|
+
export interface SkillBundleResource {
|
|
3
|
+
readonly relPath: string;
|
|
4
|
+
readonly content: string;
|
|
5
|
+
}
|
|
6
|
+
export interface SkillBundle {
|
|
7
|
+
readonly slug: string;
|
|
8
|
+
readonly resources: readonly SkillBundleResource[];
|
|
9
|
+
}
|
|
10
|
+
export type SkillBundleFetcher = (slug: string) => Promise<SkillBundle>;
|
|
11
|
+
export type TemplateCompiler = (source: string, vars: Readonly<Record<string, unknown>>) => string;
|
|
12
|
+
export declare class SkillBundleTemplateNotFoundError extends Error {
|
|
13
|
+
readonly templateName: string;
|
|
14
|
+
readonly skillSlugs: readonly string[];
|
|
15
|
+
constructor(templateName: string, skillSlugs: readonly string[]);
|
|
16
|
+
}
|
|
17
|
+
export declare function templateResourceRelPath(templateName: string): string;
|
|
18
|
+
export declare function buildSkillBundleTemplateResolver(params: {
|
|
19
|
+
readonly skillSlugs: readonly string[];
|
|
20
|
+
readonly fetchBundle: SkillBundleFetcher;
|
|
21
|
+
readonly compileTemplate: TemplateCompiler;
|
|
22
|
+
}): TemplateResolver;
|
|
23
|
+
//# sourceMappingURL=skill-bundle-template-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-bundle-template-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/skill-bundle-template-resolver.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAYhD,MAAM,WAAW,mBAAmB;IAElC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAMD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACpD;AAQD,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAMxE,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KACpC,MAAM,CAAC;AAGZ,qBAAa,gCAAiC,SAAQ,KAAK;aAEvC,YAAY,EAAE,MAAM;aACpB,UAAU,EAAE,SAAS,MAAM,EAAE;gBAD7B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,SAAS,MAAM,EAAE;CAWhD;AAMD,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEpE;AAeD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE;IACvD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;CAC5C,GAAG,gBAAgB,CAmCnB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SkillBundleTemplateNotFoundError = void 0;
|
|
4
|
+
exports.templateResourceRelPath = templateResourceRelPath;
|
|
5
|
+
exports.buildSkillBundleTemplateResolver = buildSkillBundleTemplateResolver;
|
|
6
|
+
const TEMPLATE_RESOURCE_PREFIX = 'assets/templates/';
|
|
7
|
+
const TEMPLATE_RESOURCE_SUFFIX = '.hbs';
|
|
8
|
+
class SkillBundleTemplateNotFoundError extends Error {
|
|
9
|
+
templateName;
|
|
10
|
+
skillSlugs;
|
|
11
|
+
constructor(templateName, skillSlugs) {
|
|
12
|
+
super(`Seed-file template "${templateName}" was not found as ` +
|
|
13
|
+
`"${TEMPLATE_RESOURCE_PREFIX}${templateName}${TEMPLATE_RESOURCE_SUFFIX}" ` +
|
|
14
|
+
`in any of the composition's skill bundles ` +
|
|
15
|
+
`[${skillSlugs.join(', ') || '<none>'}]. The biome that owns the ` +
|
|
16
|
+
`template must ship it inside a skill bundle the composition references.`);
|
|
17
|
+
this.templateName = templateName;
|
|
18
|
+
this.skillSlugs = skillSlugs;
|
|
19
|
+
this.name = 'SkillBundleTemplateNotFoundError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.SkillBundleTemplateNotFoundError = SkillBundleTemplateNotFoundError;
|
|
23
|
+
function templateResourceRelPath(templateName) {
|
|
24
|
+
return `${TEMPLATE_RESOURCE_PREFIX}${templateName}${TEMPLATE_RESOURCE_SUFFIX}`;
|
|
25
|
+
}
|
|
26
|
+
function buildSkillBundleTemplateResolver(params) {
|
|
27
|
+
const { skillSlugs, fetchBundle, compileTemplate } = params;
|
|
28
|
+
const uniqueSlugs = [...new Set(skillSlugs)];
|
|
29
|
+
const bundleCache = new Map();
|
|
30
|
+
const loadBundle = (slug) => {
|
|
31
|
+
const cached = bundleCache.get(slug);
|
|
32
|
+
if (cached) {
|
|
33
|
+
return cached;
|
|
34
|
+
}
|
|
35
|
+
const pending = fetchBundle(slug);
|
|
36
|
+
bundleCache.set(slug, pending);
|
|
37
|
+
return pending;
|
|
38
|
+
};
|
|
39
|
+
return {
|
|
40
|
+
async resolve(name, vars) {
|
|
41
|
+
const relPath = templateResourceRelPath(name);
|
|
42
|
+
for (const slug of uniqueSlugs) {
|
|
43
|
+
const bundle = await loadBundle(slug);
|
|
44
|
+
const resource = bundle.resources.find((r) => r.relPath === relPath);
|
|
45
|
+
if (resource) {
|
|
46
|
+
const source = Buffer.from(resource.content, 'base64').toString('utf8');
|
|
47
|
+
return compileTemplate(source, vars);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
throw new SkillBundleTemplateNotFoundError(name, uniqueSlugs);
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=skill-bundle-template-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-bundle-template-resolver.js","sourceRoot":"","sources":["../../src/lib/skill-bundle-template-resolver.ts"],"names":[],"mappings":";;;AA0FA,0DAEC;AAeD,4EAuCC;AAvHD,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAErD,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAyCxC,MAAa,gCAAiC,SAAQ,KAAK;IAEvC;IACA;IAFlB,YACkB,YAAoB,EACpB,UAA6B;QAE7C,KAAK,CACH,uBAAuB,YAAY,qBAAqB;YACtD,IAAI,wBAAwB,GAAG,YAAY,GAAG,wBAAwB,IAAI;YAC1E,4CAA4C;YAC5C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,6BAA6B;YAClE,yEAAyE,CAC5E,CAAC;QATc,iBAAY,GAAZ,YAAY,CAAQ;QACpB,eAAU,GAAV,UAAU,CAAmB;QAS7C,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAdD,4EAcC;AAMD,SAAgB,uBAAuB,CAAC,YAAoB;IAC1D,OAAO,GAAG,wBAAwB,GAAG,YAAY,GAAG,wBAAwB,EAAE,CAAC;AACjF,CAAC;AAeD,SAAgB,gCAAgC,CAAC,MAIhD;IACC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAE5D,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgC,CAAC;IAE5D,MAAM,UAAU,GAAG,CAAC,IAAY,EAAwB,EAAE;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,IAAuC;YAEvC,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC9C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;gBACrE,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAC7D,MAAM,CACP,CAAC;oBACF,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,MAAM,IAAI,gCAAgC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import type { WorkspaceMountPlan } from '@xemahq/kernel-contracts/agent-workspace';
|
|
2
|
+
import type { CompiledWorkspaceManifest } from '@xemahq/dsl/workspace-manifest';
|
|
3
|
+
import type { AgentRunRole, Briefcase } from '@xemahq/kernel-contracts/workflow';
|
|
4
|
+
export interface WorkerAllocation {
|
|
5
|
+
readonly proxyUrl: string;
|
|
6
|
+
readonly password: string;
|
|
7
|
+
readonly allocationId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ComposeWorkspaceImageRequest {
|
|
10
|
+
readonly orgId: string;
|
|
11
|
+
readonly projectId: string;
|
|
12
|
+
readonly manifest: CompiledWorkspaceManifest;
|
|
13
|
+
readonly agentContext: Readonly<Record<string, unknown>>;
|
|
14
|
+
readonly workflowRun?: {
|
|
15
|
+
readonly runId: string;
|
|
16
|
+
readonly jobRunId: string;
|
|
17
|
+
};
|
|
18
|
+
readonly interactive?: {
|
|
19
|
+
readonly sessionId: string;
|
|
20
|
+
readonly turnGen?: number;
|
|
21
|
+
};
|
|
22
|
+
readonly agentOverrides?: {
|
|
23
|
+
readonly role?: AgentRunRole;
|
|
24
|
+
readonly deliverableSpecRef?: string;
|
|
25
|
+
};
|
|
26
|
+
readonly templateResolver?: TemplateResolver;
|
|
27
|
+
readonly systemSkillSlugs?: readonly string[];
|
|
28
|
+
readonly briefcase?: Briefcase;
|
|
29
|
+
}
|
|
30
|
+
export interface TemplateResolver {
|
|
31
|
+
resolve(name: string, vars: Readonly<Record<string, unknown>>): Promise<string>;
|
|
32
|
+
}
|
|
33
|
+
export interface DrivePromptParams {
|
|
34
|
+
readonly prompt: string;
|
|
35
|
+
readonly agentSlug: string;
|
|
36
|
+
readonly sessionId: string;
|
|
37
|
+
readonly outputFormat?: AgentOutputFormat;
|
|
38
|
+
readonly modelOverride?: PromptModelOverride;
|
|
39
|
+
}
|
|
40
|
+
export interface PromptModelOverride {
|
|
41
|
+
readonly modelId: string;
|
|
42
|
+
readonly providerSlug?: string;
|
|
43
|
+
readonly opencodeProviderId?: string;
|
|
44
|
+
}
|
|
45
|
+
export type AgentOutputFormat = {
|
|
46
|
+
readonly type: 'text';
|
|
47
|
+
} | {
|
|
48
|
+
readonly type: 'json_schema';
|
|
49
|
+
readonly schema: Readonly<Record<string, unknown>>;
|
|
50
|
+
readonly retryCount?: number;
|
|
51
|
+
};
|
|
52
|
+
export type SessionFrame = {
|
|
53
|
+
readonly kind: 'token';
|
|
54
|
+
readonly text: string;
|
|
55
|
+
} | {
|
|
56
|
+
readonly kind: 'tool-call';
|
|
57
|
+
readonly tool: string;
|
|
58
|
+
readonly args: unknown;
|
|
59
|
+
readonly status: 'started' | 'completed' | 'error';
|
|
60
|
+
readonly toolCallId?: string;
|
|
61
|
+
readonly summary?: string;
|
|
62
|
+
} | {
|
|
63
|
+
readonly kind: 'tool-result';
|
|
64
|
+
readonly tool: string;
|
|
65
|
+
readonly result: unknown;
|
|
66
|
+
readonly toolCallId?: string;
|
|
67
|
+
readonly errorMessage?: string;
|
|
68
|
+
} | {
|
|
69
|
+
readonly kind: 'progress';
|
|
70
|
+
readonly stepIndex: number;
|
|
71
|
+
readonly stepCount: number | undefined;
|
|
72
|
+
} | {
|
|
73
|
+
readonly kind: 'error';
|
|
74
|
+
readonly message: string;
|
|
75
|
+
} | {
|
|
76
|
+
readonly kind: 'tool_pause';
|
|
77
|
+
readonly toolName: string;
|
|
78
|
+
readonly toolRequestId: string;
|
|
79
|
+
readonly promptText: string;
|
|
80
|
+
readonly choices: readonly string[] | null;
|
|
81
|
+
} | {
|
|
82
|
+
readonly kind: 'done';
|
|
83
|
+
readonly turnId: string;
|
|
84
|
+
readonly finalText: string | null;
|
|
85
|
+
readonly structuredOutput: unknown;
|
|
86
|
+
};
|
|
87
|
+
export interface DriveResult {
|
|
88
|
+
readonly turnId: string;
|
|
89
|
+
readonly stepCount: number;
|
|
90
|
+
readonly completed: boolean;
|
|
91
|
+
readonly finalText: string | null;
|
|
92
|
+
readonly structuredOutput: unknown;
|
|
93
|
+
}
|
|
94
|
+
export interface ApplyWorkspaceImageResult {
|
|
95
|
+
readonly applyId: string;
|
|
96
|
+
readonly outcome: 'applied' | 'idempotent';
|
|
97
|
+
readonly leaseKey: string;
|
|
98
|
+
readonly entries: ReadonlyArray<{
|
|
99
|
+
readonly mountKey: string;
|
|
100
|
+
readonly slot: string;
|
|
101
|
+
readonly relPath: string;
|
|
102
|
+
readonly status: 'resolved' | 'applied' | 'failed';
|
|
103
|
+
readonly bytesWritten: number;
|
|
104
|
+
readonly errorCode?: string;
|
|
105
|
+
readonly errorMessage?: string;
|
|
106
|
+
}>;
|
|
107
|
+
}
|
|
108
|
+
export interface AgentSessionRuntime {
|
|
109
|
+
readonly composer: WorkspaceImageComposer;
|
|
110
|
+
readonly applier: WorkspaceImageApplier;
|
|
111
|
+
readonly driver: AgentSessionDriver;
|
|
112
|
+
}
|
|
113
|
+
export interface WorkspaceImageComposer {
|
|
114
|
+
compose(req: ComposeWorkspaceImageRequest): Promise<WorkspaceMountPlan>;
|
|
115
|
+
}
|
|
116
|
+
export interface WorkspaceImageApplier {
|
|
117
|
+
apply(allocation: WorkerAllocation, plan: WorkspaceMountPlan, abortSignal?: AbortSignal): Promise<ApplyWorkspaceImageResult>;
|
|
118
|
+
}
|
|
119
|
+
export type OnAgentToolPauseHook = (frame: {
|
|
120
|
+
readonly toolName: string;
|
|
121
|
+
readonly toolRequestId: string;
|
|
122
|
+
readonly promptText: string;
|
|
123
|
+
readonly choices: readonly string[] | null;
|
|
124
|
+
}) => Promise<{
|
|
125
|
+
readonly replyPayload: unknown;
|
|
126
|
+
} | null>;
|
|
127
|
+
export interface DriveToCompletionOptions {
|
|
128
|
+
readonly onAgentToolPause?: OnAgentToolPauseHook;
|
|
129
|
+
readonly onFrame?: (frame: SessionFrame) => void;
|
|
130
|
+
readonly onTokenUsage?: (usage: {
|
|
131
|
+
readonly totalTokens: number;
|
|
132
|
+
readonly inputTokens: number;
|
|
133
|
+
readonly outputTokens: number;
|
|
134
|
+
readonly reasoningTokens: number;
|
|
135
|
+
}) => void;
|
|
136
|
+
}
|
|
137
|
+
export interface AgentSessionDriver {
|
|
138
|
+
drive(allocation: WorkerAllocation, params: DrivePromptParams, abortSignal: AbortSignal): AsyncIterable<SessionFrame>;
|
|
139
|
+
driveToCompletion(allocation: WorkerAllocation, params: DrivePromptParams, abortSignal: AbortSignal, options?: DriveToCompletionOptions): Promise<DriveResult>;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xemahq/agent-session-runtime",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"registry": "https://npm.pkg.github.com"
|
|
6
|
+
},
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"xema-source": "./src/index.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./dispatch-contract": {
|
|
16
|
+
"types": "./dist/lib/dispatch-contract.d.ts",
|
|
17
|
+
"xema-source": "./src/lib/dispatch-contract.ts",
|
|
18
|
+
"default": "./dist/lib/dispatch-contract.js"
|
|
19
|
+
},
|
|
20
|
+
"./package.json": "./package.json",
|
|
21
|
+
"./dist/lib/*": {
|
|
22
|
+
"types": "./dist/lib/*.d.ts",
|
|
23
|
+
"default": "./dist/lib/*.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist",
|
|
28
|
+
"src"
|
|
29
|
+
],
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/node": "25.2.3",
|
|
32
|
+
"prettier": "3.6.2",
|
|
33
|
+
"typescript": "5.9.3"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@xemahq/dsl": "^0.1.1",
|
|
37
|
+
"@xemahq/kernel-contracts": "^0.2.0"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"clean": "rm -rf dist",
|
|
41
|
+
"build": "tsc -p tsconfig.json",
|
|
42
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
43
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
44
|
+
}
|
|
45
|
+
}
|