@felan-ai/agent-core 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +71 -0
  2. package/dist/dynamic-thinking/session.d.ts +2 -1
  3. package/dist/dynamic-thinking/session.d.ts.map +1 -1
  4. package/dist/dynamic-thinking/session.js +4 -4
  5. package/dist/dynamic-thinking/session.js.map +1 -1
  6. package/dist/extension-config-write.d.ts +7 -0
  7. package/dist/extension-config-write.d.ts.map +1 -0
  8. package/dist/extension-config-write.js +52 -0
  9. package/dist/extension-config-write.js.map +1 -0
  10. package/dist/extension-ui.d.ts +51 -0
  11. package/dist/extension-ui.d.ts.map +1 -0
  12. package/dist/extension-ui.js +22 -0
  13. package/dist/extension-ui.js.map +1 -0
  14. package/dist/extensions.d.ts +25 -3
  15. package/dist/extensions.d.ts.map +1 -1
  16. package/dist/extensions.js +56 -11
  17. package/dist/extensions.js.map +1 -1
  18. package/dist/host-agent-runtime.d.ts +12 -0
  19. package/dist/host-agent-runtime.d.ts.map +1 -1
  20. package/dist/host-agent-runtime.js +171 -7
  21. package/dist/host-agent-runtime.js.map +1 -1
  22. package/dist/host-workers.d.ts +31 -0
  23. package/dist/host-workers.d.ts.map +1 -0
  24. package/dist/host-workers.js +4 -0
  25. package/dist/host-workers.js.map +1 -0
  26. package/dist/index.d.ts +27 -4
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +11 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/model-tiers.js +0 -1
  31. package/dist/model-tiers.js.map +1 -1
  32. package/dist/platform.d.ts +33 -0
  33. package/dist/platform.d.ts.map +1 -0
  34. package/dist/platform.js +3 -0
  35. package/dist/platform.js.map +1 -0
  36. package/dist/runtime-files.d.ts +28 -0
  37. package/dist/runtime-files.d.ts.map +1 -0
  38. package/dist/runtime-files.js +2 -0
  39. package/dist/runtime-files.js.map +1 -0
  40. package/dist/runtime.d.ts +20 -1
  41. package/dist/runtime.d.ts.map +1 -1
  42. package/dist/savings.d.ts +12 -0
  43. package/dist/savings.d.ts.map +1 -1
  44. package/dist/savings.js +2 -1
  45. package/dist/savings.js.map +1 -1
  46. package/dist/services/models.d.ts +40 -0
  47. package/dist/services/models.d.ts.map +1 -0
  48. package/dist/services/models.js +3 -0
  49. package/dist/services/models.js.map +1 -0
  50. package/dist/services/runtime-dependencies.d.ts +16 -0
  51. package/dist/services/runtime-dependencies.d.ts.map +1 -0
  52. package/dist/services/runtime-dependencies.js +3 -0
  53. package/dist/services/runtime-dependencies.js.map +1 -0
  54. package/dist/services/secrets.d.ts +39 -0
  55. package/dist/services/secrets.d.ts.map +1 -0
  56. package/dist/services/secrets.js +18 -0
  57. package/dist/services/secrets.js.map +1 -0
  58. package/dist/services/sessions.d.ts +160 -0
  59. package/dist/services/sessions.d.ts.map +1 -0
  60. package/dist/services/sessions.js +37 -0
  61. package/dist/services/sessions.js.map +1 -0
  62. package/dist/services.d.ts +31 -0
  63. package/dist/services.d.ts.map +1 -0
  64. package/dist/services.js +55 -0
  65. package/dist/services.js.map +1 -0
  66. package/dist/session.d.ts +7 -1
  67. package/dist/session.d.ts.map +1 -1
  68. package/dist/session.js +17 -4
  69. package/dist/session.js.map +1 -1
  70. package/package.json +12 -5
