@poping/yome 0.0.3 → 0.0.5

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 (168) hide show
  1. package/README.md +5 -7
  2. package/README.zh-CN.md +5 -7
  3. package/bin/yome-calwatch +0 -0
  4. package/dist/commands/mesh.d.ts +15 -0
  5. package/dist/commands/mesh.js +282 -0
  6. package/dist/commands/mesh.js.map +1 -0
  7. package/dist/context.js +6 -3
  8. package/dist/context.js.map +1 -1
  9. package/dist/daemon/calendarPermission.d.ts +10 -0
  10. package/dist/daemon/calendarPermission.js +68 -0
  11. package/dist/daemon/calendarPermission.js.map +1 -0
  12. package/dist/daemon/cronCli.d.ts +19 -0
  13. package/dist/daemon/cronCli.js +403 -0
  14. package/dist/daemon/cronCli.js.map +1 -0
  15. package/dist/daemon/envHint.d.ts +5 -0
  16. package/dist/daemon/envHint.js +139 -0
  17. package/dist/daemon/envHint.js.map +1 -0
  18. package/dist/daemon/humanCron.d.ts +1 -0
  19. package/dist/daemon/humanCron.js +72 -0
  20. package/dist/daemon/humanCron.js.map +1 -0
  21. package/dist/daemon/humanOnce.d.ts +1 -0
  22. package/dist/daemon/humanOnce.js +54 -0
  23. package/dist/daemon/humanOnce.js.map +1 -0
  24. package/dist/daemon/index.d.ts +5 -0
  25. package/dist/daemon/index.js +173 -0
  26. package/dist/daemon/index.js.map +1 -0
  27. package/dist/daemon/launchd.d.ts +7 -0
  28. package/dist/daemon/launchd.js +93 -0
  29. package/dist/daemon/launchd.js.map +1 -0
  30. package/dist/daemon/log.d.ts +17 -0
  31. package/dist/daemon/log.js +57 -0
  32. package/dist/daemon/log.js.map +1 -0
  33. package/dist/daemon/paths.d.ts +11 -0
  34. package/dist/daemon/paths.js +27 -0
  35. package/dist/daemon/paths.js.map +1 -0
  36. package/dist/daemon/runTaskEntry.d.ts +1 -0
  37. package/dist/daemon/runTaskEntry.js +67 -0
  38. package/dist/daemon/runTaskEntry.js.map +1 -0
  39. package/dist/daemon/runner.d.ts +21 -0
  40. package/dist/daemon/runner.js +175 -0
  41. package/dist/daemon/runner.js.map +1 -0
  42. package/dist/daemon/scheduler.d.ts +5 -0
  43. package/dist/daemon/scheduler.js +162 -0
  44. package/dist/daemon/scheduler.js.map +1 -0
  45. package/dist/daemon/systemd.d.ts +7 -0
  46. package/dist/daemon/systemd.js +87 -0
  47. package/dist/daemon/systemd.js.map +1 -0
  48. package/dist/daemon/taskStore.d.ts +62 -0
  49. package/dist/daemon/taskStore.js +88 -0
  50. package/dist/daemon/taskStore.js.map +1 -0
  51. package/dist/daemon/triggers/calendar.d.ts +8 -0
  52. package/dist/daemon/triggers/calendar.js +248 -0
  53. package/dist/daemon/triggers/calendar.js.map +1 -0
  54. package/dist/daemon/triggers/childRunner.d.ts +14 -0
  55. package/dist/daemon/triggers/childRunner.js +111 -0
  56. package/dist/daemon/triggers/childRunner.js.map +1 -0
  57. package/dist/daemon/triggers/cron.d.ts +14 -0
  58. package/dist/daemon/triggers/cron.js +91 -0
  59. package/dist/daemon/triggers/cron.js.map +1 -0
  60. package/dist/daemon/triggers/file.d.ts +7 -0
  61. package/dist/daemon/triggers/file.js +123 -0
  62. package/dist/daemon/triggers/file.js.map +1 -0
  63. package/dist/daemon/triggers/once.d.ts +10 -0
  64. package/dist/daemon/triggers/once.js +80 -0
  65. package/dist/daemon/triggers/once.js.map +1 -0
  66. package/dist/index.js +120 -9
  67. package/dist/index.js.map +1 -1
  68. package/dist/llm.d.ts +14 -2
  69. package/dist/llm.js +266 -201
  70. package/dist/llm.js.map +1 -1
  71. package/dist/mesh/capabilities.d.ts +6 -0
  72. package/dist/mesh/capabilities.js +66 -0
  73. package/dist/mesh/capabilities.js.map +1 -0
  74. package/dist/mesh/device-id.d.ts +28 -0
  75. package/dist/mesh/device-id.js +105 -0
  76. package/dist/mesh/device-id.js.map +1 -0
  77. package/dist/mesh/device-registrar.d.ts +33 -0
  78. package/dist/mesh/device-registrar.js +131 -0
  79. package/dist/mesh/device-registrar.js.map +1 -0
  80. package/dist/mesh/index.d.ts +28 -0
  81. package/dist/mesh/index.js +71 -0
  82. package/dist/mesh/index.js.map +1 -0
  83. package/dist/mesh/partykit-client.d.ts +43 -0
  84. package/dist/mesh/partykit-client.js +195 -0
  85. package/dist/mesh/partykit-client.js.map +1 -0
  86. package/dist/mesh/rpc-handler.d.ts +28 -0
  87. package/dist/mesh/rpc-handler.js +201 -0
  88. package/dist/mesh/rpc-handler.js.map +1 -0
  89. package/dist/mesh/thread-stream.d.ts +109 -0
  90. package/dist/mesh/thread-stream.js +110 -0
  91. package/dist/mesh/thread-stream.js.map +1 -0
  92. package/dist/mesh/ticket.d.ts +33 -0
  93. package/dist/mesh/ticket.js +127 -0
  94. package/dist/mesh/ticket.js.map +1 -0
  95. package/dist/mesh/types.d.ts +83 -0
  96. package/dist/mesh/types.js +9 -0
  97. package/dist/mesh/types.js.map +1 -0
  98. package/dist/skills/runner/dispatcher.d.ts +74 -3
  99. package/dist/skills/runner/dispatcher.js +258 -48
  100. package/dist/skills/runner/dispatcher.js.map +1 -1
  101. package/dist/skills/runner/dispatcher.test.d.ts +1 -0
  102. package/dist/skills/runner/dispatcher.test.js +141 -0
  103. package/dist/skills/runner/dispatcher.test.js.map +1 -0
  104. package/dist/skills/runner/kernel.js +0 -1
  105. package/dist/skills/runner/kernel.js.map +1 -1
  106. package/dist/skills/runner/nodeBackend.d.ts +32 -0
  107. package/dist/skills/runner/nodeBackend.js +147 -0
  108. package/dist/skills/runner/nodeBackend.js.map +1 -0
  109. package/dist/state/todos.d.ts +12 -0
  110. package/dist/state/todos.js +32 -0
  111. package/dist/state/todos.js.map +1 -0
  112. package/dist/tools/askUser.d.ts +20 -0
  113. package/dist/tools/askUser.js +126 -0
  114. package/dist/tools/askUser.js.map +1 -0
  115. package/dist/tools/bash.js +13 -19
  116. package/dist/tools/bash.js.map +1 -1
  117. package/dist/tools/index.d.ts +2 -0
  118. package/dist/tools/index.js +18 -5
  119. package/dist/tools/index.js.map +1 -1
  120. package/dist/tools/todoWrite.d.ts +2 -0
  121. package/dist/tools/todoWrite.js +141 -0
  122. package/dist/tools/todoWrite.js.map +1 -0
  123. package/dist/tools/yome.d.ts +2 -0
  124. package/dist/tools/yome.js +87 -0
  125. package/dist/tools/yome.js.map +1 -0
  126. package/dist/ui/App.js +52 -3
  127. package/dist/ui/App.js.map +1 -1
  128. package/dist/ui/AskUserPrompt.d.ts +7 -0
  129. package/dist/ui/AskUserPrompt.js +78 -0
  130. package/dist/ui/AskUserPrompt.js.map +1 -0
  131. package/dist/ui/InputBar.js +20 -34
  132. package/dist/ui/InputBar.js.map +1 -1
  133. package/dist/ui/MeshApp.d.ts +9 -0
  134. package/dist/ui/MeshApp.js +226 -0
  135. package/dist/ui/MeshApp.js.map +1 -0
  136. package/dist/ui/MessageList.d.ts +8 -0
  137. package/dist/ui/MessageList.js +2 -2
  138. package/dist/ui/MessageList.js.map +1 -1
  139. package/dist/ui/MultilineTextInput.d.ts +31 -0
  140. package/dist/ui/MultilineTextInput.js +393 -0
  141. package/dist/ui/MultilineTextInput.js.map +1 -0
  142. package/dist/ui/MultilineTextInput.test.d.ts +1 -0
  143. package/dist/ui/MultilineTextInput.test.js +30 -0
  144. package/dist/ui/MultilineTextInput.test.js.map +1 -0
  145. package/dist/ui/TodoPanel.d.ts +7 -0
  146. package/dist/ui/TodoPanel.js +36 -0
  147. package/dist/ui/TodoPanel.js.map +1 -0
  148. package/dist/withRetry.d.ts +14 -0
  149. package/dist/withRetry.js +106 -0
  150. package/dist/withRetry.js.map +1 -0
  151. package/dist/yomeSkills/cli.d.ts +8 -0
  152. package/dist/yomeSkills/cli.js +155 -8
  153. package/dist/yomeSkills/cli.js.map +1 -1
  154. package/dist/yomeSkills/deprecate.d.ts +29 -0
  155. package/dist/yomeSkills/deprecate.js +99 -0
  156. package/dist/yomeSkills/deprecate.js.map +1 -0
  157. package/dist/yomeSkills/installFromHubTarball.d.ts +26 -0
  158. package/dist/yomeSkills/installFromHubTarball.js +161 -0
  159. package/dist/yomeSkills/installFromHubTarball.js.map +1 -0
  160. package/dist/yomeSkills/installGithub.d.ts +7 -0
  161. package/dist/yomeSkills/installGithub.js +42 -21
  162. package/dist/yomeSkills/installGithub.js.map +1 -1
  163. package/dist/yomeSkills/invoke.js +50 -18
  164. package/dist/yomeSkills/invoke.js.map +1 -1
  165. package/dist/yomeSkills/publish.d.ts +2 -0
  166. package/dist/yomeSkills/publish.js +6 -1
  167. package/dist/yomeSkills/publish.js.map +1 -1
  168. package/package.json +13 -3
