@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@desplega.ai/agent-fs",
3
- "version": "0.2.1",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "description": "Agent-first filesystem backed by S3",
6
6
  "license": "MIT",
@@ -22,7 +22,7 @@
22
22
  "agent-fs": "dist/cli.js"
23
23
  },
24
24
  "files": [
25
- "dist",
25
+ "dist/cli.js",
26
26
  "README.md"
27
27
  ],
28
28
  "scripts": {
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=api-client.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-client.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/api-client.test.ts"],"names":[],"mappings":""}
@@ -1,86 +0,0 @@
1
- import { describe, test, expect, beforeAll, afterAll } from "bun:test";
2
- import { createTestDb, MockS3Client } from "../../../core/src/test-utils.js";
3
- import { createApp } from "../../../server/src/app.js";
4
- // We test ApiClient by pointing it at a real in-memory Hono server.
5
- let server;
6
- let port = 0;
7
- let apiKey;
8
- let orgId;
9
- beforeAll(async () => {
10
- const db = createTestDb();
11
- const s3 = new MockS3Client();
12
- const app = createApp(db, s3);
13
- // Start on a random port
14
- server = Bun.serve({
15
- port: 0,
16
- fetch: app.fetch,
17
- });
18
- port = server.port;
19
- // Register a user to get an API key
20
- const res = await fetch(`http://localhost:${port}/auth/register`, {
21
- method: "POST",
22
- headers: { "Content-Type": "application/json" },
23
- body: JSON.stringify({ email: "cli-test@example.com" }),
24
- });
25
- const body = await res.json();
26
- apiKey = body.apiKey;
27
- orgId = body.orgId;
28
- // Set env vars so ApiClient picks them up
29
- process.env.AGENT_FS_API_URL = `http://localhost:${port}`;
30
- process.env.AGENT_FS_API_KEY = apiKey;
31
- });
32
- afterAll(() => {
33
- server?.stop();
34
- delete process.env.AGENT_FS_API_URL;
35
- delete process.env.AGENT_FS_API_KEY;
36
- });
37
- describe("ApiClient", () => {
38
- // Dynamic import so env vars are set before constructor runs
39
- async function makeClient() {
40
- const { ApiClient } = await import("../api-client.js");
41
- return new ApiClient();
42
- }
43
- test("get() fetches data", async () => {
44
- const client = await makeClient();
45
- const result = await client.get("/orgs");
46
- expect(result.orgs).toBeDefined();
47
- expect(result.orgs.length).toBeGreaterThan(0);
48
- });
49
- test("post() sends data", async () => {
50
- const client = await makeClient();
51
- const result = await client.post("/orgs", { name: "cli-test-org" });
52
- expect(result.name).toBe("cli-test-org");
53
- });
54
- test("callOp() dispatches operation", async () => {
55
- const client = await makeClient();
56
- // Write a file
57
- const writeResult = await client.callOp(orgId, "write", {
58
- path: "/cli-test.txt",
59
- content: "Hello from CLI",
60
- });
61
- expect(writeResult.version).toBe(1);
62
- // Read it back
63
- const catResult = await client.callOp(orgId, "cat", {
64
- path: "/cli-test.txt",
65
- });
66
- expect(catResult.content).toBe("Hello from CLI");
67
- });
68
- test("setApiKey() changes auth", async () => {
69
- const client = await makeClient();
70
- client.setApiKey("af_invalid_key");
71
- // Should fail with auth error
72
- await expect(client.get("/orgs")).rejects.toThrow();
73
- });
74
- test("connection error gives helpful message", async () => {
75
- process.env.AGENT_FS_API_URL = "http://localhost:1"; // Nothing running
76
- const client = await makeClient();
77
- await expect(client.get("/health")).rejects.toThrow(/Cannot connect/);
78
- // Restore
79
- process.env.AGENT_FS_API_URL = `http://localhost:${port}`;
80
- });
81
- test("server error includes message from response", async () => {
82
- const client = await makeClient();
83
- await expect(client.callOp(orgId, "cat", { path: "/nonexistent.txt" })).rejects.toThrow(/not found|NoSuchKey/i);
84
- });
85
- });
86
- //# sourceMappingURL=api-client.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-client.test.js","sourceRoot":"","sources":["../../src/__tests__/api-client.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=param-mapping.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"param-mapping.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/param-mapping.test.ts"],"names":[],"mappings":""}
@@ -1,53 +0,0 @@
1
- import { describe, test, expect } from "bun:test";
2
- /**
3
- * Tests for CLI flag → Zod schema param mapping.
4
- * The CLI uses --old/--new flags but the edit Zod schema expects old_string/new_string.
5
- * The CLI uses --expected-version but the write Zod schema expects expectedVersion.
6
- */
7
- function applyParamMapping(params) {
8
- const mapped = { ...params };
9
- // These mappings mirror packages/cli/src/commands/ops.ts
10
- if (mapped["expected-version"] !== undefined) {
11
- mapped.expectedVersion = mapped["expected-version"];
12
- delete mapped["expected-version"];
13
- }
14
- if (mapped["old"] !== undefined) {
15
- mapped.old_string = mapped["old"];
16
- delete mapped["old"];
17
- }
18
- if (mapped["new"] !== undefined) {
19
- mapped.new_string = mapped["new"];
20
- delete mapped["new"];
21
- }
22
- return mapped;
23
- }
24
- describe("CLI param mapping", () => {
25
- test("maps --old to old_string and --new to new_string", () => {
26
- const input = { path: "/test.md", old: "hello", new: "world" };
27
- const result = applyParamMapping(input);
28
- expect(result.old_string).toBe("hello");
29
- expect(result.new_string).toBe("world");
30
- expect(result.old).toBeUndefined();
31
- expect(result.new).toBeUndefined();
32
- expect(result.path).toBe("/test.md");
33
- });
34
- test("maps --expected-version to expectedVersion", () => {
35
- const input = { path: "/test.md", "expected-version": "3" };
36
- const result = applyParamMapping(input);
37
- expect(result.expectedVersion).toBe("3");
38
- expect(result["expected-version"]).toBeUndefined();
39
- });
40
- test("does not affect params without CLI flag names", () => {
41
- const input = { path: "/test.md", content: "hello", message: "update" };
42
- const result = applyParamMapping(input);
43
- expect(result).toEqual(input);
44
- });
45
- test("handles missing optional params gracefully", () => {
46
- const input = { path: "/test.md", old: "hello" };
47
- const result = applyParamMapping(input);
48
- expect(result.old_string).toBe("hello");
49
- expect(result.new_string).toBeUndefined();
50
- expect(result.old).toBeUndefined();
51
- });
52
- });
53
- //# sourceMappingURL=param-mapping.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"param-mapping.test.js","sourceRoot":"","sources":["../../src/__tests__/param-mapping.test.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- export declare class ApiClient {
2
- private baseUrl;
3
- private apiKey;
4
- constructor();
5
- private request;
6
- get(path: string): Promise<any>;
7
- post(path: string, body: any): Promise<any>;
8
- callOp(orgId: string, op: string, params: Record<string, any>): Promise<any>;
9
- getMe(): Promise<{
10
- userId: string;
11
- email: string;
12
- defaultOrgId: string | null;
13
- defaultDriveId: string | null;
14
- }>;
15
- setApiKey(key: string): void;
16
- }
17
- //# sourceMappingURL=api-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;;YAUT,OAAO;IA+Bf,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI/B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAO3C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAI5E,KAAK,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAIrH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAG7B"}
@@ -1,59 +0,0 @@
1
- import { getConfig } from "@/core";
2
- export class ApiClient {
3
- baseUrl;
4
- apiKey;
5
- constructor() {
6
- const config = getConfig();
7
- this.baseUrl =
8
- process.env.AGENT_FS_API_URL ??
9
- `http://${config.server.host}:${config.server.port}`;
10
- this.apiKey = process.env.AGENT_FS_API_KEY ?? config.auth.apiKey;
11
- }
12
- async request(path, opts) {
13
- const headers = new Headers(opts?.headers);
14
- if (this.apiKey) {
15
- headers.set("Authorization", `Bearer ${this.apiKey}`);
16
- }
17
- headers.set("Content-Type", "application/json");
18
- let res;
19
- try {
20
- res = await fetch(`${this.baseUrl}${path}`, { ...opts, headers });
21
- }
22
- catch (err) {
23
- throw new Error(`Cannot connect to agent-fs daemon at ${this.baseUrl}. Is it running? Start with: agent-fs daemon start`);
24
- }
25
- let body;
26
- try {
27
- body = await res.json();
28
- }
29
- catch {
30
- const text = await res.text().catch(() => "");
31
- throw new Error(`Unexpected response from daemon (${res.status}): ${text || "empty"}`);
32
- }
33
- if (!res.ok) {
34
- const msg = body.message ?? body.error ?? "Request failed";
35
- const suggestion = body.suggestion ? `\n Suggestion: ${body.suggestion}` : "";
36
- throw new Error(`${msg}${suggestion}`);
37
- }
38
- return body;
39
- }
40
- async get(path) {
41
- return this.request(path);
42
- }
43
- async post(path, body) {
44
- return this.request(path, {
45
- method: "POST",
46
- body: JSON.stringify(body),
47
- });
48
- }
49
- async callOp(orgId, op, params) {
50
- return this.post(`/orgs/${orgId}/ops`, { op, ...params });
51
- }
52
- async getMe() {
53
- return this.get("/auth/me");
54
- }
55
- setApiKey(key) {
56
- this.apiKey = key;
57
- }
58
- }
59
- //# sourceMappingURL=api-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.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 authCommands(client: ApiClient): Command;
4
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQlD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,WAqE7C"}
@@ -1,81 +0,0 @@
1
- import { Command } from "commander";
2
- import { setConfigValue, createUser, createDatabase, listUserOrgs, } from "@/core";
3
- export function authCommands(client) {
4
- const cmd = new Command("auth").description("Authentication commands");
5
- cmd
6
- .command("register")
7
- .argument("<email>", "Email address")
8
- .description("Register a new user")
9
- .action(async (email) => {
10
- // Try daemon first, fall back to direct DB registration
11
- try {
12
- const result = await client.post("/auth/register", { email });
13
- printRegistration(result, client);
14
- }
15
- catch {
16
- // Daemon not running — register directly against DB
17
- try {
18
- const db = createDatabase();
19
- const result = createUser(db, { email });
20
- const orgs = listUserOrgs(db, result.user.id);
21
- printRegistration({
22
- apiKey: result.apiKey,
23
- userId: result.user.id,
24
- orgId: orgs[0]?.id,
25
- }, client);
26
- }
27
- catch (err) {
28
- if (err.message?.includes("UNIQUE")) {
29
- console.error("Error: User with this email already exists.");
30
- }
31
- else {
32
- console.error(`Error: ${err.message}`);
33
- }
34
- process.exit(1);
35
- }
36
- }
37
- });
38
- cmd
39
- .command("whoami")
40
- .description("Show current user info")
41
- .action(async () => {
42
- try {
43
- const result = await client.get("/auth/me");
44
- console.log(JSON.stringify(result, null, 2));
45
- }
46
- catch {
47
- // Daemon not running — look up directly from DB
48
- try {
49
- const { getConfig, getUserByApiKey, createDatabase, listUserOrgs } = await import("@/core");
50
- const config = getConfig();
51
- if (!config.auth.apiKey) {
52
- console.error("Not logged in. Run: agent-fs auth register <email>");
53
- process.exit(1);
54
- }
55
- const db = createDatabase();
56
- const user = getUserByApiKey(db, config.auth.apiKey);
57
- if (!user) {
58
- console.error("Invalid API key in config.");
59
- process.exit(1);
60
- }
61
- const orgs = listUserOrgs(db, user.id);
62
- console.log(JSON.stringify({ ...user, orgs }, null, 2));
63
- }
64
- catch (err) {
65
- console.error(`Error: ${err.message}`);
66
- process.exit(1);
67
- }
68
- }
69
- });
70
- return cmd;
71
- }
72
- function printRegistration(result, client) {
73
- console.log(`Registered successfully!`);
74
- console.log(`API Key: ${result.apiKey}`);
75
- console.log(`User ID: ${result.userId}`);
76
- console.log(`Org ID: ${result.orgId}`);
77
- setConfigValue("auth.apiKey", result.apiKey);
78
- client.setApiKey(result.apiKey);
79
- console.log("\nAPI key saved to config.");
80
- }
81
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.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 commentCommands(client: ApiClient, getOrgId: () => string | Promise<string>): Command;
4
- //# sourceMappingURL=comment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../src/commands/comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WA8J1F"}
@@ -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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,UAAU,eAAe,CAAC,MAAiB,EAAE,QAAwC;IACzF,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAEpE,KAAK,UAAU,MAAM,CAAC,MAAc,EAAE,MAA2B;QAC/D,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,KAAK,cAAc,IAAI,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClF,OAAO,CAAC,KAAK,CACX,sCAAsC;oBACtC,qCAAqC;oBACrC,wDAAwD,CACzD,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC7C,cAAc,CAAC,eAAe,EAAE,cAAc,CAAC;SAC/C,MAAM,CAAC,YAAY,EAAE,iDAAiD,CAAC;SACvE,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC;SACxC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC;SACpC,MAAM,CAAC,yBAAyB,EAAE,8BAA8B,CAAC;SACjE,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,IAAS,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAwB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAClE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChE,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,cAAc,EAAE,+BAA+B,CAAC;SACzD,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC;SAC7C,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,IAAS,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE;gBACzC,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,CAAC;SACpD,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;SACpC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;SACxC,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,IAAS,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YAC7B,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC1C,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,cAAc,CAAC,eAAe,EAAE,kBAAkB,CAAC;SACnD,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAS,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -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"}