@selesai/code 0.8.11 → 0.9.0
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/CHANGELOG.md +21 -0
- package/dist/core/agent-session.js +41 -29
- package/dist/core/resource-loader.d.ts +1 -1
- package/dist/core/resource-loader.js +2 -2
- package/dist/defaults/models.json +30 -7
- package/dist/defaults/settings.json +10 -8
- package/dist/extensions/model-prompt-injector/config.json +6 -0
- package/dist/extensions/package.json +2 -1
- package/dist/extensions/pi-subagents/README.md +4 -4
- package/dist/extensions/pi-subagents/docs/configuration.md +3 -54
- package/dist/extensions/pi-subagents/docs/extension-api.md +4 -15
- package/dist/extensions/pi-subagents/docs/missions.md +2 -39
- package/dist/extensions/pi-subagents/docs/observability.md +2 -42
- package/dist/extensions/pi-subagents/docs/tool-reference.md +1 -2
- package/dist/extensions/pi-subagents/docs/watchdog.md +0 -57
- package/dist/extensions/pi-subagents/docs/workflows.md +2 -0
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/execution-controls.md +4 -49
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/management-authoring-rpc.md +1 -1
- package/dist/extensions/pi-subagents/skills/pi-subagents/references/prompting-and-roles.md +1 -2
- package/dist/extensions/pi-subagents/src/extension/config.ts +3 -15
- package/dist/extensions/pi-subagents/src/extension/index.ts +1 -53
- package/dist/extensions/pi-subagents/src/extension/public-execution.ts +4 -10
- package/dist/extensions/pi-subagents/src/extension/rpc.ts +1 -2
- package/dist/extensions/pi-subagents/src/extension/schemas.ts +1 -12
- package/dist/extensions/pi-subagents/src/extension/tool-description.ts +1 -2
- package/dist/extensions/pi-subagents/src/policy/authority.ts +0 -2
- package/dist/extensions/pi-subagents/src/runs/foreground/subagent-executor.ts +33 -102
- package/dist/extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +0 -2
- package/dist/extensions/pi-subagents/src/shared/types.ts +1 -1
- package/dist/extensions/pi-subagents/src/slash/slash-commands.ts +4 -58
- package/dist/extensions/pi-subagents/src/watchdog/register-main.ts +2 -8
- package/dist/extensions/pi-subagents/src/watchdog/tool-actions.ts +1 -2
- package/dist/extensions/pi-subagents/src/workflows/workflow-auto-relaunch.ts +16 -3
- package/dist/extensions/pi-subagents/test/integration/async-execution.test.ts +0 -95
- package/dist/extensions/pi-subagents/test/integration/async-job-tracker.test.ts +0 -15
- package/dist/extensions/pi-subagents/test/integration/result-watcher.test.ts +0 -59
- package/dist/extensions/pi-subagents/test/integration/single-execution.test.ts +0 -59
- package/dist/extensions/pi-subagents/test/integration/slash-commands.test.ts +0 -47
- package/dist/extensions/pi-subagents/test/unit/authority-policy.test.ts +0 -1
- package/dist/extensions/pi-subagents/test/unit/compaction-resume.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/index-child-registration.test.ts +5 -5
- package/dist/extensions/pi-subagents/test/unit/public-execution.test.ts +0 -8
- package/dist/extensions/pi-subagents/test/unit/rpc.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/subagent-action-recovery.test.ts +2 -2
- package/dist/extensions/pi-subagents/test/unit/subagent-prompt-runtime.test.ts +4 -4
- package/dist/extensions/pi-subagents/test/unit/workflow-auto-relaunch.test.ts +21 -1
- package/dist/modes/interactive/components/model-selector.d.ts +10 -1
- package/dist/modes/interactive/components/model-selector.js +10 -6
- package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
- package/dist/modes/interactive/components/settings-selector.js +3 -0
- package/dist/modes/interactive/interactive-mode.js +7 -0
- package/dist/skills/pi-subagents/references/constraints-and-recipes.md +1 -1
- package/dist/skills/pi-subagents/references/execution-controls.md +2 -32
- package/dist/skills/pi-subagents/references/management-authoring-rpc.md +1 -1
- package/dist/skills/pi-subagents/references/prompting-and-roles.md +3 -3
- package/docs/custom-provider.md +1 -0
- package/package.json +3 -3
- package/dist/extensions/pi-subagents/src/runs/background/scheduled-runs.ts +0 -803
- package/dist/extensions/pi-subagents/src/tui/fleet-status.ts +0 -691
- package/dist/extensions/pi-subagents/src/tui/fleet.ts +0 -1314
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +0 -17
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +0 -57
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +0 -16
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +0 -18
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +0 -9
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +0 -20
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +0 -96
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +0 -119
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +0 -85
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +0 -620
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +0 -56
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +0 -32
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +0 -49
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +0 -93
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +0 -128
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +0 -7
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +0 -38
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +0 -9
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +0 -29
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +0 -22
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +0 -37
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +0 -34
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +0 -12
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +0 -171
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +0 -1263
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +0 -20
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +0 -54
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +0 -22
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +0 -13
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +0 -358
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +0 -77
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +0 -512
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +0 -43
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +0 -121
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +0 -82
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +0 -17
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +0 -7
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +0 -210
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +0 -54
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +0 -4
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +0 -55
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +0 -30
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +0 -206
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +0 -106
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +0 -19
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +0 -356
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +0 -297
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +0 -60
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +0 -18
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +0 -28
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +0 -68
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +0 -106
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +0 -51
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +0 -6
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +0 -35
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +0 -37
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +0 -40
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +0 -37
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +0 -52
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +0 -35
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +0 -24
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +0 -14
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +0 -70
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +0 -26
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +0 -36
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +0 -19
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +0 -61
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +0 -42
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +0 -35
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +0 -12
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +0 -33
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +0 -9
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +0 -34
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +0 -22
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +0 -34
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +0 -102
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +0 -21
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +0 -19
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +0 -20
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +0 -12
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +0 -22
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +0 -26
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +0 -25
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +0 -32
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +0 -34
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +0 -13
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +0 -52
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +0 -54
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +0 -33
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -42
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +0 -95
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +0 -77
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +0 -28
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +0 -11
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +0 -63
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +0 -94
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +0 -23
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +0 -14
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +0 -394
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +0 -12
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +0 -29
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +0 -120
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +0 -28
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +0 -17
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +0 -246
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +0 -20
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +0 -457
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +0 -8
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +0 -22
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +0 -18
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +0 -11
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +0 -11
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +0 -4
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +0 -4
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +0 -8
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +0 -26
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +0 -7
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +0 -10
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +0 -18
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +0 -30
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +0 -16
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +0 -9
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +0 -31
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +0 -21
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +0 -2
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +0 -31
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +0 -5
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +0 -12
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +0 -15
- package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +0 -3
- package/dist/extensions/pi-subagents/test/unit/fleet-status.test.ts +0 -1004
- package/dist/extensions/pi-subagents/test/unit/fleet.test.ts +0 -1511
- package/dist/extensions/pi-subagents/test/unit/scheduled-runs.test.ts +0 -634
- package/dist/extensions/pi-subagents/test/unit/scheduled-store-root.test.ts +0 -67
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@selesai/code` will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.9.0] - 2026-08-20
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Bundled Ollama provider.** Selesai now ships and tests an OpenAI-compatible local Ollama provider, and includes it in the bundled extension manifest.
|
|
9
|
+
- **Vision model selection.** `/settings` reuses the model selector for image-caption models, filters to image-capable models, supports disabling captioning, and keeps the choice separate from the main default model. Bundled Token-In defaults include `gemma-4` captioning and a 16,384-token context budget; `Qwen3-VL` is also available.
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- **Smarter vision caption recovery.** Image captions now get up to four attempts with fresh 60-second timeouts and backoff, instead of failing after one 15-second attempt.
|
|
13
|
+
- **Model defaults refreshed.** Token-In `auto`/`auto-premium` context windows are 256K; the bundled default is `auto-premium` for the main session and core subagent roles, while exploration/research roles use `auto`. The model prompt injector also covers `auto`.
|
|
14
|
+
- **Workflow auto-relaunch diagnostics.** Relaunch rounds reset projected workflow state cleanly, track launches/state writes/budget blocks/fan-out rejection, and stop with a precise reason when another round cannot make progress.
|
|
15
|
+
- **Bundled skills enabled by default.** Explicit user overrides still win, but additional bundled skills are now active unless disabled.
|
|
16
|
+
- **Pi Subagents surface simplified.** Removed FleetView/fleet inspector, durable schedules, and watchdog model recommendation/configuration actions; run status, missions, watchdog status/check, and ordinary async controls remain. Corresponding runtime code, schemas, tests, and references were removed or updated.
|
|
17
|
+
- **Documentation and test maintenance.** Updated the subagent API/configuration/observability/workflow references and added the Ollama provider to the standard test command.
|
|
18
|
+
|
|
19
|
+
## [0.8.12] - 2026-08-20
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- **Token-In `auto-premium` model default.** The Token-In provider now bundles an `auto-premium`
|
|
23
|
+
model alongside `auto` (reasoning, 512K context window, 64K max tokens, `max` thinking level
|
|
24
|
+
mapped through), letting the provider pick the best premium model for each request.
|
|
25
|
+
|
|
5
26
|
## [0.8.11] - 2026-08-19
|
|
6
27
|
|
|
7
28
|
### Added
|
|
@@ -1200,36 +1200,48 @@ export class AgentSession {
|
|
|
1200
1200
|
try {
|
|
1201
1201
|
const descriptions = [];
|
|
1202
1202
|
let failureReason;
|
|
1203
|
+
// Retry transient failures (timeouts, provider errors) a few times;
|
|
1204
|
+
// each attempt gets a fresh 60s budget.
|
|
1205
|
+
const maxAttempts = 4;
|
|
1206
|
+
// Prime-number backoff between attempts: 3s, 5s, 7s, 11s, ...
|
|
1207
|
+
const backoffSeconds = [3, 5, 7, 11, 13, 17, 19, 23, 29, 31];
|
|
1203
1208
|
for (const image of images) {
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1209
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
1210
|
+
const controller = new AbortController();
|
|
1211
|
+
let aborted = false;
|
|
1212
|
+
const timeout = setTimeout(() => {
|
|
1213
|
+
aborted = true;
|
|
1214
|
+
controller.abort();
|
|
1215
|
+
}, 60_000);
|
|
1216
|
+
try {
|
|
1217
|
+
const caption = await captionImageWithModel(captionModel, image, {
|
|
1218
|
+
apiKey: auth.auth.apiKey,
|
|
1219
|
+
headers: auth.auth.headers,
|
|
1220
|
+
signal: controller.signal,
|
|
1221
|
+
userPrompt,
|
|
1222
|
+
contextText,
|
|
1223
|
+
onError: (message) => {
|
|
1224
|
+
failureReason = message;
|
|
1225
|
+
console.error(`[image-caption] request failed (attempt ${attempt}/${maxAttempts}):`, message);
|
|
1226
|
+
},
|
|
1227
|
+
});
|
|
1228
|
+
if (caption) {
|
|
1229
|
+
descriptions.push(caption);
|
|
1230
|
+
break;
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1233
|
+
catch {
|
|
1234
|
+
// Captioning is best-effort; fall back to leaving the image attached.
|
|
1235
|
+
}
|
|
1236
|
+
finally {
|
|
1237
|
+
clearTimeout(timeout);
|
|
1238
|
+
}
|
|
1239
|
+
if (aborted) {
|
|
1240
|
+
failureReason = failureReason ?? "timed out after 60s";
|
|
1241
|
+
}
|
|
1242
|
+
if (attempt < maxAttempts) {
|
|
1243
|
+
await sleep(backoffSeconds[attempt - 1] * 1_000);
|
|
1244
|
+
}
|
|
1233
1245
|
}
|
|
1234
1246
|
}
|
|
1235
1247
|
if (descriptions.length === 0) {
|
|
@@ -228,7 +228,7 @@ export declare class DefaultResourceLoader implements ResourceLoader {
|
|
|
228
228
|
private addExtensionConflictDiagnostics;
|
|
229
229
|
/**
|
|
230
230
|
* Enumerate every skill subdirectory in the bundled/CLI additional skill dirs,
|
|
231
|
-
*
|
|
231
|
+
* enabling them by default while honoring explicit user overrides.
|
|
232
232
|
* Returns resolved resources (SKILL.md paths + enabled state).
|
|
233
233
|
*/
|
|
234
234
|
private additionalResolvedSkills;
|
|
@@ -507,7 +507,7 @@ export class DefaultResourceLoader {
|
|
|
507
507
|
}
|
|
508
508
|
/**
|
|
509
509
|
* Enumerate every skill subdirectory in the bundled/CLI additional skill dirs,
|
|
510
|
-
*
|
|
510
|
+
* enabling them by default while honoring explicit user overrides.
|
|
511
511
|
* Returns resolved resources (SKILL.md paths + enabled state).
|
|
512
512
|
*/
|
|
513
513
|
additionalResolvedSkills() {
|
|
@@ -530,7 +530,7 @@ export class DefaultResourceLoader {
|
|
|
530
530
|
for (const skillFile of entries) {
|
|
531
531
|
resolved.push({
|
|
532
532
|
path: skillFile,
|
|
533
|
-
enabled: isEnabledByOverrides(skillFile, patterns, resolvedDir,
|
|
533
|
+
enabled: isEnabledByOverrides(skillFile, patterns, resolvedDir, true),
|
|
534
534
|
metadata: {
|
|
535
535
|
source: dir,
|
|
536
536
|
scope: "user",
|
|
@@ -15,7 +15,23 @@
|
|
|
15
15
|
"name": "Auto",
|
|
16
16
|
"reasoning": true,
|
|
17
17
|
"input": ["text"],
|
|
18
|
-
"contextWindow":
|
|
18
|
+
"contextWindow": 256000,
|
|
19
|
+
"maxTokens": 64000,
|
|
20
|
+
"thinkingLevelMap": {
|
|
21
|
+
"minimal": null,
|
|
22
|
+
"low": null,
|
|
23
|
+
"medium": null,
|
|
24
|
+
"high": null,
|
|
25
|
+
"xhigh": null,
|
|
26
|
+
"max": "max"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "auto-premium",
|
|
31
|
+
"name": "Auto Premium",
|
|
32
|
+
"reasoning": true,
|
|
33
|
+
"input": ["text"],
|
|
34
|
+
"contextWindow": 256000,
|
|
19
35
|
"maxTokens": 64000,
|
|
20
36
|
"thinkingLevelMap": {
|
|
21
37
|
"minimal": null,
|
|
@@ -24,11 +40,6 @@
|
|
|
24
40
|
"high": null,
|
|
25
41
|
"xhigh": null,
|
|
26
42
|
"max": "max"
|
|
27
|
-
},
|
|
28
|
-
"compat": {
|
|
29
|
-
"supportsDeveloperRole": false,
|
|
30
|
-
"requiresReasoningContentOnAssistantMessages": true,
|
|
31
|
-
"thinkingFormat": "deepseek"
|
|
32
43
|
}
|
|
33
44
|
},
|
|
34
45
|
{
|
|
@@ -133,9 +144,21 @@
|
|
|
133
144
|
"supportsReasoningEffort": true
|
|
134
145
|
}
|
|
135
146
|
},
|
|
147
|
+
{
|
|
148
|
+
"id": "Qwen3-VL",
|
|
149
|
+
"name": "Qwen3 VL (Vision)",
|
|
150
|
+
"reasoning": false,
|
|
151
|
+
"input": ["text", "image"],
|
|
152
|
+
"contextWindow": 256000,
|
|
153
|
+
"maxTokens": 8192,
|
|
154
|
+
"compat": {
|
|
155
|
+
"supportsDeveloperRole": false,
|
|
156
|
+
"supportsReasoningEffort": false
|
|
157
|
+
}
|
|
158
|
+
},
|
|
136
159
|
{
|
|
137
160
|
"id": "gemma-4",
|
|
138
|
-
"name": "Gemma 4
|
|
161
|
+
"name": "Gemma 4 (Vision)",
|
|
139
162
|
"reasoning": false,
|
|
140
163
|
"input": ["text", "image"],
|
|
141
164
|
"contextWindow": 256000,
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"keepRecentTokens": 32000,
|
|
10
10
|
"reserveTokens": 64000
|
|
11
11
|
},
|
|
12
|
-
"defaultModel": "
|
|
12
|
+
"defaultModel": "auto-premium",
|
|
13
13
|
"defaultProvider": "tokenin",
|
|
14
14
|
"defaultThinkingLevel": "max",
|
|
15
15
|
"doubleEscapeAction": "tree",
|
|
@@ -19,7 +19,9 @@
|
|
|
19
19
|
"followUpMode": "one-at-a-time",
|
|
20
20
|
"hideThinkingBlock": false,
|
|
21
21
|
"images": {
|
|
22
|
-
"autoResize": true
|
|
22
|
+
"autoResize": true,
|
|
23
|
+
"imageCaptionModel": "tokenin/gemma-4",
|
|
24
|
+
"imageCaptionContextTokens": 16384
|
|
23
25
|
},
|
|
24
26
|
"packages": [
|
|
25
27
|
"git:github.com/MasuRii/pi-tool-display",
|
|
@@ -42,22 +44,22 @@
|
|
|
42
44
|
"subagents": {
|
|
43
45
|
"agentOverrides": {
|
|
44
46
|
"architect": {
|
|
45
|
-
"model": "tokenin/
|
|
47
|
+
"model": "tokenin/auto-premium:max"
|
|
46
48
|
},
|
|
47
49
|
"builder": {
|
|
48
|
-
"model": "tokenin/
|
|
50
|
+
"model": "tokenin/auto-premium:max"
|
|
49
51
|
},
|
|
50
52
|
"commentator": {
|
|
51
|
-
"model": "tokenin/
|
|
53
|
+
"model": "tokenin/auto-premium:max"
|
|
52
54
|
},
|
|
53
55
|
"explorer": {
|
|
54
|
-
"model": "tokenin/
|
|
56
|
+
"model": "tokenin/auto:max"
|
|
55
57
|
},
|
|
56
58
|
"recapper": {
|
|
57
|
-
"model": "tokenin/
|
|
59
|
+
"model": "tokenin/auto:max"
|
|
58
60
|
},
|
|
59
61
|
"researcher": {
|
|
60
|
-
"model": "tokenin/
|
|
62
|
+
"model": "tokenin/auto:max"
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
},
|
|
@@ -5,6 +5,12 @@
|
|
|
5
5
|
"mode": "prepend",
|
|
6
6
|
"prompt": "text: You are a helpful software engineer assistant.\n\ndescription: Bootstrap with shell/read, then expose the full Standard tool catalog after the first durable tool call.\n\nwhen you thought, start with `we need...`",
|
|
7
7
|
"enabled": true
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"match": ["auto"],
|
|
11
|
+
"mode": "prepend",
|
|
12
|
+
"prompt": "text: You are a helpful software engineer assistant.\n\ndescription: Bootstrap with shell/read, then expose the full Standard tool catalog after the first durable tool call.\n\nwhen you thought, start with `we need...`",
|
|
13
|
+
"enabled": true
|
|
8
14
|
}
|
|
9
15
|
]
|
|
10
16
|
}
|
|
@@ -95,9 +95,9 @@ For implementation work, the recommended loop is `clarify → scout → worker
|
|
|
95
95
|
|
|
96
96
|
Foreground runs stream progress in the conversation. Background runs keep working after control returns to you.
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
Use `subagent({ action: "status" })` to inspect active async runs, `view: "transcript"` to read recent child output, and `steer` or `stop` to control a running run. You can also ask: "Show me the current async runs."
|
|
99
99
|
|
|
100
|
-
Details
|
|
100
|
+
Details and machine-readable run artifacts are in [Observability](https://github.com/nicobailon/pi-subagents/blob/main/docs/observability.md).
|
|
101
101
|
|
|
102
102
|
For bounded orchestration, `maxSubagentSpawnsPerRun` limits cumulative logical children in one run tree. It defaults to 64 and stays separate from active concurrency and the session-wide cumulative spawn budget. See [Configuration](https://github.com/nicobailon/pi-subagents/blob/main/docs/configuration.md#maxsubagentspawnsperrun).
|
|
103
103
|
|
|
@@ -122,7 +122,7 @@ The full reference lives in `docs/`:
|
|
|
122
122
|
| [Workflows](https://github.com/nicobailon/pi-subagents/blob/main/docs/workflows.md) | Orchestration patterns, prompt shortcuts, scripted workflows, worktree isolation, child-to-parent coordination, the recursion guard. |
|
|
123
123
|
| [Watchdog](https://github.com/nicobailon/pi-subagents/blob/main/docs/watchdog.md) | The opt-in adversarial change reviewer, scope monitoring, LSP checks, and child tool permissions. |
|
|
124
124
|
| [Tool reference](https://github.com/nicobailon/pi-subagents/blob/main/docs/tool-reference.md) | Every `subagent` parameter, management actions, status/control actions, acceptance gates, external CLI runners. |
|
|
125
|
-
| [Observability](https://github.com/nicobailon/pi-subagents/blob/main/docs/observability.md) |
|
|
126
|
-
| [Missions
|
|
125
|
+
| [Observability](https://github.com/nicobailon/pi-subagents/blob/main/docs/observability.md) | Run status, transcripts, lifecycle artifacts, events, logs, and session sharing. |
|
|
126
|
+
| [Missions](https://github.com/nicobailon/pi-subagents/blob/main/docs/missions.md) | Durable mission records and delivery receipts. |
|
|
127
127
|
| [Configuration](https://github.com/nicobailon/pi-subagents/blob/main/docs/configuration.md) | Every `config.json` key and environment variable. |
|
|
128
128
|
| [Extension API](https://github.com/nicobailon/pi-subagents/blob/main/docs/extension-api.md) | The RPC, delegation API, preflight, capability ceilings, background-work providers, Herdr integration. |
|
|
@@ -42,7 +42,7 @@ Defaults to `false`. The default registered model-facing tool schema and descrip
|
|
|
42
42
|
{ "inlineToolDisplay": "summary" }
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
Controls the `subagent` tool result shown inline in chat. The default, `"rich"`, shows live child activity and expands to detailed output. `"summary"` keeps the inline result at one stable row for running, completed, failed, stopped, and paused runs; it does not animate, show elapsed time, preview child output, or change when Selesai's expand key is pressed.
|
|
45
|
+
Controls the `subagent` tool result shown inline in chat. The default, `"rich"`, shows live child activity and expands to detailed output. `"summary"` keeps the inline result at one stable row for running, completed, failed, stopped, and paused runs; it does not animate, show elapsed time, preview child output, or change when Selesai's expand key is pressed. Live run status remains available through the status action.
|
|
46
46
|
|
|
47
47
|
## `mainWindowRenderer`
|
|
48
48
|
|
|
@@ -55,7 +55,7 @@ Controls the `subagent` tool result shown inline in chat. The default, `"rich"`,
|
|
|
55
55
|
}
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
Controls only the main chat `subagent` call/result renderer. It does not change child execution, orchestration,
|
|
58
|
+
Controls only the main chat `subagent` call/result renderer. It does not change child execution, orchestration, run status, artifacts, transcripts, or model-facing content.
|
|
59
59
|
|
|
60
60
|
`horizontalSpacing` is an integer from `0` to `4`. The default preserves current spacing. Set it to `0` to remove the extra spaces before compact result details and between parts of the call row.
|
|
61
61
|
|
|
@@ -107,48 +107,13 @@ Set `enabled` to `false` (or remove the block) as a kill switch. In that state,
|
|
|
107
107
|
|
|
108
108
|
WorkflowScript calls use background execution when the request omits `async`. Set `asyncByDefault` to `false` to restore foreground-by-default behavior for tool launches that still use the internal single-run primitive. Callers can still force foreground with `async: false` unless `forceTopLevelAsync` is enabled.
|
|
109
109
|
|
|
110
|
-
## `fleetView`
|
|
111
|
-
|
|
112
|
-
```json
|
|
113
|
-
{ "fleetView": false }
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
Controls the persistent, navigable FleetView. The default is `true`. Set it to `false` to hide FleetView without disabling status tracking, completion notifications, `/subagents-fleet`, or lifecycle events.
|
|
117
|
-
|
|
118
|
-
## `fleetViewPlacement`
|
|
119
|
-
|
|
120
|
-
```json
|
|
121
|
-
{ "fleetViewPlacement": "aboveEditor" }
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Places the persistent FleetView either `"belowEditor"` or `"aboveEditor"`. The default is `"belowEditor"`; invalid values fall back to `"belowEditor"`.
|
|
125
|
-
|
|
126
|
-
## `fleetKeybindings`
|
|
127
|
-
|
|
128
|
-
```json
|
|
129
|
-
{
|
|
130
|
-
"fleetKeybindings": {
|
|
131
|
-
"pageUp": ["u"],
|
|
132
|
-
"pageDown": ["d"],
|
|
133
|
-
"selectFirst": ["g"],
|
|
134
|
-
"selectLast": ["G"]
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
Customizes only the full Fleet inspector opened by `/subagents-fleet` or FleetView inspection. It does not change Selesai's global keybindings or the compact persistent FleetView.
|
|
140
|
-
|
|
141
|
-
Each action accepts a non-empty array of key strings. Configured actions replace their defaults. Unset actions keep the defaults: `selectUp` is `up`/`k`, `selectDown` is `down`/`j`, `scrollUp` is `K`, `scrollDown` is `J`, `pageUp` is `pageUp`, `pageDown` is `pageDown`, `selectFirst` is `home`, `selectLast` is `end`, `toggleTools` is `x`/`X`/`ctrl+o`, `refresh` is `r`/`R`, `steer` is `s`, `stop` is `D`, `inspect` is `H`, and `close` is `escape`/`ctrl+c`/`q`.
|
|
142
|
-
|
|
143
|
-
Prompt modes keep their fixed keys. For example, `Esc` still cancels steer text or stop confirmation even when the Fleet-level close binding is changed.
|
|
144
|
-
|
|
145
110
|
## `asyncWidget`
|
|
146
111
|
|
|
147
112
|
```json
|
|
148
113
|
{ "asyncWidget": true }
|
|
149
114
|
```
|
|
150
115
|
|
|
151
|
-
Controls the under-editor widget for active background runs. It defaults to `true`, including when
|
|
116
|
+
Controls the under-editor widget for active background runs. It defaults to `true`, including when run status is enabled, so active work remains visible after reload. Set it to `false` to hide this widget while keeping run status available.
|
|
152
117
|
|
|
153
118
|
## `waitTool`
|
|
154
119
|
|
|
@@ -236,22 +201,6 @@ This limit bounds current top-level async load. It is separate from cumulative `
|
|
|
236
201
|
|
|
237
202
|
`subagent({ action: "status" })`, fleet status, and `subagent({ action: "doctor" })` expose used, effective limit, and remaining active capacity. Static chains and parallel calls fail before creating run artifacts or starting partial work when their declared capacity cannot fit. Later retries or unbounded dynamic work are not guaranteed by that preflight.
|
|
238
203
|
|
|
239
|
-
## `scheduledRuns`
|
|
240
|
-
|
|
241
|
-
```json
|
|
242
|
-
{ "scheduledRuns": { "enabled": false, "maxPending": 20 } }
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
Durable schedules are enabled by default and stored per project under `.pi-subagents/schedules/<id>/`. See [missions.md](missions.md#schedules) for usage.
|
|
246
|
-
|
|
247
|
-
Set `storeRoot` to keep durable schedules outside project repositories. It must be an absolute path or a `~/` path, which expands from the user home directory. Each project is stored under a hash of its resolved working directory, so projects do not share schedules.
|
|
248
|
-
|
|
249
|
-
```json
|
|
250
|
-
{ "scheduledRuns": { "storeRoot": "~/.local/share/pi-subagents/schedules" } }
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
When `storeRoot` is omitted, schedules remain at `<cwd>/.pi-subagents/schedules`.
|
|
254
|
-
|
|
255
204
|
## `parallel`
|
|
256
205
|
|
|
257
206
|
```json
|
|
@@ -40,23 +40,14 @@ Capability advertisements on `ping`:
|
|
|
40
40
|
- `processTerminalProof` — the process-terminal proof status (see [observability.md](observability.md#process-terminal-proof)).
|
|
41
41
|
- `nonRecoveringSteer` — RPC steering never pauses-and-revives.
|
|
42
42
|
- `resume` — the revival seam described above.
|
|
43
|
-
- `fleetStatus: { version: 1 }` — successful `status` replies additionally include `data.fleet`.
|
|
44
43
|
|
|
45
44
|
Structured delegation progress updates carry `runId` as soon as foreground execution allocates it, so a caller can retain the package-owned revival target even if its own tool turn is interrupted before the terminal response. Foreground `details.results[]` rows also include a numeric `index` that is unique within the run and stable across partial progress snapshots and the final result; use `(runId, index)` instead of row position to correlate single, counted parallel, and chain children.
|
|
46
45
|
|
|
47
|
-
### Fleet status DTO
|
|
48
|
-
|
|
49
|
-
When `ping.capabilities.fleetStatus` is `{ version: 1 }`, successful `status` replies include `data.fleet`: `{ version: 1, entries, totalActive, omitted }`.
|
|
50
|
-
|
|
51
|
-
Entries are bounded, current-session public display records with an opaque reconciliation `key`, resolved `agent`, optional `role`, `model`, `effort`, caller-facing `goal`, safe `startedAt`, and `{ input, output, total }` tokens. `totalActive` and `omitted` preserve overflow information beyond the bounded entry window.
|
|
52
|
-
|
|
53
|
-
The DTO intentionally never exposes run, async, or tool IDs. Clients must ignore unknown fields and fall back to status text when the capability is absent.
|
|
54
|
-
|
|
55
46
|
### Scope
|
|
56
47
|
|
|
57
48
|
`pi.events` is in-process only. It does not reach separate Selesai processes or child subagents; use the file lifecycle artifacts or `pi-intercom` for cross-process coordination.
|
|
58
49
|
|
|
59
|
-
## External jobs in
|
|
50
|
+
## External jobs in run status
|
|
60
51
|
|
|
61
52
|
Use `pi-subagents/external-runs` to publish display-only current-session jobs owned by another extension:
|
|
62
53
|
|
|
@@ -88,9 +79,9 @@ updateExternalRun(ctx.sessionManager.getSessionId(), "dependency-review", {
|
|
|
88
79
|
unregisterExternalRun(ctx.sessionManager.getSessionId(), "dependency-review");
|
|
89
80
|
```
|
|
90
81
|
|
|
91
|
-
The API validates and caches bounded display fields when the caller registers or updates a job.
|
|
82
|
+
The API validates and caches bounded display fields when the caller registers or updates a job. run status reads that cache only. It does not poll caller code. `snapshotExternalRuns(sessionId)` and `listExternalRuns(sessionId)` return bounded current-session snapshots. By default, malformed cached records throw with the validation error. Display-only Fleet callers can pass `{ ignoreMalformed: true, onMalformedRecord }` to remove bad records and keep rendering with a programmatic diagnostic.
|
|
92
83
|
|
|
93
|
-
External jobs are observational. The caller owns execution, persistence, cancellation, and result delivery.
|
|
84
|
+
External jobs are observational. The caller owns execution, persistence, cancellation, and result delivery. run status does not expose stop, steer, resume, cancel, or Herdr controls for them. Supplied report and transcript paths are shown as bounded text only; run status does not read arbitrary external paths.
|
|
94
85
|
|
|
95
86
|
## Launch contract preflight
|
|
96
87
|
|
|
@@ -233,8 +224,6 @@ Semantics:
|
|
|
233
224
|
|
|
234
225
|
`denyExtensions` suppresses ambient, configured, and MCP provider extensions while retaining the package runtime needed for child protocol enforcement. This is a same-process policy boundary, not a sandbox against malicious code already running in the parent process.
|
|
235
226
|
|
|
236
|
-
Schedules created while a ceiling is active are rejected until durable schedule persistence is available; unrestricted schedules remain subject to any policy active when they fire. Public status exposes bounded audit counts and sources, never full extension paths.
|
|
237
|
-
|
|
238
227
|
## Background-work provider API
|
|
239
228
|
|
|
240
229
|
Other Selesai extensions can make their current-session jobs visible to `subagent_wait` through the process-local provider contract:
|
|
@@ -292,7 +281,7 @@ subagent({ action: "inspector.close", id: "<run-id>", index: 0 })
|
|
|
292
281
|
|
|
293
282
|
The inspector is a raw dashboard pane, not the child process and not a literal attach. It reads lifecycle/status/output/mission artifacts and sends `steer` or `stop` through pi-subagents' existing control inbox. Closing it never stops the run.
|
|
294
283
|
|
|
295
|
-
Herdr remains optional. Ordinary launches stay headless, and missing/older Herdr versions affect only Herdr-specific inspector and project-pane actions.
|
|
284
|
+
Herdr remains optional. Ordinary launches stay headless, and missing/older Herdr versions affect only Herdr-specific inspector and project-pane actions. run status opens the selected active async child with `H`. Use `focus` only with `inspector.open`; Herdr 0.7.5 cannot focus an arbitrary existing raw pane id.
|
|
296
285
|
|
|
297
286
|
### Project panes
|
|
298
287
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Missions
|
|
1
|
+
# Missions
|
|
2
2
|
|
|
3
|
-
Durable records for delegated work: missions wrap runs so you can recover them later
|
|
3
|
+
Durable records for delegated work: missions wrap runs so you can recover them later.
|
|
4
4
|
|
|
5
5
|
## Missions
|
|
6
6
|
|
|
@@ -82,40 +82,3 @@ Keep same-project tasks on ordinary subagents. Use an explicit `cwd` for small b
|
|
|
82
82
|
For substantial or long-running work in another project, open a project-owned Herdr pane with `project.open` and give that project Selesai session a narrow mission/result contract (see [extension-api.md](extension-api.md#herdr-integration)). The project pane owns its own subagents; do not model it as ordinary child nesting or expect existing headless runs to move into the pane.
|
|
83
83
|
|
|
84
84
|
Mission storage configuration (`missions.directory`, `retainTerminal`, `globalIndex`) is in [configuration.md](configuration.md#missions).
|
|
85
|
-
|
|
86
|
-
## Schedules
|
|
87
|
-
|
|
88
|
-
Durable schedules are enabled by default and stored per project under `.pi-subagents/schedules/<id>/`.
|
|
89
|
-
|
|
90
|
-
Create a one-shot schedule:
|
|
91
|
-
|
|
92
|
-
```ts
|
|
93
|
-
subagent({
|
|
94
|
-
action: "schedule.create",
|
|
95
|
-
id: "evening-review",
|
|
96
|
-
name: "Evening review",
|
|
97
|
-
at: "+30m",
|
|
98
|
-
workflowScript: `return runs.run("main", { agent: "reviewer", task: "Review the current diff." })`
|
|
99
|
-
})
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Create a fixed recurring workflow:
|
|
103
|
-
|
|
104
|
-
```ts
|
|
105
|
-
subagent({ action: "schedule.create", id: "backlog", every: "6h", catchUp: "latest", workflowScript: "..." })
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Fixed intervals support `m`, `h`, `d`, and `w` units and advance from the planned time without completion drift.
|
|
109
|
-
|
|
110
|
-
Manage schedules with `schedule.list`, `schedule.show`, `schedule.history`, `schedule.pause`, `schedule.resume`, `schedule.run`, `schedule.run-due`, and `schedule.delete`.
|
|
111
|
-
|
|
112
|
-
Behavior:
|
|
113
|
-
|
|
114
|
-
- Runs always launch async with fresh context and disable automatic mission creation; mission attachment is deferred from this first slice.
|
|
115
|
-
- Definitions, bounded history, append-only events, and per-run receipts are stored with mode `0600`.
|
|
116
|
-
- `overlap` is currently fixed to `skip`; `catchUp` supports `latest` (default) and `none`.
|
|
117
|
-
- `schedule.run-due` lets an external launcher start due project work without making `pi-subagents` a daemon.
|
|
118
|
-
- Calendar recurrence, cron, queue/replace overlap, and the schedule TUI inspector are intentionally deferred to the next slice.
|
|
119
|
-
- The old `schedule`, `schedule-list`, `schedule-status`, and `schedule-cancel` actions were removed in a hard cutover.
|
|
120
|
-
|
|
121
|
-
Disable or bound schedules with the `scheduledRuns` config key in [configuration.md](configuration.md#scheduledruns).
|
|
@@ -35,49 +35,9 @@ async subagent worker · background
|
|
|
35
35
|
|
|
36
36
|
To inspect one background child in text, use `subagent({ action: "status", id: "...", view: "transcript" })`; add `index` for a specific child in a parallel or chain run.
|
|
37
37
|
|
|
38
|
-
##
|
|
38
|
+
## Run status
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
```text
|
|
43
|
-
2 active agents · ↓ 4.2k tokens · ↓/← to inspect
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
After you expand it:
|
|
47
|
-
|
|
48
|
-
```text
|
|
49
|
-
↑↓/jk select · enter inspect · esc back
|
|
50
|
-
|
|
51
|
-
> main
|
|
52
|
-
scout · running 1m 12s · ↓ 2.8k tokens
|
|
53
|
-
reviewer · running 38s · ↓ 1.4k tokens
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
When the focused editor is empty, press `↓` or `←` to expand the summary into `main` plus active children with agent name, state, elapsed time, and token totals. Then use `↑`/`↓` or `j`/`k` to select a child and `Enter` to inspect it. Printable navigation keys are never intercepted before activation.
|
|
57
|
-
|
|
58
|
-
FleetView replaces the legacy above-editor async widget by default. Successful background completions stay quiet so inactive Selesai tabs are not marked unread, while failed or paused completions still notify the originating session. Parallel runs show every active child independently. Chains with parallel groups keep their grouped shape in progress and results, so failed or paused agents stay visible next to completed ones. When a child is explicitly allowed to fan out with `tools: subagent`, its nested runs appear under that parent child in the main status tree instead of being hidden inside the child process.
|
|
59
|
-
|
|
60
|
-
## The fleet inspector
|
|
61
|
-
|
|
62
|
-
`/subagents-fleet` opens the live fleet inspector with current-session foreground work, recent async children, structured Markdown/tool transcripts, and completed output/session paths.
|
|
63
|
-
|
|
64
|
-
Default keys:
|
|
65
|
-
|
|
66
|
-
- `↑`/`↓` or `j`/`k` — select a child
|
|
67
|
-
- `Shift+K`/`Shift+J` — scroll one line
|
|
68
|
-
- `PgUp`/`PgDn` — scroll one page
|
|
69
|
-
- `x`/`Ctrl+O` — toggle tool details
|
|
70
|
-
- `r` — refresh
|
|
71
|
-
- `Esc` — close
|
|
72
|
-
- `s` — compose an acknowledged message to a selected live async child; Tab cycles `steer`, `follow_up`, and `auto`
|
|
73
|
-
- `D` — stop a selected child's top-level async run after confirmation
|
|
74
|
-
- `H` — open the selected active async child in a Herdr inspector pane (Herdr 0.7.5+)
|
|
75
|
-
|
|
76
|
-
Set `fleetKeybindings` in the extension config to replace inspector-level keys when a terminal intercepts keys such as `PgUp`, `PgDn`, `Home`, or `End`. Prompt modes keep fixed keys such as `Esc`, `Enter`, `Tab`, and stop-confirmation `Y`/`N`.
|
|
77
|
-
|
|
78
|
-
`Ctrl+Alt+F` opens the same inspector even while a foreground turn is active and slash input is queued.
|
|
79
|
-
|
|
80
|
-
Without a TUI, `/subagents-fleet` retains the textual `subagent({ action: "status", view: "fleet" })` fallback, and mutations use explicit commands: run `/subagents-stop` and pick from the selector, or use `/subagents-stop <run-id>` / `subagent({ action: "stop", id: "..." })` when you already know the id.
|
|
40
|
+
Use `subagent({ action: "status" })` for current run state and lifecycle details. Use `subagent({ action: "status", id: "...", view: "transcript" })` for a specific child transcript. Stop runs explicitly with `subagent({ action: "stop", id: "..." })`.
|
|
81
41
|
|
|
82
42
|
Use `/subagents-detach [run-id]` only for an active foreground single-subagent run you want to leave running without terminating; the eventual result remains available through status/wait.
|
|
83
43
|
|
|
@@ -29,7 +29,7 @@ Parameters and actions for the `subagent` tool. These are what the LLM passes wh
|
|
|
29
29
|
| Param | Type | Default | Description |
|
|
30
30
|
|-------|------|---------|-------------|
|
|
31
31
|
| `agent` | string | - | Agent target for management actions. Workflow child agents are set inside `runs.run` or `runs.all`. |
|
|
32
|
-
| `action` | string | - | Agent management (including `guide`, `children.list`, and `refine`/`refine.show`/`refine.rollback`), mission (`mission.create/list/show/update/resolve-decision/attach-run/close`), Herdr inspector (`inspector.open/status/close`), status/control,
|
|
32
|
+
| `action` | string | - | Agent management (including `guide`, `children.list`, and `refine`/`refine.show`/`refine.rollback`), mission (`mission.create/list/show/update/resolve-decision/attach-run/close`), Herdr inspector (`inspector.open/status/close`), status/control, watchdog, or doctor action. |
|
|
33
33
|
| `topic` | `overview \| workflows \| agents \| missions \| observability \| tool-reference \| configuration \| models \| watchdog \| extension-api` | `overview` | Packaged guide topic for `action: "guide"`. |
|
|
34
34
|
| `chainName` | string | - | Chain name for management actions. |
|
|
35
35
|
| `config` | object/string | - | Agent or existing durable chain config for management create/update. |
|
|
@@ -235,7 +235,6 @@ subagent({ action: "doctor" })
|
|
|
235
235
|
- Direct id calls execute immediately.
|
|
236
236
|
- `/subagents-stop` without an id opens a selector with confirmation when a TUI is available. Use `↑`/`↓` or `j`/`k` to move through the selector.
|
|
237
237
|
- In non-TUI contexts the slash command prints exact `subagent({ action: "stop", id })` and `/subagents-stop <id>` commands.
|
|
238
|
-
- Inactive schedules can appear in the selector, but they are labeled as schedules and route through `schedule.pause`, not `stop`.
|
|
239
238
|
|
|
240
239
|
### steer
|
|
241
240
|
|
|
@@ -14,52 +14,6 @@ It reviews repo edits, not ordinary conversation:
|
|
|
14
14
|
- Generated `.pi-subagents/` or `tmp/` artifacts do not trigger review.
|
|
15
15
|
- In orchestrated runs, each writing child can review its own edited worktree, and the parent can still review the aggregate repo diff after child changes are applied.
|
|
16
16
|
|
|
17
|
-
## Choosing a model
|
|
18
|
-
|
|
19
|
-
Because the watchdog is an adversarial change reviewer, it should usually use a strong complementary model rather than a cheap/light one.
|
|
20
|
-
|
|
21
|
-
Ask pi-subagents for the current strong pairing:
|
|
22
|
-
|
|
23
|
-
```text
|
|
24
|
-
/subagents-watchdog recommend-model
|
|
25
|
-
/subagents-watchdog session model recommended
|
|
26
|
-
/subagents-watchdog model recommended
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
The current recommendation policy is Opus 4.8 with thinking high or GPT 5.5 with thinking high. If your main session is using one, the watchdog should use the other when that model is authenticated.
|
|
30
|
-
|
|
31
|
-
- `session model recommended` changes only the current Selesai session.
|
|
32
|
-
- `model recommended` saves the recommendation to `~/.selesai/agent/settings.json`. It does not turn the watchdog on; enable it separately with `/subagents-watchdog on`.
|
|
33
|
-
|
|
34
|
-
Or set the model explicitly:
|
|
35
|
-
|
|
36
|
-
```text
|
|
37
|
-
/subagents-watchdog model anthropic/claude-opus-4-8:high
|
|
38
|
-
/subagents-watchdog model openai-codex/gpt-5.5:high
|
|
39
|
-
/subagents-watchdog model inherit
|
|
40
|
-
/subagents-watchdog check
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
In settings files, use `subagents.watchdog.main.model` and `subagents.watchdog.main.thinking` for the main watchdog:
|
|
44
|
-
|
|
45
|
-
- If `main.model` is omitted, the main watchdog uses the current session model and thinking level.
|
|
46
|
-
- If `main.model` is set without a thinking suffix or `main.thinking`, it runs with thinking off. Prefer `:high` or `"thinking": "high"` for the strong-watchdog pairing.
|
|
47
|
-
|
|
48
|
-
Default strong-reviewer profile:
|
|
49
|
-
|
|
50
|
-
```json
|
|
51
|
-
{
|
|
52
|
-
"subagents": {
|
|
53
|
-
"watchdog": {
|
|
54
|
-
"enabled": true,
|
|
55
|
-
"main": {
|
|
56
|
-
"model": "anthropic/claude-opus-4-8",
|
|
57
|
-
"thinking": "high"
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
17
|
|
|
64
18
|
## Scope monitoring
|
|
65
19
|
|
|
@@ -109,17 +63,6 @@ For child subagent watchdogs, use `subagents.watchdog.children.model` as the def
|
|
|
109
63
|
|
|
110
64
|
Child watchdogs are opt-in and follow the same edit-gated rule: read-only children do not trigger watchdog reviews, while writer children are reviewed at their own `agent_end` if their worktree changed.
|
|
111
65
|
|
|
112
|
-
## Agent-driven configuration
|
|
113
|
-
|
|
114
|
-
Agents can configure the same values through the tool when you ask them to set up the watchdog:
|
|
115
|
-
|
|
116
|
-
```ts
|
|
117
|
-
subagent({ action: "watchdog.recommend-model" })
|
|
118
|
-
subagent({ action: "watchdog.configure", model: "recommended", scope: "session" })
|
|
119
|
-
subagent({ action: "watchdog.configure", model: "recommended", scope: "project" })
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Persistent scopes (`user` or `project`) should only be used when you ask for a lasting default. Otherwise the agent should use `scope: "session"`.
|
|
123
66
|
|
|
124
67
|
## Native child tool permissions
|
|
125
68
|
|