mastracode 0.2.0 → 0.3.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 (166) hide show
  1. package/CHANGELOG.md +144 -0
  2. package/README.md +9 -1
  3. package/dist/agents/instructions.d.ts.map +1 -1
  4. package/dist/agents/prompts/base.d.ts +2 -0
  5. package/dist/agents/prompts/base.d.ts.map +1 -1
  6. package/dist/agents/prompts/build.d.ts +1 -1
  7. package/dist/agents/prompts/build.d.ts.map +1 -1
  8. package/dist/agents/prompts/index.d.ts +1 -2
  9. package/dist/agents/prompts/index.d.ts.map +1 -1
  10. package/dist/agents/prompts/plan.d.ts +1 -1
  11. package/dist/agents/prompts/plan.d.ts.map +1 -1
  12. package/dist/agents/prompts/tool-guidance.d.ts +11 -0
  13. package/dist/agents/prompts/tool-guidance.d.ts.map +1 -0
  14. package/dist/agents/workspace.d.ts.map +1 -1
  15. package/dist/auth/storage.d.ts +0 -48
  16. package/dist/auth/storage.d.ts.map +1 -1
  17. package/dist/{chunk-LVGWM7ZS.cjs → chunk-7K5VFY2N.cjs} +768 -1373
  18. package/dist/chunk-7K5VFY2N.cjs.map +1 -0
  19. package/dist/chunk-7TFV3VBB.cjs +8823 -0
  20. package/dist/chunk-7TFV3VBB.cjs.map +1 -0
  21. package/dist/chunk-C6XKRHRK.cjs +853 -0
  22. package/dist/chunk-C6XKRHRK.cjs.map +1 -0
  23. package/dist/{chunk-7V6U7OKQ.js → chunk-HHX6BKLR.js} +234 -121
  24. package/dist/chunk-HHX6BKLR.js.map +1 -0
  25. package/dist/{chunk-FYTZFUHD.js → chunk-LYETHS2L.js} +6389 -5481
  26. package/dist/chunk-LYETHS2L.js.map +1 -0
  27. package/dist/{chunk-BYMDWH2E.js → chunk-V4HZ2AVV.js} +729 -1332
  28. package/dist/chunk-V4HZ2AVV.js.map +1 -0
  29. package/dist/chunk-VRZZSUQE.js +835 -0
  30. package/dist/chunk-VRZZSUQE.js.map +1 -0
  31. package/dist/{chunk-QDLLGD43.cjs → chunk-VZFPT5N7.cjs} +274 -161
  32. package/dist/chunk-VZFPT5N7.cjs.map +1 -0
  33. package/dist/cli.cjs +64 -21
  34. package/dist/cli.cjs.map +1 -1
  35. package/dist/cli.js +61 -18
  36. package/dist/cli.js.map +1 -1
  37. package/dist/index.cjs +2 -2
  38. package/dist/index.d.ts +6 -7
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -1
  41. package/dist/onboarding/index.d.ts +7 -0
  42. package/dist/onboarding/index.d.ts.map +1 -0
  43. package/dist/onboarding/onboarding-inline.d.ts +95 -0
  44. package/dist/onboarding/onboarding-inline.d.ts.map +1 -0
  45. package/dist/onboarding/packs.d.ts +46 -0
  46. package/dist/onboarding/packs.d.ts.map +1 -0
  47. package/dist/onboarding/settings.d.ts +110 -0
  48. package/dist/onboarding/settings.d.ts.map +1 -0
  49. package/dist/storage-52Y5MKTG.js +3 -0
  50. package/dist/storage-52Y5MKTG.js.map +1 -0
  51. package/dist/storage-JFFX7LJJ.cjs +24 -0
  52. package/dist/storage-JFFX7LJJ.cjs.map +1 -0
  53. package/dist/tools/string-replace-lsp.d.ts.map +1 -1
  54. package/dist/tui/command-dispatch.d.ts +8 -0
  55. package/dist/tui/command-dispatch.d.ts.map +1 -0
  56. package/dist/tui/commands/cost.d.ts +3 -0
  57. package/dist/tui/commands/cost.d.ts.map +1 -0
  58. package/dist/tui/commands/diff.d.ts +3 -0
  59. package/dist/tui/commands/diff.d.ts.map +1 -0
  60. package/dist/tui/commands/exit.d.ts +3 -0
  61. package/dist/tui/commands/exit.d.ts.map +1 -0
  62. package/dist/tui/commands/help.d.ts +3 -0
  63. package/dist/tui/commands/help.d.ts.map +1 -0
  64. package/dist/tui/commands/hooks.d.ts +3 -0
  65. package/dist/tui/commands/hooks.d.ts.map +1 -0
  66. package/dist/tui/commands/index.d.ts +27 -0
  67. package/dist/tui/commands/index.d.ts.map +1 -0
  68. package/dist/tui/commands/login.d.ts +3 -0
  69. package/dist/tui/commands/login.d.ts.map +1 -0
  70. package/dist/tui/commands/mcp.d.ts +3 -0
  71. package/dist/tui/commands/mcp.d.ts.map +1 -0
  72. package/dist/tui/commands/mode.d.ts +3 -0
  73. package/dist/tui/commands/mode.d.ts.map +1 -0
  74. package/dist/tui/commands/models-pack.d.ts +3 -0
  75. package/dist/tui/commands/models-pack.d.ts.map +1 -0
  76. package/dist/tui/commands/models.d.ts +3 -0
  77. package/dist/tui/commands/models.d.ts.map +1 -0
  78. package/dist/tui/commands/name.d.ts +3 -0
  79. package/dist/tui/commands/name.d.ts.map +1 -0
  80. package/dist/tui/commands/new.d.ts +3 -0
  81. package/dist/tui/commands/new.d.ts.map +1 -0
  82. package/dist/tui/commands/om.d.ts +3 -0
  83. package/dist/tui/commands/om.d.ts.map +1 -0
  84. package/dist/tui/commands/permissions.d.ts +3 -0
  85. package/dist/tui/commands/permissions.d.ts.map +1 -0
  86. package/dist/tui/commands/resource.d.ts +3 -0
  87. package/dist/tui/commands/resource.d.ts.map +1 -0
  88. package/dist/tui/commands/review.d.ts +3 -0
  89. package/dist/tui/commands/review.d.ts.map +1 -0
  90. package/dist/tui/commands/sandbox.d.ts +3 -0
  91. package/dist/tui/commands/sandbox.d.ts.map +1 -0
  92. package/dist/tui/commands/settings.d.ts +3 -0
  93. package/dist/tui/commands/settings.d.ts.map +1 -0
  94. package/dist/tui/commands/setup.d.ts +3 -0
  95. package/dist/tui/commands/setup.d.ts.map +1 -0
  96. package/dist/tui/commands/skills.d.ts +3 -0
  97. package/dist/tui/commands/skills.d.ts.map +1 -0
  98. package/dist/tui/commands/subagents.d.ts +3 -0
  99. package/dist/tui/commands/subagents.d.ts.map +1 -0
  100. package/dist/tui/commands/think.d.ts +3 -0
  101. package/dist/tui/commands/think.d.ts.map +1 -0
  102. package/dist/tui/commands/thread-tag-dir.d.ts +3 -0
  103. package/dist/tui/commands/thread-tag-dir.d.ts.map +1 -0
  104. package/dist/tui/commands/threads.d.ts +3 -0
  105. package/dist/tui/commands/threads.d.ts.map +1 -0
  106. package/dist/tui/commands/types.d.ts +28 -0
  107. package/dist/tui/commands/types.d.ts.map +1 -0
  108. package/dist/tui/commands/yolo.d.ts +3 -0
  109. package/dist/tui/commands/yolo.d.ts.map +1 -0
  110. package/dist/tui/components/banner.d.ts +9 -0
  111. package/dist/tui/components/banner.d.ts.map +1 -0
  112. package/dist/tui/components/help-overlay.d.ts +15 -0
  113. package/dist/tui/components/help-overlay.d.ts.map +1 -0
  114. package/dist/tui/components/model-selector.d.ts +3 -0
  115. package/dist/tui/components/model-selector.d.ts.map +1 -1
  116. package/dist/tui/components/om-progress.d.ts +4 -30
  117. package/dist/tui/components/om-progress.d.ts.map +1 -1
  118. package/dist/tui/components/settings.d.ts +5 -0
  119. package/dist/tui/components/settings.d.ts.map +1 -1
  120. package/dist/tui/components/tool-execution-enhanced.d.ts.map +1 -1
  121. package/dist/tui/display.d.ts +12 -0
  122. package/dist/tui/display.d.ts.map +1 -0
  123. package/dist/tui/event-dispatch.d.ts +11 -0
  124. package/dist/tui/event-dispatch.d.ts.map +1 -0
  125. package/dist/tui/handlers/agent-lifecycle.d.ts +6 -0
  126. package/dist/tui/handlers/agent-lifecycle.d.ts.map +1 -0
  127. package/dist/tui/handlers/index.d.ts +8 -0
  128. package/dist/tui/handlers/index.d.ts.map +1 -0
  129. package/dist/tui/handlers/message.d.ts +6 -0
  130. package/dist/tui/handlers/message.d.ts.map +1 -0
  131. package/dist/tui/handlers/om.d.ts +11 -0
  132. package/dist/tui/handlers/om.d.ts.map +1 -0
  133. package/dist/tui/handlers/prompts.d.ts +20 -0
  134. package/dist/tui/handlers/prompts.d.ts.map +1 -0
  135. package/dist/tui/handlers/subagent.d.ts +6 -0
  136. package/dist/tui/handlers/subagent.d.ts.map +1 -0
  137. package/dist/tui/handlers/tool.d.ts +30 -0
  138. package/dist/tui/handlers/tool.d.ts.map +1 -0
  139. package/dist/tui/handlers/types.d.ts +33 -0
  140. package/dist/tui/handlers/types.d.ts.map +1 -0
  141. package/dist/tui/mastra-tui.d.ts +9 -221
  142. package/dist/tui/mastra-tui.d.ts.map +1 -1
  143. package/dist/tui/render-messages.d.ts +22 -0
  144. package/dist/tui/render-messages.d.ts.map +1 -0
  145. package/dist/tui/setup.d.ts +17 -0
  146. package/dist/tui/setup.d.ts.map +1 -0
  147. package/dist/tui/shell.d.ts +3 -0
  148. package/dist/tui/shell.d.ts.map +1 -0
  149. package/dist/tui/state.d.ts +4 -24
  150. package/dist/tui/state.d.ts.map +1 -1
  151. package/dist/tui/status-line.d.ts +7 -0
  152. package/dist/tui/status-line.d.ts.map +1 -0
  153. package/dist/tui.cjs +17 -17
  154. package/dist/tui.js +2 -2
  155. package/dist/utils/project.d.ts +37 -9
  156. package/dist/utils/project.d.ts.map +1 -1
  157. package/dist/utils/storage-factory.d.ts +21 -0
  158. package/dist/utils/storage-factory.d.ts.map +1 -0
  159. package/package.json +7 -6
  160. package/dist/chunk-7V6U7OKQ.js.map +0 -1
  161. package/dist/chunk-BQ4ZKTYN.cjs +0 -7915
  162. package/dist/chunk-BQ4ZKTYN.cjs.map +0 -1
  163. package/dist/chunk-BYMDWH2E.js.map +0 -1
  164. package/dist/chunk-FYTZFUHD.js.map +0 -1
  165. package/dist/chunk-LVGWM7ZS.cjs.map +0 -1
  166. package/dist/chunk-QDLLGD43.cjs.map +0 -1
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.ts"],"names":[],"mappings":"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","file":"cli.js","sourcesContent":["#!/usr/bin/env node\n/**\n * Main entry point for Mastra Code TUI.\n */\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\n\nimport { MastraTUI } from './tui/index.js';\nimport { getAppDataDir } from './utils/project.js';\nimport { releaseAllThreadLocks } from './utils/thread-lock.js';\nimport { createMastraCode } from './index.js';\n\nconst { harness, mcpManager, hookManager, authStorage } = createMastraCode();\n\nconst tui = new MastraTUI({\n harness,\n hookManager,\n authStorage,\n mcpManager,\n appName: 'Mastra Code',\n version: '0.1.0',\n inlineQuestions: true,\n});\n\nasync function main() {\n if (mcpManager?.hasServers()) {\n await mcpManager.init();\n const statuses = mcpManager.getServerStatuses();\n const connected = statuses.filter(s => s.connected);\n const failed = statuses.filter(s => !s.connected);\n const totalTools = connected.reduce((sum, s) => sum + s.toolCount, 0);\n console.info(`MCP: ${connected.length} server(s) connected, ${totalTools} tool(s)`);\n for (const s of failed) {\n console.info(`MCP: Failed to connect to \"${s.name}\": ${s.error}`);\n }\n }\n\n const logFile = path.join(getAppDataDir(), 'debug.log');\n const logStream = fs.createWriteStream(logFile, { flags: 'a' });\n const fmt = (a: unknown): string => {\n if (typeof a === 'string') return a;\n if (a instanceof Error) return `${a.name}: ${a.message}`;\n try {\n return JSON.stringify(a);\n } catch {\n return String(a);\n }\n };\n const originalConsoleError = console.error.bind(console);\n console.error = (...args: unknown[]) => {\n logStream.write(`[ERROR] ${new Date().toISOString()} ${args.map(fmt).join(' ')}\\n`);\n };\n console.warn = (...args: unknown[]) => {\n logStream.write(`[WARN] ${new Date().toISOString()} ${args.map(fmt).join(' ')}\\n`);\n };\n\n tui.run().catch(error => {\n originalConsoleError('Fatal error:', error);\n process.exit(1);\n });\n}\n\nconst asyncCleanup = async () => {\n releaseAllThreadLocks();\n await Promise.allSettled([mcpManager?.disconnect(), harness.stopHeartbeats()]);\n};\n\nprocess.on('beforeExit', () => {\n void asyncCleanup();\n});\nprocess.on('exit', () => {\n releaseAllThreadLocks();\n});\nprocess.on('SIGINT', () => {\n void asyncCleanup().finally(() => process.exit(0));\n});\nprocess.on('SIGTERM', () => {\n void asyncCleanup().finally(() => process.exit(0));\n});\n\nmain().catch(error => {\n console.error('Fatal error:', error);\n process.exit(1);\n});\n"]}
1
+ {"version":3,"sources":["../src/main.ts"],"names":[],"mappings":"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","file":"cli.js","sourcesContent":["#!/usr/bin/env node\n/**\n * Main entry point for Mastra Code TUI.\n */\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\n\nimport { loadSettings } from './onboarding/settings.js';\nimport { MastraTUI } from './tui/index.js';\nimport { getAppDataDir } from './utils/project.js';\nimport { releaseAllThreadLocks } from './utils/thread-lock.js';\nimport { createMastraCode } from './index.js';\n\nlet harness: Awaited<ReturnType<typeof createMastraCode>>['harness'];\nlet mcpManager: Awaited<ReturnType<typeof createMastraCode>>['mcpManager'];\nlet hookManager: Awaited<ReturnType<typeof createMastraCode>>['hookManager'];\nlet authStorage: Awaited<ReturnType<typeof createMastraCode>>['authStorage'];\n\n// Global safety nets — catch any uncaught errors from storage init, etc.\nprocess.on('uncaughtException', error => {\n handleFatalError(error);\n});\nprocess.on('unhandledRejection', reason => {\n handleFatalError(reason instanceof Error ? reason : new Error(String(reason)));\n});\n\nasync function main() {\n const result = await createMastraCode();\n harness = result.harness;\n mcpManager = result.mcpManager;\n hookManager = result.hookManager;\n authStorage = result.authStorage;\n\n if (result.storageWarning) {\n console.info(`⚠ ${result.storageWarning}`);\n }\n\n if (mcpManager?.hasServers()) {\n await mcpManager.init();\n const statuses = mcpManager.getServerStatuses();\n const connected = statuses.filter(s => s.connected);\n const failed = statuses.filter(s => !s.connected);\n const totalTools = connected.reduce((sum, s) => sum + s.toolCount, 0);\n console.info(`MCP: ${connected.length} server(s) connected, ${totalTools} tool(s)`);\n for (const s of failed) {\n console.info(`MCP: Failed to connect to \"${s.name}\": ${s.error}`);\n }\n }\n\n const logFile = path.join(getAppDataDir(), 'debug.log');\n const logStream = fs.createWriteStream(logFile, { flags: 'a' });\n const fmt = (a: unknown): string => {\n if (typeof a === 'string') return a;\n if (a instanceof Error) return `${a.name}: ${a.message}`;\n try {\n return JSON.stringify(a);\n } catch {\n return String(a);\n }\n };\n console.error = (...args: unknown[]) => {\n logStream.write(`[ERROR] ${new Date().toISOString()} ${args.map(fmt).join(' ')}\\n`);\n };\n console.warn = (...args: unknown[]) => {\n logStream.write(`[WARN] ${new Date().toISOString()} ${args.map(fmt).join(' ')}\\n`);\n };\n\n const tui = new MastraTUI({\n harness,\n hookManager,\n authStorage,\n mcpManager,\n appName: 'Mastra Code',\n version: '0.1.0',\n inlineQuestions: true,\n });\n\n tui.run().catch(error => {\n handleFatalError(error);\n });\n}\n\nconst asyncCleanup = async () => {\n releaseAllThreadLocks();\n await Promise.allSettled([mcpManager?.disconnect(), harness?.stopHeartbeats()]);\n};\n\nprocess.on('beforeExit', () => {\n void asyncCleanup();\n});\nprocess.on('exit', () => {\n releaseAllThreadLocks();\n});\nprocess.on('SIGINT', () => {\n void asyncCleanup().finally(() => process.exit(0));\n});\nprocess.on('SIGTERM', () => {\n void asyncCleanup().finally(() => process.exit(0));\n});\n\nfunction hasEconnrefused(err: unknown, depth = 0): boolean {\n if (!err || depth > 5) return false;\n const e = err as any;\n if (e.code === 'ECONNREFUSED') return true;\n if (e.cause) return hasEconnrefused(e.cause, depth + 1);\n // AggregateError has .errors array\n if (Array.isArray(e.errors)) return e.errors.some((inner: unknown) => hasEconnrefused(inner, depth + 1));\n return false;\n}\n\nfunction handleFatalError(error: unknown): never {\n // Always write to real stderr, even if console.error was overridden\n const write = (msg: string) => process.stderr.write(msg + '\\n');\n\n if (hasEconnrefused(error)) {\n const settings = loadSettings();\n const connStr = settings.storage?.pg?.connectionString;\n const target = connStr ?? 'localhost:5432';\n write(\n `\\nFailed to connect to PostgreSQL at ${target}.` +\n `\\nMake sure the database is running and accessible.` +\n `\\n\\nTo switch back to LibSQL:` +\n `\\n Set MASTRA_STORAGE_BACKEND=libsql or change the backend in /settings\\n`,\n );\n process.exit(1);\n }\n\n write(`Fatal error: ${error instanceof Error ? error.message : String(error)}`);\n process.exit(1);\n}\n\nmain().catch(error => {\n handleFatalError(error);\n});\n"]}
package/dist/index.cjs CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkQDLLGD43_cjs = require('./chunk-QDLLGD43.cjs');
3
+ var chunkVZFPT5N7_cjs = require('./chunk-VZFPT5N7.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "createMastraCode", {
8
8
  enumerable: true,
9
- get: function () { return chunkQDLLGD43_cjs.createMastraCode; }
9
+ get: function () { return chunkVZFPT5N7_cjs.createMastraCode; }
10
10
  });
