@lobu/cli 7.0.0 → 7.2.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 (137) hide show
  1. package/dist/commands/_lib/apply/apply-cmd.d.ts.map +1 -1
  2. package/dist/commands/_lib/apply/apply-cmd.js +160 -12
  3. package/dist/commands/_lib/apply/apply-cmd.js.map +1 -1
  4. package/dist/commands/_lib/apply/client.d.ts +106 -0
  5. package/dist/commands/_lib/apply/client.d.ts.map +1 -1
  6. package/dist/commands/_lib/apply/client.js +163 -2
  7. package/dist/commands/_lib/apply/client.js.map +1 -1
  8. package/dist/commands/_lib/apply/desired-state.d.ts +53 -0
  9. package/dist/commands/_lib/apply/desired-state.d.ts.map +1 -1
  10. package/dist/commands/_lib/apply/desired-state.js +182 -5
  11. package/dist/commands/_lib/apply/desired-state.js.map +1 -1
  12. package/dist/commands/_lib/apply/diff.d.ts +12 -1
  13. package/dist/commands/_lib/apply/diff.d.ts.map +1 -1
  14. package/dist/commands/_lib/apply/diff.js +106 -7
  15. package/dist/commands/_lib/apply/diff.js.map +1 -1
  16. package/dist/commands/_lib/connector-loader.d.ts +3 -0
  17. package/dist/commands/_lib/connector-loader.d.ts.map +1 -0
  18. package/dist/commands/_lib/connector-loader.js +129 -0
  19. package/dist/commands/_lib/connector-loader.js.map +1 -0
  20. package/dist/commands/_lib/connector-run-cmd.d.ts +35 -0
  21. package/dist/commands/_lib/connector-run-cmd.d.ts.map +1 -0
  22. package/dist/commands/_lib/connector-run-cmd.js +351 -0
  23. package/dist/commands/_lib/connector-run-cmd.js.map +1 -0
  24. package/dist/commands/_lib/export/export-cmd.d.ts +35 -0
  25. package/dist/commands/_lib/export/export-cmd.d.ts.map +1 -0
  26. package/dist/commands/_lib/export/export-cmd.js +329 -0
  27. package/dist/commands/_lib/export/export-cmd.js.map +1 -0
  28. package/dist/commands/agent.d.ts.map +1 -1
  29. package/dist/commands/agent.js +11 -14
  30. package/dist/commands/agent.js.map +1 -1
  31. package/dist/commands/chat.d.ts.map +1 -1
  32. package/dist/commands/chat.js +19 -5
  33. package/dist/commands/chat.js.map +1 -1
  34. package/dist/commands/connector.d.ts +3 -0
  35. package/dist/commands/connector.d.ts.map +1 -0
  36. package/dist/commands/connector.js +5 -0
  37. package/dist/commands/connector.js.map +1 -0
  38. package/dist/commands/context.d.ts +7 -0
  39. package/dist/commands/context.d.ts.map +1 -1
  40. package/dist/commands/context.js +19 -2
  41. package/dist/commands/context.js.map +1 -1
  42. package/dist/commands/dev.d.ts +15 -0
  43. package/dist/commands/dev.d.ts.map +1 -1
  44. package/dist/commands/dev.js +156 -4
  45. package/dist/commands/dev.js.map +1 -1
  46. package/dist/commands/doctor.d.ts.map +1 -1
  47. package/dist/commands/doctor.js +2 -3
  48. package/dist/commands/doctor.js.map +1 -1
  49. package/dist/commands/eval.d.ts.map +1 -1
  50. package/dist/commands/eval.js +12 -13
  51. package/dist/commands/eval.js.map +1 -1
  52. package/dist/commands/init.d.ts.map +1 -1
  53. package/dist/commands/init.js +5 -1
  54. package/dist/commands/init.js.map +1 -1
  55. package/dist/commands/login.d.ts.map +1 -1
  56. package/dist/commands/login.js +22 -16
  57. package/dist/commands/login.js.map +1 -1
  58. package/dist/commands/memory/_lib/browser-auth-cmd.d.ts.map +1 -1
  59. package/dist/commands/memory/_lib/browser-auth-cmd.js +15 -144
  60. package/dist/commands/memory/_lib/browser-auth-cmd.js.map +1 -1
  61. package/dist/commands/token.d.ts.map +1 -1
  62. package/dist/commands/token.js +1 -4
  63. package/dist/commands/token.js.map +1 -1
  64. package/dist/commands/validate.d.ts.map +1 -1
  65. package/dist/commands/validate.js +4 -13
  66. package/dist/commands/validate.js.map +1 -1
  67. package/dist/config/loader.js +2 -2
  68. package/dist/config/loader.js.map +1 -1
  69. package/dist/connectors/README.md +0 -1
  70. package/dist/connectors/apple_photos.ts +178 -0
  71. package/dist/connectors/browser-scraper-utils.ts +76 -0
  72. package/dist/connectors/chrome.ts +351 -0
  73. package/dist/connectors/chrome_bookmarks.ts +79 -0
  74. package/dist/connectors/chrome_downloads.ts +80 -0
  75. package/dist/connectors/chrome_history.ts +80 -0
  76. package/dist/connectors/github.ts +1 -0
  77. package/dist/connectors/google_calendar.ts +14 -2
  78. package/dist/connectors/google_play.ts +22 -2
  79. package/dist/connectors/hackernews.ts +37 -2
  80. package/dist/connectors/index.ts +15 -1
  81. package/dist/connectors/reddit.ts +1 -0
  82. package/dist/connectors/revolut.ts +10 -13
  83. package/dist/connectors/rss.ts +33 -8
  84. package/dist/connectors/trustpilot.ts +31 -20
  85. package/dist/connectors/website.ts +7 -68
  86. package/dist/connectors/whatsapp.ts +12 -21
  87. package/dist/db/migrations/20260514130000_connection_action_modes.sql +103 -0
  88. package/dist/db/migrations/20260514160000_auth_profiles_mirror_mode.sql +32 -0
  89. package/dist/db/migrations/20260515120000_agents_per_org_pk.sql +66 -0
  90. package/dist/db/migrations/20260515150000_geo_enrichment.sql +208 -0
  91. package/dist/db/migrations/20260515160000_drop_agents_org_id_unique.sql +24 -0
  92. package/dist/db/migrations/20260515170000_auth_profiles_default_for_connector.sql +23 -0
  93. package/dist/db/migrations/20260516120000_agents_per_org_pk_swap.sql +125 -0
  94. package/dist/db/migrations/20260516200000_events_search_tsv.sql +134 -0
  95. package/dist/db/migrations/20260516200100_events_lifecycle_changes_index.sql +25 -0
  96. package/dist/db/migrations/20260517010000_drop_unused_indexes.sql +49 -0
  97. package/dist/db/migrations/20260517020000_softdelete_orphan_feeds.sql +56 -0
  98. package/dist/db/migrations/20260517030000_pat_worker_id_binding.sql +27 -0
  99. package/dist/db/migrations/20260517040000_archive_orphan_watchers.sql +30 -0
  100. package/dist/db/migrations/20260517050000_watcher_agent_id_not_null.sql +34 -0
  101. package/dist/db/migrations/20260517060000_watcher_schema_additions.sql +78 -0
  102. package/dist/db/migrations/20260517150000_goals_primitive.sql +55 -0
  103. package/dist/db/migrations/20260517160000_drop_goals_primitive.sql +45 -0
  104. package/dist/db/migrations/20260518000000_pending_interactions.sql +49 -0
  105. package/dist/db/migrations/20260518010000_runs_heartbeat_reaper_index.sql +22 -0
  106. package/dist/db/migrations/20260518020000_runs_heartbeat_inflight_narrow.sql +36 -0
  107. package/dist/db/migrations/20260518040000_agent_transcript_snapshot.sql +54 -0
  108. package/dist/db/migrations/20260518050000_runs_denormalize_agent_conversation.sql +36 -0
  109. package/dist/db/migrations/20260518060000_revert_runs_denormalize.sql +29 -0
  110. package/dist/db/migrations/20260518070000_runs_heartbeat_inflight_widen.sql +33 -0
  111. package/dist/eval/client.d.ts.map +1 -1
  112. package/dist/eval/client.js +11 -0
  113. package/dist/eval/client.js.map +1 -1
  114. package/dist/eval/grader.js +2 -1
  115. package/dist/eval/grader.js.map +1 -1
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +84 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/internal/context.d.ts +13 -1
  120. package/dist/internal/context.d.ts.map +1 -1
  121. package/dist/internal/context.js +83 -8
  122. package/dist/internal/context.js.map +1 -1
  123. package/dist/internal/credentials.d.ts +5 -0
  124. package/dist/internal/credentials.d.ts.map +1 -1
  125. package/dist/internal/credentials.js +75 -1
  126. package/dist/internal/credentials.js.map +1 -1
  127. package/dist/internal/index.d.ts +2 -2
  128. package/dist/internal/index.d.ts.map +1 -1
  129. package/dist/internal/index.js +2 -2
  130. package/dist/internal/index.js.map +1 -1
  131. package/dist/internal/local-env.d.ts.map +1 -1
  132. package/dist/internal/local-env.js +9 -2
  133. package/dist/internal/local-env.js.map +1 -1
  134. package/dist/server.bundle.mjs +7085 -2832
  135. package/dist/start-local.bundle.mjs +8269 -3656
  136. package/package.json +7 -5
  137. package/dist/connectors/google_photos.ts +0 -776
