@agnt5/sdk 0.4.1 → 0.5.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/dist/skills.js ADDED
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Skills - on-demand capability loading for agents.
3
+ *
4
+ * A *skill* is a folder containing a `SKILL.md` file (Claude's open format):
5
+ * YAML-style frontmatter with `name` and `description`, followed by a markdown
6
+ * body of instructions. Optional sibling files (scripts, reference docs) are the
7
+ * skill's bundled resources.
8
+ *
9
+ * Skills follow progressive disclosure: only `name` + `description` sit in the
10
+ * agent's context (the *catalog*); the full body is loaded on demand when the
11
+ * agent decides the skill is relevant. This keeps prompts small while giving the
12
+ * agent access to many capabilities.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * // Curated subset by name, resolved against a shared pool directory
17
+ * new Agent({ ..., skillsDir: './skills', skills: ['pdf-extraction', 'sql-reporting'] });
18
+ *
19
+ * // Load every skill in the pool (single-agent convenience)
20
+ * new Agent({ ..., skillsDir: './skills' });
21
+ *
22
+ * // Self-contained Skill objects, no pool directory needed
23
+ * new Agent({ ..., skills: [Skill.fromPath('./skills/pdf-extraction')] });
24
+ * ```
25
+ */
26
+ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
27
+ import { basename, join, relative } from 'node:path';
28
+ import { randomUUID } from 'crypto';
29
+ import { Tool } from './tool.js';
30
+ import { skillLoaded } from './events.js';
31
+ const SKILL_FILE = 'SKILL.md';
32
+ /**
33
+ * A loadable agent capability parsed from a `SKILL.md` folder.
34
+ */
35
+ export class Skill {
36
+ constructor(name, description, instructions, resourcesDir) {
37
+ this.name = name;
38
+ this.description = description;
39
+ this.instructions = instructions;
40
+ this.resourcesDir = resourcesDir;
41
+ }
42
+ /**
43
+ * Parse a skill from a folder containing `SKILL.md` (or the file itself).
44
+ *
45
+ * @throws if no `SKILL.md` exists, or frontmatter is missing `name`/`description`.
46
+ */
47
+ static fromPath(path) {
48
+ const skillFile = existsSync(path) && statSync(path).isDirectory() ? join(path, SKILL_FILE) : path;
49
+ if (!existsSync(skillFile) || !statSync(skillFile).isFile()) {
50
+ throw new Error(`No ${SKILL_FILE} found at ${path}`);
51
+ }
52
+ const text = readFileSync(skillFile, 'utf-8');
53
+ const { meta, body } = parseFrontmatter(text);
54
+ if (!meta.name) {
55
+ throw new Error(`${skillFile}: frontmatter is missing required 'name'`);
56
+ }
57
+ if (!meta.description) {
58
+ throw new Error(`${skillFile}: frontmatter is missing required 'description'`);
59
+ }
60
+ return new Skill(meta.name, meta.description, body.trim(), join(skillFile, '..'));
61
+ }
62
+ }
63
+ /**
64
+ * Split `SKILL.md` text into a frontmatter map and the markdown body.
65
+ *
66
+ * Supports the minimal subset skills need: a leading `---` fenced block of
67
+ * single-line `key: value` pairs (values may be single- or double-quoted). No
68
+ * YAML dependency. Text without a frontmatter block yields an empty map and the
69
+ * full text as body.
70
+ */
71
+ function parseFrontmatter(text) {
72
+ const lines = text.split(/\r?\n/);
73
+ if (lines.length === 0 || lines[0].trim() !== '---') {
74
+ return { meta: {}, body: text };
75
+ }
76
+ const meta = {};
77
+ let bodyStart = lines.length;
78
+ for (let i = 1; i < lines.length; i++) {
79
+ if (lines[i].trim() === '---') {
80
+ bodyStart = i + 1;
81
+ break;
82
+ }
83
+ const line = lines[i].trim();
84
+ const colon = line.indexOf(':');
85
+ if (!line || line.startsWith('#') || colon === -1) {
86
+ continue;
87
+ }
88
+ const key = line.slice(0, colon).trim();
89
+ const value = line.slice(colon + 1).trim().replace(/^['"]|['"]$/g, '');
90
+ meta[key] = value;
91
+ }
92
+ return { meta, body: lines.slice(bodyStart).join('\n') };
93
+ }
94
+ /**
95
+ * Parse every skill in a pool directory, keyed by skill name.
96
+ *
97
+ * A skill is any immediate subfolder containing a `SKILL.md`. Malformed skills
98
+ * are skipped with a warning rather than failing discovery.
99
+ */
100
+ export function discoverSkills(skillsDir) {
101
+ if (!existsSync(skillsDir) || !statSync(skillsDir).isDirectory()) {
102
+ throw new Error(`skillsDir does not exist: ${skillsDir}`);
103
+ }
104
+ const found = new Map();
105
+ for (const entry of readdirSync(skillsDir).sort()) {
106
+ const child = join(skillsDir, entry);
107
+ if (!statSync(child).isDirectory() || !existsSync(join(child, SKILL_FILE))) {
108
+ continue;
109
+ }
110
+ try {
111
+ const skill = Skill.fromPath(child);
112
+ found.set(skill.name, skill);
113
+ }
114
+ catch (err) {
115
+ console.warn(`Skipping malformed skill at ${child}: ${err.message}`);
116
+ }
117
+ }
118
+ return found;
119
+ }
120
+ /**
121
+ * Resolve an agent's skill selection into a `name -> Skill` map.
122
+ *
123
+ * - Items may be names (resolved against `skillsDir`) or `Skill` objects.
124
+ * - `skills` omitted with a `skillsDir` loads every skill in the pool.
125
+ * - Neither provided yields an empty map (skills disabled — no behavior change).
126
+ *
127
+ * @throws if a named skill is not found (lists available names), or a name is
128
+ * given without a pool.
129
+ */
130
+ export function resolveSkills(skills, skillsDir) {
131
+ if (skills === undefined) {
132
+ return skillsDir !== undefined ? discoverSkills(skillsDir) : new Map();
133
+ }
134
+ let available;
135
+ const resolved = new Map();
136
+ for (const item of skills) {
137
+ if (item instanceof Skill) {
138
+ resolved.set(item.name, item);
139
+ continue;
140
+ }
141
+ if (skillsDir === undefined) {
142
+ throw new Error(`Skill '${item}' given by name but no skillsDir was provided to resolve it against`);
143
+ }
144
+ if (available === undefined) {
145
+ available = discoverSkills(skillsDir);
146
+ }
147
+ let skill = available.get(item);
148
+ if (skill === undefined) {
149
+ // Fall back to a direct folder match (folder name != frontmatter name)
150
+ const folder = join(skillsDir, item);
151
+ if (existsSync(join(folder, SKILL_FILE))) {
152
+ skill = Skill.fromPath(folder);
153
+ }
154
+ else {
155
+ const names = [...available.keys()].sort().join(', ') || '(none)';
156
+ throw new Error(`Skill '${item}' not found in ${skillsDir}. Available: ${names}`);
157
+ }
158
+ }
159
+ resolved.set(skill.name, skill);
160
+ }
161
+ return resolved;
162
+ }
163
+ /**
164
+ * Render the always-present `<skills>` catalog block for the system prompt.
165
+ *
166
+ * Only `name` + `description` are included — the progressive-disclosure
167
+ * contract. Returns an empty string when there are no skills.
168
+ */
169
+ export function renderCatalog(skills) {
170
+ if (skills.size === 0) {
171
+ return '';
172
+ }
173
+ const lines = [
174
+ '<skills>',
175
+ "You have access to the following skills. When a task matches a skill's " +
176
+ 'purpose, call load_skill(skill_name) to load its full instructions before ' +
177
+ 'proceeding.',
178
+ '',
179
+ ];
180
+ for (const skill of skills.values()) {
181
+ lines.push(`- ${skill.name}: ${skill.description}`);
182
+ }
183
+ lines.push('</skills>');
184
+ return lines.join('\n');
185
+ }
186
+ /** Recursively list every file path under `dir`. */
187
+ function walkFiles(dir) {
188
+ const out = [];
189
+ for (const entry of readdirSync(dir).sort()) {
190
+ const full = join(dir, entry);
191
+ const st = statSync(full);
192
+ if (st.isDirectory()) {
193
+ out.push(...walkFiles(full));
194
+ }
195
+ else if (st.isFile()) {
196
+ out.push(full);
197
+ }
198
+ }
199
+ return out;
200
+ }
201
+ /**
202
+ * Copy a skill's bundled files into the sandbox so its scripts can run.
203
+ *
204
+ * Files are written under `skills/<name>/` preserving their relative layout,
205
+ * excluding `SKILL.md` itself. Writes are idempotent. Returns `[base, paths]`,
206
+ * or `undefined` when there is no sandbox or no resources to copy.
207
+ */
208
+ async function materializeResources(ctx, skill, sandbox) {
209
+ const active = sandbox ?? ctx.sandbox;
210
+ if (!active || !skill.resourcesDir) {
211
+ return undefined;
212
+ }
213
+ const base = `skills/${skill.name}`;
214
+ const written = [];
215
+ for (const file of walkFiles(skill.resourcesDir)) {
216
+ if (basename(file) === SKILL_FILE) {
217
+ continue;
218
+ }
219
+ const rel = relative(skill.resourcesDir, file).split(/[\\/]/).join('/');
220
+ const dest = `${base}/${rel}`;
221
+ await active.writeFile(dest, readFileSync(file));
222
+ written.push(dest);
223
+ }
224
+ return written.length > 0 ? [base, written] : undefined;
225
+ }
226
+ /**
227
+ * Emit a `skill.loaded` event if the context supports emission. Guarded so the
228
+ * tool handler stays callable with a minimal context (e.g. in unit tests).
229
+ */
230
+ async function emitSkillLoaded(ctx, skill, resourceCount) {
231
+ const emit = ctx.emit;
232
+ if (typeof emit !== 'function') {
233
+ return;
234
+ }
235
+ await emit.call(ctx, skillLoaded(randomUUID(), ctx.correlationId ?? null, {
236
+ skillName: skill.name,
237
+ instructionsLength: skill.instructions.length,
238
+ resourcesMaterialized: resourceCount,
239
+ }));
240
+ }
241
+ /**
242
+ * Build the `load_skill` tool that loads a skill's body on demand.
243
+ *
244
+ * The returned tool closes over the agent's resolved `skills` map and its
245
+ * sandbox. Invoking it returns the skill's instructions (progressive-disclosure
246
+ * level 2) and, when a sandbox is present, materializes bundled resources.
247
+ */
248
+ export function makeLoadSkillTool(skills, sandbox) {
249
+ const handler = async (ctx, args) => {
250
+ const skillName = args.skill_name;
251
+ const skill = skills.get(skillName);
252
+ if (skill === undefined) {
253
+ const names = [...skills.keys()].sort().join(', ') || '(none)';
254
+ return `Unknown skill '${skillName}'. Available skills: ${names}`;
255
+ }
256
+ const materialized = await materializeResources(ctx, skill, sandbox);
257
+ const resourceCount = materialized ? materialized[1].length : 0;
258
+ await emitSkillLoaded(ctx, skill, resourceCount);
259
+ if (!materialized) {
260
+ return skill.instructions;
261
+ }
262
+ const [base, paths] = materialized;
263
+ const files = paths.map((p) => `- ${p}`).join('\n');
264
+ return (`${skill.instructions}\n\n---\n` +
265
+ `Bundled resources are available in the sandbox under '${base}':\n${files}`);
266
+ };
267
+ return new Tool('load_skill', 'Load the full instructions for a skill by name. Call this when a task ' +
268
+ 'matches a skill listed in the <skills> catalog before proceeding.', handler, {
269
+ inputSchema: {
270
+ type: 'object',
271
+ properties: {
272
+ skill_name: {
273
+ type: 'string',
274
+ description: 'Name of the skill to load (as shown in the catalog).',
275
+ },
276
+ },
277
+ required: ['skill_name'],
278
+ },
279
+ });
280
+ }
281
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { RuntimeContext } from './runtime-context.js';
2
+ import type { Sandbox } from './sandbox.js';
2
3
  /**
3
4
  * Retry policy configuration for functions
4
5
  */
@@ -54,6 +55,8 @@ export interface Context {
54
55
  readonly serviceName: string;
55
56
  /** Runtime-provided execution options for this invocation */
56
57
  readonly runtime: RuntimeContext;
58
+ /** Sandbox workspace attached by Agent when configured. */
59
+ readonly sandbox?: Sandbox;
57
60
  /**
58
61
  * Cancellation signal for this invocation. Aborted when the run is
59
62
  * cancelled (a CancelExecution arrives). Thread it into fetch/LLM SDK
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare function workerMemoryMetricsEnabled(): boolean;
2
+ export declare function workerMemoryLoggingEnabled(): boolean;
3
+ export declare function captureWorkerMemory(): Record<string, number> | undefined;
4
+ export declare function recordWorkerMemory(input: {
5
+ phase: 'before' | 'after';
6
+ componentType: string;
7
+ componentName: string;
8
+ }): void;
9
+ //# sourceMappingURL=worker-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-memory.d.ts","sourceRoot":"","sources":["../src/worker-memory.ts"],"names":[],"mappings":"AASA,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAaD,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAgCxE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CAsBP"}
@@ -0,0 +1,75 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { tryLoadNativeBindings } from './native-loader.js';
3
+ const TRUTHY = new Set(['1', 'true', 'yes', 'on']);
4
+ function envTruthy(name) {
5
+ return TRUTHY.has((process.env[name] ?? '').trim().toLowerCase());
6
+ }
7
+ export function workerMemoryMetricsEnabled() {
8
+ return envTruthy('AGNT5_WORKER_MEMORY_METRICS') || envTruthy('AGNT5_WORKER_MEMORY_LOG');
9
+ }
10
+ export function workerMemoryLoggingEnabled() {
11
+ return workerMemoryMetricsEnabled();
12
+ }
13
+ function readInt(path) {
14
+ try {
15
+ const raw = readFileSync(path, 'utf8').trim();
16
+ if (!raw || raw === 'max')
17
+ return undefined;
18
+ const parsed = Number.parseInt(raw, 10);
19
+ return Number.isFinite(parsed) ? parsed : undefined;
20
+ }
21
+ catch {
22
+ return undefined;
23
+ }
24
+ }
25
+ export function captureWorkerMemory() {
26
+ if (!workerMemoryMetricsEnabled())
27
+ return undefined;
28
+ if (envTruthy('AGNT5_WORKER_MEMORY_GC')) {
29
+ const gc = globalThis.gc;
30
+ if (typeof gc === 'function') {
31
+ try {
32
+ gc();
33
+ }
34
+ catch {
35
+ // Best effort only. Node requires --expose-gc.
36
+ }
37
+ }
38
+ }
39
+ const usage = process.memoryUsage();
40
+ const cgroupCurrent = readInt('/sys/fs/cgroup/memory.current') ??
41
+ readInt('/sys/fs/cgroup/memory/memory.usage_in_bytes');
42
+ const cgroupLimit = readInt('/sys/fs/cgroup/memory.max') ??
43
+ readInt('/sys/fs/cgroup/memory/memory.limit_in_bytes');
44
+ const snapshot = {
45
+ rss_bytes: usage.rss,
46
+ heap_total_bytes: usage.heapTotal,
47
+ heap_used_bytes: usage.heapUsed,
48
+ external_bytes: usage.external,
49
+ array_buffers_bytes: usage.arrayBuffers,
50
+ };
51
+ if (cgroupCurrent !== undefined)
52
+ snapshot.cgroup_current_bytes = cgroupCurrent;
53
+ if (cgroupLimit !== undefined)
54
+ snapshot.cgroup_limit_bytes = cgroupLimit;
55
+ return snapshot;
56
+ }
57
+ export function recordWorkerMemory(input) {
58
+ const snapshot = captureWorkerMemory();
59
+ if (!snapshot)
60
+ return;
61
+ const recordMetric = tryLoadNativeBindings()?.recordWorkerMemoryMetric;
62
+ if (typeof recordMetric !== 'function')
63
+ return;
64
+ for (const [kind, value] of Object.entries(snapshot)) {
65
+ if (!Number.isFinite(value) || value < 0)
66
+ continue;
67
+ try {
68
+ recordMetric('typescript', input.phase, input.componentName, input.componentType, kind, value);
69
+ }
70
+ catch {
71
+ return;
72
+ }
73
+ }
74
+ }
75
+ //# sourceMappingURL=worker-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-memory.js","sourceRoot":"","sources":["../src/worker-memory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAW,MAAM,YAAY,CAAC;AAMzD,OAAO,EAAE,KAAK,EAAW,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sEAAsE;IACtE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqcD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,aAAa,CAAS;gBAElB,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAS7E;;OAEG;YACW,UAAU;IAmCxB;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAKrB;IAED;;OAEG;IACH,IAAI,mBAAmB,IAAI,MAAM,CAKhC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAKrB;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAKzB;IAED,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAiC;IAE/C,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAmC;IAEnD,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAA2C;IAE3D;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI;IAcjD;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAuBrB;;;;OAIG;YACW,cAAc;IAya5B;;OAEG;YACW,mBAAmB;IA2BjC;;OAEG;YACW,mBAAmB;IAuCjC;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6H3B;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAYzE;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASzF"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAW,MAAM,YAAY,CAAC;AAMzD,OAAO,EAAE,KAAK,EAAW,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sEAAsE;IACtE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqcD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,aAAa,CAAS;gBAElB,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAS7E;;OAEG;YACW,UAAU;IAmCxB;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAKrB;IAED;;OAEG;IACH,IAAI,mBAAmB,IAAI,MAAM,CAKhC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAKrB;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAKzB;IAED,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAiC;IAE/C,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAmC;IAEnD,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAA2C;IAE3D;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI;IAcjD;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAuBrB;;;;OAIG;YACW,cAAc;IAob5B;;OAEG;YACW,mBAAmB;IA2BjC;;OAEG;YACW,mBAAmB;IAuCjC;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6H3B;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAYzE;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASzF"}
package/dist/worker.js CHANGED
@@ -11,6 +11,7 @@ import { EventEmitter } from './event-emitter.js';
11
11
  import { generateCid, runStarted, runCompleted, runFailed, functionStarted, functionCompleted, functionFailed, workflowStarted, workflowCompleted, workflowFailed, workflowPaused, toolStarted, toolCompleted, toolFailed, logEvent, } from './events.js';
12
12
  import { loadNativeBindings, tryLoadNativeBindings } from './native-loader.js';
13
13
  import { executePromptWorkerInput, isPromptExecutorComponent, PROMPT_EXECUTOR_COMPONENT_NAME, PROMPT_EXECUTOR_METADATA, } from './prompt-executor.js';
14
+ import { recordWorkerMemory } from './worker-memory.js';
14
15
  function isSystemComponentRegistration(component) {
15
16
  return (component.metadata.source === 'agnt5_builtin' ||
16
17
  Boolean(component.metadata.agnt5_builtin) ||
@@ -569,6 +570,11 @@ export class Worker {
569
570
  // user_response/pause_index from request.metadata on resume.
570
571
  ctx.loadReplayState(message.metadata);
571
572
  ctx.logger.info(`run.started | ${message.componentType} ${message.componentName} | run_id=${runId}`);
573
+ recordWorkerMemory({
574
+ phase: 'before',
575
+ componentType: message.componentType,
576
+ componentName: message.componentName,
577
+ });
572
578
  // ── run.started ──
573
579
  await emitter.emit(runStarted(runCid, parentCid, {
574
580
  inputData,
@@ -870,6 +876,13 @@ export class Worker {
870
876
  error: error.message,
871
877
  });
872
878
  }
879
+ finally {
880
+ recordWorkerMemory({
881
+ phase: 'after',
882
+ componentType: message.componentType,
883
+ componentName: message.componentName,
884
+ });
885
+ }
873
886
  })).finally(() => {
874
887
  this.inflight.delete(runId);
875
888
  });
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}