@oxagen/cli 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +2 -2
  2. package/dist/commands/agent.mcp.consent.list.d.ts +3 -0
  3. package/dist/commands/agent.mcp.consent.list.d.ts.map +1 -0
  4. package/dist/commands/agent.mcp.consent.list.js +30 -0
  5. package/dist/commands/agent.mcp.consent.list.js.map +1 -0
  6. package/dist/commands/agent.mcp.consent.resolve.d.ts +3 -0
  7. package/dist/commands/agent.mcp.consent.resolve.d.ts.map +1 -0
  8. package/dist/commands/agent.mcp.consent.resolve.js +34 -0
  9. package/dist/commands/agent.mcp.consent.resolve.js.map +1 -0
  10. package/dist/commands/agent.mcp.delete.d.ts +3 -0
  11. package/dist/commands/agent.mcp.delete.d.ts.map +1 -0
  12. package/dist/commands/agent.mcp.delete.js +27 -0
  13. package/dist/commands/agent.mcp.delete.js.map +1 -0
  14. package/dist/commands/agent.mcp.set_enabled.d.ts +3 -0
  15. package/dist/commands/agent.mcp.set_enabled.d.ts.map +1 -0
  16. package/dist/commands/agent.mcp.set_enabled.js +33 -0
  17. package/dist/commands/agent.mcp.set_enabled.js.map +1 -0
  18. package/dist/commands/audit.log.query.d.ts +3 -0
  19. package/dist/commands/audit.log.query.d.ts.map +1 -0
  20. package/dist/commands/audit.log.query.js +42 -0
  21. package/dist/commands/audit.log.query.js.map +1 -0
  22. package/dist/commands/automation.create.d.ts.map +1 -1
  23. package/dist/commands/automation.create.js +43 -4
  24. package/dist/commands/automation.create.js.map +1 -1
  25. package/dist/commands/automation.disable.d.ts +3 -0
  26. package/dist/commands/automation.disable.d.ts.map +1 -0
  27. package/dist/commands/automation.disable.js +24 -0
  28. package/dist/commands/automation.disable.js.map +1 -0
  29. package/dist/commands/automation.enable.d.ts +3 -0
  30. package/dist/commands/automation.enable.d.ts.map +1 -0
  31. package/dist/commands/automation.enable.js +24 -0
  32. package/dist/commands/automation.enable.js.map +1 -0
  33. package/dist/commands/automation.update.d.ts +3 -0
  34. package/dist/commands/automation.update.d.ts.map +1 -0
  35. package/dist/commands/automation.update.js +42 -0
  36. package/dist/commands/automation.update.js.map +1 -0
  37. package/dist/commands/conversation.files.list.d.ts +3 -0
  38. package/dist/commands/conversation.files.list.d.ts.map +1 -0
  39. package/dist/commands/conversation.files.list.js +39 -0
  40. package/dist/commands/conversation.files.list.js.map +1 -0
  41. package/dist/commands/markdown.generate.d.ts +3 -0
  42. package/dist/commands/markdown.generate.d.ts.map +1 -0
  43. package/dist/commands/markdown.generate.js +37 -0
  44. package/dist/commands/markdown.generate.js.map +1 -0
  45. package/dist/commands/mermaid.generate.d.ts +3 -0
  46. package/dist/commands/mermaid.generate.d.ts.map +1 -0
  47. package/dist/commands/mermaid.generate.js +33 -0
  48. package/dist/commands/mermaid.generate.js.map +1 -0
  49. package/dist/commands/ontology.neighbors.d.ts +3 -0
  50. package/dist/commands/ontology.neighbors.d.ts.map +1 -0
  51. package/dist/commands/ontology.neighbors.js +34 -0
  52. package/dist/commands/ontology.neighbors.js.map +1 -0
  53. package/dist/commands/ontology.query.d.ts +3 -0
  54. package/dist/commands/ontology.query.d.ts.map +1 -0
  55. package/dist/commands/ontology.query.js +36 -0
  56. package/dist/commands/ontology.query.js.map +1 -0
  57. package/dist/commands/privacy.erase.d.ts.map +1 -1
  58. package/dist/commands/privacy.erase.js +2 -1
  59. package/dist/commands/privacy.erase.js.map +1 -1
  60. package/dist/commands/privacy.erase.test.d.ts +2 -0
  61. package/dist/commands/privacy.erase.test.d.ts.map +1 -0
  62. package/dist/commands/privacy.erase.test.js +125 -0
  63. package/dist/commands/privacy.erase.test.js.map +1 -0
  64. package/dist/commands/skill.edit.d.ts +3 -0
  65. package/dist/commands/skill.edit.d.ts.map +1 -0
  66. package/dist/commands/skill.edit.js +28 -0
  67. package/dist/commands/skill.edit.js.map +1 -0
  68. package/dist/commands/skill.export.d.ts +3 -0
  69. package/dist/commands/skill.export.d.ts.map +1 -0
  70. package/dist/commands/skill.export.js +25 -0
  71. package/dist/commands/skill.export.js.map +1 -0
  72. package/dist/commands/skill.metrics.read.d.ts +3 -0
  73. package/dist/commands/skill.metrics.read.d.ts.map +1 -0
  74. package/dist/commands/skill.metrics.read.js +56 -0
  75. package/dist/commands/skill.metrics.read.js.map +1 -0
  76. package/dist/commands/skill.version.activate.d.ts +3 -0
  77. package/dist/commands/skill.version.activate.d.ts.map +1 -0
  78. package/dist/commands/skill.version.activate.js +24 -0
  79. package/dist/commands/skill.version.activate.js.map +1 -0
  80. package/dist/commands/skill.version.get.d.ts +3 -0
  81. package/dist/commands/skill.version.get.d.ts.map +1 -0
  82. package/dist/commands/skill.version.get.js +43 -0
  83. package/dist/commands/skill.version.get.js.map +1 -0
  84. package/dist/commands/skill.version.list.d.ts +3 -0
  85. package/dist/commands/skill.version.list.d.ts.map +1 -0
  86. package/dist/commands/skill.version.list.js +38 -0
  87. package/dist/commands/skill.version.list.js.map +1 -0
  88. package/dist/commands/skill.version.upload.d.ts +3 -0
  89. package/dist/commands/skill.version.upload.d.ts.map +1 -0
  90. package/dist/commands/skill.version.upload.js +28 -0
  91. package/dist/commands/skill.version.upload.js.map +1 -0
  92. package/dist/commands/skill.workspace.install.d.ts +3 -0
  93. package/dist/commands/skill.workspace.install.d.ts.map +1 -0
  94. package/dist/commands/skill.workspace.install.js +52 -0
  95. package/dist/commands/skill.workspace.install.js.map +1 -0
  96. package/dist/commands.test.js +117 -73
  97. package/dist/commands.test.js.map +1 -1
  98. package/dist/components/DevStatus.d.ts.map +1 -1
  99. package/dist/components/DevStatus.js +1 -1
  100. package/dist/components/DevStatus.js.map +1 -1
  101. package/dist/index.js +53 -7
  102. package/dist/index.js.map +1 -1
  103. package/dist/lib/config.d.ts.map +1 -1
  104. package/dist/lib/config.js +9 -2
  105. package/dist/lib/config.js.map +1 -1
  106. package/dist/lib/config.test.js +21 -3
  107. package/dist/lib/config.test.js.map +1 -1
  108. package/package.json +1 -1
  109. package/README.html +0 -379
