openhorse 0.1.5
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 +460 -0
- package/bin/openhorse +56 -0
- package/dist/agents/coder.d.ts +12 -0
- package/dist/agents/coder.d.ts.map +1 -0
- package/dist/agents/coder.js +48 -0
- package/dist/agents/coder.js.map +1 -0
- package/dist/agents/leader.d.ts +12 -0
- package/dist/agents/leader.d.ts.map +1 -0
- package/dist/agents/leader.js +49 -0
- package/dist/agents/leader.js.map +1 -0
- package/dist/agents/router.d.ts +59 -0
- package/dist/agents/router.d.ts.map +1 -0
- package/dist/agents/router.js +193 -0
- package/dist/agents/router.js.map +1 -0
- package/dist/cli-ink.d.ts +7 -0
- package/dist/cli-ink.d.ts.map +1 -0
- package/dist/cli-ink.js +135 -0
- package/dist/cli-ink.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +638 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/index.d.ts +12 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +1095 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/parser.d.ts +26 -0
- package/dist/commands/parser.d.ts.map +1 -0
- package/dist/commands/parser.js +61 -0
- package/dist/commands/parser.js.map +1 -0
- package/dist/commands/types.d.ts +61 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +32 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/core/agent.d.ts +66 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +55 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/brain.d.ts +41 -0
- package/dist/core/brain.d.ts.map +1 -0
- package/dist/core/brain.js +92 -0
- package/dist/core/brain.js.map +1 -0
- package/dist/core/cost-tracker.d.ts +107 -0
- package/dist/core/cost-tracker.d.ts.map +1 -0
- package/dist/core/cost-tracker.js +199 -0
- package/dist/core/cost-tracker.js.map +1 -0
- package/dist/core/strategy-tracker.d.ts +61 -0
- package/dist/core/strategy-tracker.d.ts.map +1 -0
- package/dist/core/strategy-tracker.js +124 -0
- package/dist/core/strategy-tracker.js.map +1 -0
- package/dist/framework/index.d.ts +20 -0
- package/dist/framework/index.d.ts.map +1 -0
- package/dist/framework/index.js +29 -0
- package/dist/framework/index.js.map +1 -0
- package/dist/framework/prompt.d.ts +40 -0
- package/dist/framework/prompt.d.ts.map +1 -0
- package/dist/framework/prompt.js +112 -0
- package/dist/framework/prompt.js.map +1 -0
- package/dist/framework/query.d.ts +86 -0
- package/dist/framework/query.d.ts.map +1 -0
- package/dist/framework/query.js +177 -0
- package/dist/framework/query.js.map +1 -0
- package/dist/framework/store.d.ts +64 -0
- package/dist/framework/store.d.ts.map +1 -0
- package/dist/framework/store.js +78 -0
- package/dist/framework/store.js.map +1 -0
- package/dist/framework/tool-state.d.ts +22 -0
- package/dist/framework/tool-state.d.ts.map +1 -0
- package/dist/framework/tool-state.js +40 -0
- package/dist/framework/tool-state.js.map +1 -0
- package/dist/framework/tool.d.ts +88 -0
- package/dist/framework/tool.d.ts.map +1 -0
- package/dist/framework/tool.js +60 -0
- package/dist/framework/tool.js.map +1 -0
- package/dist/harness/harness.d.ts +96 -0
- package/dist/harness/harness.d.ts.map +1 -0
- package/dist/harness/harness.js +224 -0
- package/dist/harness/harness.js.map +1 -0
- package/dist/harness/safety.d.ts +89 -0
- package/dist/harness/safety.d.ts.map +1 -0
- package/dist/harness/safety.js +178 -0
- package/dist/harness/safety.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +57 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +178 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +473 -0
- package/dist/init.js.map +1 -0
- 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/index.d.ts +54 -0
- package/dist/ink/index.d.ts.map +1 -0
- package/dist/ink/index.js +111 -0
- package/dist/ink/index.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/memory/embeddings.d.ts +33 -0
- package/dist/memory/embeddings.d.ts.map +1 -0
- package/dist/memory/embeddings.js +123 -0
- package/dist/memory/embeddings.js.map +1 -0
- package/dist/memory/index.d.ts +14 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +31 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/prompts.d.ts +12 -0
- package/dist/memory/prompts.d.ts.map +1 -0
- package/dist/memory/prompts.js +117 -0
- package/dist/memory/prompts.js.map +1 -0
- package/dist/memory/semantic-search.d.ts +45 -0
- package/dist/memory/semantic-search.d.ts.map +1 -0
- package/dist/memory/semantic-search.js +112 -0
- package/dist/memory/semantic-search.js.map +1 -0
- package/dist/memory/storage.d.ts +79 -0
- package/dist/memory/storage.d.ts.map +1 -0
- package/dist/memory/storage.js +285 -0
- package/dist/memory/storage.js.map +1 -0
- package/dist/memory/store.d.ts +103 -0
- package/dist/memory/store.d.ts.map +1 -0
- package/dist/memory/store.js +226 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/memory/types.d.ts +40 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +71 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/memory/validation.d.ts +28 -0
- package/dist/memory/validation.d.ts.map +1 -0
- package/dist/memory/validation.js +147 -0
- package/dist/memory/validation.js.map +1 -0
- package/dist/memory/vector-store.d.ts +49 -0
- package/dist/memory/vector-store.d.ts.map +1 -0
- package/dist/memory/vector-store.js +259 -0
- package/dist/memory/vector-store.js.map +1 -0
- 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/agent-runner.d.ts +68 -0
- package/dist/services/agent-runner.d.ts.map +1 -0
- package/dist/services/agent-runner.js +186 -0
- package/dist/services/agent-runner.js.map +1 -0
- package/dist/services/atomic-write.d.ts +12 -0
- package/dist/services/atomic-write.d.ts.map +1 -0
- package/dist/services/atomic-write.js +27 -0
- package/dist/services/atomic-write.js.map +1 -0
- package/dist/services/config-dir.d.ts +55 -0
- package/dist/services/config-dir.d.ts.map +1 -0
- package/dist/services/config-dir.js +136 -0
- package/dist/services/config-dir.js.map +1 -0
- package/dist/services/config.d.ts +54 -0
- package/dist/services/config.d.ts.map +1 -0
- package/dist/services/config.js +98 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/file-glob.d.ts +26 -0
- package/dist/services/file-glob.d.ts.map +1 -0
- package/dist/services/file-glob.js +134 -0
- package/dist/services/file-glob.js.map +1 -0
- package/dist/services/global-config.d.ts +109 -0
- package/dist/services/global-config.d.ts.map +1 -0
- package/dist/services/global-config.js +211 -0
- package/dist/services/global-config.js.map +1 -0
- package/dist/services/llm.d.ts +139 -0
- package/dist/services/llm.d.ts.map +1 -0
- package/dist/services/llm.js +376 -0
- package/dist/services/llm.js.map +1 -0
- package/dist/services/memory.d.ts +39 -0
- package/dist/services/memory.d.ts.map +1 -0
- package/dist/services/memory.js +88 -0
- package/dist/services/memory.js.map +1 -0
- package/dist/services/session-storage.d.ts +136 -0
- package/dist/services/session-storage.d.ts.map +1 -0
- package/dist/services/session-storage.js +304 -0
- package/dist/services/session-storage.js.map +1 -0
- package/dist/services/task-manager.d.ts +154 -0
- package/dist/services/task-manager.d.ts.map +1 -0
- package/dist/services/task-manager.js +288 -0
- package/dist/services/task-manager.js.map +1 -0
- package/dist/services/yaml-config.d.ts +57 -0
- package/dist/services/yaml-config.d.ts.map +1 -0
- package/dist/services/yaml-config.js +176 -0
- package/dist/services/yaml-config.js.map +1 -0
- package/dist/skills/discovery.d.ts +22 -0
- package/dist/skills/discovery.d.ts.map +1 -0
- package/dist/skills/discovery.js +75 -0
- package/dist/skills/discovery.js.map +1 -0
- package/dist/skills/index.d.ts +10 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +26 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +48 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +231 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/registry.d.ts +37 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +134 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/skills/types.d.ts +89 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +24 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/tools/bash_security.d.ts +64 -0
- package/dist/tools/bash_security.d.ts.map +1 -0
- package/dist/tools/bash_security.js +291 -0
- package/dist/tools/bash_security.js.map +1 -0
- package/dist/tools/index.d.ts +23 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +965 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/mcp.d.ts +72 -0
- package/dist/tools/mcp.d.ts.map +1 -0
- package/dist/tools/mcp.js +422 -0
- package/dist/tools/mcp.js.map +1 -0
- package/dist/tools/plan.d.ts +18 -0
- package/dist/tools/plan.d.ts.map +1 -0
- package/dist/tools/plan.js +75 -0
- package/dist/tools/plan.js.map +1 -0
- package/dist/tools/todo.d.ts +18 -0
- package/dist/tools/todo.d.ts.map +1 -0
- package/dist/tools/todo.js +153 -0
- package/dist/tools/todo.js.map +1 -0
- package/dist/tools/web.d.ts +13 -0
- package/dist/tools/web.d.ts.map +1 -0
- package/dist/tools/web.js +377 -0
- package/dist/tools/web.js.map +1 -0
- package/dist/ui/box.d.ts +56 -0
- package/dist/ui/box.d.ts.map +1 -0
- package/dist/ui/box.js +241 -0
- package/dist/ui/box.js.map +1 -0
- package/dist/ui/command-panel.d.ts +55 -0
- package/dist/ui/command-panel.d.ts.map +1 -0
- package/dist/ui/command-panel.js +212 -0
- package/dist/ui/command-panel.js.map +1 -0
- package/dist/ui/file-completion.d.ts +62 -0
- package/dist/ui/file-completion.d.ts.map +1 -0
- package/dist/ui/file-completion.js +209 -0
- package/dist/ui/file-completion.js.map +1 -0
- package/dist/ui/markdown.d.ts +12 -0
- package/dist/ui/markdown.d.ts.map +1 -0
- package/dist/ui/markdown.js +215 -0
- package/dist/ui/markdown.js.map +1 -0
- package/dist/ui/multiline-input.d.ts +47 -0
- package/dist/ui/multiline-input.d.ts.map +1 -0
- package/dist/ui/multiline-input.js +94 -0
- package/dist/ui/multiline-input.js.map +1 -0
- package/dist/ui/status-bar.d.ts +33 -0
- package/dist/ui/status-bar.d.ts.map +1 -0
- package/dist/ui/status-bar.js +96 -0
- package/dist/ui/status-bar.js.map +1 -0
- package/dist/ui/stream-markdown.d.ts +35 -0
- package/dist/ui/stream-markdown.d.ts.map +1 -0
- package/dist/ui/stream-markdown.js +138 -0
- package/dist/ui/stream-markdown.js.map +1 -0
- package/dist/ui/suggestions.d.ts +35 -0
- package/dist/ui/suggestions.d.ts.map +1 -0
- package/dist/ui/suggestions.js +118 -0
- package/dist/ui/suggestions.js.map +1 -0
- package/dist/ui/tool-preview.d.ts +34 -0
- package/dist/ui/tool-preview.d.ts.map +1 -0
- package/dist/ui/tool-preview.js +128 -0
- package/dist/ui/tool-preview.js.map +1 -0
- package/package.json +93 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* openhorse - Harness 安全边界检查
|
|
4
|
+
*
|
|
5
|
+
* 提供细粒度的安全策略、操作白名单/黑名单、危险模式检测、
|
|
6
|
+
* 沙箱隔离建议和安全审计报告。
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.SafetyChecker = void 0;
|
|
10
|
+
const eventemitter3_1 = require("eventemitter3");
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// 默认策略
|
|
13
|
+
// ============================================================================
|
|
14
|
+
const DEFAULT_POLICY = {
|
|
15
|
+
enabled: true,
|
|
16
|
+
allowed: ['read', 'write', 'execute', 'network', 'git', 'npm', 'build'],
|
|
17
|
+
blocked: [
|
|
18
|
+
'rm\\s+-rf\\s+/',
|
|
19
|
+
'mkfs',
|
|
20
|
+
'dd\\s+of=/dev',
|
|
21
|
+
':\\(\\)\\s*\\{', // fork bomb
|
|
22
|
+
'chmod\\s+777',
|
|
23
|
+
],
|
|
24
|
+
dangerousPatterns: [
|
|
25
|
+
'eval\\s*\\(',
|
|
26
|
+
'exec\\s*\\(',
|
|
27
|
+
'require\\s*\\(\\s*[\'"]child_process',
|
|
28
|
+
'process\\.exit',
|
|
29
|
+
'process\\.kill',
|
|
30
|
+
],
|
|
31
|
+
maxOutputLength: 100000,
|
|
32
|
+
sandboxMode: false,
|
|
33
|
+
allowedFileSystemOps: ['read', 'write'],
|
|
34
|
+
blockedPaths: ['/etc/shadow', '/etc/passwd', '/proc/'],
|
|
35
|
+
allowedNetworkOps: ['https'],
|
|
36
|
+
};
|
|
37
|
+
// ============================================================================
|
|
38
|
+
// SafetyChecker - 安全边界检查器
|
|
39
|
+
// ============================================================================
|
|
40
|
+
class SafetyChecker extends eventemitter3_1.EventEmitter {
|
|
41
|
+
constructor(policy = {}) {
|
|
42
|
+
super();
|
|
43
|
+
this.auditLog = [];
|
|
44
|
+
this.policy = { ...DEFAULT_POLICY, ...policy };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 检查一个操作是否安全
|
|
48
|
+
*/
|
|
49
|
+
check(action, context) {
|
|
50
|
+
if (!this.policy.enabled) {
|
|
51
|
+
return { passed: true, level: 'safe' };
|
|
52
|
+
}
|
|
53
|
+
// 1. 检查是否被直接禁止
|
|
54
|
+
const blockedMatch = this.policy.blocked.find(pattern => new RegExp(pattern, 'i').test(action));
|
|
55
|
+
if (blockedMatch) {
|
|
56
|
+
return this.record({
|
|
57
|
+
passed: false,
|
|
58
|
+
level: 'blocked',
|
|
59
|
+
reason: `Action matches blocked pattern: ${blockedMatch}`,
|
|
60
|
+
suggestion: 'This action is explicitly forbidden by safety policy.',
|
|
61
|
+
action,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
// 2. 检查危险模式
|
|
65
|
+
const dangerousMatch = this.policy.dangerousPatterns.find(pattern => new RegExp(pattern, 'i').test(action));
|
|
66
|
+
if (dangerousMatch) {
|
|
67
|
+
return this.record({
|
|
68
|
+
passed: false,
|
|
69
|
+
level: 'dangerous',
|
|
70
|
+
reason: `Action matches dangerous pattern: ${dangerousMatch}`,
|
|
71
|
+
suggestion: 'Avoid using eval/exec-style operations. Use safe alternatives.',
|
|
72
|
+
action,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
// 3. 检查被禁止的路径
|
|
76
|
+
if (context?.path) {
|
|
77
|
+
const blockedPath = this.policy.blockedPaths.find(bp => context.path.startsWith(bp));
|
|
78
|
+
if (blockedPath) {
|
|
79
|
+
return this.record({
|
|
80
|
+
passed: false,
|
|
81
|
+
level: 'blocked',
|
|
82
|
+
reason: `Access to blocked path: ${blockedPath}`,
|
|
83
|
+
suggestion: 'Do not access system-critical paths.',
|
|
84
|
+
action,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// 4. 检查输出长度
|
|
89
|
+
if (context?.output && typeof context.output === 'string') {
|
|
90
|
+
if (context.output.length > this.policy.maxOutputLength) {
|
|
91
|
+
return this.record({
|
|
92
|
+
passed: false,
|
|
93
|
+
level: 'warning',
|
|
94
|
+
reason: `Output exceeds max length (${context.output.length} > ${this.policy.maxOutputLength})`,
|
|
95
|
+
suggestion: 'Truncate or paginate large outputs.',
|
|
96
|
+
action,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// 5. 检查文件系统操作权限
|
|
101
|
+
if (context?.fsOp && !this.policy.allowedFileSystemOps.includes(context.fsOp)) {
|
|
102
|
+
return this.record({
|
|
103
|
+
passed: false,
|
|
104
|
+
level: 'blocked',
|
|
105
|
+
reason: `File system operation "${context.fsOp}" is not allowed`,
|
|
106
|
+
suggestion: `Allowed operations: ${this.policy.allowedFileSystemOps.join(', ')}`,
|
|
107
|
+
action,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
// 6. 检查是否在白名单中
|
|
111
|
+
const actionBase = action.split(' ')[0];
|
|
112
|
+
if (this.policy.allowed[0] !== '*' && !this.policy.allowed.includes(actionBase)) {
|
|
113
|
+
return this.record({
|
|
114
|
+
passed: true,
|
|
115
|
+
level: 'warning',
|
|
116
|
+
reason: `Action "${actionBase}" not in whitelist`,
|
|
117
|
+
suggestion: 'Consider adding this action to the allowed list if it is safe.',
|
|
118
|
+
action,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return this.record({ passed: true, level: 'safe', action });
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* 批量检查一组操作
|
|
125
|
+
*/
|
|
126
|
+
checkBatch(actions) {
|
|
127
|
+
return actions.map(action => this.check(action));
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* 获取审计日志
|
|
131
|
+
*/
|
|
132
|
+
getAuditLog(limit = 50) {
|
|
133
|
+
return this.auditLog.slice(-limit);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* 获取审计摘要
|
|
137
|
+
*/
|
|
138
|
+
getAuditSummary() {
|
|
139
|
+
return {
|
|
140
|
+
total: this.auditLog.length,
|
|
141
|
+
passed: this.auditLog.filter(e => e.passed).length,
|
|
142
|
+
failed: this.auditLog.filter(e => !e.passed && e.level !== 'blocked').length,
|
|
143
|
+
blocked: this.auditLog.filter(e => e.level === 'blocked').length,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* 更新策略
|
|
148
|
+
*/
|
|
149
|
+
updatePolicy(patch) {
|
|
150
|
+
this.policy = { ...this.policy, ...patch };
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* 获取当前策略
|
|
154
|
+
*/
|
|
155
|
+
getPolicy() {
|
|
156
|
+
return { ...this.policy };
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* 清除审计日志
|
|
160
|
+
*/
|
|
161
|
+
clearAuditLog() {
|
|
162
|
+
this.auditLog = [];
|
|
163
|
+
}
|
|
164
|
+
// ---- Internal ----
|
|
165
|
+
record(check) {
|
|
166
|
+
this.auditLog.push({
|
|
167
|
+
timestamp: Date.now(),
|
|
168
|
+
action: check.action,
|
|
169
|
+
level: check.level,
|
|
170
|
+
passed: check.passed,
|
|
171
|
+
reason: check.reason,
|
|
172
|
+
});
|
|
173
|
+
this.emit('check', check);
|
|
174
|
+
return check;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.SafetyChecker = SafetyChecker;
|
|
178
|
+
//# sourceMappingURL=safety.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safety.js","sourceRoot":"","sources":["../../src/harness/safety.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* openhorse - 通用 Agent 智能体框架
|
|
3
|
+
*
|
|
4
|
+
* 公共 API 导出入口
|
|
5
|
+
*/
|
|
6
|
+
export { Brain } from './core/brain';
|
|
7
|
+
export type { BrainConfig } from './core/brain';
|
|
8
|
+
export { BaseAgent } from './core/agent';
|
|
9
|
+
export type { AgentConfig, Task, TaskResult, AgentStatus } from './core/agent';
|
|
10
|
+
export { LeaderAgent } from './agents/leader';
|
|
11
|
+
export { CoderAgent } from './agents/coder';
|
|
12
|
+
export { init, Harness, MemorySystem } from './init';
|
|
13
|
+
export type { OpenHorseConfig, OpenHorseRuntime, HarnessConfig, MemoryConfig, SafetyConfig, HarnessVerdict, AgentRegistryEntry, MemoryEntry as InitMemoryEntry, MemoryTier as InitMemoryTier, } from './init';
|
|
14
|
+
export { SafetyChecker } from './harness/safety';
|
|
15
|
+
export type { SafetyPolicy, SafetyCheck, SecurityLevel, AuditLogEntry } from './harness/safety';
|
|
16
|
+
export { MemoryStore } from './memory/store';
|
|
17
|
+
export type { MemoryStoreConfig, MemoryEntry as StoreMemoryEntry, MemoryTier as StoreMemoryTier, MemoryQuery, } from './memory/store';
|
|
18
|
+
export { LLMService } from './services/llm';
|
|
19
|
+
export type { LLMConfig, Message, LLMResponse, StreamCallback, } from './services/llm';
|
|
20
|
+
export { AgentRunner } from './services/agent-runner';
|
|
21
|
+
export type { AgentRunnerConfig, AgentRunnerResult, } from './services/agent-runner';
|
|
22
|
+
export { HarnessEngine } from './harness/harness';
|
|
23
|
+
export type { HarnessConfig as HarnessEngineConfig, HarnessVerdict as HarnessEngineVerdict, HarnessContext, HarnessExecutionResult, } from './harness/harness';
|
|
24
|
+
export { TaskManager } from './services/task-manager';
|
|
25
|
+
export type { TaskRecord, CreateTaskOptions, UpdateTaskOptions, TaskFilter, TaskStats, TaskStatus, Priority, } from './services/task-manager';
|
|
26
|
+
export { loadConfig, isConfigured, getConfigErrors, getConfigSummary } from './services/config';
|
|
27
|
+
export type { OpenHorseCLIConfig } from './services/config';
|
|
28
|
+
export { buildTool, toOpenAITool, toOpenAITools, query, buildSystemPrompt, getSystemPrompt, Store, } from './framework';
|
|
29
|
+
export type { OpenHorseTool, ToolResult, ToolContext, ToolConfig, PermissionResult, ToolInputJSONSchema, OpenAITool, QueryEvent, QueryParams, PromptContext, PromptSection, AppState, } from './framework';
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACrD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,WAAW,IAAI,eAAe,EAC9B,UAAU,IAAI,cAAc,GAC7B,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGhG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACV,iBAAiB,EACjB,WAAW,IAAI,gBAAgB,EAC/B,UAAU,IAAI,eAAe,EAC7B,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,YAAY,EACV,SAAS,EACT,OAAO,EACP,WAAW,EACX,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EACV,aAAa,IAAI,mBAAmB,EACpC,cAAc,IAAI,oBAAoB,EACtC,cAAc,EACd,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,UAAU,EACV,QAAQ,GACT,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChG,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EACL,SAAS,EAAE,YAAY,EAAE,aAAa,EACtC,KAAK,EACL,iBAAiB,EAAE,eAAe,EAClC,KAAK,GACN,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EACrG,UAAU,EAAE,WAAW,EACvB,aAAa,EAAE,aAAa,EAC5B,QAAQ,GACT,MAAM,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* openhorse - 通用 Agent 智能体框架
|
|
4
|
+
*
|
|
5
|
+
* 公共 API 导出入口
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.Store = exports.getSystemPrompt = exports.buildSystemPrompt = exports.query = exports.toOpenAITools = exports.toOpenAITool = exports.buildTool = exports.getConfigSummary = exports.getConfigErrors = exports.isConfigured = exports.loadConfig = exports.TaskManager = exports.HarnessEngine = exports.AgentRunner = exports.LLMService = exports.MemoryStore = exports.SafetyChecker = exports.MemorySystem = exports.Harness = exports.init = exports.CoderAgent = exports.LeaderAgent = exports.BaseAgent = exports.Brain = void 0;
|
|
9
|
+
// 核心
|
|
10
|
+
var brain_1 = require("./core/brain");
|
|
11
|
+
Object.defineProperty(exports, "Brain", { enumerable: true, get: function () { return brain_1.Brain; } });
|
|
12
|
+
var agent_1 = require("./core/agent");
|
|
13
|
+
Object.defineProperty(exports, "BaseAgent", { enumerable: true, get: function () { return agent_1.BaseAgent; } });
|
|
14
|
+
// Agent 实现
|
|
15
|
+
var leader_1 = require("./agents/leader");
|
|
16
|
+
Object.defineProperty(exports, "LeaderAgent", { enumerable: true, get: function () { return leader_1.LeaderAgent; } });
|
|
17
|
+
var coder_1 = require("./agents/coder");
|
|
18
|
+
Object.defineProperty(exports, "CoderAgent", { enumerable: true, get: function () { return coder_1.CoderAgent; } });
|
|
19
|
+
// 初始化与运行时
|
|
20
|
+
var init_1 = require("./init");
|
|
21
|
+
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_1.init; } });
|
|
22
|
+
Object.defineProperty(exports, "Harness", { enumerable: true, get: function () { return init_1.Harness; } });
|
|
23
|
+
Object.defineProperty(exports, "MemorySystem", { enumerable: true, get: function () { return init_1.MemorySystem; } });
|
|
24
|
+
// Harness 安全模块
|
|
25
|
+
var safety_1 = require("./harness/safety");
|
|
26
|
+
Object.defineProperty(exports, "SafetyChecker", { enumerable: true, get: function () { return safety_1.SafetyChecker; } });
|
|
27
|
+
// Memory 存储模块
|
|
28
|
+
var store_1 = require("./memory/store");
|
|
29
|
+
Object.defineProperty(exports, "MemoryStore", { enumerable: true, get: function () { return store_1.MemoryStore; } });
|
|
30
|
+
// LLM 服务模块
|
|
31
|
+
var llm_1 = require("./services/llm");
|
|
32
|
+
Object.defineProperty(exports, "LLMService", { enumerable: true, get: function () { return llm_1.LLMService; } });
|
|
33
|
+
// Agent Runner 模块
|
|
34
|
+
var agent_runner_1 = require("./services/agent-runner");
|
|
35
|
+
Object.defineProperty(exports, "AgentRunner", { enumerable: true, get: function () { return agent_runner_1.AgentRunner; } });
|
|
36
|
+
// Harness Engine 模块
|
|
37
|
+
var harness_1 = require("./harness/harness");
|
|
38
|
+
Object.defineProperty(exports, "HarnessEngine", { enumerable: true, get: function () { return harness_1.HarnessEngine; } });
|
|
39
|
+
// Task Manager 模块
|
|
40
|
+
var task_manager_1 = require("./services/task-manager");
|
|
41
|
+
Object.defineProperty(exports, "TaskManager", { enumerable: true, get: function () { return task_manager_1.TaskManager; } });
|
|
42
|
+
// 配置模块
|
|
43
|
+
var config_1 = require("./services/config");
|
|
44
|
+
Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_1.loadConfig; } });
|
|
45
|
+
Object.defineProperty(exports, "isConfigured", { enumerable: true, get: function () { return config_1.isConfigured; } });
|
|
46
|
+
Object.defineProperty(exports, "getConfigErrors", { enumerable: true, get: function () { return config_1.getConfigErrors; } });
|
|
47
|
+
Object.defineProperty(exports, "getConfigSummary", { enumerable: true, get: function () { return config_1.getConfigSummary; } });
|
|
48
|
+
// Framework 模块
|
|
49
|
+
var framework_1 = require("./framework");
|
|
50
|
+
Object.defineProperty(exports, "buildTool", { enumerable: true, get: function () { return framework_1.buildTool; } });
|
|
51
|
+
Object.defineProperty(exports, "toOpenAITool", { enumerable: true, get: function () { return framework_1.toOpenAITool; } });
|
|
52
|
+
Object.defineProperty(exports, "toOpenAITools", { enumerable: true, get: function () { return framework_1.toOpenAITools; } });
|
|
53
|
+
Object.defineProperty(exports, "query", { enumerable: true, get: function () { return framework_1.query; } });
|
|
54
|
+
Object.defineProperty(exports, "buildSystemPrompt", { enumerable: true, get: function () { return framework_1.buildSystemPrompt; } });
|
|
55
|
+
Object.defineProperty(exports, "getSystemPrompt", { enumerable: true, get: function () { return framework_1.getSystemPrompt; } });
|
|
56
|
+
Object.defineProperty(exports, "Store", { enumerable: true, get: function () { return framework_1.Store; } });
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,KAAK;AACL,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AAGd,sCAAyC;AAAhC,kGAAA,SAAS,OAAA;AAGlB,WAAW;AACX,0CAA8C;AAArC,qGAAA,WAAW,OAAA;AACpB,wCAA4C;AAAnC,mGAAA,UAAU,OAAA;AAEnB,UAAU;AACV,+BAAqD;AAA5C,4FAAA,IAAI,OAAA;AAAE,+FAAA,OAAO,OAAA;AAAE,oGAAA,YAAY,OAAA;AAapC,eAAe;AACf,2CAAiD;AAAxC,uGAAA,aAAa,OAAA;AAGtB,cAAc;AACd,wCAA6C;AAApC,oGAAA,WAAW,OAAA;AAQpB,WAAW;AACX,sCAA4C;AAAnC,iGAAA,UAAU,OAAA;AAQnB,kBAAkB;AAClB,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AAMpB,oBAAoB;AACpB,6CAAkD;AAAzC,wGAAA,aAAa,OAAA;AAQtB,kBAAkB;AAClB,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AAWpB,OAAO;AACP,4CAAgG;AAAvF,oGAAA,UAAU,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAGpE,eAAe;AACf,yCAKqB;AAJnB,sGAAA,SAAS,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,0GAAA,aAAa,OAAA;AACtC,kGAAA,KAAK,OAAA;AACL,8GAAA,iBAAiB,OAAA;AAAE,4GAAA,eAAe,OAAA;AAClC,kGAAA,KAAK,OAAA"}
|
package/dist/init.d.ts
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* openhorse - 初始化配置与启动入口
|
|
3
|
+
*
|
|
4
|
+
* 统一初始化入口:配置加载 → Harness 驾驭系统 → Memory 记忆系统
|
|
5
|
+
* → Agent 注册 → Brain 决策引擎 → 启动
|
|
6
|
+
*/
|
|
7
|
+
import { EventEmitter } from 'eventemitter3';
|
|
8
|
+
import { BaseAgent, AgentConfig, Task, TaskResult } from './core/agent';
|
|
9
|
+
import { Brain, BrainConfig } from './core/brain';
|
|
10
|
+
import { SafetyChecker, SafetyPolicy } from './harness/safety';
|
|
11
|
+
import { MemoryStore } from './memory/store';
|
|
12
|
+
/** OpenHorse 全局配置 */
|
|
13
|
+
export interface OpenHorseConfig {
|
|
14
|
+
/** 实例名称 */
|
|
15
|
+
name: string;
|
|
16
|
+
/** 运行模式 */
|
|
17
|
+
mode: 'development' | 'production' | 'test';
|
|
18
|
+
/** 日志级别 */
|
|
19
|
+
logLevel: 'debug' | 'info' | 'warn' | 'error';
|
|
20
|
+
/** Brain 决策引擎配置 */
|
|
21
|
+
brain: BrainConfig;
|
|
22
|
+
/** Harness 驾驭层配置 */
|
|
23
|
+
harness: HarnessConfig;
|
|
24
|
+
/** Memory 记忆系统配置 */
|
|
25
|
+
memory: MemoryConfig;
|
|
26
|
+
/** 安全策略配置 */
|
|
27
|
+
safety: SafetyConfig;
|
|
28
|
+
/** Agent 注册表 */
|
|
29
|
+
agents: AgentRegistryEntry[];
|
|
30
|
+
}
|
|
31
|
+
/** Harness 驾驭系统配置 */
|
|
32
|
+
export interface HarnessConfig {
|
|
33
|
+
/** 是否启用目标约束 */
|
|
34
|
+
goalConstraint: boolean;
|
|
35
|
+
/** 最大执行步数 */
|
|
36
|
+
maxSteps: number;
|
|
37
|
+
/** 是否启用边界检查 */
|
|
38
|
+
boundaryCheck: boolean;
|
|
39
|
+
/** 允许的操作列表 */
|
|
40
|
+
allowedActions: string[];
|
|
41
|
+
/** 禁止的操作列表 */
|
|
42
|
+
blockedActions: string[];
|
|
43
|
+
/** 是否启用结果验证 */
|
|
44
|
+
resultValidation: boolean;
|
|
45
|
+
/** 是否启用安全沙箱 */
|
|
46
|
+
sandbox: boolean;
|
|
47
|
+
/** 超时时间 (ms) */
|
|
48
|
+
timeout: number;
|
|
49
|
+
}
|
|
50
|
+
/** Memory 记忆系统配置 */
|
|
51
|
+
export interface MemoryConfig {
|
|
52
|
+
/** 工作记忆容量 */
|
|
53
|
+
workingCapacity: number;
|
|
54
|
+
/** 短期记忆容量 */
|
|
55
|
+
shortTermCapacity: number;
|
|
56
|
+
/** 长期记忆后端类型 */
|
|
57
|
+
longTermBackend: 'memory' | 'file';
|
|
58
|
+
/** 长期记忆持久化路径 */
|
|
59
|
+
longTermPath?: string;
|
|
60
|
+
}
|
|
61
|
+
/** 安全策略配置 */
|
|
62
|
+
export interface SafetyConfig {
|
|
63
|
+
/** 是否启用安全检查 */
|
|
64
|
+
enabled: boolean;
|
|
65
|
+
/** 安全策略 */
|
|
66
|
+
policy?: Partial<SafetyPolicy>;
|
|
67
|
+
}
|
|
68
|
+
/** Agent 注册条目 */
|
|
69
|
+
export interface AgentRegistryEntry {
|
|
70
|
+
/** Agent 类型 */
|
|
71
|
+
type: 'leader' | 'coder' | string;
|
|
72
|
+
/** Agent 配置 */
|
|
73
|
+
config?: Partial<AgentConfig>;
|
|
74
|
+
}
|
|
75
|
+
/** Harness 验证结果 */
|
|
76
|
+
export interface HarnessVerdict {
|
|
77
|
+
/** 是否通过 */
|
|
78
|
+
passed: boolean;
|
|
79
|
+
/** 验证阶段 */
|
|
80
|
+
stage: 'pre-exec' | 'post-exec';
|
|
81
|
+
/** 原因 */
|
|
82
|
+
reason?: string;
|
|
83
|
+
}
|
|
84
|
+
/** Harness 驾驭系统 — 为 Agent 执行提供约束、检查与验证 */
|
|
85
|
+
export declare class Harness extends EventEmitter {
|
|
86
|
+
private config;
|
|
87
|
+
constructor(config?: Partial<HarnessConfig>);
|
|
88
|
+
/** 执行前检查 — 验证任务是否在安全边界内 */
|
|
89
|
+
preCheck(task: Task): HarnessVerdict;
|
|
90
|
+
/** 执行后验证 — 验证结果是否符合预期约束 */
|
|
91
|
+
postValidate(result: TaskResult, task: Task): HarnessVerdict;
|
|
92
|
+
/** 获取 Harness 配置摘要 */
|
|
93
|
+
getConfig(): HarnessConfig;
|
|
94
|
+
}
|
|
95
|
+
/** 记忆条目 */
|
|
96
|
+
export interface MemoryEntry {
|
|
97
|
+
/** 唯一标识 */
|
|
98
|
+
id: string;
|
|
99
|
+
/** 内容 */
|
|
100
|
+
content: any;
|
|
101
|
+
/** 创建时间 */
|
|
102
|
+
createdAt: number;
|
|
103
|
+
/** 最后访问时间 */
|
|
104
|
+
lastAccessedAt: number;
|
|
105
|
+
/** 访问次数 */
|
|
106
|
+
accessCount: number;
|
|
107
|
+
/** 标签 */
|
|
108
|
+
tags?: string[];
|
|
109
|
+
}
|
|
110
|
+
/** 记忆层级 */
|
|
111
|
+
export type MemoryTier = 'working' | 'short-term' | 'long-term';
|
|
112
|
+
/** Memory 记忆系统 — 三层记忆架构 */
|
|
113
|
+
export declare class MemorySystem extends EventEmitter {
|
|
114
|
+
private workingMemory;
|
|
115
|
+
private shortTermMemory;
|
|
116
|
+
private longTermMemory;
|
|
117
|
+
private config;
|
|
118
|
+
constructor(config?: Partial<MemoryConfig>);
|
|
119
|
+
/** 写入工作记忆(当前上下文) */
|
|
120
|
+
writeToWorking(content: any, tags?: string[]): MemoryEntry;
|
|
121
|
+
/** 读取工作记忆 */
|
|
122
|
+
readWorking(): MemoryEntry[];
|
|
123
|
+
/** 清空工作记忆 */
|
|
124
|
+
clearWorking(): void;
|
|
125
|
+
/** 写入短期记忆 */
|
|
126
|
+
writeToShortTerm(content: any, tags?: string[]): MemoryEntry;
|
|
127
|
+
/** 读取短期记忆 */
|
|
128
|
+
readShortTerm(): MemoryEntry[];
|
|
129
|
+
/** 写入长期记忆 */
|
|
130
|
+
writeToLongTerm(content: any, tags?: string[]): MemoryEntry;
|
|
131
|
+
/** 从长期记忆读取 */
|
|
132
|
+
readLongTerm(id: string): MemoryEntry | undefined;
|
|
133
|
+
/** 搜索记忆(全层级) */
|
|
134
|
+
search(query: string, tier?: MemoryTier): MemoryEntry[];
|
|
135
|
+
/** 获取记忆系统状态 */
|
|
136
|
+
getStatus(): Record<MemoryTier, number>;
|
|
137
|
+
private createEntry;
|
|
138
|
+
private addToShortTerm;
|
|
139
|
+
private touchEntries;
|
|
140
|
+
}
|
|
141
|
+
/** 初始化结果 */
|
|
142
|
+
export interface OpenHorseRuntime {
|
|
143
|
+
/** Brain 决策引擎 */
|
|
144
|
+
brain: Brain;
|
|
145
|
+
/** Harness 驾驭系统 */
|
|
146
|
+
harness: Harness;
|
|
147
|
+
/** Memory 记忆系统(内联版) */
|
|
148
|
+
memory: MemorySystem;
|
|
149
|
+
/** Safety 安全检查器(模块化版) */
|
|
150
|
+
safety: SafetyChecker;
|
|
151
|
+
/** Memory Store 记忆存储(模块化版) */
|
|
152
|
+
store: MemoryStore;
|
|
153
|
+
/** 已注册的 Agent 列表 */
|
|
154
|
+
agents: BaseAgent[];
|
|
155
|
+
/** 当前配置 */
|
|
156
|
+
config: OpenHorseConfig;
|
|
157
|
+
/** 启动系统 */
|
|
158
|
+
start: () => Promise<void>;
|
|
159
|
+
/** 优雅关闭 */
|
|
160
|
+
shutdown: () => Promise<void>;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* 初始化 OpenHorse 系统
|
|
164
|
+
*
|
|
165
|
+
* 初始化流程:
|
|
166
|
+
* 1. 合并配置(默认 + 用户覆盖)
|
|
167
|
+
* 2. 创建 Harness 驾驭系统
|
|
168
|
+
* 3. 创建 Memory 记忆系统
|
|
169
|
+
* 4. 创建并注册 Agent 到 Brain
|
|
170
|
+
* 5. 建立 Harness ↔ Agent ↔ Memory 连接
|
|
171
|
+
* 6. 返回运行时
|
|
172
|
+
*/
|
|
173
|
+
export declare function init(userConfig?: Partial<OpenHorseConfig>): Promise<OpenHorseRuntime>;
|
|
174
|
+
export { SafetyChecker } from './harness/safety';
|
|
175
|
+
export { MemoryStore } from './memory/store';
|
|
176
|
+
export type { SafetyPolicy, SafetyCheck, SecurityLevel, AuditLogEntry } from './harness/safety';
|
|
177
|
+
export type { MemoryEntry as StoreMemoryEntry, MemoryTier as StoreMemoryTier, MemoryQuery, MemoryStoreConfig } from './memory/store';
|
|
178
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|