@@ -146,6 +146,13 @@ export class ApplyClient {
146
146
  async patchAgentSettings(agentId, settings) {
147
147
  await this.request("PATCH", `/api/${this.orgSlug}/agents/${encodeURIComponent(agentId)}/config`, settings);
148
148
  }
149
+ /**
150
+ * Set (or rotate) the org-shared API key for a provider. Idempotent.
151
+ * Lands in `agent_secrets` under `provider:<id>:apiKey`, scoped to the org.
152
+ */
153
+ async setProviderApiKey(agentId, providerId, value) {
154
+ await this.request("PUT", `/api/${this.orgSlug}/agents/${encodeURIComponent(agentId)}/providers/${encodeURIComponent(providerId)}/api-key`, { value });
155
+ }
149
156
  // ── Platforms ─────────────────────────────────────────────────────────────
150
157
  async listPlatforms(agentId) {
151
158
  const { body } = await this.request("GET", `/api/${this.orgSlug}/agents/${encodeURIComponent(agentId)}/platforms`);
@@ -249,8 +256,28 @@ export class ApplyClient {
249
256
  return result;
250
257
  }
251
258
  // ── Watchers ──────────────────────────────────────────────────────────────
259
+ /**
260
+ * Fetch a single watcher's full payload — `getWatcher` server-side, which
261
+ * returns reaction_script (not in the list response). Used by `lobu export`
262
+ * to round-trip reaction scripts back to sibling `.ts` files.
263
+ */
264
+ async getWatcherDetail(watcherId) {
265
+ try {
266
+ const { body } = await this.request("GET", `/api/${this.orgSlug}/watchers?watcher_id=${encodeURIComponent(watcherId)}`);
267
+ return body.watcher ?? null;
268
+ }
269
+ catch (err) {
270
+ if (err instanceof ApiError && err.status === 404)
271
+ return null;
272
+ throw err;
273
+ }
274
+ }
252
275
  async listWatchers() {
253
- const { body } = await this.request("GET", `/api/${this.orgSlug}/watchers`);
276
+ // `include_details=true` pulls the version-bound fields (prompt,
277
+ // extraction_schema, classifiers, json_template, keying_config,
278
+ // condensation_*, reactions_guidance) too. Apply diffs against these to
279
+ // detect drift on the prompt / schema / sources / etc.
280
+ const { body } = await this.request("GET", `/api/${this.orgSlug}/watchers?include_details=true`);
254
281
  return body.watchers ?? [];
255
282
  }
256
283
  /**
@@ -260,7 +287,7 @@ export class ApplyClient {
260
287
  * structured error the caller swallows for idempotency.
261
288
  */
262
289
  async createWatcher(payload) {
263
- await this.request("POST", `/api/${this.orgSlug}/manage_watchers`, {
290
+ const { body } = await this.request("POST", `/api/${this.orgSlug}/manage_watchers`, {
264
291
  action: "create",
265
292
  slug: payload.slug,
266
293
  agent_id: payload.agentId,
@@ -270,6 +297,134 @@ export class ApplyClient {
270
297
  extraction_schema: payload.extraction_schema,
271
298
  ...(payload.schedule ? { schedule: payload.schedule } : {}),
272
299
  ...(payload.sources?.length ? { sources: payload.sources } : {}),
300
+ ...(payload.reactions_guidance !== undefined
301
+ ? { reactions_guidance: payload.reactions_guidance }
302
+ : {}),
303
+ ...(payload.device_worker_id !== undefined
304
+ ? { device_worker_id: payload.device_worker_id }
305
+ : {}),
306
+ ...(payload.scheduler_client_id !== undefined
307
+ ? { scheduler_client_id: payload.scheduler_client_id }
308
+ : {}),
309
+ ...(payload.notification_channel !== undefined
310
+ ? { notification_channel: payload.notification_channel }
311
+ : {}),
312
+ ...(payload.notification_priority !== undefined
313
+ ? { notification_priority: payload.notification_priority }
314
+ : {}),
315
+ ...(payload.min_cooldown_seconds !== undefined
316
+ ? { min_cooldown_seconds: payload.min_cooldown_seconds }
317
+ : {}),
318
+ ...(payload.tags?.length ? { tags: payload.tags } : {}),
319
+ ...(payload.agent_kind !== undefined
320
+ ? { agent_kind: payload.agent_kind }
321
+ : {}),
322
+ ...(payload.json_template !== undefined
323
+ ? { json_template: payload.json_template }
324
+ : {}),
325
+ ...(payload.keying_config !== undefined
326
+ ? { keying_config: payload.keying_config }
327
+ : {}),
328
+ ...(payload.classifiers !== undefined
329
+ ? { classifiers: payload.classifiers }
330
+ : {}),
331
+ ...(payload.condensation_prompt !== undefined
332
+ ? { condensation_prompt: payload.condensation_prompt }
333
+ : {}),
334
+ ...(payload.condensation_window_count !== undefined
335
+ ? { condensation_window_count: payload.condensation_window_count }
336
+ : {}),
337
+ });
338
+ return { ...(body.watcher_id ? { watcher_id: body.watcher_id } : {}) };
339
+ }
340
+ /**
341
+ * Update the **scalar** fields on the `watchers` row — these don't require
342
+ * a new version. Version-bound fields (prompt / extraction_schema / sources
343
+ * / reactions_guidance / json_template / keying_config / classifiers /
344
+ * condensation_*) require `createWatcherVersion` instead.
345
+ *
346
+ * `null` clears nullable fields (device_worker_id, scheduler_client_id,
347
+ * goal_id, agent_kind) per the server contract.
348
+ */
349
+ async updateWatcher(payload) {
350
+ await this.request("POST", `/api/${this.orgSlug}/manage_watchers`, {
351
+ action: "update",
352
+ watcher_id: payload.watcher_id,
353
+ ...(payload.schedule !== undefined ? { schedule: payload.schedule } : {}),
354
+ ...(payload.agent_id !== undefined ? { agent_id: payload.agent_id } : {}),
355
+ ...(payload.device_worker_id !== undefined
356
+ ? { device_worker_id: payload.device_worker_id }
357
+ : {}),
358
+ ...(payload.scheduler_client_id !== undefined
359
+ ? { scheduler_client_id: payload.scheduler_client_id }
360
+ : {}),
361
+ ...(payload.notification_channel !== undefined
362
+ ? { notification_channel: payload.notification_channel }
363
+ : {}),
364
+ ...(payload.notification_priority !== undefined
365
+ ? { notification_priority: payload.notification_priority }
366
+ : {}),
367
+ ...(payload.min_cooldown_seconds !== undefined
368
+ ? { min_cooldown_seconds: payload.min_cooldown_seconds }
369
+ : {}),
370
+ ...(payload.tags !== undefined ? { tags: payload.tags } : {}),
371
+ ...(payload.agent_kind !== undefined
372
+ ? { agent_kind: payload.agent_kind }
373
+ : {}),
374
+ ...(payload.goal_id !== undefined ? { goal_id: payload.goal_id } : {}),
375
+ ...(payload.model_config !== undefined
376
+ ? { model_config: payload.model_config }
377
+ : {}),
378
+ });
379
+ }
380
+ /**
381
+ * Create a new watcher_versions row carrying the version-bound fields, then
382
+ * upgrade the watcher's `current_version_id` to that new version. Server
383
+ * inherits unset fields from the previous version row.
384
+ */
385
+ async createWatcherVersion(payload) {
386
+ const { body } = await this.request("POST", `/api/${this.orgSlug}/manage_watchers`, {
387
+ action: "create_version",
388
+ watcher_id: payload.watcher_id,
389
+ set_as_current: true,
390
+ ...(payload.prompt !== undefined ? { prompt: payload.prompt } : {}),
391
+ ...(payload.extraction_schema !== undefined
392
+ ? { extraction_schema: payload.extraction_schema }
393
+ : {}),
394
+ ...(payload.sources !== undefined ? { sources: payload.sources } : {}),
395
+ ...(payload.json_template !== undefined
396
+ ? { json_template: payload.json_template }
397
+ : {}),
398
+ ...(payload.keying_config !== undefined
399
+ ? { keying_config: payload.keying_config }
400
+ : {}),
401
+ ...(payload.classifiers !== undefined
402
+ ? { classifiers: payload.classifiers }
403
+ : {}),
404
+ ...(payload.reactions_guidance !== undefined
405
+ ? { reactions_guidance: payload.reactions_guidance }
406
+ : {}),
407
+ ...(payload.condensation_prompt !== undefined
408
+ ? { condensation_prompt: payload.condensation_prompt }
409
+ : {}),
410
+ ...(payload.condensation_window_count !== undefined
411
+ ? { condensation_window_count: payload.condensation_window_count }
412
+ : {}),
413
+ ...(payload.change_notes
414
+ ? { change_notes: payload.change_notes }
415
+ : { change_notes: "lobu apply" }),
416
+ });
417
+ return body.version !== undefined ? { version: body.version } : {};
418
+ }
419
+ /**
420
+ * Attach (or clear) a reaction script. Pass an empty string to remove it —
421
+ * matches the admin tool contract.
422
+ */
423
+ async setReactionScript(watcherId, reactionScript) {
424
+ await this.request("POST", `/api/${this.orgSlug}/manage_watchers`, {
425
+ action: "set_reaction_script",
426
+ watcher_id: watcherId,
427
+ reaction_script: reactionScript,
273
428
  });
274
429
  }
275
430
  // ── Connector definitions ─────────────────────────────────────────────────
@@ -407,6 +562,9 @@ export class ApplyClient {
407
562
  ? { app_auth_profile_slug: payload.appAuthProfileSlug }
408
563
  : {}),
409
564
  ...(payload.config ? { config: payload.config } : {}),
565
+ ...(payload.deviceWorkerId
566
+ ? { device_worker_id: payload.deviceWorkerId }
567
+ : {}),
410
568
  });
411
569
  if (!body.connection) {
412
570
  throw new ApiError(`create connection "${payload.slug}" returned no connection payload`);
@@ -429,6 +587,9 @@ export class ApplyClient {
429
587
  ...(payload.config !== undefined
430
588
  ? { config: payload.config, replace_config: true }
431
589
  : {}),
590
+ ...(payload.deviceWorkerId !== undefined
591
+ ? { device_worker_id: payload.deviceWorkerId }
592
+ : {}),
432
593
  });
433
594
  if (!body.connection) {
434
595
  throw new ApiError(`update connection #${connectionId} returned no connection payload`);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/commands/_lib/apply/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/commands/_lib/apply/client.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,43 @@ export interface DesiredWatcher {
49
49
  name: string;
50
50
  query: string;
51
51
  }>;
52
+ /**
53
+ * Reaction script — TypeScript source compiled + executed in an isolate at
54
+ * watcher-firing time. Authored as a sibling `.ts` file (`reaction_script:
55
+ * ./funnel-digest.ts` in the YAML), the CLI reads it and pushes raw source
56
+ * via `set_reaction_script`. Inline strings are rejected so the IDE can
57
+ * type-check the script.
58
+ */
59
+ reactionScript?: {
60
+ sourcePath: string;
61
+ sourceCode: string;
62
+ };
63
+ /** LLM guidance for the watcher's downstream reaction agent. */
64
+ reactionsGuidance?: string;
65
+ /** UUID of a device worker to pin this watcher's runs to (see `device_workers.id`). */
66
+ deviceWorkerId?: string;
67
+ /** MCP client id that should auto-run this watcher. */
68
+ schedulerClientId?: string;
69
+ /** Where firings surface — defaults to canvas server-side. */
70
+ notificationChannel?: "canvas" | "notification" | "both";
71
+ /** Priority class used by the dispatcher interrupt budget. */
72
+ notificationPriority?: "low" | "normal" | "high";
73
+ /** Minimum seconds between two firings of this watcher (0 = no cooldown). */
74
+ minCooldownSeconds?: number;
75
+ /** Free-form tags for filtering. */
76
+ tags?: string[];
77
+ /** Optional agent-kind override (e.g. "background", "notifier"). */
78
+ agentKind?: string;
79
+ /** Optional JSON template for renderer. */
80
+ jsonTemplate?: unknown;
81
+ /** Stable key generation across windows. */
82
+ keyingConfig?: Record<string, unknown>;
83
+ /** Classifier definitions for extraction (server-side feature). */
84
+ classifiers?: unknown[];
85
+ /** Handlebars prompt for condensing windows into a rollup. */
86
+ condensationPrompt?: string;
87
+ /** How many leaf windows to condense into one rollup (default 4 server-side). */
88
+ condensationWindowCount?: number;
52
89
  }
53
90
  export interface DesiredFeed {
54
91
  /** Feed key from the connector definition (`FeedDefinition.key`). */
@@ -68,6 +105,12 @@ export interface DesiredConnection {
68
105
  /** Slug of the OAuth-app auth profile (`app_auth:` in the manifest). */
69
106
  appAuthProfileSlug?: string;
70
107
  config?: Record<string, unknown>;
108
+ /**
109
+ * Optional UUID pinning the connection's syncs/actions to a specific device
110
+ * worker (`device_workers.id`). Required for connectors that declare a
111
+ * `required_capability`; omit it for serverless-on-Lobu runs.
112
+ */
113
+ deviceWorkerId?: string;
71
114
  feeds: DesiredFeed[];
72
115
  /** Relative path of the YAML file the doc came from (for error messages). */
73
116
  sourceFile: string;
@@ -116,6 +159,16 @@ export interface DesiredAgent {
116
159
  */
117
160
  settings: Partial<AgentSettings>;
118
161
  platforms: DesiredPlatform[];
162
+ /**
163
+ * Provider API keys resolved from `[[providers]] key = "$VAR"` in lobu.toml
164
+ * that need to be pushed into `agent_secrets` after the settings PATCH.
165
+ * Empty when no provider declared a `key` (or all keys are empty/unset).
166
+ * The actual secret value lives only in process memory; never serialized.
167
+ */
168
+ providerKeys: {
169
+ providerId: string;
170
+ value: string;
171
+ }[];
119
172
  }
120
173
  export interface DesiredState {
121
174
  agents: DesiredAgent[];
@@ -1 +1 @@
1
- {"version":3,"file":"desired-state.d.ts","sourceRoot":"","sources":["../../../../src/commands/_lib/apply/desired-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desired-state.d.ts","sourceRoot":"","sources":["../../../../src/commands/_lib/apply/desired-state.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
1
2
  import { readdir, readFile, stat } from "node:fs/promises";
2
3
  import { join, resolve } from "node:path";
3
4
  import Ajv from "ajv";
@@ -485,7 +486,10 @@ function parseEntityType(raw) {
485
486
  out.metadata = raw.metadata;
486
487
  return out;
487
488
  }
488
- function parseWatcher(raw) {
489
+ const NOTIFICATION_CHANNELS = new Set(["canvas", "notification", "both"]);
490
+ const NOTIFICATION_PRIORITIES = new Set(["low", "normal", "high"]);
491
+ const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
492
+ function parseWatcher(raw, modelFileAbsPath) {
489
493
  if (!isRecord(raw) || typeof raw.slug !== "string") {
490
494
  throw new ValidationError(`watcher model files must be objects with a "slug" string field; got ${JSON.stringify(raw)}`);
491
495
  }
@@ -508,14 +512,147 @@ function parseWatcher(raw) {
508
512
  out.name = raw.name;
509
513
  if (typeof raw.description === "string")
510
514
  out.description = raw.description;
511
- if (typeof raw.schedule === "string")
515
+ if (typeof raw.schedule === "string") {
516
+ const err = cronError(raw.schedule);
517
+ if (err) {
518
+ throw new ValidationError(`watcher "${raw.slug}" ${err}`);
519
+ }
512
520
  out.schedule = raw.schedule;
521
+ }
513
522
  if (Array.isArray(raw.sources)) {
514
523
  out.sources = raw.sources
515
524
  .filter(isRecord)
516
525
  .filter((s) => typeof s.name === "string" && typeof s.query === "string")
517
526
  .map((s) => ({ name: s.name, query: s.query }));
518
527
  }
528
+ // Reaction script — sibling `.ts` file, resolved relative to the YAML.
529
+ // Path constraints: must be a relative POSIX-style path that stays under
530
+ // the YAML's directory tree (no leading `/`, no `..` segments), must end
531
+ // in `.ts`, and the file must be ≤ 256 KiB. The server compiles and
532
+ // executes the source in an isolate, so the trust boundary is the
533
+ // operator's file system — this validation prevents a hostile YAML
534
+ // (e.g. a PR that touches an unrelated model file) from sucking in a
535
+ // sensitive file like `/etc/passwd` or `../../.ssh/id_rsa`.
536
+ if (raw.reaction_script !== undefined) {
537
+ if (typeof raw.reaction_script !== "string" ||
538
+ !raw.reaction_script.trim()) {
539
+ throw new ValidationError(`watcher "${raw.slug}" \`reaction_script\` must be a path to a sibling .ts file (e.g. \`reaction_script: ./funnel-digest.ts\`). Inline scripts are not supported — keep the TypeScript in its own file so your IDE can type-check it.`);
540
+ }
541
+ const rel = raw.reaction_script.trim();
542
+ if (rel.startsWith("/") || rel.includes("\\")) {
543
+ throw new ValidationError(`watcher "${raw.slug}" \`reaction_script\` must be a relative POSIX path (./foo.ts) — absolute paths and backslashes are not allowed`);
544
+ }
545
+ if (rel.split("/").some((seg) => seg === "..")) {
546
+ throw new ValidationError(`watcher "${raw.slug}" \`reaction_script\` must not contain \`..\` segments — keep the script under the model file's directory tree`);
547
+ }
548
+ if (!rel.endsWith(".ts")) {
549
+ throw new ValidationError(`watcher "${raw.slug}" \`reaction_script\` must end in \`.ts\` (got ${JSON.stringify(rel)})`);
550
+ }
551
+ const baseDir = resolve(modelFileAbsPath, "..");
552
+ const abs = resolve(baseDir, rel);
553
+ // Belt-and-braces — symlinks or unusual relative-path forms shouldn't
554
+ // escape the baseDir even if the above checks let one through.
555
+ if (!abs.startsWith(`${baseDir}/`) && abs !== baseDir) {
556
+ throw new ValidationError(`watcher "${raw.slug}" \`reaction_script\` resolves outside the model directory (${abs})`);
557
+ }
558
+ let sourceCode;
559
+ try {
560
+ sourceCode = readFileSync(abs, "utf-8");
561
+ }
562
+ catch {
563
+ throw new ValidationError(`watcher "${raw.slug}" \`reaction_script\` ${rel} does not exist (resolved to ${abs})`);
564
+ }
565
+ const REACTION_SCRIPT_MAX_BYTES = 256 * 1024;
566
+ if (Buffer.byteLength(sourceCode, "utf8") > REACTION_SCRIPT_MAX_BYTES) {
567
+ throw new ValidationError(`watcher "${raw.slug}" \`reaction_script\` exceeds the ${REACTION_SCRIPT_MAX_BYTES}-byte cap — reaction scripts should be a few hundred lines, not a vendored library`);
568
+ }
569
+ out.reactionScript = { sourcePath: abs, sourceCode };
570
+ }
571
+ if (raw.reactions_guidance !== undefined) {
572
+ if (typeof raw.reactions_guidance !== "string") {
573
+ throw new ValidationError(`watcher "${raw.slug}" \`reactions_guidance\` must be a string`);
574
+ }
575
+ out.reactionsGuidance = raw.reactions_guidance;
576
+ }
577
+ if (raw.device_worker_id !== undefined) {
578
+ if (typeof raw.device_worker_id !== "string" ||
579
+ !UUID_PATTERN.test(raw.device_worker_id.trim())) {
580
+ throw new ValidationError(`watcher "${raw.slug}" \`device_worker_id\` must be a UUID string (the device_workers.id of the device this watcher should run on)`);
581
+ }
582
+ out.deviceWorkerId = raw.device_worker_id.trim();
583
+ }
584
+ if (raw.scheduler_client_id !== undefined) {
585
+ if (typeof raw.scheduler_client_id !== "string" ||
586
+ !raw.scheduler_client_id.trim()) {
587
+ throw new ValidationError(`watcher "${raw.slug}" \`scheduler_client_id\` must be a non-empty string`);
588
+ }
589
+ out.schedulerClientId = raw.scheduler_client_id.trim();
590
+ }
591
+ if (raw.notification_channel !== undefined) {
592
+ if (typeof raw.notification_channel !== "string" ||
593
+ !NOTIFICATION_CHANNELS.has(raw.notification_channel)) {
594
+ throw new ValidationError(`watcher "${raw.slug}" \`notification_channel\` must be one of: canvas, notification, both`);
595
+ }
596
+ out.notificationChannel =
597
+ raw.notification_channel;
598
+ }
599
+ if (raw.notification_priority !== undefined) {
600
+ if (typeof raw.notification_priority !== "string" ||
601
+ !NOTIFICATION_PRIORITIES.has(raw.notification_priority)) {
602
+ throw new ValidationError(`watcher "${raw.slug}" \`notification_priority\` must be one of: low, normal, high`);
603
+ }
604
+ out.notificationPriority =
605
+ raw.notification_priority;
606
+ }
607
+ if (raw.min_cooldown_seconds !== undefined) {
608
+ if (typeof raw.min_cooldown_seconds !== "number" ||
609
+ !Number.isFinite(raw.min_cooldown_seconds) ||
610
+ raw.min_cooldown_seconds < 0) {
611
+ throw new ValidationError(`watcher "${raw.slug}" \`min_cooldown_seconds\` must be a non-negative number`);
612
+ }
613
+ out.minCooldownSeconds = raw.min_cooldown_seconds;
614
+ }
615
+ if (raw.tags !== undefined) {
616
+ if (!Array.isArray(raw.tags) ||
617
+ !raw.tags.every((t) => typeof t === "string")) {
618
+ throw new ValidationError(`watcher "${raw.slug}" \`tags\` must be an array of strings`);
619
+ }
620
+ out.tags = raw.tags;
621
+ }
622
+ if (raw.agent_kind !== undefined) {
623
+ if (typeof raw.agent_kind !== "string" || !raw.agent_kind.trim()) {
624
+ throw new ValidationError(`watcher "${raw.slug}" \`agent_kind\` must be a non-empty string`);
625
+ }
626
+ out.agentKind = raw.agent_kind.trim();
627
+ }
628
+ if (raw.json_template !== undefined) {
629
+ out.jsonTemplate = raw.json_template;
630
+ }
631
+ if (raw.keying_config !== undefined) {
632
+ if (!isRecord(raw.keying_config)) {
633
+ throw new ValidationError(`watcher "${raw.slug}" \`keying_config\` must be an object`);
634
+ }
635
+ out.keyingConfig = raw.keying_config;
636
+ }
637
+ if (raw.classifiers !== undefined) {
638
+ if (!Array.isArray(raw.classifiers)) {
639
+ throw new ValidationError(`watcher "${raw.slug}" \`classifiers\` must be an array`);
640
+ }
641
+ out.classifiers = raw.classifiers;
642
+ }
643
+ if (raw.condensation_prompt !== undefined) {
644
+ if (typeof raw.condensation_prompt !== "string") {
645
+ throw new ValidationError(`watcher "${raw.slug}" \`condensation_prompt\` must be a string`);
646
+ }
647
+ out.condensationPrompt = raw.condensation_prompt;
648
+ }
649
+ if (raw.condensation_window_count !== undefined) {
650
+ if (typeof raw.condensation_window_count !== "number" ||
651
+ raw.condensation_window_count < 2) {
652
+ throw new ValidationError(`watcher "${raw.slug}" \`condensation_window_count\` must be a number ≥ 2`);
653
+ }
654
+ out.condensationWindowCount = raw.condensation_window_count;
655
+ }
519
656
  return out;
520
657
  }
521
658
  function parseRelationshipType(raw) {
@@ -556,7 +693,6 @@ async function loadMemoryModels(config, projectRoot) {
556
693
  // Models directory (matches seed-cmd's resolution rules).
557
694
  const modelsRel = mem.models?.trim() || "./models";
558
695
  const modelsPath = resolve(projectRoot, modelsRel);
559
- const { existsSync, readdirSync, readFileSync } = await import("node:fs");
560
696
  if (!existsSync(modelsPath))
561
697
  return empty;
562
698
  const entityTypes = [];
@@ -598,7 +734,13 @@ async function loadMemoryModels(config, projectRoot) {
598
734
  relationshipTypes.push(parseRelationshipType(model.data));
599
735
  }
600
736
  else if (model.modelType === "watcher") {
601
- watchers.push(parseWatcher(model.data));
737
+ // `model.file` is like `schema.yaml:watchers[0]` (optionally with
738
+ // `#docIdx` for multi-doc streams) — strip the synthetic suffix
739
+ // before resolving on disk, then map through `modelsPath` to the
740
+ // absolute YAML path. `parseWatcher` reads `reaction_script:`
741
+ // sibling .ts files relative to that.
742
+ const yamlRel = model.file.replace(/[:#].*$/, "");
743
+ watchers.push(parseWatcher(model.data, join(modelsPath, yamlRel)));
602
744
  }
603
745
  }
604
746
  }
@@ -681,10 +823,31 @@ function parseConnectionDoc(raw, file) {
681
823
  const appAuth = asString(raw.app_auth);
682
824
  if (appAuth)
683
825
  out.appAuthProfileSlug = appAuth;
826
+ if (raw.device_worker_id !== undefined) {
827
+ if (typeof raw.device_worker_id !== "string" ||
828
+ !UUID_PATTERN.test(raw.device_worker_id.trim())) {
829
+ throw new ValidationError(`${file}: connection "${slug}" \`device_worker_id\` must be a UUID (the device_workers.id of the device this connection runs on)`);
830
+ }
831
+ out.deviceWorkerId = raw.device_worker_id.trim();
832
+ }
684
833
  if (raw.config !== undefined) {
685
834
  if (!isRecord(raw.config)) {
686
835
  throw new ValidationError(`${file}: connection "${slug}" \`config\` must be an object`);
687
836
  }
837
+ // action_modes is keyed by operation_key and each value must be one of
838
+ // 'disabled' | 'approval' | 'auto'. The server tolerates unknown values
839
+ // (falls back to the connector default), so a typo like 'auto-approve'
840
+ // would silently degrade. Fail fast at apply time instead.
841
+ if (raw.config.action_modes !== undefined) {
842
+ if (!isRecord(raw.config.action_modes)) {
843
+ throw new ValidationError(`${file}: connection "${slug}" \`config.action_modes\` must be an object mapping operation keys to one of: disabled, approval, auto`);
844
+ }
845
+ for (const [opKey, mode] of Object.entries(raw.config.action_modes)) {
846
+ if (mode !== "disabled" && mode !== "approval" && mode !== "auto") {
847
+ throw new ValidationError(`${file}: connection "${slug}" \`config.action_modes.${opKey}\` must be one of: disabled, approval, auto (got ${JSON.stringify(mode)})`);
848
+ }
849
+ }
850
+ }
688
851
  out.config = raw.config;
689
852
  }
690
853
  if (raw.feeds !== undefined) {
@@ -1170,13 +1333,27 @@ export async function loadDesiredState(opts) {
1170
1333
  ]);
1171
1334
  const settings = buildAgentSettings(agentConfig, markdown, skillFiles);
1172
1335
  const platforms = buildPlatforms(agentId, agentConfig, env);
1336
+ // Resolve `[[providers]] key = "$VAR"` against the apply env. The
1337
+ // required-secrets gate in apply-cmd already failed loudly if any $VAR
1338
+ // is unset, so a missing value here means the operator omitted `key`
1339
+ // entirely (BYOK / web-UI flow); silently skip those.
1340
+ const providerKeys = [];
1341
+ for (const provider of agentConfig.providers) {
1342
+ if (!provider.key)
1343
+ continue;
1344
+ const ref = asEnvRef(provider.key);
1345
+ const resolved = ref ? env[ref] : provider.key;
1346
+ if (!resolved)
1347
+ continue;
1348
+ providerKeys.push({ providerId: provider.id, value: resolved });
1349
+ }
1173
1350
  const metadata = {
1174
1351
  agentId,
1175
1352
  name: agentConfig.name,
1176
1353
  };
1177
1354
  if (agentConfig.description)
1178
1355
  metadata.description = agentConfig.description;
1179
- agents.push({ metadata, settings, platforms });
1356
+ agents.push({ metadata, settings, platforms, providerKeys });
1180
1357
  }
1181
1358
  const { entityTypes, relationshipTypes, watchers } = await loadMemoryModels(config, opts.cwd);
1182
1359
  for (const watcher of watchers) {