@pellux/goodvibes-agent 1.1.7 → 1.3.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 +329 -0
- package/README.md +46 -30
- package/dist/package/{ast-grep-napi.linux-x64-gnu-mkk8xwww.node → ast-grep-napi.linux-x64-gnu-swtppvy9.node} +0 -0
- package/dist/package/{ast-grep-napi.linux-x64-musl-ryqtgdv6.node → ast-grep-napi.linux-x64-musl-ttfcdtap.node} +0 -0
- package/dist/package/main.js +138903 -91477
- package/docs/README.md +14 -7
- package/docs/channels-remote-and-api.md +8 -5
- package/docs/connected-host.md +14 -12
- package/docs/getting-started.md +58 -30
- package/docs/knowledge-artifacts-and-multimodal.md +7 -5
- package/docs/project-planning.md +2 -2
- package/docs/providers-and-routing.md +11 -3
- package/docs/tools-and-commands.md +116 -45
- package/docs/voice-and-live-tts.md +3 -1
- package/package.json +3 -2
- package/release/release-notes.md +142 -5
- package/release/release-readiness.json +124 -94
- package/src/agent/assistant-cockpit.ts +247 -0
- package/src/agent/autonomy-schedule-format.ts +96 -0
- package/src/agent/autonomy-schedule.ts +514 -0
- package/src/agent/channel-delivery-receipts.ts +292 -0
- package/src/agent/competitive-feature-inventory.ts +294 -0
- package/src/agent/document-registry-types.ts +106 -0
- package/src/agent/document-registry.ts +734 -0
- package/src/agent/harness-control.ts +2 -2
- package/src/agent/memory-prompt.ts +2 -2
- package/src/agent/operator-actions.ts +50 -6
- package/src/agent/persona-registry.ts +8 -0
- package/src/agent/project-context-files.ts +273 -0
- package/src/agent/prompt-context-receipts.ts +502 -0
- package/src/agent/reminder-schedule-format.ts +16 -2
- package/src/agent/research-run-registry.ts +582 -0
- package/src/agent/research-source-registry.ts +441 -0
- package/src/agent/routine-registry.ts +19 -3
- package/src/agent/routine-schedule-format.ts +27 -2
- package/src/agent/runtime-profile-starters.ts +7 -0
- package/src/agent/runtime-profile.ts +106 -4
- package/src/agent/schedule-edit-format.ts +129 -0
- package/src/agent/schedule-edit.ts +496 -0
- package/src/agent/schedule-next-routes.ts +42 -0
- package/src/agent/setup-wizard-artifact-receipts.ts +366 -0
- package/src/agent/setup-wizard-checkpoint.ts +140 -0
- package/src/agent/setup-wizard.ts +683 -0
- package/src/agent/skill-registry-types.ts +102 -0
- package/src/agent/skill-registry.ts +81 -107
- package/src/agent/vibe-confirmation-routes.ts +62 -0
- package/src/agent/vibe-file.ts +285 -0
- package/src/cli/agent-knowledge-command.ts +45 -2
- package/src/cli/help.ts +3 -0
- package/src/cli/profiles-command.ts +25 -11
- package/src/config/agent-settings-policy.ts +1 -18
- package/src/input/agent-workspace-activation.ts +53 -0
- package/src/input/agent-workspace-artifact-browser-editor.ts +494 -0
- package/src/input/agent-workspace-artifact-metadata.ts +17 -0
- package/src/input/agent-workspace-basic-command-editors.ts +5 -1
- package/src/input/agent-workspace-categories.ts +153 -155
- package/src/input/agent-workspace-channel-triage.ts +481 -0
- package/src/input/agent-workspace-channels.ts +263 -0
- package/src/input/agent-workspace-command-editor.ts +152 -0
- package/src/input/agent-workspace-context-snapshot.ts +349 -0
- package/src/input/agent-workspace-delegation-editor-submission.ts +8 -0
- package/src/input/agent-workspace-document-editor.ts +502 -0
- package/src/input/agent-workspace-document-ops-editor.ts +523 -0
- package/src/input/agent-workspace-host-category.ts +1 -1
- package/src/input/agent-workspace-local-library-snapshot.ts +167 -0
- package/src/input/agent-workspace-model-compare-editor.ts +376 -0
- package/src/input/agent-workspace-model-compare-prompt-submission.ts +552 -0
- package/src/input/agent-workspace-model-compare-types.ts +82 -0
- package/src/input/agent-workspace-model-compare-utils.ts +35 -0
- package/src/input/agent-workspace-onboarding-categories.ts +141 -0
- package/src/input/agent-workspace-operations-command-editor-submission.ts +53 -0
- package/src/input/agent-workspace-operations-command-editors.ts +22 -0
- package/src/input/agent-workspace-research-report-editor.ts +212 -0
- package/src/input/agent-workspace-research-run-editor.ts +144 -0
- package/src/input/agent-workspace-research-source-editor.ts +167 -0
- package/src/input/agent-workspace-review-packet-snapshot.ts +593 -0
- package/src/input/agent-workspace-review-packet-utils.ts +265 -0
- package/src/input/agent-workspace-settings.ts +313 -30
- package/src/input/agent-workspace-setup-checkpoint-action.ts +127 -0
- package/src/input/agent-workspace-setup-snapshot.ts +217 -0
- package/src/input/agent-workspace-setup.ts +61 -1
- package/src/input/agent-workspace-snapshot.ts +184 -149
- package/src/input/agent-workspace-types.ts +287 -2
- package/src/input/agent-workspace.ts +23 -1
- package/src/input/command-registry.ts +9 -2
- package/src/input/commands/agent-runtime-profile-runtime.ts +28 -13
- package/src/input/commands/channels-runtime.ts +102 -114
- package/src/input/commands/delegation-runtime.ts +87 -24
- package/src/input/commands/knowledge-browser-flags.ts +12 -0
- package/src/input/commands/knowledge.ts +28 -14
- package/src/input/commands/operator-actions-runtime.ts +6 -3
- package/src/input/commands/schedule-runtime.ts +71 -14
- package/src/input/commands/session-content.ts +2 -2
- package/src/input/commands/shell-core.ts +2 -0
- package/src/input/commands/vibe-runtime.ts +140 -0
- package/src/input/commands.ts +2 -0
- package/src/input/connected-host-routes.ts +123 -0
- package/src/input/settings-modal-types.ts +14 -0
- package/src/input/setup-wizard-live-receipts.ts +76 -0
- package/src/main.ts +15 -15
- package/src/panels/qr-panel.ts +2 -2
- package/src/renderer/agent-workspace-context-lines.ts +701 -0
- package/src/renderer/agent-workspace.ts +68 -421
- package/src/renderer/settings-modal-helpers.ts +12 -0
- package/src/renderer/settings-modal.ts +12 -0
- package/src/runtime/bootstrap-command-context.ts +11 -1
- package/src/runtime/bootstrap-command-parts.ts +14 -3
- package/src/runtime/bootstrap-core.ts +39 -1
- package/src/runtime/bootstrap-shell.ts +6 -0
- package/src/runtime/bootstrap.ts +113 -30
- package/src/runtime/connected-host-auth.ts +3 -2
- package/src/runtime/execution-ledger.ts +231 -0
- package/src/runtime/services.ts +88 -10
- package/src/runtime/tool-permission-safety.ts +199 -5
- package/src/shell/session-continuity-hints.ts +39 -0
- package/src/tools/agent-artifacts-tool.ts +606 -0
- package/src/tools/agent-audit-tool.ts +155 -0
- package/src/tools/agent-autonomy-schedule-tool.ts +238 -0
- package/src/tools/agent-autonomy-tool.ts +140 -0
- package/src/tools/agent-channel-send-tool.ts +24 -2
- package/src/tools/agent-channels-tool.ts +140 -0
- package/src/tools/agent-computer-tool.ts +168 -0
- package/src/tools/agent-context-policy.ts +137 -7
- package/src/tools/agent-context-tool.ts +143 -0
- package/src/tools/agent-delegation-tool.ts +128 -0
- package/src/tools/agent-device-tool.ts +240 -0
- package/src/tools/agent-documents-tool.ts +684 -0
- package/src/tools/agent-execution-tool.ts +230 -0
- package/src/tools/agent-harness-agent-orchestration-policy.ts +75 -0
- package/src/tools/agent-harness-agent-orchestration.ts +791 -0
- package/src/tools/agent-harness-autonomy-intake.ts +785 -0
- package/src/tools/agent-harness-autonomy-live-records.ts +742 -0
- package/src/tools/agent-harness-autonomy-queue-types.ts +88 -0
- package/src/tools/agent-harness-autonomy-queue.ts +571 -0
- package/src/tools/agent-harness-autonomy-watcher-read-models.ts +509 -0
- package/src/tools/agent-harness-background-processes-types.ts +35 -0
- package/src/tools/agent-harness-background-processes.ts +798 -0
- package/src/tools/agent-harness-browser-cockpit-route.ts +373 -0
- package/src/tools/agent-harness-browser-control.ts +346 -0
- package/src/tools/agent-harness-browser-pwa-read-models.ts +622 -0
- package/src/tools/agent-harness-channel-metadata.ts +168 -10
- package/src/tools/agent-harness-cli-command-policy.ts +110 -0
- package/src/tools/agent-harness-command-catalog.ts +4 -2
- package/src/tools/agent-harness-command-runner.ts +42 -0
- package/src/tools/agent-harness-connected-host-status.ts +7 -4
- package/src/tools/agent-harness-delegation-posture.ts +234 -19
- package/src/tools/agent-harness-device-live-read-models.ts +366 -0
- package/src/tools/agent-harness-document-ops-reviewer-readiness.ts +234 -0
- package/src/tools/agent-harness-document-ops-types.ts +72 -0
- package/src/tools/agent-harness-document-ops.ts +671 -0
- package/src/tools/agent-harness-execution-history.ts +489 -0
- package/src/tools/agent-harness-execution-posture.ts +385 -0
- package/src/tools/agent-harness-file-recovery.ts +135 -0
- package/src/tools/agent-harness-interactive-runtime-records.ts +421 -0
- package/src/tools/agent-harness-keybinding-metadata.ts +16 -12
- package/src/tools/agent-harness-learning-curator-common.ts +102 -0
- package/src/tools/agent-harness-learning-curator-consolidation.ts +295 -0
- package/src/tools/agent-harness-learning-curator-proposals.ts +606 -0
- package/src/tools/agent-harness-learning-curator-types.ts +151 -0
- package/src/tools/agent-harness-learning-curator.ts +417 -0
- package/src/tools/agent-harness-local-model-benchmarks.ts +269 -0
- package/src/tools/agent-harness-local-model-cookbook.ts +238 -0
- package/src/tools/agent-harness-local-model-endpoints.ts +788 -0
- package/src/tools/agent-harness-local-model-smoke.ts +277 -0
- package/src/tools/agent-harness-local-model-url.ts +78 -0
- package/src/tools/agent-harness-media-posture.ts +223 -2
- package/src/tools/agent-harness-memory-external-providers.ts +796 -0
- package/src/tools/agent-harness-memory-posture.ts +672 -0
- package/src/tools/agent-harness-memory-provider-certification.ts +219 -0
- package/src/tools/agent-harness-memory-refinement.ts +340 -0
- package/src/tools/agent-harness-metadata.ts +100 -168
- package/src/tools/agent-harness-mode-catalog.ts +86 -33
- package/src/tools/agent-harness-model-catalog.ts +162 -0
- package/src/tools/agent-harness-model-provider-health.ts +283 -0
- package/src/tools/agent-harness-model-readiness.ts +432 -0
- package/src/tools/agent-harness-model-routing-types.ts +327 -0
- package/src/tools/agent-harness-model-routing-utils.ts +30 -0
- package/src/tools/agent-harness-model-routing.ts +165 -193
- package/src/tools/agent-harness-operator-methods.ts +115 -133
- package/src/tools/agent-harness-pairing-posture.ts +452 -18
- package/src/tools/agent-harness-personal-ops-certification.ts +116 -0
- package/src/tools/agent-harness-personal-ops-discovery.ts +533 -0
- package/src/tools/agent-harness-personal-ops-intake.ts +385 -0
- package/src/tools/agent-harness-personal-ops-lanes.ts +270 -0
- package/src/tools/agent-harness-personal-ops-operations.ts +225 -0
- package/src/tools/agent-harness-personal-ops-provider-records.ts +358 -0
- package/src/tools/agent-harness-personal-ops-provider-task-records.ts +321 -0
- package/src/tools/agent-harness-personal-ops-records.ts +684 -0
- package/src/tools/agent-harness-personal-ops-runner.ts +637 -0
- package/src/tools/agent-harness-personal-ops-types.ts +240 -0
- package/src/tools/agent-harness-personal-ops.ts +613 -0
- package/src/tools/agent-harness-project-context.ts +144 -0
- package/src/tools/agent-harness-prompt-context.ts +589 -0
- package/src/tools/agent-harness-provider-account-metadata.ts +2 -2
- package/src/tools/agent-harness-release-evidence.ts +9 -7
- package/src/tools/agent-harness-release-readiness.ts +9 -7
- package/src/tools/agent-harness-remote-read-models.ts +541 -0
- package/src/tools/agent-harness-research-briefing.ts +446 -0
- package/src/tools/agent-harness-research-live-read-models.ts +500 -0
- package/src/tools/agent-harness-research-queue.ts +250 -0
- package/src/tools/agent-harness-research-runs.ts +307 -0
- package/src/tools/agent-harness-research-workflow.ts +395 -0
- package/src/tools/agent-harness-security-posture.ts +2 -2
- package/src/tools/agent-harness-service-posture.ts +9 -9
- package/src/tools/agent-harness-session-metadata.ts +3 -3
- package/src/tools/agent-harness-setup-connected-host.ts +501 -0
- package/src/tools/agent-harness-setup-describe.ts +557 -0
- package/src/tools/agent-harness-setup-handoffs.ts +502 -0
- package/src/tools/agent-harness-setup-model-helpers.ts +102 -0
- package/src/tools/agent-harness-setup-plan.ts +253 -0
- package/src/tools/agent-harness-setup-posture-types.ts +218 -0
- package/src/tools/agent-harness-setup-posture-utils.ts +173 -0
- package/src/tools/agent-harness-setup-posture.ts +449 -221
- package/src/tools/agent-harness-setup-smoke.ts +533 -0
- package/src/tools/agent-harness-sudo-posture.ts +114 -0
- package/src/tools/agent-harness-tool-schema.ts +142 -7
- package/src/tools/agent-harness-tool-types.ts +83 -0
- package/src/tools/agent-harness-tool-utils.ts +43 -0
- package/src/tools/agent-harness-tool.ts +319 -370
- package/src/tools/agent-harness-ui-surface-metadata.ts +76 -69
- package/src/tools/agent-harness-ui-surface-types.ts +46 -0
- package/src/tools/agent-harness-vibe-health.ts +105 -0
- package/src/tools/agent-harness-workspace-action-runner.ts +149 -0
- package/src/tools/agent-harness-workspace-actions.ts +114 -8
- package/src/tools/agent-harness-workspace-editor-execution.ts +214 -0
- package/src/tools/agent-harness-workspace-editor-runner.ts +755 -0
- package/src/tools/agent-host-tool.ts +159 -0
- package/src/tools/agent-knowledge-ingest-tool.ts +34 -1
- package/src/tools/agent-learning-consolidation-core.ts +327 -0
- package/src/tools/agent-learning-consolidation-tool.ts +758 -0
- package/src/tools/agent-memory-tool.ts +253 -0
- package/src/tools/agent-model-compare-export.ts +315 -0
- package/src/tools/agent-model-compare-handoff.ts +592 -0
- package/src/tools/agent-model-compare-judgment.ts +633 -0
- package/src/tools/agent-model-compare-run.ts +735 -0
- package/src/tools/agent-model-compare-tool.ts +698 -0
- package/src/tools/agent-model-compare-types.ts +191 -0
- package/src/tools/agent-model-compare-utils.ts +93 -0
- package/src/tools/agent-models-tool.ts +208 -0
- package/src/tools/agent-operator-action-tool.ts +1 -1
- package/src/tools/agent-operator-method-tool.ts +643 -0
- package/src/tools/agent-personal-ops-tool.ts +197 -0
- package/src/tools/agent-policy-explanation.ts +415 -0
- package/src/tools/agent-research-report-tool.ts +608 -0
- package/src/tools/agent-research-runner.ts +367 -0
- package/src/tools/agent-research-runs-tool.ts +434 -0
- package/src/tools/agent-research-sources-tool.ts +443 -0
- package/src/tools/agent-research-tool.ts +515 -0
- package/src/tools/agent-review-packet-presets-core.ts +757 -0
- package/src/tools/agent-review-packet-presets-tool.ts +466 -0
- package/src/tools/agent-review-packet-share-tool.ts +305 -0
- package/src/tools/agent-route-planner-candidates-setup.ts +411 -0
- package/src/tools/agent-route-planner-candidates-surfaces.ts +432 -0
- package/src/tools/agent-route-planner-candidates-work.ts +251 -0
- package/src/tools/agent-route-planner-helpers.ts +667 -0
- package/src/tools/agent-route-planner.ts +185 -0
- package/src/tools/agent-route-tool.ts +105 -0
- package/src/tools/agent-schedule-edit-tool.ts +210 -0
- package/src/tools/agent-schedule-tool.ts +282 -0
- package/src/tools/agent-security-tool.ts +145 -0
- package/src/tools/agent-sessions-tool.ts +122 -0
- package/src/tools/agent-settings-import-tool.ts +104 -0
- package/src/tools/agent-settings-tool.ts +176 -0
- package/src/tools/agent-setup-tool.ts +226 -0
- package/src/tools/agent-support-tool.ts +122 -0
- package/src/tools/agent-terminal-process-tools.ts +167 -0
- package/src/tools/agent-tool-policy-guard-types.ts +77 -0
- package/src/tools/agent-tool-policy-guard.ts +106 -85
- package/src/tools/agent-vibe-tool.ts +297 -0
- package/src/tools/agent-work-plan-tool.ts +265 -6
- package/src/tools/agent-workspace-tool.ts +305 -0
- package/src/tools/artifact-archive.ts +169 -0
- package/src/tools/tool-definition-compaction.ts +36 -0
- package/src/version.ts +1 -1
|
@@ -27,6 +27,8 @@ export interface AgentHarnessWorkspaceActionArgs {
|
|
|
27
27
|
export interface WorkspaceEditorContext {
|
|
28
28
|
readonly runtimeStarterTemplates: AgentWorkspaceRuntimeSnapshot['runtimeStarterTemplates'];
|
|
29
29
|
readonly selectedRoutine: AgentWorkspaceLocalLibraryItem | null;
|
|
30
|
+
readonly recentReviewerHandoffArtifacts: AgentWorkspaceRuntimeSnapshot['recentReviewerHandoffArtifacts'];
|
|
31
|
+
readonly reviewPacketDefaults: AgentWorkspaceRuntimeSnapshot['reviewPacketDefaults'] | null;
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
export interface WorkspaceActionLookup {
|
|
@@ -107,7 +109,7 @@ function previewText(value: string, maxLength = 56): string {
|
|
|
107
109
|
function commandRouteHint(command: string): string {
|
|
108
110
|
const parsed = parseSlashCommand(command);
|
|
109
111
|
const commandName = parsed.name || command.replace(/^\//, '').trim().split(/\s+/)[0] || command;
|
|
110
|
-
return describeCommandPolicy(commandName).preferredModelTool ??
|
|
112
|
+
return describeCommandPolicy(commandName).preferredModelTool ?? `workspace action:"run_command" commandName:"${commandName}"`;
|
|
111
113
|
}
|
|
112
114
|
|
|
113
115
|
function editorRouteHint(editorKind: AgentWorkspaceEditorKind): string {
|
|
@@ -130,17 +132,44 @@ function editorRouteHint(editorKind: AgentWorkspaceEditorKind): string {
|
|
|
130
132
|
editorKind === 'knowledge-reindex'
|
|
131
133
|
|| editorKind === 'knowledge-review-issue'
|
|
132
134
|
|| editorKind === 'knowledge-consolidate'
|
|
133
|
-
) return '
|
|
135
|
+
) return 'workspace action:"run"';
|
|
134
136
|
if (editorKind.startsWith('knowledge-')) return 'agent_knowledge';
|
|
137
|
+
if (
|
|
138
|
+
editorKind === 'document-review-packet-preset'
|
|
139
|
+
|| editorKind === 'document-review-packet-preset-refresh'
|
|
140
|
+
) return 'agent_review_packet_presets';
|
|
141
|
+
if (editorKind === 'document-review-packet-share') return 'agent_review_packet_share';
|
|
142
|
+
if (editorKind.startsWith('document-')) return 'agent_documents';
|
|
143
|
+
if (
|
|
144
|
+
editorKind === 'artifact-browser'
|
|
145
|
+
|| editorKind === 'artifact-show'
|
|
146
|
+
|| editorKind === 'artifact-export-file'
|
|
147
|
+
|| editorKind === 'artifact-export-package'
|
|
148
|
+
) return 'agent_artifacts';
|
|
149
|
+
if (editorKind === 'artifact-promote-knowledge') return 'agent_knowledge_ingest';
|
|
135
150
|
if (editorKind === 'web-research' || editorKind === 'web-fetch') return 'main conversation prompt';
|
|
151
|
+
if (editorKind === 'research-run') return 'research action:"create_run"';
|
|
152
|
+
if (editorKind === 'research-source') return 'research action:"add_source"';
|
|
153
|
+
if (editorKind === 'research-report') return 'research action:"report"';
|
|
136
154
|
if (editorKind === 'media-generate') return 'agent_media_generate';
|
|
155
|
+
if (
|
|
156
|
+
editorKind === 'model-compare'
|
|
157
|
+
|| editorKind === 'local-model-benchmark'
|
|
158
|
+
|| editorKind === 'model-compare-review'
|
|
159
|
+
|| editorKind === 'model-compare-judge'
|
|
160
|
+
|| editorKind === 'model-compare-apply'
|
|
161
|
+
|| editorKind === 'model-compare-route-decision'
|
|
162
|
+
|| editorKind === 'model-compare-export'
|
|
163
|
+
|| editorKind === 'model-compare-analytics'
|
|
164
|
+
) return 'agent_model_compare';
|
|
137
165
|
if (editorKind === 'channel-send') return 'agent_channel_send';
|
|
138
166
|
if (editorKind === 'notify-send' || editorKind === 'notify-webhook-test') return 'agent_notify';
|
|
139
|
-
if (editorKind === 'reminder-schedule') return '
|
|
167
|
+
if (editorKind === 'reminder-schedule') return 'schedule action:"remind"';
|
|
168
|
+
if (editorKind === 'schedule-edit') return 'schedule action:"edit"';
|
|
169
|
+
if (editorKind === 'schedule-run') return 'schedule action:"run"';
|
|
140
170
|
if (
|
|
141
171
|
editorKind.startsWith('approval-')
|
|
142
172
|
|| editorKind.startsWith('automation-')
|
|
143
|
-
|| editorKind === 'schedule-run'
|
|
144
173
|
) return 'agent_operator_action';
|
|
145
174
|
if (editorKind.startsWith('workplan-') || editorKind.startsWith('plan-') || editorKind.startsWith('task-')) return 'agent_work_plan';
|
|
146
175
|
return 'agent_harness mode:"run_workspace_action"';
|
|
@@ -153,12 +182,51 @@ function localActionRouteHint(action: AgentWorkspaceAction): string {
|
|
|
153
182
|
}
|
|
154
183
|
|
|
155
184
|
function workspaceActionRouteHint(action: AgentWorkspaceAction): string {
|
|
185
|
+
if (action.kind === 'settings-import') return 'settings action:"import"';
|
|
186
|
+
if (action.kind === 'setup-checkpoint') {
|
|
187
|
+
if (action.setupCheckpointOperation === 'mark-current') return 'agent_harness mode:"mark_setup_checkpoint" confirm:true explicitUserRequest:"..."';
|
|
188
|
+
if (action.setupCheckpointOperation === 'clear') return 'agent_harness mode:"clear_setup_checkpoint" confirm:true explicitUserRequest:"..."';
|
|
189
|
+
return 'agent_harness mode:"setup_checkpoint"';
|
|
190
|
+
}
|
|
191
|
+
if (action.id === 'account-route-readiness') return 'models action:"status" includeParameters:true';
|
|
192
|
+
if (action.id === 'account-local-model-cookbook') return 'models action:"local"';
|
|
193
|
+
if (action.id === 'account-local-server-health') return 'models action:"smoke" confirm:true';
|
|
194
|
+
if (action.id === 'account-run-local-model-benchmark') return 'agent_model_compare';
|
|
195
|
+
if (action.id === 'account-local-benchmark-evidence') return 'models action:"local" includeParameters:true';
|
|
196
|
+
if (action.id === 'assistant-browser-cockpit') return 'computer action:"open_browser"';
|
|
197
|
+
if (action.id === 'research-briefing') return 'research action:"briefing"';
|
|
198
|
+
if (action.id === 'research-workflow-plan') return 'research action:"plan"';
|
|
199
|
+
if (action.id === 'research-runner-readiness') return 'research action:"runner"';
|
|
200
|
+
if (action.id === 'research-run-queue') return 'research action:"runs"';
|
|
201
|
+
if (action.id === 'research-public-search') return 'research action:"search"';
|
|
202
|
+
if (action.id === 'research-source-queue') return 'research action:"sources"';
|
|
203
|
+
if (action.id === 'research-report-artifacts') return 'research action:"reports"';
|
|
204
|
+
if (action.id === 'work-background-processes') return 'execution action:"processes"';
|
|
205
|
+
if (action.id === 'work-process-capabilities') return 'process action:"capabilities"';
|
|
206
|
+
if (action.id === 'context-project-files') return 'context action:"files"';
|
|
207
|
+
if (action.id === 'context-project-file') return 'context action:"file"';
|
|
208
|
+
if (action.id === 'context-prompt-context') return 'context action:"prompt" includeParameters:true';
|
|
209
|
+
if (action.id === 'voice-workflow-posture') return 'device action:"voice"';
|
|
210
|
+
if (action.id === 'device-capability-map') return 'device action:"status"';
|
|
211
|
+
if (action.id === 'browser-cockpit-readiness') return 'computer action:"browser"';
|
|
212
|
+
if (action.id === 'personal-ops-briefing') return 'personal_ops action:"briefing"';
|
|
213
|
+
if (action.id === 'personal-ops-queue') return 'personal_ops action:"queue"';
|
|
214
|
+
if (action.id === 'personal-ops-intake') return 'personal_ops action:"intake"';
|
|
215
|
+
if (
|
|
216
|
+
action.id === 'personal-ops-autonomy-queue'
|
|
217
|
+
|| action.id === 'work-autonomy-queue'
|
|
218
|
+
|| action.id === 'schedule-autonomy-queue'
|
|
219
|
+
) return 'autonomy action:"queue"';
|
|
220
|
+
if (action.id === 'memory-learning-curator') return 'memory action:"curator"';
|
|
221
|
+
if (action.id === 'memory-prompt-plan') return 'memory action:"curator" includeParameters:true';
|
|
222
|
+
if (action.id === 'memory-posture') return 'memory action:"status"';
|
|
156
223
|
if (action.command) return commandRouteHint(action.command);
|
|
157
224
|
if (action.editorKind) return editorRouteHint(action.editorKind);
|
|
158
225
|
if (action.kind === 'local-selection' || action.kind === 'local-operation') return localActionRouteHint(action);
|
|
159
|
-
|
|
226
|
+
// Compatibility detail route remains: agent_harness mode:"open_ui_surface".
|
|
227
|
+
if (action.targetCategoryId || action.kind === 'workspace') return 'workspace action:"open"';
|
|
160
228
|
if (action.kind === 'guidance') return action.safety === 'blocked' ? 'main conversation policy' : 'main conversation';
|
|
161
|
-
return '
|
|
229
|
+
return 'workspace action:"action"';
|
|
162
230
|
}
|
|
163
231
|
|
|
164
232
|
function selectedRoutineFromArgs(
|
|
@@ -177,11 +245,15 @@ export function buildWorkspaceEditorContext(context: CommandContext, args: Agent
|
|
|
177
245
|
return {
|
|
178
246
|
runtimeStarterTemplates: snapshot.runtimeStarterTemplates,
|
|
179
247
|
selectedRoutine: selectedRoutineFromArgs(snapshot, args),
|
|
248
|
+
recentReviewerHandoffArtifacts: snapshot.recentReviewerHandoffArtifacts,
|
|
249
|
+
reviewPacketDefaults: snapshot.reviewPacketDefaults,
|
|
180
250
|
};
|
|
181
251
|
} catch {
|
|
182
252
|
return {
|
|
183
253
|
runtimeStarterTemplates: [],
|
|
184
254
|
selectedRoutine: null,
|
|
255
|
+
recentReviewerHandoffArtifacts: [],
|
|
256
|
+
reviewPacketDefaults: null,
|
|
185
257
|
};
|
|
186
258
|
}
|
|
187
259
|
}
|
|
@@ -193,6 +265,8 @@ export function createWorkspaceEditor(
|
|
|
193
265
|
return createAgentWorkspaceEditor(editorKind, {
|
|
194
266
|
runtimeStarterTemplates: editorContext?.runtimeStarterTemplates ?? [],
|
|
195
267
|
selectedRoutine: editorKind === 'routine-schedule' ? editorContext?.selectedRoutine ?? null : null,
|
|
268
|
+
recentReviewerHandoffArtifacts: editorContext?.recentReviewerHandoffArtifacts ?? [],
|
|
269
|
+
reviewPacketDefaults: editorContext?.reviewPacketDefaults ?? null,
|
|
196
270
|
});
|
|
197
271
|
}
|
|
198
272
|
|
|
@@ -211,7 +285,7 @@ export function describeWorkspaceAction(
|
|
|
211
285
|
detail: action.detail,
|
|
212
286
|
kind: action.kind,
|
|
213
287
|
safety: action.safety,
|
|
214
|
-
modelRoute: previewText(workspaceActionRouteHint(action)),
|
|
288
|
+
modelRoute: previewText(workspaceActionRouteHint(action), 72),
|
|
215
289
|
...(action.command ? { command: action.command } : {}),
|
|
216
290
|
...(action.targetCategoryId ? { targetCategoryId: action.targetCategoryId } : {}),
|
|
217
291
|
...(action.editorKind ? { editorKind: action.editorKind } : {}),
|
|
@@ -219,6 +293,38 @@ export function describeWorkspaceAction(
|
|
|
219
293
|
...(action.localOperation ? { localOperation: action.localOperation } : {}),
|
|
220
294
|
...(options.lookup ? { lookup: options.lookup } : {}),
|
|
221
295
|
...(editor ? { editor: describeWorkspaceEditor(editor) } : {}),
|
|
296
|
+
...(action.kind === 'settings-import' ? {
|
|
297
|
+
modelExecution: {
|
|
298
|
+
route: 'settings-import',
|
|
299
|
+
dispatcher: 'run_workspace_action',
|
|
300
|
+
confirmation: 'required',
|
|
301
|
+
preview: 'available-without-confirmation',
|
|
302
|
+
note: 'Imports only Agent-owned shared GoodVibes settings and provider subscription state after explicit user confirmation.',
|
|
303
|
+
},
|
|
304
|
+
} : {}),
|
|
305
|
+
...(action.kind === 'setup-checkpoint' ? {
|
|
306
|
+
setupCheckpointOperation: action.setupCheckpointOperation ?? 'show',
|
|
307
|
+
modelExecution: {
|
|
308
|
+
route: action.setupCheckpointOperation === 'mark-current'
|
|
309
|
+
? 'mark_setup_checkpoint'
|
|
310
|
+
: action.setupCheckpointOperation === 'clear'
|
|
311
|
+
? 'clear_setup_checkpoint'
|
|
312
|
+
: 'setup_checkpoint',
|
|
313
|
+
dispatcher: 'agent_harness',
|
|
314
|
+
confirmation: action.setupCheckpointOperation === 'show' ? 'not-required' : 'required',
|
|
315
|
+
note: 'Setup wizard checkpoints persist only the visible current setup step in Agent-owned state so first-run setup can resume across restarts.',
|
|
316
|
+
},
|
|
317
|
+
} : {}),
|
|
318
|
+
...(action.id === 'assistant-browser-cockpit' ? {
|
|
319
|
+
modelExecution: {
|
|
320
|
+
route: 'open_ui_surface',
|
|
321
|
+
surfaceId: 'connected-browser-cockpit',
|
|
322
|
+
confirmation: 'required',
|
|
323
|
+
readinessRoute: 'agent_harness mode:"ui_surface" surfaceId:"connected-browser-cockpit" includeParameters:true',
|
|
324
|
+
fallback: 'Inspect host action:"service" endpointId:"web" or host action:"services" when the web cockpit is not enabled.',
|
|
325
|
+
note: 'Opens the connected-host browser/PWA cockpit through the configured web route; readiness inspection also reports certified workspace category coverage, mobile/PWA controls, and first-run receipt evidence without creating a separate Agent-hosted web app.',
|
|
326
|
+
},
|
|
327
|
+
} : {}),
|
|
222
328
|
...(action.kind === 'local-selection' || action.kind === 'local-operation' ? {
|
|
223
329
|
modelExecution: describeLocalWorkspaceModelExecution(action),
|
|
224
330
|
} : {}),
|
|
@@ -241,7 +347,7 @@ function describeWorkspaceActionSummary(
|
|
|
241
347
|
summary: previewText(action.detail),
|
|
242
348
|
kind: action.kind,
|
|
243
349
|
safety: action.safety,
|
|
244
|
-
modelRoute: previewText(workspaceActionRouteHint(action)),
|
|
350
|
+
modelRoute: previewText(workspaceActionRouteHint(action), 72),
|
|
245
351
|
...(action.command ? { command: action.command } : {}),
|
|
246
352
|
...(action.targetCategoryId ? { targetCategoryId: action.targetCategoryId } : {}),
|
|
247
353
|
...(action.editorKind ? { editorKind: action.editorKind } : {}),
|
|
@@ -60,6 +60,220 @@ export function describeWorkspaceEditorModelExecution(editorKind: AgentWorkspace
|
|
|
60
60
|
note: 'run_workspace_action returns the main-conversation prompt produced by this editor; use that prompt as the conversation task instead of creating a hidden nested turn.',
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
|
+
if (editorKind === 'research-report') {
|
|
64
|
+
return {
|
|
65
|
+
route: 'agent_research_report',
|
|
66
|
+
tool: 'agent_research_report',
|
|
67
|
+
action: 'save_research_report_artifact',
|
|
68
|
+
confirmation: 'required',
|
|
69
|
+
note: 'run_workspace_action saves one reviewed source-grounded report artifact with a visual packet, source map, and citation coverage. It does not ingest Agent Knowledge or send external messages.',
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if (editorKind === 'research-run') {
|
|
73
|
+
return {
|
|
74
|
+
route: 'agent_research_runs',
|
|
75
|
+
tool: 'agent_research_runs',
|
|
76
|
+
action: 'create_research_run',
|
|
77
|
+
confirmation: 'required',
|
|
78
|
+
note: 'run_workspace_action creates one project-local visible research run with plan, next steps, source ids, checkpoint/resume/cancel routes, and no hidden background execution. Web research, source review, reports, Knowledge ingest, and external sends remain separate explicit actions.',
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
if (editorKind === 'research-source') {
|
|
82
|
+
return {
|
|
83
|
+
route: 'agent_research_sources',
|
|
84
|
+
tool: 'agent_research_sources',
|
|
85
|
+
action: 'add_source_candidate',
|
|
86
|
+
confirmation: 'required',
|
|
87
|
+
note: 'run_workspace_action adds one source to the project-local research queue. Report saving, Knowledge ingest, and external sends remain separate explicit actions.',
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
if (editorKind === 'artifact-browser') {
|
|
91
|
+
return {
|
|
92
|
+
route: 'agent_artifacts',
|
|
93
|
+
tool: 'agent_artifacts',
|
|
94
|
+
action: 'list_artifacts',
|
|
95
|
+
confirmation: 'not-required',
|
|
96
|
+
note: 'run_workspace_action searches saved Agent artifacts through the first-class read-only artifact browser. It never deletes artifacts or inlines binary/base64 bytes.',
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
if (editorKind === 'artifact-show') {
|
|
100
|
+
return {
|
|
101
|
+
route: 'agent_artifacts',
|
|
102
|
+
tool: 'agent_artifacts',
|
|
103
|
+
action: 'show_artifact',
|
|
104
|
+
confirmation: 'not-required',
|
|
105
|
+
note: 'run_workspace_action inspects one saved Agent artifact with redacted metadata and bounded text previews only.',
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
if (editorKind === 'artifact-export-file') {
|
|
109
|
+
return {
|
|
110
|
+
route: 'agent_artifacts',
|
|
111
|
+
tool: 'agent_artifacts',
|
|
112
|
+
action: 'export_artifact_file',
|
|
113
|
+
confirmation: 'required',
|
|
114
|
+
note: 'run_workspace_action copies one reviewed saved artifact to a workspace file after confirmation. It preserves exact bytes, refuses overwrite unless requested, and never deletes artifacts or prints content.',
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
if (editorKind === 'artifact-export-package') {
|
|
118
|
+
return {
|
|
119
|
+
route: 'agent_artifacts',
|
|
120
|
+
tool: 'agent_artifacts',
|
|
121
|
+
action: 'export_artifact_package',
|
|
122
|
+
confirmation: 'required',
|
|
123
|
+
note: 'run_workspace_action copies selected reviewed artifacts into a workspace package directory or ZIP archive after confirmation. It preserves exact bytes, writes a redacted manifest and README, refuses existing outputs unless overwrite is requested, and never deletes artifacts or prints content.',
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
if (editorKind === 'artifact-promote-knowledge') {
|
|
127
|
+
return {
|
|
128
|
+
route: 'agent_knowledge_ingest',
|
|
129
|
+
tool: 'agent_knowledge_ingest',
|
|
130
|
+
action: 'promote_artifact_to_knowledge',
|
|
131
|
+
confirmation: 'required',
|
|
132
|
+
note: 'run_workspace_action ingests one reviewed saved artifact into isolated Agent Knowledge by artifact id. It never writes default knowledge or deletes artifacts.',
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
if (
|
|
136
|
+
editorKind === 'document-browse'
|
|
137
|
+
|| editorKind === 'document-show'
|
|
138
|
+
|| editorKind === 'document-create'
|
|
139
|
+
|| editorKind === 'document-update'
|
|
140
|
+
|| editorKind === 'document-review'
|
|
141
|
+
|| editorKind === 'document-comment'
|
|
142
|
+
|| editorKind === 'document-resolve-comment'
|
|
143
|
+
|| editorKind === 'document-suggest'
|
|
144
|
+
|| editorKind === 'document-accept-suggestion'
|
|
145
|
+
|| editorKind === 'document-reject-suggestion'
|
|
146
|
+
|| editorKind === 'document-insert-artifact'
|
|
147
|
+
|| editorKind === 'document-attach-artifact'
|
|
148
|
+
|| editorKind === 'document-export'
|
|
149
|
+
) {
|
|
150
|
+
return {
|
|
151
|
+
route: 'agent_documents',
|
|
152
|
+
tool: 'agent_documents',
|
|
153
|
+
action: editorKind.replace('document-', ''),
|
|
154
|
+
confirmation: editorKind === 'document-browse' || editorKind === 'document-show' ? 'not-required' : 'required',
|
|
155
|
+
note: 'run_workspace_action uses Agent-owned markdown drafts with version history, review comments, user-reviewed AI suggestions, artifact attachment, and artifact insertion. Export creates a saved markdown artifact with attachment metadata; insertion appends bounded text or a safe artifact reference. No default knowledge write occurs.',
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
if (editorKind === 'document-reviewer-readiness') {
|
|
159
|
+
return {
|
|
160
|
+
route: 'agent_harness',
|
|
161
|
+
tool: 'agent_harness',
|
|
162
|
+
action: 'inspect_reviewer_readiness_preflight',
|
|
163
|
+
confirmation: 'not-required',
|
|
164
|
+
note: 'run_workspace_action inspects the Document Ops reviewer-readiness lane before export, handoff archive, or model-route apply. It is read-only and returns exact repair routes.',
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
if (editorKind === 'document-review-packet-wizard') {
|
|
168
|
+
return {
|
|
169
|
+
route: 'agent_harness',
|
|
170
|
+
tool: 'agent_harness',
|
|
171
|
+
action: 'inspect_review_packet_wizard',
|
|
172
|
+
confirmation: 'not-required',
|
|
173
|
+
note: 'run_workspace_action inspects the Document Ops review packet wizard. It is read-only and returns progress, current step, backtrack routes, route-decision posture, and final evidence review guidance.',
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
if (editorKind === 'document-review-packet-preset') {
|
|
177
|
+
return {
|
|
178
|
+
route: 'agent_review_packet_presets',
|
|
179
|
+
tool: 'agent_review_packet_presets',
|
|
180
|
+
action: 'save_review_packet_preset',
|
|
181
|
+
confirmation: 'required',
|
|
182
|
+
note: 'run_workspace_action saves the current Document Ops packet ids as one reusable local preset artifact. It does not mutate document drafts, model routing, reviewer handoffs, or handoff archives.',
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
if (editorKind === 'document-review-packet-preset-refresh') {
|
|
186
|
+
return {
|
|
187
|
+
route: 'agent_review_packet_presets',
|
|
188
|
+
tool: 'agent_review_packet_presets',
|
|
189
|
+
action: 'refresh_review_packet_preset',
|
|
190
|
+
confirmation: 'required',
|
|
191
|
+
note: 'run_workspace_action saves one new local preset artifact from an existing preset freshness recommendation. It keeps the source preset intact and does not mutate document drafts, model routing, reviewer handoffs, or handoff archives.',
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
if (editorKind === 'document-review-packet-share') {
|
|
195
|
+
return {
|
|
196
|
+
route: 'agent_review_packet_share',
|
|
197
|
+
tool: 'agent_review_packet_share',
|
|
198
|
+
action: 'share_review_packet_archive_reference',
|
|
199
|
+
confirmation: 'required',
|
|
200
|
+
note: 'run_workspace_action validates one saved reviewer handoff archive and sends a plain-text archive reference through a configured channel target. It does not print or attach ZIP bytes; exact bytes stay behind artifact export routes.',
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
if (editorKind === 'model-compare' || editorKind === 'local-model-benchmark') {
|
|
204
|
+
return {
|
|
205
|
+
route: 'agent_model_compare',
|
|
206
|
+
tool: 'agent_model_compare',
|
|
207
|
+
action: editorKind === 'local-model-benchmark' ? 'run_local_model_benchmark' : 'run_blind_comparison',
|
|
208
|
+
confirmation: 'required',
|
|
209
|
+
note: editorKind === 'local-model-benchmark'
|
|
210
|
+
? 'run_workspace_action validates the local benchmark fields, tags the saved artifact as benchmarkKind local-model-route, and executes the first-class blind comparison tool. It never changes the selected model.'
|
|
211
|
+
: 'run_workspace_action validates the editor fields and executes the first-class blind comparison tool with delayed reveal support. The visible workspace form submits the same request to the main conversation.',
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
if (editorKind === 'model-compare-review') {
|
|
215
|
+
return {
|
|
216
|
+
route: 'agent_model_compare',
|
|
217
|
+
tool: 'agent_model_compare',
|
|
218
|
+
action: 'review_saved_comparison_side_by_side_or_handoff_diff',
|
|
219
|
+
confirmation: 'not-required',
|
|
220
|
+
note: 'run_workspace_action renders saved blind comparison artifacts, a read-only review board, a side-by-side related-artifact evidence view, or a visual reviewer handoff diff through the first-class comparison tool; route updates stay separate.',
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
if (editorKind === 'model-compare-handoff-diff') {
|
|
224
|
+
return {
|
|
225
|
+
route: 'agent_model_compare',
|
|
226
|
+
tool: 'agent_model_compare',
|
|
227
|
+
action: 'diff_reviewer_handoff_artifacts',
|
|
228
|
+
confirmation: 'not-required',
|
|
229
|
+
note: 'run_workspace_action renders a visual reviewer handoff diff through the first-class comparison tool, with an optional section jump for all, metadata, policy, related artifacts, or comparison evidence.',
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
if (editorKind === 'model-compare-judge') {
|
|
233
|
+
return {
|
|
234
|
+
route: 'agent_model_compare',
|
|
235
|
+
tool: 'agent_model_compare',
|
|
236
|
+
action: 'save_comparison_judgment',
|
|
237
|
+
confirmation: 'required',
|
|
238
|
+
note: 'run_workspace_action validates the editor fields and saves a local comparison judgment artifact. It never changes the selected model; route updates require separate confirmation.',
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
if (editorKind === 'model-compare-apply') {
|
|
242
|
+
return {
|
|
243
|
+
route: 'agent_model_compare',
|
|
244
|
+
tool: 'agent_model_compare',
|
|
245
|
+
action: 'apply_comparison_winner',
|
|
246
|
+
confirmation: 'required',
|
|
247
|
+
note: 'run_workspace_action applies a revealed saved comparison judgment to provider.model after explicit confirmation.',
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
if (editorKind === 'model-compare-route-decision') {
|
|
251
|
+
return {
|
|
252
|
+
route: 'agent_model_compare',
|
|
253
|
+
tool: 'agent_model_compare',
|
|
254
|
+
action: 'record_comparison_route_decision',
|
|
255
|
+
confirmation: 'required',
|
|
256
|
+
note: 'run_workspace_action saves a leave-unchanged route-decision receipt for a revealed comparison judgment without changing provider.model.',
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
if (editorKind === 'model-compare-export') {
|
|
260
|
+
return {
|
|
261
|
+
route: 'agent_model_compare',
|
|
262
|
+
tool: 'agent_model_compare',
|
|
263
|
+
action: 'export_comparison_report_handoff_or_archive',
|
|
264
|
+
confirmation: 'required',
|
|
265
|
+
note: 'run_workspace_action creates one local markdown report, reviewer handoff artifact, or reviewer handoff ZIP archive from saved comparison evidence without changing model routing.',
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
if (editorKind === 'model-compare-analytics') {
|
|
269
|
+
return {
|
|
270
|
+
route: 'agent_model_compare',
|
|
271
|
+
tool: 'agent_model_compare',
|
|
272
|
+
action: 'summarize_or_synthesize_comparison_judgments',
|
|
273
|
+
confirmation: 'not-required',
|
|
274
|
+
note: 'run_workspace_action summarizes or synthesizes saved comparison judgment artifacts without changing model routing.',
|
|
275
|
+
};
|
|
276
|
+
}
|
|
63
277
|
if (isAgentWorkspaceCommandEditorKind(editorKind)) {
|
|
64
278
|
return {
|
|
65
279
|
route: 'slash-command-dispatch',
|