@lobu/connector-worker 6.0.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.
Files changed (62) hide show
  1. package/README.md +39 -0
  2. package/dist/__tests__/redact.test.d.ts +2 -0
  3. package/dist/__tests__/redact.test.d.ts.map +1 -0
  4. package/dist/__tests__/redact.test.js +135 -0
  5. package/dist/__tests__/redact.test.js.map +1 -0
  6. package/dist/bin.d.ts +11 -0
  7. package/dist/bin.d.ts.map +1 -0
  8. package/dist/bin.js +129 -0
  9. package/dist/bin.js.map +1 -0
  10. package/dist/daemon/client.d.ts +256 -0
  11. package/dist/daemon/client.d.ts.map +1 -0
  12. package/dist/daemon/client.js +152 -0
  13. package/dist/daemon/client.js.map +1 -0
  14. package/dist/daemon/executor.d.ts +25 -0
  15. package/dist/daemon/executor.d.ts.map +1 -0
  16. package/dist/daemon/executor.js +492 -0
  17. package/dist/daemon/executor.js.map +1 -0
  18. package/dist/daemon/index.d.ts +12 -0
  19. package/dist/daemon/index.d.ts.map +1 -0
  20. package/dist/daemon/index.js +9 -0
  21. package/dist/daemon/index.js.map +1 -0
  22. package/dist/daemon/worker.d.ts +54 -0
  23. package/dist/daemon/worker.d.ts.map +1 -0
  24. package/dist/daemon/worker.js +144 -0
  25. package/dist/daemon/worker.js.map +1 -0
  26. package/dist/embeddings.d.ts +9 -0
  27. package/dist/embeddings.d.ts.map +1 -0
  28. package/dist/embeddings.js +126 -0
  29. package/dist/embeddings.js.map +1 -0
  30. package/dist/executor/child-runner.d.ts +9 -0
  31. package/dist/executor/child-runner.d.ts.map +1 -0
  32. package/dist/executor/child-runner.js +317 -0
  33. package/dist/executor/child-runner.js.map +1 -0
  34. package/dist/executor/interface.d.ts +45 -0
  35. package/dist/executor/interface.d.ts.map +1 -0
  36. package/dist/executor/interface.js +2 -0
  37. package/dist/executor/interface.js.map +1 -0
  38. package/dist/executor/redact.d.ts +28 -0
  39. package/dist/executor/redact.d.ts.map +1 -0
  40. package/dist/executor/redact.js +108 -0
  41. package/dist/executor/redact.js.map +1 -0
  42. package/dist/executor/runtime.d.ts +45 -0
  43. package/dist/executor/runtime.d.ts.map +1 -0
  44. package/dist/executor/runtime.js +82 -0
  45. package/dist/executor/runtime.js.map +1 -0
  46. package/dist/executor/subprocess.d.ts +46 -0
  47. package/dist/executor/subprocess.d.ts.map +1 -0
  48. package/dist/executor/subprocess.js +378 -0
  49. package/dist/executor/subprocess.js.map +1 -0
  50. package/dist/index.d.ts +13 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +12 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/runtime-deps.d.ts +33 -0
  55. package/dist/runtime-deps.d.ts.map +1 -0
  56. package/dist/runtime-deps.js +48 -0
  57. package/dist/runtime-deps.js.map +1 -0
  58. package/dist/types.d.ts +2 -0
  59. package/dist/types.d.ts.map +1 -0
  60. package/dist/types.js +2 -0
  61. package/dist/types.js.map +1 -0
  62. package/package.json +70 -0
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Single source of truth for npm packages that connector code may import but
3
+ * which we deliberately do NOT bundle into the compiled connector artifact.
4
+ *
5
+ * These deps must be installed in every runtime that executes compiled
6
+ * connectors — the server container that hosts in-process feed sync,
7
+ * and the connector-worker daemon that runs out-of-process. They appear in:
8
+ *
9
+ * - `server/src/utils/connector-compiler.ts` `external` list
10
+ * (esbuild leaves the imports as bare specifiers in the bundle)
11
+ * - `packages/connector-worker/package.json` dependencies (so the runtime can
12
+ * resolve them)
13
+ * - `assertExternalDepsResolvable()` (boot-time check that crashes loud
14
+ * instead of failing silently per-feed)
15
+ *
16
+ * Rule of thumb: only externalize deps that genuinely can't be bundled —
17
+ * native binaries (`sharp`, `jimp`) or runtime install steps
18
+ * (`playwright` ships browsers via `npx playwright install`). Pure JS deps
19
+ * like `pino` or `link-preview-js` should be bundled instead, even if it
20
+ * costs a few hundred KB per connector — bundling eliminates the entire
21
+ * class of "compiled connector references X but X isn't installed in the
22
+ * worker image" outages.
23
+ */
24
+ export const EXTERNAL_RUNTIME_DEPS = ['playwright', 'sharp', 'jimp'];
25
+ /**
26
+ * Verify that every external runtime dep is resolvable from the current
27
+ * process. Call this once at startup of any service that executes compiled
28
+ * connectors. Throws (so the process crashes) instead of letting individual
29
+ * feed runs fail with `Missing npm dependency: X`.
30
+ */
31
+ export function assertExternalDepsResolvable(resolve) {
32
+ const missing = [];
33
+ for (const dep of EXTERNAL_RUNTIME_DEPS) {
34
+ try {
35
+ resolve(dep);
36
+ }
37
+ catch {
38
+ missing.push(dep);
39
+ }
40
+ }
41
+ if (missing.length > 0) {
42
+ throw new Error(`Connector runtime is missing required npm packages: ${missing.join(', ')}. ` +
43
+ `These are declared in EXTERNAL_RUNTIME_DEPS (packages/connector-worker/src/runtime-deps.ts) ` +
44
+ `and must be installed in every runtime that executes compiled connectors. ` +
45
+ `Add them to packages/connector-worker/package.json and rebuild the runtime image.`);
46
+ }
47
+ }
48
+ //# sourceMappingURL=runtime-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-deps.js","sourceRoot":"","sources":["../src/runtime-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAI9E;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAoC;IAEpC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,uDAAuD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC3E,8FAA8F;YAC9F,4EAA4E;YAC5E,mFAAmF,CACtF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { Env } from '@lobu/connector-sdk';
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "@lobu/connector-worker",
3
+ "version": "6.0.1",
4
+ "description": "Self-hosted worker for Lobu memory — connectors and embedding generation",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "connector-worker": "./dist/bin.js"
10
+ },
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.js",
14
+ "types": "./dist/index.d.ts",
15
+ "default": "./dist/index.js"
16
+ },
17
+ "./daemon": {
18
+ "import": "./dist/daemon/index.js",
19
+ "types": "./dist/daemon/index.d.ts"
20
+ },
21
+ "./embeddings": {
22
+ "import": "./dist/embeddings.js",
23
+ "types": "./dist/embeddings.d.ts"
24
+ }
25
+ },
26
+ "files": [
27
+ "dist",
28
+ "README.md"
29
+ ],
30
+ "scripts": {
31
+ "build": "tsc",
32
+ "dev": "tsx watch --tsconfig tsconfig.json src/bin.ts",
33
+ "start": "node dist/bin.js",
34
+ "daemon": "tsx --tsconfig tsconfig.json src/bin.ts daemon",
35
+ "typecheck": "tsc --noEmit",
36
+ "clean": "rm -rf dist"
37
+ },
38
+ "dependencies": {
39
+ "@lobu/connector-sdk": "6.0.1",
40
+ "@lobu/worker": "6.0.1",
41
+ "@xenova/transformers": "^2.17.2",
42
+ "jimp": "^1.6.0",
43
+ "playwright": "npm:patchright@^1.57.0",
44
+ "sharp": "^0.34.4"
45
+ },
46
+ "devDependencies": {
47
+ "@types/node": "^20.10.0",
48
+ "tsx": "^4.7.0",
49
+ "typescript": "^5.3.3"
50
+ },
51
+ "engines": {
52
+ "node": ">=18"
53
+ },
54
+ "keywords": [
55
+ "worker",
56
+ "connector",
57
+ "embedding",
58
+ "content",
59
+ "user-research"
60
+ ],
61
+ "license": "BUSL-1.1",
62
+ "repository": {
63
+ "type": "git",
64
+ "url": "git+https://github.com/lobu-ai/lobu.git",
65
+ "directory": "packages/connector-worker"
66
+ },
67
+ "publishConfig": {
68
+ "access": "public"
69
+ }
70
+ }