@poolzin/pool-bot 2026.4.43 → 2026.4.45

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 (50) hide show
  1. package/dist/agents/model-catalog-gemma4.d.ts +6 -0
  2. package/dist/agents/model-catalog-gemma4.d.ts.map +1 -0
  3. package/dist/agents/model-catalog-gemma4.js +17 -0
  4. package/dist/agents/model-catalog.d.ts.map +1 -1
  5. package/dist/agents/model-catalog.js +7 -0
  6. package/dist/agents/tools/music-edit-tool.d.ts +9 -0
  7. package/dist/agents/tools/music-edit-tool.d.ts.map +1 -0
  8. package/dist/agents/tools/music-edit-tool.js +46 -0
  9. package/dist/agents/tools/video-edit-tool.d.ts +9 -0
  10. package/dist/agents/tools/video-edit-tool.d.ts.map +1 -0
  11. package/dist/agents/tools/video-edit-tool.js +46 -0
  12. package/dist/build-info.json +3 -3
  13. package/dist/cli/completion.d.ts +15 -0
  14. package/dist/cli/completion.d.ts.map +1 -0
  15. package/dist/cli/completion.js +183 -0
  16. package/dist/cli/onboard-cli.d.ts +20 -0
  17. package/dist/cli/onboard-cli.d.ts.map +1 -0
  18. package/dist/cli/onboard-cli.js +443 -0
  19. package/dist/cli/plugins-config-tui.d.ts.map +1 -1
  20. package/dist/cli/plugins-config-tui.js +1 -1
  21. package/dist/cli/program/register.subclis.d.ts.map +1 -1
  22. package/dist/cli/program/register.subclis.js +18 -0
  23. package/dist/cli/sessions-checkpoints-cli.d.ts +6 -0
  24. package/dist/cli/sessions-checkpoints-cli.d.ts.map +1 -0
  25. package/dist/cli/sessions-checkpoints-cli.js +117 -0
  26. package/dist/cli/webhooks-cli.d.ts +13 -0
  27. package/dist/cli/webhooks-cli.d.ts.map +1 -1
  28. package/dist/cli/webhooks-cli.js +323 -130
  29. package/dist/errors/user-friendly-errors.d.ts +23 -0
  30. package/dist/errors/user-friendly-errors.d.ts.map +1 -0
  31. package/dist/errors/user-friendly-errors.js +182 -0
  32. package/dist/infra/net/fetch-guard.d.ts.map +1 -1
  33. package/dist/memory/wiki/store.d.ts +53 -0
  34. package/dist/memory/wiki/store.d.ts.map +1 -0
  35. package/dist/memory/wiki/store.js +222 -0
  36. package/dist/memory/wiki/types.d.ts +57 -0
  37. package/dist/memory/wiki/types.d.ts.map +1 -0
  38. package/dist/memory/wiki/types.js +6 -0
  39. package/dist/plugins/webhook-ingress.d.ts +104 -0
  40. package/dist/plugins/webhook-ingress.d.ts.map +1 -0
  41. package/dist/plugins/webhook-ingress.js +287 -0
  42. package/dist/providers/ollama-vision.d.ts +30 -0
  43. package/dist/providers/ollama-vision.d.ts.map +1 -0
  44. package/dist/providers/ollama-vision.js +62 -0
  45. package/dist/sessions/checkpoints.d.ts +76 -0
  46. package/dist/sessions/checkpoints.d.ts.map +1 -0
  47. package/dist/sessions/checkpoints.js +162 -0
  48. package/dist/slack/channel.d.ts.map +1 -1
  49. package/dist/slack/channel.js +13 -2
  50. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Gemma 4 Model Support