@@ -0,0 +1,10 @@
1
+ import type { TaskRecord } from '../taskStore.js';
2
+ export declare function registerOnceTask(task: TaskRecord, opts: {
3
+ yomeBinPath: string;
4
+ }): void;
5
+ export declare function unregisterOnceTask(id: string): void;
6
+ export declare function listActiveOnce(): {
7
+ taskId: string;
8
+ scheduledFor: number;
9
+ }[];
10
+ export declare function unregisterAllOnce(): void;
@@ -0,0 +1,80 @@
1
+ // One-shot trigger: a task that fires exactly once at a specified
2
+ // wall-clock time. After firing, the task is automatically disabled so
3
+ // it won't be re-armed on daemon restart.
4
+ //
5
+ // Storage shape: { kind: 'once', atMs: <epoch_ms> }
6
+ //
7
+ // Past-due semantics: if the daemon starts AFTER atMs, we still fire
8
+ // once (immediately) — the user said "do this thing eventually", and
9
+ // silently skipping it is worse than late delivery. They can `cron rm`
10
+ // before starting the daemon if they want to cancel.
11
+ import { setEnabled } from '../taskStore.js';
12
+ import { runChildTask } from './childRunner.js';
13
+ const pending = new Map();
14
+ const PAST_DUE_DELAY_MS = 1_000; // small delay to avoid thundering at startup
15
+ export function registerOnceTask(task, opts) {
16
+ if (task.trigger.kind !== 'once')
17
+ return;
18
+ if (!task.enabled)
19
+ return;
20
+ const atMs = task.trigger.atMs;
21
+ if (typeof atMs !== 'number' || Number.isNaN(atMs)) {
22
+ // eslint-disable-next-line no-console
23
+ console.error(`[once] task ${task.id}: invalid atMs ${atMs}, skipping`);
24
+ return;
25
+ }
26
+ // Idempotent re-registration: tasks.json gets rewritten every time
27
+ // ANY task records a run (recordRun → atomic write), which triggers
28
+ // the scheduler's fs.watch and a full reloadAllTasks(). Without the
29
+ // guard below, that re-entry would clearTimeout() our pending fire
30
+ // and setTimeout() a fresh one — resetting the countdown each time,
31
+ // and (worse) racing with the just-fired callback so we'd run the
32
+ // task twice within milliseconds. Skipping when nothing changed
33
+ // makes reload a no-op for already-armed once timers.
34
+ const existing = pending.get(task.id);
35
+ if (existing && existing.scheduledFor === atMs) {
36
+ return;
37
+ }
38
+ if (existing) {
39
+ unregisterOnceTask(task.id);
40
+ }
41
+ const now = Date.now();
42
+ const delay = Math.max(PAST_DUE_DELAY_MS, atMs - now);
43
+ // eslint-disable-next-line no-console
44
+ console.log(`[once] registered ${task.id} (fires at ${new Date(atMs).toISOString()}` +
45
+ `${atMs < now ? ', past-due → firing soon' : ''})`);
46
+ const timer = setTimeout(() => {
47
+ pending.delete(task.id);
48
+ runChildTask({
49
+ taskId: task.id,
50
+ yomeBinPath: opts.yomeBinPath,
51
+ task,
52
+ triggerMeta: { triggerKind: 'once', atMs },
53
+ onComplete: () => {
54
+ // Disable the task so it doesn't re-fire if the daemon restarts.
55
+ // The lastRun summary is what survives in tasks.json.
56
+ setEnabled(task.id, false);
57
+ },
58
+ });
59
+ }, delay);
60
+ // Don't keep the daemon event loop alive solely on this timer — the
61
+ // scheduler's other mechanisms (cron jobs, file watchers) keep it
62
+ // alive, and on shutdown we want clean exit.
63
+ timer.unref?.();
64
+ pending.set(task.id, { taskId: task.id, timer, scheduledFor: atMs });
65
+ }
66
+ export function unregisterOnceTask(id) {
67
+ const entry = pending.get(id);
68
+ if (!entry)
69
+ return;
70
+ clearTimeout(entry.timer);
71
+ pending.delete(id);
72
+ }
73
+ export function listActiveOnce() {
74
+ return [...pending.values()].map((p) => ({ taskId: p.taskId, scheduledFor: p.scheduledFor }));
75
+ }
76
+ export function unregisterAllOnce() {
77
+ for (const id of [...pending.keys()])
78
+ unregisterOnceTask(id);
79
+ }
80
+ //# sourceMappingURL=once.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"once.js","sourceRoot":"","sources":["../../../src/daemon/triggers/once.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,14 +2,27 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { render } from 'ink';
3
3
  import meow from 'meow';