@@ -1 +1 @@
1
- {"version":3,"file":"host-agent-runtime.d.ts","sourceRoot":"","sources":["../src/host-agent-runtime.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAE5B,qBAAqB,EAGrB,0BAA0B,EAC1B,wBAAwB,EAIxB,mBAAmB,EACnB,wBAAwB,EAExB,qBAAqB,EACrB,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,gBAAiB,YAAW,YAAY;;IAUnD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;gBAE9B,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;IAwBzD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,OAAO,CAAC,KAAK,GAAE,wBAAoC,GAAG,mBAAmB;IAMnE,IAAI,CACR,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,UAAU,CAAC;IAMhB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA4CvE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,UAAU,CAAC;IAelF,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,IAAI,CAAC;IAMV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYlF,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAmLvD"}
1
+ {"version":3,"file":"host-agent-runtime.d.ts","sourceRoot":"","sources":["../src/host-agent-runtime.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAE5B,qBAAqB,EAGrB,0BAA0B,EAC1B,wBAAwB,EAIxB,mBAAmB,EACnB,wBAAwB,EAExB,qBAAqB,EACrB,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,oBAAoB,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,gBAAiB,YAAW,YAAY;;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAUpE,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;gBAEjB,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;IAoEzD,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKxD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,OAAO,CAAC,KAAK,GAAE,wBAAoC,GAAG,mBAAmB;IAMnE,IAAI,CACR,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,UAAU,CAAC;IAMhB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA4CvE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,UAAU,CAAC;IAelF,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,IAAI,CAAC;IAkBV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYlF,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAqMvD"}
@@ -1,10 +1,12 @@
1
1
  import { spawn } from 'node:child_process';
2
- import { access, appendFile, lstat, mkdir, open, opendir, readFile, readlink, realpath, rm, writeFile, } from 'node:fs/promises';
3
- import { constants as osConstants } from 'node:os';
4
- import { isAbsolute, join, relative, resolve, sep } from 'node:path';
2
+ import { closeSync, constants as fsConstants, fstatSync, openSync } from 'node:fs';
3
+ import { access, appendFile, chmod, lstat, mkdir, open, opendir, readFile, readlink, readdir, realpath, rename, rm, rmdir, stat, utimes, writeFile, } from 'node:fs/promises';
4
+ import { constants as osConstants, homedir } from 'node:os';
5
+ import { basename, dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
5
6
  import { fileListingGlobMatcher, normalizeFileListingPath } from './file-listing.js';
6
7
  import { createSilentLogger } from './logger.js';
7
8
  export class HostAgentRuntime {
9
+ host;
8
10
  #cwd;
9
11
  #sessionStorage;
10
12
  #agentStorage;
@@ -19,11 +21,17 @@ export class HostAgentRuntime {
19
21
  processes;
20
22
  privateRuntime;
21
23
  terminals;
24
+ userHome;
25
+ files;
22
26
  constructor(cwd, options) {
27
+ if (options.host)
28
+ this.host = Object.freeze({ ...options.host });
23
29
  if (cwd.includes('\0')) {
24
30
  throw new Error('Runtime cwd cannot contain NUL bytes');
25
31
  }
26
32
  this.#cwd = resolve(cwd);
33
+ if (options.pathAccess === 'host')
34
+ this.userHome = homedir();
27
35
  this.#sessionStorageRoot = resolveStorageRoot(options.sessionStorageRoot);
28
36
  this.#agentStorageRoot = resolveStorageRoot(options.agentStorageRoot);
29
37
  this.#agentDir = options.agentDir === undefined ? undefined : resolveStorageRoot(options.agentDir);
@@ -42,6 +50,65 @@ export class HostAgentRuntime {
42
50
  this.terminals = {
43
51
  startShell: async (command, terminalOptions) => this.#startShellTerminal(command, terminalOptions),
44
52
  };
53
+ const path = (value, allowRoot = true) => this.#resolveFilePath(value, allowRoot);
54
+ this.files = {
55
+ inspect: async (value) => fileInfo(await lstat(await path(value))),
56
+ canonicalPath: async (value) => realpath(await path(value)),
57
+ move: async (source, target) => rename(await path(source, false), await path(target, false)),
58
+ removeEmptyDirectory: async (value) => rmdir(await path(value, false)),
59
+ touch: async (value, modifiedAt) => utimes(await path(value), modifiedAt / 1000, modifiedAt / 1000),
60
+ ensurePrivateDirectory: async (value, options) => {
61
+ const resolved = await path(value);
62
+ await mkdir(resolved, { recursive: options?.recursive ?? false, mode: 0o700 });
63
+ if (!(await lstat(resolved)).isDirectory())
64
+ throw new Error('Expected a private directory');
65
+ await chmod(resolved, 0o700);
66
+ },
67
+ snapshot: async (value, maxBytes) => {
68
+ if (!Number.isSafeInteger(maxBytes) || maxBytes < 0)
69
+ throw new Error('Invalid snapshot byte limit');
70
+ const resolved = await path(value);
71
+ const handle = await open(resolved, fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW | fsConstants.O_NONBLOCK);
72
+ try {
73
+ const info = fileInfo(await handle.stat());
74
+ if (info.kind !== 'file')
75
+ throw new Error('Expected a regular file');
76
+ const content = Buffer.alloc(Math.min(info.size, maxBytes));
77
+ let length = 0;
78
+ while (length < content.length) {
79
+ const { bytesRead } = await handle.read(content, length, content.length - length, length);
80
+ if (!bytesRead)
81
+ break;
82
+ length += bytesRead;
83
+ }
84
+ const current = fileInfo(await lstat(resolved));
85
+ if (!sameFileInfo(info, current) || length !== content.length)
86
+ throw new Error('File changed while reading');
87
+ return { info, content: new Uint8Array(content), truncated: info.size > maxBytes };
88
+ }
89
+ finally {
90
+ await handle.close();
91
+ }
92
+ },
93
+ append: async (value, content, expected) => {
94
+ const handle = await open(await path(value), fsConstants.O_WRONLY | fsConstants.O_APPEND
95
+ | fsConstants.O_NOFOLLOW | fsConstants.O_NONBLOCK | (expected ? 0 : fsConstants.O_CREAT), 0o600);
96
+ try {
97
+ const info = fileInfo(await handle.stat());
98
+ if (info.kind !== 'file' || expected && !sameFileInfo(info, expected))
99
+ throw new Error('File changed before append');
100
+ await handle.writeFile(content);
101
+ }
102
+ finally {
103
+ await handle.close();
104
+ }
105
+ },
106
+ };
107
+ }
108
+ getEnvironmentVariable(name) {
109
+ if (!/^[A-Za-z_][A-Za-z0-9_]*$/u.test(name))
110
+ throw new Error('Invalid environment variable name.');
111
+ return process.env[name];
45
112
  }
46
113
  get kind() {
47
114
  return 'host';
@@ -113,8 +180,23 @@ export class HostAgentRuntime {
113
180
  }
114
181
  async writeFile(path, content, options) {
115
182
  const copiedContent = content.slice();
116
- const resolvedPath = await this.#resolvePath(path);
117
- await writeFile(resolvedPath, copiedContent, options?.exclusive ? { flag: 'wx' } : undefined);
183
+ const resolvedPath = options?.noFollow || options?.readOnly
184
+ ? await this.#resolveFilePath(path) : await this.#resolvePath(path);
185
+ if (!options?.noFollow && !options?.readOnly) {
186
+ await writeFile(resolvedPath, copiedContent, options?.exclusive ? { flag: 'wx' } : undefined);
187
+ return;
188
+ }
189
+ const handle = await open(resolvedPath, fsConstants.O_WRONLY | fsConstants.O_CREAT
190
+ | (options.exclusive ? fsConstants.O_EXCL : 0) | fsConstants.O_NOFOLLOW | fsConstants.O_NONBLOCK, options.readOnly ? 0o400 : 0o600);
191
+ try {
192
+ if (!(await handle.stat()).isFile())
193
+ throw new Error('Expected a regular file');
194
+ await handle.truncate(0);
195
+ await handle.writeFile(copiedContent);
196
+ }
197
+ finally {
198
+ await handle.close();
199
+ }
118
200
  }
119
201
  async listFiles(path, options) {
120
202
  const resolvedPath = this.#pathAccess === 'host'
@@ -209,7 +291,40 @@ export class HostAgentRuntime {
209
291
  rows: 24,
210
292
  encoding: null,
211
293
  });
212
- return new HostRuntimeTerminal(terminal);
294
+ const handle = new HostRuntimeTerminal(terminal);
295
+ try {
296
+ handle.retainLinuxSlave();
297
+ return handle;
298
+ }
299
+ catch (error) {
300
+ const errors = [error];
301
+ try {
302
+ await handle.terminate('SIGKILL');
303
+ }
304
+ catch (failure) {
305
+ if (!errors.includes(failure))
306
+ errors.push(failure);
307
+ }
308
+ try {
309
+ await handle.dispose();
310
+ }
311
+ catch (failure) {
312
+ if (!errors.includes(failure))
313
+ errors.push(failure);
314
+ }
315
+ if (errors.length > 1)
316
+ throw new AggregateError(errors, 'Failed to clean up PTY startup.');
317
+ throw error;
318
+ }
319
+ }
320
+ async #resolveFilePath(path, allowRoot = true) {
321
+ const absolute = resolveHostPath(this.#cwd, path);
322
+ if (this.#pathAccess === 'host')
323
+ return absolute;
324
+ if (absolute === this.#cwd)
325
+ return this.#resolvePath(path, allowRoot);
326
+ const parent = await this.#resolvePath(dirname(absolute));
327
+ return join(parent, basename(absolute));
213
328
  }
214
329
  async #resolvePath(path, allowRoot = true) {
215
330
  return this.#pathAccess === 'host'
@@ -472,6 +587,8 @@ class HostRuntimeTerminal extends HostBufferedProcess {
472
587
  #exitSubscription;
473
588
  #startupOutput = process.platform === 'win32';
474
589
  #decoder = new TextDecoder();
590
+ #slave;
591
+ #slaveCloseError;
475
592
  constructor(terminal) {
476
593
  super();
477
594
  this.#terminal = terminal;
@@ -487,9 +604,34 @@ class HostRuntimeTerminal extends HostBufferedProcess {
487
604
  this.appendOutput(Buffer.from(output));
488
605
  });
489
606
  this.#exitSubscription = terminal.onExit(({ exitCode, signal }) => {
607
+ this.#releaseSlave();
490
608
  this.complete(signal ? 128 + signal : exitCode);
491
609
  });
492
610
  }
611
+ retainLinuxSlave() {
612
+ if (process.platform !== 'linux')
613
+ return;
614
+ const path = Reflect.get(this.#terminal, '_pty');
615
+ if (typeof path !== 'string' || !/^\/dev\/pts\/\d+$/u.test(path))
616
+ throw new Error('PTY slave path is unavailable.');
617
+ const fd = openSync(path, fsConstants.O_RDWR | fsConstants.O_NOCTTY | fsConstants.O_NOFOLLOW);
618
+ try {
619
+ const stat = fstatSync(fd);
620
+ if (!stat.isCharacterDevice() || stat.uid !== process.getuid?.())
621
+ throw new Error('PTY slave ownership is invalid.');
622
+ // Linux can discard pending output on the last slave close, before the master reader drains it.
623
+ this.#slave = fd;
624
+ }
625
+ catch (error) {
626
+ try {
627
+ closeSync(fd);
628
+ }
629
+ catch (failure) {
630
+ throw new AggregateError([...new Set([error, failure])], 'PTY slave validation and cleanup failed.');
631
+ }
632
+ throw error;
633
+ }
634
+ }
493
635
  get pid() {
494
636
  return this.#terminal.pid;
495
637
  }
@@ -522,8 +664,23 @@ class HostRuntimeTerminal extends HostBufferedProcess {
522
664
  }
523
665
  }
524
666
  onDispose() {
667
+ this.#releaseSlave();
525
668
  this.#dataSubscription.dispose();
526
669
  this.#exitSubscription.dispose();
670
+ if (this.#slaveCloseError !== undefined)
671
+ throw this.#slaveCloseError;
672
+ }
673
+ #releaseSlave() {
674
+ const fd = this.#slave;
675
+ this.#slave = undefined;
676
+ if (fd !== undefined) {
677
+ try {
678
+ closeSync(fd);
679
+ }
680
+ catch (error) {
681
+ this.#slaveCloseError = error;
682
+ }
683
+ }
527
684
  }
528
685
  }
529
686
  class HostProcessOutput {
@@ -674,7 +831,7 @@ async function listHostFiles(root, options = {}) {
674
831
  const directory = await opendir(absoluteDirectory);
675
832
  for await (const entry of directory) {
676
833
  throwIfListingAborted(options.signal);
677
- if (!entry.isDirectory() && !entry.isFile())
834
+ if (!entry.isDirectory() && !entry.isFile() && !options.includeOther)
678
835
  continue;
679
836
  const relativePath = relativeDirectory
680
837
  ? join(relativeDirectory, entry.name)
@@ -1024,4 +1181,11 @@ async function readBoundedFile(path, maxBytes) {
1024
1181
  await handle.close();
1025
1182
  }
1026
1183
  }
1184
+ function fileInfo(value) {
1185
+ return { kind: value.isFile() ? 'file' : value.isDirectory() ? 'directory' : value.isSymbolicLink() ? 'symlink' : 'other',
1186
+ identity: `${value.dev}:${value.ino}:${value.birthtimeMs}`, size: value.size, modifiedAt: value.mtimeMs };
1187
+ }
1188
+ function sameFileInfo(left, right) {
1189
+ return left.identity === right.identity && left.size === right.size && left.modifiedAt === right.modifiedAt;
1190
+ }
1027
1191
  //# sourceMappingURL=host-agent-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-agent-runtime.js","sourceRoot":"","sources":["../src/host-agent-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-agent-runtime.js","sourceRoot":"","sources":["../src/host-agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { AgentSession, SessionManager, SettingsManager } from '@earendil-works/pi-coding-agent';
2
+ import type { CreateAgentCoreSessionOptions } from './session.js';
3
+ import type { ModelReference } from './model-tiers.js';
4
+ import type { AgentRuntime } from './runtime.js';
5
+ /** In-process host composition only; not a portable session service or wire contract. */
6
+ export interface HostWorkerOptions {
7
+ readonly runtime: AgentRuntime;
8
+ readonly sessionManager: SessionManager;
9
+ readonly settingsManager: SettingsManager;
10
+ readonly model: ModelReference;
11
+ readonly thinkingLevel?: CreateAgentCoreSessionOptions['thinkingLevel'];
12
+ readonly customTools?: CreateAgentCoreSessionOptions['customTools'];
13
+ readonly appendSystemPrompt?: CreateAgentCoreSessionOptions['appendSystemPrompt'];
14
+ readonly allowedTools: readonly string[];
15
+ readonly signal?: AbortSignal;
16
+ }
17
+ export type HostWorker = Pick<AgentSession, 'abort' | 'bindExtensions' | 'getActiveToolNames' | 'messages' | 'prompt' | 'subscribe' | 'setActiveToolsByName' | 'thinkingLevel'> & {
18
+ dispose(): Promise<void>;
19
+ };
20
+ export type HostWorkerLauncher = (input: HostWorkerOptions) => Promise<HostWorker>;
21
+ export interface RuntimeLifecycle {
22
+ busy(): boolean;
23
+ settle(mode: 'drain' | 'force'): Promise<void>;
24
+ dispose(): Promise<void>;
25
+ }
26
+ export interface RuntimeLifetime {
27
+ register(lifecycle: RuntimeLifecycle): () => void;
28
+ }
29
+ export declare const HOST_WORKERS_SERVICE: import("./services.js").ServiceContract<HostWorkerLauncher>;
30
+ export declare const RUNTIME_LIFETIME_SERVICE: import("./services.js").ServiceContract<RuntimeLifetime>;
31
+ //# sourceMappingURL=host-workers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-workers.d.ts","sourceRoot":"","sources":["../src/host-workers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,yFAAyF;AACzF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAC,eAAe,CAAC,CAAC;IACxE,QAAQ,CAAC,WAAW,CAAC,EAAE,6BAA6B,CAAC,aAAa,CAAC,CAAC;IACpE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,6BAA6B,CAAC,oBAAoB,CAAC,CAAC;IAClF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EACxC,OAAO,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,sBAAsB,GAAG,eAAe,CAAC,GACjI;IAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAEjC,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,OAAO,CAAC;IAChB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,oBAAoB,6DAAqE,CAAC;AACvG,eAAO,MAAM,wBAAwB,0DAAsE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { defineServiceContract } from './services.js';
2
+ export const HOST_WORKERS_SERVICE = defineServiceContract('felan.host.workers', 1);
3
+ export const RUNTIME_LIFETIME_SERVICE = defineServiceContract('felan.runtime.lifetime', 1);
4
+ //# sourceMappingURL=host-workers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-workers.js","sourceRoot":"","sources":["../src/host-workers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AA+BtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAqB,oBAAoB,EAAE,CAAC,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAkB,wBAAwB,EAAE,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  export { LOG_LEVELS, createLogger, createSilentLogger, isLogLevel, isLoggerLevel, } from './logger.js';
2
2
  export type { CreateLoggerOptions, LogLevel, LogRecord, Logger, LoggerDestination, LoggerFields, LoggerLevel, } from './logger.js';
3
- export type { AgentRuntime, AgentRuntimeFileReadOptions, AgentRuntimeFileWriteOptions, AgentRuntimeExecOptions, AgentRuntimeExecResult, AgentRuntimeListFilesOptions, AgentRuntimeKind, AgentRuntimeProcess, AgentRuntimeProcesses, AgentRuntimeProcessReadOptions, AgentRuntimeProcessSnapshot, AgentRuntimePrivateRuntime, AgentRuntimeShellFlavor, AgentRuntimeTerminationSignal, AgentRuntimeShellOptions, AgentRuntimeShellProcessOptions, AgentRuntimeStdioProcess, AgentRuntimeStdioProcessOptions, AgentRuntimeStorage, AgentRuntimeStorageScope, AgentRuntimeTerminals, ExecOptions, ExecResult, } from './runtime.js';
4
- export type { SavingsCategory, SavingsMeasurement, SavingsModelReference, SavingsOutcome, SavingsReporter, SavingsReporterProvider, SavingsTokenUsage, } from './savings.js';
3
+ export type { AgentRuntime, AgentRuntimeFileReadOptions, AgentRuntimeFileWriteOptions, AgentRuntimeExecOptions, AgentRuntimeExecResult, AgentRuntimeListFilesOptions, AgentRuntimeKind, AgentRuntimeProcess, AgentRuntimeProcesses, AgentRuntimeProcessReadOptions, AgentRuntimeProcessSnapshot, AgentRuntimePrivateRuntime, AgentRuntimeShellFlavor, AgentRuntimeTerminationSignal, AgentRuntimeShellOptions, AgentRuntimeShellProcessOptions, AgentRuntimeStdioProcess, AgentRuntimeStdioProcessOptions, AgentRuntimeStorage, AgentRuntimeStorageScope, AgentRuntimeTerminals, AgentRuntimeTerminalOptions, ExecOptions, ExecResult, } from './runtime.js';
4
+ export type { SavingsCategory, SavingsMeasurement, SavingsModelReference, SavingsOutcome, SavingsReporter, SavingsReporterProvider, SavingsTokenUsage, SavingsSummary, UsageService, } from './savings.js';
5
+ export { USAGE_SERVICE } from './savings.js';
6
+ export { FELAN_PLATFORM_SERVICE } from './platform.js';
7
+ export type { FelanApiMethod, FelanApiTarget, FelanApiQueryValue, FelanApiRequest, FelanApiResultDetails, FelanPlatformService } from './platform.js';
5
8
  export { AGENT_CORE_VERSION } from './version.js';
6
9
  export type { SessionSelectionAutomation } from './model-selection.js';
7
10
  export * from './classifier/index.js';
@@ -11,14 +14,32 @@ export type { ModelReference, ModelTier, ModelTierClassifier, ModelTierSelection
11
14
  export { FELAN_THINKING_LEVELS, isFelanThinkingLevel } from './thinking.js';
12
15
  export type { FelanThinkingLevel } from './thinking.js';
13
16
  export { HostAgentRuntime } from './host-agent-runtime.js';
17
+ export type { RuntimeFiles, RuntimeFileInfo, RuntimeFileSnapshot } from './runtime-files.js';
14
18
  export type { HostAgentRuntimeOptions, HostShellOptions } from './host-agent-runtime.js';
15
19
  export { bindFelanExtension, loadFelanExtensions, } from './extensions.js';
20
+ export { createFelanServiceRegistry, defineServiceContract, createExtensionServiceAccess, HOST_RUNTIME_SERVICE } from './services.js';
21
+ export { createUnavailableExtensionUi, ExtensionUiUnavailableError } from './extension-ui.js';
22
+ export type { ExtensionUi, ExtensionUiBindingFactory, UiActionContext, UiCancelReason, UiElementHandle, UiInteractiveElement, UiPresentOptions, UiRequestOptions, UiRequestResult, } from './extension-ui.js';
23
+ export type { UiActionRequest, UiAction, UiDocument, UiField, UiFormAnswer, UiForm, UiInput, UiPresentation, UiProgress, UiStatus, UiStatusValue, UiValues, UiView, } from '@felan-ai/session-protocol';
24
+ export type { ExtensionServiceAccess, ExtensionServiceRequirements, FelanServiceRegistry, HostRuntimeService, ServiceContract } from './services.js';
25
+ export { MODELS_SERVICE } from './services/models.js';
26
+ export type { ImageModelInfo, ModelSubscriptionUsageResult, ModelsCallOptions, ModelsRequestOptions, ModelsService, TextModelInfo } from './services/models.js';
27
+ export { SECRETS_SERVICE, SECRETS_LIMITS, SecretServiceError } from './services/secrets.js';
28
+ export type { SecretAddress, SecretRecord, SecretsRequestOptions, SecretsService, SecretServiceErrorCode } from './services/secrets.js';
29
+ export { SESSIONS_SERVICE, SESSIONS_HISTORY_SERVICE, SESSION_EXECUTION_LIMITS, SESSION_HISTORY_LIMITS, SessionsServiceError, createReadOnlySessionsService } from './services/sessions.js';
30
+ export { RUNTIME_DEPENDENCIES_SERVICE } from './services/runtime-dependencies.js';
31
+ export type { RuntimeDependenciesService, RuntimeDependencyInstallResult } from './services/runtime-dependencies.js';
32
+ export type { HistoryRevision, SessionCheckpointRef, SessionExecution, SessionExecutionInput, SessionExecutionReadOptions, SessionExecutionsOptions, SessionHistoryInfo, SessionHistoryOptions, SessionHistoryPage, SessionPage, SessionPageOptions, SessionRef, SessionsEvent, SessionsHistory, SessionsRequestOptions, SessionsService, SessionsServiceErrorCode, } from './services/sessions.js';
33
+ export { Type } from '@earendil-works/pi-ai';
34
+ export { buildSessionContext, parseSessionEntries } from '@earendil-works/pi-coding-agent';
35
+ export type { SessionInfo } from '@earendil-works/pi-coding-agent';
16
36
  export { associateExtensionConfig, configField, configureExtension, defineExtensionConfig, extensionConfigOverridesFromObject, getExtensionConfigCliOptions, getExtensionConfigDefinition, parseExtensionConfigCliValue, resolveExtensionConfigs, validateExtensionConfigValue, } from './extension-config.js';
17
37
  export type { ExtensionConfigCliOption, ExtensionConfigDefinition, ExtensionConfigField, ExtensionConfigFieldOptions, ExtensionConfigFields, ExtensionConfigOverride, ExtensionConfigPrimitive, ExtensionConfigValue, ExtensionConfigJsonObject, ExtensionConfigJsonArray, InferExtensionConfig, } from './extension-config.js';
38
+ export type { ExtensionConfigWriter } from './extension-config-write.js';
18
39
  export { formatCapabilitiesSection } from './capabilities.js';
19
40
  export type { FelanCapability, RegisteredFelanCapability } from './capabilities.js';
20
41
  export { FELAN_BASE_SYSTEM_PROMPT } from './system-prompt.js';
21
- export type { ExtensionPackageImporter, FelanExtension, FelanExtensionAPI, FelanModelSelectionOptions, } from './extensions.js';
42
+ export type { ConfiguredFelanExtension, ExtensionPackageImporter, FelanExtension, FelanExtensionAPI, FelanExecutionContext, FelanExecutionContribution, FelanModelSelectionOptions, } from './extensions.js';
22
43
  export { createAgentCoreResourceLoader, runtimeToolsExtensionName, } from './resource-loader.js';
23
44
  export type { CreateAgentCoreResourceLoaderOptions } from './resource-loader.js';
24
45
  export { createRuntimeCodingTools } from './tools.js';
@@ -29,8 +50,10 @@ export { createAgentCoreSession, createAgentCoreSessionRuntime, createAgentCoreS
29
50
  export type { AgentCoreSessionRuntimeFactoryOptions, AgentCoreSessionRuntimeFactoryRequest, AgentCoreSessionRuntimeOptionsFactory, CreateAgentCoreSessionOptions, StreamFunction, ProjectInstructionsFile, } from './session.js';
30
51
  export { getProjectInstructions, PROJECT_INSTRUCTIONS_CUSTOM_TYPE, } from './session.js';
31
52
  export { AgentSession, CURRENT_SESSION_VERSION, DefaultResourceLoader, DynamicBorder, ModelRuntime, SessionManager, SettingsManager, createAgentSessionRuntime, createCodemodeExtension, defineTool, formatSkillsForPrompt, getAgentDir, loadSkillsFromDir, resizeImage, sessionEntryToContextMessages, withFileMutationQueue, } from '@earendil-works/pi-coding-agent';
32
- export type { AgentSessionEvent, AgentSessionEventListener, AgentSessionRuntimeDiagnostic, AgentSessionServices, BuildSystemPromptOptions, CodemodeExtensionOptions, CreateAgentSessionOptions, CreateAgentSessionResult, CreateAgentSessionRuntimeFactory, CreateAgentSessionRuntimeResult, Extension, ExtensionAPI, ExtensionCommandContext, ExtensionContext, ExtensionFactory, InlineExtension, LoadExtensionsResult, ResourceDiagnostic, ResourceLoader, ResizedImage, SessionContext, SessionEntry, SessionMessageEntry, SessionStartEvent, Skill, Theme, ThemeColor, SlashCommandInfo, SourceInfo, ToolDefinition, ToolInfo, } from '@earendil-works/pi-coding-agent';
53
+ export type { AgentSessionEvent, AgentSessionEventListener, AgentSessionRuntime, AgentSessionRuntimeDiagnostic, AgentSessionServices, BuildSystemPromptOptions, CodemodeExtensionOptions, CreateAgentSessionOptions, CreateAgentSessionResult, CreateAgentSessionRuntimeFactory, CreateAgentSessionRuntimeResult, Extension, ExtensionAPI, ExtensionCommandContext, ExtensionContext, ExtensionFactory, InlineExtension, LoadExtensionsResult, ResourceDiagnostic, ResourceLoader, ResizedImage, SessionContext, SessionEntry, SessionMessageEntry, SessionStartEvent, Skill, Theme, ThemeColor, SlashCommandInfo, SourceInfo, ToolDefinition, ToolInfo, } from '@earendil-works/pi-coding-agent';
33
54
  export { InMemoryCredentialStore, StringEnum, calculateCost, clampThinkingLevel, createAssistantMessageEventStream, getCurrentSystemPrompt, getCurrentTools, getSupportedThinkingLevels, isContextOverflow, lazyStream, normalizeContext, uuidv7, } from '@earendil-works/pi-ai';
34
55
  export type { Api, AssistantImages, AssistantMessage, AssistantMessageEvent, AssistantMessageEventStream, Context, Credential, CredentialInfo, CredentialStore, ImageApi, ImageModel, ImagesContext, ImagesOptions, Model, ModelCost, ModelCostRates, ModelCostTier, Provider, SimpleStreamOptions, TranscriptContext, Transport, Usage, } from '@earendil-works/pi-ai';
35
56
  export { builtinProviders } from '@earendil-works/pi-ai/providers/all';
57
+ export { HOST_WORKERS_SERVICE, RUNTIME_LIFETIME_SERVICE } from './host-workers.js';
58
+ export type { HostWorkerOptions, HostWorker, HostWorkerLauncher, RuntimeLifecycle, RuntimeLifetime } from './host-workers.js';
36
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}