@seawork/cli 1.0.7 → 1.0.10-rc.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 (83) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +9 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/agent/inspect.d.ts +46 -3
  5. package/dist/commands/agent/inspect.d.ts.map +1 -1
  6. package/dist/commands/agent/inspect.js +3 -3
  7. package/dist/commands/agent/inspect.js.map +1 -1
  8. package/dist/commands/agent/ls.d.ts +3 -0
  9. package/dist/commands/agent/ls.d.ts.map +1 -1
  10. package/dist/commands/agent/ls.js +1 -1
  11. package/dist/commands/agent/ls.js.map +1 -1
  12. package/dist/commands/daemon/status.d.ts.map +1 -1
  13. package/dist/commands/daemon/status.js +0 -1
  14. package/dist/commands/daemon/status.js.map +1 -1
  15. package/dist/commands/doctor.d.ts +10 -0
  16. package/dist/commands/doctor.d.ts.map +1 -0
  17. package/dist/commands/doctor.js +107 -0
  18. package/dist/commands/doctor.js.map +1 -0
  19. package/dist/commands/provider/index.js +1 -1
  20. package/dist/commands/provider/index.js.map +1 -1
  21. package/dist/commands/remote/attach.d.ts +32 -0
  22. package/dist/commands/remote/attach.d.ts.map +1 -0
  23. package/dist/commands/remote/attach.js +102 -0
  24. package/dist/commands/remote/attach.js.map +1 -0
  25. package/dist/commands/remote/index.d.ts +3 -0
  26. package/dist/commands/remote/index.d.ts.map +1 -0
  27. package/dist/commands/remote/index.js +16 -0
  28. package/dist/commands/remote/index.js.map +1 -0
  29. package/dist/commands/remote/inspect.d.ts +10 -0
  30. package/dist/commands/remote/inspect.d.ts.map +1 -0
  31. package/dist/commands/remote/inspect.js +43 -0
  32. package/dist/commands/remote/inspect.js.map +1 -0
  33. package/dist/commands/remote/logs.d.ts +9 -0
  34. package/dist/commands/remote/logs.d.ts.map +1 -0
  35. package/dist/commands/remote/logs.js +55 -0
  36. package/dist/commands/remote/logs.js.map +1 -0
  37. package/dist/commands/remote/ls.d.ts +11 -0
  38. package/dist/commands/remote/ls.d.ts.map +1 -0
  39. package/dist/commands/remote/ls.js +44 -0
  40. package/dist/commands/remote/ls.js.map +1 -0
  41. package/dist/commands/remote/status.d.ts +14 -0
  42. package/dist/commands/remote/status.d.ts.map +1 -0
  43. package/dist/commands/remote/status.js +65 -0
  44. package/dist/commands/remote/status.js.map +1 -0
  45. package/dist/commands/sac/3d.d.ts +5 -0
  46. package/dist/commands/sac/3d.d.ts.map +1 -0
  47. package/dist/commands/sac/3d.js +49 -0
  48. package/dist/commands/sac/3d.js.map +1 -0
  49. package/dist/commands/sac/audio.d.ts +5 -0
  50. package/dist/commands/sac/audio.d.ts.map +1 -0
  51. package/dist/commands/sac/audio.js +36 -0
  52. package/dist/commands/sac/audio.js.map +1 -0
  53. package/dist/commands/sac/common.d.ts +23 -0
  54. package/dist/commands/sac/common.d.ts.map +1 -0
  55. package/dist/commands/sac/common.js +117 -0
  56. package/dist/commands/sac/common.js.map +1 -0
  57. package/dist/commands/sac/image.d.ts +2 -27
  58. package/dist/commands/sac/image.d.ts.map +1 -1
  59. package/dist/commands/sac/image.js +50 -79
  60. package/dist/commands/sac/image.js.map +1 -1
  61. package/dist/commands/sac/index.d.ts.map +1 -1
  62. package/dist/commands/sac/index.js +12 -7
  63. package/dist/commands/sac/index.js.map +1 -1
  64. package/dist/commands/sac/models.d.ts +1 -0
  65. package/dist/commands/sac/models.d.ts.map +1 -1
  66. package/dist/commands/sac/models.js +45 -26
  67. package/dist/commands/sac/models.js.map +1 -1
  68. package/dist/commands/sac/task.d.ts.map +1 -1
  69. package/dist/commands/sac/task.js +6 -4
  70. package/dist/commands/sac/task.js.map +1 -1
  71. package/dist/commands/sac/video.d.ts +5 -0
  72. package/dist/commands/sac/video.d.ts.map +1 -0
  73. package/dist/commands/sac/video.js +101 -0
  74. package/dist/commands/sac/video.js.map +1 -0
  75. package/dist/commands/sessions/index.d.ts +3 -0
  76. package/dist/commands/sessions/index.d.ts.map +1 -0
  77. package/dist/commands/sessions/index.js +10 -0
  78. package/dist/commands/sessions/index.js.map +1 -0
  79. package/dist/commands/sessions/ls.d.ts +21 -0
  80. package/dist/commands/sessions/ls.d.ts.map +1 -0
  81. package/dist/commands/sessions/ls.js +109 -0
  82. package/dist/commands/sessions/ls.js.map +1 -0
  83. package/package.json +3 -3