4
4
  import { App } from './ui/App.js';
5
- import { resolveConfig, saveStoredConfig, CONFIG_PATH } from './config.js';
5
+ import { resolveConfig, saveStoredConfig, CONFIG_PATH, loadModelEntries, modelEntryToConfig } from './config.js';
6
6
  import { runSkillSubcommand, runLogin, runLogout, runWhoami } from './yomeSkills/cli.js';
7
7
  import { runThreadSubcommand } from './threadCli.js';
8
+ import { runDaemonSubcommand } from './daemon/index.js';
9
+ import { runCronSubcommand } from './daemon/cronCli.js';
10
+ import { runTaskById } from './daemon/runTaskEntry.js';
11
+ import { runMeshSubcommand } from './commands/mesh.js';
8
12
  const cli = meow(`
9
13
  Usage
10
14
  $ yome [prompt]
11
15
  $ yome skill <subcommand>
12
16
  $ yome thread <subcommand>
17
+ $ yome mesh <subcommand>
18
+
19
+ Mesh Subcommands
20
+ $ yome mesh start [--foreground] Connect this box to Yome Cloud as a mesh device
21
+ $ yome mesh stop Stop the background mesh daemon
22
+ $ yome mesh status Show mesh daemon status + device id
23
+ $ yome mesh logs [-f] Print / tail the mesh daemon log
24
+ $ yome mesh info Show user + device id + capabilities
25
+ $ yome mesh rename <alias> [desc] Set this device's display alias
13
26
 
14
27
  Skill Subcommands
15
28
  $ yome skill install <source> Install a skill. <source> can be:
@@ -19,6 +32,15 @@ const cli = meow(`
19
32
  $ yome skill uninstall <slug> Uninstall an installed skill (e.g. @yome/ppt)
20
33
  $ yome skill list List installed skills
21
34
 
35
+ Daemon / Cron Subcommands
36
+ $ yome daemon install Install LaunchAgent (auto-starts on login)
37
+ $ yome daemon start Start the daemon in the background
38
+ $ yome daemon status Show daemon pid + active task count
39
+ $ yome cron add "<prompt>" --at "0 9 * * *"
40
+ Schedule an unattended agent task
41
+ $ yome cron list List scheduled tasks
42
+ $ yome cron logs <id> -f Tail audit log for a task
43
+
22
44
  Thread Subcommands
23
45
  $ yome thread list List sessions in the current cwd
24
46
  $ yome thread share <session-id> --skill=<slug>
@@ -72,6 +94,31 @@ const cli = meow(`
72
94
  grant: { type: 'string' },
73
95
  revoke: { type: 'string' },
74
96
  skipVerify: { type: 'boolean' },
97
+ reason: { type: 'string' },
98
+ replacedBy: { type: 'string' },
99
+ version: { type: 'string' },
100
+ allowDeprecated: { type: 'boolean' },
101
+ // daemon / cron flags
102
+ foreground: { type: 'boolean' },
103
+ follow: { type: 'boolean', shortFlag: 'f' },
104
+ at: { type: 'string' },
105
+ human: { type: 'string' },
106
+ once: { type: 'string' },
107
+ on: { type: 'string' },
108
+ path: { type: 'string' },
109
+ within: { type: 'string' }, // calendar lead time, e.g. "10m"
110
+ titleRegex: { type: 'string' }, // calendar title filter
111
+ calendar: { type: 'string' }, // calendar name filter
112
+ tz: { type: 'string' },
113
+ cwd: { type: 'string' },
114
+ allow: { type: 'string', isMultiple: true },
115
+ deny: { type: 'string', isMultiple: true },
116
+ maxMs: { type: 'string' },
117
+ env: { type: 'string', isMultiple: true }, // KEY=VAL, repeatable
118
+ // mesh flags
119
+ as: { type: 'string' }, // `yome mesh start --as <hostname>`
120
+ hubBase: { type: 'string' }, // dev override for hub base URL
121
+ tui: { type: 'boolean' }, // `yome mesh start --tui` mounts a thin-client TUI
75
122
  },
76
123
  });
77
124
  // Subcommand router (kept as plain dispatch — meow doesn't do nested commands).
@@ -85,6 +132,10 @@ if (cli.input[0] === 'skill') {
85
132
  grant: cli.flags.grant,
86
133
  revoke: cli.flags.revoke,
87
134
  skipVerify: !!cli.flags.skipVerify,
135
+ reason: cli.flags.reason,
136
+ replacedBy: cli.flags.replacedBy,
137
+ version: cli.flags.version,
138
+ allowDeprecated: !!cli.flags.allowDeprecated,
88
139
  });
89
140
  process.exit(exit);
90
141
  }
@@ -110,6 +161,54 @@ if (cli.input[0] === 'thread') {
110
161
  });
111
162
  process.exit(exit);
112
163
  }
164
+ // Internal: scheduler spawns `yome __run-task <id>` per fire.
165
+ // Not exposed in --help; users go through `yome cron run`.
166
+ if (cli.input[0] === '__run-task') {
167
+ const id = cli.input[1];
168
+ if (!id) {
169
+ console.error('usage: yome __run-task <id>');
170
+ process.exit(2);
171
+ }
172
+ process.exit(await runTaskById(id));
173
+ }
174
+ if (cli.input[0] === 'daemon') {
175
+ const exit = await runDaemonSubcommand(cli.input.slice(1), {
176
+ foreground: !!cli.flags.foreground,
177
+ follow: !!cli.flags.follow,
178
+ });
179
+ process.exit(exit);
180
+ }
181
+ if (cli.input[0] === 'mesh') {
182
+ const exit = await runMeshSubcommand(cli.input.slice(1), {
183
+ foreground: !!cli.flags.foreground,
184
+ follow: !!cli.flags.follow,
185
+ as: typeof cli.flags.as === 'string' ? cli.flags.as : undefined,
186
+ hubBase: typeof cli.flags.hubBase === 'string' ? cli.flags.hubBase : undefined,
187
+ tui: !!cli.flags.tui,
188
+ });
189
+ process.exit(exit);
190
+ }
191
+ if (cli.input[0] === 'cron') {
192
+ const exit = await runCronSubcommand(cli.input.slice(1), {
193
+ at: cli.flags.at,
194
+ human: cli.flags.human,
195
+ once: cli.flags.once,
196
+ on: cli.flags.on,
197
+ path: cli.flags.path,
198
+ within: cli.flags.within,
199
+ titleRegex: cli.flags.titleRegex,
200
+ calendar: cli.flags.calendar,
201
+ tz: cli.flags.tz,
202
+ cwd: cli.flags.cwd,
203
+ allow: cli.flags.allow,
204
+ deny: cli.flags.deny,
205
+ maxMs: cli.flags.maxMs,
206
+ env: cli.flags.env,
207
+ follow: !!cli.flags.follow,
208
+ json: !!cli.flags.json,
209
+ });
210
+ process.exit(exit);
211
+ }
113
212
  if (cli.input[0] === 'doctor') {
114
213
  const { runDoctor } = await import('./yomeSkills/doctor.js');
115
214
  const report = runDoctor();
@@ -144,7 +243,7 @@ if (cli.input[0] === 'doctor') {
144
243
  //
145
244
  // Routes BEFORE the API-key check because skill calls don't need an LLM key.
146
245
  const RESERVED_TOP_LEVEL_DOMAINS = new Set([
147
- 'skill', 'login', 'logout', 'whoami', 'doctor', 'thread',
246
+ 'skill', 'login', 'logout', 'whoami', 'doctor', 'thread', 'daemon', 'cron', 'mesh', '__run-task',
148
247
  ]);
149
248
  if (cli.input.length >= 1 &&
150
249
  !RESERVED_TOP_LEVEL_DOMAINS.has(cli.input[0]) &&
@@ -155,7 +254,11 @@ if (cli.input.length >= 1 &&
155
254
  // but argv preserves the user's exact tokens.
156
255
  const raw = process.argv.slice(2).filter((a) => {
157
256
  // Drop CLI-global flags so they don't leak into the skill call.
158
- return !/^--?(key|base-url|baseUrl|model|provider|force|verbose|skill|out|no-redact|noRedact|submit|case-id|caseId|dry-run|dryRun|json|yes|grant|revoke|skip-verify|skipVerify)(=|$)/.test(a);
257
+ // NOTE: do NOT strip `--force` here. Skills (e.g. `ppt slide.delete 3 --force`)
258
+ // legitimately use --force as a per-action flag, and it's their semantics
259
+ // — not the CLI-global `--force` of `yome skill install --force` — that
260
+ // matters once we've decided this is a skill invocation.
261
+ return !/^--?(key|base-url|baseUrl|model|provider|verbose|skill|out|no-redact|noRedact|submit|case-id|caseId|dry-run|dryRun|json|yes|grant|revoke|skip-verify|skipVerify|reason|replaced-by|replacedBy|version|allow-deprecated|allowDeprecated|foreground|follow|f|at|human|once|on|path|tz|cwd|allow|deny|max-ms|maxMs)(=|$)/.test(a);
159
262
  });
160
263
  const commandLine = raw.map((a) => /\s/.test(a) ? `"${a.replace(/"/g, '\\"')}"` : a).join(' ');
