@desplega.ai/agent-fs 0.3.0 → 0.3.1

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 (62) hide show
  1. package/dist/cli.js +1 -1
  2. package/package.json +2 -2
  3. package/dist/__tests__/api-client.test.d.ts +0 -2
  4. package/dist/__tests__/api-client.test.d.ts.map +0 -1
  5. package/dist/__tests__/api-client.test.js +0 -86
  6. package/dist/__tests__/api-client.test.js.map +0 -1
  7. package/dist/__tests__/param-mapping.test.d.ts +0 -2
  8. package/dist/__tests__/param-mapping.test.d.ts.map +0 -1
  9. package/dist/__tests__/param-mapping.test.js +0 -53
  10. package/dist/__tests__/param-mapping.test.js.map +0 -1
  11. package/dist/api-client.d.ts +0 -17
  12. package/dist/api-client.d.ts.map +0 -1
  13. package/dist/api-client.js +0 -63
  14. package/dist/api-client.js.map +0 -1
  15. package/dist/commands/auth.d.ts +0 -4
  16. package/dist/commands/auth.d.ts.map +0 -1
  17. package/dist/commands/auth.js +0 -81
  18. package/dist/commands/auth.js.map +0 -1
  19. package/dist/commands/comment.d.ts +0 -4
  20. package/dist/commands/comment.d.ts.map +0 -1
  21. package/dist/commands/comment.js +0 -165
  22. package/dist/commands/comment.js.map +0 -1
  23. package/dist/commands/config-cmd.d.ts +0 -3
  24. package/dist/commands/config-cmd.d.ts.map +0 -1
  25. package/dist/commands/config-cmd.js +0 -147
  26. package/dist/commands/config-cmd.js.map +0 -1
  27. package/dist/commands/daemon.d.ts +0 -3
  28. package/dist/commands/daemon.d.ts.map +0 -1
  29. package/dist/commands/daemon.js +0 -33
  30. package/dist/commands/daemon.js.map +0 -1
  31. package/dist/commands/docs.d.ts +0 -3
  32. package/dist/commands/docs.d.ts.map +0 -1
  33. package/dist/commands/docs.js +0 -13
  34. package/dist/commands/docs.js.map +0 -1
  35. package/dist/commands/drive.d.ts +0 -4
  36. package/dist/commands/drive.d.ts.map +0 -1
  37. package/dist/commands/drive.js +0 -171
  38. package/dist/commands/drive.js.map +0 -1
  39. package/dist/commands/init.d.ts +0 -3
  40. package/dist/commands/init.d.ts.map +0 -1
  41. package/dist/commands/init.js +0 -20
  42. package/dist/commands/init.js.map +0 -1
  43. package/dist/commands/onboard.d.ts +0 -3
  44. package/dist/commands/onboard.d.ts.map +0 -1
  45. package/dist/commands/onboard.js +0 -229
  46. package/dist/commands/onboard.js.map +0 -1
  47. package/dist/commands/ops.d.ts +0 -4
  48. package/dist/commands/ops.d.ts.map +0 -1
  49. package/dist/commands/ops.js +0 -100
  50. package/dist/commands/ops.js.map +0 -1
  51. package/dist/commands/org.d.ts +0 -4
  52. package/dist/commands/org.d.ts.map +0 -1
  53. package/dist/commands/org.js +0 -84
  54. package/dist/commands/org.js.map +0 -1
  55. package/dist/formatters.d.ts +0 -11
  56. package/dist/formatters.d.ts.map +0 -1
  57. package/dist/formatters.js +0 -257
  58. package/dist/formatters.js.map +0 -1
  59. package/dist/index.d.ts +0 -3
  60. package/dist/index.d.ts.map +0 -1
  61. package/dist/index.js +0 -83
  62. package/dist/index.js.map +0 -1