3
+ */
4
+ import type { ModelCatalogEntry } from "./model-catalog.js";
5
+ export declare const gemma4Models: ModelCatalogEntry[];
6
+ //# sourceMappingURL=model-catalog-gemma4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-catalog-gemma4.d.ts","sourceRoot":"","sources":["../../src/agents/model-catalog-gemma4.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,eAAO,MAAM,YAAY,EAAE,iBAAiB,EAa3C,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Gemma 4 Model Support
3
+ */
4
+ export const gemma4Models = [
5
+ {
6
+ id: "google/gemma-4-27b-it",
7
+ name: "Google Gemma 4 27B Instruct",
8
+ provider: "google",
9
+ contextWindow: 131072,
10
+ },
11
+ {
12
+ id: "google/gemma-4-12b-it",
13
+ name: "Google Gemma 4 12B Instruct",
14
+ provider: "google",
15
+ contextWindow: 131072,
16
+ },
17
+ ];
@@ -1 +1 @@
1
- {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/agents/model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,qBAAqB,CAAC;AAOrE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;CACjC,CAAC;AAWF,KAAK,WAAW,GAAG,cAAc,yBAAyB,CAAC,CAAC;AAoC5D,wBAAgB,6BAA6B,SAI5C;AAGD,wBAAgB,8BAA8B,CAAC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QAEjF;AAUD,wBAAsB,gBAAgB,CAAC,MAAM,CAAC,EAAE;IAC9C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoF/B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAEjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,EAAE,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,iBAAiB,GAAG,SAAS,CAQ/B"}
1
+ {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/agents/model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,qBAAqB,CAAC;AAQrE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;CACjC,CAAC;AAWF,KAAK,WAAW,GAAG,cAAc,yBAAyB,CAAC,CAAC;AAoC5D,wBAAgB,6BAA6B,SAI5C;AAGD,wBAAgB,8BAA8B,CAAC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QAEjF;AAUD,wBAAsB,gBAAgB,CAAC,MAAM,CAAC,EAAE;IAC9C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0F/B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAEjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,EAAE,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,iBAAiB,GAAG,SAAS,CAQ/B"}
@@ -2,6 +2,7 @@ import { loadConfig } from "../config/config.js";
2
2
  import { createSubsystemLogger } from "../logging/subsystem.js";
3
3
  import { resolvePoolbotAgentDir } from "./agent-paths.js";
4
4
  import { ensurePoolbotModelsJson } from "./models-config.js";
5
+ import { gemma4Models } from "./model-catalog-gemma4.js";
5
6
  const log = createSubsystemLogger("model-catalog");
6
7
  let modelCatalogPromise = null;
7
8
  let hasLoggedModelCatalogError = false;
@@ -104,8 +105,14 @@ export async function loadModelCatalog(params) {
104
105
  // Don't poison the cache on transient dependency/filesystem issues.
105
106
  modelCatalogPromise = null;
106
107
  if (models.length > 0) {
108
+ // Add Gemma 4 models
109
+ models.push(...gemma4Models);
107
110
  return sortModels(models);
108
111
  }
112
+ // Add Gemma 4 models even if no other models
113
+ if (gemma4Models.length > 0) {
114
+ return sortModels([...gemma4Models]);
115
+ }
109
116
  return [];
110
117
  }
111
118
  })();
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Music Editing Tool
3
+ *
4
+ * Allows editing music with prompts (audio-to-audio).
5
+ * Simplified version using external APIs.
6
+ */
7
+ import type { AnyAgentTool } from "./common.js";
8
+ export declare function createMusicEditTool(): AnyAgentTool;
9
+ //# sourceMappingURL=music-edit-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music-edit-tool.d.ts","sourceRoot":"","sources":["../../../src/agents/tools/music-edit-tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,wBAAgB,mBAAmB,IAAI,YAAY,CA4ClD"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Music Editing Tool
3
+ *
4
+ * Allows editing music with prompts (audio-to-audio).
5
+ * Simplified version using external APIs.
6
+ */
7
+ import { Type } from "@sinclair/typebox";
8
+ export function createMusicEditTool() {
9
+ return {
10
+ name: "music_edit",
11
+ label: "Music Edit",
12
+ description: "Edit a music track using a text prompt (audio-to-audio). " +
13
+ "Provide a source audio URL and describe the changes you want.",
14
+ parameters: Type.Object({
15
+ sourceUrl: Type.String({
16
+ description: "URL of the source audio to edit",
17
+ }),
18
+ prompt: Type.String({
19
+ description: "Description of the edits to apply",
20
+ }),
21
+ duration: Type.Optional(Type.Number({
22
+ description: "Output duration in seconds (optional)",
23
+ })),
24
+ genre: Type.Optional(Type.String({
25
+ description: "Target genre (e.g., 'jazz', 'electronic', 'classical')",
26
+ })),
27
+ }),
28
+ execute: async (_toolCallId, params) => {
29
+ // Placeholder - in production, integrate with Suno, Udio, or MusicLM
30
+ return {
31
+ content: [
32
+ {
33
+ type: "text",
34
+ text: `Music edit task queued.\n\n` +
35
+ `Source: ${params.sourceUrl}\n` +
36
+ `Prompt: ${params.prompt}\n` +
37
+ `Duration: ${params.duration ?? "same as source"}s\n` +
38
+ `Genre: ${params.genre ?? "none"}\n\n` +
39
+ `Note: Music editing requires external API integration (Suno, Udio, MusicLM). ` +
40
+ `This is a placeholder for the workflow.`,
41
+ },
42
+ ],
43
+ };
44
+ },
45
+ };
46
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Video Editing Tool
3
+ *
4
+ * Allows editing videos with prompts (video-to-video).
5
+ * Simplified version using external APIs.
6
+ */
7
+ import type { AnyAgentTool } from "./common.js";
8
+ export declare function createVideoEditTool(): AnyAgentTool;
9
+ //# sourceMappingURL=video-edit-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-edit-tool.d.ts","sourceRoot":"","sources":["../../../src/agents/tools/video-edit-tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,wBAAgB,mBAAmB,IAAI,YAAY,CA4ClD"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Video Editing Tool
3
+ *
4
+ * Allows editing videos with prompts (video-to-video).
5
+ * Simplified version using external APIs.
6
+ */
7
+ import { Type } from "@sinclair/typebox";
8
+ export function createVideoEditTool() {
9
+ return {
10
+ name: "video_edit",
11
+ label: "Video Edit",
12
+ description: "Edit a video using a text prompt (video-to-video). " +
13
+ "Provide a source video URL and describe the changes you want.",
14
+ parameters: Type.Object({
15
+ sourceUrl: Type.String({
16
+ description: "URL of the source video to edit",
17
+ }),
18
+ prompt: Type.String({
19
+ description: "Description of the edits to apply",
20
+ }),
21
+ duration: Type.Optional(Type.Number({
22
+ description: "Output duration in seconds (optional)",
23
+ })),
24
+ style: Type.Optional(Type.String({
25
+ description: "Style preset (e.g., 'cinematic', 'anime', 'realistic')",
26
+ })),
27
+ }),
28
+ execute: async (_toolCallId, params) => {
29
+ // Placeholder - in production, integrate with Runway, Pika, or ComfyUI
30
+ return {
31
+ content: [
32
+ {
33
+ type: "text",
34
+ text: `Video edit task queued.\n\n` +
35
+ `Source: ${params.sourceUrl}\n` +
36
+ `Prompt: ${params.prompt}\n` +
37
+ `Duration: ${params.duration ?? "same as source"}s\n` +
38
+ `Style: ${params.style ?? "none"}\n\n` +
39
+ `Note: Video editing requires external API integration (Runway, Pika, ComfyUI). ` +
40
+ `This is a placeholder for the workflow.`,
41
+ },
42
+ ],
43
+ };
44
+ },
45
+ };
46
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.4.43",
3
- "commit": "8a0c50a73951b2499ca0775b345db4d92c6c8538",
4
- "builtAt": "2026-04-08T02:48:06.767Z"
2
+ "version": "2026.4.45",
3
+ "commit": "ec268e52a52b5717bb045639f4e49082129b6ff9",
4
+ "builtAt": "2026-04-08T13:05:11.523Z"
5
5
  }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * CLI Auto-Complete Generator
3
+ *
4
+ * Generates shell completion scripts for bash, zsh, and fish.
5
+ *
6
+ * Usage:
7
+ * poolbot completion bash # Bash completion
8
+ * poolbot completion zsh # Zsh completion
9
+ * poolbot completion fish # Fish completion
10
+ */
11
+ import type { Command } from "commander";
12
+ export declare function generateBashCompletion(program: Command): string;
13
+ export declare function generateZshCompletion(program: Command): string;
14
+ export declare function generateFishCompletion(program: Command): string;
15
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/cli/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CA0B/D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CA8D9D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAoC/D"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * CLI Auto-Complete Generator
3
+ *
4
+ * Generates shell completion scripts for bash, zsh, and fish.
5
+ *
6
+ * Usage:
7
+ * poolbot completion bash # Bash completion
8
+ * poolbot completion zsh # Zsh completion
9
+ * poolbot completion fish # Fish completion
10
+ */
11
+ const commands = [
12
+ "agent",
13
+ "channels",
14
+ "config",
15
+ "cron",
16
+ "devices",
17
+ "doctor",
18
+ "exec-approvals",
19
+ "gateway",
20
+ "infer",
21
+ "message",
22
+ "models",
23
+ "mcp",
24
+ "nodes",
25
+ "onboard",
26
+ "plugins",
27
+ "secret",
28
+ "security",
29
+ "sessions",
30
+ "skills",
31
+ "status",
32
+ "telemetry",
33
+ "update",
34
+ "webhooks",
35
+ ];
36
+ const agentCommands = ["run", "stop", "status", "list"];
37
+ const channelCommands = ["list", "status", "probe", "add", "remove", "enable", "disable"];
38
+ const configCommands = ["show", "set", "get", "validate", "schema"];
39
+ const cronCommands = ["list", "add", "remove", "run", "enable", "disable"];
40
+ const inferCommands = [
41
+ "chat",
42
+ "image",
43
+ "video",
44
+ "music",
45
+ "embed",
46
+ "web-search",
47
+ "web-fetch",
48
+ "batch",
49
+ ];
50
+ const modelCommands = ["list", "set", "status", "aliases", "fallbacks", "scan"];
51
+ const pluginCommands = ["list", "install", "uninstall", "enable", "disable", "update"];
52
+ const secretCommands = ["list", "get", "set", "rotate", "validate", "delete"];
53
+ const sessionCommands = ["list", "show", "checkpoints"];
54
+ const checkpointCommands = ["list", "show", "prune"];
55
+ const skillCommands = ["list", "show", "enable", "disable"];
56
+ const webhookCommands = ["list", "create", "show", "delete", "enable", "disable", "stats", "serve"];
57
+ export function generateBashCompletion(program) {
58
+ return `# Pool Bot bash completion
59
+ _poolbot_completion() {
60
+ local cur="\${COMP_WORDS[COMP_CWORD]}"
61
+ local prev="\${COMP_WORDS[COMP_CWORD-1]}"
62
+ local cmd="\${COMP_WORDS[1]}"
63
+
64
+ case "\$cmd" in
65
+ agent) COMPREPLY=(\$(compgen -W "${agentCommands.join(" ")}" -- "\$cur")) ;;
66
+ channels) COMPREPLY=(\$(compgen -W "${channelCommands.join(" ")}" -- "\$cur")) ;;
67
+ config) COMPREPLY=(\$(compgen -W "${configCommands.join(" ")}" -- "\$cur")) ;;
68
+ cron) COMPREPLY=(\$(compgen -W "${cronCommands.join(" ")}" -- "\$cur")) ;;
69
+ infer) COMPREPLY=(\$(compgen -W "${inferCommands.join(" ")}" -- "\$cur")) ;;
70
+ models) COMPREPLY=(\$(compgen -W "${modelCommands.join(" ")}" -- "\$cur")) ;;
71
+ plugins) COMPREPLY=(\$(compgen -W "${pluginCommands.join(" ")}" -- "\$cur")) ;;
72
+ secret) COMPREPLY=(\$(compgen -W "${secretCommands.join(" ")}" -- "\$cur")) ;;
73
+ sessions) COMPREPLY=(\$(compgen -W "${sessionCommands.join(" ")}" -- "\$cur")) ;;
74
+ checkpoints) COMPREPLY=(\$(compgen -W "${checkpointCommands.join(" ")}" -- "\$cur")) ;;
75
+ skills) COMPREPLY=(\$(compgen -W "${skillCommands.join(" ")}" -- "\$cur")) ;;
76
+ webhooks) COMPREPLY=(\$(compgen -W "${webhookCommands.join(" ")}" -- "\$cur")) ;;
77
+ *) COMPREPLY=(\$(compgen -W "${commands.join(" ")}" -- "\$cur")) ;;
78
+ esac
79
+ }
80
+
81
+ complete -F _poolbot_completion poolbot
82
+ `;
83
+ }
84
+ export function generateZshCompletion(program) {
85
+ return `# Pool Bot zsh completion
86
+ #compdef poolbot
87
+
88
+ _poolbot() {
89
+ local -a commands
90
+ local -a agent_cmds
91
+ local -a channel_cmds
92
+ local -a config_cmds
93
+ local -a cron_cmds
94
+ local -a infer_cmds
95
+ local -a model_cmds
96
+ local -a plugin_cmds
97
+ local -a secret_cmds
98
+ local -a session_cmds
99
+ local -a checkpoint_cmds
100
+ local -a skill_cmds
101
+ local -a webhook_cmds
102
+
103
+ commands=(${commands.map((c) => `'${c}'`).join(" ")})
104
+ agent_cmds=(${agentCommands.map((c) => `'${c}'`).join(" ")})
105
+ channel_cmds=(${channelCommands.map((c) => `'${c}'`).join(" ")})
106
+ config_cmds=(${configCommands.map((c) => `'${c}'`).join(" ")})
107
+ cron_cmds=(${cronCommands.map((c) => `'${c}'`).join(" ")})
108
+ infer_cmds=(${inferCommands.map((c) => `'${c}'`).join(" ")})
109
+ model_cmds=(${modelCommands.map((c) => `'${c}'`).join(" ")})
110
+ plugin_cmds=(${pluginCommands.map((c) => `'${c}'`).join(" ")})
111
+ secret_cmds=(${secretCommands.map((c) => `'${c}'`).join(" ")})
112
+ session_cmds=(${sessionCommands.map((c) => `'${c}'`).join(" ")})
113
+ checkpoint_cmds=(${checkpointCommands.map((c) => `'${c}'`).join(" ")})
114
+ skill_cmds=(${skillCommands.map((c) => `'${c}'`).join(" ")})
115
+ webhook_cmds=(${webhookCommands.map((c) => `'${c}'`).join(" ")})
116
+
117
+ _arguments -C \\
118
+ '1: :->cmds' \\
119
+ '*::arg:->args'
120
+
121
+ case \$state in
122
+ cmds)
123
+ _values 'command' \$commands
124
+ ;;
125
+ args)
126
+ case \$words[2] in
127
+ agent) _values 'agent command' \$agent_cmds ;;
128
+ channels) _values 'channel command' \$channel_cmds ;;
129
+ config) _values 'config command' \$config_cmds ;;
130
+ cron) _values 'cron command' \$cron_cmds ;;
131
+ infer) _values 'infer command' \$infer_cmds ;;
132
+ models) _values 'model command' \$model_cmds ;;
133
+ plugins) _values 'plugin command' \$plugin_cmds ;;
134
+ secret) _values 'secret command' \$secret_cmds ;;
135
+ sessions) _values 'session command' \$session_cmds ;;
136
+ checkpoints) _values 'checkpoint command' \$checkpoint_cmds ;;
137
+ skills) _values 'skill command' \$skill_cmds ;;
138
+ webhooks) _values 'webhook command' \$webhook_cmds ;;
139
+ esac
140
+ ;;
141
+ esac
142
+ }
143
+
144
+ _poolbot
145
+ `;
146
+ }
147
+ export function generateFishCompletion(program) {
148
+ return `# Pool Bot fish completion
149
+ function __fish_poolbot_needs_command
150
+ set -l cmd (commandline -opc)
151
+ if [ (count $cmd) -eq 1 -a $cmd[1] = 'poolbot' ]
152
+ return 0
153
+ end
154
+ return 1
155
+ end
156
+
157
+ function __fish_poolbot_using_command
158
+ set -l cmd (commandline -opc)
159
+ if [ (count $cmd) -gt 1 ]
160
+ if [ $argv[1] = $cmd[2] ]
161
+ return 0
162
+ end
163
+ end
164
+ return 1
165
+ end
166
+
167
+ # Main commands
168
+ complete -c poolbot -n '__fish_poolbot_needs_command' -a "${commands.join(" ")}"
169
+
170
+ # Subcommands
171
+ complete -c poolbot -n '__fish_poolbot_using_command agent' -a "${agentCommands.join(" ")}"
172
+ complete -c poolbot -n '__fish_poolbot_using_command channels' -a "${channelCommands.join(" ")}"
173
+ complete -c poolbot -n '__fish_poolbot_using_command config' -a "${configCommands.join(" ")}"
174
+ complete -c poolbot -n '__fish_poolbot_using_command cron' -a "${cronCommands.join(" ")}"
175
+ complete -c poolbot -n '__fish_poolbot_using_command infer' -a "${inferCommands.join(" ")}"
176
+ complete -c poolbot -n '__fish_poolbot_using_command models' -a "${modelCommands.join(" ")}"
177
+ complete -c poolbot -n '__fish_poolbot_using_command plugins' -a "${pluginCommands.join(" ")}"
178
+ complete -c poolbot -n '__fish_poolbot_using_command secret' -a "${secretCommands.join(" ")}"
179
+ complete -c poolbot -n '__fish_poolbot_using_command sessions' -a "${sessionCommands.join(" ")}"
180
+ complete -c poolbot -n '__fish_poolbot_using_command skills' -a "${skillCommands.join(" ")}"
181
+ complete -c poolbot -n '__fish_poolbot_using_command webhooks' -a "${webhookCommands.join(" ")}"
182
+ `;
183
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Guided Onboarding CLI - Step-by-step PoolBot setup wizard
3
+ *
4
+ * Interactive wizard that guides users through:
5
+ * 1. System checks
6
+ * 2. Gateway setup
7
+ * 3. Model/auth configuration
8
+ * 4. Channel setup (Telegram, Discord, etc.)
9
+ * 5. Memory/skills configuration
10
+ * 6. Final validation
11
+ *
12
+ * Usage:
13
+ * poolbot onboard # Full interactive onboarding
14
+ * poolbot onboard --skip-gateway # Skip gateway setup
15
+ * poolbot onboard --skip-channels # Skip channel setup
16
+ * poolbot onboard --yes # Use defaults (non-interactive)
17
+ */
18
+ import type { Command } from "commander";
19
+ export declare function registerOnboardCli(program: Command): void;
20
+ //# sourceMappingURL=onboard-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboard-cli.d.ts","sourceRoot":"","sources":["../../src/cli/onboard-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4gBzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,QA0BlD"}