161
264
  const k = await tryKernel(commandLine);
@@ -184,16 +287,24 @@ if (cli.flags.key || cli.flags.baseUrl || cli.flags.provider) {
184
287
  if (!cli.input.length)
185
288
  process.exit(0);
186
289
  }
187
- const config = resolveConfig(cli.flags);
290
+ let config = resolveConfig(cli.flags);
188
291
  if (!config.apiKey) {
189
- console.error('No API key found.');
190
- console.error('Set via: yome --key sk-xxx');
191
- console.error('Or set YOME_API_KEY environment variable.');
192
- process.exit(1);
292
+ // Fall back to the first entry in ~/.yome/settings.json customModels if present.
293
+ const entries = loadModelEntries();
294
+ if (entries.length > 0) {
295
+ config = modelEntryToConfig(entries[0]);
296
+ }
297
+ else {
298
+ console.error('No API key found.');
299
+ console.error('Set via: yome --key sk-xxx');
300
+ console.error('Or set YOME_API_KEY environment variable.');
301
+ console.error('Or add a model to ~/.yome/settings.json (customModels).');
302
+ process.exit(1);
303
+ }
193
304
  }
194
305
  // Only enter interactive mode if no recognized subcommand was provided
195
306
  if (cli.input.length === 0 ||
196
- !['skill', 'login', 'logout', 'whoami', 'doctor', 'thread'].includes(cli.input[0])) {
307
+ !['skill', 'login', 'logout', 'whoami', 'doctor', 'thread', 'daemon', 'cron', 'mesh', '__run-task'].includes(cli.input[0])) {
197
308
  const initialPrompt = cli.input.join(' ') || undefined;
198
309
  const appConfig = initialPrompt
199
310
  ? Object.assign({}, config, { __initialPrompt: initialPrompt })
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/dist/llm.d.ts CHANGED
@@ -7,7 +7,19 @@ type StreamCallback = (event: {
7
7
  toolUseId?: string;
8
8
  toolName?: string;
9
9
  }) => void;
10
- export declare function callLLMStream(config: YomeConfig, systemPrompt: string, messages: AgentMessage[], tools: AnthropicTool[], onEvent: StreamCallback): Promise<AnthropicResponse>;
11
- export declare function callLLM(config: YomeConfig, systemPrompt: string, messages: AgentMessage[], tools?: AnthropicTool[]): Promise<AnthropicResponse>;
10
+ export interface CallLLMOptions {
11
+ signal?: AbortSignal;
12
+ /** Forwarded to withRetry. Default 4 (= 5 total attempts). */
13
+ maxRetries?: number;
14
+ /** Fires before each backoff sleep so callers can surface a "retrying" toast. */
15
+ onRetryNotice?: (n: {
16
+ attempt: number;
17
+ maxRetries: number;
18
+ delayMs: number;
19
+ error: string;
20
+ }) => void;
21
+ }
22
+ export declare function callLLMStream(config: YomeConfig, systemPrompt: string, messages: AgentMessage[], tools: AnthropicTool[], onEvent: StreamCallback, options?: CallLLMOptions): Promise<AnthropicResponse>;
23
+ export declare function callLLM(config: YomeConfig, systemPrompt: string, messages: AgentMessage[], tools?: AnthropicTool[], options?: CallLLMOptions): Promise<AnthropicResponse>;
12
24
  export declare function extractText(response: AnthropicResponse): string;
13
25
  export {};