@@ -1,165 +0,0 @@
1
- import { Command } from "commander";
2
- export function commentCommands(client, getOrgId) {
3
- const cmd = new Command("comment").description("Document comments");
4
- async function callOp(opName, params) {
5
- try {
6
- return await client.callOp(await getOrgId(), opName, params);
7
- }
8
- catch (err) {
9
- if (err?.cause?.code === "ECONNREFUSED" || err?.message?.includes("fetch failed")) {
10
- console.error("Cannot connect to agent-fs daemon.\n" +
11
- "Start with: agent-fs daemon start\n" +
12
- "Or set AGENT_FS_API_URL to connect to a remote server.");
13
- process.exit(1);
14
- }
15
- throw err;
16
- }
17
- }
18
- cmd
19
- .command("add")
20
- .argument("<path>", "File path to comment on")
21
- .requiredOption("--body <text>", "Comment body")
22
- .option("--line <n>", "Line number (sets both line-start and line-end)")
23
- .option("--line-start <n>", "Start line")
24
- .option("--line-end <n>", "End line")
25
- .option("--quoted-content <text>", "Quoted content from the file")
26
- .description("Add a comment to a file")
27
- .action(async (path, opts) => {
28
- try {
29
- const params = { path, body: opts.body };
30
- if (opts.quotedContent)
31
- params.quotedContent = opts.quotedContent;
32
- if (opts.line) {
33
- params.lineStart = parseInt(opts.line);
34
- params.lineEnd = parseInt(opts.line);
35
- }
36
- if (opts.lineStart)
37
- params.lineStart = parseInt(opts.lineStart);
38
- if (opts.lineEnd)
39
- params.lineEnd = parseInt(opts.lineEnd);
40
- const result = await callOp("comment-add", params);
41
- console.log(JSON.stringify(result, null, 2));
42
- }
43
- catch (err) {
44
- console.error(`Error: ${err.message}`);
45
- process.exit(1);
46
- }
47
- });
48
- cmd
49
- .command("reply")
50
- .argument("<comment-id>", "Parent comment ID to reply to")
51
- .requiredOption("--body <text>", "Reply body")
52
- .description("Reply to a comment")
53
- .action(async (commentId, opts) => {
54
- try {
55
- const result = await callOp("comment-add", {
56
- parentId: commentId,
57
- body: opts.body,
58
- });
59
- console.log(JSON.stringify(result, null, 2));
60
- }
61
- catch (err) {
62
- console.error(`Error: ${err.message}`);
63
- process.exit(1);
64
- }
65
- });
66
- cmd
67
- .command("list")
68
- .argument("[path]", "File path to list comments for")
69
- .option("--resolved", "Show resolved comments")
70
- .option("--limit <n>", "Max results")
71
- .option("--offset <n>", "Skip N results")
72
- .description("List comments")
73
- .action(async (path, opts) => {
74
- try {
75
- const params = {};
76
- if (path)
77
- params.path = path;
78
- if (opts.resolved)
79
- params.resolved = true;
80
- if (opts.limit)
81
- params.limit = parseInt(opts.limit);
82
- if (opts.offset)
83
- params.offset = parseInt(opts.offset);
84
- const result = await callOp("comment-list", params);
85
- console.log(JSON.stringify(result, null, 2));
86
- }
87
- catch (err) {
88
- console.error(`Error: ${err.message}`);
89
- process.exit(1);
90
- }
91
- });
92
- cmd
93
- .command("get")
94
- .argument("<id>", "Comment ID")
95
- .description("Get a comment with its replies")
96
- .action(async (id) => {
97
- try {
98
- const result = await callOp("comment-get", { id });
99
- console.log(JSON.stringify(result, null, 2));
100
- }
101
- catch (err) {
102
- console.error(`Error: ${err.message}`);
103
- process.exit(1);
104
- }
105
- });
106
- cmd
107
- .command("update")
108
- .argument("<id>", "Comment ID")
109
- .requiredOption("--body <text>", "New comment body")
110
- .description("Update a comment")
111
- .action(async (id, opts) => {
112
- try {
113
- const result = await callOp("comment-update", { id, body: opts.body });
114
- console.log(JSON.stringify(result, null, 2));
115
- }
116
- catch (err) {
117
- console.error(`Error: ${err.message}`);
118
- process.exit(1);
119
- }
120
- });
121
- cmd
122
- .command("delete")
123
- .argument("<id>", "Comment ID")
124
- .description("Delete a comment (soft delete)")
125
- .action(async (id) => {
126
- try {
127
- const result = await callOp("comment-delete", { id });
128
- console.log(JSON.stringify(result, null, 2));
129
- }
130
- catch (err) {
131
- console.error(`Error: ${err.message}`);
132
- process.exit(1);
133
- }
134
- });
135
- cmd
136
- .command("resolve")
137
- .argument("<id>", "Comment ID")
138
- .description("Resolve a comment")
139
- .action(async (id) => {
140
- try {
141
- const result = await callOp("comment-resolve", { id, resolved: true });
142
- console.log(JSON.stringify(result, null, 2));
143
- }
144
- catch (err) {
145
- console.error(`Error: ${err.message}`);
146
- process.exit(1);
147
- }
148
- });
149
- cmd
150
- .command("reopen")
151
- .argument("<id>", "Comment ID")
152
- .description("Reopen a resolved comment")
153
- .action(async (id) => {
154
- try {
155
- const result = await callOp("comment-resolve", { id, resolved: false });
156
- console.log(JSON.stringify(result, null, 2));
157
- }
158
- catch (err) {
159
- console.error(`Error: ${err.message}`);
160
- process.exit(1);
161
- }
162
- });
163
- return cmd;
164
- }
165
- //# sourceMappingURL=comment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../src/commands/comment.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function configCommands(): Command;
3
- //# sourceMappingURL=config-cmd.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/config-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,cAAc,YAqJ7B"}
@@ -1,147 +0,0 @@
1
- import { Command } from "commander";
2
- import { existsSync } from "node:fs";
3
- import { getConfig, setConfigValue, getDbPath, getConfigPath, AgentS3Client, createEmbeddingProviderFromEnv, } from "@/core";
4
- export function configCommands() {
5
- const cmd = new Command("config").description("Configuration management");
6
- cmd
7
- .command("get")
8
- .argument("<key>", "Config key (dot notation, e.g., s3.bucket)")
9
- .description("Get a config value")
10
- .action((key) => {
11
- const config = getConfig();
12
- const keys = key.split(".");
13
- let value = config;
14
- for (const k of keys) {
15
- value = value?.[k];
16
- }
17
- if (value === undefined) {
18
- console.error(`Key not found: ${key}`);
19
- process.exit(1);
20
- }
21
- console.log(typeof value === "object" ? JSON.stringify(value, null, 2) : String(value));
22
- });
23
- cmd
24
- .command("set")
25
- .argument("<key>", "Config key")
26
- .argument("<value>", "Config value")
27
- .description("Set a config value")
28
- .action((key, value) => {
29
- // Try to parse as JSON for objects/numbers/booleans
30
- let parsed = value;
31
- try {
32
- parsed = JSON.parse(value);
33
- }
34
- catch { }
35
- setConfigValue(key, parsed);
36
- console.log(`Set ${key} = ${JSON.stringify(parsed)}`);
37
- });
38
- cmd
39
- .command("list")
40
- .description("Show all config")
41
- .action(() => {
42
- console.log(JSON.stringify(getConfig(), null, 2));
43
- });
44
- cmd
45
- .command("validate")
46
- .description("Check that config, database, S3, and embeddings are healthy")
47
- .action(async () => {
48
- const results = [];
49
- const config = getConfig();
50
- // 1. Config file exists
51
- const configExists = existsSync(getConfigPath());
52
- results.push({
53
- name: "Config file",
54
- ok: configExists,
55
- message: configExists ? getConfigPath() : "Not found — run `agent-fs onboard`",
56
- });
57
- // 2. Required S3 fields
58
- const s3Fields = ["endpoint", "bucket", "accessKeyId", "secretAccessKey"];
59
- const missingS3 = s3Fields.filter((f) => !config.s3[f]);
60
- results.push({
61
- name: "S3 config",
62
- ok: missingS3.length === 0,
63
- message: missingS3.length === 0
64
- ? `${config.s3.provider} → ${config.s3.endpoint}/${config.s3.bucket}`
65
- : `Missing: ${missingS3.join(", ")}`,
66
- });
67
- // 3. S3 connectivity
68
- if (missingS3.length === 0) {
69
- try {
70
- const s3 = new AgentS3Client(config.s3);
71
- await s3.listObjects("");
72
- results.push({ name: "S3 connectivity", ok: true, message: "Connected" });
73
- }
74
- catch (err) {
75
- results.push({
76
- name: "S3 connectivity",
77
- ok: false,
78
- message: err.message || "Connection failed",
79
- });
80
- }
81
- }
82
- // 4. Database
83
- const dbExists = existsSync(getDbPath());
84
- results.push({
85
- name: "Database",
86
- ok: dbExists,
87
- message: dbExists ? getDbPath() : "Not found — run `agent-fs onboard`",
88
- });
89
- // 5. Auth
90
- results.push({
91
- name: "Auth",
92
- ok: !!config.auth.apiKey,
93
- message: config.auth.apiKey ? "API key configured" : "No API key — run `agent-fs onboard`",
94
- });
95
- // 6. Embedding provider
96
- const embProvider = config.embedding.provider;
97
- const hasEmbKey = !!config.embedding.apiKey || !!process.env.OPENAI_API_KEY || !!process.env.GEMINI_API_KEY;
98
- if (embProvider === "openai" || embProvider === "gemini") {
99
- if (hasEmbKey) {
100
- try {
101
- const provider = await createEmbeddingProviderFromEnv(config.embedding);
102
- results.push({
103
- name: "Embeddings",
104
- ok: !!provider,
105
- message: provider ? `${embProvider} ready` : `${embProvider} configured but failed to init`,
106
- });
107
- }
108
- catch (err) {
109
- results.push({ name: "Embeddings", ok: false, message: err.message });
110
- }
111
- }
112
- else {
113
- results.push({
114
- name: "Embeddings",
115
- ok: false,
116
- message: `${embProvider} selected but no API key`,
117
- });
118
- }
119
- }
120
- else {
121
- results.push({
122
- name: "Embeddings",
123
- ok: true,
124
- message: "local/disabled (semantic search may be unavailable)",
125
- });
126
- }
127
- // Print results
128
- console.log("\nagent-fs health check\n");
129
- let allOk = true;
130
- for (const r of results) {
131
- const icon = r.ok ? "\u2713" : "\u2717";
132
- console.log(` ${icon} ${r.name}: ${r.message}`);
133
- if (!r.ok)
134
- allOk = false;
135
- }
136
- console.log();
137
- if (allOk) {
138
- console.log("All checks passed.");
139
- }
140
- else {
141
- console.log("Some checks failed. Fix the issues above and re-run.");
142
- process.exit(1);
143
- }
144
- });
145
- return cmd;
146
- }
147
- //# sourceMappingURL=config-cmd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-cmd.js","sourceRoot":"","sources":["../../src/commands/config-cmd.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function daemonCommands(): Command;
3
- //# sourceMappingURL=daemon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,wBAAgB,cAAc,YAiC7B"}
@@ -1,33 +0,0 @@
1
- import { Command } from "commander";
2
- export function daemonCommands() {
3
- const cmd = new Command("daemon").description("Daemon lifecycle management");
4
- cmd
5
- .command("start")
6
- .description("Start the agent-fs daemon")
7
- .action(async () => {
8
- const { startDaemon } = await import("@/server/daemon.js");
9
- startDaemon();
10
- });
11
- cmd
12
- .command("stop")
13
- .description("Stop the agent-fs daemon")
14
- .action(async () => {
15
- const { stopDaemon } = await import("@/server/daemon.js");
16
- stopDaemon();
17
- });
18
- cmd
19
- .command("status")
20
- .description("Check daemon status")
21
- .action(async () => {
22
- const { daemonStatus } = await import("@/server/daemon.js");
23
- const status = daemonStatus();
24
- if (status.running) {
25
- console.log(`Daemon running (PID: ${status.pid})`);
26
- }
27
- else {
28
- console.log("Daemon is not running");
29
- }
30
- });
31
- return cmd;
32
- }
33
- //# sourceMappingURL=daemon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAE7E,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC3D,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC1D,UAAU,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function docsCommand(): Command;
3
- //# sourceMappingURL=docs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,WAAW,YAQ1B"}
@@ -1,13 +0,0 @@
1
- import { Command } from "commander";
2
- // @ts-ignore — bun supports text imports, inlined at build time
3
- import content from "../../../../skills/agent-fs/SKILL.md" with { type: "text" };
4
- export function docsCommand() {
5
- return new Command("docs")
6
- .description("Show agent-fs documentation and command reference")
7
- .action(() => {
8
- // Strip YAML frontmatter
9
- const stripped = content.replace(/^---[\s\S]*?---\n*/, "");
10
- console.log(stripped);
11
- });
12
- }
13
- //# sourceMappingURL=docs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,gEAAgE;AAChE,OAAO,OAAO,MAAM,sCAAsC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEjF,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,GAAG,EAAE;QACX,yBAAyB;QACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Command } from "commander";
2
- import type { ApiClient } from "../api-client.js";
3
- export declare function driveCommands(client: ApiClient, getOrgId: () => string | Promise<string>): Command;
4
- //# sourceMappingURL=drive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../src/commands/drive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAyKzC"}
@@ -1,171 +0,0 @@
1
- import { Command } from "commander";
2
- import { setConfigValue, getConfig } from "@/core";
3
- export function driveCommands(client, getOrgId) {
4
- const cmd = new Command("drive").description("Drive management");
5
- cmd
6
- .command("list")
7
- .description("List drives (all orgs unless --org is set)")
8
- .action(async () => {
9
- const json = cmd.parent?.opts().json;
10
- try {
11
- // If --org is explicitly passed, list only that org's drives
12
- const explicitOrg = cmd.parent?.opts().org;
13
- if (explicitOrg) {
14
- const result = await client.get(`/orgs/${explicitOrg}/drives`);
15
- if (json) {
16
- console.log(JSON.stringify(result, null, 2));
17
- return;
18
- }
19
- for (const d of result.drives) {
20
- const flags = d.isDefault ? " (default)" : "";
21
- console.log(`${d.id} ${d.name}${flags}`);
22
- }
23
- return;
24
- }
25
- // Otherwise, list drives across all orgs
26
- const { orgs } = await client.get("/orgs");
27
- if (json) {
28
- const allDrives = [];
29
- for (const org of orgs) {
30
- const { drives } = await client.get(`/orgs/${org.id}/drives`);
31
- allDrives.push({ orgId: org.id, orgName: org.name, drives });
32
- }
33
- console.log(JSON.stringify(allDrives, null, 2));
34
- return;
35
- }
36
- if (!orgs || orgs.length === 0) {
37
- console.log("(no orgs)");
38
- return;
39
- }
40
- const config = getConfig();
41
- for (const org of orgs) {
42
- const orgFlags = [];
43
- if (org.isPersonal)
44
- orgFlags.push("personal");
45
- if (config.defaultOrg === org.id)
46
- orgFlags.push("active");
47
- const orgSuffix = orgFlags.length > 0 ? ` (${orgFlags.join(", ")})` : "";
48
- console.log(`\n${org.name} [${org.role}]${orgSuffix}`);
49
- const { drives } = await client.get(`/orgs/${org.id}/drives`);
50
- for (const d of drives) {
51
- const flags = [];
52
- if (d.isDefault)
53
- flags.push("default");
54
- if (config.defaultDrive === d.id)
55
- flags.push("active");
56
- const suffix = flags.length > 0 ? ` (${flags.join(", ")})` : "";
57
- console.log(` ${d.id} ${d.name}${suffix}`);
58
- }
59
- }
60
- }
61
- catch (err) {
62
- console.error(`Error: ${err.message}`);
63
- process.exit(1);
64
- }
65
- });
66
- cmd
67
- .command("create")
68
- .argument("<name>", "Drive name")
69
- .description("Create a new drive")
70
- .action(async (name) => {
71
- try {
72
- const orgId = await getOrgId();
73
- const result = await client.post(`/orgs/${orgId}/drives`, { name });
74
- console.log(JSON.stringify(result, null, 2));
75
- }
76
- catch (err) {
77
- console.error(`Error: ${err.message}`);
78
- process.exit(1);
79
- }
80
- });
81
- cmd
82
- .command("current")
83
- .description("Show current drive context")
84
- .action(async () => {
85
- const json = cmd.parent?.opts().json;
86
- try {
87
- const config = getConfig();
88
- const me = await client.getMe();
89
- const orgId = config.defaultOrg ?? me.defaultOrgId;
90
- if (!orgId) {
91
- console.error("Error: No org context. Run 'agent-fs auth register' first.");
92
- process.exit(1);
93
- }
94
- const { drives } = await client.get(`/orgs/${orgId}/drives`);
95
- let drive;
96
- if (config.defaultDrive) {
97
- drive = drives.find((d) => d.id === config.defaultDrive);
98
- }
99
- if (!drive) {
100
- drive = drives.find((d) => d.isDefault) ?? drives[0] ?? null;
101
- }
102
- const source = config.defaultOrg ? "config (org switch)" : "server default";
103
- if (json) {
104
- console.log(JSON.stringify({ orgId, drive, source }, null, 2));
105
- }
106
- else {
107
- console.log(`org: ${orgId}`);
108
- console.log(`drive: ${drive?.id ?? "(none)"} ${drive?.name ?? ""}`);
109
- console.log(`source: ${source}`);
110
- }
111
- }
112
- catch (err) {
113
- console.error(`Error: ${err.message}`);
114
- process.exit(1);
115
- }
116
- });
117
- cmd
118
- .command("switch")
119
- .argument("<driveId>", "Drive ID to switch to")
120
- .description("Set default drive context")
121
- .action(async (driveId) => {
122
- try {
123
- // We need to find which org this drive belongs to, so list all orgs' drives
124
- const { orgs } = await client.get("/orgs");
125
- let found = null;
126
- let foundOrg = null;
127
- for (const org of orgs) {
128
- const { drives } = await client.get(`/orgs/${org.id}/drives`);
129
- const match = drives.find((d) => d.id === driveId);
130
- if (match) {
131
- found = match;
132
- foundOrg = org;
133
- break;
134
- }
135
- }
136
- if (!found) {
137
- console.error(`Error: Drive ${driveId} not found in any of your orgs.`);
138
- process.exit(1);
139
- }
140
- setConfigValue("defaultOrg", foundOrg.id);
141
- setConfigValue("defaultDrive", driveId);
142
- console.log(`Switched to drive: ${found.name} (org: ${foundOrg.name})`);
143
- }
144
- catch (err) {
145
- console.error(`Error: ${err.message}`);
146
- process.exit(1);
147
- }
148
- });
149
- cmd
150
- .command("invite")
151
- .argument("<email>", "User email to invite")
152
- .requiredOption("--role <role>", "Role: viewer, editor, or admin")
153
- .description("Invite a user to the current org")
154
- .addHelpText("after", "\nThis invites the user to the organization that owns the current drive. The user will have access to all drives in the org based on their role.")
155
- .action(async (email, opts) => {
156
- try {
157
- const orgId = await getOrgId();
158
- await client.post(`/orgs/${orgId}/members/invite`, {
159
- email,
160
- role: opts.role,
161
- });
162
- console.log(`Invited ${email} as ${opts.role}`);
163
- }
164
- catch (err) {
165
- console.error(`Error: ${err.message}`);
166
- process.exit(1);
167
- }
168
- });
169
- return cmd;
170
- }
171
- //# sourceMappingURL=drive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drive.js","sourceRoot":"","sources":["../../src/commands/drive.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function initCommand(): Command;
3
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,WAAW,YAkB1B"}
@@ -1,20 +0,0 @@
1
- import { Command } from "commander";
2
- import { onboardCommand } from "./onboard.js";
3
- export function initCommand() {
4
- // init is an alias for onboard — kept for backwards compatibility
5
- const onboard = onboardCommand();
6
- const cmd = new Command("init")
7
- .description("Set up agent-fs (alias for 'onboard')")
8
- .allowUnknownOption(true)
9
- .action(async (_opts, command) => {
10
- console.log("Note: 'agent-fs init' is now 'agent-fs onboard'.\n");
11
- // Re-parse with the onboard command to handle all flags
12
- await onboard.parseAsync(command.args, { from: "user" });
13
- });
14
- // Copy options from onboard so --help shows them
15
- for (const opt of onboard.options) {
16
- cmd.addOption(opt);
17
- }
18
- return cmd;
19
- }
20
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,UAAU,WAAW;IACzB,kEAAkE;IAClE,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;SAC5B,WAAW,CAAC,uCAAuC,CAAC;SACpD,kBAAkB,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,wDAAwD;QACxD,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEL,iDAAiD;IACjD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function onboardCommand(): Command;
3
- //# sourceMappingURL=onboard.d.ts.map