@polpo-ai/node 0.15.46 → 0.15.48

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 (51) hide show
  1. package/dist/adapters/in-process-spawner.d.ts +3 -0
  2. package/dist/adapters/in-process-spawner.d.ts.map +1 -1
  3. package/dist/adapters/in-process-spawner.js.map +1 -1
  4. package/dist/adapters/spawn-helpers.d.ts.map +1 -1
  5. package/dist/adapters/spawn-helpers.js +4 -1
  6. package/dist/adapters/spawn-helpers.js.map +1 -1
  7. package/dist/brain/content-loader.d.ts +54 -0
  8. package/dist/brain/content-loader.d.ts.map +1 -0
  9. package/dist/brain/content-loader.js +411 -0
  10. package/dist/brain/content-loader.js.map +1 -0
  11. package/dist/brain/errors.d.ts +9 -0
  12. package/dist/brain/errors.d.ts.map +1 -0
  13. package/dist/brain/errors.js +27 -0
  14. package/dist/brain/errors.js.map +1 -0
  15. package/dist/brain/file-store.d.ts +28 -0
  16. package/dist/brain/file-store.d.ts.map +1 -0
  17. package/dist/brain/file-store.js +130 -0
  18. package/dist/brain/file-store.js.map +1 -0
  19. package/dist/brain/html-parser.d.ts +6 -0
  20. package/dist/brain/html-parser.d.ts.map +1 -0
  21. package/dist/brain/html-parser.js +136 -0
  22. package/dist/brain/html-parser.js.map +1 -0
  23. package/dist/brain/index.d.ts +12 -0
  24. package/dist/brain/index.d.ts.map +1 -0
  25. package/dist/brain/index.js +7 -0
  26. package/dist/brain/index.js.map +1 -0
  27. package/dist/brain/local-runtime.d.ts +21 -0
  28. package/dist/brain/local-runtime.d.ts.map +1 -0
  29. package/dist/brain/local-runtime.js +55 -0
  30. package/dist/brain/local-runtime.js.map +1 -0
  31. package/dist/brain/local-service.d.ts +41 -0
  32. package/dist/brain/local-service.d.ts.map +1 -0
  33. package/dist/brain/local-service.js +269 -0
  34. package/dist/brain/local-service.js.map +1 -0
  35. package/dist/core/run-lifecycle.d.ts +5 -0
  36. package/dist/core/run-lifecycle.d.ts.map +1 -1
  37. package/dist/core/run-lifecycle.js +27 -0
  38. package/dist/core/run-lifecycle.js.map +1 -1
  39. package/dist/index.d.ts +4 -1
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +3 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/server/app.d.ts +7 -0
  44. package/dist/server/app.d.ts.map +1 -1
  45. package/dist/server/app.js +47 -2
  46. package/dist/server/app.js.map +1 -1
  47. package/dist/server/index.d.ts +1 -1
  48. package/dist/server/index.d.ts.map +1 -1
  49. package/dist/server/index.js +1 -1
  50. package/dist/server/index.js.map +1 -1
  51. package/package.json +13 -8
@@ -6,6 +6,7 @@ import type { MemoryStore } from "@polpo-ai/core/memory-store";
6
6
  import type { FileSystem } from "@polpo-ai/core/filesystem";
7
7
  import type { Shell } from "@polpo-ai/core/shell";
8
8
  import type { RunToolMiddleware } from "@polpo-ai/core/guardrails";
9
+ import type { BrainReadService, BrainServiceContext } from "@polpo-ai/core/brain";
9
10
  import { type TranscriptSession } from "../core/run-lifecycle.js";
10
11
  /**
11
12
  * Stores and ports the in-process lifecycle runs against — the
@@ -19,6 +20,8 @@ export interface InProcessSpawnerDeps {
19
20
  createLogSession?: () => Promise<TranscriptSession>;
20
21
  vaultStore?: VaultStore;
21
22
  memoryStore?: MemoryStore;
23
+ brainService?: BrainReadService;
24
+ brainContext?: BrainServiceContext;
22
25
  fs?: FileSystem;
23
26
  shell?: Shell;
24
27
  /** Optional host-resolved guardrail middleware. */
