@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
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config Loader - Load Coder configuration files
|
|
3
|
+
*
|
|
4
|
+
* Loads from:
|
|
5
|
+
* 1. ~/.claude.json (MCP servers, project settings)
|
|
6
|
+
* 2. ~/.claude/settings.json (hooks, permissions)
|
|
7
|
+
* 3. ~/.claude/keybindings.json (keybindings)
|
|
8
|
+
* 4. .claude/settings.json (project-level overrides)
|
|
9
|
+
*/
|
|
10
|
+
import { readFile, access } from "fs/promises";
|
|
11
|
+
import { join } from "path";
|
|
12
|
+
// ============================================
|
|
13
|
+
// PATHS
|
|
14
|
+
// ============================================
|
|
15
|
+
const HOME = process.env.HOME || "";
|
|
16
|
+
const CLAUDE_DIR = join(HOME, ".claude");
|
|
17
|
+
export const CONFIG_PATHS = {
|
|
18
|
+
main: join(HOME, ".claude.json"),
|
|
19
|
+
settings: join(CLAUDE_DIR, "settings.json"),
|
|
20
|
+
keybindings: join(CLAUDE_DIR, "keybindings.json"),
|
|
21
|
+
projectSettings: (projectDir) => join(projectDir, ".claude", "settings.json"),
|
|
22
|
+
};
|
|
23
|
+
// ============================================
|
|
24
|
+
// HELPERS
|
|
25
|
+
// ============================================
|
|
26
|
+
async function fileExists(path) {
|
|
27
|
+
try {
|
|
28
|
+
await access(path);
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
async function loadJsonFile(path, defaultValue) {
|
|
36
|
+
try {
|
|
37
|
+
if (await fileExists(path)) {
|
|
38
|
+
const content = await readFile(path, "utf-8");
|
|
39
|
+
return { config: JSON.parse(content), loaded: true };
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
// File not readable or invalid JSON
|
|
44
|
+
}
|
|
45
|
+
return { config: defaultValue, loaded: false };
|
|
46
|
+
}
|
|
47
|
+
// ============================================
|
|
48
|
+
// LOADERS
|
|
49
|
+
// ============================================
|
|
50
|
+
/**
|
|
51
|
+
* Load main ~/.claude.json config
|
|
52
|
+
*/
|
|
53
|
+
export async function loadMainConfig() {
|
|
54
|
+
return loadJsonFile(CONFIG_PATHS.main, {});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Load settings from ~/.claude/settings.json
|
|
58
|
+
*/
|
|
59
|
+
export async function loadSettings() {
|
|
60
|
+
return loadJsonFile(CONFIG_PATHS.settings, {});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Load keybindings from ~/.claude/keybindings.json
|
|
64
|
+
*/
|
|
65
|
+
export async function loadKeybindings() {
|
|
66
|
+
return loadJsonFile(CONFIG_PATHS.keybindings, { bindings: [] });
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Load project-level settings
|
|
70
|
+
*/
|
|
71
|
+
export async function loadProjectSettings(projectDir) {
|
|
72
|
+
return loadJsonFile(CONFIG_PATHS.projectSettings(projectDir), {});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get project-specific config from main config
|
|
76
|
+
*/
|
|
77
|
+
export function getProjectConfig(mainConfig, projectDir) {
|
|
78
|
+
return mainConfig.projects?.[projectDir];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Load all configs at once
|
|
82
|
+
*/
|
|
83
|
+
export async function loadAllConfigs(projectDir = process.cwd()) {
|
|
84
|
+
const sources = [];
|
|
85
|
+
const { config: main, loaded: mainLoaded } = await loadMainConfig();
|
|
86
|
+
if (mainLoaded)
|
|
87
|
+
sources.push(CONFIG_PATHS.main);
|
|
88
|
+
const { config: settings, loaded: settingsLoaded } = await loadSettings();
|
|
89
|
+
if (settingsLoaded)
|
|
90
|
+
sources.push(CONFIG_PATHS.settings);
|
|
91
|
+
const { config: keybindings, loaded: kbLoaded } = await loadKeybindings();
|
|
92
|
+
if (kbLoaded)
|
|
93
|
+
sources.push(CONFIG_PATHS.keybindings);
|
|
94
|
+
const { config: projectSettings, loaded: projLoaded } = await loadProjectSettings(projectDir);
|
|
95
|
+
if (projLoaded)
|
|
96
|
+
sources.push(CONFIG_PATHS.projectSettings(projectDir));
|
|
97
|
+
return {
|
|
98
|
+
main,
|
|
99
|
+
settings,
|
|
100
|
+
keybindings,
|
|
101
|
+
projectSettings,
|
|
102
|
+
sources,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
// ============================================
|
|
106
|
+
// MERGED CONFIG
|
|
107
|
+
// ============================================
|
|
108
|
+
/**
|
|
109
|
+
* Get merged settings (global + project overrides)
|
|
110
|
+
*/
|
|
111
|
+
export function getMergedSettings(global, project) {
|
|
112
|
+
return {
|
|
113
|
+
hooks: { ...global.hooks, ...project.hooks },
|
|
114
|
+
permissions: {
|
|
115
|
+
...global.permissions,
|
|
116
|
+
...project.permissions,
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Get all MCP servers (global + project-specific)
|
|
122
|
+
*/
|
|
123
|
+
export function getAllMCPServers(mainConfig, projectDir) {
|
|
124
|
+
const servers = {};
|
|
125
|
+
// Global MCP servers
|
|
126
|
+
if (mainConfig.mcpServers) {
|
|
127
|
+
Object.assign(servers, mainConfig.mcpServers);
|
|
128
|
+
}
|
|
129
|
+
// Project-specific MCP servers
|
|
130
|
+
const projectConfig = getProjectConfig(mainConfig, projectDir);
|
|
131
|
+
if (projectConfig?.mcpServers) {
|
|
132
|
+
// Project servers can override global
|
|
133
|
+
Object.assign(servers, projectConfig.mcpServers);
|
|
134
|
+
}
|
|
135
|
+
return servers;
|
|
136
|
+
}
|
|
137
|
+
// Note: HookDefinition is imported at the top of the file
|
|
138
|
+
/**
|
|
139
|
+
* Get hooks for a specific event and tool
|
|
140
|
+
*/
|
|
141
|
+
export function getHooksForEvent(settings, event, toolName) {
|
|
142
|
+
const eventHooks = settings.hooks?.[event];
|
|
143
|
+
if (!eventHooks)
|
|
144
|
+
return [];
|
|
145
|
+
// Find matching hooks
|
|
146
|
+
for (const hookConfig of eventHooks) {
|
|
147
|
+
if (!hookConfig.matcher) {
|
|
148
|
+
// No matcher = matches all
|
|
149
|
+
return hookConfig.hooks;
|
|
150
|
+
}
|
|
151
|
+
// Check if tool name matches
|
|
152
|
+
if (toolName) {
|
|
153
|
+
const regex = new RegExp(hookConfig.matcher);
|
|
154
|
+
if (regex.test(toolName)) {
|
|
155
|
+
return hookConfig.hooks;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return [];
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Convert settings hooks to HookDefinitions for HookManager
|
|
163
|
+
*/
|
|
164
|
+
export function settingsToHookDefinitions(settings) {
|
|
165
|
+
const result = {};
|
|
166
|
+
if (!settings.hooks)
|
|
167
|
+
return result;
|
|
168
|
+
for (const [event, matcherConfigs] of Object.entries(settings.hooks)) {
|
|
169
|
+
const definitions = [];
|
|
170
|
+
const hookEvent = event;
|
|
171
|
+
for (const matcherConfig of matcherConfigs) {
|
|
172
|
+
for (const hook of matcherConfig.hooks) {
|
|
173
|
+
// Handle prompt-type hooks - they will be evaluated by LLM
|
|
174
|
+
if (hook.type === "prompt") {
|
|
175
|
+
definitions.push({
|
|
176
|
+
event: hookEvent,
|
|
177
|
+
command: "", // Not used for prompt hooks
|
|
178
|
+
prompt: hook.prompt || "",
|
|
179
|
+
timeout: hook.timeout || 30000,
|
|
180
|
+
enabled: true,
|
|
181
|
+
// Store matcher for runtime filtering
|
|
182
|
+
_matcher: matcherConfig.matcher,
|
|
183
|
+
});
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
definitions.push({
|
|
187
|
+
event: hookEvent,
|
|
188
|
+
command: hook.type === "command" ? hook.command || "" : "",
|
|
189
|
+
timeout: hook.timeout || 60000,
|
|
190
|
+
enabled: true,
|
|
191
|
+
// Store matcher for runtime filtering
|
|
192
|
+
_matcher: matcherConfig.matcher,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
if (definitions.length > 0) {
|
|
197
|
+
result[hookEvent] = definitions;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return result;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Get permission mode from settings
|
|
204
|
+
*/
|
|
205
|
+
export function getPermissionMode(settings) {
|
|
206
|
+
return settings.permissions?.defaultMode || "default";
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Get allowed tools from settings
|
|
210
|
+
*/
|
|
211
|
+
export function getAllowedTools(settings) {
|
|
212
|
+
return new Set(settings.permissions?.allowedTools || []);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Get disallowed tools from settings
|
|
216
|
+
*/
|
|
217
|
+
export function getDisallowedTools(settings) {
|
|
218
|
+
return new Set(settings.permissions?.disallowedTools || []);
|
|
219
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Compaction - Reduces context size while preserving important information
|
|
3
|
+
*
|
|
4
|
+
* When the context window fills up, we need to compact messages to continue.
|
|
5
|
+
* This module provides token estimation, summarization, and compaction utilities.
|
|
6
|
+
*/
|
|
7
|
+
import type { Message } from "../types/index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Estimate the number of tokens in a text string.
|
|
10
|
+
* Uses a simple heuristic of ~4 characters per token.
|
|
11
|
+
* This is a rough estimate; actual tokenization varies by model.
|
|
12
|
+
*/
|
|
13
|
+
export declare function estimateTokens(text: string): number;
|
|
14
|
+
/**
|
|
15
|
+
* Get total estimated tokens across all messages
|
|
16
|
+
*/
|
|
17
|
+
export declare function estimateMessagesTokens(messages: Message[]): number;
|
|
18
|
+
/**
|
|
19
|
+
* Summarize a range of messages into a single text.
|
|
20
|
+
* This is a simple implementation that concatenates and truncates.
|
|
21
|
+
* Can be enhanced later with LLM-based summarization.
|
|
22
|
+
*/
|
|
23
|
+
export declare function summarizeMessages(messages: Message[]): Promise<string>;
|
|
24
|
+
export interface LLMSummarizationOptions {
|
|
25
|
+
/** API key for the LLM */
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
/** Model to use for summarization (default: haiku) */
|
|
28
|
+
model?: string;
|
|
29
|
+
/** Base URL for API (for non-Anthropic providers) */
|
|
30
|
+
baseUrl?: string;
|
|
31
|
+
/** Timeout in ms (default: 30000) */
|
|
32
|
+
timeout?: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Summarize messages using an LLM for better context preservation.
|
|
36
|
+
* Falls back to simple truncation if LLM fails or no API key provided.
|
|
37
|
+
*/
|
|
38
|
+
export declare function summarizeWithLLM(messages: Message[], options?: LLMSummarizationOptions): Promise<string>;
|
|
39
|
+
export interface CompactionOptions {
|
|
40
|
+
/** Number of initial messages to keep unchanged */
|
|
41
|
+
keepFirst?: number;
|
|
42
|
+
/** Number of recent messages to keep unchanged */
|
|
43
|
+
keepLast?: number;
|
|
44
|
+
/** Whether to preserve tool_use/tool_result pairs */
|
|
45
|
+
preserveToolPairs?: boolean;
|
|
46
|
+
/** Use LLM for summarization (default: true if API key available) */
|
|
47
|
+
useLLMSummarization?: boolean;
|
|
48
|
+
/** API key for LLM summarization (falls back to env) */
|
|
49
|
+
apiKey?: string;
|
|
50
|
+
/** Base URL for API (for non-Anthropic providers like Z.AI) */
|
|
51
|
+
baseUrl?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface CompactionResult {
|
|
54
|
+
/** The compacted messages */
|
|
55
|
+
messages: Message[];
|
|
56
|
+
/** Number of messages removed */
|
|
57
|
+
messagesRemoved: number;
|
|
58
|
+
/** Estimated tokens before compaction */
|
|
59
|
+
tokensBefore: number;
|
|
60
|
+
/** Estimated tokens after compaction */
|
|
61
|
+
tokensAfter: number;
|
|
62
|
+
/** Whether compaction actually occurred */
|
|
63
|
+
didCompact: boolean;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Compact messages to fit within a token limit.
|
|
67
|
+
*
|
|
68
|
+
* Strategy:
|
|
69
|
+
* 1. Always keep the first N messages (original query)
|
|
70
|
+
* 2. Always keep the last M messages (recent context)
|
|
71
|
+
* 3. Summarize middle messages into a single "context summary" user message
|
|
72
|
+
* 4. Preserve tool_use/tool_result pairs when possible
|
|
73
|
+
*/
|
|
74
|
+
export declare function compactMessages(messages: Message[], maxTokens: number, options?: CompactionOptions): Promise<CompactionResult>;
|
|
75
|
+
/**
|
|
76
|
+
* Check if compaction is needed proactively.
|
|
77
|
+
* Returns true if current token usage exceeds the threshold AND there are enough messages to compact.
|
|
78
|
+
*/
|
|
79
|
+
export declare function needsCompaction(messages: Message[], maxTokens: number, threshold?: number): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Get compaction statistics for logging/metrics
|
|
82
|
+
*/
|
|
83
|
+
export declare function getCompactionStats(result: CompactionResult): {
|
|
84
|
+
reductionPercent: number;
|
|
85
|
+
tokensSaved: number;
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=context-compaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-compaction.d.ts","sourceRoot":"","sources":["../../packages/src/core/context-compaction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAA+C,MAAM,mBAAmB,CAAC;AAkE9F;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AA8CD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAGlE;AAqED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAmD5E;AAMD,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAyGjB;AAMD,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,iCAAiC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAwG3B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAqC,GAC/C,OAAO,CAST;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB,CAYA"}
|