@kernel.chat/kbot 2.27.0 → 3.0.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 (78) hide show
  1. package/README.md +115 -13
  2. package/dist/agent.d.ts +15 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +187 -48
  5. package/dist/agent.js.map +1 -1
  6. package/dist/checkpoint.d.ts +79 -0
  7. package/dist/checkpoint.d.ts.map +1 -0
  8. package/dist/checkpoint.js +220 -0
  9. package/dist/checkpoint.js.map +1 -0
  10. package/dist/cli.js +55 -4
  11. package/dist/cli.js.map +1 -1
  12. package/dist/ide/bridge.d.ts +2 -0
  13. package/dist/ide/bridge.d.ts.map +1 -1
  14. package/dist/ide/bridge.js +1 -0
  15. package/dist/ide/bridge.js.map +1 -1
  16. package/dist/ide/mcp-server.d.ts.map +1 -1
  17. package/dist/ide/mcp-server.js +27 -7
  18. package/dist/ide/mcp-server.js.map +1 -1
  19. package/dist/learned-router.d.ts +9 -7
  20. package/dist/learned-router.d.ts.map +1 -1
  21. package/dist/learned-router.js +36 -10
  22. package/dist/learned-router.js.map +1 -1
  23. package/dist/learning.d.ts +4 -0
  24. package/dist/learning.d.ts.map +1 -1
  25. package/dist/learning.js +17 -0
  26. package/dist/learning.js.map +1 -1
  27. package/dist/multimodal.d.ts +6 -0
  28. package/dist/multimodal.d.ts.map +1 -1
  29. package/dist/multimodal.js +45 -0
  30. package/dist/multimodal.js.map +1 -1
  31. package/dist/sdk.d.ts +165 -0
  32. package/dist/sdk.d.ts.map +1 -0
  33. package/dist/sdk.js +230 -0
  34. package/dist/sdk.js.map +1 -0
  35. package/dist/serve.d.ts.map +1 -1
  36. package/dist/serve.js +38 -0
  37. package/dist/serve.js.map +1 -1
  38. package/dist/skill-rating.d.ts +92 -0
  39. package/dist/skill-rating.d.ts.map +1 -0
  40. package/dist/skill-rating.js +352 -0
  41. package/dist/skill-rating.js.map +1 -0
  42. package/dist/streaming.d.ts +75 -1
  43. package/dist/streaming.d.ts.map +1 -1
  44. package/dist/streaming.js +211 -3
  45. package/dist/streaming.js.map +1 -1
  46. package/dist/task-ledger.d.ts +10 -0
  47. package/dist/task-ledger.d.ts.map +1 -1
  48. package/dist/task-ledger.js +28 -0
  49. package/dist/task-ledger.js.map +1 -1
  50. package/dist/telemetry.d.ts +52 -0
  51. package/dist/telemetry.d.ts.map +1 -0
  52. package/dist/telemetry.js +219 -0
  53. package/dist/telemetry.js.map +1 -0
  54. package/dist/terminal-caps.d.ts +20 -0
  55. package/dist/terminal-caps.d.ts.map +1 -0
  56. package/dist/terminal-caps.js +80 -0
  57. package/dist/terminal-caps.js.map +1 -0
  58. package/dist/tool-pipeline.d.ts +86 -0
  59. package/dist/tool-pipeline.d.ts.map +1 -0
  60. package/dist/tool-pipeline.js +200 -0
  61. package/dist/tool-pipeline.js.map +1 -0
  62. package/dist/tools/index.d.ts +45 -1
  63. package/dist/tools/index.d.ts.map +1 -1
  64. package/dist/tools/index.js +168 -108
  65. package/dist/tools/index.js.map +1 -1
  66. package/dist/tui.d.ts +1 -0
  67. package/dist/tui.d.ts.map +1 -1
  68. package/dist/tui.js +71 -11
  69. package/dist/tui.js.map +1 -1
  70. package/dist/ui-adapter.d.ts +73 -0
  71. package/dist/ui-adapter.d.ts.map +1 -0
  72. package/dist/ui-adapter.js +139 -0
  73. package/dist/ui-adapter.js.map +1 -0
  74. package/dist/ui.d.ts +3 -0
  75. package/dist/ui.d.ts.map +1 -1
  76. package/dist/ui.js +21 -2
  77. package/dist/ui.js.map +1 -1
  78. package/package.json +22 -3
