@todu/cli 0.1.1 → 0.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 (73) hide show
  1. package/dist/commands/config.js +3 -3
  2. package/dist/commands/config.js.map +1 -1
  3. package/dist/commands/daemon.d.ts +4 -0
  4. package/dist/commands/daemon.d.ts.map +1 -0
  5. package/dist/commands/daemon.js +675 -0
  6. package/dist/commands/daemon.js.map +1 -0
  7. package/dist/commands/habit.d.ts +2 -2
  8. package/dist/commands/habit.d.ts.map +1 -1
  9. package/dist/commands/habit.js +270 -315
  10. package/dist/commands/habit.js.map +1 -1
  11. package/dist/commands/label.d.ts +2 -2
  12. package/dist/commands/label.d.ts.map +1 -1
  13. package/dist/commands/label.js +76 -92
  14. package/dist/commands/label.js.map +1 -1
  15. package/dist/commands/note.d.ts +2 -2
  16. package/dist/commands/note.d.ts.map +1 -1
  17. package/dist/commands/note.js +97 -118
  18. package/dist/commands/note.js.map +1 -1
  19. package/dist/commands/plugin.d.ts +4 -0
  20. package/dist/commands/plugin.d.ts.map +1 -0
  21. package/dist/commands/plugin.js +527 -0
  22. package/dist/commands/plugin.js.map +1 -0
  23. package/dist/commands/project.d.ts +2 -2
  24. package/dist/commands/project.d.ts.map +1 -1
  25. package/dist/commands/project.js +99 -117
  26. package/dist/commands/project.js.map +1 -1
  27. package/dist/commands/recurring.d.ts +2 -2
  28. package/dist/commands/recurring.d.ts.map +1 -1
  29. package/dist/commands/recurring.js +250 -284
  30. package/dist/commands/recurring.js.map +1 -1
  31. package/dist/commands/sync.d.ts +2 -2
  32. package/dist/commands/sync.d.ts.map +1 -1
  33. package/dist/commands/sync.js +123 -12
  34. package/dist/commands/sync.js.map +1 -1
  35. package/dist/commands/task.d.ts +2 -2
  36. package/dist/commands/task.d.ts.map +1 -1
  37. package/dist/commands/task.js +181 -207
  38. package/dist/commands/task.js.map +1 -1
  39. package/dist/daemon-command-client.d.ts +11 -0
  40. package/dist/daemon-command-client.d.ts.map +1 -0
  41. package/dist/daemon-command-client.js +57 -0
  42. package/dist/daemon-command-client.js.map +1 -0
  43. package/dist/daemon-plugin-config.d.ts +8 -0
  44. package/dist/daemon-plugin-config.d.ts.map +1 -0
  45. package/dist/daemon-plugin-config.js +22 -0
  46. package/dist/daemon-plugin-config.js.map +1 -0
  47. package/dist/daemon-plugin-paths.d.ts +8 -0
  48. package/dist/daemon-plugin-paths.d.ts.map +1 -0
  49. package/dist/daemon-plugin-paths.js +28 -0
  50. package/dist/daemon-plugin-paths.js.map +1 -0
  51. package/dist/daemon-transport.d.ts +37 -0
  52. package/dist/daemon-transport.d.ts.map +1 -0
  53. package/dist/daemon-transport.js +422 -0
  54. package/dist/daemon-transport.js.map +1 -0
  55. package/dist/daemon-worker-assignment.d.ts +8 -0
  56. package/dist/daemon-worker-assignment.d.ts.map +1 -0
  57. package/dist/daemon-worker-assignment.js +22 -0
  58. package/dist/daemon-worker-assignment.js.map +1 -0
  59. package/dist/index.js +20 -23
  60. package/dist/index.js.map +1 -1
  61. package/dist/test-helpers/daemon-process.d.ts +5 -0
  62. package/dist/test-helpers/daemon-process.d.ts.map +1 -0
  63. package/dist/test-helpers/daemon-process.js +55 -0
  64. package/dist/test-helpers/daemon-process.js.map +1 -0
  65. package/dist/version.d.ts +2 -0
  66. package/dist/version.d.ts.map +1 -0
  67. package/dist/version.js +3 -0
  68. package/dist/version.js.map +1 -0
  69. package/dist/warnings.d.ts +7 -0
  70. package/dist/warnings.d.ts.map +1 -0
  71. package/dist/warnings.js +21 -0
  72. package/dist/warnings.js.map +1 -0
  73. package/package.json +5 -3