@@ -0,0 +1,21 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandOptions, ListResult, OutputSchema } from "../../output/index.js";
3
+ export declare function addLsOptions(cmd: Command): Command;
4
+ export interface SessionListItem {
5
+ provider: string;
6
+ sessionId: string;
7
+ shortId: string;
8
+ cwd: string;
9
+ title: string;
10
+ lastActivity: string;
11
+ }
12
+ export declare const sessionLsSchema: OutputSchema<SessionListItem>;
13
+ export type SessionLsResult = ListResult<SessionListItem>;
14
+ export interface SessionLsOptions extends CommandOptions {
15
+ host?: string;
16
+ provider?: string;
17
+ limit?: string;
18
+ cwd?: string;
19
+ }
20
+ export declare function runLsCommand(options: SessionLsOptions, _command: Command): Promise<SessionLsResult>;
21
+ //# sourceMappingURL=ls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/commands/sessions/ls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAgB,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEpG,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CASlD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAoBD,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,eAAe,CASzD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAE1D,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AA2CD,wBAAsB,YAAY,CAChC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,eAAe,CAAC,CA6B1B"}
@@ -0,0 +1,109 @@
1
+ import { resolve as resolvePath } from "node:path";
2
+ import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
3
+ export function addLsOptions(cmd) {
4
+ return cmd
5
+ .description("List persisted agent sessions discoverable on this host")
6
+ .option("--provider <provider>", "Filter by provider (claude, codex). Default: all providers")
7
+ .option("--limit <n>", "Maximum number of sessions to return (default: 20)")
8
+ .option("--cwd <path>", "Only list sessions whose original working directory matches this path exactly");
9
+ }
10
+ function relativeTime(iso) {
11
+ const then = new Date(iso).getTime();
12
+ if (!Number.isFinite(then))
13
+ return iso;
14
+ const seconds = Math.max(0, Math.floor((Date.now() - then) / 1000));
15
+ if (seconds < 60)
16
+ return "just now";
17
+ if (seconds < 3600)
18
+ return `${Math.floor(seconds / 60)} minutes ago`;
19
+ if (seconds < 86400)
20
+ return `${Math.floor(seconds / 3600)} hours ago`;
21
+ return `${Math.floor(seconds / 86400)} days ago`;
22
+ }
23
+ function shortenPath(path) {
24
+ const home = process.env.HOME;
25
+ if (home && path.startsWith(home)) {
26
+ return "~" + path.slice(home.length);
27
+ }
28
+ return path;
29
+ }
30
+ export const sessionLsSchema = {
31
+ idField: "sessionId",
32
+ columns: [
33
+ { header: "SESSION ID", field: "shortId", width: 10 },
34
+ { header: "PROVIDER", field: "provider", width: 10 },
35
+ { header: "CWD", field: "cwd", width: 32 },
36
+ { header: "TITLE", field: "title", width: 40 },
37
+ { header: "LAST ACTIVITY", field: "lastActivity", width: 18 },
38
+ ],
39
+ };
40
+ const KNOWN_PROVIDERS = ["claude", "codex"];
41
+ function parseProvider(raw) {
42
+ if (!raw)
43
+ return undefined;
44
+ const v = raw.trim().toLowerCase();
45
+ if (!v)
46
+ return undefined;
47
+ if (!KNOWN_PROVIDERS.includes(v)) {
48
+ const error = {
49
+ code: "INVALID_PROVIDER",
50
+ message: `Unknown provider: ${raw}`,
51
+ details: `Expected one of: ${KNOWN_PROVIDERS.join(", ")}`,
52
+ };
53
+ throw error;
54
+ }
55
+ return v;
56
+ }
57
+ function parseLimit(raw) {
58
+ if (raw === undefined)
59
+ return undefined;
60
+ const n = Number.parseInt(raw, 10);
61
+ if (!Number.isInteger(n) || n < 1 || n > 100) {
62
+ const error = {
63
+ code: "INVALID_LIMIT",
64
+ message: `--limit must be an integer between 1 and 100, got: ${raw}`,
65
+ };
66
+ throw error;
67
+ }
68
+ return n;
69
+ }
70
+ function toItem(s) {
71
+ return {
72
+ provider: s.provider,
73
+ sessionId: s.sessionId,
74
+ shortId: s.sessionId.slice(0, 8),
75
+ cwd: shortenPath(s.cwd),
76
+ title: (s.title ?? "").trim() || "—",
77
+ lastActivity: relativeTime(s.lastActivityAt),
78
+ };
79
+ }
80
+ export async function runLsCommand(options, _command) {
81
+ const host = getDaemonHost({ host: options.host });
82
+ const provider = parseProvider(options.provider);
83
+ const limit = parseLimit(options.limit);
84
+ const cwd = options.cwd ? resolvePath(options.cwd) : undefined;
85
+ let client;
86
+ try {
87
+ client = await connectToDaemon({ host: options.host });
88
+ }
89
+ catch (err) {
90
+ const message = err instanceof Error ? err.message : String(err);
91
+ const error = {
92
+ code: "DAEMON_NOT_RUNNING",
93
+ message: `Cannot connect to daemon at ${host}: ${message}`,
94
+ details: "Start the daemon with: seawork daemon start",
95
+ };
96
+ throw error;
97
+ }
98
+ const sessions = await client.listPersistedAgents({
99
+ ...(provider ? { provider } : {}),
100
+ ...(limit !== undefined ? { limit } : {}),
101
+ ...(cwd ? { cwd } : {}),
102
+ });
103
+ return {
104
+ type: "list",
105
+ data: sessions.map(toItem),
106
+ schema: sessionLsSchema,
107
+ };
108
+ }
109
+ //# sourceMappingURL=ls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/sessions/ls.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seawork/cli",
3
- "version": "1.0.7",
3
+ "version": "1.0.10-rc.5",
4
4
  "description": "Seawork CLI - control your AI coding agents from the command line",
5
5
  "type": "module",
6
6
  "files": [
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@clack/prompts": "^1.0.0",
27
- "@seawork/relay": "1.0.7",
28
- "@seawork/server": "1.0.7",
27
+ "@seawork/relay": "1.0.10-rc.5",
28
+ "@seawork/server": "1.0.10-rc.5",
29
29
  "chalk": "^5.3.0",
30
30
  "commander": "^12.0.0",
31
31
  "mime-types": "^2.1.35",