@oni.bot/core 1.0.0 → 1.0.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/package.json +1 -1
- package/dist/oni-code/agent-registry.d.ts +0 -73
- package/dist/oni-code/agent-registry.d.ts.map +0 -1
- package/dist/oni-code/agent-registry.js +0 -151
- package/dist/oni-code/agent-registry.js.map +0 -1
- package/dist/oni-code/bin.d.ts +0 -18
- package/dist/oni-code/bin.d.ts.map +0 -1
- package/dist/oni-code/bin.js +0 -78
- package/dist/oni-code/bin.js.map +0 -1
- package/dist/oni-code/change-tracking.d.ts +0 -28
- package/dist/oni-code/change-tracking.d.ts.map +0 -1
- package/dist/oni-code/change-tracking.js +0 -77
- package/dist/oni-code/change-tracking.js.map +0 -1
- package/dist/oni-code/cli.d.ts +0 -6
- package/dist/oni-code/cli.d.ts.map +0 -1
- package/dist/oni-code/cli.js +0 -30
- package/dist/oni-code/cli.js.map +0 -1
- package/dist/oni-code/conductor.d.ts +0 -203
- package/dist/oni-code/conductor.d.ts.map +0 -1
- package/dist/oni-code/conductor.js +0 -1547
- package/dist/oni-code/conductor.js.map +0 -1
- package/dist/oni-code/config.d.ts +0 -130
- package/dist/oni-code/config.d.ts.map +0 -1
- package/dist/oni-code/config.js +0 -264
- package/dist/oni-code/config.js.map +0 -1
- package/dist/oni-code/context-files.d.ts +0 -22
- package/dist/oni-code/context-files.d.ts.map +0 -1
- package/dist/oni-code/context-files.js +0 -156
- package/dist/oni-code/context-files.js.map +0 -1
- package/dist/oni-code/cron/humanize.d.ts +0 -26
- package/dist/oni-code/cron/humanize.d.ts.map +0 -1
- package/dist/oni-code/cron/humanize.js +0 -83
- package/dist/oni-code/cron/humanize.js.map +0 -1
- package/dist/oni-code/cron/index.d.ts +0 -10
- package/dist/oni-code/cron/index.d.ts.map +0 -1
- package/dist/oni-code/cron/index.js +0 -7
- package/dist/oni-code/cron/index.js.map +0 -1
- package/dist/oni-code/cron/matcher.d.ts +0 -29
- package/dist/oni-code/cron/matcher.d.ts.map +0 -1
- package/dist/oni-code/cron/matcher.js +0 -73
- package/dist/oni-code/cron/matcher.js.map +0 -1
- package/dist/oni-code/cron/parser.d.ts +0 -27
- package/dist/oni-code/cron/parser.d.ts.map +0 -1
- package/dist/oni-code/cron/parser.js +0 -149
- package/dist/oni-code/cron/parser.js.map +0 -1
- package/dist/oni-code/cron/persistence.d.ts +0 -21
- package/dist/oni-code/cron/persistence.d.ts.map +0 -1
- package/dist/oni-code/cron/persistence.js +0 -58
- package/dist/oni-code/cron/persistence.js.map +0 -1
- package/dist/oni-code/cron/scheduler.d.ts +0 -64
- package/dist/oni-code/cron/scheduler.d.ts.map +0 -1
- package/dist/oni-code/cron/scheduler.js +0 -188
- package/dist/oni-code/cron/scheduler.js.map +0 -1
- package/dist/oni-code/cron/store.d.ts +0 -46
- package/dist/oni-code/cron/store.d.ts.map +0 -1
- package/dist/oni-code/cron/store.js +0 -68
- package/dist/oni-code/cron/store.js.map +0 -1
- package/dist/oni-code/env.d.ts +0 -17
- package/dist/oni-code/env.d.ts.map +0 -1
- package/dist/oni-code/env.js +0 -51
- package/dist/oni-code/env.js.map +0 -1
- package/dist/oni-code/file-reader.d.ts +0 -28
- package/dist/oni-code/file-reader.d.ts.map +0 -1
- package/dist/oni-code/file-reader.js +0 -368
- package/dist/oni-code/file-reader.js.map +0 -1
- package/dist/oni-code/file-watcher.d.ts +0 -66
- package/dist/oni-code/file-watcher.d.ts.map +0 -1
- package/dist/oni-code/file-watcher.js +0 -167
- package/dist/oni-code/file-watcher.js.map +0 -1
- package/dist/oni-code/loop-detector.d.ts +0 -64
- package/dist/oni-code/loop-detector.d.ts.map +0 -1
- package/dist/oni-code/loop-detector.js +0 -163
- package/dist/oni-code/loop-detector.js.map +0 -1
- package/dist/oni-code/permissions.d.ts +0 -43
- package/dist/oni-code/permissions.d.ts.map +0 -1
- package/dist/oni-code/permissions.js +0 -98
- package/dist/oni-code/permissions.js.map +0 -1
- package/dist/oni-code/planner.d.ts +0 -26
- package/dist/oni-code/planner.d.ts.map +0 -1
- package/dist/oni-code/planner.js +0 -86
- package/dist/oni-code/planner.js.map +0 -1
- package/dist/oni-code/plugin-loader.d.ts +0 -103
- package/dist/oni-code/plugin-loader.d.ts.map +0 -1
- package/dist/oni-code/plugin-loader.js +0 -171
- package/dist/oni-code/plugin-loader.js.map +0 -1
- package/dist/oni-code/process-tree.d.ts +0 -44
- package/dist/oni-code/process-tree.d.ts.map +0 -1
- package/dist/oni-code/process-tree.js +0 -107
- package/dist/oni-code/process-tree.js.map +0 -1
- package/dist/oni-code/progress-tracker.d.ts +0 -40
- package/dist/oni-code/progress-tracker.d.ts.map +0 -1
- package/dist/oni-code/progress-tracker.js +0 -375
- package/dist/oni-code/progress-tracker.js.map +0 -1
- package/dist/oni-code/scheduler.d.ts +0 -56
- package/dist/oni-code/scheduler.d.ts.map +0 -1
- package/dist/oni-code/scheduler.js +0 -105
- package/dist/oni-code/scheduler.js.map +0 -1
- package/dist/oni-code/session-fork.d.ts +0 -146
- package/dist/oni-code/session-fork.d.ts.map +0 -1
- package/dist/oni-code/session-fork.js +0 -238
- package/dist/oni-code/session-fork.js.map +0 -1
- package/dist/oni-code/session-stats.d.ts +0 -72
- package/dist/oni-code/session-stats.d.ts.map +0 -1
- package/dist/oni-code/session-stats.js +0 -141
- package/dist/oni-code/session-stats.js.map +0 -1
- package/dist/oni-code/session-title.d.ts +0 -25
- package/dist/oni-code/session-title.d.ts.map +0 -1
- package/dist/oni-code/session-title.js +0 -67
- package/dist/oni-code/session-title.js.map +0 -1
- package/dist/oni-code/shell-parser.d.ts +0 -112
- package/dist/oni-code/shell-parser.d.ts.map +0 -1
- package/dist/oni-code/shell-parser.js +0 -657
- package/dist/oni-code/shell-parser.js.map +0 -1
- package/dist/oni-code/summarizer.d.ts +0 -27
- package/dist/oni-code/summarizer.d.ts.map +0 -1
- package/dist/oni-code/summarizer.js +0 -70
- package/dist/oni-code/summarizer.js.map +0 -1
- package/dist/oni-code/swarm-checkpoint.d.ts +0 -52
- package/dist/oni-code/swarm-checkpoint.d.ts.map +0 -1
- package/dist/oni-code/swarm-checkpoint.js +0 -71
- package/dist/oni-code/swarm-checkpoint.js.map +0 -1
- package/dist/oni-code/swarm-runner.d.ts +0 -173
- package/dist/oni-code/swarm-runner.d.ts.map +0 -1
- package/dist/oni-code/swarm-runner.js +0 -873
- package/dist/oni-code/swarm-runner.js.map +0 -1
- package/dist/oni-code/system-prompt.d.ts +0 -13
- package/dist/oni-code/system-prompt.d.ts.map +0 -1
- package/dist/oni-code/system-prompt.js +0 -64
- package/dist/oni-code/system-prompt.js.map +0 -1
- package/dist/oni-code/task-evaluator.d.ts +0 -73
- package/dist/oni-code/task-evaluator.d.ts.map +0 -1
- package/dist/oni-code/task-evaluator.js +0 -172
- package/dist/oni-code/task-evaluator.js.map +0 -1
- package/dist/oni-code/tools/batch.d.ts +0 -12
- package/dist/oni-code/tools/batch.d.ts.map +0 -1
- package/dist/oni-code/tools/batch.js +0 -116
- package/dist/oni-code/tools/batch.js.map +0 -1
- package/dist/oni-code/tools/coding.d.ts +0 -10
- package/dist/oni-code/tools/coding.d.ts.map +0 -1
- package/dist/oni-code/tools/coding.js +0 -557
- package/dist/oni-code/tools/coding.js.map +0 -1
- package/dist/oni-code/tools/cron.d.ts +0 -4
- package/dist/oni-code/tools/cron.d.ts.map +0 -1
- package/dist/oni-code/tools/cron.js +0 -120
- package/dist/oni-code/tools/cron.js.map +0 -1
- package/dist/oni-code/tools/custom.d.ts +0 -43
- package/dist/oni-code/tools/custom.d.ts.map +0 -1
- package/dist/oni-code/tools/custom.js +0 -115
- package/dist/oni-code/tools/custom.js.map +0 -1
- package/dist/oni-code/tools/patch.d.ts +0 -58
- package/dist/oni-code/tools/patch.d.ts.map +0 -1
- package/dist/oni-code/tools/patch.js +0 -247
- package/dist/oni-code/tools/patch.js.map +0 -1
- package/dist/oni-code/tools/plan.d.ts +0 -17
- package/dist/oni-code/tools/plan.d.ts.map +0 -1
- package/dist/oni-code/tools/plan.js +0 -48
- package/dist/oni-code/tools/plan.js.map +0 -1
- package/dist/oni-code/tools/question.d.ts +0 -17
- package/dist/oni-code/tools/question.d.ts.map +0 -1
- package/dist/oni-code/tools/question.js +0 -46
- package/dist/oni-code/tools/question.js.map +0 -1
- package/dist/oni-code/tools/skill.d.ts +0 -36
- package/dist/oni-code/tools/skill.d.ts.map +0 -1
- package/dist/oni-code/tools/skill.js +0 -132
- package/dist/oni-code/tools/skill.js.map +0 -1
- package/dist/oni-code/tools/spawn-agents.d.ts +0 -37
- package/dist/oni-code/tools/spawn-agents.d.ts.map +0 -1
- package/dist/oni-code/tools/spawn-agents.js +0 -91
- package/dist/oni-code/tools/spawn-agents.js.map +0 -1
- package/dist/oni-code/tools/spawn-swarm.d.ts +0 -70
- package/dist/oni-code/tools/spawn-swarm.d.ts.map +0 -1
- package/dist/oni-code/tools/spawn-swarm.js +0 -129
- package/dist/oni-code/tools/spawn-swarm.js.map +0 -1
- package/dist/oni-code/tools/web.d.ts +0 -11
- package/dist/oni-code/tools/web.d.ts.map +0 -1
- package/dist/oni-code/tools/web.js +0 -375
- package/dist/oni-code/tools/web.js.map +0 -1
- package/dist/oni-code/topology-agent-builder.d.ts +0 -22
- package/dist/oni-code/topology-agent-builder.d.ts.map +0 -1
- package/dist/oni-code/topology-agent-builder.js +0 -220
- package/dist/oni-code/topology-agent-builder.js.map +0 -1
- package/dist/oni-code/topology-selector.d.ts +0 -85
- package/dist/oni-code/topology-selector.d.ts.map +0 -1
- package/dist/oni-code/topology-selector.js +0 -338
- package/dist/oni-code/topology-selector.js.map +0 -1
- package/dist/oni-code/ui/App.d.ts +0 -10
- package/dist/oni-code/ui/App.d.ts.map +0 -1
- package/dist/oni-code/ui/App.js +0 -395
- package/dist/oni-code/ui/App.js.map +0 -1
- package/dist/oni-code/ui/FooterPanel.d.ts +0 -16
- package/dist/oni-code/ui/FooterPanel.d.ts.map +0 -1
- package/dist/oni-code/ui/FooterPanel.js +0 -56
- package/dist/oni-code/ui/FooterPanel.js.map +0 -1
- package/dist/oni-code/ui/Header.d.ts +0 -21
- package/dist/oni-code/ui/Header.d.ts.map +0 -1
- package/dist/oni-code/ui/Header.js +0 -105
- package/dist/oni-code/ui/Header.js.map +0 -1
- package/dist/oni-code/ui/InputArea.d.ts +0 -11
- package/dist/oni-code/ui/InputArea.d.ts.map +0 -1
- package/dist/oni-code/ui/InputArea.js +0 -82
- package/dist/oni-code/ui/InputArea.js.map +0 -1
- package/dist/oni-code/ui/MessageBlock.d.ts +0 -11
- package/dist/oni-code/ui/MessageBlock.d.ts.map +0 -1
- package/dist/oni-code/ui/MessageBlock.js +0 -103
- package/dist/oni-code/ui/MessageBlock.js.map +0 -1
- package/dist/oni-code/ui/OutputPane.d.ts +0 -12
- package/dist/oni-code/ui/OutputPane.d.ts.map +0 -1
- package/dist/oni-code/ui/OutputPane.js +0 -8
- package/dist/oni-code/ui/OutputPane.js.map +0 -1
- package/dist/oni-code/ui/PermissionPrompt.d.ts +0 -11
- package/dist/oni-code/ui/PermissionPrompt.d.ts.map +0 -1
- package/dist/oni-code/ui/PermissionPrompt.js +0 -48
- package/dist/oni-code/ui/PermissionPrompt.js.map +0 -1
- package/dist/oni-code/ui/QuestionPrompt.d.ts +0 -8
- package/dist/oni-code/ui/QuestionPrompt.d.ts.map +0 -1
- package/dist/oni-code/ui/QuestionPrompt.js +0 -9
- package/dist/oni-code/ui/QuestionPrompt.js.map +0 -1
- package/dist/oni-code/ui/StatusLine.d.ts +0 -14
- package/dist/oni-code/ui/StatusLine.d.ts.map +0 -1
- package/dist/oni-code/ui/StatusLine.js +0 -23
- package/dist/oni-code/ui/StatusLine.js.map +0 -1
- package/dist/oni-code/ui/SwarmPanel.d.ts +0 -9
- package/dist/oni-code/ui/SwarmPanel.d.ts.map +0 -1
- package/dist/oni-code/ui/SwarmPanel.js +0 -52
- package/dist/oni-code/ui/SwarmPanel.js.map +0 -1
- package/dist/oni-code/ui/ToolCallBlock.d.ts +0 -10
- package/dist/oni-code/ui/ToolCallBlock.d.ts.map +0 -1
- package/dist/oni-code/ui/ToolCallBlock.js +0 -21
- package/dist/oni-code/ui/ToolCallBlock.js.map +0 -1
- package/dist/oni-code/ui/Toolbar.d.ts +0 -8
- package/dist/oni-code/ui/Toolbar.d.ts.map +0 -1
- package/dist/oni-code/ui/Toolbar.js +0 -11
- package/dist/oni-code/ui/Toolbar.js.map +0 -1
- package/dist/oni-code/ui/WelcomeBanner.d.ts +0 -12
- package/dist/oni-code/ui/WelcomeBanner.d.ts.map +0 -1
- package/dist/oni-code/ui/WelcomeBanner.js +0 -24
- package/dist/oni-code/ui/WelcomeBanner.js.map +0 -1
- package/dist/oni-code/ui/activity.d.ts +0 -15
- package/dist/oni-code/ui/activity.d.ts.map +0 -1
- package/dist/oni-code/ui/activity.js +0 -252
- package/dist/oni-code/ui/activity.js.map +0 -1
- package/dist/oni-code/ui/banner.d.ts +0 -16
- package/dist/oni-code/ui/banner.d.ts.map +0 -1
- package/dist/oni-code/ui/banner.js +0 -132
- package/dist/oni-code/ui/banner.js.map +0 -1
- package/dist/oni-code/ui/command-menu.d.ts +0 -7
- package/dist/oni-code/ui/command-menu.d.ts.map +0 -1
- package/dist/oni-code/ui/command-menu.js +0 -20
- package/dist/oni-code/ui/command-menu.js.map +0 -1
- package/dist/oni-code/ui/diff.d.ts +0 -17
- package/dist/oni-code/ui/diff.d.ts.map +0 -1
- package/dist/oni-code/ui/diff.js +0 -37
- package/dist/oni-code/ui/diff.js.map +0 -1
- package/dist/oni-code/ui/format.d.ts +0 -41
- package/dist/oni-code/ui/format.d.ts.map +0 -1
- package/dist/oni-code/ui/format.js +0 -223
- package/dist/oni-code/ui/format.js.map +0 -1
- package/dist/oni-code/ui/input.d.ts +0 -28
- package/dist/oni-code/ui/input.d.ts.map +0 -1
- package/dist/oni-code/ui/input.js +0 -216
- package/dist/oni-code/ui/input.js.map +0 -1
- package/dist/oni-code/ui/insights.d.ts +0 -39
- package/dist/oni-code/ui/insights.d.ts.map +0 -1
- package/dist/oni-code/ui/insights.js +0 -193
- package/dist/oni-code/ui/insights.js.map +0 -1
- package/dist/oni-code/ui/markdown.d.ts +0 -9
- package/dist/oni-code/ui/markdown.d.ts.map +0 -1
- package/dist/oni-code/ui/markdown.js +0 -44
- package/dist/oni-code/ui/markdown.js.map +0 -1
- package/dist/oni-code/ui/panels.d.ts +0 -39
- package/dist/oni-code/ui/panels.d.ts.map +0 -1
- package/dist/oni-code/ui/panels.js +0 -209
- package/dist/oni-code/ui/panels.js.map +0 -1
- package/dist/oni-code/ui/paste.d.ts +0 -17
- package/dist/oni-code/ui/paste.d.ts.map +0 -1
- package/dist/oni-code/ui/paste.js +0 -45
- package/dist/oni-code/ui/paste.js.map +0 -1
- package/dist/oni-code/ui/raw-spinner.d.ts +0 -37
- package/dist/oni-code/ui/raw-spinner.d.ts.map +0 -1
- package/dist/oni-code/ui/raw-spinner.js +0 -121
- package/dist/oni-code/ui/raw-spinner.js.map +0 -1
- package/dist/oni-code/ui/session.d.ts +0 -44
- package/dist/oni-code/ui/session.d.ts.map +0 -1
- package/dist/oni-code/ui/session.js +0 -93
- package/dist/oni-code/ui/session.js.map +0 -1
- package/dist/oni-code/ui/spinner.d.ts +0 -7
- package/dist/oni-code/ui/spinner.d.ts.map +0 -1
- package/dist/oni-code/ui/spinner.js +0 -20
- package/dist/oni-code/ui/spinner.js.map +0 -1
- package/dist/oni-code/ui/swarm-activity.d.ts +0 -50
- package/dist/oni-code/ui/swarm-activity.d.ts.map +0 -1
- package/dist/oni-code/ui/swarm-activity.js +0 -233
- package/dist/oni-code/ui/swarm-activity.js.map +0 -1
- package/dist/oni-code/ui/terminal-size.d.ts +0 -18
- package/dist/oni-code/ui/terminal-size.d.ts.map +0 -1
- package/dist/oni-code/ui/terminal-size.js +0 -45
- package/dist/oni-code/ui/terminal-size.js.map +0 -1
- package/dist/oni-code/ui/theme.d.ts +0 -82
- package/dist/oni-code/ui/theme.d.ts.map +0 -1
- package/dist/oni-code/ui/theme.js +0 -101
- package/dist/oni-code/ui/theme.js.map +0 -1
- package/dist/oni-code/ui/tool-utils.d.ts +0 -10
- package/dist/oni-code/ui/tool-utils.d.ts.map +0 -1
- package/dist/oni-code/ui/tool-utils.js +0 -82
- package/dist/oni-code/ui/tool-utils.js.map +0 -1
- package/dist/oni-code/ui/useTerminalSize.d.ts +0 -3
- package/dist/oni-code/ui/useTerminalSize.d.ts.map +0 -1
- package/dist/oni-code/ui/useTerminalSize.js +0 -16
- package/dist/oni-code/ui/useTerminalSize.js.map +0 -1
- package/dist/oni-code/workspace/change-tracker.d.ts +0 -18
- package/dist/oni-code/workspace/change-tracker.d.ts.map +0 -1
- package/dist/oni-code/workspace/change-tracker.js +0 -67
- package/dist/oni-code/workspace/change-tracker.js.map +0 -1
- package/dist/oni-code/workspace/conflict-detector.d.ts +0 -12
- package/dist/oni-code/workspace/conflict-detector.d.ts.map +0 -1
- package/dist/oni-code/workspace/conflict-detector.js +0 -24
- package/dist/oni-code/workspace/conflict-detector.js.map +0 -1
- package/dist/oni-code/workspace/file-snapshots.d.ts +0 -39
- package/dist/oni-code/workspace/file-snapshots.d.ts.map +0 -1
- package/dist/oni-code/workspace/file-snapshots.js +0 -77
- package/dist/oni-code/workspace/file-snapshots.js.map +0 -1
- package/dist/oni-code/workspace/index.d.ts +0 -5
- package/dist/oni-code/workspace/index.d.ts.map +0 -1
- package/dist/oni-code/workspace/index.js +0 -5
- package/dist/oni-code/workspace/index.js.map +0 -1
- package/dist/oni-code/workspace/project-map.d.ts +0 -14
- package/dist/oni-code/workspace/project-map.d.ts.map +0 -1
- package/dist/oni-code/workspace/project-map.js +0 -91
- package/dist/oni-code/workspace/project-map.js.map +0 -1
- package/dist/sentinel/config/index.d.ts +0 -2
- package/dist/sentinel/config/index.d.ts.map +0 -1
- package/dist/sentinel/config/index.js +0 -2
- package/dist/sentinel/config/index.js.map +0 -1
- package/dist/sentinel/config/schema.d.ts +0 -4
- package/dist/sentinel/config/schema.d.ts.map +0 -1
- package/dist/sentinel/config/schema.js +0 -42
- package/dist/sentinel/config/schema.js.map +0 -1
- package/dist/sentinel/debate/index.d.ts +0 -6
- package/dist/sentinel/debate/index.d.ts.map +0 -1
- package/dist/sentinel/debate/index.js +0 -64
- package/dist/sentinel/debate/index.js.map +0 -1
- package/dist/sentinel/debate/prompts.d.ts +0 -4
- package/dist/sentinel/debate/prompts.d.ts.map +0 -1
- package/dist/sentinel/debate/prompts.js +0 -13
- package/dist/sentinel/debate/prompts.js.map +0 -1
- package/dist/sentinel/fix/index.d.ts +0 -6
- package/dist/sentinel/fix/index.d.ts.map +0 -1
- package/dist/sentinel/fix/index.js +0 -27
- package/dist/sentinel/fix/index.js.map +0 -1
- package/dist/sentinel/fix/strategies.d.ts +0 -9
- package/dist/sentinel/fix/strategies.d.ts.map +0 -1
- package/dist/sentinel/fix/strategies.js +0 -40
- package/dist/sentinel/fix/strategies.js.map +0 -1
- package/dist/sentinel/index.d.ts +0 -14
- package/dist/sentinel/index.d.ts.map +0 -1
- package/dist/sentinel/index.js +0 -22
- package/dist/sentinel/index.js.map +0 -1
- package/dist/sentinel/integrations/cli.d.ts +0 -10
- package/dist/sentinel/integrations/cli.d.ts.map +0 -1
- package/dist/sentinel/integrations/cli.js +0 -24
- package/dist/sentinel/integrations/cli.js.map +0 -1
- package/dist/sentinel/integrations/index.d.ts +0 -2
- package/dist/sentinel/integrations/index.d.ts.map +0 -1
- package/dist/sentinel/integrations/index.js +0 -2
- package/dist/sentinel/integrations/index.js.map +0 -1
- package/dist/sentinel/memory/index.d.ts +0 -16
- package/dist/sentinel/memory/index.d.ts.map +0 -1
- package/dist/sentinel/memory/index.js +0 -60
- package/dist/sentinel/memory/index.js.map +0 -1
- package/dist/sentinel/report/console.d.ts +0 -3
- package/dist/sentinel/report/console.d.ts.map +0 -1
- package/dist/sentinel/report/console.js +0 -27
- package/dist/sentinel/report/console.js.map +0 -1
- package/dist/sentinel/report/github.d.ts +0 -3
- package/dist/sentinel/report/github.d.ts.map +0 -1
- package/dist/sentinel/report/github.js +0 -36
- package/dist/sentinel/report/github.js.map +0 -1
- package/dist/sentinel/report/index.d.ts +0 -6
- package/dist/sentinel/report/index.d.ts.map +0 -1
- package/dist/sentinel/report/index.js +0 -15
- package/dist/sentinel/report/index.js.map +0 -1
- package/dist/sentinel/report/sarif.d.ts +0 -3
- package/dist/sentinel/report/sarif.d.ts.map +0 -1
- package/dist/sentinel/report/sarif.js +0 -29
- package/dist/sentinel/report/sarif.js.map +0 -1
- package/dist/sentinel/sentinel.d.ts +0 -17
- package/dist/sentinel/sentinel.d.ts.map +0 -1
- package/dist/sentinel/sentinel.js +0 -111
- package/dist/sentinel/sentinel.js.map +0 -1
- package/dist/sentinel/swarm/agents.d.ts +0 -6
- package/dist/sentinel/swarm/agents.d.ts.map +0 -1
- package/dist/sentinel/swarm/agents.js +0 -36
- package/dist/sentinel/swarm/agents.js.map +0 -1
- package/dist/sentinel/swarm/index.d.ts +0 -8
- package/dist/sentinel/swarm/index.d.ts.map +0 -1
- package/dist/sentinel/swarm/index.js +0 -74
- package/dist/sentinel/swarm/index.js.map +0 -1
- package/dist/sentinel/swarm/prompts.d.ts +0 -2
- package/dist/sentinel/swarm/prompts.d.ts.map +0 -1
- package/dist/sentinel/swarm/prompts.js +0 -24
- package/dist/sentinel/swarm/prompts.js.map +0 -1
- package/dist/sentinel/swarm/topology.d.ts +0 -10
- package/dist/sentinel/swarm/topology.d.ts.map +0 -1
- package/dist/sentinel/swarm/topology.js +0 -38
- package/dist/sentinel/swarm/topology.js.map +0 -1
- package/dist/sentinel/triage/analyzers/complexity-analyzer.d.ts +0 -7
- package/dist/sentinel/triage/analyzers/complexity-analyzer.d.ts.map +0 -1
- package/dist/sentinel/triage/analyzers/complexity-analyzer.js +0 -94
- package/dist/sentinel/triage/analyzers/complexity-analyzer.js.map +0 -1
- package/dist/sentinel/triage/analyzers/custom-analyzer.d.ts +0 -19
- package/dist/sentinel/triage/analyzers/custom-analyzer.d.ts.map +0 -1
- package/dist/sentinel/triage/analyzers/custom-analyzer.js +0 -268
- package/dist/sentinel/triage/analyzers/custom-analyzer.js.map +0 -1
- package/dist/sentinel/triage/analyzers/dependency-analyzer.d.ts +0 -26
- package/dist/sentinel/triage/analyzers/dependency-analyzer.d.ts.map +0 -1
- package/dist/sentinel/triage/analyzers/dependency-analyzer.js +0 -220
- package/dist/sentinel/triage/analyzers/dependency-analyzer.js.map +0 -1
- package/dist/sentinel/triage/analyzers/diff-analyzer.d.ts +0 -12
- package/dist/sentinel/triage/analyzers/diff-analyzer.d.ts.map +0 -1
- package/dist/sentinel/triage/analyzers/diff-analyzer.js +0 -19
- package/dist/sentinel/triage/analyzers/diff-analyzer.js.map +0 -1
- package/dist/sentinel/triage/analyzers/index.d.ts +0 -14
- package/dist/sentinel/triage/analyzers/index.d.ts.map +0 -1
- package/dist/sentinel/triage/analyzers/index.js +0 -25
- package/dist/sentinel/triage/analyzers/index.js.map +0 -1
- package/dist/sentinel/triage/analyzers/pattern-analyzer.d.ts +0 -7
- package/dist/sentinel/triage/analyzers/pattern-analyzer.d.ts.map +0 -1
- package/dist/sentinel/triage/analyzers/pattern-analyzer.js +0 -180
- package/dist/sentinel/triage/analyzers/pattern-analyzer.js.map +0 -1
- package/dist/sentinel/triage/analyzers/security-analyzer.d.ts +0 -7
- package/dist/sentinel/triage/analyzers/security-analyzer.d.ts.map +0 -1
- package/dist/sentinel/triage/analyzers/security-analyzer.js +0 -96
- package/dist/sentinel/triage/analyzers/security-analyzer.js.map +0 -1
- package/dist/sentinel/triage/analyzers/ts-parser.d.ts +0 -71
- package/dist/sentinel/triage/analyzers/ts-parser.d.ts.map +0 -1
- package/dist/sentinel/triage/analyzers/ts-parser.js +0 -323
- package/dist/sentinel/triage/analyzers/ts-parser.js.map +0 -1
- package/dist/sentinel/triage/analyzers/typescript-analyzer.d.ts +0 -7
- package/dist/sentinel/triage/analyzers/typescript-analyzer.d.ts.map +0 -1
- package/dist/sentinel/triage/analyzers/typescript-analyzer.js +0 -68
- package/dist/sentinel/triage/analyzers/typescript-analyzer.js.map +0 -1
- package/dist/sentinel/triage/index.d.ts +0 -10
- package/dist/sentinel/triage/index.d.ts.map +0 -1
- package/dist/sentinel/triage/index.js +0 -39
- package/dist/sentinel/triage/index.js.map +0 -1
- package/dist/sentinel/triage/scorer.d.ts +0 -9
- package/dist/sentinel/triage/scorer.d.ts.map +0 -1
- package/dist/sentinel/triage/scorer.js +0 -28
- package/dist/sentinel/triage/scorer.js.map +0 -1
- package/dist/sentinel/types.d.ts +0 -125
- package/dist/sentinel/types.d.ts.map +0 -1
- package/dist/sentinel/types.js +0 -6
- package/dist/sentinel/types.js.map +0 -1
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin Loader — discovers and loads plugins from project directories.
|
|
3
|
-
*
|
|
4
|
-
* Scans `.oni/plugins/` for `.js` and `.mjs` files, dynamically imports them,
|
|
5
|
-
* and extracts plugin definitions. Plugins can provide tools, agent definitions,
|
|
6
|
-
* and lifecycle hooks — extending ONI beyond what custom tools alone can do.
|
|
7
|
-
*
|
|
8
|
-
* Plugin format (any of these export patterns):
|
|
9
|
-
* - Default export: `export default { tools?, agents?, hooks?, activate?, deactivate? }`
|
|
10
|
-
* - Named `plugin` export: `export const plugin = { ... }`
|
|
11
|
-
* - Module-level: exports matching the plugin shape
|
|
12
|
-
*
|
|
13
|
-
* A valid plugin must have at least one of: tools, agents, hooks, or activate.
|
|
14
|
-
* Non-plugin exports are silently skipped.
|
|
15
|
-
*
|
|
16
|
-
* Lifecycle:
|
|
17
|
-
* - `activate(ctx)` — called when plugin is loaded (sync or async)
|
|
18
|
-
* - `deactivate()` — called when plugin is unloaded (sync or async)
|
|
19
|
-
*
|
|
20
|
-
* Swarm-aware: Plugin tools are available to all execution tiers (conductor,
|
|
21
|
-
* subagents, swarm agents). Plugin agents can be used as swarm agent slots.
|
|
22
|
-
*/
|
|
23
|
-
import { join, basename, extname } from "node:path";
|
|
24
|
-
import { readdirSync, existsSync } from "node:fs";
|
|
25
|
-
import { pathToFileURL } from "node:url";
|
|
26
|
-
// ── Constants ─────────────────────────────────────────────────
|
|
27
|
-
const PLUGINS_DIR = ".oni/plugins";
|
|
28
|
-
const VALID_EXTENSIONS = new Set([".js", ".mjs"]);
|
|
29
|
-
// ── scanPluginFiles ───────────────────────────────────────────
|
|
30
|
-
/**
|
|
31
|
-
* Find all loadable plugin files in the project's `.oni/plugins/` directory.
|
|
32
|
-
* Returns absolute paths to `.js` and `.mjs` files.
|
|
33
|
-
*/
|
|
34
|
-
export function scanPluginFiles(rootDir) {
|
|
35
|
-
const pluginsPath = join(rootDir, PLUGINS_DIR);
|
|
36
|
-
if (!existsSync(pluginsPath)) {
|
|
37
|
-
return [];
|
|
38
|
-
}
|
|
39
|
-
try {
|
|
40
|
-
const entries = readdirSync(pluginsPath, { withFileTypes: true });
|
|
41
|
-
return entries
|
|
42
|
-
.filter((e) => e.isFile() && VALID_EXTENSIONS.has(extname(e.name)))
|
|
43
|
-
.map((e) => join(pluginsPath, e.name));
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
return [];
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
// ── isPluginLike ──────────────────────────────────────────────
|
|
50
|
-
/**
|
|
51
|
-
* Type guard: an object is plugin-like if it has at least one of
|
|
52
|
-
* tools (array), agents (array), hooks (array), or activate (function).
|
|
53
|
-
*/
|
|
54
|
-
export function isPluginLike(value) {
|
|
55
|
-
if (typeof value !== "object" || value === null)
|
|
56
|
-
return false;
|
|
57
|
-
const obj = value;
|
|
58
|
-
return (Array.isArray(obj.tools) ||
|
|
59
|
-
Array.isArray(obj.agents) ||
|
|
60
|
-
Array.isArray(obj.hooks) ||
|
|
61
|
-
typeof obj.activate === "function");
|
|
62
|
-
}
|
|
63
|
-
// ── extractPlugin ─────────────────────────────────────────────
|
|
64
|
-
/**
|
|
65
|
-
* Extract a plugin object from a module's exports.
|
|
66
|
-
*
|
|
67
|
-
* Priority:
|
|
68
|
-
* 1. `default` export (if plugin-like)
|
|
69
|
-
* 2. Named `plugin` export (if plugin-like)
|
|
70
|
-
* 3. Module itself (if plugin-like)
|
|
71
|
-
*
|
|
72
|
-
* Returns null if no valid plugin found.
|
|
73
|
-
*/
|
|
74
|
-
export function extractPlugin(mod, filenameStem) {
|
|
75
|
-
// 1. Default export
|
|
76
|
-
if (mod.default && isPluginLike(mod.default)) {
|
|
77
|
-
const plugin = mod.default;
|
|
78
|
-
return { ...plugin, name: plugin.name ?? filenameStem };
|
|
79
|
-
}
|
|
80
|
-
// 2. Named `plugin` export
|
|
81
|
-
if (mod.plugin && isPluginLike(mod.plugin)) {
|
|
82
|
-
const plugin = mod.plugin;
|
|
83
|
-
return { ...plugin, name: plugin.name ?? filenameStem };
|
|
84
|
-
}
|
|
85
|
-
// 3. Module-level shape
|
|
86
|
-
if (isPluginLike(mod)) {
|
|
87
|
-
return { ...mod, name: mod.name ?? filenameStem };
|
|
88
|
-
}
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
// ── loadAllPlugins ────────────────────────────────────────────
|
|
92
|
-
/**
|
|
93
|
-
* Scan `.oni/plugins/`, import each file, extract plugin definitions,
|
|
94
|
-
* and call `activate()` on each.
|
|
95
|
-
*
|
|
96
|
-
* - Files that fail to import are silently skipped
|
|
97
|
-
* - Files with non-plugin exports are silently skipped
|
|
98
|
-
* - Plugins that throw during activate are skipped
|
|
99
|
-
*/
|
|
100
|
-
export async function loadAllPlugins(rootDir, context) {
|
|
101
|
-
const files = scanPluginFiles(rootDir);
|
|
102
|
-
if (files.length === 0)
|
|
103
|
-
return [];
|
|
104
|
-
const ctx = context ?? { rootDir };
|
|
105
|
-
const loaded = [];
|
|
106
|
-
for (const filePath of files) {
|
|
107
|
-
try {
|
|
108
|
-
const fileUrl = pathToFileURL(filePath).href;
|
|
109
|
-
const mod = await import(fileUrl);
|
|
110
|
-
const stem = basename(filePath, extname(filePath));
|
|
111
|
-
const plugin = extractPlugin(mod, stem);
|
|
112
|
-
if (!plugin)
|
|
113
|
-
continue;
|
|
114
|
-
// Call activate lifecycle hook
|
|
115
|
-
if (typeof plugin.activate === "function") {
|
|
116
|
-
await plugin.activate(ctx);
|
|
117
|
-
}
|
|
118
|
-
loaded.push({
|
|
119
|
-
name: plugin.name ?? stem,
|
|
120
|
-
source: filePath,
|
|
121
|
-
plugin,
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
catch {
|
|
125
|
-
// Silently skip plugins that fail to load or activate
|
|
126
|
-
continue;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return loaded;
|
|
130
|
-
}
|
|
131
|
-
// ── unloadPlugins ─────────────────────────────────────────────
|
|
132
|
-
/**
|
|
133
|
-
* Call `deactivate()` on each loaded plugin. Errors are swallowed
|
|
134
|
-
* to ensure all plugins get a chance to clean up.
|
|
135
|
-
*/
|
|
136
|
-
export async function unloadPlugins(plugins) {
|
|
137
|
-
for (const { plugin } of plugins) {
|
|
138
|
-
if (typeof plugin.deactivate === "function") {
|
|
139
|
-
try {
|
|
140
|
-
await plugin.deactivate();
|
|
141
|
-
}
|
|
142
|
-
catch {
|
|
143
|
-
// Silently ignore deactivation errors
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
// ── extractPluginTools ────────────────────────────────────────
|
|
149
|
-
/**
|
|
150
|
-
* Collect all tools from loaded plugins into a flat array.
|
|
151
|
-
* Useful for passing to ConductorConfig.customTools.
|
|
152
|
-
*/
|
|
153
|
-
export function extractPluginTools(plugins) {
|
|
154
|
-
return plugins.flatMap((p) => p.plugin.tools ?? []);
|
|
155
|
-
}
|
|
156
|
-
// ── extractPluginAgents ───────────────────────────────────────
|
|
157
|
-
/**
|
|
158
|
-
* Collect all agent definitions from loaded plugins.
|
|
159
|
-
* Returns in the format expected by AgentRegistry.register().
|
|
160
|
-
*/
|
|
161
|
-
export function extractPluginAgents(plugins) {
|
|
162
|
-
return plugins.flatMap((p) => p.plugin.agents ?? []);
|
|
163
|
-
}
|
|
164
|
-
// ── extractPluginHooks ────────────────────────────────────────
|
|
165
|
-
/**
|
|
166
|
-
* Collect all hook definitions from loaded plugins.
|
|
167
|
-
*/
|
|
168
|
-
export function extractPluginHooks(plugins) {
|
|
169
|
-
return plugins.flatMap((p) => p.plugin.hooks ?? []);
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=plugin-loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/oni-code/plugin-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process Tree Killing — cross-platform process group management.
|
|
3
|
-
*
|
|
4
|
-
* Ensures all child processes spawned by bash commands are cleaned up
|
|
5
|
-
* on abort or timeout. Uses process groups on Unix (negative PID) and
|
|
6
|
-
* taskkill /t on Windows.
|
|
7
|
-
*
|
|
8
|
-
* Swarm-aware: Each agent's bash processes run in their own process group,
|
|
9
|
-
* so aborting one swarm agent's process tree doesn't affect others.
|
|
10
|
-
*
|
|
11
|
-
* Usage:
|
|
12
|
-
* const proc = spawn(cmd, { ...spawnOptionsForTree() });
|
|
13
|
-
* await killProcessTree(proc, { exited: () => hasExited });
|
|
14
|
-
*/
|
|
15
|
-
import { type ChildProcess } from "node:child_process";
|
|
16
|
-
export interface KillTreeOptions {
|
|
17
|
-
/** Returns true if the process has already exited. Prevents double-kill. */
|
|
18
|
-
exited?: () => boolean;
|
|
19
|
-
}
|
|
20
|
-
export interface TreeSpawnOptions {
|
|
21
|
-
/** Spawn with detached process group on Unix (default: true) */
|
|
22
|
-
detached: boolean;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Returns spawn options that enable process tree killing.
|
|
26
|
-
*
|
|
27
|
-
* On Unix: `detached: true` creates a new process group.
|
|
28
|
-
* On Windows: `detached: false` — taskkill /t handles tree kill natively.
|
|
29
|
-
*/
|
|
30
|
-
export declare function spawnOptionsForTree(): TreeSpawnOptions;
|
|
31
|
-
/**
|
|
32
|
-
* Kill a process and all its children (the entire process tree).
|
|
33
|
-
*
|
|
34
|
-
* - Unix: Sends SIGTERM to the process group (negative PID), waits 200ms,
|
|
35
|
-
* then sends SIGKILL if still alive. Falls back to single-process kill
|
|
36
|
-
* if group kill fails (e.g., process not a group leader).
|
|
37
|
-
*
|
|
38
|
-
* - Windows: Spawns `taskkill /pid <pid> /f /t` which force-kills the
|
|
39
|
-
* entire process tree.
|
|
40
|
-
*
|
|
41
|
-
* Safe to call multiple times — handles already-exited processes gracefully.
|
|
42
|
-
*/
|
|
43
|
-
export declare function killProcessTree(proc: ChildProcess, opts?: KillTreeOptions): Promise<void>;
|
|
44
|
-
//# sourceMappingURL=process-tree.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-tree.d.ts","sourceRoot":"","sources":["../../src/oni-code/process-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAU9D,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAItD;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,YAAY,EAClB,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process Tree Killing — cross-platform process group management.
|
|
3
|
-
*
|
|
4
|
-
* Ensures all child processes spawned by bash commands are cleaned up
|
|
5
|
-
* on abort or timeout. Uses process groups on Unix (negative PID) and
|
|
6
|
-
* taskkill /t on Windows.
|
|
7
|
-
*
|
|
8
|
-
* Swarm-aware: Each agent's bash processes run in their own process group,
|
|
9
|
-
* so aborting one swarm agent's process tree doesn't affect others.
|
|
10
|
-
*
|
|
11
|
-
* Usage:
|
|
12
|
-
* const proc = spawn(cmd, { ...spawnOptionsForTree() });
|
|
13
|
-
* await killProcessTree(proc, { exited: () => hasExited });
|
|
14
|
-
*/
|
|
15
|
-
import { spawn } from "node:child_process";
|
|
16
|
-
import { platform } from "node:process";
|
|
17
|
-
// ── Constants ────────────────────────────────────────────────
|
|
18
|
-
/** Time to wait between SIGTERM and SIGKILL on Unix (ms) */
|
|
19
|
-
const SIGKILL_DELAY_MS = 200;
|
|
20
|
-
// ── spawnOptionsForTree ──────────────────────────────────────
|
|
21
|
-
/**
|
|
22
|
-
* Returns spawn options that enable process tree killing.
|
|
23
|
-
*
|
|
24
|
-
* On Unix: `detached: true` creates a new process group.
|
|
25
|
-
* On Windows: `detached: false` — taskkill /t handles tree kill natively.
|
|
26
|
-
*/
|
|
27
|
-
export function spawnOptionsForTree() {
|
|
28
|
-
return {
|
|
29
|
-
detached: platform !== "win32",
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
// ── killProcessTree ──────────────────────────────────────────
|
|
33
|
-
/**
|
|
34
|
-
* Kill a process and all its children (the entire process tree).
|
|
35
|
-
*
|
|
36
|
-
* - Unix: Sends SIGTERM to the process group (negative PID), waits 200ms,
|
|
37
|
-
* then sends SIGKILL if still alive. Falls back to single-process kill
|
|
38
|
-
* if group kill fails (e.g., process not a group leader).
|
|
39
|
-
*
|
|
40
|
-
* - Windows: Spawns `taskkill /pid <pid> /f /t` which force-kills the
|
|
41
|
-
* entire process tree.
|
|
42
|
-
*
|
|
43
|
-
* Safe to call multiple times — handles already-exited processes gracefully.
|
|
44
|
-
*/
|
|
45
|
-
export async function killProcessTree(proc, opts) {
|
|
46
|
-
const pid = proc.pid;
|
|
47
|
-
// No PID means spawn failed — nothing to kill
|
|
48
|
-
if (pid === undefined)
|
|
49
|
-
return;
|
|
50
|
-
// Already exited — nothing to do
|
|
51
|
-
if (opts?.exited?.())
|
|
52
|
-
return;
|
|
53
|
-
if (platform === "win32") {
|
|
54
|
-
await killTreeWindows(pid);
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
await killTreeUnix(proc, pid, opts);
|
|
58
|
-
}
|
|
59
|
-
// ── Unix implementation ──────────────────────────────────────
|
|
60
|
-
async function killTreeUnix(proc, pid, opts) {
|
|
61
|
-
// Try process group kill first (negative PID)
|
|
62
|
-
try {
|
|
63
|
-
process.kill(-pid, "SIGTERM");
|
|
64
|
-
}
|
|
65
|
-
catch {
|
|
66
|
-
// Group kill failed — fall back to single process
|
|
67
|
-
try {
|
|
68
|
-
proc.kill("SIGTERM");
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
// Already dead — nothing to do
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Wait for graceful shutdown
|
|
76
|
-
await sleep(SIGKILL_DELAY_MS);
|
|
77
|
-
// Force kill if still alive
|
|
78
|
-
if (opts?.exited?.())
|
|
79
|
-
return;
|
|
80
|
-
try {
|
|
81
|
-
process.kill(-pid, "SIGKILL");
|
|
82
|
-
}
|
|
83
|
-
catch {
|
|
84
|
-
// Group SIGKILL failed — try single process
|
|
85
|
-
try {
|
|
86
|
-
proc.kill("SIGKILL");
|
|
87
|
-
}
|
|
88
|
-
catch {
|
|
89
|
-
// Already dead
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
// ── Windows implementation ───────────────────────────────────
|
|
94
|
-
async function killTreeWindows(pid) {
|
|
95
|
-
return new Promise((resolve) => {
|
|
96
|
-
const killer = spawn("taskkill", ["/pid", String(pid), "/f", "/t"], {
|
|
97
|
-
stdio: "ignore",
|
|
98
|
-
});
|
|
99
|
-
killer.once("exit", () => resolve());
|
|
100
|
-
killer.once("error", () => resolve());
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
// ── Utility ──────────────────────────────────────────────────
|
|
104
|
-
function sleep(ms) {
|
|
105
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=process-tree.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-tree.js","sourceRoot":"","sources":["../../src/oni-code/process-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,gEAAgE;AAEhE,4DAA4D;AAC5D,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAc7B,gEAAgE;AAEhE;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,QAAQ,EAAE,QAAQ,KAAK,OAAO;KAC/B,CAAC;AACJ,CAAC;AAED,gEAAgE;AAEhE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAkB,EAClB,IAAsB;IAEtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAErB,8CAA8C;IAC9C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO;IAE9B,iCAAiC;IACjC,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE;QAAE,OAAO;IAE7B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,gEAAgE;AAEhE,KAAK,UAAU,YAAY,CACzB,IAAkB,EAClB,GAAW,EACX,IAAsB;IAEtB,8CAA8C;IAC9C,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;QAClD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;YAC/B,OAAO;QACT,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE9B,4BAA4B;IAC5B,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE;QAAE,OAAO;IAE7B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;QAC5C,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,gEAAgE;AAEhE,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;YAClE,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gEAAgE;AAEhE,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { Todo, TodoState } from "../harness/todo-module.js";
|
|
2
|
-
import type { ChangeEntry, ChangeTracker } from "./workspace/change-tracker.js";
|
|
3
|
-
export interface VerificationRecord {
|
|
4
|
-
command: string;
|
|
5
|
-
toolName: "bash" | "git";
|
|
6
|
-
status: "passed" | "failed";
|
|
7
|
-
exitCode: number;
|
|
8
|
-
timestamp: string;
|
|
9
|
-
excerpt?: string;
|
|
10
|
-
}
|
|
11
|
-
export interface ProgressSnapshot {
|
|
12
|
-
version: number;
|
|
13
|
-
updatedAt: string;
|
|
14
|
-
currentTask?: string;
|
|
15
|
-
todos: Todo[];
|
|
16
|
-
changedFiles: ChangeEntry[];
|
|
17
|
-
recentVerification: VerificationRecord[];
|
|
18
|
-
lastAssistantSummary?: string;
|
|
19
|
-
}
|
|
20
|
-
export declare class ProgressTracker {
|
|
21
|
-
private readonly rootDir;
|
|
22
|
-
private snapshot;
|
|
23
|
-
private dirty;
|
|
24
|
-
readonly filePath: string;
|
|
25
|
-
readonly relativeFilePath: string;
|
|
26
|
-
constructor(rootDir: string, filePath?: string);
|
|
27
|
-
private loadFromDisk;
|
|
28
|
-
getSnapshot(): ProgressSnapshot;
|
|
29
|
-
hasPersistentState(): boolean;
|
|
30
|
-
recordUserTask(task: string): boolean;
|
|
31
|
-
syncTodoState(state: TodoState): boolean;
|
|
32
|
-
syncChangeTracker(changeTracker: ChangeTracker): boolean;
|
|
33
|
-
restoreInto(todoStateWriter: (todos: Todo[]) => void, changeTracker: ChangeTracker): void;
|
|
34
|
-
recordVerification(toolName: string, input: Record<string, unknown>, output: unknown): boolean;
|
|
35
|
-
recordAssistantSummary(summary: string): boolean;
|
|
36
|
-
persist(): boolean;
|
|
37
|
-
toContextString(): string;
|
|
38
|
-
private touch;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=progress-tracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress-tracker.d.ts","sourceRoot":"","sources":["../../src/oni-code/progress-tracker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAWhF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AA4ND,qBAAa,eAAe;IAOxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,KAAK,CAAS;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAGf,OAAO,EAAE,MAAM,EAChC,QAAQ,CAAC,EAAE,MAAM;IAQnB,OAAO,CAAC,YAAY;IAqBpB,WAAW,IAAI,gBAAgB;IAS/B,kBAAkB,IAAI,OAAO;IAU7B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAarC,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAUxC,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO;IAUxD,WAAW,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI;IASzF,kBAAkB,CAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,OAAO,GACd,OAAO;IAYV,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAUhD,OAAO,IAAI,OAAO;IAQlB,eAAe,IAAI,MAAM;IAyDzB,OAAO,CAAC,KAAK;CAId"}
|