@@ -1 +1 @@
1
- {"version":3,"file":"in-process-spawner.d.ts","sourceRoot":"","sources":["../../src/adapters/in-process-spawner.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE3F;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;2EACuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,gBAAiB,YAAW,OAAO;IAWlC,OAAO,CAAC,OAAO;IAV3B,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAK;IACnB,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAsC;IAEpD;;;;OAIG;gBACiB,OAAO,EAAE,MAAM,oBAAoB;IAEjD,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAgDvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI7B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGxB"}
1
+ {"version":3,"file":"in-process-spawner.d.ts","sourceRoot":"","sources":["../../src/adapters/in-process-spawner.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE3F;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;2EACuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,gBAAiB,YAAW,OAAO;IAWlC,OAAO,CAAC,OAAO;IAV3B,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAK;IACnB,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAsC;IAEpD;;;;OAIG;gBACiB,OAAO,EAAE,MAAM,oBAAoB;IAEjD,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAgDvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI7B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"in-process-spawner.js","sourceRoot":"","sources":["../../src/adapters/in-process-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAShD,OAAO,EAAE,UAAU,EAAE,WAAW,EAA0B,MAAM,0BAA0B,CAAC;AAuB3F,MAAM,OAAO,gBAAgB;IAWP;IAVpB,6DAA6D;IACrD,MAAM,GAAG,CAAC,CAAC;IACnB,sDAAsD;IAC9C,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD;;;;OAIG;IACH,YAAoB,OAAmC;QAAnC,YAAO,GAAP,OAAO,CAA4B;IAAG,CAAC;IAE3D,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAE5B,qEAAqE;QACrE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE5B,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,UAAU,GAAG,gBAAgB,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,aAAa,GAAsB,EAAE,CAAC;QAE5C,mEAAmE;QACnE,KAAK,UAAU,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;aACxE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnB,kEAAkE;YAClE,kEAAkE;YAClE,8CAA8C;YAC9C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5E,CAAC;YAAC,MAAM,CAAC,CAAC,yDAAyD,CAAC,CAAC;QACvE,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,KAAK,MAAM,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,EAAE,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,GAAG;YACH,UAAU;YACV,MAAM,EAAE,CAAC,EAAc,EAAE,EAAE;gBACzB,IAAI,MAAM;oBAAE,EAAE,EAAE,CAAC;;oBACZ,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"in-process-spawner.js","sourceRoot":"","sources":["../../src/adapters/in-process-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAahD,OAAO,EAAE,UAAU,EAAE,WAAW,EAA0B,MAAM,0BAA0B,CAAC;AAyB3F,MAAM,OAAO,gBAAgB;IAWP;IAVpB,6DAA6D;IACrD,MAAM,GAAG,CAAC,CAAC;IACnB,sDAAsD;IAC9C,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD;;;;OAIG;IACH,YAAoB,OAAmC;QAAnC,YAAO,GAAP,OAAO,CAA4B;IAAG,CAAC;IAE3D,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAE5B,qEAAqE;QACrE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE5B,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,UAAU,GAAG,gBAAgB,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,aAAa,GAAsB,EAAE,CAAC;QAE5C,mEAAmE;QACnE,KAAK,UAAU,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;aACxE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnB,kEAAkE;YAClE,kEAAkE;YAClE,8CAA8C;YAC9C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5E,CAAC;YAAC,MAAM,CAAC,CAAC,yDAAyD,CAAC,CAAC;QACvE,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,KAAK,MAAM,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,EAAE,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,GAAG;YACH,UAAU;YACV,MAAM,EAAE,CAAC,EAAc,EAAE,EAAE;gBACzB,IAAI,MAAM;oBAAE,EAAE,EAAE,CAAC;;oBACZ,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-helpers.d.ts","sourceRoot":"","sources":["../../src/adapters/spawn-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAe,MAAM,sBAAsB,CAAC;AACvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EACjC,MAAM,gBAAgB,CAAC;AAGxB,0CAA0C;AAC1C,wBAAgB,cAAc,IAAI,aAAa,CAQ9C;AAED,OAAO,EAAqC,YAAY,EAAyB,MAAM,eAAe,CAAC;AAIvG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAiMhD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAiCzI;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,IAAI,EACV,qBAAqB,GAAE,SAAS,2BAA2B,EAAO,EAClE,YAAY,GAAE,uBAA+B,GAC5C,MAAM,CA0DR;AAUD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACvC,8DAA8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,GAAG,CAAC,EAAE,YAAY,GACjB,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAc9C;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,SAAS,CA+FjG;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,EACf,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CAuCtB;AA6BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,GAAG,SAAS,CAsB1G"}
1
+ {"version":3,"file":"spawn-helpers.d.ts","sourceRoot":"","sources":["../../src/adapters/spawn-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAe,MAAM,sBAAsB,CAAC;AACvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EACjC,MAAM,gBAAgB,CAAC;AAGxB,0CAA0C;AAC1C,wBAAgB,cAAc,IAAI,aAAa,CAQ9C;AAED,OAAO,EAAqC,YAAY,EAAyB,MAAM,eAAe,CAAC;AAIvG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAiMhD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAiCzI;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,IAAI,EACV,qBAAqB,GAAE,SAAS,2BAA2B,EAAO,EAClE,YAAY,GAAE,uBAA+B,GAC5C,MAAM,CA0DR;AAUD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACvC,8DAA8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,GAAG,CAAC,EAAE,YAAY,GACjB,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAc9C;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,SAAS,CAgGjG;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,EACf,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CAyCtB;AA6BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,GAAG,SAAS,CAsB1G"}
@@ -203,7 +203,8 @@ export function prepareSpawn(agentConfig, cwd, ctx) {
203
203
  return lc.startsWith("browser_") || lc.startsWith("email_")
204
204
  || lc.startsWith("image_") || lc.startsWith("video_") || lc.startsWith("audio_")
205
205
  || lc.startsWith("excel_") || lc.startsWith("pdf_") || lc.startsWith("docx_")
206
- || lc.startsWith("search_");
206
+ || lc.startsWith("search_") || lc.startsWith("memory_")
207
+ || lc === "brain_search" || lc === "source_read";
207
208
  }) ?? false;
208
209
  // Derive output directory from context (per-task output dir for deliverables)
209
210
  const outputDir = ctx?.outputDir;
@@ -271,6 +272,8 @@ export async function buildAgentTools(agentConfig, cwd, prep, ctx) {
271
272
  shell: prep.shell,
272
273
  memoryStore: ctx?.memoryStore,
273
274
  agentName: agentConfig.name,
275
+ brainService: ctx?.brainService,
276
+ brainContext: ctx?.brainContext,
274
277
  // Per-modality models from agent config. When undefined, the
275
278
  // tool layer applies its own DEFAULT_*_MODEL.
276
279
  imageModel: agentConfig.image_model,
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-helpers.js","sourceRoot":"","sources":["../../src/adapters/spawn-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-helpers.js","sourceRoot":"","sources":["../../src/adapters/spawn-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { BrainParserBody } from "@polpo-ai/core/brain";
2
+ export type BrainContentInput = {
3
+ readonly kind: "paste";
4
+ readonly text: string;
5
+ readonly contentType?: string;
6
+ } | {
7
+ readonly kind: "file";
8
+ readonly path: string;
9
+ } | {
10
+ readonly kind: "url";
11
+ readonly url: string;
12
+ };
13
+ export interface BrainLoadedContent {
14
+ readonly body: BrainParserBody;
15
+ readonly contentType: string;
16
+ readonly byteSize: number;
17
+ readonly fileName?: string;
18
+ readonly citationUri?: string;
19
+ }
20
+ export interface BrainDnsAddress {
21
+ readonly address: string;
22
+ readonly family: number;
23
+ }
24
+ export interface BrainSafeFetchInit {
25
+ readonly signal: AbortSignal;
26
+ readonly redirect: "manual";
27
+ readonly headers: Readonly<Record<string, string>>;
28
+ readonly validatedAddresses: readonly string[];
29
+ }
30
+ export type BrainDnsLookup = (hostname: string) => Promise<readonly BrainDnsAddress[]>;
31
+ export type BrainSafeFetch = (url: string, init: BrainSafeFetchInit) => Promise<Response>;
32
+ export interface NodeBrainContentLoaderOptions {
33
+ readonly maxBytes?: number;
34
+ readonly timeoutMs?: number;
35
+ readonly maxRedirects?: number;
36
+ readonly allowedFileRoots?: readonly string[];
37
+ readonly dnsLookup?: BrainDnsLookup;
38
+ readonly fetch?: BrainSafeFetch;
39
+ }
40
+ export declare class NodeBrainContentLoader {
41
+ private readonly maxBytes;
42
+ private readonly timeoutMs;
43
+ private readonly maxRedirects;
44
+ private readonly allowedFileRoots;
45
+ private readonly dnsLookup;
46
+ private readonly fetch;
47
+ constructor(options?: NodeBrainContentLoaderOptions);
48
+ load(input: BrainContentInput): Promise<BrainLoadedContent>;
49
+ private loadPaste;
50
+ private loadFile;
51
+ private validateUrl;
52
+ private loadUrl;
53
+ }
54
+ //# sourceMappingURL=content-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-loader.d.ts","sourceRoot":"","sources":["../../src/brain/content-loader.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAc5D,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAChD;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,kBAAkB,KACrB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;CACjC;AAwPD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;gBAE3B,OAAO,GAAE,6BAAkC;IA6BjD,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMjE,OAAO,CAAC,SAAS;YAmBH,QAAQ;YA8DR,WAAW;YAuDX,OAAO;CAgFtB"}
@@ -0,0 +1,411 @@
1
+ import { lookup as systemLookup } from "node:dns/promises";
2
+ import { lstat, readFile, realpath } from "node:fs/promises";
3
+ import { request as httpRequest } from "node:http";
4
+ import { request as httpsRequest } from "node:https";
5
+ import { isIP } from "node:net";
6
+ import { basename, extname, isAbsolute, relative, resolve } from "node:path";
7
+ import { pathToFileURL } from "node:url";
8
+ import { Readable } from "node:stream";
9
+ import { BrainContentLoadError } from "./errors.js";
10
+ const DEFAULT_MAX_BYTES = 2 * 1024 * 1024;
11
+ const DEFAULT_TIMEOUT_MS = 15_000;
12
+ const DEFAULT_MAX_REDIRECTS = 5;
13
+ const ALLOWED_MIME_TYPES = new Set([
14
+ "text/plain",
15
+ "text/markdown",
16
+ "text/html",
17
+ "application/xhtml+xml",
18
+ "application/json",
19
+ ]);
20
+ function normalizePositiveInteger(value, fallback, name, max) {
21
+ const candidate = value ?? fallback;
22
+ if (!Number.isSafeInteger(candidate) || candidate < 1 || candidate > max) {
23
+ throw new BrainContentLoadError(`${name} must be an integer between 1 and ${max}`, "unsupported_file");
24
+ }
25
+ return candidate;
26
+ }
27
+ function baseMime(value) {
28
+ return value?.split(";", 1)[0]?.trim().toLowerCase() || undefined;
29
+ }
30
+ function isPrivateIpv4(address) {
31
+ const octets = address.split(".").map(Number);
32
+ if (octets.length !== 4
33
+ || octets.some((octet) => !Number.isInteger(octet) || octet < 0 || octet > 255)) {
34
+ return true;
35
+ }
36
+ const [a, b] = octets;
37
+ return (a === 0
38
+ || a === 10
39
+ || a === 127
40
+ || (a === 100 && b >= 64 && b <= 127)
41
+ || (a === 169 && b === 254)
42
+ || (a === 172 && b >= 16 && b <= 31)
43
+ || (a === 192 && b === 0)
44
+ || (a === 192 && b === 88)
45
+ || (a === 192 && b === 168)
46
+ || (a === 198 && (b === 18 || b === 19))
47
+ || (a === 198 && b === 51)
48
+ || (a === 203 && b === 0)
49
+ || a >= 224);
50
+ }
51
+ function isPrivateIpv6(address) {
52
+ const normalized = address.toLowerCase().split("%", 1)[0];
53
+ if (normalized === "::"
54
+ || normalized === "::1"
55
+ || normalized.startsWith("fc")
56
+ || normalized.startsWith("fd")
57
+ || /^fe[89ab]/.test(normalized)
58
+ || normalized.startsWith("ff")) {
59
+ return true;
60
+ }
61
+ const mapped = normalized.match(/::ffff:(\d+\.\d+\.\d+\.\d+)$/)?.[1];
62
+ if (mapped)
63
+ return isPrivateIpv4(mapped);
64
+ const first = Number.parseInt(normalized.split(":", 1)[0] || "0", 16);
65
+ if (!Number.isFinite(first) || first < 0x2000 || first > 0x3fff)
66
+ return true;
67
+ return normalized.startsWith("2001:db8:");
68
+ }
69
+ function isUnsafeAddress(address) {
70
+ const family = isIP(address);
71
+ if (family === 4)
72
+ return isPrivateIpv4(address);
73
+ if (family === 6)
74
+ return isPrivateIpv6(address);
75
+ return true;
76
+ }
77
+ async function defaultDnsLookup(hostname) {
78
+ const result = await systemLookup(hostname, { all: true, verbatim: true });
79
+ return result.map(({ address, family }) => ({ address, family }));
80
+ }
81
+ function pinnedNodeFetch(url, init) {
82
+ return new Promise((resolveResponse, rejectResponse) => {
83
+ const target = new URL(url);
84
+ const address = init.validatedAddresses[0];
85
+ const family = isIP(address);
86
+ if (!address || family === 0) {
87
+ rejectResponse(new Error("No validated network address"));
88
+ return;
89
+ }
90
+ const requestImpl = target.protocol === "https:" ? httpsRequest : httpRequest;
91
+ const request = requestImpl(target, {
92
+ method: "GET",
93
+ headers: { ...init.headers, host: target.host },
94
+ signal: init.signal,
95
+ agent: false,
96
+ lookup: (_hostname, _options, callback) => {
97
+ callback(null, address, family);
98
+ },
99
+ }, (response) => {
100
+ const headers = new Headers();
101
+ for (let index = 0; index < response.rawHeaders.length; index += 2) {
102
+ headers.append(response.rawHeaders[index], response.rawHeaders[index + 1]);
103
+ }
104
+ const status = response.statusCode ?? 500;
105
+ const body = status === 204 || status === 304
106
+ ? null
107
+ : Readable.toWeb(response);
108
+ resolveResponse(new Response(body, {
109
+ status,
110
+ statusText: response.statusMessage,
111
+ headers,
112
+ }));
113
+ });
114
+ request.once("error", rejectResponse);
115
+ request.end();
116
+ });
117
+ }
118
+ function assertTextBytes(bytes) {
119
+ if (bytes.includes(0)) {
120
+ throw new BrainContentLoadError("Brain content is not supported text", "unsupported_mime");
121
+ }
122
+ let text;
123
+ try {
124
+ text = new TextDecoder("utf-8", { fatal: true }).decode(bytes);
125
+ }
126
+ catch (error) {
127
+ throw new BrainContentLoadError("Brain content must be valid UTF-8 text", "unsupported_mime", { cause: error });
128
+ }
129
+ const controls = [...text].filter((character) => {
130
+ const code = character.codePointAt(0) ?? 0;
131
+ return code < 32 && character !== "\n" && character !== "\r" && character !== "\t";
132
+ }).length;
133
+ if (text.length > 0 && controls / text.length > 0.01) {
134
+ throw new BrainContentLoadError("Brain content contains unsupported control data", "unsupported_mime");
135
+ }
136
+ if (!text.trim()) {
137
+ throw new BrainContentLoadError("Brain content is empty", "empty_content");
138
+ }
139
+ return text;
140
+ }
141
+ function sniffMime(text, extension) {
142
+ const trimmed = text.trimStart();
143
+ if (/^<!doctype\s+html/i.test(trimmed)
144
+ || /^<(?:html|head|body|title|main|article|section|div|p|h[1-6])[\s>]/i.test(trimmed)) {
145
+ return "text/html";
146
+ }
147
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
148
+ try {
149
+ JSON.parse(trimmed);
150
+ return "application/json";
151
+ }
152
+ catch {
153
+ // Malformed JSON remains text unless the provider declared JSON.
154
+ }
155
+ }
156
+ if (extension === ".md" || extension === ".markdown")
157
+ return "text/markdown";
158
+ return "text/plain";
159
+ }
160
+ function checkedMime(declared, text) {
161
+ if (declared && !ALLOWED_MIME_TYPES.has(declared)) {
162
+ throw new BrainContentLoadError("Remote Brain content type is not supported", "unsupported_mime");
163
+ }
164
+ const sniffed = sniffMime(text);
165
+ if (declared === "application/json") {
166
+ try {
167
+ JSON.parse(text);
168
+ }
169
+ catch (error) {
170
+ throw new BrainContentLoadError("Remote Brain JSON is malformed", "unsupported_mime", { cause: error });
171
+ }
172
+ }
173
+ if (sniffed === "text/html" || sniffed === "application/json")
174
+ return sniffed;
175
+ return declared ?? sniffed;
176
+ }
177
+ async function readBoundedResponse(response, maxBytes) {
178
+ const declaredLength = response.headers.get("content-length");
179
+ if (declaredLength
180
+ && Number.isFinite(Number(declaredLength))
181
+ && Number(declaredLength) > maxBytes) {
182
+ throw new BrainContentLoadError("Remote Brain content is too large", "content_too_large");
183
+ }
184
+ const encoding = response.headers.get("content-encoding");
185
+ if (encoding && encoding.toLowerCase() !== "identity") {
186
+ throw new BrainContentLoadError("Encoded remote Brain content is not supported", "unsupported_mime");
187
+ }
188
+ if (!response.body)
189
+ return new Uint8Array();
190
+ const reader = response.body.getReader();
191
+ const chunks = [];
192
+ let total = 0;
193
+ try {
194
+ while (true) {
195
+ const { done, value } = await reader.read();
196
+ if (done)
197
+ break;
198
+ total += value.byteLength;
199
+ if (total > maxBytes) {
200
+ await reader.cancel();
201
+ throw new BrainContentLoadError("Remote Brain content is too large", "content_too_large");
202
+ }
203
+ chunks.push(value);
204
+ }
205
+ }
206
+ finally {
207
+ reader.releaseLock();
208
+ }
209
+ const bytes = new Uint8Array(total);
210
+ let offset = 0;
211
+ for (const chunk of chunks) {
212
+ bytes.set(chunk, offset);
213
+ offset += chunk.byteLength;
214
+ }
215
+ return bytes;
216
+ }
217
+ export class NodeBrainContentLoader {
218
+ maxBytes;
219
+ timeoutMs;
220
+ maxRedirects;
221
+ allowedFileRoots;
222
+ dnsLookup;
223
+ fetch;
224
+ constructor(options = {}) {
225
+ this.maxBytes = normalizePositiveInteger(options.maxBytes, DEFAULT_MAX_BYTES, "maxBytes", 128 * 1024 * 1024);
226
+ this.timeoutMs = normalizePositiveInteger(options.timeoutMs, DEFAULT_TIMEOUT_MS, "timeoutMs", 300_000);
227
+ this.maxRedirects = options.maxRedirects ?? DEFAULT_MAX_REDIRECTS;
228
+ if (!Number.isSafeInteger(this.maxRedirects)
229
+ || this.maxRedirects < 0
230
+ || this.maxRedirects > 20) {
231
+ throw new BrainContentLoadError("maxRedirects must be an integer between 0 and 20", "unsupported_file");
232
+ }
233
+ this.allowedFileRoots = Object.freeze([...(options.allowedFileRoots ?? [])]);
234
+ this.dnsLookup = options.dnsLookup ?? defaultDnsLookup;
235
+ this.fetch = options.fetch ?? pinnedNodeFetch;
236
+ }
237
+ async load(input) {
238
+ if (input.kind === "paste")
239
+ return this.loadPaste(input);
240
+ if (input.kind === "file")
241
+ return this.loadFile(input.path);
242
+ return this.loadUrl(input.url);
243
+ }
244
+ loadPaste(input) {
245
+ if (typeof input.text !== "string" || !input.text.trim()) {
246
+ throw new BrainContentLoadError("Brain content is empty", "empty_content");
247
+ }
248
+ const bytes = new TextEncoder().encode(input.text);
249
+ if (bytes.byteLength > this.maxBytes) {
250
+ throw new BrainContentLoadError("Brain content is too large", "content_too_large");
251
+ }
252
+ const contentType = checkedMime(baseMime(input.contentType), input.text);
253
+ return Object.freeze({
254
+ body: Object.freeze({ kind: "text", text: input.text }),
255
+ contentType,
256
+ byteSize: bytes.byteLength,
257
+ });
258
+ }
259
+ async loadFile(path) {
260
+ if (typeof path !== "string" || !path.trim() || !isAbsolute(path)) {
261
+ throw new BrainContentLoadError("Brain file path must be absolute", "unsupported_file");
262
+ }
263
+ let actualPath;
264
+ let roots;
265
+ try {
266
+ [actualPath, roots] = await Promise.all([
267
+ realpath(path),
268
+ Promise.all(this.allowedFileRoots.map((root) => realpath(resolve(root)))),
269
+ ]);
270
+ }
271
+ catch (error) {
272
+ throw new BrainContentLoadError("Brain file is not available", "unsupported_file", { cause: error });
273
+ }
274
+ const insideRoot = roots.some((root) => {
275
+ const child = relative(root, actualPath);
276
+ return child === "" || (!child.startsWith("..") && !isAbsolute(child));
277
+ });
278
+ if (!insideRoot) {
279
+ throw new BrainContentLoadError("Brain file is outside the allowed roots", "file_outside_root");
280
+ }
281
+ const info = await lstat(actualPath);
282
+ if (!info.isFile()) {
283
+ throw new BrainContentLoadError("Brain file must be a regular file", "unsupported_file");
284
+ }
285
+ if (info.size > this.maxBytes) {
286
+ throw new BrainContentLoadError("Brain file is too large", "content_too_large");
287
+ }
288
+ const bytes = await readFile(actualPath);
289
+ if (bytes.byteLength > this.maxBytes) {
290
+ throw new BrainContentLoadError("Brain file is too large", "content_too_large");
291
+ }
292
+ const text = assertTextBytes(bytes);
293
+ const contentType = sniffMime(text, extname(actualPath).toLowerCase());
294
+ return Object.freeze({
295
+ body: Object.freeze({ kind: "text", text }),
296
+ contentType,
297
+ byteSize: bytes.byteLength,
298
+ fileName: basename(actualPath),
299
+ citationUri: pathToFileURL(actualPath).toString(),
300
+ });
301
+ }
302
+ async validateUrl(value) {
303
+ let url;
304
+ try {
305
+ url = new URL(value);
306
+ }
307
+ catch (error) {
308
+ throw new BrainContentLoadError("Remote Brain URL is invalid", "unsafe_url", {
309
+ cause: error,
310
+ });
311
+ }
312
+ if ((url.protocol !== "http:" && url.protocol !== "https:")
313
+ || url.username
314
+ || url.password
315
+ || !url.hostname) {
316
+ throw new BrainContentLoadError("Remote Brain URL is unsafe", "unsafe_url");
317
+ }
318
+ const hostname = url.hostname.replace(/^\[|\]$/g, "").toLowerCase();
319
+ if (hostname === "localhost"
320
+ || hostname.endsWith(".localhost")
321
+ || hostname.endsWith(".local")
322
+ || hostname.endsWith(".internal")) {
323
+ throw new BrainContentLoadError("Remote Brain URL is unsafe", "unsafe_url");
324
+ }
325
+ let resolved;
326
+ if (isIP(hostname)) {
327
+ resolved = [{ address: hostname, family: isIP(hostname) }];
328
+ }
329
+ else {
330
+ try {
331
+ resolved = await this.dnsLookup(hostname);
332
+ }
333
+ catch (error) {
334
+ throw new BrainContentLoadError("Unable to resolve remote Brain host", "fetch_failed", { cause: error });
335
+ }
336
+ }
337
+ if (resolved.length === 0
338
+ || resolved.some(({ address }) => isUnsafeAddress(address))) {
339
+ throw new BrainContentLoadError("Remote Brain URL is unsafe", "unsafe_url");
340
+ }
341
+ return {
342
+ url,
343
+ addresses: Object.freeze([...new Set(resolved.map(({ address }) => address))]),
344
+ };
345
+ }
346
+ async loadUrl(value) {
347
+ let current = value;
348
+ for (let redirectCount = 0;; redirectCount += 1) {
349
+ if (redirectCount > this.maxRedirects) {
350
+ throw new BrainContentLoadError("Remote Brain URL redirected too many times", "too_many_redirects");
351
+ }
352
+ const validated = await this.validateUrl(current);
353
+ const controller = new AbortController();
354
+ const timer = setTimeout(() => controller.abort(), this.timeoutMs);
355
+ try {
356
+ let response;
357
+ try {
358
+ response = await this.fetch(validated.url.toString(), {
359
+ signal: controller.signal,
360
+ redirect: "manual",
361
+ headers: {
362
+ accept: [...ALLOWED_MIME_TYPES].join(", "),
363
+ "accept-encoding": "identity",
364
+ "user-agent": "Polpo-Brain/1",
365
+ },
366
+ validatedAddresses: validated.addresses,
367
+ });
368
+ }
369
+ catch (error) {
370
+ throw new BrainContentLoadError("Unable to load remote Brain content", "fetch_failed", { cause: error });
371
+ }
372
+ if ([301, 302, 303, 307, 308].includes(response.status)) {
373
+ const location = response.headers.get("location");
374
+ await response.body?.cancel();
375
+ if (!location) {
376
+ throw new BrainContentLoadError("Remote Brain redirect is invalid", "fetch_failed");
377
+ }
378
+ current = new URL(location, validated.url).toString();
379
+ continue;
380
+ }
381
+ if (!response.ok) {
382
+ await response.body?.cancel();
383
+ throw new BrainContentLoadError("Unable to load remote Brain content", "fetch_failed");
384
+ }
385
+ const declaredMime = baseMime(response.headers.get("content-type"));
386
+ if (declaredMime && !ALLOWED_MIME_TYPES.has(declaredMime)) {
387
+ await response.body?.cancel();
388
+ throw new BrainContentLoadError("Remote Brain content type is not supported", "unsupported_mime");
389
+ }
390
+ const bytes = await readBoundedResponse(response, this.maxBytes);
391
+ const text = assertTextBytes(bytes);
392
+ const contentType = checkedMime(declaredMime, text);
393
+ return Object.freeze({
394
+ body: Object.freeze({ kind: "text", text }),
395
+ contentType,
396
+ byteSize: bytes.byteLength,
397
+ citationUri: validated.url.toString(),
398
+ });
399
+ }
400
+ catch (error) {
401
+ if (error instanceof BrainContentLoadError)
402
+ throw error;
403
+ throw new BrainContentLoadError("Unable to load remote Brain content", "fetch_failed", { cause: error });
404
+ }
405
+ finally {
406
+ clearTimeout(timer);
407
+ }
408
+ }
409
+ }
410
+ }
411
+ //# sourceMappingURL=content-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-loader.js","sourceRoot":"","sources":["../../src/brain/content-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export type BrainContentLoadErrorCode = "empty_content" | "content_too_large" | "file_outside_root" | "unsupported_file" | "unsupported_mime" | "unsafe_url" | "too_many_redirects" | "fetch_failed";
2
+ export declare class BrainContentLoadError extends Error {
3
+ readonly code: BrainContentLoadErrorCode;
4
+ constructor(message: string, code: BrainContentLoadErrorCode, options?: ErrorOptions);
5
+ }
6
+ export declare class FileBrainStoreCorruptionError extends Error {
7
+ constructor(message?: string, options?: ErrorOptions);
8
+ }
9
+ //# sourceMappingURL=errors.d.ts.map