@ebowwa/coder 0.2.1 → 0.7.64
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.
- package/README.md +31 -32
- package/dist/core/__tests__/permissions.test.d.ts +12 -0
- package/dist/core/__tests__/permissions.test.d.ts.map +1 -0
- package/dist/core/__tests__/permissions.test.js +851 -0
- package/dist/core/agent-loop/__tests__/compaction.test.d.ts +5 -0
- package/dist/core/agent-loop/__tests__/compaction.test.d.ts.map +1 -0
- package/dist/core/agent-loop/__tests__/compaction.test.js +209 -0
- package/dist/core/agent-loop/__tests__/formatters.test.d.ts +5 -0
- package/dist/core/agent-loop/__tests__/formatters.test.d.ts.map +1 -0
- package/dist/core/agent-loop/__tests__/formatters.test.js +195 -0
- package/dist/core/agent-loop/__tests__/index.test.d.ts +5 -0
- package/dist/core/agent-loop/__tests__/index.test.d.ts.map +1 -0
- package/dist/core/agent-loop/__tests__/index.test.js +121 -0
- package/dist/core/agent-loop/__tests__/loop-state.test.d.ts +5 -0
- package/dist/core/agent-loop/__tests__/loop-state.test.d.ts.map +1 -0
- package/dist/core/agent-loop/__tests__/loop-state.test.js +340 -0
- package/dist/core/agent-loop/__tests__/message-builder.test.d.ts +5 -0
- package/dist/core/agent-loop/__tests__/message-builder.test.d.ts.map +1 -0
- package/dist/core/agent-loop/__tests__/message-builder.test.js +178 -0
- package/dist/core/agent-loop/__tests__/tool-executor.test.d.ts +5 -0
- package/dist/core/agent-loop/__tests__/tool-executor.test.d.ts.map +1 -0
- package/dist/core/agent-loop/__tests__/tool-executor.test.js +331 -0
- package/dist/core/agent-loop/compaction.d.ts +39 -0
- package/dist/core/agent-loop/compaction.d.ts.map +1 -0
- package/dist/core/agent-loop/compaction.js +51 -0
- package/dist/core/agent-loop/formatters.d.ts +21 -0
- package/dist/core/agent-loop/formatters.d.ts.map +1 -0
- package/dist/core/agent-loop/formatters.js +42 -0
- package/dist/core/agent-loop/index.d.ts +25 -0
- package/dist/core/agent-loop/index.d.ts.map +1 -0
- package/dist/core/agent-loop/index.js +83 -0
- package/dist/core/agent-loop/loop-state.d.ts +74 -0
- package/dist/core/agent-loop/loop-state.d.ts.map +1 -0
- package/dist/core/agent-loop/loop-state.js +147 -0
- package/dist/core/agent-loop/message-builder.d.ts +13 -0
- package/dist/core/agent-loop/message-builder.d.ts.map +1 -0
- package/dist/core/agent-loop/message-builder.js +49 -0
- package/dist/core/agent-loop/tool-executor.d.ts +23 -0
- package/dist/core/agent-loop/tool-executor.d.ts.map +1 -0
- package/dist/core/agent-loop/tool-executor.js +152 -0
- package/dist/core/agent-loop/turn-executor.d.ts +57 -0
- package/dist/core/agent-loop/turn-executor.d.ts.map +1 -0
- package/dist/core/agent-loop/turn-executor.js +124 -0
- package/dist/core/agent-loop/types.d.ts +141 -0
- package/dist/core/agent-loop/types.d.ts.map +1 -0
- package/dist/core/agent-loop/types.js +4 -0
- package/dist/core/agent-loop.d.ts +17 -0
- package/dist/core/agent-loop.d.ts.map +1 -0
- package/dist/core/agent-loop.js +16 -0
- package/dist/core/api-client-impl.d.ts +62 -0
- package/dist/core/api-client-impl.d.ts.map +1 -0
- package/dist/core/api-client-impl.js +479 -0
- package/dist/core/api-client.d.ts +6 -0
- package/dist/core/api-client.d.ts.map +1 -0
- package/dist/core/api-client.js +5 -0
- package/dist/core/checkpoints.d.ts +128 -0
- package/dist/core/checkpoints.d.ts.map +1 -0
- package/dist/core/checkpoints.js +438 -0
- package/dist/core/claude-md.d.ts +71 -0
- package/dist/core/claude-md.d.ts.map +1 -0
- package/dist/core/claude-md.js +198 -0
- package/dist/core/cognitive-security/hooks.d.ts +138 -0
- package/dist/core/cognitive-security/hooks.d.ts.map +1 -0
- package/dist/core/cognitive-security/hooks.js +389 -0
- package/dist/core/cognitive-security/index.d.ts +751 -0
- package/dist/core/cognitive-security/index.d.ts.map +1 -0
- package/dist/core/cognitive-security/index.js +1123 -0
- package/dist/core/cognitive-security/middleware.d.ts +136 -0
- package/dist/core/cognitive-security/middleware.d.ts.map +1 -0
- package/dist/core/cognitive-security/middleware.js +376 -0
- package/dist/core/config-loader.d.ts +127 -0
- package/dist/core/config-loader.d.ts.map +1 -0
- package/dist/core/config-loader.js +219 -0
- package/dist/core/context-compaction.d.ts +87 -0
- package/dist/core/context-compaction.d.ts.map +1 -0
- package/dist/core/context-compaction.js +428 -0
- package/dist/core/git-status.d.ts +25 -0
- package/dist/core/git-status.d.ts.map +1 -0
- package/dist/core/git-status.js +204 -0
- package/dist/core/image.d.ts +69 -0
- package/dist/core/image.d.ts.map +1 -0
- package/dist/core/image.js +290 -0
- package/dist/core/image.test.d.ts +2 -0
- package/dist/core/image.test.d.ts.map +1 -0
- package/dist/core/image.test.js +149 -0
- package/dist/core/models.d.ts +123 -0
- package/dist/core/models.d.ts.map +1 -0
- package/dist/core/models.js +325 -0
- package/dist/core/permissions.d.ts +81 -0
- package/dist/core/permissions.d.ts.map +1 -0
- package/dist/core/permissions.js +327 -0
- package/dist/core/retry.d.ts +25 -0
- package/dist/core/retry.d.ts.map +1 -0
- package/dist/core/retry.js +121 -0
- package/dist/core/session-store.d.ts +9 -0
- package/dist/core/session-store.d.ts.map +1 -0
- package/dist/core/session-store.js +10 -0
- package/dist/core/sessions/export.d.ts +47 -0
- package/dist/core/sessions/export.d.ts.map +1 -0
- package/dist/core/sessions/export.js +256 -0
- package/dist/core/sessions/index.d.ts +132 -0
- package/dist/core/sessions/index.d.ts.map +1 -0
- package/dist/core/sessions/index.js +442 -0
- package/dist/core/sessions/metadata.d.ts +77 -0
- package/dist/core/sessions/metadata.d.ts.map +1 -0
- package/dist/core/sessions/metadata.js +233 -0
- package/dist/core/sessions/persistence.d.ts +72 -0
- package/dist/core/sessions/persistence.d.ts.map +1 -0
- package/dist/core/sessions/persistence.js +201 -0
- package/dist/core/sessions/types.d.ts +110 -0
- package/dist/core/sessions/types.d.ts.map +1 -0
- package/dist/core/sessions/types.js +4 -0
- package/dist/core/stream-highlighter.d.ts +18 -0
- package/dist/core/stream-highlighter.d.ts.map +1 -0
- package/dist/core/stream-highlighter.js +916 -0
- package/dist/core/system-reminders.d.ts +89 -0
- package/dist/core/system-reminders.d.ts.map +1 -0
- package/dist/core/system-reminders.js +285 -0
- package/dist/ecosystem/hooks/__tests__/index.test.d.ts +5 -0
- package/dist/ecosystem/hooks/__tests__/index.test.d.ts.map +1 -0
- package/dist/ecosystem/hooks/__tests__/index.test.js +458 -0
- package/dist/ecosystem/hooks/index.d.ts +59 -0
- package/dist/ecosystem/hooks/index.d.ts.map +1 -0
- package/dist/ecosystem/hooks/index.js +294 -0
- package/dist/ecosystem/hooks/prompt-evaluator.d.ts +32 -0
- package/dist/ecosystem/hooks/prompt-evaluator.d.ts.map +1 -0
- package/dist/ecosystem/hooks/prompt-evaluator.js +229 -0
- package/dist/ecosystem/skills/index.d.ts +55 -0
- package/dist/ecosystem/skills/index.d.ts.map +1 -0
- package/dist/ecosystem/skills/index.js +258 -0
- package/dist/ecosystem/tools/__tests__/index.test.d.ts +7 -0
- package/dist/ecosystem/tools/__tests__/index.test.d.ts.map +1 -0
- package/dist/ecosystem/tools/__tests__/index.test.js +856 -0
- package/dist/ecosystem/tools/index.d.ts +24 -0
- package/dist/ecosystem/tools/index.d.ts.map +1 -0
- package/dist/ecosystem/tools/index.js +1709 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -2
- package/dist/interfaces/mcp/client.d.ts +40 -0
- package/dist/interfaces/mcp/client.d.ts.map +1 -0
- package/dist/interfaces/mcp/client.js +309 -0
- package/dist/interfaces/ui/index.d.ts +36 -0
- package/dist/interfaces/ui/index.d.ts.map +1 -0
- package/dist/interfaces/ui/index.js +61 -0
- package/dist/interfaces/ui/spinner.d.ts +140 -0
- package/dist/interfaces/ui/spinner.d.ts.map +1 -0
- package/dist/interfaces/ui/spinner.js +342 -0
- package/dist/interfaces/ui/terminal/cli/index.d.ts +12 -0
- package/dist/interfaces/ui/terminal/cli/index.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/cli/index.js +167 -0
- package/dist/interfaces/ui/terminal/shared/args.d.ts +39 -0
- package/dist/interfaces/ui/terminal/shared/args.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/shared/args.js +176 -0
- package/dist/interfaces/ui/terminal/shared/index.d.ts +11 -0
- package/dist/interfaces/ui/terminal/shared/index.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/shared/index.js +16 -0
- package/dist/interfaces/ui/terminal/shared/loading-state.d.ts +124 -0
- package/dist/interfaces/ui/terminal/shared/loading-state.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/shared/loading-state.js +246 -0
- package/dist/interfaces/ui/terminal/shared/query.d.ts +22 -0
- package/dist/interfaces/ui/terminal/shared/query.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/shared/query.js +100 -0
- package/dist/interfaces/ui/terminal/shared/setup.d.ts +33 -0
- package/dist/interfaces/ui/terminal/shared/setup.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/shared/setup.js +226 -0
- package/dist/interfaces/ui/terminal/shared/status-line.d.ts +117 -0
- package/dist/interfaces/ui/terminal/shared/status-line.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/shared/status-line.js +267 -0
- package/dist/interfaces/ui/terminal/shared/system-prompt.d.ts +38 -0
- package/dist/interfaces/ui/terminal/shared/system-prompt.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/shared/system-prompt.js +102 -0
- package/dist/interfaces/ui/terminal/tui/HelpPanel.d.ts +39 -0
- package/dist/interfaces/ui/terminal/tui/HelpPanel.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/HelpPanel.js +215 -0
- package/dist/interfaces/ui/terminal/tui/InputContext.d.ts +91 -0
- package/dist/interfaces/ui/terminal/tui/InputContext.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/InputContext.js +154 -0
- package/dist/interfaces/ui/terminal/tui/InputField.d.ts +18 -0
- package/dist/interfaces/ui/terminal/tui/InputField.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/InputField.js +41 -0
- package/dist/interfaces/ui/terminal/tui/InteractiveTUI.d.ts +16 -0
- package/dist/interfaces/ui/terminal/tui/InteractiveTUI.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/InteractiveTUI.js +451 -0
- package/dist/interfaces/ui/terminal/tui/MessageArea.d.ts +10 -0
- package/dist/interfaces/ui/terminal/tui/MessageArea.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/MessageArea.js +91 -0
- package/dist/interfaces/ui/terminal/tui/MessageStore.d.ts +48 -0
- package/dist/interfaces/ui/terminal/tui/MessageStore.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/MessageStore.js +151 -0
- package/dist/interfaces/ui/terminal/tui/StatusBar.d.ts +9 -0
- package/dist/interfaces/ui/terminal/tui/StatusBar.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/StatusBar.js +36 -0
- package/dist/interfaces/ui/terminal/tui/commands.d.ts +21 -0
- package/dist/interfaces/ui/terminal/tui/commands.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/commands.js +359 -0
- package/dist/interfaces/ui/terminal/tui/components/InteractiveElements.d.ts +115 -0
- package/dist/interfaces/ui/terminal/tui/components/InteractiveElements.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/components/InteractiveElements.js +306 -0
- package/dist/interfaces/ui/terminal/tui/components/MultilineInput.d.ts +92 -0
- package/dist/interfaces/ui/terminal/tui/components/MultilineInput.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/components/MultilineInput.js +399 -0
- package/dist/interfaces/ui/terminal/tui/components/PaneManager.d.ts +59 -0
- package/dist/interfaces/ui/terminal/tui/components/PaneManager.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/components/PaneManager.js +139 -0
- package/dist/interfaces/ui/terminal/tui/components/Sidebar.d.ts +68 -0
- package/dist/interfaces/ui/terminal/tui/components/Sidebar.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/components/Sidebar.js +340 -0
- package/dist/interfaces/ui/terminal/tui/components/index.d.ts +23 -0
- package/dist/interfaces/ui/terminal/tui/components/index.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/components/index.js +51 -0
- package/dist/interfaces/ui/terminal/tui/console.d.ts +20 -0
- package/dist/interfaces/ui/terminal/tui/console.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/console.js +46 -0
- package/dist/interfaces/ui/terminal/tui/index.d.ts +20 -0
- package/dist/interfaces/ui/terminal/tui/index.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/index.js +28 -0
- package/dist/interfaces/ui/terminal/tui/run.d.ts +13 -0
- package/dist/interfaces/ui/terminal/tui/run.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/run.js +31 -0
- package/dist/interfaces/ui/terminal/tui/spinner.d.ts +44 -0
- package/dist/interfaces/ui/terminal/tui/spinner.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/spinner.js +59 -0
- package/dist/interfaces/ui/terminal/tui/tui-app.d.ts +39 -0
- package/dist/interfaces/ui/terminal/tui/tui-app.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/tui-app.js +198 -0
- package/dist/interfaces/ui/terminal/tui/tui-footer.d.ts +167 -0
- package/dist/interfaces/ui/terminal/tui/tui-footer.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/tui-footer.js +330 -0
- package/dist/interfaces/ui/terminal/tui/types.d.ts +165 -0
- package/dist/interfaces/ui/terminal/tui/types.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/types.js +5 -0
- package/dist/interfaces/ui/terminal/tui/useInputHandler.d.ts +23 -0
- package/dist/interfaces/ui/terminal/tui/useInputHandler.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/useInputHandler.js +72 -0
- package/dist/interfaces/ui/terminal/tui/useNativeInput.d.ts +90 -0
- package/dist/interfaces/ui/terminal/tui/useNativeInput.d.ts.map +1 -0
- package/dist/interfaces/ui/terminal/tui/useNativeInput.js +188 -0
- package/dist/native/index.d.ts +480 -0
- package/dist/native/index.d.ts.map +1 -0
- package/dist/native/index.js +1625 -0
- package/dist/teammates/index.d.ts +161 -0
- package/dist/teammates/index.d.ts.map +1 -0
- package/dist/teammates/index.js +827 -0
- package/dist/types/index.d.ts +482 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +52 -0
- package/native/README.md +5 -5
- package/native/index.darwin-arm64.node +0 -0
- package/native/index.node +0 -0
- package/native/package.json +4 -4
- package/package.json +33 -16
- package/packages/src/core/__tests__/permissions.test.ts +1091 -0
- package/packages/src/core/agent-loop/__tests__/compaction.test.ts +280 -0
- package/packages/src/core/agent-loop/__tests__/formatters.test.ts +234 -0
- package/packages/src/core/agent-loop/__tests__/index.test.ts +162 -0
- package/packages/src/core/agent-loop/__tests__/loop-state.test.ts +413 -0
- package/packages/src/core/agent-loop/__tests__/message-builder.test.ts +229 -0
- package/packages/src/core/agent-loop/__tests__/tool-executor.test.ts +457 -0
- package/packages/src/core/agent-loop/compaction.ts +88 -0
- package/packages/src/core/agent-loop/formatters.ts +50 -0
- package/packages/src/core/agent-loop/index.ts +135 -0
- package/packages/src/core/agent-loop/loop-state.ts +187 -0
- package/packages/src/core/agent-loop/message-builder.ts +62 -0
- package/packages/src/core/agent-loop/tool-executor.ts +211 -0
- package/packages/src/core/agent-loop/turn-executor.ts +222 -0
- package/packages/src/core/agent-loop/types.ts +148 -0
- package/packages/src/core/agent-loop.ts +18 -0
- package/packages/src/core/api-client-impl.ts +619 -0
- package/packages/src/core/api-client.ts +6 -0
- package/packages/src/core/checkpoints.ts +606 -0
- package/packages/src/core/claude-md.ts +272 -0
- package/packages/src/core/cognitive-security/hooks.ts +590 -0
- package/packages/src/core/cognitive-security/index.ts +2041 -0
- package/packages/src/core/cognitive-security/middleware.ts +536 -0
- package/packages/src/core/config-loader.ts +324 -0
- package/packages/src/core/context-compaction.ts +578 -0
- package/packages/src/core/git-status.ts +262 -0
- package/packages/src/core/image.test.ts +180 -0
- package/packages/src/core/image.ts +350 -0
- package/packages/src/core/lmdb.db +0 -0
- package/packages/src/core/lmdb.db-lock +0 -0
- package/packages/src/core/models.ts +430 -0
- package/packages/src/core/normalizers/todo +4 -0
- package/packages/src/core/permissions.ts +431 -0
- package/packages/src/core/retry.ts +170 -0
- package/packages/src/core/session-store.ts +36 -0
- package/packages/src/core/sessions/export.ts +329 -0
- package/packages/src/core/sessions/index.ts +587 -0
- package/packages/src/core/sessions/metadata.ts +309 -0
- package/packages/src/core/sessions/persistence.ts +244 -0
- package/packages/src/core/sessions/types.ts +169 -0
- package/packages/src/core/stream-highlighter.ts +1123 -0
- package/packages/src/core/system-reminders.ts +402 -0
- package/packages/src/core/todo +8 -0
- package/packages/src/ecosystem/hooks/__tests__/index.test.ts +561 -0
- package/packages/src/ecosystem/hooks/index.ts +341 -0
- package/packages/src/ecosystem/hooks/prompt-evaluator.ts +300 -0
- package/packages/src/ecosystem/skills/index.ts +295 -0
- package/packages/src/ecosystem/tools/__tests__/index.test.ts +1335 -0
- package/packages/src/ecosystem/tools/index.ts +1877 -0
- package/packages/src/index.ts +120 -0
- package/packages/src/interfaces/mcp/client.ts +389 -0
- package/packages/src/interfaces/ui/Screenshot 2026-03-02 at 9.23.10/342/200/257PM.png +0 -0
- package/packages/src/interfaces/ui/Screenshot 2026-03-03 at 10.55.11/342/200/257AM.png +0 -0
- package/packages/src/interfaces/ui/index.ts +161 -0
- package/packages/src/interfaces/ui/lmdb.db +0 -0
- package/packages/src/interfaces/ui/lmdb.db-lock +0 -0
- package/packages/src/interfaces/ui/spinner.ts +451 -0
- package/packages/src/interfaces/ui/terminal/cli/index.ts +228 -0
- package/packages/src/interfaces/ui/terminal/lmdb.db +0 -0
- package/packages/src/interfaces/ui/terminal/lmdb.db-lock +0 -0
- package/packages/src/interfaces/ui/terminal/shared/args.ts +222 -0
- package/packages/src/interfaces/ui/terminal/shared/index.ts +71 -0
- package/packages/src/interfaces/ui/terminal/shared/loading-state.ts +322 -0
- package/packages/src/interfaces/ui/terminal/shared/query.ts +146 -0
- package/packages/src/interfaces/ui/terminal/shared/setup.ts +295 -0
- package/packages/src/interfaces/ui/terminal/shared/status-line.ts +358 -0
- package/packages/src/interfaces/ui/terminal/shared/system-prompt.ts +146 -0
- package/packages/src/interfaces/ui/terminal/tui/HelpPanel.tsx +262 -0
- package/packages/src/interfaces/ui/terminal/tui/InputContext.tsx +232 -0
- package/packages/src/interfaces/ui/terminal/tui/InputField.tsx +62 -0
- package/packages/src/interfaces/ui/terminal/tui/InteractiveTUI.tsx +537 -0
- package/packages/src/interfaces/ui/terminal/tui/MessageArea.tsx +107 -0
- package/packages/src/interfaces/ui/terminal/tui/MessageStore.tsx +240 -0
- package/packages/src/interfaces/ui/terminal/tui/StatusBar.tsx +54 -0
- package/packages/src/interfaces/ui/terminal/tui/commands.ts +438 -0
- package/packages/src/interfaces/ui/terminal/tui/components/InteractiveElements.tsx +584 -0
- package/packages/src/interfaces/ui/terminal/tui/components/MultilineInput.tsx +614 -0
- package/packages/src/interfaces/ui/terminal/tui/components/PaneManager.tsx +333 -0
- package/packages/src/interfaces/ui/terminal/tui/components/Sidebar.tsx +604 -0
- package/packages/src/interfaces/ui/terminal/tui/components/index.ts +118 -0
- package/packages/src/interfaces/ui/terminal/tui/console.ts +49 -0
- package/packages/src/interfaces/ui/terminal/tui/index.ts +90 -0
- package/packages/src/interfaces/ui/terminal/tui/run.tsx +42 -0
- package/packages/src/interfaces/ui/terminal/tui/spinner.ts +69 -0
- package/packages/src/interfaces/ui/terminal/tui/tui-app.tsx +390 -0
- package/packages/src/interfaces/ui/terminal/tui/tui-footer.ts +422 -0
- package/packages/src/interfaces/ui/terminal/tui/types.ts +186 -0
- package/packages/src/interfaces/ui/terminal/tui/useInputHandler.ts +104 -0
- package/packages/src/interfaces/ui/terminal/tui/useNativeInput.ts +239 -0
- package/packages/src/lmdb.db +0 -0
- package/packages/src/lmdb.db-lock +0 -0
- package/packages/src/native/index.ts +2345 -0
- package/packages/src/teammates/index.ts +982 -0
- package/packages/src/types/index.ts +722 -0
- package/dist/cli.js +0 -148
- package/dist/index-0pkak453.js +0 -136
- package/dist/index-0qd0x8b4.js +0 -110
- package/dist/index-0x3kprq6.js +0 -240
- package/dist/index-1eawy937.js +0 -308
- package/dist/index-24m2aygy.js +0 -240
- package/dist/index-29xcjnne.js +0 -280
- package/dist/index-2avyytn5.js +0 -349
- package/dist/index-4ms367ey.js +0 -136
- package/dist/index-4w2t3b0m.js +0 -240
- package/dist/index-4xfgd8nz.js +0 -261
- package/dist/index-5acjp9gc.js +0 -157
- package/dist/index-5s15hr56.js +0 -136
- package/dist/index-6e4wf341.js +0 -349
- package/dist/index-6fvnkedw.js +0 -240
- package/dist/index-6rqpmd4g.js +0 -128
- package/dist/index-77ckwnbm.js +0 -280
- package/dist/index-9knxy49k.js +0 -128
- package/dist/index-9zrnw4zx.js +0 -128
- package/dist/index-bk21w99v.js +0 -280
- package/dist/index-c41n76fv.js +0 -240
- package/dist/index-cb4ppjdt.js +0 -255
- package/dist/index-cfb2edt6.js +0 -240
- package/dist/index-cmfa38hh.js +0 -308
- package/dist/index-datjz8q1.js +0 -257
- package/dist/index-eadf4wvn.js +0 -240
- package/dist/index-em5k0m3z.js +0 -345
- package/dist/index-gh8r333a.js +0 -110
- package/dist/index-gkx6k2tr.js +0 -261
- package/dist/index-h5cabfks.js +0 -155
- package/dist/index-hcrpwyy3.js +0 -261
- package/dist/index-hk7fwwa8.js +0 -257
- package/dist/index-jb8cw7f8.js +0 -136
- package/dist/index-kbyw4th1.js +0 -347
- package/dist/index-kgj5gqnm.js +0 -345
- package/dist/index-mdf6xp1z.js +0 -255
- package/dist/index-mrhv8kvc.js +0 -280
- package/dist/index-mt4743dd.js +0 -161
- package/dist/index-qnwsg97q.js +0 -240
- package/dist/index-qwdy6x44.js +0 -261
- package/dist/index-rmj77261.js +0 -157
- package/dist/index-sbbw1a61.js +0 -349
- package/dist/index-svy5bcpn.js +0 -345
- package/dist/index-tvmy7tm9.js +0 -261
- package/dist/index-tzz4vzkj.js +0 -312
- package/dist/index-vz80zmhe.js +0 -110
- package/dist/index-wed2fk67.js +0 -240
- package/dist/index-wksgzz8e.js +0 -280
- package/dist/index-wn2m4wma.js +0 -240
- package/dist/index-xha05vjc.js +0 -257
- package/dist/index-yc6eh8p8.js +0 -136
- package/dist/index-ycjxx9ft.js +0 -240
- package/dist/index-z0gzd0fc.js +0 -110
- package/dist/index-z8cwtf8j.js +0 -240
- package/dist/index-zy5mtt00.js +0 -128
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coder - AI-powered terminal coding assistant
|
|
3
|
+
* Main entry point
|
|
4
|
+
*/
|
|
5
|
+
export * from "./types/index.js";
|
|
6
|
+
export { createMessageStream, calculateCost, buildSystemPrompt, buildCachedMessages, calculateCacheMetrics, } from "./core/api-client.js";
|
|
7
|
+
export type { StreamOptionsType as StreamOptions, StreamResultType as StreamResult } from "./core/api-client.js";
|
|
8
|
+
export { agentLoop, formatCost, formatMetrics, formatCostBrief, formatCacheMetrics, } from "./core/agent-loop.js";
|
|
9
|
+
export type { AgentLoopOptions, AgentLoopResult } from "./core/agent-loop.js";
|
|
10
|
+
export { PermissionManager, assessRiskLevel, generateDescription, isReadOnlyTool, isFileEditTool, isSystemTool, TOOL_CATEGORIES, } from "./core/permissions.js";
|
|
11
|
+
export { SessionStore, formatSessionSummary, printSessionsList, } from "./core/session-store.js";
|
|
12
|
+
export type { SessionMetadata, SessionMessage, SessionToolUse, SessionMetrics, SessionContext, SessionEntry, SessionSummary, LoadedSession, } from "./core/session-store.js";
|
|
13
|
+
export * from "./ecosystem/tools/index.js";
|
|
14
|
+
export { MCPClientImpl } from "./interfaces/mcp/client.js";
|
|
15
|
+
export { MCPClientImpl as MCPClient } from "./interfaces/mcp/client.js";
|
|
16
|
+
export * from "./ecosystem/hooks/index.js";
|
|
17
|
+
export * from "./ecosystem/skills/index.js";
|
|
18
|
+
export * from "./teammates/index.js";
|
|
19
|
+
export * from "./core/cognitive-security/index.js";
|
|
20
|
+
export { Spinner, getSpinner, resetSpinner, defaultFrames, dotFrames, arrowFrames, defaultTips, toolTips, streamingTips, type SpinnerOptions, type SpinnerColor, type SpinnerState, LoadingState, getLoadingState, setLoading, stopLoading, updateLoading, startTool, endTool, type LoadingStateEvents, type ProgressUpdate, type ProgressCallback, createProgressCallback, formatElapsedTime, formatLoadingMessage, } from "./interfaces/ui/index.js";
|
|
21
|
+
export * from "./native/index.js";
|
|
22
|
+
export { estimateTokens, estimateMessagesTokens, compactMessages, needsCompaction, summarizeMessages, summarizeWithLLM, getCompactionStats, } from "./core/context-compaction.js";
|
|
23
|
+
export type { CompactionOptions, CompactionResult, LLMSummarizationOptions, } from "./core/context-compaction.js";
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../packages/src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,iBAAiB,IAAI,aAAa,EAAE,gBAAgB,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG9E,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,yBAAyB,CAAC;AAGjC,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGxE,cAAc,4BAA4B,CAAC;AAG3C,cAAc,6BAA6B,CAAC;AAG5C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,oCAAoC,CAAC;AAGnD,OAAO,EACL,OAAO,EACP,UAAU,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,EACR,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,SAAS,EACT,OAAO,EACP,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,cAAc,mBAAmB,CAAC;AAGlC,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Coder - AI-powered terminal coding assistant
|
|
3
|
+
* Main entry point
|
|
4
|
+
*/
|
|
5
|
+
// Types
|
|
6
|
+
export * from "./types/index.js";
|
|
7
|
+
// Core
|
|
8
|
+
export { createMessageStream, calculateCost, buildSystemPrompt, buildCachedMessages, calculateCacheMetrics, } from "./core/api-client.js";
|
|
9
|
+
export { agentLoop, formatCost, formatMetrics, formatCostBrief, formatCacheMetrics, } from "./core/agent-loop.js";
|
|
10
|
+
// Permissions (types are re-exported via ./types/index.js)
|
|
11
|
+
export { PermissionManager, assessRiskLevel, generateDescription, isReadOnlyTool, isFileEditTool, isSystemTool, TOOL_CATEGORIES, } from "./core/permissions.js";
|
|
12
|
+
// Session Store
|
|
13
|
+
export { SessionStore, formatSessionSummary, printSessionsList, } from "./core/session-store.js";
|
|
14
|
+
// Tools
|
|
15
|
+
export * from "./ecosystem/tools/index.js";
|
|
16
|
+
// MCP (renamed to avoid conflict with MCPClient type)
|
|
17
|
+
export { MCPClientImpl } from "./interfaces/mcp/client.js";
|
|
18
|
+
export { MCPClientImpl as MCPClient } from "./interfaces/mcp/client.js";
|
|
19
|
+
// Hooks
|
|
20
|
+
export * from "./ecosystem/hooks/index.js";
|
|
21
|
+
// Skills
|
|
22
|
+
export * from "./ecosystem/skills/index.js";
|
|
23
|
+
// Teammates
|
|
24
|
+
export * from "./teammates/index.js";
|
|
25
|
+
// Cognitive Security
|
|
26
|
+
export * from "./core/cognitive-security/index.js";
|
|
27
|
+
// UI Components (exclude types that are already in types/index.js)
|
|
28
|
+
export { Spinner, getSpinner, resetSpinner, defaultFrames, dotFrames, arrowFrames, defaultTips, toolTips, streamingTips, LoadingState, getLoadingState, setLoading, stopLoading, updateLoading, startTool, endTool, createProgressCallback, formatElapsedTime, formatLoadingMessage, } from "./interfaces/ui/index.js";
|
|
29
|
+
// Native module (Rust)
|
|
30
|
+
export * from "./native/index.js";
|
|
31
|
+
// Context Compaction
|
|
32
|
+
export { estimateTokens, estimateMessagesTokens, compactMessages, needsCompaction, summarizeMessages, summarizeWithLLM, getCompactionStats, } from "./core/context-compaction.js";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Client - Model Context Protocol implementation
|
|
3
|
+
*/
|
|
4
|
+
import type { MCPServerConfig, MCPTool, ToolResult } from "../../types/index.js";
|
|
5
|
+
export interface MCPClientOptions {
|
|
6
|
+
name: string;
|
|
7
|
+
config: MCPServerConfig;
|
|
8
|
+
onLog?: (message: string) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare class MCPClientImpl {
|
|
11
|
+
static readonly MCPClient: typeof MCPClientImpl;
|
|
12
|
+
name: string;
|
|
13
|
+
config: MCPServerConfig;
|
|
14
|
+
connected: boolean;
|
|
15
|
+
tools: MCPTool[];
|
|
16
|
+
private process;
|
|
17
|
+
private websocket;
|
|
18
|
+
private requestId;
|
|
19
|
+
private pendingRequests;
|
|
20
|
+
private buffer;
|
|
21
|
+
private onLog?;
|
|
22
|
+
constructor(options: MCPClientOptions);
|
|
23
|
+
connect(): Promise<void>;
|
|
24
|
+
private connectStdio;
|
|
25
|
+
private connectHttp;
|
|
26
|
+
private connectWebSocket;
|
|
27
|
+
private initialize;
|
|
28
|
+
private loadTools;
|
|
29
|
+
callTool(name: string, args: Record<string, unknown>): Promise<ToolResult>;
|
|
30
|
+
request(method: string, params: unknown): Promise<unknown>;
|
|
31
|
+
notify(method: string, params: unknown): void;
|
|
32
|
+
private handleData;
|
|
33
|
+
close(): Promise<void>;
|
|
34
|
+
private log;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create MCP clients from config
|
|
38
|
+
*/
|
|
39
|
+
export declare function createMCPClients(servers: Record<string, MCPServerConfig>, onLog?: (message: string) => void): Promise<Map<string, MCPClientImpl>>;
|
|
40
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../packages/src/interfaces/mcp/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EAKP,UAAU,EACX,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,qBAAa,aAAa;IAExB,MAAM,CAAC,QAAQ,CAAC,SAAS,uBAAiB;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,UAAS;IAClB,KAAK,EAAE,OAAO,EAAE,CAAM;IAEtB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,eAAe,CAMnB;IACJ,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAAC,CAA4B;gBAE9B,OAAO,EAAE,gBAAgB;IAM/B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAUhB,YAAY;YAoCZ,WAAW;YA6CX,gBAAgB;YA+DhB,UAAU;YAwBV,SAAS;IAsBjB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAgB1E,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoChE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAiB7C,OAAO,CAAC,UAAU;IA6BZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,OAAO,CAAC,GAAG;CAGZ;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACxC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAkBrC"}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Client - Model Context Protocol implementation
|
|
3
|
+
*/
|
|
4
|
+
import { spawn } from "child_process";
|
|
5
|
+
import WebSocket from "ws";
|
|
6
|
+
export class MCPClientImpl {
|
|
7
|
+
// Alias for backwards compatibility
|
|
8
|
+
static MCPClient = MCPClientImpl;
|
|
9
|
+
name;
|
|
10
|
+
config;
|
|
11
|
+
connected = false;
|
|
12
|
+
tools = [];
|
|
13
|
+
process = null;
|
|
14
|
+
websocket = null;
|
|
15
|
+
requestId = 0;
|
|
16
|
+
pendingRequests = new Map();
|
|
17
|
+
buffer = "";
|
|
18
|
+
onLog;
|
|
19
|
+
constructor(options) {
|
|
20
|
+
this.name = options.name;
|
|
21
|
+
this.config = options.config;
|
|
22
|
+
this.onLog = options.onLog;
|
|
23
|
+
}
|
|
24
|
+
async connect() {
|
|
25
|
+
if (this.config.type === "stdio") {
|
|
26
|
+
await this.connectStdio();
|
|
27
|
+
}
|
|
28
|
+
else if (this.config.type === "http" || this.config.type === "sse") {
|
|
29
|
+
await this.connectHttp();
|
|
30
|
+
}
|
|
31
|
+
else if (this.config.type === "ws") {
|
|
32
|
+
await this.connectWebSocket();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
async connectStdio() {
|
|
36
|
+
if (!this.config.command) {
|
|
37
|
+
throw new Error("No command specified for stdio transport");
|
|
38
|
+
}
|
|
39
|
+
this.log(`Starting stdio transport: ${this.config.command}`);
|
|
40
|
+
this.process = spawn(this.config.command, this.config.args || [], {
|
|
41
|
+
env: { ...process.env, ...this.config.env },
|
|
42
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
43
|
+
});
|
|
44
|
+
this.process.stdout?.on("data", (data) => {
|
|
45
|
+
this.handleData(data.toString());
|
|
46
|
+
});
|
|
47
|
+
this.process.stderr?.on("data", (data) => {
|
|
48
|
+
this.log(`stderr: ${data.toString()}`);
|
|
49
|
+
});
|
|
50
|
+
this.process.on("error", (error) => {
|
|
51
|
+
this.log(`Process error: ${error.message}`);
|
|
52
|
+
});
|
|
53
|
+
this.process.on("close", (code) => {
|
|
54
|
+
this.log(`Process closed with code ${code}`);
|
|
55
|
+
this.connected = false;
|
|
56
|
+
});
|
|
57
|
+
// Wait for process to start
|
|
58
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
59
|
+
// Initialize connection
|
|
60
|
+
await this.initialize();
|
|
61
|
+
}
|
|
62
|
+
async connectHttp() {
|
|
63
|
+
if (!this.config.url) {
|
|
64
|
+
throw new Error("No URL specified for HTTP transport");
|
|
65
|
+
}
|
|
66
|
+
this.log(`Starting HTTP transport: ${this.config.url}`);
|
|
67
|
+
// For HTTP transport, we just validate the endpoint
|
|
68
|
+
try {
|
|
69
|
+
const response = await fetch(this.config.url, {
|
|
70
|
+
method: "POST",
|
|
71
|
+
headers: {
|
|
72
|
+
"Content-Type": "application/json",
|
|
73
|
+
...this.config.headers,
|
|
74
|
+
},
|
|
75
|
+
body: JSON.stringify({
|
|
76
|
+
jsonrpc: "2.0",
|
|
77
|
+
id: 1,
|
|
78
|
+
method: "initialize",
|
|
79
|
+
params: {
|
|
80
|
+
protocolVersion: "2024-11-05",
|
|
81
|
+
capabilities: {},
|
|
82
|
+
clientInfo: {
|
|
83
|
+
name: "coder",
|
|
84
|
+
version: "0.1.0",
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
}),
|
|
88
|
+
});
|
|
89
|
+
if (!response.ok) {
|
|
90
|
+
throw new Error(`HTTP error: ${response.status}`);
|
|
91
|
+
}
|
|
92
|
+
const result = (await response.json());
|
|
93
|
+
this.connected = true;
|
|
94
|
+
// Get tools
|
|
95
|
+
await this.loadTools();
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
99
|
+
throw new Error(`Failed to connect to HTTP server: ${errorMessage}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async connectWebSocket() {
|
|
103
|
+
if (!this.config.url) {
|
|
104
|
+
throw new Error("No URL specified for WebSocket transport");
|
|
105
|
+
}
|
|
106
|
+
const url = this.config.url;
|
|
107
|
+
this.log(`Starting WebSocket transport: ${url}`);
|
|
108
|
+
return new Promise((resolve, reject) => {
|
|
109
|
+
const headers = {
|
|
110
|
+
...this.config.headers,
|
|
111
|
+
};
|
|
112
|
+
const ws = new WebSocket(url, {
|
|
113
|
+
headers,
|
|
114
|
+
handshakeTimeout: this.config.timeout || 30000,
|
|
115
|
+
});
|
|
116
|
+
ws.on("open", () => {
|
|
117
|
+
this.log("WebSocket connection established");
|
|
118
|
+
this.websocket = ws;
|
|
119
|
+
this.connected = true;
|
|
120
|
+
// Initialize the MCP connection
|
|
121
|
+
this.initialize()
|
|
122
|
+
.then(() => resolve())
|
|
123
|
+
.catch((error) => {
|
|
124
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
125
|
+
this.log(`Initialization failed: ${errorMessage}`);
|
|
126
|
+
reject(error);
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
ws.on("message", (data, isBinary) => {
|
|
130
|
+
const message = isBinary ? data.toString() : data.toString();
|
|
131
|
+
this.handleData(message);
|
|
132
|
+
});
|
|
133
|
+
ws.on("error", (error) => {
|
|
134
|
+
this.log(`WebSocket error: ${error.message}`);
|
|
135
|
+
if (!this.connected) {
|
|
136
|
+
reject(new Error(`WebSocket connection failed: ${error.message}`));
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
ws.on("close", (code, reason) => {
|
|
140
|
+
this.log(`WebSocket closed: code=${code}, reason=${reason.toString()}`);
|
|
141
|
+
this.connected = false;
|
|
142
|
+
this.websocket = null;
|
|
143
|
+
// Reject any pending requests
|
|
144
|
+
for (const [id, pending] of this.pendingRequests) {
|
|
145
|
+
this.pendingRequests.delete(id);
|
|
146
|
+
pending.reject(new Error(`WebSocket closed: ${reason.toString()}`));
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
ws.on("ping", () => {
|
|
150
|
+
ws.pong();
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
async initialize() {
|
|
155
|
+
const result = await this.request("initialize", {
|
|
156
|
+
protocolVersion: "2024-11-05",
|
|
157
|
+
capabilities: {
|
|
158
|
+
tools: {},
|
|
159
|
+
resources: {},
|
|
160
|
+
prompts: {},
|
|
161
|
+
},
|
|
162
|
+
clientInfo: {
|
|
163
|
+
name: "coder",
|
|
164
|
+
version: "0.1.0",
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
this.log(`Initialized with: ${JSON.stringify(result)}`);
|
|
168
|
+
this.connected = true;
|
|
169
|
+
// Send initialized notification
|
|
170
|
+
this.notify("notifications/initialized", {});
|
|
171
|
+
// Load tools
|
|
172
|
+
await this.loadTools();
|
|
173
|
+
}
|
|
174
|
+
async loadTools() {
|
|
175
|
+
try {
|
|
176
|
+
const result = (await this.request("tools/list", {}));
|
|
177
|
+
this.tools = result.tools.map((tool) => ({
|
|
178
|
+
name: tool.name,
|
|
179
|
+
description: tool.description,
|
|
180
|
+
inputSchema: tool.inputSchema,
|
|
181
|
+
}));
|
|
182
|
+
this.log(`Loaded ${this.tools.length} tools`);
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
this.log(`Failed to load tools: ${error}`);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
async callTool(name, args) {
|
|
189
|
+
const result = (await this.request("tools/call", {
|
|
190
|
+
name,
|
|
191
|
+
arguments: args,
|
|
192
|
+
}));
|
|
193
|
+
const text = result.content
|
|
194
|
+
.filter((c) => c.type === "text")
|
|
195
|
+
.map((c) => c.text || "")
|
|
196
|
+
.join("\n");
|
|
197
|
+
return {
|
|
198
|
+
content: text,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
async request(method, params) {
|
|
202
|
+
const id = ++this.requestId;
|
|
203
|
+
const request = {
|
|
204
|
+
jsonrpc: "2.0",
|
|
205
|
+
id,
|
|
206
|
+
method,
|
|
207
|
+
params,
|
|
208
|
+
};
|
|
209
|
+
return new Promise((resolve, reject) => {
|
|
210
|
+
this.pendingRequests.set(id, { resolve, reject });
|
|
211
|
+
const message = JSON.stringify(request);
|
|
212
|
+
// Send via WebSocket or stdio depending on transport type
|
|
213
|
+
if (this.websocket && this.websocket.readyState === WebSocket.OPEN) {
|
|
214
|
+
this.websocket.send(message);
|
|
215
|
+
}
|
|
216
|
+
else if (this.process?.stdin?.writable) {
|
|
217
|
+
this.process.stdin.write(message + "\n");
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
this.pendingRequests.delete(id);
|
|
221
|
+
reject(new Error("No active connection to send request"));
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
// Timeout
|
|
225
|
+
setTimeout(() => {
|
|
226
|
+
if (this.pendingRequests.has(id)) {
|
|
227
|
+
this.pendingRequests.delete(id);
|
|
228
|
+
reject(new Error(`Request timeout for ${method}`));
|
|
229
|
+
}
|
|
230
|
+
}, this.config.timeout || 120000);
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
notify(method, params) {
|
|
234
|
+
const notification = {
|
|
235
|
+
jsonrpc: "2.0",
|
|
236
|
+
method,
|
|
237
|
+
params,
|
|
238
|
+
};
|
|
239
|
+
const message = JSON.stringify(notification);
|
|
240
|
+
// Send via WebSocket or stdio depending on transport type
|
|
241
|
+
if (this.websocket && this.websocket.readyState === WebSocket.OPEN) {
|
|
242
|
+
this.websocket.send(message);
|
|
243
|
+
}
|
|
244
|
+
else if (this.process?.stdin?.writable) {
|
|
245
|
+
this.process.stdin.write(message + "\n");
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
handleData(data) {
|
|
249
|
+
this.buffer += data;
|
|
250
|
+
const lines = this.buffer.split("\n");
|
|
251
|
+
this.buffer = lines.pop() || "";
|
|
252
|
+
for (const line of lines) {
|
|
253
|
+
if (!line.trim())
|
|
254
|
+
continue;
|
|
255
|
+
try {
|
|
256
|
+
const response = JSON.parse(line);
|
|
257
|
+
if (response.id !== undefined) {
|
|
258
|
+
const pending = this.pendingRequests.get(response.id);
|
|
259
|
+
if (pending) {
|
|
260
|
+
this.pendingRequests.delete(response.id);
|
|
261
|
+
if (response.error) {
|
|
262
|
+
pending.reject(new Error(response.error.message));
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
pending.resolve(response.result);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
this.log(`Parse error: ${error}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
async close() {
|
|
276
|
+
if (this.websocket) {
|
|
277
|
+
this.websocket.close();
|
|
278
|
+
this.websocket = null;
|
|
279
|
+
}
|
|
280
|
+
if (this.process) {
|
|
281
|
+
this.process.kill();
|
|
282
|
+
this.process = null;
|
|
283
|
+
}
|
|
284
|
+
this.connected = false;
|
|
285
|
+
}
|
|
286
|
+
log(message) {
|
|
287
|
+
this.onLog?.(`[MCP:${this.name}] ${message}`);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Create MCP clients from config
|
|
292
|
+
*/
|
|
293
|
+
export async function createMCPClients(servers, onLog) {
|
|
294
|
+
const clients = new Map();
|
|
295
|
+
for (const [name, config] of Object.entries(servers)) {
|
|
296
|
+
if (config.disabled)
|
|
297
|
+
continue;
|
|
298
|
+
const client = new MCPClientImpl({ name, config, onLog });
|
|
299
|
+
try {
|
|
300
|
+
await client.connect();
|
|
301
|
+
clients.set(name, client);
|
|
302
|
+
}
|
|
303
|
+
catch (error) {
|
|
304
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
305
|
+
onLog?.(`[MCP:${name}] Failed to connect: ${errorMessage}`);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return clients;
|
|
309
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI Components for Coder CLI
|
|
3
|
+
*/
|
|
4
|
+
export { Spinner, getSpinner, resetSpinner, defaultFrames, dotFrames, arrowFrames, defaultTips, toolTips, streamingTips, type SpinnerOptions, type SpinnerColor, type SpinnerState, } from "./spinner.js";
|
|
5
|
+
export { LoadingState, getLoadingState, setLoading, stopLoading, updateLoading, startTool, endTool, type LoadingPhase, type LoadingStateData, type LoadingStateEvents, } from "./terminal/shared/loading-state.js";
|
|
6
|
+
export { VERSION, BUILD_TIME, renderStatusLine, renderCompactStatusLine, renderMinimalStatusLine, renderFooterStatus, renderAutoCompactWarning, calculateContextInfo, formatPermissionMode, formatTokenCount, formatContextPercent, getContextWindow, shouldShowAutoCompactWarning, getModelDisplayName, getPermissionModeDisplay, type StatusLineOptions, type ContextInfo, } from "./terminal/shared/status-line.js";
|
|
7
|
+
export { TUIFooter, getTUIFooter, enableTUIFooter, disableTUIFooter, renderTUIFooter, clearTUIFooter, ANSI, type TUIFooterOptions, type TUIFooterState, } from "./terminal/tui/tui-footer.js";
|
|
8
|
+
export { createTUIApp, type TUIAppProps, type TUIAppHandle, type Message as TUIMessage, } from "./terminal/tui/tui-app.js";
|
|
9
|
+
export { default as TUIApp } from "./terminal/tui/tui-app.js";
|
|
10
|
+
/**
|
|
11
|
+
* Progress update for tool execution
|
|
12
|
+
*/
|
|
13
|
+
export interface ProgressUpdate {
|
|
14
|
+
toolName: string;
|
|
15
|
+
status: "pending" | "running" | "complete" | "error";
|
|
16
|
+
message?: string;
|
|
17
|
+
progress?: number;
|
|
18
|
+
timestamp: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Progress callback type for tool context
|
|
22
|
+
*/
|
|
23
|
+
export type ProgressCallback = (update: ProgressUpdate) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Create a progress callback for a specific tool
|
|
26
|
+
*/
|
|
27
|
+
export declare function createProgressCallback(toolName: string, onProgress?: (message: string) => void): ProgressCallback;
|
|
28
|
+
/**
|
|
29
|
+
* Format elapsed time for display
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatElapsedTime(ms: number): string;
|
|
32
|
+
/**
|
|
33
|
+
* Format a loading message with optional phase
|
|
34
|
+
*/
|
|
35
|
+
export declare function formatLoadingMessage(phase: string, message?: string, elapsedTime?: number): string;
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/src/interfaces/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,OAAO,EACP,UAAU,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,EACR,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,SAAS,EACT,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,IAAI,EACJ,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,OAAO,IAAI,UAAU,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAM9D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AAEhE;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,gBAAgB,CAOlB;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAoBpD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAYR"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI Components for Coder CLI
|
|
3
|
+
*/
|
|
4
|
+
// Spinner
|
|
5
|
+
export { Spinner, getSpinner, resetSpinner, defaultFrames, dotFrames, arrowFrames, defaultTips, toolTips, streamingTips, } from "./spinner.js";
|
|
6
|
+
// Loading State (from shared)
|
|
7
|
+
export { LoadingState, getLoadingState, setLoading, stopLoading, updateLoading, startTool, endTool, } from "./terminal/shared/loading-state.js";
|
|
8
|
+
// Status Line (from shared)
|
|
9
|
+
export { VERSION, BUILD_TIME, renderStatusLine, renderCompactStatusLine, renderMinimalStatusLine, renderFooterStatus, renderAutoCompactWarning, calculateContextInfo, formatPermissionMode, formatTokenCount, formatContextPercent, getContextWindow, shouldShowAutoCompactWarning, getModelDisplayName, getPermissionModeDisplay, } from "./terminal/shared/status-line.js";
|
|
10
|
+
// TUI Footer (from tui)
|
|
11
|
+
export { TUIFooter, getTUIFooter, enableTUIFooter, disableTUIFooter, renderTUIFooter, clearTUIFooter, ANSI, } from "./terminal/tui/tui-footer.js";
|
|
12
|
+
// TUI App (Ink-based, from tui)
|
|
13
|
+
export { createTUIApp, } from "./terminal/tui/tui-app.js";
|
|
14
|
+
export { default as TUIApp } from "./terminal/tui/tui-app.js";
|
|
15
|
+
/**
|
|
16
|
+
* Create a progress callback for a specific tool
|
|
17
|
+
*/
|
|
18
|
+
export function createProgressCallback(toolName, onProgress) {
|
|
19
|
+
return (update) => {
|
|
20
|
+
if (onProgress) {
|
|
21
|
+
const message = update.message || `${update.toolName}: ${update.status}`;
|
|
22
|
+
onProgress(message);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
// ============================================
|
|
27
|
+
// UTILITY FUNCTIONS
|
|
28
|
+
// ============================================
|
|
29
|
+
/**
|
|
30
|
+
* Format elapsed time for display
|
|
31
|
+
*/
|
|
32
|
+
export function formatElapsedTime(ms) {
|
|
33
|
+
if (ms < 1000) {
|
|
34
|
+
return `${ms}ms`;
|
|
35
|
+
}
|
|
36
|
+
const seconds = Math.floor(ms / 1000);
|
|
37
|
+
if (seconds < 60) {
|
|
38
|
+
return `${seconds}s`;
|
|
39
|
+
}
|
|
40
|
+
const minutes = Math.floor(seconds / 60);
|
|
41
|
+
const remainingSeconds = seconds % 60;
|
|
42
|
+
if (minutes < 60) {
|
|
43
|
+
return `${minutes}m${remainingSeconds}s`;
|
|
44
|
+
}
|
|
45
|
+
const hours = Math.floor(minutes / 60);
|
|
46
|
+
const remainingMinutes = minutes % 60;
|
|
47
|
+
return `${hours}h${remainingMinutes}m`;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Format a loading message with optional phase
|
|
51
|
+
*/
|
|
52
|
+
export function formatLoadingMessage(phase, message, elapsedTime) {
|
|
53
|
+
let result = phase;
|
|
54
|
+
if (message) {
|
|
55
|
+
result = `${result}: ${message}`;
|
|
56
|
+
}
|
|
57
|
+
if (elapsedTime !== undefined && elapsedTime > 0) {
|
|
58
|
+
result = `${result} [${formatElapsedTime(elapsedTime)}]`;
|
|
59
|
+
}
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spinner Component for Coder CLI
|
|
3
|
+
*
|
|
4
|
+
* Re-exports spinner frames from tui/spinner.ts for backward compatibility.
|
|
5
|
+
*/
|
|
6
|
+
import { spinnerFrames, dotSpinnerFrames, asciiSpinnerFrames, arrowSpinnerFrames, simpleDotFrames } from "./terminal/tui/spinner.js";
|
|
7
|
+
export { spinnerFrames, dotSpinnerFrames, asciiSpinnerFrames, arrowSpinnerFrames, simpleDotFrames, };
|
|
8
|
+
export declare const defaultFrames: readonly ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
9
|
+
export declare const dotFrames: readonly [". ", ".. ", "...", " "];
|
|
10
|
+
export declare const arrowFrames: readonly ["←", "↖", "↑", "↗", "→", "↘", "↓", "↙"];
|
|
11
|
+
export interface SpinnerOptions {
|
|
12
|
+
/** Tip text shown below spinner */
|
|
13
|
+
tip?: string;
|
|
14
|
+
/** Color override */
|
|
15
|
+
color?: SpinnerColor;
|
|
16
|
+
/** Show elapsed time */
|
|
17
|
+
showTime?: boolean;
|
|
18
|
+
/** Tool activity indicator */
|
|
19
|
+
hasActiveTools?: boolean;
|
|
20
|
+
/** Suffix text after spinner */
|
|
21
|
+
suffix?: string;
|
|
22
|
+
/** Verbose mode - show more details */
|
|
23
|
+
verbose?: boolean;
|
|
24
|
+
/** Spinner text prefix */
|
|
25
|
+
prefix?: string;
|
|
26
|
+
/** Disable spinner (for --no-progress) */
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export type SpinnerColor = "cyan" | "green" | "yellow" | "blue" | "magenta" | "red" | "white" | "gray";
|
|
30
|
+
export interface SpinnerState {
|
|
31
|
+
isSpinning: boolean;
|
|
32
|
+
startTime: number;
|
|
33
|
+
totalPausedMs: number;
|
|
34
|
+
pauseStartTime: number | null;
|
|
35
|
+
currentTip: string;
|
|
36
|
+
responseLength: number;
|
|
37
|
+
}
|
|
38
|
+
/** Rotating tips shown during loading */
|
|
39
|
+
export declare const defaultTips: string[];
|
|
40
|
+
/** Tips shown during tool execution */
|
|
41
|
+
export declare const toolTips: string[];
|
|
42
|
+
/** Tips shown during API streaming */
|
|
43
|
+
export declare const streamingTips: string[];
|
|
44
|
+
export declare class Spinner {
|
|
45
|
+
private ora;
|
|
46
|
+
private state;
|
|
47
|
+
private options;
|
|
48
|
+
private tipInterval;
|
|
49
|
+
private tipIndex;
|
|
50
|
+
private customTips;
|
|
51
|
+
constructor(options?: SpinnerOptions);
|
|
52
|
+
/**
|
|
53
|
+
* Start the spinner
|
|
54
|
+
*/
|
|
55
|
+
start(text?: string): this;
|
|
56
|
+
/**
|
|
57
|
+
* Stop the spinner
|
|
58
|
+
*/
|
|
59
|
+
stop(options?: {
|
|
60
|
+
clear?: boolean;
|
|
61
|
+
text?: string;
|
|
62
|
+
symbol?: string;
|
|
63
|
+
}): this;
|
|
64
|
+
/**
|
|
65
|
+
* Stop with success message
|
|
66
|
+
*/
|
|
67
|
+
succeed(text?: string): this;
|
|
68
|
+
/**
|
|
69
|
+
* Stop with failure message
|
|
70
|
+
*/
|
|
71
|
+
fail(text?: string): this;
|
|
72
|
+
/**
|
|
73
|
+
* Stop with warning message
|
|
74
|
+
*/
|
|
75
|
+
warn(text?: string): this;
|
|
76
|
+
/**
|
|
77
|
+
* Stop with info message
|
|
78
|
+
*/
|
|
79
|
+
info(text?: string): this;
|
|
80
|
+
/**
|
|
81
|
+
* Update spinner text
|
|
82
|
+
*/
|
|
83
|
+
update(text: string): this;
|
|
84
|
+
/**
|
|
85
|
+
* Update the tip text (shown below main text)
|
|
86
|
+
*/
|
|
87
|
+
updateTip(tip: string): this;
|
|
88
|
+
/**
|
|
89
|
+
* Set custom tips for rotation
|
|
90
|
+
*/
|
|
91
|
+
setTips(tips: string[]): this;
|
|
92
|
+
/**
|
|
93
|
+
* Update response length (for streaming progress)
|
|
94
|
+
*/
|
|
95
|
+
updateResponseLength(length: number): this;
|
|
96
|
+
/**
|
|
97
|
+
* Set tool activity state
|
|
98
|
+
*/
|
|
99
|
+
setToolActivity(active: boolean): this;
|
|
100
|
+
/**
|
|
101
|
+
* Pause spinner (for user input, etc.)
|
|
102
|
+
*/
|
|
103
|
+
pause(): this;
|
|
104
|
+
/**
|
|
105
|
+
* Resume spinner after pause
|
|
106
|
+
*/
|
|
107
|
+
resume(): this;
|
|
108
|
+
/**
|
|
109
|
+
* Get elapsed time in seconds (excluding pauses)
|
|
110
|
+
*/
|
|
111
|
+
getElapsedSeconds(): number;
|
|
112
|
+
/**
|
|
113
|
+
* Get current state
|
|
114
|
+
*/
|
|
115
|
+
getState(): SpinnerState;
|
|
116
|
+
/**
|
|
117
|
+
* Check if spinner is active
|
|
118
|
+
*/
|
|
119
|
+
isActive(): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Clear the spinner line
|
|
122
|
+
*/
|
|
123
|
+
clear(): this;
|
|
124
|
+
/**
|
|
125
|
+
* Render spinner frame manually (for non-TTY)
|
|
126
|
+
*/
|
|
127
|
+
renderFrame(): string;
|
|
128
|
+
private buildText;
|
|
129
|
+
private startTipRotation;
|
|
130
|
+
private stopTipRotation;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get or create global spinner instance
|
|
134
|
+
*/
|
|
135
|
+
export declare function getSpinner(options?: SpinnerOptions): Spinner;
|
|
136
|
+
/**
|
|
137
|
+
* Reset global spinner (for testing)
|
|
138
|
+
*/
|
|
139
|
+
export declare function resetSpinner(): void;
|
|
140
|
+
//# sourceMappingURL=spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../packages/src/interfaces/ui/spinner.ts"],"names":[],"mappings":"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"}
|