package/README.md CHANGED
@@ -102,7 +102,7 @@ oxagen api-key create # copy the key that's printed
102
102
 
103
103
  claude mcp add oxagen \
104
104
  --transport http \
105
- --url https://oxagen-v2-mcp.vercel.app/mcp \
105
+ --url https://mcp.oxagen.sh/mcp \
106
106
  --header "Authorization: Bearer $OXAGEN_API_KEY"
107
107
  ```
108
108
 
@@ -354,7 +354,7 @@ Releases are managed monorepo-wide via `pnpm release:patch|minor|major`, which b
354
354
 
355
355
  ## Support
356
356
 
357
- - Docs: https://oxagen-v2-docs.vercel.app
357
+ - Docs: https://docs.oxagen.sh
358
358
  - Issues: https://github.com/oxagen/oxagen-monorepo/issues
359
359
  - Email: support@oxagen.ai
360
360
 
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const agentMcpConsentListCommand: Command;
3
+ //# sourceMappingURL=agent.mcp.consent.list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.mcp.consent.list.d.ts","sourceRoot":"","sources":["../../src/commands/agent.mcp.consent.list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,eAAO,MAAM,0BAA0B,SAwBnC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, ApiError } from "../lib/api-client.js";
3
+ import { getOrgId, getWorkspaceId } from "../lib/config.js";
4
+ export const agentMcpConsentListCommand = new Command("consent-list")
5
+ .description("List external MCP tool consent grants in the active workspace")
6
+ .option("--mine", "Return only the calling user's grants")
7
+ .option("-o, --org <id>", "Organization ID")
8
+ .option("-w, --workspace <id>", "Workspace ID")
9
+ .action(async (options) => {
10
+ try {
11
+ const data = await apiRequest("/agent/mcp-consents", {
12
+ method: "POST",
13
+ body: JSON.stringify({
14
+ mineOnly: options.mine,
15
+ org_id: options.org ?? getOrgId(),
16
+ workspace_id: options.workspace ?? getWorkspaceId(),
17
+ }),
18
+ });
19
+ console.log(`MCP consent grants (${data.consents.length}):`);
20
+ data.consents.forEach((consent) => {
21
+ console.log(` ${consent.toolName} on ${consent.mcpServerId}: ${consent.status} (${consent.publicId})`);
22
+ });
23
+ }
24
+ catch (err) {
25
+ const msg = err instanceof ApiError ? err.message : String(err);
26
+ console.error(`Error: ${msg}`);
27
+ process.exit(1);
28
+ }
29
+ });
30
+ //# sourceMappingURL=agent.mcp.consent.list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.mcp.consent.list.js","sourceRoot":"","sources":["../../src/commands/agent.mcp.consent.list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAiB5D,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;KAClE,WAAW,CAAC,+DAA+D,CAAC;KAC5E,MAAM,CAAC,QAAQ,EAAE,uCAAuC,CAAC;KACzD,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;KAC3C,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,OAA6D,EAAE,EAAE;IAC9E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAA8B,qBAAqB,EAAE;YAChF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,QAAQ,EAAE,OAAO,CAAC,IAAI;gBACtB,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,QAAQ,EAAE;gBACjC,YAAY,EAAE,OAAO,CAAC,SAAS,IAAI,cAAc,EAAE;aACpD,CAAC;SACH,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,QAAQ,OAAO,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const agentMcpConsentResolveCommand: Command;
3
+ //# sourceMappingURL=agent.mcp.consent.resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.mcp.consent.resolve.d.ts","sourceRoot":"","sources":["../../src/commands/agent.mcp.consent.resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,6BAA6B,SA4BtC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, ApiError } from "../lib/api-client.js";
3
+ import { getOrgId, getWorkspaceId } from "../lib/config.js";
4
+ export const agentMcpConsentResolveCommand = new Command("consent-resolve")
5
+ .description("Grant or deny first-use consent for an external MCP tool")
6
+ .requiredOption("-a, --approval <id>", "Pending consent request (approval) ID")
7
+ .requiredOption("-d, --decision <decision>", "Decision (granted|denied)")
8
+ .option("--grant-all-tools", "Pre-grant every tool on the server (only with granted)")
9
+ .option("-o, --org <id>", "Organization ID")
10
+ .option("-w, --workspace <id>", "Workspace ID")
11
+ .action(async (options) => {
12
+ try {
13
+ if (!["granted", "denied"].includes(options.decision)) {
14
+ throw new Error("--decision must be 'granted' or 'denied'");
15
+ }
16
+ const data = await apiRequest("/agent/mcp-consents/resolve", {
17
+ method: "POST",
18
+ body: JSON.stringify({
19
+ approvalId: options.approval,
20
+ decision: options.decision,
21
+ grantAllTools: options.grantAllTools,
22
+ org_id: options.org ?? getOrgId(),
23
+ workspace_id: options.workspace ?? getWorkspaceId(),
24
+ }),
25
+ });
26
+ console.log(`✓ Consent ${data.approvalId} resolved: ${data.resolution}`);
27
+ }
28
+ catch (err) {
29
+ const msg = err instanceof ApiError ? err.message : String(err);
30
+ console.error(`Error: ${msg}`);
31
+ process.exit(1);
32
+ }
33
+ });
34
+ //# sourceMappingURL=agent.mcp.consent.resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.mcp.consent.resolve.js","sourceRoot":"","sources":["../../src/commands/agent.mcp.consent.resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAO5D,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KACxE,WAAW,CAAC,0DAA0D,CAAC;KACvE,cAAc,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;KAC9E,cAAc,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;KACxE,MAAM,CAAC,mBAAmB,EAAE,wDAAwD,CAAC;KACrF,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;KAC3C,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,OAA0G,EAAE,EAAE;IAC3H,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAiC,6BAA6B,EAAE;YAC3F,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU,EAAE,OAAO,CAAC,QAAQ;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,QAAQ,EAAE;gBACjC,YAAY,EAAE,OAAO,CAAC,SAAS,IAAI,cAAc,EAAE;aACpD,CAAC;SACH,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,UAAU,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const agentMcpDeleteCommand: Command;
3
+ //# sourceMappingURL=agent.mcp.delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.mcp.delete.d.ts","sourceRoot":"","sources":["../../src/commands/agent.mcp.delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,qBAAqB,SAqB9B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, ApiError } from "../lib/api-client.js";
3
+ import { getOrgId, getWorkspaceId } from "../lib/config.js";
4
+ export const agentMcpDeleteCommand = new Command("delete")
5
+ .description("Soft-delete a registered external MCP server")
6
+ .requiredOption("-s, --server <id>", "MCP server ID")
7
+ .option("-o, --org <id>", "Organization ID")
8
+ .option("-w, --workspace <id>", "Workspace ID")
9
+ .action(async (options) => {
10
+ try {
11
+ const data = await apiRequest("/agent/mcp-servers/delete", {
12
+ method: "POST",
13
+ body: JSON.stringify({
14
+ mcpServerId: options.server,
15
+ org_id: options.org ?? getOrgId(),
16
+ workspace_id: options.workspace ?? getWorkspaceId(),
17
+ }),
18
+ });
19
+ console.log(`✓ MCP server ${data.mcpServerId} ${data.deleted ? "deleted" : "not deleted"}`);
20
+ }
21
+ catch (err) {
22
+ const msg = err instanceof ApiError ? err.message : String(err);
23
+ console.error(`Error: ${msg}`);
24
+ process.exit(1);
25
+ }
26
+ });
27
+ //# sourceMappingURL=agent.mcp.delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.mcp.delete.js","sourceRoot":"","sources":["../../src/commands/agent.mcp.delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAO5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KACvD,WAAW,CAAC,8CAA8C,CAAC;KAC3D,cAAc,CAAC,mBAAmB,EAAE,eAAe,CAAC;KACpD,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;KAC3C,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,OAA6D,EAAE,EAAE;IAC9E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAyB,2BAA2B,EAAE;YACjF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,WAAW,EAAE,OAAO,CAAC,MAAM;gBAC3B,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,QAAQ,EAAE;gBACjC,YAAY,EAAE,OAAO,CAAC,SAAS,IAAI,cAAc,EAAE;aACpD,CAAC;SACH,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;IAC9F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const agentMcpSetEnabledCommand: Command;
3
+ //# sourceMappingURL=agent.mcp.set_enabled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.mcp.set_enabled.d.ts","sourceRoot":"","sources":["../../src/commands/agent.mcp.set_enabled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,yBAAyB,SA6BlC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, ApiError } from "../lib/api-client.js";
3
+ import { getOrgId, getWorkspaceId } from "../lib/config.js";
4
+ export const agentMcpSetEnabledCommand = new Command("set-enabled")
5
+ .description("Enable or disable a registered external MCP server")
6
+ .requiredOption("-s, --server <id>", "MCP server ID")
7
+ .requiredOption("--enabled <bool>", "Enable (true) or disable (false) the server")
8
+ .option("-o, --org <id>", "Organization ID")
9
+ .option("-w, --workspace <id>", "Workspace ID")
10
+ .action(async (options) => {
11
+ try {
12
+ if (!["true", "false"].includes(options.enabled)) {
13
+ throw new Error("--enabled must be 'true' or 'false'");
14
+ }
15
+ const enabled = options.enabled === "true";
16
+ const data = await apiRequest("/agent/mcp-servers/set-enabled", {
17
+ method: "POST",
18
+ body: JSON.stringify({
19
+ mcpServerId: options.server,
20
+ enabled,
21
+ org_id: options.org ?? getOrgId(),
22
+ workspace_id: options.workspace ?? getWorkspaceId(),
23
+ }),
24
+ });
25
+ console.log(`✓ MCP server ${data.mcpServerId} ${data.enabled ? "enabled" : "disabled"} (${data.snapshotCount} snapshot${data.snapshotCount === 1 ? "" : "s"})`);
26
+ }
27
+ catch (err) {
28
+ const msg = err instanceof ApiError ? err.message : String(err);
29
+ console.error(`Error: ${msg}`);
30
+ process.exit(1);
31
+ }
32
+ });
33
+ //# sourceMappingURL=agent.mcp.set_enabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.mcp.set_enabled.js","sourceRoot":"","sources":["../../src/commands/agent.mcp.set_enabled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQ5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KAChE,WAAW,CAAC,oDAAoD,CAAC;KACjE,cAAc,CAAC,mBAAmB,EAAE,eAAe,CAAC;KACpD,cAAc,CAAC,kBAAkB,EAAE,6CAA6C,CAAC;KACjF,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;KAC3C,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,OAA8E,EAAE,EAAE;IAC/F,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,UAAU,CAA6B,gCAAgC,EAAE;YAC1F,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,WAAW,EAAE,OAAO,CAAC,MAAM;gBAC3B,OAAO;gBACP,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,QAAQ,EAAE;gBACjC,YAAY,EAAE,OAAO,CAAC,SAAS,IAAI,cAAc,EAAE;aACpD,CAAC;SACH,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CACT,gBAAgB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,aAAa,YAAY,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CACnJ,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const auditLogQueryCommand: Command;
3
+ //# sourceMappingURL=audit.log.query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.log.query.d.ts","sourceRoot":"","sources":["../../src/commands/audit.log.query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,oBAAoB,SAuC7B,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest } from "../lib/api-client.js";
3
+ export const auditLogQueryCommand = new Command("query")
4
+ .description("Query the org's security and automation audit events with filters — " +
5
+ "actor, capability, outcome, event type, time range — newest first.")
6
+ .option("-s, --source <source>", "Which spine: all | security | playbook", "all")
7
+ .option("-e, --event-type <type>", "Exact event-type match")
8
+ .option("--actor <userId>", "Filter security events by acting user id")
9
+ .option("-c, --capability <name>", "Filter security events by capability name")
10
+ .option("-o, --outcome <outcome>", "Filter security events: allow | deny | error | success")
11
+ .option("--run <playbookRunId>", "Filter playbook events to a single run")
12
+ .option("--workspace <workspaceId>", "Restrict to one workspace")
13
+ .option("--from <iso>", "Inclusive ISO-8601 lower bound on occurredAt")
14
+ .option("--to <iso>", "Exclusive ISO-8601 upper bound on occurredAt")
15
+ .option("--limit <n>", "Max events (1–200)", "50")
16
+ .option("--offset <n>", "Pagination offset", "0")
17
+ .action(async (options) => {
18
+ try {
19
+ const result = await apiRequest("/audit/log/query", {
20
+ method: "POST",
21
+ body: JSON.stringify({
22
+ source: options.source,
23
+ eventType: options.eventType,
24
+ actorUserId: options.actor,
25
+ capability: options.capability,
26
+ outcome: options.outcome,
27
+ playbookRunId: options.run,
28
+ workspaceId: options.workspace,
29
+ from: options.from,
30
+ to: options.to,
31
+ limit: Number(options.limit),
32
+ offset: Number(options.offset),
33
+ }),
34
+ });
35
+ console.log(JSON.stringify(result, null, 2));
36
+ }
37
+ catch (error) {
38
+ console.error("Failed to query audit log:", error);
39
+ process.exit(1);
40
+ }
41
+ });
42
+ //# sourceMappingURL=audit.log.query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.log.query.js","sourceRoot":"","sources":["../../src/commands/audit.log.query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KACrD,WAAW,CACV,sEAAsE;IACpE,oEAAoE,CACvE;KACA,MAAM,CAAC,uBAAuB,EAAE,wCAAwC,EAAE,KAAK,CAAC;KAChF,MAAM,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;KAC3D,MAAM,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;KACtE,MAAM,CAAC,yBAAyB,EAAE,2CAA2C,CAAC;KAC9E,MAAM,CAAC,yBAAyB,EAAE,wDAAwD,CAAC;KAC3F,MAAM,CAAC,uBAAuB,EAAE,wCAAwC,CAAC;KACzE,MAAM,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;KAChE,MAAM,CAAC,cAAc,EAAE,8CAA8C,CAAC;KACtE,MAAM,CAAC,YAAY,EAAE,8CAA8C,CAAC;KACpE,MAAM,CAAC,aAAa,EAAE,oBAAoB,EAAE,IAAI,CAAC;KACjD,MAAM,CAAC,cAAc,EAAE,mBAAmB,EAAE,GAAG,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,OAAgC,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,OAAO,CAAC,KAAK;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,aAAa,EAAE,OAAO,CAAC,GAAG;gBAC1B,WAAW,EAAE,OAAO,CAAC,SAAS;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC5B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aAC/B,CAAC;SACH,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"automation.create.d.ts","sourceRoot":"","sources":["../../src/commands/automation.create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,uBAAuB,SAyBhC,CAAC"}
1
+ {"version":3,"file":"automation.create.d.ts","sourceRoot":"","sources":["../../src/commands/automation.create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,uBAAuB,SA2FjC,CAAC"}
@@ -3,23 +3,62 @@ import { apiRequest, ApiError } from "../lib/api-client.js";
3
3
  export const automationCreateCommand = new Command("create")
4
4
  .description("Create a new automation")
5
5
  .requiredOption("-n, --name <name>", "Automation name")
6
- .option("-t, --trigger <event>", "Trigger event type")
7
- .option("-a, --action <type>", "Action type")
6
+ .option("-d, --description <text>", "What this automation does and when it fires")
7
+ .option("--trigger-type <type>", "Trigger type: event | schedule | api (default: api)", "api")
8
+ .option("--entity-type <type>", "Graph entity type to watch (required for event triggers)")
9
+ .option("--event-type <type>", "Graph event type: node.created | node.updated | node.deleted (required for event triggers)")
10
+ .option("--conditions <json>", "JSON array of propertyConditions for event triggers")
11
+ .option("--cron <expression>", "POSIX cron expression (required for schedule triggers, e.g. '0 9 * * 1')")
12
+ .option("--timezone <tz>", "IANA timezone for schedule triggers (default: UTC)")
13
+ .option("--steps <json>", "JSON array of step objects to scaffold in the playbook")
14
+ .option("--enabled", "Start the trigger enabled (human-origin only; AI calls are forced off)")
8
15
  .action(async (options) => {
9
16
  try {
17
+ const triggerConfig = {};
18
+ if (options.entityType)
19
+ triggerConfig.entityType = options.entityType;
20
+ if (options.eventType)
21
+ triggerConfig.eventType = options.eventType;
22
+ if (options.conditions) {
23
+ try {
24
+ triggerConfig.propertyConditions = JSON.parse(options.conditions);
25
+ }
26
+ catch {
27
+ throw new Error("Invalid --conditions JSON");
28
+ }
29
+ }
30
+ if (options.cron)
31
+ triggerConfig.cronExpression = options.cron;
32
+ if (options.timezone)
33
+ triggerConfig.timezone = options.timezone;
34
+ let steps = [];
35
+ if (options.steps) {
36
+ try {
37
+ steps = JSON.parse(options.steps);
38
+ }
39
+ catch {
40
+ throw new Error("Invalid --steps JSON");
41
+ }
42
+ }
10
43
  console.log(`Creating automation "${options.name}"...`);
11
44
  const data = await apiRequest("/automation/create", {
12
45
  method: "POST",
13
46
  body: JSON.stringify({
14
47
  name: options.name,
15
- trigger: options.trigger,
16
- action: options.action,
48
+ description: options.description,
49
+ triggerType: options.triggerType,
50
+ triggerConfig,
51
+ steps,
52
+ enabled: options.enabled ?? false,
17
53
  }),
18
54
  });
19
55
  console.log(`✓ Automation created`);
20
56
  console.log(` ID: ${data.automation_id}`);
57
+ console.log(` Playbook ID: ${data.playbook_id}`);
21
58
  console.log(` Name: ${data.name}`);
22
59
  console.log(` Status: ${data.status}`);
60
+ console.log(` Trigger type: ${data.triggerType}`);
61
+ console.log(` Enabled: ${data.enabled}`);
23
62
  }
24
63
  catch (err) {
25
64
  const msg = err instanceof ApiError ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"automation.create.js","sourceRoot":"","sources":["../../src/commands/automation.create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQ5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KACzD,WAAW,CAAC,yBAAyB,CAAC;KACtC,cAAc,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;KACtD,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;KACrD,MAAM,CAAC,qBAAqB,EAAE,aAAa,CAAC;KAC5C,MAAM,CAAC,KAAK,EAAE,OAA4D,EAAE,EAAE;IAC7E,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,UAAU,CAA2B,oBAAoB,EAAE;YAC5E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC;SACH,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"automation.create.js","sourceRoot":"","sources":["../../src/commands/automation.create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const automationDisableCommand: Command;
3
+ //# sourceMappingURL=automation.disable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.disable.d.ts","sourceRoot":"","sources":["../../src/commands/automation.disable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,wBAAwB,SAmBjC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, ApiError } from "../lib/api-client.js";
3
+ export const automationDisableCommand = new Command("disable")
4
+ .description("Disable an automation trigger so it stops firing")
5
+ .argument("<id>", "Automation trigger public ID")
6
+ .action(async (id) => {
7
+ try {
8
+ console.log(`Disabling automation ${id}...`);
9
+ const data = await apiRequest("/automation/disable", {
10
+ method: "POST",
11
+ body: JSON.stringify({ automation_id: id }),
12
+ });
13
+ console.log(`✓ Automation disabled`);
14
+ console.log(` ID: ${data.automation_id}`);
15
+ console.log(` Enabled: ${data.enabled}`);
16
+ console.log(` Status: ${data.status}`);
17
+ }
18
+ catch (err) {
19
+ const msg = err instanceof ApiError ? err.message : String(err);
20
+ console.error(`Error: ${msg}`);
21
+ process.exit(1);
22
+ }
23
+ });
24
+ //# sourceMappingURL=automation.disable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.disable.js","sourceRoot":"","sources":["../../src/commands/automation.disable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQ5D,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KAC3D,WAAW,CAAC,kDAAkD,CAAC;KAC/D,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,UAAU,CAA4B,qBAAqB,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const automationEnableCommand: Command;
3
+ //# sourceMappingURL=automation.enable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.enable.d.ts","sourceRoot":"","sources":["../../src/commands/automation.enable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,uBAAuB,SAmBhC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, ApiError } from "../lib/api-client.js";
3
+ export const automationEnableCommand = new Command("enable")
4
+ .description("Enable an automation trigger so it fires live")
5
+ .argument("<id>", "Automation trigger public ID")
6
+ .action(async (id) => {
7
+ try {
8
+ console.log(`Enabling automation ${id}...`);
9
+ const data = await apiRequest("/automation/enable", {
10
+ method: "POST",
11
+ body: JSON.stringify({ automation_id: id }),
12
+ });
13
+ console.log(`✓ Automation enabled`);
14
+ console.log(` ID: ${data.automation_id}`);
15
+ console.log(` Enabled: ${data.enabled}`);
16
+ console.log(` Status: ${data.status}`);
17
+ }
18
+ catch (err) {
19
+ const msg = err instanceof ApiError ? err.message : String(err);
20
+ console.error(`Error: ${msg}`);
21
+ process.exit(1);
22
+ }
23
+ });
24
+ //# sourceMappingURL=automation.enable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.enable.js","sourceRoot":"","sources":["../../src/commands/automation.enable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQ5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KACzD,WAAW,CAAC,+CAA+C,CAAC;KAC5D,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,UAAU,CAA2B,oBAAoB,EAAE;YAC5E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const automationUpdateCommand: Command;
3
+ //# sourceMappingURL=automation.update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.update.d.ts","sourceRoot":"","sources":["../../src/commands/automation.update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,uBAAuB,SAuCjC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, ApiError } from "../lib/api-client.js";
3
+ export const automationUpdateCommand = new Command("update")
4
+ .description("Edit an existing automation: rename, change description, or replace trigger config")
5
+ .argument("<id>", "Automation trigger public ID")
6
+ .option("-n, --name <name>", "New name")
7
+ .option("-d, --description <description>", "New description")
8
+ .option("--trigger-config <json>", "Replacement trigger config as a JSON string")
9
+ .action(async (id, opts) => {
10
+ try {
11
+ const body = { automation_id: id };
12
+ if (opts.name !== undefined)
13
+ body.name = opts.name;
14
+ if (opts.description !== undefined)
15
+ body.description = opts.description;
16
+ if (opts.triggerConfig !== undefined) {
17
+ try {
18
+ body.triggerConfig = JSON.parse(opts.triggerConfig);
19
+ }
20
+ catch {
21
+ console.error("Error: --trigger-config must be valid JSON");
22
+ process.exit(1);
23
+ }
24
+ }
25
+ console.log(`Updating automation ${id}...`);
26
+ const data = await apiRequest("/automation/update", {
27
+ method: "PATCH",
28
+ body: JSON.stringify(body),
29
+ });
30
+ console.log(`✓ Automation updated`);
31
+ console.log(` ID: ${data.automation_id}`);
32
+ console.log(` Name: ${data.name}`);
33
+ console.log(` Status: ${data.status}`);
34
+ console.log(` Trigger: ${data.triggerType} (enabled: ${data.enabled})`);
35
+ }
36
+ catch (err) {
37
+ const msg = err instanceof ApiError ? err.message : String(err);
38
+ console.error(`Error: ${msg}`);
39
+ process.exit(1);
40
+ }
41
+ });
42
+ //# sourceMappingURL=automation.update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.update.js","sourceRoot":"","sources":["../../src/commands/automation.update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAW5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KACzD,WAAW,CAAC,oFAAoF,CAAC;KACjG,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC;KACvC,MAAM,CAAC,iCAAiC,EAAE,iBAAiB,CAAC;KAC5D,MAAM,CAAC,yBAAyB,EAAE,6CAA6C,CAAC;KAChF,MAAM,CACL,KAAK,EACH,EAAU,EACV,IAAqE,EACrE,EAAE;IACF,IAAI,CAAC;QACH,MAAM,IAAI,GAA4B,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,UAAU,CAA2B,oBAAoB,EAAE;YAC5E,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,WAAW,cAAc,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const conversationFilesListCommand: Command;
3
+ //# sourceMappingURL=conversation.files.list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.files.list.d.ts","sourceRoot":"","sources":["../../src/commands/conversation.files.list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,eAAO,MAAM,4BAA4B,SA2CtC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, requireAuth, ApiError } from "../lib/api-client.js";
3
+ export const conversationFilesListCommand = new Command("files")
4
+ .description("List generated files attached to a conversation")
5
+ .requiredOption("-c, --conversation <id>", "Conversation public ID")
6
+ .option("--kind <kind>", "Filter by kind: image|video|document|spreadsheet|presentation|pdf|archive")
7
+ .option("--limit <n>", "Maximum results (1–200)", "50")
8
+ .option("--cursor <cursor>", "Pagination cursor (ISO createdAt of last row)")
9
+ .action(async (options) => {
10
+ requireAuth();
11
+ try {
12
+ const qs = new URLSearchParams();
13
+ if (options.kind)
14
+ qs.set("kind", options.kind);
15
+ if (options.limit)
16
+ qs.set("limit", options.limit);
17
+ if (options.cursor)
18
+ qs.set("cursor", options.cursor);
19
+ const data = await apiRequest(`/conversations/${options.conversation}/files?${qs}`);
20
+ if (data.files.length === 0) {
21
+ console.log("No files found.");
22
+ return;
23
+ }
24
+ console.log("Files:");
25
+ for (const f of data.files) {
26
+ const size = f.sizeBytes !== null ? ` (${Math.round(f.sizeBytes / 1024)}KB)` : "";
27
+ console.log(` ${f.publicId} [${f.kind}] ${f.name}${size} ${f.createdAt}`);
28
+ }
29
+ if (data.nextCursor) {
30
+ console.log(`\nNext cursor: ${data.nextCursor}`);
31
+ }
32
+ }
33
+ catch (err) {
34
+ const _msg = err instanceof ApiError ? err.message : String(err);
35
+ console.error(`Error: ${_msg}`);
36
+ process.exit(1);
37
+ }
38
+ });
39
+ //# sourceMappingURL=conversation.files.list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.files.list.js","sourceRoot":"","sources":["../../src/commands/conversation.files.list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAuBzE,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7D,WAAW,CAAC,iDAAiD,CAAC;KAC9D,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;KACnE,MAAM,CAAC,eAAe,EAAE,2EAA2E,CAAC;KACpG,MAAM,CAAC,aAAa,EAAE,yBAAyB,EAAE,IAAI,CAAC;KACtD,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,CAAC;KAC5E,MAAM,CACL,KAAK,EAAE,OAKN,EAAE,EAAE;IACH,WAAW,EAAE,CAAC;IACd,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,IAAI;YAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK;YAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,UAAU,CAC3B,kBAAkB,OAAO,CAAC,YAAY,UAAU,EAAE,EAAE,CACrD,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,GACR,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,SAAS,EAAE,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const markdownGenerateCommand: Command;
3
+ //# sourceMappingURL=markdown.generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.generate.d.ts","sourceRoot":"","sources":["../../src/commands/markdown.generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,uBAAuB,SA2CjC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, ApiError } from "../lib/api-client.js";
3
+ import { getOrgId, getWorkspaceId } from "../lib/config.js";
4
+ export const markdownGenerateCommand = new Command("markdown-generate")
5
+ .description("Persist a Markdown document as a generated asset")
6
+ .requiredOption("-t, --title <title>", "Document title / filename (without .md extension)")
7
+ .option("-m, --markdown <source>", "Raw Markdown source (use --sections as fallback)")
8
+ .option("--sections <json>", "Structured sections as JSON: [{heading?, paragraphs: string[]}]")
9
+ .option("-o, --org <id>", "Organization ID")
10
+ .option("-w, --workspace <id>", "Workspace ID")
11
+ .action(async (options) => {
12
+ try {
13
+ let sections;
14
+ if (options.sections)
15
+ sections = JSON.parse(options.sections);
16
+ const data = await apiRequest("/markdown/generate", {
17
+ method: "POST",
18
+ body: JSON.stringify({
19
+ title: options.title,
20
+ markdown: options.markdown,
21
+ sections,
22
+ org_id: options.org ?? getOrgId(),
23
+ workspace_id: options.workspace ?? getWorkspaceId(),
24
+ }),
25
+ });
26
+ console.log(`Markdown document created`);
27
+ console.log(` Asset ID: ${data.assetId}`);
28
+ console.log(` Size: ${data.sizeBytes} bytes`);
29
+ console.log(` URL: ${data.serveUrl}`);
30
+ }
31
+ catch (err) {
32
+ const msg = err instanceof ApiError ? err.message : String(err);
33
+ console.error(`Error: ${msg}`);
34
+ process.exit(1);
35
+ }
36
+ });
37
+ //# sourceMappingURL=markdown.generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.generate.js","sourceRoot":"","sources":["../../src/commands/markdown.generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAY5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;KACpE,WAAW,CAAC,kDAAkD,CAAC;KAC/D,cAAc,CAAC,qBAAqB,EAAE,mDAAmD,CAAC;KAC1F,MAAM,CAAC,yBAAyB,EAAE,kDAAkD,CAAC;KACrF,MAAM,CACL,mBAAmB,EACnB,iEAAiE,CAClE;KACA,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;KAC3C,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CACL,KAAK,EAAE,OAMN,EAAE,EAAE;IACH,IAAI,CAAC;QACH,IAAI,QAAiB,CAAC;QACtB,IAAI,OAAO,CAAC,QAAQ;YAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAY,CAAC;QAEzE,MAAM,IAAI,GAAG,MAAM,UAAU,CAA2B,oBAAoB,EAAE;YAC5E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ;gBACR,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,QAAQ,EAAE;gBACjC,YAAY,EAAE,OAAO,CAAC,SAAS,IAAI,cAAc,EAAE;aACpD,CAAC;SACH,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,QAAQ,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const mermaidGenerateCommand: Command;
3
+ //# sourceMappingURL=mermaid.generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mermaid.generate.d.ts","sourceRoot":"","sources":["../../src/commands/mermaid.generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,eAAO,MAAM,sBAAsB,SA8B/B,CAAC"}