@orion-agents/orion-code 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -5
- package/README.zh-CN.md +14 -4
- package/dist/cli.js +11 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +201 -115
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/target-command.d.ts.map +1 -1
- package/dist/commands/target-command.js +1 -1
- package/dist/commands/target-command.js.map +1 -1
- package/dist/commands/types.d.ts +33 -0
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js +5 -1
- package/dist/commands/types.js.map +1 -1
- package/dist/core/state.d.ts +94 -0
- package/dist/core/state.d.ts.map +1 -0
- package/dist/core/state.js +178 -0
- package/dist/core/state.js.map +1 -0
- package/dist/framework/query.d.ts +3 -0
- package/dist/framework/query.d.ts.map +1 -1
- package/dist/framework/query.js +25 -7
- package/dist/framework/query.js.map +1 -1
- package/dist/harness/context-harness.d.ts.map +1 -1
- package/dist/harness/context-harness.js +4 -3
- package/dist/harness/context-harness.js.map +1 -1
- package/dist/harness/drift-guard.d.ts.map +1 -1
- package/dist/harness/drift-guard.js +14 -5
- package/dist/harness/drift-guard.js.map +1 -1
- package/dist/ink/bidi.d.ts +16 -0
- package/dist/ink/bidi.d.ts.map +1 -0
- package/dist/ink/bidi.js +124 -0
- package/dist/ink/bidi.js.map +1 -0
- package/dist/ink/clearTerminal.d.ts +14 -0
- package/dist/ink/clearTerminal.d.ts.map +1 -0
- package/dist/ink/clearTerminal.js +63 -0
- package/dist/ink/clearTerminal.js.map +1 -0
- package/dist/ink/colorize.d.ts +17 -0
- package/dist/ink/colorize.d.ts.map +1 -0
- package/dist/ink/colorize.js +208 -0
- package/dist/ink/colorize.js.map +1 -0
- package/dist/ink/components/App.d.ts +73 -0
- package/dist/ink/components/App.d.ts.map +1 -0
- package/dist/ink/components/App.js +646 -0
- package/dist/ink/components/App.js.map +1 -0
- package/dist/ink/components/AppContext.d.ts +12 -0
- package/dist/ink/components/AppContext.d.ts.map +1 -0
- package/dist/ink/components/AppContext.js +14 -0
- package/dist/ink/components/AppContext.js.map +1 -0
- package/dist/ink/components/Box.d.ts +44 -0
- package/dist/ink/components/Box.d.ts.map +1 -0
- package/dist/ink/components/Box.js +191 -0
- package/dist/ink/components/Box.js.map +1 -0
- package/dist/ink/components/ClockContext.d.ts +9 -0
- package/dist/ink/components/ClockContext.d.ts.map +1 -0
- package/dist/ink/components/ClockContext.js +146 -0
- package/dist/ink/components/ClockContext.js.map +1 -0
- package/dist/ink/components/CursorDeclarationContext.d.ts +23 -0
- package/dist/ink/components/CursorDeclarationContext.d.ts.map +1 -0
- package/dist/ink/components/CursorDeclarationContext.js +6 -0
- package/dist/ink/components/CursorDeclarationContext.js.map +1 -0
- package/dist/ink/components/ErrorOverview.d.ts +6 -0
- package/dist/ink/components/ErrorOverview.d.ts.map +1 -0
- package/dist/ink/components/ErrorOverview.js +27 -0
- package/dist/ink/components/ErrorOverview.js.map +1 -0
- package/dist/ink/components/Newline.d.ts +13 -0
- package/dist/ink/components/Newline.d.ts.map +1 -0
- package/dist/ink/components/Newline.js +36 -0
- package/dist/ink/components/Newline.js.map +1 -0
- package/dist/ink/components/NoSelect.d.ts +20 -0
- package/dist/ink/components/NoSelect.d.ts.map +1 -0
- package/dist/ink/components/NoSelect.js +63 -0
- package/dist/ink/components/NoSelect.js.map +1 -0
- package/dist/ink/components/RawAnsi.d.ts +17 -0
- package/dist/ink/components/RawAnsi.d.ts.map +1 -0
- package/dist/ink/components/RawAnsi.js +52 -0
- package/dist/ink/components/RawAnsi.js.map +1 -0
- package/dist/ink/components/Spacer.d.ts +6 -0
- package/dist/ink/components/Spacer.d.ts.map +1 -0
- package/dist/ink/components/Spacer.js +26 -0
- package/dist/ink/components/Spacer.js.map +1 -0
- package/dist/ink/components/StdinContext.d.ts +28 -0
- package/dist/ink/components/StdinContext.d.ts.map +1 -0
- package/dist/ink/components/StdinContext.js +19 -0
- package/dist/ink/components/StdinContext.js.map +1 -0
- package/dist/ink/components/TerminalFocusContext.d.ts +10 -0
- package/dist/ink/components/TerminalFocusContext.d.ts.map +1 -0
- package/dist/ink/components/TerminalFocusContext.js +81 -0
- package/dist/ink/components/TerminalFocusContext.js.map +1 -0
- package/dist/ink/components/TerminalSizeContext.d.ts +6 -0
- package/dist/ink/components/TerminalSizeContext.d.ts.map +1 -0
- package/dist/ink/components/TerminalSizeContext.js +6 -0
- package/dist/ink/components/TerminalSizeContext.js.map +1 -0
- package/dist/ink/components/Text.d.ts +56 -0
- package/dist/ink/components/Text.d.ts.map +1 -0
- package/dist/ink/components/Text.js +201 -0
- package/dist/ink/components/Text.js.map +1 -0
- package/dist/ink/constants.d.ts +2 -0
- package/dist/ink/constants.d.ts.map +1 -0
- package/dist/ink/constants.js +6 -0
- package/dist/ink/constants.js.map +1 -0
- package/dist/ink/devtools.d.ts +3 -0
- package/dist/ink/devtools.d.ts.map +1 -0
- package/dist/ink/devtools.js +5 -0
- package/dist/ink/devtools.js.map +1 -0
- package/dist/ink/dom.d.ts +77 -0
- package/dist/ink/dom.d.ts.map +1 -0
- package/dist/ink/dom.js +322 -0
- package/dist/ink/dom.js.map +1 -0
- package/dist/ink/events/click-event.d.ts +32 -0
- package/dist/ink/events/click-event.d.ts.map +1 -0
- package/dist/ink/events/click-event.js +30 -0
- package/dist/ink/events/click-event.js.map +1 -0
- package/dist/ink/events/dispatcher.d.ts +41 -0
- package/dist/ink/events/dispatcher.d.ts.map +1 -0
- package/dist/ink/events/dispatcher.js +181 -0
- package/dist/ink/events/dispatcher.js.map +1 -0
- package/dist/ink/events/emitter.d.ts +6 -0
- package/dist/ink/events/emitter.d.ts.map +1 -0
- package/dist/ink/events/emitter.js +36 -0
- package/dist/ink/events/emitter.js.map +1 -0
- package/dist/ink/events/event-handlers.d.ts +47 -0
- package/dist/ink/events/event-handlers.d.ts.map +1 -0
- package/dist/ink/events/event-handlers.js +34 -0
- package/dist/ink/events/event-handlers.js.map +1 -0
- package/dist/ink/events/event.d.ts +6 -0
- package/dist/ink/events/event.d.ts.map +1 -0
- package/dist/ink/events/event.js +16 -0
- package/dist/ink/events/event.js.map +1 -0
- package/dist/ink/events/focus-event.d.ts +14 -0
- package/dist/ink/events/focus-event.d.ts.map +1 -0
- package/dist/ink/events/focus-event.js +20 -0
- package/dist/ink/events/focus-event.js.map +1 -0
- package/dist/ink/events/input-event.d.ts +31 -0
- package/dist/ink/events/input-event.d.ts.map +1 -0
- package/dist/ink/events/input-event.js +163 -0
- package/dist/ink/events/input-event.js.map +1 -0
- package/dist/ink/events/keyboard-event.d.ts +20 -0
- package/dist/ink/events/keyboard-event.d.ts.map +1 -0
- package/dist/ink/events/keyboard-event.js +44 -0
- package/dist/ink/events/keyboard-event.js.map +1 -0
- package/dist/ink/events/terminal-event.d.ts +55 -0
- package/dist/ink/events/terminal-event.d.ts.map +1 -0
- package/dist/ink/events/terminal-event.js +79 -0
- package/dist/ink/events/terminal-event.js.map +1 -0
- package/dist/ink/events/terminal-focus-event.d.ts +14 -0
- package/dist/ink/events/terminal-focus-event.d.ts.map +1 -0
- package/dist/ink/events/terminal-focus-event.js +19 -0
- package/dist/ink/events/terminal-focus-event.js.map +1 -0
- package/dist/ink/focus.d.ts +44 -0
- package/dist/ink/focus.d.ts.map +1 -0
- package/dist/ink/focus.js +164 -0
- package/dist/ink/focus.js.map +1 -0
- package/dist/ink/frame.d.ts +95 -0
- package/dist/ink/frame.d.ts.map +1 -0
- package/dist/ink/frame.js +35 -0
- package/dist/ink/frame.js.map +1 -0
- package/dist/ink/get-max-width.d.ts +18 -0
- package/dist/ink/get-max-width.d.ts.map +1 -0
- package/dist/ink/get-max-width.js +26 -0
- package/dist/ink/get-max-width.js.map +1 -0
- package/dist/ink/hit-test.d.ts +34 -0
- package/dist/ink/hit-test.d.ts.map +1 -0
- package/dist/ink/hit-test.js +119 -0
- package/dist/ink/hit-test.js.map +1 -0
- package/dist/ink/hooks/use-animation-frame.d.ts +27 -0
- package/dist/ink/hooks/use-animation-frame.d.ts.map +1 -0
- package/dist/ink/hooks/use-animation-frame.js +52 -0
- package/dist/ink/hooks/use-animation-frame.js.map +1 -0
- package/dist/ink/hooks/use-app.d.ts +6 -0
- package/dist/ink/hooks/use-app.d.ts.map +1 -0
- package/dist/ink/hooks/use-app.js +13 -0
- package/dist/ink/hooks/use-app.js.map +1 -0
- package/dist/ink/hooks/use-declared-cursor.d.ts +27 -0
- package/dist/ink/hooks/use-declared-cursor.d.ts.map +1 -0
- package/dist/ink/hooks/use-declared-cursor.js +67 -0
- package/dist/ink/hooks/use-declared-cursor.js.map +1 -0
- package/dist/ink/hooks/use-input.d.ts +38 -0
- package/dist/ink/hooks/use-input.d.ts.map +1 -0
- package/dist/ink/hooks/use-input.js +86 -0
- package/dist/ink/hooks/use-input.js.map +1 -0
- package/dist/ink/hooks/use-interval.d.ts +19 -0
- package/dist/ink/hooks/use-interval.d.ts.map +1 -0
- package/dist/ink/hooks/use-interval.js +59 -0
- package/dist/ink/hooks/use-interval.js.map +1 -0
- package/dist/ink/hooks/use-search-highlight.d.ts +31 -0
- package/dist/ink/hooks/use-search-highlight.d.ts.map +1 -0
- package/dist/ink/hooks/use-search-highlight.js +39 -0
- package/dist/ink/hooks/use-search-highlight.js.map +1 -0
- package/dist/ink/hooks/use-selection.d.ts +40 -0
- package/dist/ink/hooks/use-selection.d.ts.map +1 -0
- package/dist/ink/hooks/use-selection.js +68 -0
- package/dist/ink/hooks/use-selection.js.map +1 -0
- package/dist/ink/hooks/use-stdin.d.ts +6 -0
- package/dist/ink/hooks/use-stdin.d.ts.map +1 -0
- package/dist/ink/hooks/use-stdin.js +13 -0
- package/dist/ink/hooks/use-stdin.js.map +1 -0
- package/dist/ink/hooks/use-tab-status.d.ts +14 -0
- package/dist/ink/hooks/use-tab-status.d.ts.map +1 -0
- package/dist/ink/hooks/use-tab-status.js +61 -0
- package/dist/ink/hooks/use-tab-status.js.map +1 -0
- package/dist/ink/hooks/use-terminal-focus.d.ts +11 -0
- package/dist/ink/hooks/use-terminal-focus.d.ts.map +1 -0
- package/dist/ink/hooks/use-terminal-focus.js +22 -0
- package/dist/ink/hooks/use-terminal-focus.js.map +1 -0
- package/dist/ink/hooks/use-terminal-title.d.ts +13 -0
- package/dist/ink/hooks/use-terminal-title.d.ts.map +1 -0
- package/dist/ink/hooks/use-terminal-title.js +36 -0
- package/dist/ink/hooks/use-terminal-title.js.map +1 -0
- package/dist/ink/hooks/use-terminal-viewport.d.ts +30 -0
- package/dist/ink/hooks/use-terminal-viewport.d.ts.map +1 -0
- package/dist/ink/hooks/use-terminal-viewport.js +81 -0
- package/dist/ink/hooks/use-terminal-viewport.js.map +1 -0
- package/dist/ink/ink.d.ts +371 -0
- package/dist/ink/ink.d.ts.map +1 -0
- package/dist/ink/ink.js +1686 -0
- package/dist/ink/ink.js.map +1 -0
- package/dist/ink/instances.d.ts +4 -0
- package/dist/ink/instances.d.ts.map +1 -0
- package/dist/ink/instances.js +10 -0
- package/dist/ink/instances.js.map +1 -0
- package/dist/ink/line-width-cache.d.ts +2 -0
- package/dist/ink/line-width-cache.d.ts.map +1 -0
- package/dist/ink/line-width-cache.js +23 -0
- package/dist/ink/line-width-cache.js.map +1 -0
- package/dist/ink/log-update.d.ts +18 -0
- package/dist/ink/log-update.d.ts.map +1 -0
- package/dist/ink/log-update.js +637 -0
- package/dist/ink/log-update.js.map +1 -0
- package/dist/ink/measure-element.d.ts +17 -0
- package/dist/ink/measure-element.d.ts.map +1 -0
- package/dist/ink/measure-element.js +11 -0
- package/dist/ink/measure-element.js.map +1 -0
- package/dist/ink/measure-text.d.ts +7 -0
- package/dist/ink/measure-text.d.ts.map +1 -0
- package/dist/ink/measure-text.js +38 -0
- package/dist/ink/measure-text.js.map +1 -0
- package/dist/ink/node-cache.d.ts +21 -0
- package/dist/ink/node-cache.d.ts.map +1 -0
- package/dist/ink/node-cache.js +36 -0
- package/dist/ink/node-cache.js.map +1 -0
- package/dist/ink/optimizer.d.ts +16 -0
- package/dist/ink/optimizer.d.ts.map +1 -0
- package/dist/ink/optimizer.js +85 -0
- package/dist/ink/optimizer.js.map +1 -0
- package/dist/ink/output.d.ts +120 -0
- package/dist/ink/output.d.ts.map +1 -0
- package/dist/ink/output.js +559 -0
- package/dist/ink/output.js.map +1 -0
- package/dist/ink/parse-keypress.d.ts +112 -0
- package/dist/ink/parse-keypress.d.ts.map +1 -0
- package/dist/ink/parse-keypress.js +719 -0
- package/dist/ink/parse-keypress.js.map +1 -0
- package/dist/ink/parse-keypress.test.d.ts +2 -0
- package/dist/ink/parse-keypress.test.d.ts.map +1 -0
- package/dist/ink/parse-keypress.test.js +37 -0
- package/dist/ink/parse-keypress.test.js.map +1 -0
- package/dist/ink/reconciler.d.ts +12 -0
- package/dist/ink/reconciler.d.ts.map +1 -0
- package/dist/ink/reconciler.js +456 -0
- package/dist/ink/reconciler.js.map +1 -0
- package/dist/ink/render-border.d.ts +25 -0
- package/dist/ink/render-border.d.ts.map +1 -0
- package/dist/ink/render-border.js +141 -0
- package/dist/ink/render-border.js.map +1 -0
- package/dist/ink/render-node-to-output.d.ts +46 -0
- package/dist/ink/render-node-to-output.d.ts.map +1 -0
- package/dist/ink/render-node-to-output.js +1257 -0
- package/dist/ink/render-node-to-output.js.map +1 -0
- package/dist/ink/render-to-screen.d.ts +47 -0
- package/dist/ink/render-to-screen.d.ts.map +1 -0
- package/dist/ink/render-to-screen.js +213 -0
- package/dist/ink/render-to-screen.js.map +1 -0
- package/dist/ink/renderer.d.ts +15 -0
- package/dist/ink/renderer.d.ts.map +1 -0
- package/dist/ink/renderer.js +169 -0
- package/dist/ink/renderer.js.map +1 -0
- package/dist/ink/root.d.ts +75 -0
- package/dist/ink/root.d.ts.map +1 -0
- package/dist/ink/root.js +89 -0
- package/dist/ink/root.js.map +1 -0
- package/dist/ink/screen.d.ts +270 -0
- package/dist/ink/screen.d.ts.map +1 -0
- package/dist/ink/screen.js +1194 -0
- package/dist/ink/screen.js.map +1 -0
- package/dist/ink/searchHighlight.d.ts +21 -0
- package/dist/ink/searchHighlight.d.ts.map +1 -0
- package/dist/ink/searchHighlight.js +82 -0
- package/dist/ink/searchHighlight.js.map +1 -0
- package/dist/ink/selection.d.ts +230 -0
- package/dist/ink/selection.d.ts.map +1 -0
- package/dist/ink/selection.js +814 -0
- package/dist/ink/selection.js.map +1 -0
- package/dist/ink/squash-text-nodes.d.ts +23 -0
- package/dist/ink/squash-text-nodes.d.ts.map +1 -0
- package/dist/ink/squash-text-nodes.js +60 -0
- package/dist/ink/squash-text-nodes.js.map +1 -0
- package/dist/ink/stringWidth.d.ts +2 -0
- package/dist/ink/stringWidth.d.ts.map +1 -0
- package/dist/ink/stringWidth.js +207 -0
- package/dist/ink/stringWidth.js.map +1 -0
- package/dist/ink/styles.d.ts +307 -0
- package/dist/ink/styles.d.ts.map +1 -0
- package/dist/ink/styles.js +302 -0
- package/dist/ink/styles.js.map +1 -0
- package/dist/ink/supports-hyperlinks.d.ts +14 -0
- package/dist/ink/supports-hyperlinks.d.ts.map +1 -0
- package/dist/ink/supports-hyperlinks.js +48 -0
- package/dist/ink/supports-hyperlinks.js.map +1 -0
- package/dist/ink/tabstops.d.ts +2 -0
- package/dist/ink/tabstops.d.ts.map +1 -0
- package/dist/ink/tabstops.js +43 -0
- package/dist/ink/tabstops.js.map +1 -0
- package/dist/ink/terminal-focus-state.d.ts +7 -0
- package/dist/ink/terminal-focus-state.d.ts.map +1 -0
- package/dist/ink/terminal-focus-state.js +43 -0
- package/dist/ink/terminal-focus-state.js.map +1 -0
- package/dist/ink/terminal-querier.d.ts +130 -0
- package/dist/ink/terminal-querier.d.ts.map +1 -0
- package/dist/ink/terminal-querier.js +184 -0
- package/dist/ink/terminal-querier.js.map +1 -0
- package/dist/ink/terminal.d.ts +56 -0
- package/dist/ink/terminal.d.ts.map +1 -0
- package/dist/ink/terminal.js +249 -0
- package/dist/ink/terminal.js.map +1 -0
- package/dist/ink/termio/csi.d.ts +166 -0
- package/dist/ink/termio/csi.d.ts.map +1 -0
- package/dist/ink/termio/csi.js +285 -0
- package/dist/ink/termio/csi.js.map +1 -0
- package/dist/ink/termio/dec.d.ts +38 -0
- package/dist/ink/termio/dec.d.ts.map +1 -0
- package/dist/ink/termio/dec.js +59 -0
- package/dist/ink/termio/dec.js.map +1 -0
- package/dist/ink/termio.d.ts +25 -0
- package/dist/ink/termio.d.ts.map +1 -0
- package/dist/ink/termio.js +32 -0
- package/dist/ink/termio.js.map +1 -0
- package/dist/ink/useTerminalNotification.d.ts +27 -0
- package/dist/ink/useTerminalNotification.d.ts.map +1 -0
- package/dist/ink/useTerminalNotification.js +62 -0
- package/dist/ink/useTerminalNotification.js.map +1 -0
- package/dist/ink/warn.d.ts +2 -0
- package/dist/ink/warn.d.ts.map +1 -0
- package/dist/ink/warn.js +14 -0
- package/dist/ink/warn.js.map +1 -0
- package/dist/ink/widest-line.d.ts +2 -0
- package/dist/ink/widest-line.d.ts.map +1 -0
- package/dist/ink/widest-line.js +18 -0
- package/dist/ink/widest-line.js.map +1 -0
- package/dist/ink/wrap-text.d.ts +3 -0
- package/dist/ink/wrap-text.d.ts.map +1 -0
- package/dist/ink/wrap-text.js +61 -0
- package/dist/ink/wrap-text.js.map +1 -0
- package/dist/ink/wrapAnsi.d.ts +8 -0
- package/dist/ink/wrapAnsi.d.ts.map +1 -0
- package/dist/ink/wrapAnsi.js +13 -0
- package/dist/ink/wrapAnsi.js.map +1 -0
- package/dist/ink-ui/components/TerminalCursor.d.ts +15 -0
- package/dist/ink-ui/components/TerminalCursor.d.ts.map +1 -0
- package/dist/ink-ui/components/TerminalCursor.js +49 -0
- package/dist/ink-ui/components/TerminalCursor.js.map +1 -0
- package/dist/ink-ui/runtime/stdout.d.ts +11 -0
- package/dist/ink-ui/runtime/stdout.d.ts.map +1 -0
- package/dist/ink-ui/runtime/stdout.js +82 -0
- package/dist/ink-ui/runtime/stdout.js.map +1 -0
- package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.js +4 -1
- package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
- package/dist/migration/command.d.ts.map +1 -1
- package/dist/migration/command.js +6 -1
- package/dist/migration/command.js.map +1 -1
- package/dist/migration/migrate.d.ts.map +1 -1
- package/dist/migration/migrate.js +4 -1
- package/dist/migration/migrate.js.map +1 -1
- package/dist/runtime/agent-runtime-controller.d.ts +15 -0
- package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-controller.js +162 -0
- package/dist/runtime/agent-runtime-controller.js.map +1 -1
- package/dist/runtime/agent-runtime-protocol.d.ts +7 -0
- package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-protocol.js +12 -0
- package/dist/runtime/agent-runtime-protocol.js.map +1 -1
- package/dist/runtime/chat-controller.d.ts.map +1 -1
- package/dist/runtime/chat-controller.js +26 -1
- package/dist/runtime/chat-controller.js.map +1 -1
- package/dist/runtime/goal-coordinator.d.ts +66 -0
- package/dist/runtime/goal-coordinator.d.ts.map +1 -0
- package/dist/runtime/goal-coordinator.js +200 -0
- package/dist/runtime/goal-coordinator.js.map +1 -0
- package/dist/runtime/ui-events.d.ts +4 -0
- package/dist/runtime/ui-events.d.ts.map +1 -1
- package/dist/runtime/ui-view-model.d.ts +3 -3
- package/dist/runtime/ui-view-model.d.ts.map +1 -1
- package/dist/runtime/ui-view-model.js +11 -4
- package/dist/runtime/ui-view-model.js.map +1 -1
- package/dist/screens/REPL.d.ts +21 -0
- package/dist/screens/REPL.d.ts.map +1 -0
- package/dist/screens/REPL.js +139 -0
- package/dist/screens/REPL.js.map +1 -0
- package/dist/services/config.d.ts +17 -6
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +29 -12
- package/dist/services/config.js.map +1 -1
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +1 -1
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/global-config.d.ts +1 -1
- package/dist/services/global-config.d.ts.map +1 -1
- package/dist/services/goal-sidecar.d.ts +96 -0
- package/dist/services/goal-sidecar.d.ts.map +1 -0
- package/dist/services/goal-sidecar.js +145 -0
- package/dist/services/goal-sidecar.js.map +1 -0
- package/dist/terminal-ui/completion.js +1 -1
- package/dist/terminal-ui/completion.js.map +1 -1
- package/dist/terminal-ui/launch.d.ts +1 -0
- package/dist/terminal-ui/launch.d.ts.map +1 -1
- package/dist/terminal-ui/launch.js +5 -91
- package/dist/terminal-ui/launch.js.map +1 -1
- package/dist/tools/goal.d.ts +17 -0
- package/dist/tools/goal.d.ts.map +1 -0
- package/dist/tools/goal.js +191 -0
- package/dist/tools/goal.js.map +1 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +7 -7
- package/dist/tools/index.js.map +1 -1
- package/dist/tui-ui/pickers.js +1 -1
- package/dist/tui-ui/pickers.js.map +1 -1
- package/dist/tui-ui/runner.js +1 -17
- package/dist/tui-ui/runner.js.map +1 -1
- package/dist/tui-ui/state.d.ts.map +1 -1
- package/dist/tui-ui/state.js +1 -0
- package/dist/tui-ui/state.js.map +1 -1
- package/dist/ui/ink/components/App.d.ts +6 -0
- package/dist/ui/ink/components/App.d.ts.map +1 -0
- package/dist/ui/ink/components/App.js +38 -0
- package/dist/ui/ink/components/App.js.map +1 -0
- package/dist/ui/ink/components/CommandPanel.d.ts +13 -0
- package/dist/ui/ink/components/CommandPanel.d.ts.map +1 -0
- package/dist/ui/ink/components/CommandPanel.js +41 -0
- package/dist/ui/ink/components/CommandPanel.js.map +1 -0
- package/dist/ui/ink/components/InputLine.d.ts +8 -0
- package/dist/ui/ink/components/InputLine.d.ts.map +1 -0
- package/dist/ui/ink/components/InputLine.js +15 -0
- package/dist/ui/ink/components/InputLine.js.map +1 -0
- package/dist/ui/ink/components/StatusBar.d.ts +9 -0
- package/dist/ui/ink/components/StatusBar.d.ts.map +1 -0
- package/dist/ui/ink/components/StatusBar.js +18 -0
- package/dist/ui/ink/components/StatusBar.js.map +1 -0
- package/dist/ui/ink/components/index.d.ts +5 -0
- package/dist/ui/ink/components/index.d.ts.map +1 -0
- package/dist/ui/ink/components/index.js +5 -0
- package/dist/ui/ink/components/index.js.map +1 -0
- package/dist/utils/chalk.d.ts +9 -0
- package/dist/utils/chalk.d.ts.map +1 -0
- package/dist/utils/chalk.js +16 -0
- package/dist/utils/chalk.js.map +1 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-command.d.ts","sourceRoot":"","sources":["../../src/commands/target-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"target-command.d.ts","sourceRoot":"","sources":["../../src/commands/target-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,GACrC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMjC,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAgEtE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGtD"}
|
|
@@ -76,6 +76,6 @@ function parseTargetCommand(rawInput) {
|
|
|
76
76
|
*/
|
|
77
77
|
function isTargetCommand(input) {
|
|
78
78
|
const trimmed = input.trimStart();
|
|
79
|
-
return
|
|
79
|
+
return /^\/(?:target|goal)(?:\s|$)/.test(trimmed);
|
|
80
80
|
}
|
|
81
81
|
//# sourceMappingURL=target-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-command.js","sourceRoot":"","sources":["../../src/commands/target-command.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"target-command.js","sourceRoot":"","sources":["../../src/commands/target-command.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAiBH,gDAgEC;AAMD,0CAGC;AAvFD,kDAAyD;AAUzD,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE9B,iCAAiC;IACjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QACvG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACvE,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACvE,CAAC;IAED,eAAe;IACf,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;QAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,uBAAe,CAAC,iBAAiB,EAAE,CAAC;YACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,SAAS,CAAC,MAAM,eAAe,uBAAe,CAAC,iBAAiB,mDAAmD,EAAE,CAAC;QAC1K,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;QAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,uBAAe,CAAC,iBAAiB,EAAE,CAAC;YACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,SAAS,CAAC,MAAM,eAAe,uBAAe,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC3H,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAClG,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC7G,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,uBAAe,CAAC,cAAc,EAAE,CAAC;YACzE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oDAAoD,uBAAe,CAAC,cAAc,IAAI,EAAE,CAAC;QACtH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC/G,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,KAAK,aAAa,CAAC;QACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAChG,CAAC;IAED,0CAA0C;IAC1C,IAAI,IAAI,CAAC,MAAM,GAAG,uBAAe,CAAC,iBAAiB,EAAE,CAAC;QACpD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,IAAI,CAAC,MAAM,eAAe,uBAAe,CAAC,iBAAiB,mDAAmD,EAAE,CAAC;IACrK,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACvG,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAClC,OAAO,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC"}
|
package/dist/commands/types.d.ts
CHANGED
|
@@ -38,6 +38,10 @@ export interface CommandContext {
|
|
|
38
38
|
writeOutput?: (text: string) => void;
|
|
39
39
|
/** Write one line while preserving the live input frame, when supported by the UI. */
|
|
40
40
|
writeLine?: (text?: string) => void;
|
|
41
|
+
/** Ask the active renderer to clear its viewport without deleting session data. */
|
|
42
|
+
clearView?: () => void;
|
|
43
|
+
/** Ask the active renderer to begin graceful shutdown. */
|
|
44
|
+
requestShutdown?: (reason?: string) => void;
|
|
41
45
|
/** Active renderer adapter identity, including non-config renderers such as print mode. */
|
|
42
46
|
uiRenderer?: CommandUiRenderer;
|
|
43
47
|
/** Renderer adapter capabilities. Business commands should prefer these over renderer-name checks. */
|
|
@@ -75,6 +79,21 @@ export declare const PERMISSION_MODES: PermissionMode[];
|
|
|
75
79
|
export declare function getNextPermissionMode(current: PermissionMode): PermissionMode;
|
|
76
80
|
/** Get mode display text */
|
|
77
81
|
export declare function getModeDisplayText(mode: PermissionMode): string;
|
|
82
|
+
/** Command execution classification. */
|
|
83
|
+
export type CommandExecution = 'builtin' | 'agent-workflow' | 'renderer-local';
|
|
84
|
+
/** Command risk level used for safety metadata and permission routing. */
|
|
85
|
+
export type CommandRisk = 'read-only' | 'state-write' | 'destructive';
|
|
86
|
+
/** Conditional availability descriptor. */
|
|
87
|
+
export interface CommandAvailability {
|
|
88
|
+
available: boolean;
|
|
89
|
+
reason?: string;
|
|
90
|
+
}
|
|
91
|
+
/** Deprecation metadata for commands that have a planned removal window. */
|
|
92
|
+
export interface CommandDeprecation {
|
|
93
|
+
since: string;
|
|
94
|
+
replacement?: string;
|
|
95
|
+
removeIn?: string;
|
|
96
|
+
}
|
|
78
97
|
/** Slash 命令定义 */
|
|
79
98
|
export interface SlashCommand {
|
|
80
99
|
name: string;
|
|
@@ -91,6 +110,20 @@ export interface SlashCommand {
|
|
|
91
110
|
type: CommandType;
|
|
92
111
|
/** 是否隐藏(不显示在 help 中) */
|
|
93
112
|
isHidden?: boolean;
|
|
113
|
+
/** Where the command logic lives. */
|
|
114
|
+
execution?: CommandExecution;
|
|
115
|
+
/** Renderers where this command is meaningful. Omit for all-renderer commands. */
|
|
116
|
+
rendererScope?: CommandUiRenderer[];
|
|
117
|
+
/** Safety classification. Commands without metadata default to 'state-write'. */
|
|
118
|
+
risk?: CommandRisk;
|
|
119
|
+
/** Dynamic availability check. Unavailable commands explain why in help/palette. */
|
|
120
|
+
availability?: (ctx: CommandContext) => CommandAvailability;
|
|
121
|
+
/** Deprecation lifecycle metadata. */
|
|
122
|
+
deprecated?: CommandDeprecation;
|
|
94
123
|
execute(ctx: CommandContext, args: string): Promise<CommandResult> | CommandResult;
|
|
95
124
|
}
|
|
125
|
+
/** List of renderers that a command scope can apply to. */
|
|
126
|
+
export declare const ALL_RENDERER_SCOPES: CommandUiRenderer[];
|
|
127
|
+
/** Default risk when no explicit metadata is present on a command. */
|
|
128
|
+
export declare const DEFAULT_COMMAND_RISK: CommandRisk;
|
|
96
129
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/types.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* 非 `/` 前缀的输入直接作为 chat 消息处理。
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.PERMISSION_MODES = void 0;
|
|
9
|
+
exports.DEFAULT_COMMAND_RISK = exports.ALL_RENDERER_SCOPES = exports.PERMISSION_MODES = void 0;
|
|
10
10
|
exports.getNextPermissionMode = getNextPermissionMode;
|
|
11
11
|
exports.getModeDisplayText = getModeDisplayText;
|
|
12
12
|
/** Permission mode cycle order */
|
|
@@ -29,4 +29,8 @@ function getModeDisplayText(mode) {
|
|
|
29
29
|
return '';
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
+
/** List of renderers that a command scope can apply to. */
|
|
33
|
+
exports.ALL_RENDERER_SCOPES = ['tui', 'terminal', 'ink', 'print'];
|
|
34
|
+
/** Default risk when no explicit metadata is present on a command. */
|
|
35
|
+
exports.DEFAULT_COMMAND_RISK = 'state-write';
|
|
32
36
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAoGH,sDAGC;AAGD,gDAWC;AArBD,kCAAkC;AACrB,QAAA,gBAAgB,GAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7F,8CAA8C;AAC9C,SAAgB,qBAAqB,CAAC,OAAuB;IAC3D,MAAM,GAAG,GAAG,wBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,wBAAgB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,wBAAgB,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,4BAA4B;AAC5B,SAAgB,kBAAkB,CAAC,IAAoB;IACrD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,aAAa;YAChB,OAAO,mBAAmB,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAkDD,2DAA2D;AAC9C,QAAA,mBAAmB,GAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAE5F,sEAAsE;AACzD,QAAA,oBAAoB,GAAgB,aAAa,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* openhorse - Bootstrap State 管理
|
|
3
|
+
*
|
|
4
|
+
* v0.1.11: 全局状态字段规范化
|
|
5
|
+
*
|
|
6
|
+
* 提供项目标识、成本追踪、会话状态、缓存等状态管理
|
|
7
|
+
*/
|
|
8
|
+
export interface ModelUsage {
|
|
9
|
+
tokens: number;
|
|
10
|
+
cost: number;
|
|
11
|
+
}
|
|
12
|
+
export interface GlobalState {
|
|
13
|
+
projectRoot: string;
|
|
14
|
+
sessionId: string;
|
|
15
|
+
totalCostUSD: number;
|
|
16
|
+
modelUsage: Map<string, ModelUsage>;
|
|
17
|
+
sessionBypassPermissionsMode: boolean;
|
|
18
|
+
hasExitedPlanMode: boolean;
|
|
19
|
+
cachedMemoryContent: string | null;
|
|
20
|
+
initializedAt: number;
|
|
21
|
+
lastActivityAt: number;
|
|
22
|
+
toolCallCount: number;
|
|
23
|
+
errorCount: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 初始化全局状态
|
|
27
|
+
* @param projectRoot - 项目根目录
|
|
28
|
+
* @param sessionId - 会话 ID
|
|
29
|
+
*/
|
|
30
|
+
export declare function initGlobalState(projectRoot: string, sessionId?: string): GlobalState;
|
|
31
|
+
/**
|
|
32
|
+
* 获取全局状态
|
|
33
|
+
*/
|
|
34
|
+
export declare function getGlobalState(): GlobalState | null;
|
|
35
|
+
/**
|
|
36
|
+
* 确保全局状态已初始化
|
|
37
|
+
*/
|
|
38
|
+
export declare function ensureGlobalState(): GlobalState;
|
|
39
|
+
/**
|
|
40
|
+
* 重置全局状态
|
|
41
|
+
*/
|
|
42
|
+
export declare function resetGlobalState(): void;
|
|
43
|
+
/**
|
|
44
|
+
* 更新最后活动时间
|
|
45
|
+
*/
|
|
46
|
+
export declare function updateActivity(): void;
|
|
47
|
+
/**
|
|
48
|
+
* 记录工具调用
|
|
49
|
+
*/
|
|
50
|
+
export declare function recordToolCall(): void;
|
|
51
|
+
/**
|
|
52
|
+
* 记录错误
|
|
53
|
+
*/
|
|
54
|
+
export declare function recordError(): void;
|
|
55
|
+
/**
|
|
56
|
+
* 添加成本
|
|
57
|
+
*/
|
|
58
|
+
export declare function addCost(model: string, tokens: number, costUSD: number): void;
|
|
59
|
+
/**
|
|
60
|
+
* 设置内存缓存
|
|
61
|
+
*/
|
|
62
|
+
export declare function setCachedMemory(content: string): void;
|
|
63
|
+
/**
|
|
64
|
+
* 清除内存缓存
|
|
65
|
+
*/
|
|
66
|
+
export declare function clearCachedMemory(): void;
|
|
67
|
+
/**
|
|
68
|
+
* 设置绕过权限模式
|
|
69
|
+
*/
|
|
70
|
+
export declare function setBypassPermissionsMode(enabled: boolean): void;
|
|
71
|
+
/**
|
|
72
|
+
* 标记已退出计划模式
|
|
73
|
+
*/
|
|
74
|
+
export declare function markExitedPlanMode(): void;
|
|
75
|
+
/**
|
|
76
|
+
* 获取状态摘要
|
|
77
|
+
*/
|
|
78
|
+
export declare function getStateSummary(): string;
|
|
79
|
+
export declare const STATE_MANAGER: {
|
|
80
|
+
initGlobalState: typeof initGlobalState;
|
|
81
|
+
getGlobalState: typeof getGlobalState;
|
|
82
|
+
ensureGlobalState: typeof ensureGlobalState;
|
|
83
|
+
resetGlobalState: typeof resetGlobalState;
|
|
84
|
+
updateActivity: typeof updateActivity;
|
|
85
|
+
recordToolCall: typeof recordToolCall;
|
|
86
|
+
recordError: typeof recordError;
|
|
87
|
+
addCost: typeof addCost;
|
|
88
|
+
setCachedMemory: typeof setCachedMemory;
|
|
89
|
+
clearCachedMemory: typeof clearCachedMemory;
|
|
90
|
+
setBypassPermissionsMode: typeof setBypassPermissionsMode;
|
|
91
|
+
markExitedPlanMode: typeof markExitedPlanMode;
|
|
92
|
+
getStateSummary: typeof getStateSummary;
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAE1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAGlB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAGpC,4BAA4B,EAAE,OAAO,CAAC;IACtC,iBAAiB,EAAE,OAAO,CAAC;IAG3B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGnC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IAGvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAqBpF;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAEnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAK/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAMD;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAU5E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAG/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAYD;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAcxC;AAMD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;CAczB,CAAC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* openhorse - Bootstrap State 管理
|
|
4
|
+
*
|
|
5
|
+
* v0.1.11: 全局状态字段规范化
|
|
6
|
+
*
|
|
7
|
+
* 提供项目标识、成本追踪、会话状态、缓存等状态管理
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.STATE_MANAGER = void 0;
|
|
11
|
+
exports.initGlobalState = initGlobalState;
|
|
12
|
+
exports.getGlobalState = getGlobalState;
|
|
13
|
+
exports.ensureGlobalState = ensureGlobalState;
|
|
14
|
+
exports.resetGlobalState = resetGlobalState;
|
|
15
|
+
exports.updateActivity = updateActivity;
|
|
16
|
+
exports.recordToolCall = recordToolCall;
|
|
17
|
+
exports.recordError = recordError;
|
|
18
|
+
exports.addCost = addCost;
|
|
19
|
+
exports.setCachedMemory = setCachedMemory;
|
|
20
|
+
exports.clearCachedMemory = clearCachedMemory;
|
|
21
|
+
exports.setBypassPermissionsMode = setBypassPermissionsMode;
|
|
22
|
+
exports.markExitedPlanMode = markExitedPlanMode;
|
|
23
|
+
exports.getStateSummary = getStateSummary;
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// Global State Singleton
|
|
26
|
+
// ============================================================================
|
|
27
|
+
let globalState = null;
|
|
28
|
+
/**
|
|
29
|
+
* 初始化全局状态
|
|
30
|
+
* @param projectRoot - 项目根目录
|
|
31
|
+
* @param sessionId - 会话 ID
|
|
32
|
+
*/
|
|
33
|
+
function initGlobalState(projectRoot, sessionId) {
|
|
34
|
+
globalState = {
|
|
35
|
+
projectRoot,
|
|
36
|
+
sessionId: sessionId || generateSessionId(),
|
|
37
|
+
totalCostUSD: 0,
|
|
38
|
+
modelUsage: new Map(),
|
|
39
|
+
sessionBypassPermissionsMode: false,
|
|
40
|
+
hasExitedPlanMode: false,
|
|
41
|
+
cachedMemoryContent: null,
|
|
42
|
+
initializedAt: Date.now(),
|
|
43
|
+
lastActivityAt: Date.now(),
|
|
44
|
+
toolCallCount: 0,
|
|
45
|
+
errorCount: 0,
|
|
46
|
+
};
|
|
47
|
+
return globalState;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 获取全局状态
|
|
51
|
+
*/
|
|
52
|
+
function getGlobalState() {
|
|
53
|
+
return globalState;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 确保全局状态已初始化
|
|
57
|
+
*/
|
|
58
|
+
function ensureGlobalState() {
|
|
59
|
+
if (!globalState) {
|
|
60
|
+
return initGlobalState(process.cwd());
|
|
61
|
+
}
|
|
62
|
+
return globalState;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* 重置全局状态
|
|
66
|
+
*/
|
|
67
|
+
function resetGlobalState() {
|
|
68
|
+
globalState = null;
|
|
69
|
+
}
|
|
70
|
+
// ============================================================================
|
|
71
|
+
// State Updates
|
|
72
|
+
// ============================================================================
|
|
73
|
+
/**
|
|
74
|
+
* 更新最后活动时间
|
|
75
|
+
*/
|
|
76
|
+
function updateActivity() {
|
|
77
|
+
const state = ensureGlobalState();
|
|
78
|
+
state.lastActivityAt = Date.now();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* 记录工具调用
|
|
82
|
+
*/
|
|
83
|
+
function recordToolCall() {
|
|
84
|
+
const state = ensureGlobalState();
|
|
85
|
+
state.toolCallCount++;
|
|
86
|
+
updateActivity();
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 记录错误
|
|
90
|
+
*/
|
|
91
|
+
function recordError() {
|
|
92
|
+
const state = ensureGlobalState();
|
|
93
|
+
state.errorCount++;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 添加成本
|
|
97
|
+
*/
|
|
98
|
+
function addCost(model, tokens, costUSD) {
|
|
99
|
+
const state = ensureGlobalState();
|
|
100
|
+
state.totalCostUSD += costUSD;
|
|
101
|
+
const existing = state.modelUsage.get(model) || { tokens: 0, cost: 0 };
|
|
102
|
+
state.modelUsage.set(model, {
|
|
103
|
+
tokens: existing.tokens + tokens,
|
|
104
|
+
cost: existing.cost + costUSD,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* 设置内存缓存
|
|
109
|
+
*/
|
|
110
|
+
function setCachedMemory(content) {
|
|
111
|
+
const state = ensureGlobalState();
|
|
112
|
+
state.cachedMemoryContent = content;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* 清除内存缓存
|
|
116
|
+
*/
|
|
117
|
+
function clearCachedMemory() {
|
|
118
|
+
const state = ensureGlobalState();
|
|
119
|
+
state.cachedMemoryContent = null;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* 设置绕过权限模式
|
|
123
|
+
*/
|
|
124
|
+
function setBypassPermissionsMode(enabled) {
|
|
125
|
+
const state = ensureGlobalState();
|
|
126
|
+
state.sessionBypassPermissionsMode = enabled;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* 标记已退出计划模式
|
|
130
|
+
*/
|
|
131
|
+
function markExitedPlanMode() {
|
|
132
|
+
const state = ensureGlobalState();
|
|
133
|
+
state.hasExitedPlanMode = true;
|
|
134
|
+
}
|
|
135
|
+
// ============================================================================
|
|
136
|
+
// Helpers
|
|
137
|
+
// ============================================================================
|
|
138
|
+
function generateSessionId() {
|
|
139
|
+
const timestamp = Date.now().toString(36);
|
|
140
|
+
const random = Math.random().toString(36).slice(2, 8);
|
|
141
|
+
return `${timestamp}-${random}`;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* 获取状态摘要
|
|
145
|
+
*/
|
|
146
|
+
function getStateSummary() {
|
|
147
|
+
const state = getGlobalState();
|
|
148
|
+
if (!state)
|
|
149
|
+
return 'State not initialized';
|
|
150
|
+
const lines = [
|
|
151
|
+
`Project: ${state.projectRoot}`,
|
|
152
|
+
`Session: ${state.sessionId}`,
|
|
153
|
+
`Cost: $${state.totalCostUSD.toFixed(4)}`,
|
|
154
|
+
`Tool calls: ${state.toolCallCount}`,
|
|
155
|
+
`Errors: ${state.errorCount}`,
|
|
156
|
+
`Uptime: ${Math.round((Date.now() - state.initializedAt) / 1000)}s`,
|
|
157
|
+
];
|
|
158
|
+
return lines.join('\n');
|
|
159
|
+
}
|
|
160
|
+
// ============================================================================
|
|
161
|
+
// Export
|
|
162
|
+
// ============================================================================
|
|
163
|
+
exports.STATE_MANAGER = {
|
|
164
|
+
initGlobalState,
|
|
165
|
+
getGlobalState,
|
|
166
|
+
ensureGlobalState,
|
|
167
|
+
resetGlobalState,
|
|
168
|
+
updateActivity,
|
|
169
|
+
recordToolCall,
|
|
170
|
+
recordError,
|
|
171
|
+
addCost,
|
|
172
|
+
setCachedMemory,
|
|
173
|
+
clearCachedMemory,
|
|
174
|
+
setBypassPermissionsMode,
|
|
175
|
+
markExitedPlanMode,
|
|
176
|
+
getStateSummary,
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/framework/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EACV,OAAO,EACP,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAA8B,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/framework/query.ts"],"names":[],"mappings":"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"}
|
package/dist/framework/query.js
CHANGED
|
@@ -21,6 +21,7 @@ const tool_scheduler_1 = require("./tool-scheduler");
|
|
|
21
21
|
const token_estimate_1 = require("../utils/token-estimate");
|
|
22
22
|
const tool_serializer_1 = require("./tool-serializer");
|
|
23
23
|
const model_context_1 = require("../services/model-context");
|
|
24
|
+
const tools_1 = require("../tools");
|
|
24
25
|
exports.DEFAULT_MAX_MODEL_VISIBLE_TOOL_RESULT_BYTES = 4096;
|
|
25
26
|
function isAborted(signal) {
|
|
26
27
|
return signal?.aborted === true;
|
|
@@ -462,18 +463,13 @@ async function* query(params) {
|
|
|
462
463
|
harness, input, maxParallelToolCalls = 6, } = params;
|
|
463
464
|
const openaiTools = (0, tool_1.toOpenAITools)(tools);
|
|
464
465
|
let turn = 0;
|
|
466
|
+
let consecutiveCompletionGateBlocks = 0;
|
|
465
467
|
const stats = createLoopStats();
|
|
466
468
|
let pendingCompact;
|
|
467
469
|
let loopBudget = resolveLoopBudget(params.loopBudget);
|
|
468
470
|
applyLoopBudgetStats(stats, loopBudget);
|
|
469
471
|
const maxModelVisibleToolResultBytes = Math.max(512, params.maxModelVisibleToolResultBytes ?? exports.DEFAULT_MAX_MODEL_VISIBLE_TOOL_RESULT_BYTES);
|
|
470
|
-
const fragmentedReadOnlyTools = new Set(
|
|
471
|
-
'read_file',
|
|
472
|
-
'glob',
|
|
473
|
-
'grep',
|
|
474
|
-
'list_files',
|
|
475
|
-
'git_status',
|
|
476
|
-
]);
|
|
472
|
+
const fragmentedReadOnlyTools = new Set(tools_1.BATCH_READ_ALLOWED_TOOLS);
|
|
477
473
|
// 无限循环,依赖安全机制停止
|
|
478
474
|
while (true) {
|
|
479
475
|
turn++;
|
|
@@ -529,6 +525,7 @@ async function* query(params) {
|
|
|
529
525
|
let requestEstimatedTokens = (0, token_estimate_1.estimateMessagesTokens)(requestMessages);
|
|
530
526
|
const predictedTokens = autoCompact.adjustTokenEstimate(requestEstimatedTokens, llm.getModel());
|
|
531
527
|
const contextBeforePredictiveCompact = publishContextUsage(params, autoCompact, llm.getModel(), predictedTokens, autoCompact.hasProviderCalibration(llm.getModel()) ? 'provider_adjusted' : 'estimated');
|
|
528
|
+
const preCompactObjective = harness?.getCapsule()?.contract?.objective;
|
|
532
529
|
const preCompacted = await autoCompact.checkPredictiveAndCompact(messages, predictedTokens);
|
|
533
530
|
if (preCompacted !== messages) {
|
|
534
531
|
stats.compactTrigger = 'pre_turn';
|
|
@@ -540,6 +537,13 @@ async function* query(params) {
|
|
|
540
537
|
tools: tools.map(tool => ({ name: tool.name, description: tool.description })),
|
|
541
538
|
})
|
|
542
539
|
: messages;
|
|
540
|
+
const postCompactObjective = harness?.getCapsule()?.contract?.objective;
|
|
541
|
+
if (preCompactObjective && postCompactObjective && preCompactObjective !== postCompactObjective) {
|
|
542
|
+
yield {
|
|
543
|
+
type: 'warning',
|
|
544
|
+
message: 'Harness objective may have shifted during compact. Verify current task alignment.',
|
|
545
|
+
};
|
|
546
|
+
}
|
|
543
547
|
requestEstimatedTokens = (0, token_estimate_1.estimateMessagesTokens)(requestMessages);
|
|
544
548
|
const compactedTokens = autoCompact.adjustTokenEstimate(requestEstimatedTokens, llm.getModel());
|
|
545
549
|
autoCompact.getCtxPercent(compactedTokens);
|
|
@@ -795,10 +799,24 @@ async function* query(params) {
|
|
|
795
799
|
// No tool calls — done, unless the harness requires one more pass.
|
|
796
800
|
const completionGate = harness?.beforeComplete();
|
|
797
801
|
if (completionGate && !completionGate.canComplete) {
|
|
802
|
+
consecutiveCompletionGateBlocks++;
|
|
803
|
+
if (consecutiveCompletionGateBlocks >= 2) {
|
|
804
|
+
const missing = completionGate.missing?.length
|
|
805
|
+
? completionGate.missing.join('; ')
|
|
806
|
+
: 'required verification evidence is missing';
|
|
807
|
+
yield attachCompactCommit({
|
|
808
|
+
type: 'complete',
|
|
809
|
+
content: `Completion gate stopped this turn: ${missing}\nRun the required verification, then continue.`,
|
|
810
|
+
model: response.model || llm.getModel(),
|
|
811
|
+
stats: cloneLoopStats(stats, 'completion_gate'),
|
|
812
|
+
}, pendingCompact, messages);
|
|
813
|
+
return;
|
|
814
|
+
}
|
|
798
815
|
messages.push(harness.asCompletionBlockedMessage(completionGate));
|
|
799
816
|
stats.finishReason = 'completion_gate';
|
|
800
817
|
continue;
|
|
801
818
|
}
|
|
819
|
+
consecutiveCompletionGateBlocks = 0;
|
|
802
820
|
yield { type: 'message', role: 'assistant', content: response.content };
|
|
803
821
|
// Keep the next request safe by compacting the current durable history at
|
|
804
822
|
// 95%. This uses current-message context, not cumulative session tokens.
|