@lobu/cli 6.1.1 → 7.0.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 (100) hide show
  1. package/dist/commands/_lib/apply/apply-cmd.d.ts +36 -0
  2. package/dist/commands/_lib/apply/apply-cmd.d.ts.map +1 -1
  3. package/dist/commands/_lib/apply/apply-cmd.js +548 -40
  4. package/dist/commands/_lib/apply/apply-cmd.js.map +1 -1
  5. package/dist/commands/_lib/apply/client.d.ts +179 -0
  6. package/dist/commands/_lib/apply/client.d.ts.map +1 -1
  7. package/dist/commands/_lib/apply/client.js +308 -28
  8. package/dist/commands/_lib/apply/client.js.map +1 -1
  9. package/dist/commands/_lib/apply/desired-state.d.ts +134 -3
  10. package/dist/commands/_lib/apply/desired-state.d.ts.map +1 -1
  11. package/dist/commands/_lib/apply/desired-state.js +700 -86
  12. package/dist/commands/_lib/apply/desired-state.js.map +1 -1
  13. package/dist/commands/_lib/apply/diff.d.ts +61 -3
  14. package/dist/commands/_lib/apply/diff.d.ts.map +1 -1
  15. package/dist/commands/_lib/apply/diff.js +382 -92
  16. package/dist/commands/_lib/apply/diff.js.map +1 -1
  17. package/dist/commands/_lib/apply/prompt.d.ts +6 -0
  18. package/dist/commands/_lib/apply/prompt.d.ts.map +1 -1
  19. package/dist/commands/_lib/apply/prompt.js +16 -0
  20. package/dist/commands/_lib/apply/prompt.js.map +1 -1
  21. package/dist/commands/_lib/apply/render.d.ts +9 -0
  22. package/dist/commands/_lib/apply/render.d.ts.map +1 -1
  23. package/dist/commands/_lib/apply/render.js +80 -3
  24. package/dist/commands/_lib/apply/render.js.map +1 -1
  25. package/dist/commands/chat.d.ts.map +1 -1
  26. package/dist/commands/chat.js +9 -2
  27. package/dist/commands/chat.js.map +1 -1
  28. package/dist/commands/dev.d.ts +8 -0
  29. package/dist/commands/dev.d.ts.map +1 -1
  30. package/dist/commands/dev.js +118 -5
  31. package/dist/commands/dev.js.map +1 -1
  32. package/dist/commands/eval.d.ts.map +1 -1
  33. package/dist/commands/eval.js +16 -5
  34. package/dist/commands/eval.js.map +1 -1
  35. package/dist/commands/init.d.ts +2 -0
  36. package/dist/commands/init.d.ts.map +1 -1
  37. package/dist/commands/init.js +24 -0
  38. package/dist/commands/init.js.map +1 -1
  39. package/dist/commands/memory/_lib/schema.d.ts +28 -1
  40. package/dist/commands/memory/_lib/schema.d.ts.map +1 -1
  41. package/dist/commands/memory/_lib/schema.js +120 -4
  42. package/dist/commands/memory/_lib/schema.js.map +1 -1
  43. package/dist/commands/memory/_lib/seed-cmd.d.ts.map +1 -1
  44. package/dist/commands/memory/_lib/seed-cmd.js +41 -18
  45. package/dist/commands/memory/_lib/seed-cmd.js.map +1 -1
  46. package/dist/commands/org.d.ts +4 -0
  47. package/dist/commands/org.d.ts.map +1 -1
  48. package/dist/commands/org.js +10 -0
  49. package/dist/commands/org.js.map +1 -1
  50. package/dist/commands/token.d.ts +9 -0
  51. package/dist/commands/token.d.ts.map +1 -1
  52. package/dist/commands/token.js +54 -0
  53. package/dist/commands/token.js.map +1 -1
  54. package/dist/connectors/README.md +2 -2
  55. package/dist/connectors/apple_health.ts +138 -0
  56. package/dist/connectors/apple_screen_time.ts +82 -0
  57. package/dist/connectors/browser-scraper-utils.ts +35 -3
  58. package/dist/connectors/capterra.ts +5 -1
  59. package/dist/connectors/g2.ts +5 -1
  60. package/dist/connectors/github.ts +15 -38
  61. package/dist/connectors/glassdoor.ts +5 -1
  62. package/dist/connectors/google_calendar.ts +14 -4
  63. package/dist/connectors/google_gmail.ts +6 -3
  64. package/dist/connectors/google_play.ts +10 -3
  65. package/dist/connectors/index.ts +5 -0
  66. package/dist/connectors/linkedin.ts +32 -9
  67. package/dist/connectors/local_directory.ts +91 -0
  68. package/dist/connectors/revolut.ts +572 -0
  69. package/dist/connectors/trustpilot.ts +5 -1
  70. package/dist/connectors/website.ts +1 -1
  71. package/dist/connectors/whatsapp.ts +9 -1
  72. package/dist/connectors/whatsapp_local.ts +125 -0
  73. package/dist/connectors/x.ts +17 -7
  74. package/dist/db/migrations/20260510220000_connector_required_capability.sql +47 -0
  75. package/dist/db/migrations/20260512000000_device_worker_connection_binding.sql +113 -0
  76. package/dist/db/migrations/20260512131703_connections_slug.sql +131 -0
  77. package/dist/db/migrations/20260513000000_chat_user_identities.sql +24 -0
  78. package/dist/db/migrations/20260513120000_auth_profiles_device_binding.sql +50 -0
  79. package/dist/db/migrations/20260513150000_auth_profiles_cdp_url.sql +43 -0
  80. package/dist/db/migrations/20260513200000_notifications_as_events.sql +86 -0
  81. package/dist/db/migrations/20260514000000_scheduled_jobs.sql +97 -0
  82. package/dist/db/migrations/20260514120000_auth_profiles_connector_key_nullable.sql +42 -0
  83. package/dist/eval/types.d.ts +2 -0
  84. package/dist/eval/types.d.ts.map +1 -1
  85. package/dist/index.d.ts +11 -0
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +68 -114
  88. package/dist/index.js.map +1 -1
  89. package/dist/internal/gateway-url.d.ts +14 -0
  90. package/dist/internal/gateway-url.d.ts.map +1 -1
  91. package/dist/internal/gateway-url.js +19 -0
  92. package/dist/internal/gateway-url.js.map +1 -1
  93. package/dist/internal/index.d.ts +1 -1
  94. package/dist/internal/index.d.ts.map +1 -1
  95. package/dist/internal/index.js +1 -1
  96. package/dist/internal/index.js.map +1 -1
  97. package/dist/server.bundle.mjs +32494 -30475
  98. package/dist/start-local.bundle.mjs +10840 -7912
  99. package/dist/templates/TESTING.md.tmpl +9 -9
  100. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"seed-cmd.js","sourceRoot":"","sources":["../../../../src/commands/memory/_lib/seed-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed-cmd.js","sourceRoot":"","sources":["../../../../src/commands/memory/_lib/seed-cmd.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,8 @@ export declare function orgCurrentCommand(options?: {
7
7
  export declare function orgSetCommand(slug: string, options?: {
8
8
  context?: string;
9
9
  }): Promise<void>;
10
+ export declare function orgCreateCommand(slug: string, options?: {
11
+ name?: string;
12
+ context?: string;
13
+ }): Promise<void>;
10
14
  //# sourceMappingURL=org.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/commands/org.ts"],"names":[],"mappings":"AAQA,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAahB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAMf"}
1
+ {"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/commands/org.ts"],"names":[],"mappings":"AASA,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAahB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -1,4 +1,5 @@
1
1
  import chalk from "chalk";
2
+ import open from "open";
2
3
  import { getActiveOrg, listOrganizations, resolveContext, setActiveOrg, } from "../internal/index.js";
3
4
  export async function orgListCommand(options) {
4
5
  const target = await resolveContext(options?.context);
@@ -31,4 +32,13 @@ export async function orgSetCommand(slug, options) {
31
32
  await setActiveOrg(slug, target.name);
32
33
  console.log(chalk.green(`\n Active org for context ${target.name} set to ${slug}\n`));
33
34
  }
35
+ export async function orgCreateCommand(slug, options) {
36
+ const target = await resolveContext(options?.context);
37
+ const origin = new URL(target.apiUrl).origin;
38
+ const name = options?.name?.trim() || slug;
39
+ const url = `${origin}/orgs/new?slug=${encodeURIComponent(slug)}&name=${encodeURIComponent(name)}`;
40
+ console.log(chalk.bold(`\n Opening ${url}`) +
41
+ chalk.dim("\n (paste it into your browser if it doesn't open)\n"));
42
+ await open(url).catch(() => undefined);
43
+ }
34
44
  //# sourceMappingURL=org.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/commands/org.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAEpC;IACC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAE/D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAEvC;IACC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,qCAAqC,MAAM,CAAC,IAAI,kCAAkC,CACnF,CACF,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,OAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,CAC1E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/commands/org.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,14 @@ export declare function tokenCommand(options: {
13
13
  raw?: boolean;
14
14
  }): Promise<void>;
15
15
  export declare function tokenCreateCommand(options: TokenCreateOptions): Promise<void>;
16
+ /**
17
+ * Revoke a token by its `jti`. Inserts a row into `public.revoked_tokens`
18
+ * (created on demand) — the gateway's RevokedTokenStore checks this on every
19
+ * worker-token / settings-cookie verification, so the token is dead within
20
+ * one cache TTL (≤60s).
21
+ */
22
+ export declare function tokenRevokeCommand(jti: string, options: {
23
+ expiresAt?: string;
24
+ }): Promise<void>;
16
25
  export {};
17
26
  //# sourceMappingURL=token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/commands/token.ts"],"names":[],"mappings":"AAIA,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAYD,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBhB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA4Cf"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/commands/token.ts"],"names":[],"mappings":"AAKA,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAYD,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBhB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAMD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,OAAO,CAAC,IAAI,CAAC,CAsDf"}
@@ -1,4 +1,5 @@
1
1
  import chalk from "chalk";
2
+ import postgres from "postgres";
2
3
  import { getToken, resolveContext } from "../internal/index.js";
3
4
  import { resolveApiClient } from "../internal/api-client.js";
4
5
  export async function tokenCommand(options) {
@@ -52,4 +53,57 @@ export async function tokenCreateCommand(options) {
52
53
  function defaultTokenName() {
53
54
  return `lobu-cli-${new Date().toISOString().slice(0, 10)}`;
54
55
  }
56
+ /**
57
+ * Revoke a token by its `jti`. Inserts a row into `public.revoked_tokens`
58
+ * (created on demand) — the gateway's RevokedTokenStore checks this on every
59
+ * worker-token / settings-cookie verification, so the token is dead within
60
+ * one cache TTL (≤60s).
61
+ */
62
+ export async function tokenRevokeCommand(jti, options) {
63
+ jti = jti.trim();
64
+ if (!jti) {
65
+ console.error(chalk.red("\n Missing <jti>.\n"));
66
+ process.exitCode = 1;
67
+ return;
68
+ }
69
+ const databaseUrl = process.env.DATABASE_URL?.trim();
70
+ if (!databaseUrl) {
71
+ console.error(chalk.red("\n DATABASE_URL is not set. Run this from the same environment as the gateway.\n"));
72
+ process.exitCode = 1;
73
+ return;
74
+ }
75
+ let expiresAt;
76
+ if (options.expiresAt) {
77
+ expiresAt = new Date(options.expiresAt);
78
+ if (Number.isNaN(expiresAt.getTime())) {
79
+ console.error(chalk.red("\n --expires-at must be a valid ISO date.\n"));
80
+ process.exitCode = 1;
81
+ return;
82
+ }
83
+ }
84
+ else {
85
+ expiresAt = new Date(Date.now() + 24 * 60 * 60 * 1000);
86
+ }
87
+ const sql = postgres(databaseUrl, { max: 1 });
88
+ try {
89
+ await sql.unsafe(`
90
+ CREATE TABLE IF NOT EXISTS public.revoked_tokens (
91
+ jti text PRIMARY KEY,
92
+ expires_at timestamptz NOT NULL
93
+ )
94
+ `);
95
+ await sql `
96
+ INSERT INTO public.revoked_tokens (jti, expires_at)
97
+ VALUES (${jti}, ${expiresAt})
98
+ ON CONFLICT (jti) DO UPDATE SET expires_at = GREATEST(public.revoked_tokens.expires_at, EXCLUDED.expires_at)
99
+ `;
100
+ }
101
+ finally {
102
+ await sql.end({ timeout: 5 });
103
+ }
104
+ console.log(chalk.cyan("\n Token revoked"));
105
+ console.log(chalk.dim(` jti: ${jti}`));
106
+ console.log(chalk.dim(` expires: ${expiresAt.toISOString()}`));
107
+ console.log(chalk.dim(" Effective within ~60s (gateway revocation cache TTL).\n"));
108
+ }
55
109
  //# sourceMappingURL=token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/commands/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/commands/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAuB7D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAGlC;IACC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,CAAC;QAC9D,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,gBAAgB,EAAE,CAAC;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,oBAAoB,CAAC;IAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,QAAQ,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAC5C;QACE,IAAI;QACJ,KAAK;QACL,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;KACR,CACF,CAAC;IAEF,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,cAAc,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CACxG,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CACrE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,YAAY,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAW,EACX,OAA+B;IAE/B,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,mFAAmF,CACpF,CACF,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,SAAe,CAAC;IACpB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;KAKhB,CAAC,CAAC;QACH,MAAM,GAAG,CAAA;;gBAEG,GAAG,KAAK,SAAS;;KAE5B,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CACvE,CAAC;AACJ,CAAC"}
@@ -465,7 +465,7 @@ Browser connectors use `patchright` (an npm alias for Playwright). The SDK also
465
465
 
466
466
  Connector code runs in a worker subprocess with a restricted environment. Key things to know:
467
467
 
468
- - **Minimal env vars**: Only `PATH`, `HOME`, `TMPDIR`, `TZ`, `NODE_ENV`, and `NODE_PATH` are available. No access to the host's env vars.
468
+ - **Minimal env vars**: Only `PATH`, `HOME`, `TMPDIR`, `TZ`, `NODE_ENV`, `NODE_PATH`, and `PLAYWRIGHT_BROWSERS_PATH` are available. No access to the host's env vars.
469
469
  - **Secrets via ctx**: API keys and tokens flow through `ctx.credentials` and `ctx.config`, not environment variables. The `env_keys` auth method stores secrets on auth profiles, and the platform injects them into `ctx.config` at sync time.
470
470
  - **No filesystem persistence**: Don't write to disk expecting it to survive between syncs. Use `checkpoint` for state.
471
471
 
@@ -506,7 +506,7 @@ Connectors can also be installed manually via `client.connections.installConnect
506
506
  2. If `compiled_code` is NULL (bundled connectors), it compiles from `connectors/{source_path}` on disk via esbuild
507
507
  3. The compiled code is sent to the worker, written to a temp file (`.connector-child-{pid}.mjs`), and loaded via dynamic `import()`
508
508
  4. Each sync/action runs in an **isolated child process** with a 10-minute timeout and 512MB memory limit
509
- 5. The child process has a restricted environment — only `PATH`, `HOME`, `TMPDIR`, `TZ`, `NODE_ENV`, and `PLAYWRIGHT_BROWSERS_PATH` are available as env vars
509
+ 5. The child process has a restricted environment — only `PATH`, `HOME`, `TMPDIR`, `TZ`, `NODE_ENV`, `NODE_PATH`, and `PLAYWRIGHT_BROWSERS_PATH` are available as env vars
510
510
  6. Secrets flow through `ctx.credentials` and `ctx.config`, not environment variables
511
511
 
512
512
  This means edits to `.ts` files in `connectors/` take effect on the next sync without reinstalling.
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Apple Health Connector (V1 runtime) — Lobu device app.
3
+ *
4
+ * Runs on a device bridge with HealthKit access. On iOS this reads the phone's
5
+ * Health store directly; on supported macOS installs HealthKit exposes the
6
+ * per-user store synced from iPhone and Apple Watch via iCloud Health. The
7
+ * Lobu device bridge holds the HealthKit entitlement, requests read permission
8
+ * once via a system sheet, and queries:
9
+ *
10
+ * - `daily_summaries`: daily totals for steps, distance, active energy,
11
+ * exercise minutes, and resting heart rate.
12
+ * - `workouts`: individual workout sessions (type, duration, energy, distance).
13
+ *
14
+ * The connector DEFINITION (feeds, event kinds, options) is the source of truth
15
+ * for what data ends up in Lobu and how it's shaped. The EXECUTION lives in the
16
+ * Lobu device app, which polls /api/workers/* as a user-scoped worker
17
+ * advertising the `healthkit` capability and streams events back through the
18
+ * standard worker protocol — same `runs` lifecycle as every other connector.
19
+ *
20
+ * The TS sync()/execute() here are safety stubs: if a server-side worker
21
+ * somehow bypassed the capability gate (`required_capability='healthkit'`),
22
+ * the run would throw immediately instead of silently producing no events.
23
+ */
24
+
25
+ import {
26
+ type ActionResult,
27
+ type ConnectorDefinition,
28
+ ConnectorRuntime,
29
+ type SyncContext,
30
+ type SyncResult,
31
+ } from '@lobu/connector-sdk';
32
+
33
+ const BRIDGE_ONLY_MESSAGE =
34
+ 'apple.health runs only on a worker advertising capability "healthkit" (Lobu with Apple Health permission). ' +
35
+ 'This run was claimed by a worker without that capability — check connector_definitions.required_capability and the poll-time capability filter.';
36
+
37
+ export default class AppleHealthConnector extends ConnectorRuntime {
38
+ readonly definition: ConnectorDefinition = {
39
+ key: 'apple.health',
40
+ name: 'Apple Health',
41
+ description:
42
+ 'Sync Apple Health daily activity summaries and workouts from Lobu on your device. ' +
43
+ 'macOS reads HealthKit data synced from the user\'s iPhone (and Apple Watch) via iCloud Health.',
44
+ version: '0.1.0',
45
+ faviconDomain: 'apple.com',
46
+ requiredCapability: 'healthkit',
47
+ runtime: {
48
+ platforms: ['ios', 'macos'],
49
+ scopes: ['steps', 'distance', 'active-calories', 'exercise-minutes', 'workouts', 'resting-heart-rate'],
50
+ },
51
+ authSchema: {
52
+ methods: [{ type: 'none' }],
53
+ },
54
+ feeds: {
55
+ daily_summaries: {
56
+ key: 'daily_summaries',
57
+ name: 'Daily summaries',
58
+ description:
59
+ 'Daily Apple Health activity summaries: steps, distance, active energy, ' +
60
+ 'exercise minutes, and resting heart rate.',
61
+ configSchema: {
62
+ type: 'object',
63
+ properties: {
64
+ backfill_days: {
65
+ type: 'integer',
66
+ minimum: 1,
67
+ maximum: 3650,
68
+ default: 30,
69
+ description: 'How many days the bridge backfills on a fresh sync (incremental syncs only re-query changed days).',
70
+ },
71
+ },
72
+ },
73
+ eventKinds: {
74
+ health_daily_summary: {
75
+ description: 'A daily summary of Apple Health activity data.',
76
+ metadataSchema: {
77
+ type: 'object',
78
+ required: ['source', 'origin_id', 'date'],
79
+ properties: {
80
+ source: { type: 'string', const: 'apple_health' },
81
+ origin_id: { type: 'string' },
82
+ date: { type: 'string', format: 'date' },
83
+ steps: { type: 'number' },
84
+ distance_m: { type: 'number' },
85
+ active_energy_kcal: { type: 'number' },
86
+ exercise_minutes: { type: 'number' },
87
+ resting_heart_rate_bpm: { type: ['number', 'null'] },
88
+ },
89
+ },
90
+ },
91
+ },
92
+ },
93
+ workouts: {
94
+ key: 'workouts',
95
+ name: 'Workouts',
96
+ description: 'Workout sessions recorded in Apple Health.',
97
+ configSchema: {
98
+ type: 'object',
99
+ properties: {
100
+ backfill_days: {
101
+ type: 'integer',
102
+ minimum: 1,
103
+ maximum: 3650,
104
+ default: 30,
105
+ description: 'How many days the bridge backfills on a fresh sync.',
106
+ },
107
+ },
108
+ },
109
+ eventKinds: {
110
+ health_workout: {
111
+ description: 'A workout recorded in Apple Health.',
112
+ metadataSchema: {
113
+ type: 'object',
114
+ required: ['source', 'origin_id', 'workout_type'],
115
+ properties: {
116
+ source: { type: 'string', const: 'apple_health' },
117
+ origin_id: { type: 'string' },
118
+ workout_type: { type: 'string' },
119
+ started_at: { type: 'string' },
120
+ duration_s: { type: 'number' },
121
+ active_energy_kcal: { type: ['number', 'null'] },
122
+ distance_m: { type: ['number', 'null'] },
123
+ },
124
+ },
125
+ },
126
+ },
127
+ },
128
+ },
129
+ };
130
+
131
+ async sync(_ctx: SyncContext): Promise<SyncResult> {
132
+ throw new Error(BRIDGE_ONLY_MESSAGE);
133
+ }
134
+
135
+ async execute(): Promise<ActionResult> {
136
+ throw new Error(BRIDGE_ONLY_MESSAGE);
137
+ }
138
+ }
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Apple Screen Time Connector (V1 runtime) — Lobu for Mac only.
3
+ *
4
+ * Runs on Lobu for Mac, which reads `~/Library/Application Support/
5
+ * Knowledge/knowledgeC.db` (the on-device Knowledge store backing Apple's
6
+ * Settings → Screen Time UI). With Full Disk Access granted, the Mac can
7
+ * pull per-app foreground time by day for both Mac usage and (if the user
8
+ * enables Screen Time iCloud sync) iOS usage.
9
+ *
10
+ * iOS does NOT advertise the `screentime` capability — Apple's
11
+ * FamilyControls + DeviceActivityReport design prevents per-app data from
12
+ * leaving the device on iOS. The Mac path is the workable one.
13
+ */
14
+
15
+ import {
16
+ type ActionResult,
17
+ type ConnectorDefinition,
18
+ ConnectorRuntime,
19
+ type SyncContext,
20
+ type SyncResult,
21
+ } from '@lobu/connector-sdk';
22
+
23
+ const BRIDGE_ONLY =
24
+ 'Apple Screen Time runs only on a worker advertising capability "screentime" (Lobu for Mac with Full Disk Access).';
25
+
26
+ export default class AppleScreenTimeConnector extends ConnectorRuntime {
27
+ readonly definition: ConnectorDefinition = {
28
+ key: 'apple.screen_time',
29
+ name: 'Apple Screen Time',
30
+ description:
31
+ 'Daily per-app usage totals from Lobu for Mac, sourced from the Apple Knowledge store. Captures both Mac usage and (if Screen Time iCloud sync is on) the user\'s iOS device usage.',
32
+ version: '0.1.0',
33
+ faviconDomain: 'apple.com',
34
+ requiredCapability: 'screentime',
35
+ runtime: { platforms: ['macos'] },
36
+ authSchema: { methods: [{ type: 'none' }] },
37
+ feeds: {
38
+ daily_app_usage: {
39
+ key: 'daily_app_usage',
40
+ name: 'Daily app usage',
41
+ description:
42
+ 'Per-day total foreground time for each application (identified by bundle id).',
43
+ configSchema: {
44
+ type: 'object',
45
+ properties: {
46
+ backfill_days: {
47
+ type: 'integer',
48
+ minimum: 1,
49
+ maximum: 90,
50
+ default: 14,
51
+ description: 'How many days the bridge should backfill on each sync.',
52
+ },
53
+ },
54
+ },
55
+ eventKinds: {
56
+ screen_time_daily_app: {
57
+ description: 'Total time the user spent in one application on a given day.',
58
+ metadataSchema: {
59
+ type: 'object',
60
+ required: ['source', 'origin_id', 'date', 'bundle_id', 'seconds'],
61
+ properties: {
62
+ source: { type: 'string', const: 'apple_screen_time' },
63
+ origin_id: { type: 'string' },
64
+ date: { type: 'string', format: 'date' },
65
+ bundle_id: { type: 'string' },
66
+ seconds: { type: 'number', minimum: 0 },
67
+ },
68
+ },
69
+ },
70
+ },
71
+ },
72
+ },
73
+ };
74
+
75
+ async sync(_ctx: SyncContext): Promise<SyncResult> {
76
+ throw new Error(BRIDGE_ONLY);
77
+ }
78
+
79
+ async execute(): Promise<ActionResult> {
80
+ throw new Error(BRIDGE_ONLY);
81
+ }
82
+ }
@@ -24,12 +24,42 @@ export function getBrowserCookies(
24
24
  ): any[] {
25
25
  const sessionCookies = (sessionState?.cookies as any[]) ?? [];
26
26
  const cookies = (checkpoint as any)?.cookies ?? sessionCookies;
27
- if (!cookies || cookies.length === 0) {
27
+ // Device-bound browser profiles ship cookies via --user-data-dir on disk
28
+ // rather than this jsonb blob; the persistent context loads them itself.
29
+ if ((!cookies || cookies.length === 0) && !sessionState?.user_data_dir) {
28
30
  throw new Error(
29
31
  `No browser cookies found. Run: lobu memory browser-auth --connector ${connectorKey} --auth-profile-slug <SLUG>`
30
32
  );
31
33
  }
32
- return cookies;
34
+ return cookies ?? [];
35
+ }
36
+
37
+ /**
38
+ * Pull the device-bound managed --user-data-dir from session_state, if the
39
+ * connection's auth profile is owned by a device worker. When set, callers
40
+ * should pass it to openStealthBrowser instead of relying on the cookies/CDP
41
+ * cascade — Chrome reads cookies from that profile dir directly.
42
+ */
43
+ export function getBrowserUserDataDir(
44
+ sessionState: Record<string, unknown> | null | undefined
45
+ ): string | undefined {
46
+ const value = sessionState?.user_data_dir;
47
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
48
+ }
49
+
50
+ /**
51
+ * Pull the device-bound CDP endpoint URL from session_state (set when the
52
+ * user picked "Attach via CDP" mode on their browser profile). When set,
53
+ * callers should pass it through as `cdpUrl` so the connector attaches to
54
+ * the exact running Chrome the user chose — instead of `'auto'`, which can
55
+ * land on the wrong browser when several debuggable Chromiums are running
56
+ * or a non-default port was configured.
57
+ */
58
+ export function getBrowserCdpUrl(
59
+ sessionState: Record<string, unknown> | null | undefined
60
+ ): string | undefined {
61
+ const value = sessionState?.cdp_url;
62
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
33
63
  }
34
64
 
35
65
  export function validateCookieNotExpired(
@@ -103,12 +133,14 @@ export async function openStealthBrowser(opts?: {
103
133
  cdpUrl?: string | 'auto' | null;
104
134
  cookies?: Cookie[];
105
135
  authDomains?: string[];
136
+ userDataDir?: string;
106
137
  }): Promise<BrowserSession> {
107
138
  const acquired = await acquireBrowser({
108
- cdpUrl: opts?.cdpUrl ?? null,
139
+ cdpUrl: opts?.userDataDir ? null : (opts?.cdpUrl ?? null),
109
140
  cookies: opts?.cookies ?? [],
110
141
  authDomains: opts?.authDomains ?? [],
111
142
  stealth: true,
143
+ userDataDir: opts?.userDataDir,
112
144
  });
113
145
 
114
146
  const page = acquired.cdpPage ?? acquired.page;
@@ -14,6 +14,8 @@ import {
14
14
  type SyncResult,
15
15
  } from '@lobu/connector-sdk';
16
16
  import {
17
+ getBrowserCdpUrl,
18
+ getBrowserUserDataDir,
17
19
  handleCookieConsent,
18
20
  openStealthBrowser,
19
21
  validateUrlDomain,
@@ -132,7 +134,9 @@ export default class CapterraConnector extends ConnectorRuntime {
132
134
  : `https://www.capterra.com/p/${productId}/reviews`;
133
135
  validateUrlDomain(baseUrl, 'capterra.com');
134
136
 
135
- const session = await openStealthBrowser({ cdpUrl: 'auto' });
137
+ const userDataDir = getBrowserUserDataDir(ctx.sessionState);
138
+ const cdpUrl = getBrowserCdpUrl(ctx.sessionState) ?? 'auto';
139
+ const session = await openStealthBrowser({ cdpUrl, userDataDir });
136
140
 
137
141
  return withBrowserErrorCapture(session, 'capterra-sync', async (page) => {
138
142
  await page.goto(baseUrl, { waitUntil: 'domcontentloaded', timeout: 30000 });
@@ -15,6 +15,8 @@ import {
15
15
  type SyncResult,
16
16
  } from '@lobu/connector-sdk';
17
17
  import {
18
+ getBrowserCdpUrl,
19
+ getBrowserUserDataDir,
18
20
  handleCookieConsent,
19
21
  openStealthBrowser,
20
22
  validateUrlDomain,
@@ -114,7 +116,9 @@ export default class G2Connector extends ConnectorRuntime {
114
116
  const baseUrl = productUrl;
115
117
  const allEvents: EventEnvelope[] = [];
116
118
 
117
- const session = await openStealthBrowser({ cdpUrl: 'auto' });
119
+ const userDataDir = getBrowserUserDataDir(ctx.sessionState);
120
+ const cdpUrl = getBrowserCdpUrl(ctx.sessionState) ?? 'auto';
121
+ const session = await openStealthBrowser({ cdpUrl, userDataDir });
118
122
 
119
123
  return withBrowserErrorCapture(session, 'g2-sync', async (page) => {
120
124
  const maxPages = 5;