@@ -1,3 +1,5 @@
1
+ export { ToolPipeline, createDefaultPipeline, permissionMiddleware, hookMiddleware, timeoutMiddleware, metricsMiddleware, truncationMiddleware, telemetryMiddleware, executionMiddleware, type ToolMiddleware, type ToolContext, type NextFunction, } from '../tool-pipeline.js';
2
+ import { ToolPipeline, type ToolMiddleware } from '../tool-pipeline.js';
1
3
  export interface ToolDefinition {
2
4
  name: string;
3
5
  description: string;
@@ -56,7 +58,49 @@ export declare function getToolDefinitionsForApi(tier: string): Array<{
56
58
  export declare function getToolMetrics(toolName?: string): ToolMetrics[];
57
59
  /** Execute a tool call locally with timeout and result truncation */
58
60
  export declare function executeTool(call: ToolCall): Promise<ToolResult>;
59
- /** Register all built-in tools. Call once at startup. Uses parallel imports for speed. */
61
+ /**
62
+ * Create a ToolPipeline with the built-in executeTool as the execution step.
63
+ * Custom middleware runs before execution; execution is always last.
64
+ */
65
+ export declare function createToolPipeline(options?: {
66
+ middleware?: ToolMiddleware[];
67
+ }): ToolPipeline;
68
+ /**
69
+ * Register core tools only (~5 modules, ~10 tools, ~200ms).
70
+ * Covers file ops, bash, git, search, and fetch — enough for 80%+ of one-shot commands.
71
+ * Returns the number of tools registered.
72
+ */
73
+ export declare function registerCoreTools(opts?: {
74
+ computerUse?: boolean;
75
+ }): Promise<number>;
76
+ /**
77
+ * Register lazy (non-core) tools (~41 modules, ~236 tools).
78
+ * Call in background for one-shot mode, or await for REPL/serve mode.
79
+ * Returns the number of tools registered.
80
+ */
81
+ export declare function registerLazyTools(opts?: {
82
+ computerUse?: boolean;
83
+ }): Promise<number>;
84
+ /**
85
+ * Ensure lazy tools are registered (idempotent).
86
+ * Used by the agent loop to guarantee all tools are available before an API call.
87
+ * If lazy tools are already loading in background, awaits that promise.
88
+ * If not started yet, triggers registration now.
89
+ */
90
+ export declare function ensureLazyToolsLoaded(opts?: {
91
+ computerUse?: boolean;
92
+ }): Promise<void>;
93
+ /**
94
+ * Start lazy tool registration in background (non-blocking).
95
+ * Returns the promise so callers can optionally await it.
96
+ */
97
+ export declare function startLazyToolRegistration(opts?: {
98
+ computerUse?: boolean;
99
+ }): Promise<number>;
100
+ /** Register all built-in tools. Call once at startup. Uses parallel imports for speed.
101
+ * Backward-compatible: loads everything (core + lazy + plugins).
102
+ * Used by serve mode, SDK, and IDE bridge where all tools must be ready immediately.
103
+ */
60
104
  export declare function registerAllTools(opts?: {
61
105
  computerUse?: boolean;
62
106
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACrC,CAAC,CAAA;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3D,8DAA8D;IAC9D,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAA;IAC9C,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB;AAgBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAEvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAM9D;AAED,iEAAiE;AACjE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC3F,CAAC,CAwBD;AA+BD,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAM/D;AAED,qEAAqE;AACrE,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CA0CrE;AAED,0FAA0F;AAC1F,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoKtF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,YAAY,EAAuB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAE5F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACrC,CAAC,CAAA;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3D,8DAA8D;IAC9D,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAA;IAC9C,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB;AAgBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAEvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEhE;AAED,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAM9D;AAED,iEAAiE;AACjE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC3F,CAAC,CAwBD;AA+BD,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAM/D;AAED,qEAAqE;AACrE,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CA0CrE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,YAAY,CAY5F;AAwFD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGzF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBzF;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3F;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAK3F;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF"}
@@ -8,6 +8,10 @@
8
8
  // - Execution metrics & timing
9
9
  // - Tier-based tool gating
10
10
  // - Parallel startup imports
11
+ // - Composable middleware pipeline (v3)
12
+ // Re-export the middleware pipeline system
13
+ export { ToolPipeline, createDefaultPipeline, permissionMiddleware, hookMiddleware, timeoutMiddleware, metricsMiddleware, truncationMiddleware, telemetryMiddleware, executionMiddleware, } from '../tool-pipeline.js';
14
+ import { ToolPipeline, executionMiddleware } from '../tool-pipeline.js';
11
15
  const registry = new Map();
12
16
  const metrics = new Map();
13
17
  const DEFAULT_TIMEOUT = 300_000; // 5 minutes
@@ -141,117 +145,173 @@ export async function executeTool(call) {
141
145
  };
142
146
  }
143
147
  }
144
- /** Register all built-in tools. Call once at startup. Uses parallel imports for speed. */
145
- export async function registerAllTools(opts) {
146
- // Parallel import all tool modules at once
147
- const [{ registerFileTools }, { registerBashTools }, { registerGitTools }, { registerSearchTools }, { registerFetchTools }, { registerGitHubTools }, { registerMatrixTools }, { registerParallelTools }, { registerMcpClientTools }, { registerTaskTools }, { registerNotebookTools }, { registerBackgroundTools }, { registerSandboxTools }, { registerBuildMatrixTools }, { registerSubagentTools }, { registerWorktreeTools }, { registerKbotLocalTools }, { registerQualityTools }, { registerMemoryTools }, { registerBrowserTools }, { registerE2bTools }, { registerLspTools }, { registerMcpPluginTools }, { registerGraphMemoryTools }, { registerConfidenceTools }, { registerAgentProtocolTools }, { registerTemporalTools }, { registerReasoningTools }, { registerIntentionalityTools }, { registerTestRunnerTools }, { registerCreativeTools }, { registerComfyUITools }, { registerMagentaTools }, { registerResearchTools }, { registerContainerTools }, { registerVfxTools }, { registerAuditTools }, { registerDocumentTools }, { registerContributeTools }, { registerComposioTools }, { registerMarketplaceTools }, { registerBrowserAgentTools }, { registerWorkflowTools }, { registerDeployTools }, { registerMcpMarketplaceTools }, { registerDatabaseTools }, { registerTeamTools }, { registerPluginSDKTools }, { registerTrainingTools },] = await Promise.all([
148
- import('./files.js'),
149
- import('./bash.js'),
150
- import('./git.js'),
151
- import('./search.js'),
152
- import('./fetch.js'),
153
- import('./github.js'),
154
- import('./matrix.js'),
155
- import('./parallel.js'),
156
- import('./mcp-client.js'),
157
- import('./tasks.js'),
158
- import('./notebook.js'),
159
- import('./background.js'),
160
- import('./sandbox.js'),
161
- import('./build-matrix.js'),
162
- import('./subagent.js'),
163
- import('./worktree.js'),
164
- import('./kbot-local.js'),
165
- import('./quality.js'),
166
- import('./memory-tools.js'),
167
- import('./browser.js'),
168
- import('./e2b-sandbox.js'),
169
- import('./lsp-tools.js'),
170
- import('../mcp-plugins.js'),
171
- import('../graph-memory.js'),
172
- import('../confidence.js'),
173
- import('../agent-protocol.js'),
174
- import('../temporal.js'),
175
- import('../reasoning.js'),
176
- import('../intentionality.js'),
177
- import('./test-runner.js'),
178
- import('./creative.js'),
179
- import('./comfyui-plugin.js'),
180
- import('./magenta-plugin.js'),
181
- import('./research.js'),
182
- import('./containers.js'),
183
- import('./vfx.js'),
184
- import('./audit.js'),
185
- import('./documents.js'),
186
- import('./contribute.js'),
187
- import('./composio.js'),
188
- import('../marketplace.js'),
189
- import('./browser-agent.js'),
190
- import('../workflows.js'),
191
- import('./deploy.js'),
192
- import('./mcp-marketplace.js'),
193
- import('./database.js'),
194
- import('../team.js'),
195
- import('../plugin-sdk.js'),
196
- import('./training.js'),
197
- ]);
198
- // Register all tools (synchronous, fast)
199
- registerFileTools();
200
- registerBashTools();
201
- registerGitTools();
202
- registerSearchTools();
203
- registerFetchTools();
204
- registerGitHubTools();
205
- registerMatrixTools();
206
- registerParallelTools();
207
- registerMcpClientTools();
208
- registerTaskTools();
209
- registerNotebookTools();
210
- registerBackgroundTools();
211
- registerSandboxTools();
212
- registerBuildMatrixTools();
213
- registerSubagentTools();
214
- registerWorktreeTools();
215
- registerKbotLocalTools();
216
- registerQualityTools();
217
- registerMemoryTools();
218
- registerBrowserTools();
219
- registerE2bTools();
220
- registerLspTools();
221
- registerMcpPluginTools();
222
- registerGraphMemoryTools();
223
- registerConfidenceTools();
224
- registerAgentProtocolTools();
225
- registerTemporalTools();
226
- registerReasoningTools();
227
- registerIntentionalityTools();
228
- registerTestRunnerTools();
229
- registerCreativeTools();
230
- registerComfyUITools();
231
- registerMagentaTools();
232
- registerResearchTools();
233
- registerContainerTools();
234
- registerVfxTools();
235
- registerAuditTools();
236
- registerDocumentTools();
237
- registerContributeTools();
238
- registerComposioTools();
239
- registerMarketplaceTools();
240
- registerBrowserAgentTools();
241
- registerWorkflowTools();
242
- registerDeployTools();
243
- registerMcpMarketplaceTools();
244
- registerDatabaseTools();
245
- registerTeamTools();
246
- registerPluginSDKTools();
247
- registerTrainingTools();
148
+ /**
149
+ * Create a ToolPipeline with the built-in executeTool as the execution step.
150
+ * Custom middleware runs before execution; execution is always last.
151
+ */
152
+ export function createToolPipeline(options) {
153
+ const pipeline = new ToolPipeline();
154
+ // Add any custom middleware first
155
+ if (options?.middleware) {
156
+ for (const mw of options.middleware)
157
+ pipeline.use(mw);
158
+ }
159
+ // Add execution as last step
160
+ pipeline.use(executionMiddleware(async (name, args) => {
161
+ const result = await executeTool({ id: name, name, arguments: args });
162
+ return { result: result.result, error: result.error ? result.result : undefined };
163
+ }));
164
+ return pipeline;
165
+ }
166
+ // ---------------------------------------------------------------------------
167
+ // Lazy Tool Loading (v3)
168
+ //
169
+ // Core tools (~10 tools from 5 modules) load at startup for instant use.
170
+ // Lazy tools (~236 tools from 41 modules) load on first use or in background.
171
+ // This cuts startup time from ~1-2s to ~200ms for one-shot commands.
172
+ // ---------------------------------------------------------------------------
173
+ /** Core tool modules — always loaded at startup (~200ms, covers 80%+ of one-shot use) */
174
+ const CORE_MODULE_IMPORTS = [
175
+ { path: './files.js', registerFn: 'registerFileTools' },
176
+ { path: './bash.js', registerFn: 'registerBashTools' },
177
+ { path: './git.js', registerFn: 'registerGitTools' },
178
+ { path: './search.js', registerFn: 'registerSearchTools' },
179
+ { path: './fetch.js', registerFn: 'registerFetchTools' },
180
+ ];
181
+ /** Lazy tool modules — loaded on demand or in background */
182
+ const LAZY_MODULE_IMPORTS = [
183
+ { path: './github.js', registerFn: 'registerGitHubTools' },
184
+ { path: './matrix.js', registerFn: 'registerMatrixTools' },
185
+ { path: './parallel.js', registerFn: 'registerParallelTools' },
186
+ { path: './mcp-client.js', registerFn: 'registerMcpClientTools' },
187
+ { path: './tasks.js', registerFn: 'registerTaskTools' },
188
+ { path: './notebook.js', registerFn: 'registerNotebookTools' },
189
+ { path: './background.js', registerFn: 'registerBackgroundTools' },
190
+ { path: './sandbox.js', registerFn: 'registerSandboxTools' },
191
+ { path: './build-matrix.js', registerFn: 'registerBuildMatrixTools' },
192
+ { path: './subagent.js', registerFn: 'registerSubagentTools' },
193
+ { path: './worktree.js', registerFn: 'registerWorktreeTools' },
194
+ { path: './kbot-local.js', registerFn: 'registerKbotLocalTools' },
195
+ { path: './quality.js', registerFn: 'registerQualityTools' },
196
+ { path: './memory-tools.js', registerFn: 'registerMemoryTools' },
197
+ { path: './browser.js', registerFn: 'registerBrowserTools' },
198
+ { path: './e2b-sandbox.js', registerFn: 'registerE2bTools' },
199
+ { path: './lsp-tools.js', registerFn: 'registerLspTools' },
200
+ { path: '../mcp-plugins.js', registerFn: 'registerMcpPluginTools' },
201
+ { path: '../graph-memory.js', registerFn: 'registerGraphMemoryTools' },
202
+ { path: '../confidence.js', registerFn: 'registerConfidenceTools' },
203
+ { path: '../agent-protocol.js', registerFn: 'registerAgentProtocolTools' },
204
+ { path: '../temporal.js', registerFn: 'registerTemporalTools' },
205
+ { path: '../reasoning.js', registerFn: 'registerReasoningTools' },
206
+ { path: '../intentionality.js', registerFn: 'registerIntentionalityTools' },
207
+ { path: './test-runner.js', registerFn: 'registerTestRunnerTools' },
208
+ { path: './creative.js', registerFn: 'registerCreativeTools' },
209
+ { path: './comfyui-plugin.js', registerFn: 'registerComfyUITools' },
210
+ { path: './magenta-plugin.js', registerFn: 'registerMagentaTools' },
211
+ { path: './research.js', registerFn: 'registerResearchTools' },
212
+ { path: './containers.js', registerFn: 'registerContainerTools' },
213
+ { path: './vfx.js', registerFn: 'registerVfxTools' },
214
+ { path: './audit.js', registerFn: 'registerAuditTools' },
215
+ { path: './documents.js', registerFn: 'registerDocumentTools' },
216
+ { path: './contribute.js', registerFn: 'registerContributeTools' },
217
+ { path: './composio.js', registerFn: 'registerComposioTools' },
218
+ { path: '../marketplace.js', registerFn: 'registerMarketplaceTools' },
219
+ { path: './browser-agent.js', registerFn: 'registerBrowserAgentTools' },
220
+ { path: '../workflows.js', registerFn: 'registerWorkflowTools' },
221
+ { path: './deploy.js', registerFn: 'registerDeployTools' },
222
+ { path: './mcp-marketplace.js', registerFn: 'registerMcpMarketplaceTools' },
223
+ { path: './database.js', registerFn: 'registerDatabaseTools' },
224
+ { path: '../team.js', registerFn: 'registerTeamTools' },
225
+ { path: '../plugin-sdk.js', registerFn: 'registerPluginSDKTools' },
226
+ { path: './training.js', registerFn: 'registerTrainingTools' },
227
+ ];
228
+ /** Track whether lazy tools have been registered */
229
+ let lazyToolsRegistered = false;
230
+ let lazyToolsPromise = null;
231
+ /** Import a module and call its register function. Returns tool count or 0 on failure. */
232
+ async function importAndRegister(mod) {
233
+ try {
234
+ const imported = await import(mod.path);
235
+ const registerFn = imported[mod.registerFn];
236
+ if (typeof registerFn === 'function') {
237
+ const before = registry.size;
238
+ registerFn();
239
+ return registry.size - before;
240
+ }
241
+ return 0;
242
+ }
243
+ catch {
244
+ // Module may have optional deps — skip silently
245
+ return 0;
246
+ }
247
+ }
248
+ /**
249
+ * Register core tools only (~5 modules, ~10 tools, ~200ms).
250
+ * Covers file ops, bash, git, search, and fetch — enough for 80%+ of one-shot commands.
251
+ * Returns the number of tools registered.
252
+ */
253
+ export async function registerCoreTools(opts) {
254
+ const counts = await Promise.all(CORE_MODULE_IMPORTS.map(importAndRegister));
255
+ return counts.reduce((sum, n) => sum + n, 0);
256
+ }
257
+ /**
258
+ * Register lazy (non-core) tools (~41 modules, ~236 tools).
259
+ * Call in background for one-shot mode, or await for REPL/serve mode.
260
+ * Returns the number of tools registered.
261
+ */
262
+ export async function registerLazyTools(opts) {
263
+ if (lazyToolsRegistered)
264
+ return 0;
265
+ const counts = await Promise.all(LAZY_MODULE_IMPORTS.map(importAndRegister));
266
+ const total = counts.reduce((sum, n) => sum + n, 0);
248
267
  // Computer use tools — opt-in only via --computer-use flag
249
268
  if (opts?.computerUse) {
250
- const { registerComputerTools } = await import('./computer.js');
251
- registerComputerTools();
269
+ try {
270
+ const { registerComputerTools } = await import('./computer.js');
271
+ registerComputerTools();
272
+ }
273
+ catch { /* optional */ }
252
274
  }
253
275
  // User plugins from ~/.kbot/plugins/
254
- const { loadPlugins } = await import('../plugins.js');
255
- await loadPlugins(false);
276
+ try {
277
+ const { loadPlugins } = await import('../plugins.js');
278
+ await loadPlugins(false);
279
+ }
280
+ catch { /* optional */ }
281
+ lazyToolsRegistered = true;
282
+ return total;
283
+ }
284
+ /**
285
+ * Ensure lazy tools are registered (idempotent).
286
+ * Used by the agent loop to guarantee all tools are available before an API call.
287
+ * If lazy tools are already loading in background, awaits that promise.
288
+ * If not started yet, triggers registration now.
289
+ */
290
+ export async function ensureLazyToolsLoaded(opts) {
291
+ if (lazyToolsRegistered)
292
+ return;
293
+ if (lazyToolsPromise) {
294
+ await lazyToolsPromise;
295
+ return;
296
+ }
297
+ await registerLazyTools(opts);
298
+ }
299
+ /**
300
+ * Start lazy tool registration in background (non-blocking).
301
+ * Returns the promise so callers can optionally await it.
302
+ */
303
+ export function startLazyToolRegistration(opts) {
304
+ if (!lazyToolsPromise) {
305
+ lazyToolsPromise = registerLazyTools(opts);
306
+ }
307
+ return lazyToolsPromise;
308
+ }
309
+ /** Register all built-in tools. Call once at startup. Uses parallel imports for speed.
310
+ * Backward-compatible: loads everything (core + lazy + plugins).
311
+ * Used by serve mode, SDK, and IDE bridge where all tools must be ready immediately.
312
+ */
313
+ export async function registerAllTools(opts) {
314
+ await registerCoreTools(opts);
315
+ await registerLazyTools(opts);
256
316
  }
257
317
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
package/dist/tui.d.ts CHANGED
@@ -61,6 +61,7 @@ export interface DashboardState {
61
61
  }>;
62
62
  }
63
63
  export declare function renderDashboard(state: DashboardState): string;
64
+ export declare function brailleSparkline(data: number[], width?: number): string;
64
65
  export declare function sparkline(data: number[], opts?: {
65
66
  color?: (text: string) => string;
66
67
  label?: string;
package/dist/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
package/dist/tui.js CHANGED
@@ -3,6 +3,7 @@
3
3
  // Panels, progress bars, split views, sparklines, dashboard.
4
4
  // Uses raw ANSI escape codes — no extra dependencies beyond chalk.
5
5
  import chalk from 'chalk';
6
+ import { detectTerminalCapabilities, withSyncOutput } from './terminal-caps.js';
6
7
  const AMETHYST = chalk.hex('#6B5B95');
7
8
  const AMETHYST_DIM = chalk.hex('#9688BF');
8
9
  const SAGE = chalk.hex('#6B8E6B');
@@ -192,25 +193,84 @@ export function renderDashboard(state) {
192
193
  const leftLines = leftPanel.split('\n');
193
194
  const rightLines = toolPanel.split('\n');
194
195
  const maxLines = Math.max(leftLines.length, rightLines.length);
195
- const combined = [''];
196
- for (let i = 0; i < maxLines; i++) {
197
- const l = leftLines[i] || ' '.repeat(halfWidth);
198
- const r = rightLines[i] || ' '.repeat(halfWidth);
199
- combined.push(` ${l} ${r}`);
200
- }
201
- combined.push('');
202
- combined.push(` ${subPanel}`);
203
- combined.push('');
204
- return combined.join('\n');
196
+ let result = '';
197
+ // Use synchronized output to prevent flicker during dashboard render
198
+ withSyncOutput(() => {
199
+ const combined = [''];
200
+ for (let i = 0; i < maxLines; i++) {
201
+ const l = leftLines[i] || ' '.repeat(halfWidth);
202
+ const r = rightLines[i] || ' '.repeat(halfWidth);
203
+ combined.push(` ${l} ${r}`);
204
+ }
205
+ combined.push('');
206
+ combined.push(` ${subPanel}`);
207
+ combined.push('');
208
+ result = combined.join('\n');
209
+ });
210
+ return result;
205
211
  }
206
212
  // ── Sparkline ──
213
+ // Braille sparkline — 2x4 grid per character gives 4x vertical resolution
214
+ // Braille block: U+2800 base, bits map to dots:
215
+ // Dot positions: 0,1,2 left column (top to bottom), 3,4,5 right column, 6=bottom-left, 7=bottom-right
216
+ export function brailleSparkline(data, width) {
217
+ if (data.length === 0)
218
+ return '';
219
+ const max = Math.max(...data);
220
+ const min = Math.min(...data);
221
+ const range = max - min || 1;
222
+ // Normalize to 0-3 (4 rows per braille character)
223
+ const normalized = data.map(v => Math.round(((v - min) / range) * 3));
224
+ // Each braille char represents 2 data points side by side, 4 rows tall
225
+ const targetWidth = width ?? Math.min(Math.floor(data.length / 2), 40);
226
+ // Resample data to fit width (2 points per character)
227
+ const pointsNeeded = targetWidth * 2;
228
+ const resampled = [];
229
+ for (let i = 0; i < pointsNeeded; i++) {
230
+ const srcIdx = Math.floor((i / pointsNeeded) * data.length);
231
+ resampled.push(normalized[Math.min(srcIdx, normalized.length - 1)]);
232
+ }
233
+ let result = '';
234
+ for (let i = 0; i < resampled.length; i += 2) {
235
+ const left = resampled[i];
236
+ const right = resampled[i + 1] ?? 0;
237
+ // Braille dot mapping for vertical bar chart
238
+ // Left column: bits 0,1,2,6 (top to bottom: 0,1,2,6)
239
+ // Right column: bits 3,4,5,7 (top to bottom: 3,4,5,7)
240
+ let code = 0x2800;
241
+ // Left column dots (from bottom up based on value)
242
+ const leftDots = [6, 2, 1, 0]; // bottom to top
243
+ for (let d = 0; d <= left && d < leftDots.length; d++) {
244
+ code |= (1 << leftDots[d]);
245
+ }
246
+ // Right column dots
247
+ const rightDots = [7, 5, 4, 3];
248
+ for (let d = 0; d <= right && d < rightDots.length; d++) {
249
+ code |= (1 << rightDots[d]);
250
+ }
251
+ result += String.fromCharCode(code);
252
+ }
253
+ return result;
254
+ }
207
255
  export function sparkline(data, opts = {}) {
208
256
  const color = opts.color || AMETHYST;
209
- const blocks = ['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█'];
210
257
  if (data.length === 0)
211
258
  return chalk.dim('(no data)');
212
259
  const min = Math.min(...data);
213
260
  const max = Math.max(...data);
261
+ // Use Braille sparkline when terminal supports it (higher resolution)
262
+ const caps = detectTerminalCapabilities();
263
+ if (caps.braille) {
264
+ const braille = brailleSparkline(data);
265
+ const parts = [];
266
+ if (opts.label)
267
+ parts.push(chalk.dim(opts.label));
268
+ parts.push(color(braille));
269
+ parts.push(chalk.dim(`${min}–${max}`));
270
+ return parts.join(' ');
271
+ }
272
+ // Fall back to block character sparkline
273
+ const blocks = ['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█'];
214
274
  const range = max - min || 1;
215
275
  const chars = data.map(v => {
216
276
  const idx = Math.round(((v - min) / range) * (blocks.length - 1));
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}