@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.
- package/dist/commands/_lib/apply/apply-cmd.d.ts.map +1 -1
- package/dist/commands/_lib/apply/apply-cmd.js +160 -12
- package/dist/commands/_lib/apply/apply-cmd.js.map +1 -1
- package/dist/commands/_lib/apply/client.d.ts +106 -0
- package/dist/commands/_lib/apply/client.d.ts.map +1 -1
- package/dist/commands/_lib/apply/client.js +163 -2
- package/dist/commands/_lib/apply/client.js.map +1 -1
- package/dist/commands/_lib/apply/desired-state.d.ts +53 -0
- package/dist/commands/_lib/apply/desired-state.d.ts.map +1 -1
- package/dist/commands/_lib/apply/desired-state.js +182 -5
- package/dist/commands/_lib/apply/desired-state.js.map +1 -1
- package/dist/commands/_lib/apply/diff.d.ts +12 -1
- package/dist/commands/_lib/apply/diff.d.ts.map +1 -1
- package/dist/commands/_lib/apply/diff.js +106 -7
- package/dist/commands/_lib/apply/diff.js.map +1 -1
- package/dist/commands/_lib/connector-loader.d.ts +3 -0
- package/dist/commands/_lib/connector-loader.d.ts.map +1 -0
- package/dist/commands/_lib/connector-loader.js +129 -0
- package/dist/commands/_lib/connector-loader.js.map +1 -0
- package/dist/commands/_lib/connector-run-cmd.d.ts +35 -0
- package/dist/commands/_lib/connector-run-cmd.d.ts.map +1 -0
- package/dist/commands/_lib/connector-run-cmd.js +351 -0
- package/dist/commands/_lib/connector-run-cmd.js.map +1 -0
- package/dist/commands/_lib/export/export-cmd.d.ts +35 -0
- package/dist/commands/_lib/export/export-cmd.d.ts.map +1 -0
- package/dist/commands/_lib/export/export-cmd.js +329 -0
- package/dist/commands/_lib/export/export-cmd.js.map +1 -0
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +11 -14
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +19 -5
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/connector.d.ts +3 -0
- package/dist/commands/connector.d.ts.map +1 -0
- package/dist/commands/connector.js +5 -0
- package/dist/commands/connector.js.map +1 -0
- package/dist/commands/context.d.ts +7 -0
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +19 -2
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/dev.d.ts +15 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +156 -4
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +2 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/eval.d.ts.map +1 -1
- package/dist/commands/eval.js +12 -13
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +5 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +22 -16
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/memory/_lib/browser-auth-cmd.d.ts.map +1 -1
- package/dist/commands/memory/_lib/browser-auth-cmd.js +15 -144
- package/dist/commands/memory/_lib/browser-auth-cmd.js.map +1 -1
- package/dist/commands/token.d.ts.map +1 -1
- package/dist/commands/token.js +1 -4
- package/dist/commands/token.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +4 -13
- package/dist/commands/validate.js.map +1 -1
- package/dist/config/loader.js +2 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/connectors/README.md +0 -1
- package/dist/connectors/apple_photos.ts +178 -0
- package/dist/connectors/browser-scraper-utils.ts +76 -0
- package/dist/connectors/chrome.ts +351 -0
- package/dist/connectors/chrome_bookmarks.ts +79 -0
- package/dist/connectors/chrome_downloads.ts +80 -0
- package/dist/connectors/chrome_history.ts +80 -0
- package/dist/connectors/github.ts +1 -0
- package/dist/connectors/google_calendar.ts +14 -2
- package/dist/connectors/google_play.ts +22 -2
- package/dist/connectors/hackernews.ts +37 -2
- package/dist/connectors/index.ts +15 -1
- package/dist/connectors/reddit.ts +1 -0
- package/dist/connectors/revolut.ts +10 -13
- package/dist/connectors/rss.ts +33 -8
- package/dist/connectors/trustpilot.ts +31 -20
- package/dist/connectors/website.ts +7 -68
- package/dist/connectors/whatsapp.ts +12 -21
- package/dist/db/migrations/20260514130000_connection_action_modes.sql +103 -0
- package/dist/db/migrations/20260514160000_auth_profiles_mirror_mode.sql +32 -0
- package/dist/db/migrations/20260515120000_agents_per_org_pk.sql +66 -0
- package/dist/db/migrations/20260515150000_geo_enrichment.sql +208 -0
- package/dist/db/migrations/20260515160000_drop_agents_org_id_unique.sql +24 -0
- package/dist/db/migrations/20260515170000_auth_profiles_default_for_connector.sql +23 -0
- package/dist/db/migrations/20260516120000_agents_per_org_pk_swap.sql +125 -0
- package/dist/db/migrations/20260516200000_events_search_tsv.sql +134 -0
- package/dist/db/migrations/20260516200100_events_lifecycle_changes_index.sql +25 -0
- package/dist/db/migrations/20260517010000_drop_unused_indexes.sql +49 -0
- package/dist/db/migrations/20260517020000_softdelete_orphan_feeds.sql +56 -0
- package/dist/db/migrations/20260517030000_pat_worker_id_binding.sql +27 -0
- package/dist/db/migrations/20260517040000_archive_orphan_watchers.sql +30 -0
- package/dist/db/migrations/20260517050000_watcher_agent_id_not_null.sql +34 -0
- package/dist/db/migrations/20260517060000_watcher_schema_additions.sql +78 -0
- package/dist/db/migrations/20260517150000_goals_primitive.sql +55 -0
- package/dist/db/migrations/20260517160000_drop_goals_primitive.sql +45 -0
- package/dist/db/migrations/20260518000000_pending_interactions.sql +49 -0
- package/dist/db/migrations/20260518010000_runs_heartbeat_reaper_index.sql +22 -0
- package/dist/db/migrations/20260518020000_runs_heartbeat_inflight_narrow.sql +36 -0
- package/dist/db/migrations/20260518040000_agent_transcript_snapshot.sql +54 -0
- package/dist/db/migrations/20260518050000_runs_denormalize_agent_conversation.sql +36 -0
- package/dist/db/migrations/20260518060000_revert_runs_denormalize.sql +29 -0
- package/dist/db/migrations/20260518070000_runs_heartbeat_inflight_widen.sql +33 -0
- package/dist/eval/client.d.ts.map +1 -1
- package/dist/eval/client.js +11 -0
- package/dist/eval/client.js.map +1 -1
- package/dist/eval/grader.js +2 -1
- package/dist/eval/grader.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +84 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/context.d.ts +13 -1
- package/dist/internal/context.d.ts.map +1 -1
- package/dist/internal/context.js +83 -8
- package/dist/internal/context.js.map +1 -1
- package/dist/internal/credentials.d.ts +5 -0
- package/dist/internal/credentials.d.ts.map +1 -1
- package/dist/internal/credentials.js +75 -1
- package/dist/internal/credentials.js.map +1 -1
- package/dist/internal/index.d.ts +2 -2
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +2 -2
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/local-env.d.ts.map +1 -1
- package/dist/internal/local-env.js +9 -2
- package/dist/internal/local-env.js.map +1 -1
- package/dist/server.bundle.mjs +7085 -2832
- package/dist/start-local.bundle.mjs +8269 -3656
- package/package.json +7 -5
- 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
|
-
|
|
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":"
|
|
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
|
-
|
|
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
|
|
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) {
|