11
11
  //# sourceMappingURL=index.cjs.map
12
12
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { Harness } from '@mastra/core/harness';
2
2
  import type { HeartbeatHandler, HarnessMode, HarnessSubagent } from '@mastra/core/harness';
3
3
  import { AuthStorage } from './auth/storage.js';
4
4
  import { HookManager } from './hooks/index.js';
5
+ import type { StorageConfig } from './utils/project.js';
5
6
  export interface MastraCodeConfig {
6
7
  /** Working directory for project detection. Default: process.cwd() */
7
8
  cwd?: string;
@@ -11,11 +12,8 @@ export interface MastraCodeConfig {
11
12
  subagents?: HarnessSubagent[];
12
13
  /** Extra tools merged into the dynamic tool set */
13
14
  extraTools?: Record<string, any>;
14
- /** Custom storage config instead of auto-detected LibSQL */
15
- storage?: {
16
- url: string;
17
- authToken?: string;
18
- };
15
+ /** Custom storage config instead of auto-detected default */
16
+ storage?: StorageConfig;
19
17
  /** Initial state overrides (yolo, thinkingLevel, etc.) */
20
18
  initialState?: Record<string, unknown>;
21
19
  /** Override heartbeat handlers. Default: gateway-sync */
@@ -25,10 +23,11 @@ export interface MastraCodeConfig {
25
23
  /** Disable hooks. Default: false */
26
24
  disableHooks?: boolean;
27
25
  }
28
- export declare function createMastraCode(config?: MastraCodeConfig): {
26
+ export declare function createMastraCode(config?: MastraCodeConfig): Promise<{
29
27
  harness: Harness<import("@mastra/core/harness").HarnessStateSchema>;
30
28
  mcpManager: import("./mcp/manager.js").McpManager | undefined;
31
29
  hookManager: HookManager | undefined;
32
30
  authStorage: AuthStorage;
33
- };
31
+ storageWarning: string | undefined;
32
+ }>;
34
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAgC,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAa3F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAwB/C,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,4DAA4D;IAC5D,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB;;;;;EA8LzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAgC,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY3F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAqB/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASxD,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB;;;;;;GAqO/D"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { createMastraCode } from './chunk-7V6U7OKQ.js';
1
+ export { createMastraCode } from './chunk-HHX6BKLR.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ export { OnboardingInlineComponent } from './onboarding-inline.js';
2
+ export type { OnboardingResult, OnboardingOptions } from './onboarding-inline.js';
3
+ export { getAvailableModePacks, getAvailableOmPacks, ONBOARDING_VERSION } from './packs.js';
4
+ export type { ModePack, OMPack, ProviderAccess, ProviderAccessLevel } from './packs.js';
5
+ export { loadSettings, saveSettings, getSettingsPath, resolveModelDefaults, resolveOmModel } from './settings.js';
6
+ export type { GlobalSettings, CustomPack } from './settings.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/onboarding/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC5F,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAClH,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Inline onboarding component.
3
+ *
4
+ * Walks the user through a multi-step wizard:
5
+ * 1. Welcome
6
+ * 2. Auth / Login prompt
7
+ * 3. Mode pack selection (build / plan / fast model preset)
8
+ * 4. OM pack selection (observational memory model)
9
+ * 5. YOLO mode toggle
10
+ *
11
+ * The component renders each step inline in the conversation stream.
12
+ * On completion it fires `onComplete` with the collected choices.
13
+ */
14
+ import { Container } from '@mariozechner/pi-tui';
15
+ import type { Focusable, TUI } from '@mariozechner/pi-tui';
16
+ import type { ModePack, OMPack } from './packs.js';
17
+ export interface OnboardingResult {
18
+ modePack: ModePack;
19
+ omPack: OMPack;
20
+ yolo: boolean;
21
+ /** True if the user chose to log in (auth flow handled externally). */
22
+ loginRequested: boolean;
23
+ loginProvider?: string;
24
+ }
25
+ /** Previously saved selections to pre-populate when re-running /setup. */
26
+ export interface PreviousSetupChoices {
27
+ modePackId: string | null;
28
+ omPackId: string | null;
29
+ yolo: boolean | null;
30
+ }
31
+ export interface OnboardingOptions {
32
+ tui: TUI;
33
+ /** OAuth providers available for login. label=display name, value=provider id */
34
+ authProviders: Array<{
35
+ label: string;
36
+ value: string;
37
+ loggedIn: boolean;
38
+ }>;
39
+ /** Available mode packs (pre-filtered by provider access). */
40
+ modePacks: ModePack[];
41
+ /** Available OM packs (pre-filtered by provider access). */
42
+ omPacks: OMPack[];
43
+ /** Previously saved choices — used to highlight current selections when re-running. */
44
+ previous?: PreviousSetupChoices;
45
+ /** Called when the wizard completes. */
46
+ onComplete: (result: OnboardingResult) => void;
47
+ /** Called if the user cancels the wizard (Esc on welcome). */
48
+ onCancel: () => void;
49
+ /** Called when the user requests login during onboarding. */
50
+ onLogin: (providerId: string, done: () => void) => void;
51
+ /** Show the model selector overlay and return the chosen model ID (or undefined on cancel). */
52
+ onSelectModel: (title: string, modeColor?: string) => Promise<string | undefined>;
53
+ }
54
+ export declare class OnboardingInlineComponent extends Container implements Focusable {
55
+ private tui;
56
+ private options;
57
+ private currentStep;
58
+ private stepBox;
59
+ private selectList?;
60
+ private _finished;
61
+ private loginRequested;
62
+ private loginProvider?;
63
+ private selectedModePack;
64
+ private selectedOmPack;
65
+ private selectedYolo;
66
+ private _focused;
67
+ get focused(): boolean;
68
+ set focused(value: boolean);
69
+ constructor(options: OnboardingOptions);
70
+ get finished(): boolean;
71
+ /** Programmatically cancel the wizard (e.g. on Ctrl+C). */
72
+ cancel(): void;
73
+ /** Refresh the available mode packs (e.g. after a login grants new provider access). */
74
+ updateModePacks(packs: ModePack[]): void;
75
+ /** Refresh the available OM packs (e.g. after a login grants new provider access). */
76
+ updateOmPacks(packs: OMPack[]): void;
77
+ private clearStep;
78
+ private renderStep;
79
+ private stepCount;
80
+ private makeBox;
81
+ private renderWelcome;
82
+ private renderAuth;
83
+ /** Text component showing details for the currently highlighted mode pack. */
84
+ private modePackDetail?;
85
+ private renderModePack;
86
+ private updateModePackDetail;
87
+ private runCustomPackFlow;
88
+ private renderOmPack;
89
+ private runCustomOmFlow;
90
+ private renderYolo;
91
+ private renderDone;
92
+ private collapseStep;
93
+ handleInput(data: string): void;
94
+ }
95
+ //# sourceMappingURL=onboarding-inline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-inline.d.ts","sourceRoot":"","sources":["../../src/onboarding/onboarding-inline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Onboarding "packs" — predefined model configurations for each mode.
3
+ *
4
+ * Each pack assigns a default model to the build, plan, and fast modes,
5
+ * plus an OM (observational memory) model.
6
+ */
7
+ export interface ModePack {
8
+ id: string;
9
+ name: string;
10
+ description: string;
11
+ models: {
12
+ build: string;
13
+ plan: string;
14
+ fast: string;
15
+ };
16
+ }
17
+ export interface OMPack {
18
+ id: string;
19
+ name: string;
20
+ description: string;
21
+ modelId: string;
22
+ }
23
+ /** How a provider is accessed: OAuth subscription, API key, or not at all. */
24
+ export type ProviderAccessLevel = 'oauth' | 'apikey' | false;
25
+ /** Which providers the user has access to and how. */
26
+ export interface ProviderAccess {
27
+ anthropic: ProviderAccessLevel;
28
+ openai: ProviderAccessLevel;
29
+ cerebras: ProviderAccessLevel;
30
+ google: ProviderAccessLevel;
31
+ deepseek: ProviderAccessLevel;
32
+ }
33
+ /**
34
+ * Build the list of available mode packs based on which providers the user
35
+ * can actually reach (API key or OAuth login).
36
+ *
37
+ * @param savedCustomPacks Previously saved custom packs from settings.json.
38
+ * These are inserted before the "New Custom" option.
39
+ */
40
+ export declare function getAvailableModePacks(access: ProviderAccess, savedCustomPacks?: Array<{
41
+ name: string;
42
+ models: Record<string, string>;
43
+ }>): ModePack[];
44
+ export declare function getAvailableOmPacks(access: ProviderAccess): OMPack[];
45
+ export declare const ONBOARDING_VERSION = 1;
46
+ //# sourceMappingURL=packs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packs.d.ts","sourceRoot":"","sources":["../../src/onboarding/packs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8EAA8E;AAC9E,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE7D,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAMD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,gBAAgB,GAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAM,GAC7E,QAAQ,EAAE,CAyEZ;AAMD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAgDpE;AAMD,eAAO,MAAM,kBAAkB,IAAI,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Persistent global settings stored in the app data directory as settings.json.
3
+ * This file persists onboarding state AND user preferences (model choices, yolo, etc.)
4
+ * so they carry across threads and restarts.
5
+ */
6
+ /** A saved custom pack — user-defined model selections for each mode. */
7
+ export interface CustomPack {
8
+ name: string;
9
+ models: Record<string, string>;
10
+ createdAt: string;
11
+ }
12
+ /** Storage backend type. */
13
+ export type StorageBackend = 'libsql' | 'pg';
14
+ /** LibSQL-specific storage settings. */
15
+ export interface LibSQLStorageSettings {
16
+ url?: string;
17
+ authToken?: string;
18
+ }
19
+ /** PostgreSQL-specific storage settings. */
20
+ export interface PgStorageSettings {
21
+ connectionString?: string;
22
+ host?: string;
23
+ port?: number;
24
+ database?: string;
25
+ user?: string;
26
+ password?: string;
27
+ schemaName?: string;
28
+ disableInit?: boolean;
29
+ skipDefaultIndexes?: boolean;
30
+ }
31
+ /** Storage configuration persisted in global settings. */
32
+ export interface StorageSettings {
33
+ /** Which backend to use. Default: 'libsql'. */
34
+ backend: StorageBackend;
35
+ /** LibSQL-specific config (used when backend is 'libsql'). */
36
+ libsql: LibSQLStorageSettings;
37
+ /** PostgreSQL-specific config (used when backend is 'pg'). */
38
+ pg: PgStorageSettings;
39
+ }
40
+ export interface GlobalSettings {
41
+ onboarding: {
42
+ completedAt: string | null;
43
+ skippedAt: string | null;
44
+ version: number;
45
+ modePackId: string | null;
46
+ omPackId: string | null;
47
+ };
48
+ models: {
49
+ /**
50
+ * Active model pack ID. Built-in packs use their id directly ("varied",
51
+ * "anthropic", "openai"). Custom packs use "custom:<name>".
52
+ * When set, models are resolved from the pack at startup so pack updates
53
+ * (e.g. new model versions) apply automatically.
54
+ * Cleared when the user manually overrides via /models (falls back to modeDefaults).
55
+ */
56
+ activeModelPackId: string | null;
57
+ /** Explicit per-mode overrides — used when no activeModelPackId is set. */
58
+ modeDefaults: Record<string, string>;
59
+ /**
60
+ * Active OM pack ID (e.g. "gemini", "anthropic", "custom").
61
+ * When set, the OM model is resolved from the pack at startup so pack
62
+ * updates (e.g. new model versions) apply automatically.
63
+ * Cleared when the user manually overrides via /om (falls back to omModelOverride).
64
+ */
65
+ activeOmPackId: string | null;
66
+ /** Explicit OM model override — used for custom OM pack or /om manual changes. */
67
+ omModelOverride: string | null;
68
+ /** Per-agent-type subagent model overrides (e.g. { explore: "openai/gpt-5.1-codex-mini" }) */
69
+ subagentModels: Record<string, string>;
70
+ };
71
+ preferences: {
72
+ yolo: boolean | null;
73
+ };
74
+ storage: StorageSettings;
75
+ customModelPacks: CustomPack[];
76
+ modelUseCounts: Record<string, number>;
77
+ }
78
+ export declare const STORAGE_DEFAULTS: StorageSettings;
79
+ export declare function getSettingsPath(): string;
80
+ export declare function loadSettings(filePath?: string): GlobalSettings;
81
+ /**
82
+ * Resolve effective per-mode model defaults.
83
+ *
84
+ * If `activeModelPackId` is set, looks up the pack (built-in or custom) and
85
+ * returns its models. Falls back to the explicit `modeDefaults` map.
86
+ *
87
+ * @param settings The loaded global settings.
88
+ * @param builtinPacks Built-in packs for the current provider access
89
+ * (from `getAvailableModePacks`). Pass `[]` if unavailable.
90
+ */
91
+ export declare function resolveModelDefaults(settings: GlobalSettings, builtinPacks: Array<{
92
+ id: string;
93
+ models: Record<string, string>;
94
+ }>): Record<string, string>;
95
+ /**
96
+ * Resolve the effective OM model ID.
97
+ *
98
+ * If `activeOmPackId` is set, looks up the matching OM pack and returns its
99
+ * model. Falls back to the explicit `omModelOverride`.
100
+ *
101
+ * @param settings The loaded global settings.
102
+ * @param builtinOmPacks Built-in OM packs for the current provider access
103
+ * (from `getAvailableOmPacks`). Pass `[]` if unavailable.
104
+ */
105
+ export declare function resolveOmModel(settings: GlobalSettings, builtinOmPacks: Array<{
106
+ id: string;
107
+ modelId: string;
108
+ }>): string | null;
109
+ export declare function saveSettings(settings: GlobalSettings, filePath?: string): void;
110
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/onboarding/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { AuthStorage, PROVIDER_DEFAULT_MODELS, getOAuthProvider, getOAuthProviders } from './chunk-VRZZSUQE.js';
2
+ //# sourceMappingURL=storage-52Y5MKTG.js.map
3
+ //# sourceMappingURL=storage-52Y5MKTG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"storage-52Y5MKTG.js"}
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var chunkC6XKRHRK_cjs = require('./chunk-C6XKRHRK.cjs');
4
+
5
+
6
+
7
+ Object.defineProperty(exports, "AuthStorage", {
8
+ enumerable: true,
9
+ get: function () { return chunkC6XKRHRK_cjs.AuthStorage; }
10
+ });
11
+ Object.defineProperty(exports, "PROVIDER_DEFAULT_MODELS", {
12
+ enumerable: true,
13
+ get: function () { return chunkC6XKRHRK_cjs.PROVIDER_DEFAULT_MODELS; }
14
+ });
15
+ Object.defineProperty(exports, "getOAuthProvider", {
16
+ enumerable: true,
17
+ get: function () { return chunkC6XKRHRK_cjs.getOAuthProvider; }
18
+ });
19
+ Object.defineProperty(exports, "getOAuthProviders", {
20
+ enumerable: true,
21
+ get: function () { return chunkC6XKRHRK_cjs.getOAuthProviders; }
22
+ });
23
+ //# sourceMappingURL=storage-JFFX7LJJ.cjs.map
24
+ //# sourceMappingURL=storage-JFFX7LJJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"storage-JFFX7LJJ.cjs"}
@@ -1 +1 @@
1
- {"version":3,"file":"string-replace-lsp.d.ts","sourceRoot":"","sources":["../../src/tools/string-replace-lsp.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;iIA+G/B,CAAC"}
1
+ {"version":3,"file":"string-replace-lsp.d.ts","sourceRoot":"","sources":["../../src/tools/string-replace-lsp.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;iIA+G/B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { SlashCommandContext } from './commands/types.js';
2
+ import type { TUIState } from './state.js';
3
+ /**
4
+ * Dispatch a slash command input to the appropriate handler.
5
+ * Returns true if the command was handled (or was unknown), false if not a command.
6
+ */
7
+ export declare function dispatchSlashCommand(input: string, state: TUIState, buildCtx: () => SlashCommandContext): Promise<boolean>;
8
+ //# sourceMappingURL=command-dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-dispatch.d.ts","sourceRoot":"","sources":["../../src/tui/command-dispatch.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,mBAAmB,GAClC,OAAO,CAAC,OAAO,CAAC,CA2GlB"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleCostCommand(ctx: SlashCommandContext): void;
3
+ //# sourceMappingURL=cost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/cost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAmBhE"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleDiffCommand(ctx: SlashCommandContext, filePath?: string): Promise<void>;
3
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/diff.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ElG"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleExitCommand(ctx: SlashCommandContext): void;
3
+ //# sourceMappingURL=exit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/exit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAGhE"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleHelpCommand(ctx: SlashCommandContext): void;
3
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/help.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAMhE"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleHooksCommand(ctx: SlashCommandContext, args: string[]): void;
3
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA0DjF"}
@@ -0,0 +1,27 @@
1
+ export type { SlashCommandContext } from './types.js';
2
+ export { handleHelpCommand } from './help.js';
3
+ export { handleCostCommand } from './cost.js';
4
+ export { handleYoloCommand } from './yolo.js';
5
+ export { handleThinkCommand } from './think.js';
6
+ export { handlePermissionsCommand } from './permissions.js';
7
+ export { handleNameCommand } from './name.js';
8
+ export { handleExitCommand } from './exit.js';
9
+ export { handleHooksCommand } from './hooks.js';
10
+ export { handleMcpCommand } from './mcp.js';
11
+ export { handleModeCommand } from './mode.js';
12
+ export { handleSkillsCommand } from './skills.js';
13
+ export { handleNewCommand } from './new.js';
14
+ export { handleResourceCommand } from './resource.js';
15
+ export { handleDiffCommand } from './diff.js';
16
+ export { handleThreadsCommand } from './threads.js';
17
+ export { handleThreadTagDirCommand } from './thread-tag-dir.js';
18
+ export { handleSandboxCommand } from './sandbox.js';
19
+ export { handleModelsCommand } from './models.js';
20
+ export { handleModelsPackCommand } from './models-pack.js';
21
+ export { handleSubagentsCommand } from './subagents.js';
22
+ export { handleOMCommand } from './om.js';
23
+ export { handleSettingsCommand } from './settings.js';
24
+ export { handleLoginCommand } from './login.js';
25
+ export { handleReviewCommand } from './review.js';
26
+ export { handleSetupCommand } from './setup.js';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleLoginCommand(ctx: SlashCommandContext, mode: 'login' | 'logout'): Promise<void>;
3
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/login.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAiEtD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6D1G"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleMcpCommand(ctx: SlashCommandContext, args: string[]): Promise<void>;
3
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmE9F"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleModeCommand(ctx: SlashCommandContext, args: string[]): Promise<void>;
3
+ //# sourceMappingURL=mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB/F"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleModelsPackCommand(ctx: SlashCommandContext): Promise<void>;
3
+ //# sourceMappingURL=models-pack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models-pack.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/models-pack.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAyHtD,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwHrF"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleModelsCommand(ctx: SlashCommandContext): Promise<void>;
3
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/models.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA4GtD,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDjF"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleNameCommand(ctx: SlashCommandContext, args: string[]): Promise<void>;
3
+ //# sourceMappingURL=name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/F"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleNewCommand(ctx: SlashCommandContext): void;
3
+ //# sourceMappingURL=new.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/new.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAiB/D"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleOMCommand(ctx: SlashCommandContext): Promise<void>;
3
+ //# sourceMappingURL=om.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"om.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/om.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAsB,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiD7E"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handlePermissionsCommand(ctx: SlashCommandContext, args: string[]): Promise<void>;
3
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBtG"}
@@ -0,0 +1,3 @@
1
+ import type { SlashCommandContext } from './types.js';
2
+ export declare function handleResourceCommand(ctx: SlashCommandContext, args: string[]): Promise<void>;
3
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/tui/commands/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCnG"}