@@ -1,5 +1,6 @@
1
- import { createProjectId, createTaskId, isTaskPriority, isTaskSortField, isTaskStatus, } from "@todu/core";
2
- import { colorPriority, colorStatus, formatError, formatJSON, formatTable } from "../format.js";
1
+ import { isTaskPriority, isTaskSortField, isTaskStatus } from "@todu/core";
2
+ import { formatDaemonCommandError } from "../daemon-command-client.js";
3
+ import { colorPriority, colorStatus, formatJSON, formatTable } from "../format.js";
3
4
  const TASK_COLUMNS = [
4
5
  { key: "id", label: "ID" },
5
6
  { key: "title", label: "Title" },
@@ -37,21 +38,27 @@ function taskDetail(t, projectName) {
37
38
  return lines.join("\n");
38
39
  }
39
40
  /**
40
- * Resolve a project reference to a ProjectId.
41
+ * Resolve a project reference to a project ID.
41
42
  * Try as ID first, then search by name.
42
43
  */
43
- async function resolveProjectId(todu, ref) {
44
+ async function resolveProjectId(invokeDaemon, ref) {
44
45
  // Try as ID
45
- const byId = await todu.project.get(createProjectId(ref));
46
- if (byId.ok)
46
+ const byId = await invokeDaemon("project.get", { id: ref });
47
+ if (byId.ok) {
47
48
  return { ok: true, id: byId.value.id, name: byId.value.name };
49
+ }
50
+ if (byId.error.code !== "NOT_FOUND") {
51
+ return { ok: false, message: formatDaemonCommandError(byId.error) };
52
+ }
48
53
  // Try name search
49
- const list = await todu.project.list();
50
- if (!list.ok)
51
- return { ok: false, message: formatError(list.error) };
54
+ const list = await invokeDaemon("project.list", {});
55
+ if (!list.ok) {
56
+ return { ok: false, message: formatDaemonCommandError(list.error) };
57
+ }
52
58
  const matches = list.value.filter((p) => p.name.toLowerCase() === ref.toLowerCase());
53
- if (matches.length === 1)
59
+ if (matches.length === 1) {
54
60
  return { ok: true, id: matches[0].id, name: matches[0].name };
61
+ }
55
62
  if (matches.length > 1) {
56
63
  return { ok: false, message: `Multiple projects match "${ref}". Use the project ID instead.` };
57
64
  }
@@ -60,17 +67,18 @@ async function resolveProjectId(todu, ref) {
60
67
  /**
61
68
  * Build a map of projectId → projectName for display.
62
69
  */
63
- async function buildProjectNameMap(todu) {
64
- const result = await todu.project.list();
65
- if (!result.ok)
70
+ async function buildProjectNameMap(invokeDaemon) {
71
+ const result = await invokeDaemon("project.list", {});
72
+ if (!result.ok) {
66
73
  return {};
74
+ }
67
75
  const map = {};
68
76
  for (const p of result.value) {
69
77
  map[p.id] = p.name;
70
78
  }
71
79
  return map;
72
80
  }
73
- export function registerTaskCommands(program, getTodu) {
81
+ export function registerTaskCommands(program, invokeDaemon) {
74
82
  const task = program.command("task").description("Manage tasks");
75
83
  // create
76
84
  task
@@ -84,15 +92,14 @@ export function registerTaskCommands(program, getTodu) {
84
92
  .option("--due <date>", "due date (ISO format)")
85
93
  .option("--scheduled <date>", "scheduled date (ISO format)")
86
94
  .action(async (opts) => {
87
- const todu = await getTodu();
88
- try {
89
- const project = await resolveProjectId(todu, opts.project);
90
- if (!project.ok) {
91
- console.error(project.message);
92
- process.exitCode = 1;
93
- return;
94
- }
95
- const result = await todu.task.create({
95
+ const project = await resolveProjectId(invokeDaemon, opts.project);
96
+ if (!project.ok) {
97
+ console.error(project.message);
98
+ process.exitCode = 1;
99
+ return;
100
+ }
101
+ const result = await invokeDaemon("task.create", {
102
+ input: {
96
103
  title: opts.title,
97
104
  projectId: project.id,
98
105
  priority: opts.priority,
@@ -100,23 +107,20 @@ export function registerTaskCommands(program, getTodu) {
100
107
  labels: opts.label,
101
108
  dueDate: opts.due,
102
109
  scheduledDate: opts.scheduled,
103
- });
104
- if (!result.ok) {
105
- console.error(formatError(result.error));
106
- process.exitCode = 1;
107
- return;
108
- }
109
- const format = program.opts().format;
110
- if (format === "json") {
111
- console.log(formatJSON(result.value));
112
- }
113
- else {
114
- console.log("Task created:");
115
- console.log(taskDetail(result.value, project.name));
116
- }
110
+ },
111
+ });
112
+ if (!result.ok) {
113
+ console.error(formatDaemonCommandError(result.error));
114
+ process.exitCode = 1;
115
+ return;
117
116
  }
118
- finally {
119
- await todu.close();
117
+ const format = program.opts().format;
118
+ if (format === "json") {
119
+ console.log(formatJSON(result.value));
120
+ }
121
+ else {
122
+ console.log("Task created:");
123
+ console.log(taskDetail(result.value, project.name));
120
124
  }
121
125
  });
122
126
  // list
@@ -132,71 +136,68 @@ export function registerTaskCommands(program, getTodu) {
132
136
  .option("--sort <field>", "sort by field (priority, dueDate, createdAt, updatedAt, title)")
133
137
  .option("--asc", "sort ascending (default: descending)")
134
138
  .action(async (opts) => {
135
- const todu = await getTodu();
136
- try {
137
- let projectId;
138
- if (opts.project) {
139
- const project = await resolveProjectId(todu, opts.project);
140
- if (!project.ok) {
141
- console.error(project.message);
142
- process.exitCode = 1;
143
- return;
144
- }
145
- projectId = project.id;
146
- }
147
- // Parse multi-status: --status active,inprogress
148
- let status;
149
- if (opts.status) {
150
- const parts = opts.status.split(",").map((s) => s.trim());
151
- for (const s of parts) {
152
- if (!isTaskStatus(s)) {
153
- console.error(`Error: invalid status: ${s}`);
154
- process.exitCode = 1;
155
- return;
156
- }
157
- }
158
- status = parts.length === 1 ? parts[0] : parts;
159
- }
160
- if (opts.priority && !isTaskPriority(opts.priority)) {
161
- console.error(`Error: invalid priority: ${opts.priority}`);
139
+ let projectId;
140
+ if (opts.project) {
141
+ const project = await resolveProjectId(invokeDaemon, opts.project);
142
+ if (!project.ok) {
143
+ console.error(project.message);
162
144
  process.exitCode = 1;
163
145
  return;
164
146
  }
165
- // Parse sort
166
- let sort;
167
- if (opts.sort) {
168
- if (!isTaskSortField(opts.sort)) {
169
- console.error(`Error: invalid sort field: ${opts.sort}`);
147
+ projectId = project.id;
148
+ }
149
+ // Parse multi-status: --status active,inprogress
150
+ let status;
151
+ if (opts.status) {
152
+ const parts = opts.status.split(",").map((s) => s.trim());
153
+ for (const s of parts) {
154
+ if (!isTaskStatus(s)) {
155
+ console.error(`Error: invalid status: ${s}`);
170
156
  process.exitCode = 1;
171
157
  return;
172
158
  }
173
- sort = { field: opts.sort, direction: opts.asc ? "asc" : "desc" };
174
159
  }
175
- const result = await todu.task.list({
160
+ status = parts.length === 1 ? parts[0] : parts;
161
+ }
162
+ if (opts.priority && !isTaskPriority(opts.priority)) {
163
+ console.error(`Error: invalid priority: ${opts.priority}`);
164
+ process.exitCode = 1;
165
+ return;
166
+ }
167
+ // Parse sort
168
+ let sort;
169
+ if (opts.sort) {
170
+ if (!isTaskSortField(opts.sort)) {
171
+ console.error(`Error: invalid sort field: ${opts.sort}`);
172
+ process.exitCode = 1;
173
+ return;
174
+ }
175
+ sort = { field: opts.sort, direction: opts.asc ? "asc" : "desc" };
176
+ }
177
+ const result = await invokeDaemon("task.list", {
178
+ filter: {
176
179
  projectId,
177
180
  status,
178
181
  priority: opts.priority,
179
182
  label: opts.label,
180
183
  overdue: opts.overdue,
181
184
  today: opts.today,
182
- }, sort);
183
- if (!result.ok) {
184
- console.error(formatError(result.error));
185
- process.exitCode = 1;
186
- return;
187
- }
188
- const format = program.opts().format;
189
- if (format === "json") {
190
- console.log(formatJSON(result.value));
191
- }
192
- else {
193
- const nameMap = await buildProjectNameMap(todu);
194
- const rows = result.value.map((t) => taskToRow(t, nameMap[t.projectId]));
195
- console.log(formatTable(rows, TASK_COLUMNS));
196
- }
185
+ },
186
+ sort,
187
+ });
188
+ if (!result.ok) {
189
+ console.error(formatDaemonCommandError(result.error));
190
+ process.exitCode = 1;
191
+ return;
197
192
  }
198
- finally {
199
- await todu.close();
193
+ const format = program.opts().format;
194
+ if (format === "json") {
195
+ console.log(formatJSON(result.value));
196
+ }
197
+ else {
198
+ const nameMap = await buildProjectNameMap(invokeDaemon);
199
+ const rows = result.value.map((t) => taskToRow(t, nameMap[t.projectId]));
200
+ console.log(formatTable(rows, TASK_COLUMNS));
200
201
  }
201
202
  });
202
203
  // show
@@ -204,25 +205,19 @@ export function registerTaskCommands(program, getTodu) {
204
205
  .command("show <id>")
205
206
  .description("Show task details")
206
207
  .action(async (id) => {
207
- const todu = await getTodu();
208
- try {
209
- const result = await todu.task.get(createTaskId(id));
210
- if (!result.ok) {
211
- console.error(formatError(result.error));
212
- process.exitCode = 1;
213
- return;
214
- }
215
- const nameMap = await buildProjectNameMap(todu);
216
- const format = program.opts().format;
217
- if (format === "json") {
218
- console.log(formatJSON(result.value));
219
- }
220
- else {
221
- console.log(taskDetail(result.value, nameMap[result.value.projectId]));
222
- }
208
+ const result = await invokeDaemon("task.get", { id });
209
+ if (!result.ok) {
210
+ console.error(formatDaemonCommandError(result.error));
211
+ process.exitCode = 1;
212
+ return;
223
213
  }
224
- finally {
225
- await todu.close();
214
+ const nameMap = await buildProjectNameMap(invokeDaemon);
215
+ const format = program.opts().format;
216
+ if (format === "json") {
217
+ console.log(formatJSON(result.value));
218
+ }
219
+ else {
220
+ console.log(taskDetail(result.value, nameMap[result.value.projectId]));
226
221
  }
227
222
  });
228
223
  // update
@@ -237,9 +232,9 @@ export function registerTaskCommands(program, getTodu) {
237
232
  .option("--due <date>", "new due date")
238
233
  .option("--scheduled <date>", "new scheduled date")
239
234
  .action(async (id, opts) => {
240
- const todu = await getTodu();
241
- try {
242
- const result = await todu.task.update(createTaskId(id), {
235
+ const result = await invokeDaemon("task.update", {
236
+ id,
237
+ input: {
243
238
  title: opts.title,
244
239
  status: opts.status,
245
240
  priority: opts.priority,
@@ -247,24 +242,21 @@ export function registerTaskCommands(program, getTodu) {
247
242
  labels: opts.label,
248
243
  dueDate: opts.due,
249
244
  scheduledDate: opts.scheduled,
250
- });
251
- if (!result.ok) {
252
- console.error(formatError(result.error));
253
- process.exitCode = 1;
254
- return;
255
- }
256
- const nameMap = await buildProjectNameMap(todu);
257
- const format = program.opts().format;
258
- if (format === "json") {
259
- console.log(formatJSON(result.value));
260
- }
261
- else {
262
- console.log("Task updated:");
263
- console.log(taskDetail(result.value, nameMap[result.value.projectId]));
264
- }
245
+ },
246
+ });
247
+ if (!result.ok) {
248
+ console.error(formatDaemonCommandError(result.error));
249
+ process.exitCode = 1;
250
+ return;
251
+ }
252
+ const nameMap = await buildProjectNameMap(invokeDaemon);
253
+ const format = program.opts().format;
254
+ if (format === "json") {
255
+ console.log(formatJSON(result.value));
265
256
  }
266
- finally {
267
- await todu.close();
257
+ else {
258
+ console.log("Task updated:");
259
+ console.log(taskDetail(result.value, nameMap[result.value.projectId]));
268
260
  }
269
261
  });
270
262
  // delete
@@ -272,24 +264,18 @@ export function registerTaskCommands(program, getTodu) {
272
264
  .command("delete <id>")
273
265
  .description("Delete a task")
274
266
  .action(async (id) => {
275
- const todu = await getTodu();
276
- try {
277
- const result = await todu.task.delete(createTaskId(id));
278
- if (!result.ok) {
279
- console.error(formatError(result.error));
280
- process.exitCode = 1;
281
- return;
282
- }
283
- const format = program.opts().format;
284
- if (format === "json") {
285
- console.log(formatJSON({ deleted: id }));
286
- }
287
- else {
288
- console.log(`Deleted task: ${id}`);
289
- }
267
+ const result = await invokeDaemon("task.delete", { id });
268
+ if (!result.ok) {
269
+ console.error(formatDaemonCommandError(result.error));
270
+ process.exitCode = 1;
271
+ return;
272
+ }
273
+ const format = program.opts().format;
274
+ if (format === "json") {
275
+ console.log(formatJSON({ deleted: id }));
290
276
  }
291
- finally {
292
- await todu.close();
277
+ else {
278
+ console.log(`Deleted task: ${id}`);
293
279
  }
294
280
  });
295
281
  // move
@@ -297,31 +283,28 @@ export function registerTaskCommands(program, getTodu) {
297
283
  .command("move <id> <project>")
298
284
  .description("Move a task to another project")
299
285
  .action(async (id, projectRef) => {
300
- const todu = await getTodu();
301
- try {
302
- const project = await resolveProjectId(todu, projectRef);
303
- if (!project.ok) {
304
- console.error(project.message);
305
- process.exitCode = 1;
306
- return;
307
- }
308
- const result = await todu.task.move(createTaskId(id), project.id);
309
- if (!result.ok) {
310
- console.error(formatError(result.error));
311
- process.exitCode = 1;
312
- return;
313
- }
314
- const format = program.opts().format;
315
- if (format === "json") {
316
- console.log(formatJSON(result.value));
317
- }
318
- else {
319
- console.log(`Moved task to ${project.name}:`);
320
- console.log(taskDetail(result.value, project.name));
321
- }
286
+ const project = await resolveProjectId(invokeDaemon, projectRef);
287
+ if (!project.ok) {
288
+ console.error(project.message);
289
+ process.exitCode = 1;
290
+ return;
291
+ }
292
+ const result = await invokeDaemon("task.move", {
293
+ id,
294
+ projectId: project.id,
295
+ });
296
+ if (!result.ok) {
297
+ console.error(formatDaemonCommandError(result.error));
298
+ process.exitCode = 1;
299
+ return;
300
+ }
301
+ const format = program.opts().format;
302
+ if (format === "json") {
303
+ console.log(formatJSON(result.value));
322
304
  }
323
- finally {
324
- await todu.close();
305
+ else {
306
+ console.log(`Moved task to ${project.name}:`);
307
+ console.log(taskDetail(result.value, project.name));
325
308
  }
326
309
  });
327
310
  // search
@@ -329,26 +312,20 @@ export function registerTaskCommands(program, getTodu) {
329
312
  .command("search <query>")
330
313
  .description("Search tasks by title")
331
314
  .action(async (query) => {
332
- const todu = await getTodu();
333
- try {
334
- const result = await todu.task.search(query);
335
- if (!result.ok) {
336
- console.error(formatError(result.error));
337
- process.exitCode = 1;
338
- return;
339
- }
340
- const format = program.opts().format;
341
- if (format === "json") {
342
- console.log(formatJSON(result.value));
343
- }
344
- else {
345
- const nameMap = await buildProjectNameMap(todu);
346
- const rows = result.value.map((t) => taskToRow(t, nameMap[t.projectId]));
347
- console.log(formatTable(rows, TASK_COLUMNS));
348
- }
315
+ const result = await invokeDaemon("task.search", { query });
316
+ if (!result.ok) {
317
+ console.error(formatDaemonCommandError(result.error));
318
+ process.exitCode = 1;
319
+ return;
349
320
  }
350
- finally {
351
- await todu.close();
321
+ const format = program.opts().format;
322
+ if (format === "json") {
323
+ console.log(formatJSON(result.value));
324
+ }
325
+ else {
326
+ const nameMap = await buildProjectNameMap(invokeDaemon);
327
+ const rows = result.value.map((t) => taskToRow(t, nameMap[t.projectId]));
328
+ console.log(formatTable(rows, TASK_COLUMNS));
352
329
  }
353
330
  });
354
331
  // Status shortcut helper
@@ -357,26 +334,23 @@ export function registerTaskCommands(program, getTodu) {
357
334
  .command(`${name} <id>`)
358
335
  .description(description)
359
336
  .action(async (id) => {
360
- const todu = await getTodu();
361
- try {
362
- const result = await todu.task.update(createTaskId(id), { status: targetStatus });
363
- if (!result.ok) {
364
- console.error(formatError(result.error));
365
- process.exitCode = 1;
366
- return;
367
- }
368
- const nameMap = await buildProjectNameMap(todu);
369
- const format = program.opts().format;
370
- if (format === "json") {
371
- console.log(formatJSON(result.value));
372
- }
373
- else {
374
- console.log(`Task ${targetStatus}:`);
375
- console.log(taskDetail(result.value, nameMap[result.value.projectId]));
376
- }
337
+ const result = await invokeDaemon("task.update", {
338
+ id,
339
+ input: { status: targetStatus },
340
+ });
341
+ if (!result.ok) {
342
+ console.error(formatDaemonCommandError(result.error));
343
+ process.exitCode = 1;
344
+ return;
345
+ }
346
+ const nameMap = await buildProjectNameMap(invokeDaemon);
347
+ const format = program.opts().format;
348
+ if (format === "json") {
349
+ console.log(formatJSON(result.value));
377
350
  }
378
- finally {
379
- await todu.close();
351
+ else {
352
+ console.log(`Task ${targetStatus}:`);
353
+ console.log(taskDetail(result.value, nameMap[result.value.projectId]));
380
354
  }
381
355
  });
382
356
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Command } from "commander";
2
+ import type { DaemonTransportResult } from "./daemon-transport.js";
3
+ export type CliDaemonInvoker = <T>(method: string, params?: Record<string, unknown>) => Promise<DaemonTransportResult<T>>;
4
+ export declare function createCliDaemonInvoker(program: Command): CliDaemonInvoker;
5
+ export declare function formatDaemonCommandError(error: {
6
+ code: string;
7
+ message: string;
8
+ details?: Record<string, unknown>;
9
+ }): string;
10
+ export declare function resolveDaemonSocketPath(storagePath: string): string;
11
+ //# sourceMappingURL=daemon-command-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-command-client.d.ts","sourceRoot":"","sources":["../src/daemon-command-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAazE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GAAG,MAAM,CAUT;AAoCD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAOnE"}
@@ -0,0 +1,57 @@
1
+ import path from "node:path";
2
+ import { resolveDataDir } from "@todu/core";
3
+ import { getConfigPath, loadConfig } from "./config.js";
4
+ import { invokeDaemonMethod } from "./daemon-transport.js";
5
+ export function createCliDaemonInvoker(program) {
6
+ return async (method, params = {}) => {
7
+ const opts = program.opts();
8
+ const configPath = getConfigPath(opts.config);
9
+ const config = loadConfig(configPath);
10
+ const storagePath = resolveDataDir(configPath, config);
11
+ return invokeDaemonMethod({
12
+ socketPath: resolveDaemonSocketPath(storagePath),
13
+ method,
14
+ params,
15
+ });
16
+ };
17
+ }
18
+ export function formatDaemonCommandError(error) {
19
+ if (error.code === "DAEMON_UNAVAILABLE") {
20
+ return `Error: local daemon is required but unavailable (${error.message}). Start the daemon and retry.`;
21
+ }
22
+ if (error.code === "JOIN_FAILED") {
23
+ return formatJoinFailedError(error);
24
+ }
25
+ return `Error: ${error.message}`;
26
+ }
27
+ function formatJoinFailedError(error) {
28
+ const stage = stringDetail(error.details, "stage");
29
+ const previousCatalogId = stringDetail(error.details, "previousCatalogId");
30
+ const targetCatalogId = stringDetail(error.details, "targetCatalogId");
31
+ const cause = stringDetail(error.details, "cause") ??
32
+ stringDetail(error.details, "switchError") ??
33
+ stringDetail(error.details, "restoreError");
34
+ const contextParts = [
35
+ stage ? `stage=${stage}` : null,
36
+ previousCatalogId ? `previous=${previousCatalogId}` : null,
37
+ targetCatalogId ? `target=${targetCatalogId}` : null,
38
+ ].filter((value) => value !== null);
39
+ const context = contextParts.length > 0 ? ` (${contextParts.join(", ")})` : "";
40
+ const causeText = cause ? ` Cause: ${cause}` : "";
41
+ return `Error: ${error.message}${context}${causeText}`;
42
+ }
43
+ function stringDetail(details, key) {
44
+ const value = details?.[key];
45
+ if (typeof value !== "string" || value.length === 0) {
46
+ return null;
47
+ }
48
+ return value;
49
+ }
50
+ export function resolveDaemonSocketPath(storagePath) {
51
+ const socketOverride = process.env.TODUAI_DAEMON_SOCKET;
52
+ if (socketOverride && socketOverride.trim().length > 0) {
53
+ return path.resolve(socketOverride);
54
+ }
55
+ return path.join(storagePath, "daemon.sock");
56
+ }
57
+ //# sourceMappingURL=daemon-command-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-command-client.js","sourceRoot":"","sources":["../src/daemon-command-client.ts"],"names":[],"mappings":"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"}