@desplega.ai/agent-fs 0.2.1 → 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 (58) hide show
  1. package/dist/cli.js +48 -47
  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 -59
  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 -86
  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/formatters.d.ts +0 -11
  52. package/dist/formatters.d.ts.map +0 -1
  53. package/dist/formatters.js +0 -257
  54. package/dist/formatters.js.map +0 -1
  55. package/dist/index.d.ts +0 -3
  56. package/dist/index.d.ts.map +0 -1
  57. package/dist/index.js +0 -77
  58. package/dist/index.js.map +0 -1
@@ -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): 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;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAclD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,WA8E9C"}
@@ -1,86 +0,0 @@
1
- import { Command } from "commander";
2
- import { createDatabase, listDrives, createDrive, listUserOrgs, getUserByApiKey, getConfig, inviteToOrg, } from "@/core";
3
- export function driveCommands(client) {
4
- const cmd = new Command("drive").description("Drive management");
5
- cmd
6
- .command("list")
7
- .description("List drives in current org")
8
- .action(async () => {
9
- try {
10
- const { db, orgId } = getLocalContext();
11
- const drives = listDrives(db, orgId);
12
- console.log(JSON.stringify({ drives }, null, 2));
13
- }
14
- catch (err) {
15
- console.error(`Error: ${err.message}`);
16
- process.exit(1);
17
- }
18
- });
19
- cmd
20
- .command("create")
21
- .argument("<name>", "Drive name")
22
- .description("Create a new drive")
23
- .action(async (name) => {
24
- try {
25
- const { db, orgId } = getLocalContext();
26
- const drive = createDrive(db, { orgId, name });
27
- console.log(JSON.stringify(drive, null, 2));
28
- }
29
- catch (err) {
30
- console.error(`Error: ${err.message}`);
31
- process.exit(1);
32
- }
33
- });
34
- cmd
35
- .command("current")
36
- .description("Show current drive context")
37
- .action(async () => {
38
- try {
39
- const { db, orgId, userId } = getLocalContext();
40
- const drives = listDrives(db, orgId);
41
- const defaultDrive = drives.find((d) => d.isDefault);
42
- console.log(JSON.stringify({ orgId, drive: defaultDrive ?? drives[0] ?? null }, null, 2));
43
- }
44
- catch (err) {
45
- console.error(`Error: ${err.message}`);
46
- process.exit(1);
47
- }
48
- });
49
- cmd
50
- .command("invite")
51
- .argument("<email>", "User email to invite")
52
- .requiredOption("--role <role>", "Role: viewer, editor, or admin")
53
- .description("Invite a user to the current org")
54
- .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.")
55
- .action(async (email, opts) => {
56
- try {
57
- const { db, orgId } = getLocalContext();
58
- inviteToOrg(db, {
59
- orgId,
60
- email,
61
- role: opts.role,
62
- });
63
- console.log(`Invited ${email} as ${opts.role}`);
64
- }
65
- catch (err) {
66
- console.error(`Error: ${err.message}`);
67
- process.exit(1);
68
- }
69
- });
70
- return cmd;
71
- }
72
- function getLocalContext() {
73
- const config = getConfig();
74
- if (!config.auth.apiKey) {
75
- throw new Error("Not logged in. Run: agent-fs auth register <email>");
76
- }
77
- const db = createDatabase();
78
- const user = getUserByApiKey(db, config.auth.apiKey);
79
- if (!user)
80
- throw new Error("Invalid API key in config.");
81
- const orgs = listUserOrgs(db, user.id);
82
- if (orgs.length === 0)
83
- throw new Error("No orgs found.");
84
- return { db, orgId: orgs[0].id, userId: user.id };
85
- }
86
- //# 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
@@ -1 +0,0 @@
1
- {"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/commands/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,cAAc,YAyG7B"}
@@ -1,229 +0,0 @@
1
- import { Command } from "commander";
2
- import { execSync } from "node:child_process";
3
- import { getConfig, setConfigValue, createDatabase, getUserByApiKey, listUserOrgs, ensureLocalUser, createUser, getConfigPath, } from "@/core";
4
- import { existsSync } from "node:fs";
5
- export function onboardCommand() {
6
- const cmd = new Command("onboard")
7
- .description("Set up agent-fs (storage, embeddings, database, first user)")
8
- .option("--local", "Use local MinIO Docker container for S3")
9
- .option("--remote <url>", "Connect to a remote agent-fs server")
10
- .option("-y, --yes", "Accept all defaults without prompts")
11
- .option("--s3-endpoint <url>", "S3 endpoint URL")
12
- .option("--s3-bucket <name>", "S3 bucket name")
13
- .option("--s3-access-key <key>", "S3 access key ID")
14
- .option("--s3-secret-key <key>", "S3 secret access key")
15
- .option("--s3-region <region>", "S3 region")
16
- .option("--embeddings <provider>", "Embedding provider: openai, gemini, local, none")
17
- .option("--openai-key <key>", "OpenAI API key for embeddings")
18
- .option("--gemini-key <key>", "Gemini API key for embeddings")
19
- .option("--no-daemon", "Skip starting the daemon")
20
- .action(async (opts) => {
21
- // Step 0: API mode
22
- if (opts.remote) {
23
- console.error("Remote mode is not yet supported in the onboard wizard.\n" +
24
- "To connect to a remote server, configure manually:\n" +
25
- ' agent-fs config set api.url "' + opts.remote + '"\n' +
26
- ' agent-fs config set api.key "<your-api-key>"');
27
- process.exit(1);
28
- }
29
- // Check for existing config
30
- const configPath = getConfigPath();
31
- if (existsSync(configPath)) {
32
- const config = getConfig();
33
- if (config.auth.apiKey && !opts.yes) {
34
- console.log("Existing configuration found at " + configPath);
35
- console.log("Re-running onboard will update settings. Use -y to accept defaults.\n");
36
- }
37
- }
38
- console.log("Setting up agent-fs...\n");
39
- // Default to local mode unless explicit S3 flags or --remote provided
40
- const hasCustomS3 = opts.s3Endpoint || opts.s3Bucket || opts.s3AccessKey || opts.s3SecretKey;
41
- const isLocal = !hasCustomS3;
42
- // Step 1: Storage backend
43
- if (opts.s3Endpoint) {
44
- // Custom S3 from flags
45
- setConfigValue("s3.endpoint", opts.s3Endpoint);
46
- if (opts.s3Bucket)
47
- setConfigValue("s3.bucket", opts.s3Bucket);
48
- if (opts.s3AccessKey)
49
- setConfigValue("s3.accessKeyId", opts.s3AccessKey);
50
- if (opts.s3SecretKey)
51
- setConfigValue("s3.secretAccessKey", opts.s3SecretKey);
52
- if (opts.s3Region)
53
- setConfigValue("s3.region", opts.s3Region);
54
- setConfigValue("s3.provider", "s3");
55
- console.log("S3 configured from flags.");
56
- }
57
- else if (isLocal) {
58
- await setupLocalMinIO(!!opts.yes);
59
- }
60
- else {
61
- await setupCustomS3();
62
- }
63
- // Step 2: Embedding provider
64
- const embeddingProvider = opts.embeddings ?? (opts.yes ? "none" : undefined);
65
- if (embeddingProvider) {
66
- configureEmbeddings(embeddingProvider, opts);
67
- }
68
- else if (!opts.yes) {
69
- console.log("\nEmbedding provider not specified. Skipping (semantic search disabled).");
70
- console.log("Configure later: agent-fs config set embedding.provider openai");
71
- }
72
- // Step 3: Initialize database + user
73
- console.log("\nInitializing database...");
74
- const db = createDatabase();
75
- console.log("Database ready.");
76
- if (isLocal || opts.yes) {
77
- const { apiKey } = ensureLocalUser(db);
78
- const user = getUserByApiKey(db, apiKey);
79
- const orgs = listUserOrgs(db, user.id);
80
- console.log(`\nUser registered: ${user.email}`);
81
- console.log(`API Key: ${apiKey}`);
82
- console.log(`Org ID: ${orgs[0]?.id}`);
83
- }
84
- else {
85
- const email = await promptEmail();
86
- try {
87
- const result = createUser(db, { email });
88
- const orgs = listUserOrgs(db, result.user.id);
89
- setConfigValue("auth.apiKey", result.apiKey);
90
- console.log(`\nUser registered: ${email}`);
91
- console.log(`API Key: ${result.apiKey}`);
92
- console.log(`Org ID: ${orgs[0]?.id}`);
93
- }
94
- catch (err) {
95
- if (err.message?.includes("UNIQUE")) {
96
- console.log(`User ${email} already exists.`);
97
- }
98
- else {
99
- throw err;
100
- }
101
- }
102
- }
103
- console.log("\nSetup complete! Run `agent-fs daemon start` to begin.");
104
- console.log("Or use MCP directly: agent-fs mcp");
105
- });
106
- return cmd;
107
- }
108
- function configureEmbeddings(provider, opts) {
109
- switch (provider) {
110
- case "openai":
111
- setConfigValue("embedding.provider", "openai");
112
- setConfigValue("embedding.model", "text-embedding-3-small");
113
- if (opts.openaiKey) {
114
- setConfigValue("embedding.apiKey", opts.openaiKey);
115
- }
116
- console.log("Embeddings: OpenAI (text-embedding-3-small)");
117
- break;
118
- case "gemini":
119
- setConfigValue("embedding.provider", "gemini");
120
- setConfigValue("embedding.model", "text-embedding-004");
121
- if (opts.geminiKey) {
122
- setConfigValue("embedding.apiKey", opts.geminiKey);
123
- }
124
- console.log("Embeddings: Google Gemini (text-embedding-004)");
125
- break;
126
- case "local":
127
- setConfigValue("embedding.provider", "local");
128
- console.log("Embeddings: local llama.cpp");
129
- break;
130
- case "none":
131
- setConfigValue("embedding.provider", "local");
132
- setConfigValue("embedding.model", "");
133
- setConfigValue("embedding.apiKey", "");
134
- console.log("Embeddings: disabled (semantic search unavailable)");
135
- break;
136
- default:
137
- console.error(`Unknown embedding provider: ${provider}`);
138
- console.error("Valid options: openai, gemini, local, none");
139
- process.exit(1);
140
- }
141
- }
142
- async function setupLocalMinIO(autoYes) {
143
- // Docker pre-flight check
144
- try {
145
- execSync("which docker", { stdio: "ignore" });
146
- execSync("docker info", { stdio: "ignore" });
147
- }
148
- catch {
149
- console.error("Docker is required for local mode (MinIO).\n" +
150
- "Install Docker: https://docs.docker.com/get-docker/\n" +
151
- "Or use 'agent-fs onboard --s3-endpoint <url>' to configure your own S3 bucket.");
152
- process.exit(1);
153
- }
154
- // Check for existing container
155
- const existing = execSync("docker ps -a --filter name=agent-fs-minio --format '{{.Names}}'", { encoding: "utf-8" }).trim();
156
- if (existing === "agent-fs-minio") {
157
- console.log("Found existing MinIO container (agent-fs-minio).");
158
- }
159
- // Confirm before Docker operations (unless -y)
160
- if (!autoYes) {
161
- const action = existing === "agent-fs-minio" ? "start the existing" : "create a new";
162
- process.stdout.write(`This will ${action} MinIO Docker container. Continue? [Y/n] `);
163
- const reader = Bun.stdin.stream().getReader();
164
- const { value } = await reader.read();
165
- reader.releaseLock();
166
- const answer = new TextDecoder().decode(value).trim().toLowerCase();
167
- if (answer === "n" || answer === "no") {
168
- console.log("Skipped MinIO setup. Configure S3 manually:");
169
- console.log(" agent-fs config set s3.endpoint <url>");
170
- return;
171
- }
172
- }
173
- console.log("Setting up MinIO (local S3)...");
174
- try {
175
- if (existing === "agent-fs-minio") {
176
- execSync("docker start agent-fs-minio", { stdio: "inherit" });
177
- console.log("MinIO container started.");
178
- }
179
- else {
180
- execSync("docker run -d --name agent-fs-minio " +
181
- "-p 9000:9000 -p 9001:9001 " +
182
- "-v agent-fs-minio-data:/data " +
183
- "-e MINIO_ROOT_USER=minioadmin " +
184
- "-e MINIO_ROOT_PASSWORD=minioadmin " +
185
- 'minio/minio server /data --console-address ":9001"', { stdio: "inherit" });
186
- console.log("MinIO container created.");
187
- }
188
- // Always wait briefly and ensure bucket exists
189
- console.log("Waiting for MinIO to be ready...");
190
- await new Promise((r) => setTimeout(r, 2000));
191
- try {
192
- execSync("docker exec agent-fs-minio mc alias set local http://localhost:9000 minioadmin minioadmin && " +
193
- "docker exec agent-fs-minio mc mb --ignore-existing local/agentfs", { stdio: "inherit" });
194
- }
195
- catch {
196
- // Bucket creation best-effort
197
- }
198
- const containerId = execSync("docker inspect --format='{{.Id}}' agent-fs-minio", { encoding: "utf-8" }).trim();
199
- setConfigValue("minio.containerId", containerId);
200
- setConfigValue("minio.managed", true);
201
- }
202
- catch (err) {
203
- console.error(`Failed to set up MinIO: ${err.message}`);
204
- process.exit(1);
205
- }
206
- setConfigValue("s3.provider", "minio");
207
- setConfigValue("s3.endpoint", "http://localhost:9000");
208
- setConfigValue("s3.bucket", "agentfs");
209
- setConfigValue("s3.region", "us-east-1");
210
- setConfigValue("s3.accessKeyId", "minioadmin");
211
- setConfigValue("s3.secretAccessKey", "minioadmin");
212
- console.log("MinIO configured.");
213
- }
214
- async function setupCustomS3() {
215
- const config = getConfig();
216
- console.log("Using S3 configuration from ~/.agent-fs/config.json");
217
- console.log(` Provider: ${config.s3.provider}`);
218
- console.log(` Endpoint: ${config.s3.endpoint}`);
219
- console.log(` Bucket: ${config.s3.bucket}`);
220
- console.log("\nEdit with: agent-fs config set s3.endpoint <url>");
221
- }
222
- async function promptEmail() {
223
- process.stdout.write("Email for first user: ");
224
- const reader = Bun.stdin.stream().getReader();
225
- const { value } = await reader.read();
226
- reader.releaseLock();
227
- return new TextDecoder().decode(value).trim() || "local@agent-fs.local";
228
- }
229
- //# sourceMappingURL=onboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/commands/onboard.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { Command } from "commander";
2
- import type { ApiClient } from "../api-client.js";
3
- export declare function registerOpCommands(program: Command, client: ApiClient, getOrgId: () => string | Promise<string>): void;
4
- //# sourceMappingURL=ops.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/commands/ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAiClD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAkFzC"}