@orion-agents/orion-code 0.1.1 → 0.1.2
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 +93 -68
- package/README.zh-CN.md +181 -216
- package/dist/cli.js +13 -17
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +213 -114
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/target-command.d.ts.map +1 -1
- package/dist/commands/target-command.js +42 -8
- package/dist/commands/target-command.js.map +1 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +2 -2
- package/dist/core/agent.js.map +1 -1
- package/dist/framework/external-assertion.d.ts +65 -0
- package/dist/framework/external-assertion.d.ts.map +1 -0
- package/dist/framework/external-assertion.js +571 -0
- package/dist/framework/external-assertion.js.map +1 -0
- package/dist/framework/index.d.ts +6 -4
- package/dist/framework/index.d.ts.map +1 -1
- package/dist/framework/index.js +4 -1
- package/dist/framework/index.js.map +1 -1
- package/dist/framework/query.d.ts +15 -1
- package/dist/framework/query.d.ts.map +1 -1
- package/dist/framework/query.js +42 -23
- package/dist/framework/query.js.map +1 -1
- package/dist/framework/tool-scheduler.d.ts +2 -0
- package/dist/framework/tool-scheduler.d.ts.map +1 -1
- package/dist/framework/tool-scheduler.js +23 -9
- package/dist/framework/tool-scheduler.js.map +1 -1
- package/dist/framework/tool-serializer.d.ts.map +1 -1
- package/dist/framework/tool-serializer.js +20 -4
- package/dist/framework/tool-serializer.js.map +1 -1
- package/dist/framework/tool.d.ts +11 -5
- package/dist/framework/tool.d.ts.map +1 -1
- package/dist/framework/tool.js.map +1 -1
- package/dist/harness/safety.d.ts.map +1 -1
- package/dist/harness/safety.js +19 -3
- package/dist/harness/safety.js.map +1 -1
- package/dist/init.d.ts +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +115 -34
- package/dist/init.js.map +1 -1
- package/dist/memory/storage.d.ts.map +1 -1
- package/dist/memory/storage.js +1 -0
- package/dist/memory/storage.js.map +1 -1
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +11 -5
- package/dist/memory/store.js.map +1 -1
- package/dist/print-ui/launch.d.ts +4 -0
- package/dist/print-ui/launch.d.ts.map +1 -1
- package/dist/print-ui/launch.js +102 -9
- package/dist/print-ui/launch.js.map +1 -1
- package/dist/product/identity.d.ts +2 -2
- package/dist/product/identity.d.ts.map +1 -1
- package/dist/product/identity.js +2 -2
- package/dist/product/identity.js.map +1 -1
- package/dist/product/index.d.ts +2 -1
- package/dist/product/index.d.ts.map +1 -1
- package/dist/product/index.js +5 -1
- package/dist/product/index.js.map +1 -1
- package/dist/product/version.d.ts +12 -0
- package/dist/product/version.d.ts.map +1 -0
- package/dist/product/version.js +31 -0
- package/dist/product/version.js.map +1 -0
- package/dist/runtime/agent-runtime-controller.d.ts +34 -0
- package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-controller.js +953 -148
- package/dist/runtime/agent-runtime-controller.js.map +1 -1
- package/dist/runtime/agent-runtime-protocol.d.ts +7 -2
- package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-protocol.js +6 -0
- package/dist/runtime/agent-runtime-protocol.js.map +1 -1
- package/dist/runtime/chat-controller.d.ts +6 -0
- package/dist/runtime/chat-controller.d.ts.map +1 -1
- package/dist/runtime/chat-controller.js +200 -19
- package/dist/runtime/chat-controller.js.map +1 -1
- package/dist/runtime/goals/accounting.d.ts +28 -0
- package/dist/runtime/goals/accounting.d.ts.map +1 -1
- package/dist/runtime/goals/accounting.js +69 -0
- package/dist/runtime/goals/accounting.js.map +1 -1
- package/dist/runtime/goals/completion-audit.d.ts +13 -8
- package/dist/runtime/goals/completion-audit.d.ts.map +1 -1
- package/dist/runtime/goals/completion-audit.js +598 -16
- package/dist/runtime/goals/completion-audit.js.map +1 -1
- package/dist/runtime/goals/coordinator.d.ts +44 -5
- package/dist/runtime/goals/coordinator.d.ts.map +1 -1
- package/dist/runtime/goals/coordinator.js +1124 -58
- package/dist/runtime/goals/coordinator.js.map +1 -1
- package/dist/runtime/goals/evidence.d.ts +37 -0
- package/dist/runtime/goals/evidence.d.ts.map +1 -0
- package/dist/runtime/goals/evidence.js +300 -0
- package/dist/runtime/goals/evidence.js.map +1 -0
- package/dist/runtime/goals/presentation.d.ts +4 -0
- package/dist/runtime/goals/presentation.d.ts.map +1 -0
- package/dist/runtime/goals/presentation.js +50 -0
- package/dist/runtime/goals/presentation.js.map +1 -0
- package/dist/runtime/goals/prompt.d.ts.map +1 -1
- package/dist/runtime/goals/prompt.js +38 -8
- package/dist/runtime/goals/prompt.js.map +1 -1
- package/dist/runtime/goals/tools.d.ts +18 -1
- package/dist/runtime/goals/tools.d.ts.map +1 -1
- package/dist/runtime/goals/tools.js +308 -28
- package/dist/runtime/goals/tools.js.map +1 -1
- package/dist/runtime/goals/types.d.ts +241 -7
- package/dist/runtime/goals/types.d.ts.map +1 -1
- package/dist/runtime/goals/types.js +8 -2
- package/dist/runtime/goals/types.js.map +1 -1
- package/dist/runtime/subagents/child-executor-guard.d.ts +12 -4
- package/dist/runtime/subagents/child-executor-guard.d.ts.map +1 -1
- package/dist/runtime/subagents/child-executor-guard.js +397 -61
- package/dist/runtime/subagents/child-executor-guard.js.map +1 -1
- package/dist/runtime/subagents/presets.d.ts +4 -5
- package/dist/runtime/subagents/presets.d.ts.map +1 -1
- package/dist/runtime/subagents/presets.js +18 -33
- package/dist/runtime/subagents/presets.js.map +1 -1
- package/dist/runtime/subagents/production.d.ts +3 -1
- package/dist/runtime/subagents/production.d.ts.map +1 -1
- package/dist/runtime/subagents/production.js +37 -7
- package/dist/runtime/subagents/production.js.map +1 -1
- package/dist/runtime/subagents/runner.d.ts.map +1 -1
- package/dist/runtime/subagents/runner.js +24 -3
- package/dist/runtime/subagents/runner.js.map +1 -1
- package/dist/runtime/subagents/runtime-integration.d.ts +3 -0
- package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
- package/dist/runtime/subagents/runtime-integration.js +18 -7
- package/dist/runtime/subagents/runtime-integration.js.map +1 -1
- package/dist/runtime/subagents/supervisor.d.ts +4 -4
- package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
- package/dist/runtime/subagents/supervisor.js +39 -19
- package/dist/runtime/subagents/supervisor.js.map +1 -1
- package/dist/runtime/subagents/types.d.ts +7 -0
- package/dist/runtime/subagents/types.d.ts.map +1 -1
- package/dist/runtime/subagents/types.js +12 -1
- package/dist/runtime/subagents/types.js.map +1 -1
- package/dist/runtime/ui-events.d.ts +6 -0
- package/dist/runtime/ui-events.d.ts.map +1 -1
- package/dist/runtime/ui-events.js +5 -5
- package/dist/runtime/ui-events.js.map +1 -1
- package/dist/services/config.d.ts +1 -1
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +53 -48
- package/dist/services/config.js.map +1 -1
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +163 -17
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/goal-storage.d.ts +9 -4
- package/dist/services/goal-storage.d.ts.map +1 -1
- package/dist/services/goal-storage.js +1113 -75
- package/dist/services/goal-storage.js.map +1 -1
- package/dist/services/llm.d.ts +19 -0
- package/dist/services/llm.d.ts.map +1 -1
- package/dist/services/llm.js +153 -20
- package/dist/services/llm.js.map +1 -1
- package/dist/services/model-registry.d.ts +1 -1
- package/dist/services/model-registry.d.ts.map +1 -1
- package/dist/services/model-registry.js +69 -19
- package/dist/services/model-registry.js.map +1 -1
- package/dist/services/provider-resilience/coordinator.d.ts +2 -1
- package/dist/services/provider-resilience/coordinator.d.ts.map +1 -1
- package/dist/services/provider-resilience/coordinator.js +7 -6
- package/dist/services/provider-resilience/coordinator.js.map +1 -1
- package/dist/services/provider-resilience/error-classifier.d.ts.map +1 -1
- package/dist/services/provider-resilience/error-classifier.js +67 -17
- package/dist/services/provider-resilience/error-classifier.js.map +1 -1
- package/dist/services/provider-resilience/types.d.ts +1 -1
- package/dist/services/provider-resilience/types.d.ts.map +1 -1
- package/dist/services/provider-resilience/types.js.map +1 -1
- package/dist/services/redaction.d.ts.map +1 -1
- package/dist/services/redaction.js +9 -1
- package/dist/services/redaction.js.map +1 -1
- package/dist/services/session-storage.d.ts +12 -1
- package/dist/services/session-storage.d.ts.map +1 -1
- package/dist/services/session-storage.js +23 -7
- package/dist/services/session-storage.js.map +1 -1
- package/dist/services/storage-maintenance.d.ts +73 -3
- package/dist/services/storage-maintenance.d.ts.map +1 -1
- package/dist/services/storage-maintenance.js +771 -104
- package/dist/services/storage-maintenance.js.map +1 -1
- package/dist/services/task-manager.d.ts.map +1 -1
- package/dist/services/task-manager.js +2 -2
- package/dist/services/task-manager.js.map +1 -1
- package/dist/services/web-search-adapters.d.ts.map +1 -1
- package/dist/services/web-search-adapters.js +89 -49
- package/dist/services/web-search-adapters.js.map +1 -1
- package/dist/services/web-search-mcp.d.ts.map +1 -1
- package/dist/services/web-search-mcp.js +34 -37
- package/dist/services/web-search-mcp.js.map +1 -1
- package/dist/services/workspace-state.d.ts +4 -0
- package/dist/services/workspace-state.d.ts.map +1 -1
- package/dist/services/workspace-state.js +30 -9
- package/dist/services/workspace-state.js.map +1 -1
- package/dist/terminal-ui/launch.d.ts +2 -0
- package/dist/terminal-ui/launch.d.ts.map +1 -1
- package/dist/terminal-ui/launch.js +21 -7
- package/dist/terminal-ui/launch.js.map +1 -1
- package/dist/tools/git.d.ts.map +1 -1
- package/dist/tools/git.js +275 -27
- package/dist/tools/git.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +23 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/mcp.d.ts.map +1 -1
- package/dist/tools/mcp.js +20 -12
- package/dist/tools/mcp.js.map +1 -1
- package/dist/tools/web.d.ts.map +1 -1
- package/dist/tools/web.js +38 -14
- package/dist/tools/web.js.map +1 -1
- package/dist/tui-ui/layout.d.ts.map +1 -1
- package/dist/tui-ui/layout.js +36 -23
- package/dist/tui-ui/layout.js.map +1 -1
- package/dist/tui-ui/pickers.d.ts.map +1 -1
- package/dist/tui-ui/pickers.js +4 -3
- package/dist/tui-ui/pickers.js.map +1 -1
- package/dist/tui-ui/runner.d.ts +1 -0
- package/dist/tui-ui/runner.d.ts.map +1 -1
- package/dist/tui-ui/runner.js +14 -0
- package/dist/tui-ui/runner.js.map +1 -1
- package/dist/tui-ui/state.d.ts +6 -0
- package/dist/tui-ui/state.d.ts.map +1 -1
- package/dist/tui-ui/state.js +60 -30
- package/dist/tui-ui/state.js.map +1 -1
- package/package.json +13 -9
- package/dist/core/state.d.ts +0 -94
- package/dist/core/state.d.ts.map +0 -1
- package/dist/core/state.js +0 -178
- package/dist/core/state.js.map +0 -1
- package/dist/ink/bidi.d.ts +0 -16
- package/dist/ink/bidi.d.ts.map +0 -1
- package/dist/ink/bidi.js +0 -124
- package/dist/ink/bidi.js.map +0 -1
- package/dist/ink/clearTerminal.d.ts +0 -14
- package/dist/ink/clearTerminal.d.ts.map +0 -1
- package/dist/ink/clearTerminal.js +0 -63
- package/dist/ink/clearTerminal.js.map +0 -1
- package/dist/ink/colorize.d.ts +0 -17
- package/dist/ink/colorize.d.ts.map +0 -1
- package/dist/ink/colorize.js +0 -208
- package/dist/ink/colorize.js.map +0 -1
- package/dist/ink/components/App.d.ts +0 -73
- package/dist/ink/components/App.d.ts.map +0 -1
- package/dist/ink/components/App.js +0 -646
- package/dist/ink/components/App.js.map +0 -1
- package/dist/ink/components/AppContext.d.ts +0 -12
- package/dist/ink/components/AppContext.d.ts.map +0 -1
- package/dist/ink/components/AppContext.js +0 -14
- package/dist/ink/components/AppContext.js.map +0 -1
- package/dist/ink/components/Box.d.ts +0 -44
- package/dist/ink/components/Box.d.ts.map +0 -1
- package/dist/ink/components/Box.js +0 -191
- package/dist/ink/components/Box.js.map +0 -1
- package/dist/ink/components/ClockContext.d.ts +0 -9
- package/dist/ink/components/ClockContext.d.ts.map +0 -1
- package/dist/ink/components/ClockContext.js +0 -146
- package/dist/ink/components/ClockContext.js.map +0 -1
- package/dist/ink/components/CursorDeclarationContext.d.ts +0 -23
- package/dist/ink/components/CursorDeclarationContext.d.ts.map +0 -1
- package/dist/ink/components/CursorDeclarationContext.js +0 -6
- package/dist/ink/components/CursorDeclarationContext.js.map +0 -1
- package/dist/ink/components/ErrorOverview.d.ts +0 -6
- package/dist/ink/components/ErrorOverview.d.ts.map +0 -1
- package/dist/ink/components/ErrorOverview.js +0 -27
- package/dist/ink/components/ErrorOverview.js.map +0 -1
- package/dist/ink/components/Newline.d.ts +0 -13
- package/dist/ink/components/Newline.d.ts.map +0 -1
- package/dist/ink/components/Newline.js +0 -36
- package/dist/ink/components/Newline.js.map +0 -1
- package/dist/ink/components/NoSelect.d.ts +0 -20
- package/dist/ink/components/NoSelect.d.ts.map +0 -1
- package/dist/ink/components/NoSelect.js +0 -63
- package/dist/ink/components/NoSelect.js.map +0 -1
- package/dist/ink/components/RawAnsi.d.ts +0 -17
- package/dist/ink/components/RawAnsi.d.ts.map +0 -1
- package/dist/ink/components/RawAnsi.js +0 -52
- package/dist/ink/components/RawAnsi.js.map +0 -1
- package/dist/ink/components/Spacer.d.ts +0 -6
- package/dist/ink/components/Spacer.d.ts.map +0 -1
- package/dist/ink/components/Spacer.js +0 -26
- package/dist/ink/components/Spacer.js.map +0 -1
- package/dist/ink/components/StdinContext.d.ts +0 -28
- package/dist/ink/components/StdinContext.d.ts.map +0 -1
- package/dist/ink/components/StdinContext.js +0 -19
- package/dist/ink/components/StdinContext.js.map +0 -1
- package/dist/ink/components/TerminalFocusContext.d.ts +0 -10
- package/dist/ink/components/TerminalFocusContext.d.ts.map +0 -1
- package/dist/ink/components/TerminalFocusContext.js +0 -81
- package/dist/ink/components/TerminalFocusContext.js.map +0 -1
- package/dist/ink/components/TerminalSizeContext.d.ts +0 -6
- package/dist/ink/components/TerminalSizeContext.d.ts.map +0 -1
- package/dist/ink/components/TerminalSizeContext.js +0 -6
- package/dist/ink/components/TerminalSizeContext.js.map +0 -1
- package/dist/ink/components/Text.d.ts +0 -56
- package/dist/ink/components/Text.d.ts.map +0 -1
- package/dist/ink/components/Text.js +0 -201
- package/dist/ink/components/Text.js.map +0 -1
- package/dist/ink/constants.d.ts +0 -2
- package/dist/ink/constants.d.ts.map +0 -1
- package/dist/ink/constants.js +0 -6
- package/dist/ink/constants.js.map +0 -1
- package/dist/ink/devtools.d.ts +0 -3
- package/dist/ink/devtools.d.ts.map +0 -1
- package/dist/ink/devtools.js +0 -5
- package/dist/ink/devtools.js.map +0 -1
- package/dist/ink/dom.d.ts +0 -77
- package/dist/ink/dom.d.ts.map +0 -1
- package/dist/ink/dom.js +0 -322
- package/dist/ink/dom.js.map +0 -1
- package/dist/ink/events/click-event.d.ts +0 -32
- package/dist/ink/events/click-event.d.ts.map +0 -1
- package/dist/ink/events/click-event.js +0 -30
- package/dist/ink/events/click-event.js.map +0 -1
- package/dist/ink/events/dispatcher.d.ts +0 -41
- package/dist/ink/events/dispatcher.d.ts.map +0 -1
- package/dist/ink/events/dispatcher.js +0 -181
- package/dist/ink/events/dispatcher.js.map +0 -1
- package/dist/ink/events/emitter.d.ts +0 -6
- package/dist/ink/events/emitter.d.ts.map +0 -1
- package/dist/ink/events/emitter.js +0 -36
- package/dist/ink/events/emitter.js.map +0 -1
- package/dist/ink/events/event-handlers.d.ts +0 -47
- package/dist/ink/events/event-handlers.d.ts.map +0 -1
- package/dist/ink/events/event-handlers.js +0 -34
- package/dist/ink/events/event-handlers.js.map +0 -1
- package/dist/ink/events/event.d.ts +0 -6
- package/dist/ink/events/event.d.ts.map +0 -1
- package/dist/ink/events/event.js +0 -16
- package/dist/ink/events/event.js.map +0 -1
- package/dist/ink/events/focus-event.d.ts +0 -14
- package/dist/ink/events/focus-event.d.ts.map +0 -1
- package/dist/ink/events/focus-event.js +0 -20
- package/dist/ink/events/focus-event.js.map +0 -1
- package/dist/ink/events/input-event.d.ts +0 -31
- package/dist/ink/events/input-event.d.ts.map +0 -1
- package/dist/ink/events/input-event.js +0 -163
- package/dist/ink/events/input-event.js.map +0 -1
- package/dist/ink/events/keyboard-event.d.ts +0 -20
- package/dist/ink/events/keyboard-event.d.ts.map +0 -1
- package/dist/ink/events/keyboard-event.js +0 -44
- package/dist/ink/events/keyboard-event.js.map +0 -1
- package/dist/ink/events/terminal-event.d.ts +0 -55
- package/dist/ink/events/terminal-event.d.ts.map +0 -1
- package/dist/ink/events/terminal-event.js +0 -79
- package/dist/ink/events/terminal-event.js.map +0 -1
- package/dist/ink/events/terminal-focus-event.d.ts +0 -14
- package/dist/ink/events/terminal-focus-event.d.ts.map +0 -1
- package/dist/ink/events/terminal-focus-event.js +0 -19
- package/dist/ink/events/terminal-focus-event.js.map +0 -1
- package/dist/ink/focus.d.ts +0 -44
- package/dist/ink/focus.d.ts.map +0 -1
- package/dist/ink/focus.js +0 -164
- package/dist/ink/focus.js.map +0 -1
- package/dist/ink/frame.d.ts +0 -95
- package/dist/ink/frame.d.ts.map +0 -1
- package/dist/ink/frame.js +0 -35
- package/dist/ink/frame.js.map +0 -1
- package/dist/ink/get-max-width.d.ts +0 -18
- package/dist/ink/get-max-width.d.ts.map +0 -1
- package/dist/ink/get-max-width.js +0 -26
- package/dist/ink/get-max-width.js.map +0 -1
- package/dist/ink/hit-test.d.ts +0 -34
- package/dist/ink/hit-test.d.ts.map +0 -1
- package/dist/ink/hit-test.js +0 -119
- package/dist/ink/hit-test.js.map +0 -1
- package/dist/ink/hooks/use-animation-frame.d.ts +0 -27
- package/dist/ink/hooks/use-animation-frame.d.ts.map +0 -1
- package/dist/ink/hooks/use-animation-frame.js +0 -52
- package/dist/ink/hooks/use-animation-frame.js.map +0 -1
- package/dist/ink/hooks/use-app.d.ts +0 -6
- package/dist/ink/hooks/use-app.d.ts.map +0 -1
- package/dist/ink/hooks/use-app.js +0 -13
- package/dist/ink/hooks/use-app.js.map +0 -1
- package/dist/ink/hooks/use-declared-cursor.d.ts +0 -27
- package/dist/ink/hooks/use-declared-cursor.d.ts.map +0 -1
- package/dist/ink/hooks/use-declared-cursor.js +0 -67
- package/dist/ink/hooks/use-declared-cursor.js.map +0 -1
- package/dist/ink/hooks/use-input.d.ts +0 -38
- package/dist/ink/hooks/use-input.d.ts.map +0 -1
- package/dist/ink/hooks/use-input.js +0 -86
- package/dist/ink/hooks/use-input.js.map +0 -1
- package/dist/ink/hooks/use-interval.d.ts +0 -19
- package/dist/ink/hooks/use-interval.d.ts.map +0 -1
- package/dist/ink/hooks/use-interval.js +0 -59
- package/dist/ink/hooks/use-interval.js.map +0 -1
- package/dist/ink/hooks/use-search-highlight.d.ts +0 -31
- package/dist/ink/hooks/use-search-highlight.d.ts.map +0 -1
- package/dist/ink/hooks/use-search-highlight.js +0 -39
- package/dist/ink/hooks/use-search-highlight.js.map +0 -1
- package/dist/ink/hooks/use-selection.d.ts +0 -40
- package/dist/ink/hooks/use-selection.d.ts.map +0 -1
- package/dist/ink/hooks/use-selection.js +0 -68
- package/dist/ink/hooks/use-selection.js.map +0 -1
- package/dist/ink/hooks/use-stdin.d.ts +0 -6
- package/dist/ink/hooks/use-stdin.d.ts.map +0 -1
- package/dist/ink/hooks/use-stdin.js +0 -13
- package/dist/ink/hooks/use-stdin.js.map +0 -1
- package/dist/ink/hooks/use-tab-status.d.ts +0 -14
- package/dist/ink/hooks/use-tab-status.d.ts.map +0 -1
- package/dist/ink/hooks/use-tab-status.js +0 -61
- package/dist/ink/hooks/use-tab-status.js.map +0 -1
- package/dist/ink/hooks/use-terminal-focus.d.ts +0 -11
- package/dist/ink/hooks/use-terminal-focus.d.ts.map +0 -1
- package/dist/ink/hooks/use-terminal-focus.js +0 -22
- package/dist/ink/hooks/use-terminal-focus.js.map +0 -1
- package/dist/ink/hooks/use-terminal-title.d.ts +0 -13
- package/dist/ink/hooks/use-terminal-title.d.ts.map +0 -1
- package/dist/ink/hooks/use-terminal-title.js +0 -36
- package/dist/ink/hooks/use-terminal-title.js.map +0 -1
- package/dist/ink/hooks/use-terminal-viewport.d.ts +0 -30
- package/dist/ink/hooks/use-terminal-viewport.d.ts.map +0 -1
- package/dist/ink/hooks/use-terminal-viewport.js +0 -81
- package/dist/ink/hooks/use-terminal-viewport.js.map +0 -1
- package/dist/ink/ink.d.ts +0 -371
- package/dist/ink/ink.d.ts.map +0 -1
- package/dist/ink/ink.js +0 -1686
- package/dist/ink/ink.js.map +0 -1
- package/dist/ink/instances.d.ts +0 -4
- package/dist/ink/instances.d.ts.map +0 -1
- package/dist/ink/instances.js +0 -10
- package/dist/ink/instances.js.map +0 -1
- package/dist/ink/line-width-cache.d.ts +0 -2
- package/dist/ink/line-width-cache.d.ts.map +0 -1
- package/dist/ink/line-width-cache.js +0 -23
- package/dist/ink/line-width-cache.js.map +0 -1
- package/dist/ink/log-update.d.ts +0 -18
- package/dist/ink/log-update.d.ts.map +0 -1
- package/dist/ink/log-update.js +0 -637
- package/dist/ink/log-update.js.map +0 -1
- package/dist/ink/measure-element.d.ts +0 -17
- package/dist/ink/measure-element.d.ts.map +0 -1
- package/dist/ink/measure-element.js +0 -11
- package/dist/ink/measure-element.js.map +0 -1
- package/dist/ink/measure-text.d.ts +0 -7
- package/dist/ink/measure-text.d.ts.map +0 -1
- package/dist/ink/measure-text.js +0 -38
- package/dist/ink/measure-text.js.map +0 -1
- package/dist/ink/node-cache.d.ts +0 -21
- package/dist/ink/node-cache.d.ts.map +0 -1
- package/dist/ink/node-cache.js +0 -36
- package/dist/ink/node-cache.js.map +0 -1
- package/dist/ink/optimizer.d.ts +0 -16
- package/dist/ink/optimizer.d.ts.map +0 -1
- package/dist/ink/optimizer.js +0 -85
- package/dist/ink/optimizer.js.map +0 -1
- package/dist/ink/output.d.ts +0 -120
- package/dist/ink/output.d.ts.map +0 -1
- package/dist/ink/output.js +0 -559
- package/dist/ink/output.js.map +0 -1
- package/dist/ink/parse-keypress.d.ts +0 -112
- package/dist/ink/parse-keypress.d.ts.map +0 -1
- package/dist/ink/parse-keypress.js +0 -719
- package/dist/ink/parse-keypress.js.map +0 -1
- package/dist/ink/parse-keypress.test.d.ts +0 -2
- package/dist/ink/parse-keypress.test.d.ts.map +0 -1
- package/dist/ink/parse-keypress.test.js +0 -37
- package/dist/ink/parse-keypress.test.js.map +0 -1
- package/dist/ink/reconciler.d.ts +0 -12
- package/dist/ink/reconciler.d.ts.map +0 -1
- package/dist/ink/reconciler.js +0 -456
- package/dist/ink/reconciler.js.map +0 -1
- package/dist/ink/render-border.d.ts +0 -25
- package/dist/ink/render-border.d.ts.map +0 -1
- package/dist/ink/render-border.js +0 -141
- package/dist/ink/render-border.js.map +0 -1
- package/dist/ink/render-node-to-output.d.ts +0 -46
- package/dist/ink/render-node-to-output.d.ts.map +0 -1
- package/dist/ink/render-node-to-output.js +0 -1257
- package/dist/ink/render-node-to-output.js.map +0 -1
- package/dist/ink/render-to-screen.d.ts +0 -47
- package/dist/ink/render-to-screen.d.ts.map +0 -1
- package/dist/ink/render-to-screen.js +0 -213
- package/dist/ink/render-to-screen.js.map +0 -1
- package/dist/ink/renderer.d.ts +0 -15
- package/dist/ink/renderer.d.ts.map +0 -1
- package/dist/ink/renderer.js +0 -169
- package/dist/ink/renderer.js.map +0 -1
- package/dist/ink/root.d.ts +0 -75
- package/dist/ink/root.d.ts.map +0 -1
- package/dist/ink/root.js +0 -89
- package/dist/ink/root.js.map +0 -1
- package/dist/ink/screen.d.ts +0 -270
- package/dist/ink/screen.d.ts.map +0 -1
- package/dist/ink/screen.js +0 -1194
- package/dist/ink/screen.js.map +0 -1
- package/dist/ink/searchHighlight.d.ts +0 -21
- package/dist/ink/searchHighlight.d.ts.map +0 -1
- package/dist/ink/searchHighlight.js +0 -82
- package/dist/ink/searchHighlight.js.map +0 -1
- package/dist/ink/selection.d.ts +0 -230
- package/dist/ink/selection.d.ts.map +0 -1
- package/dist/ink/selection.js +0 -814
- package/dist/ink/selection.js.map +0 -1
- package/dist/ink/squash-text-nodes.d.ts +0 -23
- package/dist/ink/squash-text-nodes.d.ts.map +0 -1
- package/dist/ink/squash-text-nodes.js +0 -60
- package/dist/ink/squash-text-nodes.js.map +0 -1
- package/dist/ink/stringWidth.d.ts +0 -2
- package/dist/ink/stringWidth.d.ts.map +0 -1
- package/dist/ink/stringWidth.js +0 -207
- package/dist/ink/stringWidth.js.map +0 -1
- package/dist/ink/styles.d.ts +0 -307
- package/dist/ink/styles.d.ts.map +0 -1
- package/dist/ink/styles.js +0 -302
- package/dist/ink/styles.js.map +0 -1
- package/dist/ink/supports-hyperlinks.d.ts +0 -14
- package/dist/ink/supports-hyperlinks.d.ts.map +0 -1
- package/dist/ink/supports-hyperlinks.js +0 -48
- package/dist/ink/supports-hyperlinks.js.map +0 -1
- package/dist/ink/tabstops.d.ts +0 -2
- package/dist/ink/tabstops.d.ts.map +0 -1
- package/dist/ink/tabstops.js +0 -43
- package/dist/ink/tabstops.js.map +0 -1
- package/dist/ink/terminal-focus-state.d.ts +0 -7
- package/dist/ink/terminal-focus-state.d.ts.map +0 -1
- package/dist/ink/terminal-focus-state.js +0 -43
- package/dist/ink/terminal-focus-state.js.map +0 -1
- package/dist/ink/terminal-querier.d.ts +0 -130
- package/dist/ink/terminal-querier.d.ts.map +0 -1
- package/dist/ink/terminal-querier.js +0 -184
- package/dist/ink/terminal-querier.js.map +0 -1
- package/dist/ink/terminal.d.ts +0 -56
- package/dist/ink/terminal.d.ts.map +0 -1
- package/dist/ink/terminal.js +0 -249
- package/dist/ink/terminal.js.map +0 -1
- package/dist/ink/termio/csi.d.ts +0 -166
- package/dist/ink/termio/csi.d.ts.map +0 -1
- package/dist/ink/termio/csi.js +0 -285
- package/dist/ink/termio/csi.js.map +0 -1
- package/dist/ink/termio/dec.d.ts +0 -38
- package/dist/ink/termio/dec.d.ts.map +0 -1
- package/dist/ink/termio/dec.js +0 -59
- package/dist/ink/termio/dec.js.map +0 -1
- package/dist/ink/termio.d.ts +0 -25
- package/dist/ink/termio.d.ts.map +0 -1
- package/dist/ink/termio.js +0 -32
- package/dist/ink/termio.js.map +0 -1
- package/dist/ink/useTerminalNotification.d.ts +0 -27
- package/dist/ink/useTerminalNotification.d.ts.map +0 -1
- package/dist/ink/useTerminalNotification.js +0 -62
- package/dist/ink/useTerminalNotification.js.map +0 -1
- package/dist/ink/warn.d.ts +0 -2
- package/dist/ink/warn.d.ts.map +0 -1
- package/dist/ink/warn.js +0 -14
- package/dist/ink/warn.js.map +0 -1
- package/dist/ink/widest-line.d.ts +0 -2
- package/dist/ink/widest-line.d.ts.map +0 -1
- package/dist/ink/widest-line.js +0 -18
- package/dist/ink/widest-line.js.map +0 -1
- package/dist/ink/wrap-text.d.ts +0 -3
- package/dist/ink/wrap-text.d.ts.map +0 -1
- package/dist/ink/wrap-text.js +0 -61
- package/dist/ink/wrap-text.js.map +0 -1
- package/dist/ink/wrapAnsi.d.ts +0 -8
- package/dist/ink/wrapAnsi.d.ts.map +0 -1
- package/dist/ink/wrapAnsi.js +0 -13
- package/dist/ink/wrapAnsi.js.map +0 -1
- package/dist/ink-ui/components/TerminalCursor.d.ts +0 -15
- package/dist/ink-ui/components/TerminalCursor.d.ts.map +0 -1
- package/dist/ink-ui/components/TerminalCursor.js +0 -49
- package/dist/ink-ui/components/TerminalCursor.js.map +0 -1
- package/dist/ink-ui/runtime/stdout.d.ts +0 -11
- package/dist/ink-ui/runtime/stdout.d.ts.map +0 -1
- package/dist/ink-ui/runtime/stdout.js +0 -82
- package/dist/ink-ui/runtime/stdout.js.map +0 -1
- package/dist/runtime/goal-coordinator.d.ts +0 -66
- package/dist/runtime/goal-coordinator.d.ts.map +0 -1
- package/dist/runtime/goal-coordinator.js +0 -200
- package/dist/runtime/goal-coordinator.js.map +0 -1
- package/dist/screens/REPL.d.ts +0 -21
- package/dist/screens/REPL.d.ts.map +0 -1
- package/dist/screens/REPL.js +0 -139
- package/dist/screens/REPL.js.map +0 -1
- package/dist/services/goal-sidecar.d.ts +0 -96
- package/dist/services/goal-sidecar.d.ts.map +0 -1
- package/dist/services/goal-sidecar.js +0 -145
- package/dist/services/goal-sidecar.js.map +0 -1
- package/dist/tools/goal.d.ts +0 -17
- package/dist/tools/goal.d.ts.map +0 -1
- package/dist/tools/goal.js +0 -191
- package/dist/tools/goal.js.map +0 -1
- package/dist/ui/ink/components/App.d.ts +0 -6
- package/dist/ui/ink/components/App.d.ts.map +0 -1
- package/dist/ui/ink/components/App.js +0 -38
- package/dist/ui/ink/components/App.js.map +0 -1
- package/dist/ui/ink/components/CommandPanel.d.ts +0 -13
- package/dist/ui/ink/components/CommandPanel.d.ts.map +0 -1
- package/dist/ui/ink/components/CommandPanel.js +0 -41
- package/dist/ui/ink/components/CommandPanel.js.map +0 -1
- package/dist/ui/ink/components/InputLine.d.ts +0 -8
- package/dist/ui/ink/components/InputLine.d.ts.map +0 -1
- package/dist/ui/ink/components/InputLine.js +0 -15
- package/dist/ui/ink/components/InputLine.js.map +0 -1
- package/dist/ui/ink/components/StatusBar.d.ts +0 -9
- package/dist/ui/ink/components/StatusBar.d.ts.map +0 -1
- package/dist/ui/ink/components/StatusBar.js +0 -18
- package/dist/ui/ink/components/StatusBar.js.map +0 -1
- package/dist/ui/ink/components/index.d.ts +0 -5
- package/dist/ui/ink/components/index.d.ts.map +0 -1
- package/dist/ui/ink/components/index.js +0 -5
- package/dist/ui/ink/components/index.js.map +0 -1
- package/dist/utils/chalk.d.ts +0 -9
- package/dist/utils/chalk.d.ts.map +0 -1
- package/dist/utils/chalk.js +0 -16
- package/dist/utils/chalk.js.map +0 -1
package/dist/tools/git.js
CHANGED
|
@@ -13,18 +13,40 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.GIT_TOOLS = exports.gitPushTool = exports.gitStatusTool = void 0;
|
|
14
14
|
const tool_1 = require("../framework/tool");
|
|
15
15
|
const child_process_1 = require("child_process");
|
|
16
|
+
const path_1 = require("path");
|
|
17
|
+
function normalizeStagePath(value) {
|
|
18
|
+
if (value.length === 0 ||
|
|
19
|
+
value.includes('\0') ||
|
|
20
|
+
value.includes('\r') ||
|
|
21
|
+
value.includes('\n') ||
|
|
22
|
+
value.includes('\\') ||
|
|
23
|
+
value.startsWith('/') ||
|
|
24
|
+
value.startsWith(':') ||
|
|
25
|
+
['*', '?', '[', ']'].some(character => value.includes(character))) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const normalized = path_1.posix.normalize(value);
|
|
29
|
+
if (normalized === '.' || normalized === '..' || normalized.startsWith('../')) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
return normalized;
|
|
33
|
+
}
|
|
34
|
+
function parseStagedPaths(output) {
|
|
35
|
+
return output.split('\0').filter(Boolean);
|
|
36
|
+
}
|
|
16
37
|
async function execGit(command, cwd, timeout = 30000) {
|
|
17
38
|
return execGitArgs(command.split(' '), cwd, timeout);
|
|
18
39
|
}
|
|
19
40
|
async function execGitArgs(args, cwd, timeout = 30000) {
|
|
20
|
-
return new Promise(
|
|
41
|
+
return new Promise(resolve => {
|
|
21
42
|
const workdir = cwd || process.cwd();
|
|
22
43
|
(0, child_process_1.execFile)('git', args, {
|
|
23
44
|
cwd: workdir,
|
|
24
45
|
timeout,
|
|
25
46
|
maxBuffer: 1024 * 1024,
|
|
26
47
|
}, (error, stdout, stderr) => {
|
|
27
|
-
|
|
48
|
+
// Preserve the leading status columns from `git status --porcelain`.
|
|
49
|
+
const output = stdout.toString().trimEnd();
|
|
28
50
|
const errOutput = stderr.toString().trim();
|
|
29
51
|
if (error) {
|
|
30
52
|
resolve({
|
|
@@ -36,7 +58,7 @@ async function execGitArgs(args, cwd, timeout = 30000) {
|
|
|
36
58
|
else {
|
|
37
59
|
resolve({
|
|
38
60
|
success: true,
|
|
39
|
-
output
|
|
61
|
+
output,
|
|
40
62
|
error: errOutput || undefined,
|
|
41
63
|
});
|
|
42
64
|
}
|
|
@@ -49,13 +71,13 @@ async function execGitArgs(args, cwd, timeout = 30000) {
|
|
|
49
71
|
async function checkUncommittedChanges(cwd) {
|
|
50
72
|
const statusResult = await execGit('status --porcelain', cwd);
|
|
51
73
|
if (!statusResult.success) {
|
|
52
|
-
return {
|
|
74
|
+
return { success: false, error: statusResult.error || 'unknown git status error' };
|
|
53
75
|
}
|
|
54
76
|
const files = statusResult.output
|
|
55
77
|
.split('\n')
|
|
56
78
|
.filter(line => line.trim())
|
|
57
79
|
.map(line => line.slice(3).trim()); // 去除状态码
|
|
58
|
-
return { hasChanges: files.length > 0, files };
|
|
80
|
+
return { success: true, hasChanges: files.length > 0, files };
|
|
59
81
|
}
|
|
60
82
|
/**
|
|
61
83
|
* 检查远程认证状态
|
|
@@ -144,15 +166,16 @@ exports.gitStatusTool = (0, tool_1.buildTool)({
|
|
|
144
166
|
// ============================================================================
|
|
145
167
|
exports.gitPushTool = (0, tool_1.buildTool)({
|
|
146
168
|
name: 'git_push',
|
|
147
|
-
description: `安全执行 git push,自动验证 git status
|
|
169
|
+
description: `安全执行 git push,自动验证 git status、显式 staging 边界和认证状态。
|
|
148
170
|
|
|
149
171
|
工作流程:
|
|
150
172
|
1. 检查 git status --porcelain(未暂存/未提交的文件)
|
|
151
|
-
2.
|
|
173
|
+
2. 仅对显式文件 paths 执行 git add -- <paths>;拒绝目录、glob/pathspec 和预暂存越界文件
|
|
152
174
|
3. git commit(如果需要)
|
|
153
|
-
4.
|
|
154
|
-
5.
|
|
155
|
-
6.
|
|
175
|
+
4. 若提交后仍有未提交文件,在任何远程写入前停止
|
|
176
|
+
5. 检查远程认证状态
|
|
177
|
+
6. git push
|
|
178
|
+
7. 验证 push 成功
|
|
156
179
|
|
|
157
180
|
Issue #18/#23 修复:不再在未验证的情况下声称成功。`,
|
|
158
181
|
parameters: {
|
|
@@ -164,7 +187,12 @@ Issue #18/#23 修复:不再在未验证的情况下声称成功。`,
|
|
|
164
187
|
},
|
|
165
188
|
add_all: {
|
|
166
189
|
type: 'boolean',
|
|
167
|
-
description: '
|
|
190
|
+
description: '已废弃且禁止;请使用 paths 显式列出要暂存的文件',
|
|
191
|
+
},
|
|
192
|
+
paths: {
|
|
193
|
+
type: 'array',
|
|
194
|
+
items: { type: 'string' },
|
|
195
|
+
description: '要暂存的精确仓库相对文件路径;存在工作区变更时必填',
|
|
168
196
|
},
|
|
169
197
|
cwd: {
|
|
170
198
|
type: 'string',
|
|
@@ -179,29 +207,164 @@ Issue #18/#23 修复:不再在未验证的情况下声称成功。`,
|
|
|
179
207
|
},
|
|
180
208
|
execute: async (args) => {
|
|
181
209
|
const message = args.message;
|
|
182
|
-
const addAll = args.add_all ??
|
|
210
|
+
const addAll = args.add_all ?? false;
|
|
211
|
+
const rawPaths = args.paths;
|
|
183
212
|
const cwd = args.cwd;
|
|
184
213
|
const verify = args.verify ?? true;
|
|
185
214
|
if (!message || typeof message !== 'string') {
|
|
186
215
|
return { success: false, output: '', error: 'git_push requires a commit message' };
|
|
187
216
|
}
|
|
217
|
+
if (addAll) {
|
|
218
|
+
return {
|
|
219
|
+
success: false,
|
|
220
|
+
output: '',
|
|
221
|
+
error: 'git_push add_all=true is disabled; provide an explicit paths allowlist',
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
if (rawPaths !== undefined && !Array.isArray(rawPaths)) {
|
|
225
|
+
return { success: false, output: '', error: 'git_push paths must be an array of strings' };
|
|
226
|
+
}
|
|
227
|
+
const paths = rawPaths ?? [];
|
|
228
|
+
if (paths.some(path => typeof path !== 'string')) {
|
|
229
|
+
return {
|
|
230
|
+
success: false,
|
|
231
|
+
output: '',
|
|
232
|
+
error: 'git_push paths must contain only strings',
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
const normalizedPaths = paths.map(normalizeStagePath);
|
|
236
|
+
if (normalizedPaths.some(path => path === null)) {
|
|
237
|
+
return {
|
|
238
|
+
success: false,
|
|
239
|
+
output: '',
|
|
240
|
+
error: 'git_push paths must be exact repository-relative files without glob or pathspec syntax',
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
const stagePaths = [...new Set(normalizedPaths)];
|
|
188
244
|
const log = [];
|
|
189
245
|
// 1. 检查当前状态
|
|
190
246
|
log.push('🔍 Checking git status...');
|
|
191
247
|
const changes = await checkUncommittedChanges(cwd);
|
|
248
|
+
if (!changes.success) {
|
|
249
|
+
return {
|
|
250
|
+
success: false,
|
|
251
|
+
output: log.join('\n'),
|
|
252
|
+
error: `git status failed: ${changes.error}`,
|
|
253
|
+
};
|
|
254
|
+
}
|
|
192
255
|
if (changes.hasChanges) {
|
|
193
256
|
log.push(` Found ${changes.files.length} uncommitted files: ${changes.files.slice(0, 5).join(', ')}${changes.files.length > 5 ? '...' : ''}`);
|
|
194
|
-
// 2.
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
257
|
+
// 2. 只暂存显式文件 allowlist;永不继承或扩大现有 staging 边界。
|
|
258
|
+
if (stagePaths.length === 0) {
|
|
259
|
+
return {
|
|
260
|
+
success: false,
|
|
261
|
+
output: log.join('\n'),
|
|
262
|
+
error: 'Uncommitted changes require an explicit file paths allowlist',
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
const expectedStagePaths = new Set(stagePaths);
|
|
266
|
+
for (const path of stagePaths) {
|
|
267
|
+
const exactPathResult = await execGitArgs(['ls-files', '--cached', '--others', '--exclude-standard', '-z', '--', path], cwd);
|
|
268
|
+
if (!exactPathResult.success) {
|
|
269
|
+
return {
|
|
270
|
+
success: false,
|
|
271
|
+
output: log.join('\n'),
|
|
272
|
+
error: `Exact staging-path verification failed for ${path}: ${exactPathResult.error}`,
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
const matchingPaths = parseStagedPaths(exactPathResult.output);
|
|
276
|
+
if (matchingPaths.length !== 1 || matchingPaths[0] !== path) {
|
|
277
|
+
return {
|
|
278
|
+
success: false,
|
|
279
|
+
output: log.join('\n'),
|
|
280
|
+
error: `git_push paths must identify exact files, not directories or expanded pathspecs: ${path}`,
|
|
281
|
+
};
|
|
200
282
|
}
|
|
201
|
-
log.push(' ✓ Files added to staging');
|
|
202
283
|
}
|
|
203
|
-
|
|
204
|
-
|
|
284
|
+
const initialStagedResult = await execGitArgs(['diff', '--cached', '--name-only', '-z'], cwd);
|
|
285
|
+
if (!initialStagedResult.success) {
|
|
286
|
+
return {
|
|
287
|
+
success: false,
|
|
288
|
+
output: log.join('\n'),
|
|
289
|
+
error: `Initial staged-file verification failed: ${initialStagedResult.error}`,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
const unexpectedInitialPaths = parseStagedPaths(initialStagedResult.output).filter(path => !expectedStagePaths.has(path));
|
|
293
|
+
if (unexpectedInitialPaths.length > 0) {
|
|
294
|
+
return {
|
|
295
|
+
success: false,
|
|
296
|
+
output: log.join('\n'),
|
|
297
|
+
error: `Pre-staged files fall outside the explicit allowlist: ${unexpectedInitialPaths.join(', ')}`,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
const indexSnapshotResult = await execGitArgs(['write-tree'], cwd);
|
|
301
|
+
if (!indexSnapshotResult.success || !/^[0-9a-f]{40,64}$/.test(indexSnapshotResult.output)) {
|
|
302
|
+
return {
|
|
303
|
+
success: false,
|
|
304
|
+
output: log.join('\n'),
|
|
305
|
+
error: `Unable to snapshot the Git index before staging: ${indexSnapshotResult.error || 'invalid tree id'}`,
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
const restoreIndex = async () => {
|
|
309
|
+
const result = await execGitArgs(['read-tree', indexSnapshotResult.output], cwd);
|
|
310
|
+
return result.success ? undefined : result.error || 'unknown index restore error';
|
|
311
|
+
};
|
|
312
|
+
log.push(`📦 Staging ${stagePaths.length} explicit file(s)...`);
|
|
313
|
+
const addResult = await execGitArgs(['add', '--', ...stagePaths], cwd);
|
|
314
|
+
if (!addResult.success) {
|
|
315
|
+
const restoreError = await restoreIndex();
|
|
316
|
+
return {
|
|
317
|
+
success: false,
|
|
318
|
+
output: log.join('\n'),
|
|
319
|
+
error: restoreError
|
|
320
|
+
? `git add failed: ${addResult.error}; index rollback failed: ${restoreError}`
|
|
321
|
+
: `git add failed: ${addResult.error}; index restored`,
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
log.push(` ✓ Staged: ${stagePaths.slice(0, 5).join(', ')}${stagePaths.length > 5 ? '...' : ''}`);
|
|
325
|
+
const stagedResult = await execGitArgs(['diff', '--cached', '--name-only', '-z'], cwd);
|
|
326
|
+
if (!stagedResult.success) {
|
|
327
|
+
const restoreError = await restoreIndex();
|
|
328
|
+
return {
|
|
329
|
+
success: false,
|
|
330
|
+
output: log.join('\n'),
|
|
331
|
+
error: restoreError
|
|
332
|
+
? `Staged-file verification failed: ${stagedResult.error}; index rollback failed: ${restoreError}`
|
|
333
|
+
: `Staged-file verification failed: ${stagedResult.error}; index restored`,
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
const stagedFiles = parseStagedPaths(stagedResult.output);
|
|
337
|
+
const unexpectedStagedPaths = stagedFiles.filter(path => !expectedStagePaths.has(path));
|
|
338
|
+
const missingStagedPaths = stagePaths.filter(path => !stagedFiles.includes(path));
|
|
339
|
+
if (unexpectedStagedPaths.length > 0 || missingStagedPaths.length > 0) {
|
|
340
|
+
const restoreError = await restoreIndex();
|
|
341
|
+
return {
|
|
342
|
+
success: false,
|
|
343
|
+
output: log.join('\n'),
|
|
344
|
+
error: [
|
|
345
|
+
'Staged files do not exactly match the explicit allowlist',
|
|
346
|
+
unexpectedStagedPaths.length > 0
|
|
347
|
+
? `unexpected: ${unexpectedStagedPaths.join(', ')}`
|
|
348
|
+
: '',
|
|
349
|
+
missingStagedPaths.length > 0 ? `missing: ${missingStagedPaths.join(', ')}` : '',
|
|
350
|
+
restoreError ? `index rollback failed: ${restoreError}` : 'index restored',
|
|
351
|
+
]
|
|
352
|
+
.filter(Boolean)
|
|
353
|
+
.join('; '),
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
log.push(` ✓ Verified ${stagedFiles.length} staged file(s)`);
|
|
357
|
+
const preCommitHead = await execGitArgs(['rev-parse', 'HEAD'], cwd);
|
|
358
|
+
if (!preCommitHead.success || !/^[0-9a-f]{40,64}$/.test(preCommitHead.output)) {
|
|
359
|
+
const restoreError = await restoreIndex();
|
|
360
|
+
return {
|
|
361
|
+
success: false,
|
|
362
|
+
output: log.join('\n'),
|
|
363
|
+
error: [
|
|
364
|
+
`Unable to snapshot HEAD before commit: ${preCommitHead.error || 'invalid commit id'}`,
|
|
365
|
+
restoreError ? `index rollback failed: ${restoreError}` : 'index restored',
|
|
366
|
+
].join('; '),
|
|
367
|
+
};
|
|
205
368
|
}
|
|
206
369
|
// 3. git commit
|
|
207
370
|
log.push(`📝 Committing with message: "${message.slice(0, 50)}..."`);
|
|
@@ -212,12 +375,46 @@ Issue #18/#23 修复:不再在未验证的情况下声称成功。`,
|
|
|
212
375
|
log.push(' ⚠ Nothing new to commit');
|
|
213
376
|
}
|
|
214
377
|
else {
|
|
215
|
-
|
|
378
|
+
const postFailureHead = await execGitArgs(['rev-parse', 'HEAD'], cwd);
|
|
379
|
+
const restoreError = await restoreIndex();
|
|
380
|
+
const headChanged = postFailureHead.success && postFailureHead.output !== preCommitHead.output;
|
|
381
|
+
const headStatus = !postFailureHead.success
|
|
382
|
+
? `HEAD verification failed: ${postFailureHead.error || 'unknown error'}`
|
|
383
|
+
: headChanged
|
|
384
|
+
? `HEAD changed unexpectedly from ${preCommitHead.output} to ${postFailureHead.output}; manual recovery required`
|
|
385
|
+
: undefined;
|
|
386
|
+
return {
|
|
387
|
+
success: false,
|
|
388
|
+
output: log.join('\n'),
|
|
389
|
+
error: [
|
|
390
|
+
`git commit failed: ${commitResult.error}`,
|
|
391
|
+
restoreError ? `index rollback failed: ${restoreError}` : 'index restored',
|
|
392
|
+
headStatus,
|
|
393
|
+
]
|
|
394
|
+
.filter(Boolean)
|
|
395
|
+
.join('; '),
|
|
396
|
+
};
|
|
216
397
|
}
|
|
217
398
|
}
|
|
218
399
|
else {
|
|
219
400
|
log.push(' ✓ Commit successful');
|
|
220
401
|
}
|
|
402
|
+
const postCommitChanges = await checkUncommittedChanges(cwd);
|
|
403
|
+
if (!postCommitChanges.success) {
|
|
404
|
+
return {
|
|
405
|
+
success: false,
|
|
406
|
+
output: log.join('\n'),
|
|
407
|
+
error: `Post-commit git status failed: ${postCommitChanges.error}`,
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
if (postCommitChanges.hasChanges) {
|
|
411
|
+
log.push(` ⚠ ${postCommitChanges.files.length} file(s) remain outside the committed boundary`);
|
|
412
|
+
return {
|
|
413
|
+
success: false,
|
|
414
|
+
output: log.join('\n'),
|
|
415
|
+
error: 'Commit created but push was not attempted because the working tree is not clean',
|
|
416
|
+
};
|
|
417
|
+
}
|
|
221
418
|
}
|
|
222
419
|
else {
|
|
223
420
|
log.push(' ✓ Working directory clean, no changes to commit');
|
|
@@ -230,7 +427,7 @@ Issue #18/#23 修复:不再在未验证的情况下声称成功。`,
|
|
|
230
427
|
return {
|
|
231
428
|
success: false,
|
|
232
429
|
output: log.join('\n'),
|
|
233
|
-
error: auth.error || 'Remote authentication failed - please configure git credentials'
|
|
430
|
+
error: auth.error || 'Remote authentication failed - please configure git credentials',
|
|
234
431
|
};
|
|
235
432
|
}
|
|
236
433
|
log.push(' ✓ Authentication verified');
|
|
@@ -239,14 +436,39 @@ Issue #18/#23 修复:不再在未验证的情况下声称成功。`,
|
|
|
239
436
|
log.push('🚀 Pushing to remote...');
|
|
240
437
|
const pushResult = await execGit('push', cwd, 60000); // 60s timeout
|
|
241
438
|
if (!pushResult.success) {
|
|
242
|
-
return {
|
|
439
|
+
return {
|
|
440
|
+
success: false,
|
|
441
|
+
output: log.join('\n'),
|
|
442
|
+
error: `git push failed: ${pushResult.error}`,
|
|
443
|
+
};
|
|
243
444
|
}
|
|
244
445
|
log.push(' ✓ Push completed');
|
|
245
446
|
// 6. 验证最终状态(v0.1.11 增强)
|
|
246
447
|
log.push('✅ Verifying final status...');
|
|
247
448
|
const finalChanges = await checkUncommittedChanges(cwd);
|
|
449
|
+
if (!finalChanges.success) {
|
|
450
|
+
return {
|
|
451
|
+
success: false,
|
|
452
|
+
output: log.join('\n'),
|
|
453
|
+
error: `Final git status failed: ${finalChanges.error}`,
|
|
454
|
+
};
|
|
455
|
+
}
|
|
248
456
|
const logResult = await execGit('log --oneline -1', cwd);
|
|
457
|
+
if (!logResult.success) {
|
|
458
|
+
return {
|
|
459
|
+
success: false,
|
|
460
|
+
output: log.join('\n'),
|
|
461
|
+
error: `Final git log failed: ${logResult.error}`,
|
|
462
|
+
};
|
|
463
|
+
}
|
|
249
464
|
const untrackedResult = await execGit('status --short', cwd);
|
|
465
|
+
if (!untrackedResult.success) {
|
|
466
|
+
return {
|
|
467
|
+
success: false,
|
|
468
|
+
output: log.join('\n'),
|
|
469
|
+
error: `Final git status --short failed: ${untrackedResult.error}`,
|
|
470
|
+
};
|
|
471
|
+
}
|
|
250
472
|
// v0.1.11: 检查是否有未追踪文件(?? 状态)
|
|
251
473
|
const untrackedFiles = untrackedResult.output
|
|
252
474
|
.split('\n')
|
|
@@ -266,8 +488,29 @@ Issue #18/#23 修复:不再在未验证的情况下声称成功。`,
|
|
|
266
488
|
error: 'Push completed but some files remain uncommitted - check git status',
|
|
267
489
|
};
|
|
268
490
|
}
|
|
491
|
+
const branchResult = await execGitArgs(['branch', '--show-current'], cwd);
|
|
492
|
+
if (!branchResult.success || !branchResult.output.trim()) {
|
|
493
|
+
return {
|
|
494
|
+
success: false,
|
|
495
|
+
output: log.join('\n'),
|
|
496
|
+
error: `Push completed but current branch verification failed: ${branchResult.error || 'empty branch'}`,
|
|
497
|
+
};
|
|
498
|
+
}
|
|
499
|
+
const branch = branchResult.output.trim();
|
|
500
|
+
const remoteResult = await execGitArgs(['config', '--get', `branch.${branch}.remote`], cwd);
|
|
501
|
+
if (!remoteResult.success || !remoteResult.output.trim()) {
|
|
502
|
+
return {
|
|
503
|
+
success: false,
|
|
504
|
+
output: log.join('\n'),
|
|
505
|
+
error: `Push completed but upstream remote verification failed: ${remoteResult.error || 'missing branch remote'}`,
|
|
506
|
+
};
|
|
507
|
+
}
|
|
508
|
+
const remote = remoteResult.output.trim();
|
|
509
|
+
const latestCommit = logResult.output.split('\n')[0];
|
|
269
510
|
log.push(` ✓ Working directory clean`);
|
|
270
|
-
log.push(` ✓
|
|
511
|
+
log.push(` ✓ Pushed branch: ${branch}`);
|
|
512
|
+
log.push(` ✓ Remote: ${remote}`);
|
|
513
|
+
log.push(` ✓ Latest commit: ${latestCommit}`);
|
|
271
514
|
return {
|
|
272
515
|
success: true,
|
|
273
516
|
output: log.join('\n'),
|
|
@@ -275,8 +518,13 @@ Issue #18/#23 修复:不再在未验证的情况下声称成功。`,
|
|
|
275
518
|
},
|
|
276
519
|
isDestructive: () => true,
|
|
277
520
|
isConcurrencySafe: () => false,
|
|
278
|
-
checkPermissions:
|
|
279
|
-
|
|
521
|
+
checkPermissions: args => ({
|
|
522
|
+
behavior: 'ask',
|
|
523
|
+
reason: Array.isArray(args.paths) && args.paths.length > 0
|
|
524
|
+
? `git push will stage ${args.paths.length} explicit path(s), commit, and modify the remote repository`
|
|
525
|
+
: 'git push will modify the remote repository and refuses uncommitted changes without explicit paths',
|
|
526
|
+
}),
|
|
527
|
+
userFacingName: args => `Git Push: ${args.message?.slice(0, 30)}`,
|
|
280
528
|
});
|
|
281
529
|
// ============================================================================
|
|
282
530
|
// 导出
|
package/dist/tools/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/tools/git.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/tools/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAyB3B,eAAO,MAAM,wBAAwB,aAMnC,CAAC;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AA+BtC,eAAO,MAAM,KAAK,EAAE,aAAa,EAuxBhC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,aAAa,EAAE,CAEjD;AAscD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;CACvB;AAguBD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAcD;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAGD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gCAAgC,EAChC,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACd,KAAK,cAAc,EACnB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -20,6 +20,7 @@ const fs_1 = require("fs");
|
|
|
20
20
|
const path_1 = require("path");
|
|
21
21
|
const readline_1 = require("readline");
|
|
22
22
|
const tool_1 = require("../framework/tool");
|
|
23
|
+
const external_assertion_1 = require("../framework/external-assertion");
|
|
23
24
|
const tool_state_1 = require("../framework/tool-state");
|
|
24
25
|
const tool_artifacts_1 = require("../core/tool-artifacts");
|
|
25
26
|
const environment_1 = require("../product/environment");
|
|
@@ -34,7 +35,13 @@ const git_1 = require("./git");
|
|
|
34
35
|
const lsp_1 = require("./lsp");
|
|
35
36
|
const tools_1 = require("../runtime/goals/tools");
|
|
36
37
|
const bash_security_1 = require("./bash_security");
|
|
37
|
-
exports.BATCH_READ_ALLOWED_TOOLS = new Set([
|
|
38
|
+
exports.BATCH_READ_ALLOWED_TOOLS = new Set([
|
|
39
|
+
'git_status',
|
|
40
|
+
'list_files',
|
|
41
|
+
'glob',
|
|
42
|
+
'grep',
|
|
43
|
+
'read_file',
|
|
44
|
+
]);
|
|
38
45
|
exports.BATCH_READ_MAX_STEPS = 8;
|
|
39
46
|
const BATCH_READ_STEP_OUTPUT_MAX_BYTES = 1600;
|
|
40
47
|
function compactOneLine(text, maxLength) {
|
|
@@ -506,7 +513,6 @@ exports.TOOLS = [
|
|
|
506
513
|
const name = args.name;
|
|
507
514
|
const type = args.type;
|
|
508
515
|
const content = args.content;
|
|
509
|
-
const description = args.description || content.slice(0, 80);
|
|
510
516
|
if (!name || typeof name !== 'string') {
|
|
511
517
|
return { success: false, output: '', error: 'memory_save requires a name parameter' };
|
|
512
518
|
}
|
|
@@ -520,6 +526,7 @@ exports.TOOLS = [
|
|
|
520
526
|
if (!content || typeof content !== 'string') {
|
|
521
527
|
return { success: false, output: '', error: 'memory_save requires a content parameter' };
|
|
522
528
|
}
|
|
529
|
+
const description = args.description || content.slice(0, 80);
|
|
523
530
|
try {
|
|
524
531
|
const projectPath = context?.cwd || process.cwd();
|
|
525
532
|
const entry = {
|
|
@@ -1310,7 +1317,11 @@ async function editFile_(path, old_string, new_string, replace_all, fuzzy_match,
|
|
|
1310
1317
|
}
|
|
1311
1318
|
const fileStat = safeStatSync(resolved);
|
|
1312
1319
|
if (!fileStat) {
|
|
1313
|
-
return {
|
|
1320
|
+
return {
|
|
1321
|
+
success: false,
|
|
1322
|
+
output: '',
|
|
1323
|
+
error: `Cannot access file: ${normalizedPath} (may be a dangling symlink)`,
|
|
1324
|
+
};
|
|
1314
1325
|
}
|
|
1315
1326
|
if (fileStat.isDirectory()) {
|
|
1316
1327
|
return {
|
|
@@ -1588,7 +1599,11 @@ async function grep_(pattern, basePath, globPattern, contextLines, cwd) {
|
|
|
1588
1599
|
}
|
|
1589
1600
|
const baseStat = safeStatSync(base);
|
|
1590
1601
|
if (!baseStat) {
|
|
1591
|
-
return {
|
|
1602
|
+
return {
|
|
1603
|
+
success: false,
|
|
1604
|
+
output: '',
|
|
1605
|
+
error: `Cannot access path: ${base} (may be a dangling symlink or missing)`,
|
|
1606
|
+
};
|
|
1592
1607
|
}
|
|
1593
1608
|
if (baseStat.isDirectory()) {
|
|
1594
1609
|
collectFiles(base);
|
|
@@ -1826,6 +1841,9 @@ async function executeTool(name, args, abortSignal, toolContext) {
|
|
|
1826
1841
|
turnId: toolContext?.turnId,
|
|
1827
1842
|
};
|
|
1828
1843
|
const result = await tool.execute(args, context);
|
|
1844
|
+
// Assertions are generated by the runtime allowlist, never accepted from a
|
|
1845
|
+
// tool's display summary or arbitrary custom ToolResult payload.
|
|
1846
|
+
const externalAssertion = (0, external_assertion_1.deriveToolExternalAssertion)({ name, args, result });
|
|
1829
1847
|
const summary = summarizeToolResult(tool, args, result);
|
|
1830
1848
|
const outputBytes = Buffer.byteLength(result.output || '', 'utf8');
|
|
1831
1849
|
let output = result.output || '';
|
|
@@ -1842,6 +1860,7 @@ async function executeTool(name, args, abortSignal, toolContext) {
|
|
|
1842
1860
|
output,
|
|
1843
1861
|
summary,
|
|
1844
1862
|
outputBytes,
|
|
1863
|
+
externalAssertion,
|
|
1845
1864
|
};
|
|
1846
1865
|
if (!result.success) {
|
|
1847
1866
|
payload.error = result.error;
|