@pellux/goodvibes-agent 0.1.116 → 0.1.117
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 +41 -663
- package/README.md +38 -52
- package/dist/package/main.js +37826 -35924
- package/docs/README.md +5 -4
- package/docs/{connected-services.md → connected-host.md} +18 -10
- package/docs/getting-started.md +41 -44
- package/docs/release-and-publishing.md +6 -4
- package/package.json +3 -3
- package/src/agent/behavior-discovery-summary.ts +1 -3
- package/src/agent/persona-discovery.ts +1 -3
- package/src/agent/persona-registry.ts +5 -3
- package/src/agent/reminder-schedule-format.ts +6 -6
- package/src/agent/reminder-schedule.ts +1 -1
- package/src/agent/routine-registry.ts +43 -4
- package/src/agent/routine-schedule-format.ts +6 -6
- package/src/agent/routine-schedule-promotion.ts +1 -1
- package/src/agent/routine-schedule-receipts.ts +1 -1
- package/src/agent/runtime-profile-starters.ts +3 -3
- package/src/agent/runtime-profile.ts +78 -0
- package/src/agent/skill-registry.ts +190 -13
- package/src/cli/agent-knowledge-command.ts +2 -2
- package/src/cli/agent-knowledge-format.ts +2 -2
- package/src/cli/agent-knowledge-runtime.ts +1 -1
- package/src/cli/bundle-command.ts +1 -1
- package/src/cli/entrypoint.ts +16 -7
- package/src/cli/help.ts +26 -19
- package/src/cli/local-library-command.ts +75 -21
- package/src/cli/management-commands.ts +7 -6
- package/src/cli/management.ts +6 -51
- package/src/cli/parser.ts +23 -2
- package/src/cli/profiles-command.ts +119 -1
- package/src/cli/routines-command.ts +139 -11
- package/src/cli/service-posture.ts +11 -11
- package/src/cli/status.ts +21 -25
- package/src/input/agent-workspace-access-command-editor-submission.ts +149 -0
- package/src/input/agent-workspace-access-command-editors.ts +170 -0
- package/src/input/agent-workspace-activation.ts +2 -1
- package/src/input/agent-workspace-basic-command-editor-submission.ts +345 -92
- package/src/input/agent-workspace-basic-command-editors.ts +480 -7
- package/src/input/agent-workspace-categories.ts +175 -15
- package/src/input/agent-workspace-channel-command-editor-submission.ts +49 -0
- package/src/input/agent-workspace-channel-command-editors.ts +47 -0
- package/src/input/agent-workspace-command-editor.ts +23 -1
- package/src/input/agent-workspace-delegation-editor-submission.ts +55 -0
- package/src/input/agent-workspace-editors.ts +27 -0
- package/src/input/agent-workspace-knowledge-command-editor-submission.ts +132 -0
- package/src/input/agent-workspace-knowledge-command-editors.ts +110 -0
- package/src/input/agent-workspace-learned-behavior.ts +67 -0
- package/src/input/agent-workspace-library-command-editor-submission.ts +50 -0
- package/src/input/agent-workspace-library-command-editors.ts +35 -0
- package/src/input/agent-workspace-mcp-command-editor-submission.ts +95 -0
- package/src/input/agent-workspace-memory-command-editor-submission.ts +232 -0
- package/src/input/agent-workspace-memory-command-editors.ts +180 -0
- package/src/input/agent-workspace-navigation.ts +45 -0
- package/src/input/agent-workspace-notify-editor-submission.ts +107 -0
- package/src/input/agent-workspace-operations-command-editor-submission.ts +146 -0
- package/src/input/agent-workspace-operations-command-editors.ts +119 -0
- package/src/input/agent-workspace-provider-command-editor-submission.ts +155 -0
- package/src/input/agent-workspace-provider-command-editors.ts +93 -0
- package/src/input/agent-workspace-requirements.ts +11 -0
- package/src/input/agent-workspace-secret-editor-submission.ts +153 -0
- package/src/input/agent-workspace-session-command-editor-submission.ts +199 -0
- package/src/input/agent-workspace-session-command-editors.ts +249 -0
- package/src/input/agent-workspace-setup.ts +24 -14
- package/src/input/agent-workspace-skill-bundle-command-editor-submission.ts +101 -0
- package/src/input/agent-workspace-skill-bundle-command-editors.ts +110 -0
- package/src/input/agent-workspace-snapshot.ts +50 -8
- package/src/input/agent-workspace-task-command-editor-submission.ts +61 -0
- package/src/input/agent-workspace-task-command-editors.ts +47 -0
- package/src/input/agent-workspace-types.ts +120 -0
- package/src/input/agent-workspace-voice-media.ts +1 -1
- package/src/input/agent-workspace-workplan-editor-submission.ts +153 -0
- package/src/input/agent-workspace.ts +47 -37
- package/src/input/command-registry.ts +1 -1
- package/src/input/commands/agent-runtime-profile-runtime.ts +89 -4
- package/src/input/commands/agent-skills-runtime.ts +76 -12
- package/src/input/commands/agent-workspace-runtime.ts +4 -3
- package/src/input/commands/brief-runtime.ts +38 -9
- package/src/input/commands/channels-runtime.ts +3 -3
- package/src/input/commands/compat-runtime.ts +32 -0
- package/src/input/commands/health-runtime.ts +22 -24
- package/src/input/commands/knowledge.ts +26 -5
- package/src/input/commands/local-provider-runtime.ts +7 -3
- package/src/input/commands/local-setup-review.ts +4 -14
- package/src/input/commands/mcp-runtime.ts +8 -12
- package/src/input/commands/operator-runtime.ts +8 -67
- package/src/input/commands/personas-runtime.ts +1 -1
- package/src/input/commands/platform-access-runtime.ts +7 -70
- package/src/input/commands/policy-dispatch.ts +1 -1
- package/src/input/commands/policy.ts +1 -5
- package/src/input/commands/product-runtime.ts +2 -2
- package/src/input/commands/qrcode-runtime.ts +6 -4
- package/src/input/commands/routines-runtime.ts +44 -6
- package/src/input/commands/runtime-services.ts +1 -14
- package/src/input/commands/security-runtime.ts +3 -8
- package/src/input/commands/session-content.ts +1 -1
- package/src/input/commands/session-workflow.ts +5 -14
- package/src/input/commands/shell-core.ts +8 -2
- package/src/input/commands/subscription-runtime.ts +1 -6
- package/src/input/commands/support-bundle-runtime.ts +53 -0
- package/src/input/commands/tasks-runtime.ts +2 -2
- package/src/input/commands.ts +4 -0
- package/src/input/feed-context-factory.ts +0 -1
- package/src/input/handler-content-actions.ts +0 -25
- package/src/input/handler-feed.ts +0 -2
- package/src/input/handler-interactions.ts +2 -31
- package/src/input/handler-onboarding.ts +29 -12
- package/src/input/handler-shortcuts.ts +1 -3
- package/src/input/handler.ts +4 -7
- package/src/input/keybindings.ts +9 -9
- package/src/input/mcp-workspace.ts +90 -26
- package/src/input/onboarding/handler-onboarding-routes.ts +3 -1
- package/src/input/onboarding/onboarding-wizard-apply.ts +49 -0
- package/src/input/onboarding/onboarding-wizard-helpers.ts +1 -1
- package/src/input/onboarding/onboarding-wizard-operator-steps.ts +81 -3
- package/src/input/onboarding/onboarding-wizard-steps.ts +14 -7
- package/src/input/onboarding/onboarding-wizard-types.ts +1 -0
- package/src/input/onboarding/onboarding-wizard.ts +19 -2
- package/src/input/profile-picker-modal.ts +2 -2
- package/src/input/settings-modal-agent-policy.ts +6 -6
- package/src/input/settings-modal-subscriptions.ts +3 -3
- package/src/input/settings-modal.ts +14 -14
- package/src/main.ts +0 -2
- package/src/panels/automation-control-panel.ts +3 -3
- package/src/panels/builtin/agent.ts +1 -1
- package/src/panels/builtin/operations.ts +2 -2
- package/src/panels/builtin/session.ts +26 -18
- package/src/panels/builtin/shared.ts +6 -6
- package/src/panels/project-planning-panel.ts +1 -1
- package/src/panels/provider-health-domains.ts +3 -3
- package/src/panels/qr-panel.ts +44 -20
- package/src/panels/subscription-panel.ts +3 -3
- package/src/panels/system-messages-panel.ts +2 -2
- package/src/panels/tasks-panel.ts +4 -4
- package/src/planning/project-planning-coordinator.ts +2 -2
- package/src/renderer/agent-workspace.ts +26 -5
- package/src/renderer/block-actions.ts +1 -3
- package/src/renderer/help-overlay.ts +13 -8
- package/src/renderer/mcp-workspace.ts +32 -13
- package/src/renderer/model-picker-overlay.ts +0 -1
- package/src/renderer/model-workspace.ts +0 -2
- package/src/renderer/onboarding/onboarding-wizard.ts +20 -4
- package/src/renderer/panel-picker-overlay.ts +1 -1
- package/src/renderer/profile-picker-modal.ts +2 -2
- package/src/renderer/settings-modal-helpers.ts +23 -23
- package/src/renderer/settings-modal.ts +18 -18
- package/src/renderer/system-message.ts +1 -1
- package/src/runtime/agent-runtime-events.ts +129 -0
- package/src/runtime/bootstrap-command-parts.ts +3 -2
- package/src/runtime/bootstrap-core.ts +4 -64
- package/src/runtime/bootstrap-shell.ts +42 -4
- package/src/runtime/bootstrap.ts +8 -27
- package/src/runtime/connected-host-auth.ts +42 -0
- package/src/runtime/diagnostics/panels/panel-resources.ts +1 -1
- package/src/runtime/index.ts +1 -5
- package/src/runtime/onboarding/apply.ts +213 -0
- package/src/runtime/onboarding/derivation.ts +5 -5
- package/src/runtime/onboarding/snapshot.ts +2 -2
- package/src/runtime/onboarding/types.ts +26 -1
- package/src/runtime/onboarding/verify.ts +81 -2
- package/src/runtime/operator-token-cleanup.ts +2 -2
- package/src/runtime/services.ts +27 -12
- package/src/shell/service-settings-sync.ts +7 -7
- package/src/shell/ui-openers.ts +27 -38
- package/src/tools/agent-local-registry-tool.ts +10 -4
- package/src/tools/agent-tool-policy-guard.ts +5 -7
- package/src/version.ts +1 -1
- package/src/cli/package-verification.ts +0 -274
|
@@ -1,21 +1,60 @@
|
|
|
1
1
|
import type { AgentWorkspaceEditorKind, AgentWorkspaceLocalEditor } from './agent-workspace-types.ts';
|
|
2
|
+
import type { AgentWorkspaceAccessCommandEditorKind } from './agent-workspace-access-command-editors.ts';
|
|
3
|
+
import { createAgentWorkspaceAccessCommandEditor, isAgentWorkspaceAccessCommandEditorKind } from './agent-workspace-access-command-editors.ts';
|
|
4
|
+
import type { AgentWorkspaceChannelCommandEditorKind } from './agent-workspace-channel-command-editors.ts';
|
|
5
|
+
import { createAgentWorkspaceChannelCommandEditor, isAgentWorkspaceChannelCommandEditorKind } from './agent-workspace-channel-command-editors.ts';
|
|
6
|
+
import type { AgentWorkspaceKnowledgeCommandEditorKind } from './agent-workspace-knowledge-command-editors.ts';
|
|
7
|
+
import { createAgentWorkspaceKnowledgeCommandEditor, isAgentWorkspaceKnowledgeCommandEditorKind } from './agent-workspace-knowledge-command-editors.ts';
|
|
8
|
+
import type { AgentWorkspaceLibraryCommandEditorKind } from './agent-workspace-library-command-editors.ts';
|
|
9
|
+
import { createAgentWorkspaceLibraryCommandEditor, isAgentWorkspaceLibraryCommandEditorKind } from './agent-workspace-library-command-editors.ts';
|
|
10
|
+
import type { AgentWorkspaceMemoryCommandEditorKind } from './agent-workspace-memory-command-editors.ts';
|
|
11
|
+
import { createAgentWorkspaceMemoryCommandEditor, isAgentWorkspaceMemoryCommandEditorKind } from './agent-workspace-memory-command-editors.ts';
|
|
12
|
+
import type { AgentWorkspaceOperationsCommandEditorKind } from './agent-workspace-operations-command-editors.ts';
|
|
13
|
+
import { createAgentWorkspaceOperationsCommandEditor, isAgentWorkspaceOperationsCommandEditorKind } from './agent-workspace-operations-command-editors.ts';
|
|
14
|
+
import type { AgentWorkspaceProviderCommandEditorKind } from './agent-workspace-provider-command-editors.ts';
|
|
15
|
+
import { createAgentWorkspaceProviderCommandEditor, isAgentWorkspaceProviderCommandEditorKind } from './agent-workspace-provider-command-editors.ts';
|
|
16
|
+
import type { AgentWorkspaceSessionCommandEditorKind } from './agent-workspace-session-command-editors.ts';
|
|
17
|
+
import { createAgentWorkspaceSessionCommandEditor, isAgentWorkspaceSessionCommandEditorKind } from './agent-workspace-session-command-editors.ts';
|
|
18
|
+
import type { AgentWorkspaceSkillBundleCommandEditorKind } from './agent-workspace-skill-bundle-command-editors.ts';
|
|
19
|
+
import { createAgentWorkspaceSkillBundleCommandEditor, isAgentWorkspaceSkillBundleCommandEditorKind } from './agent-workspace-skill-bundle-command-editors.ts';
|
|
20
|
+
import type { AgentWorkspaceTaskCommandEditorKind } from './agent-workspace-task-command-editors.ts';
|
|
21
|
+
import { createAgentWorkspaceTaskCommandEditor, isAgentWorkspaceTaskCommandEditorKind } from './agent-workspace-task-command-editors.ts';
|
|
2
22
|
export type { AgentWorkspaceBasicCommandEditorSubmission } from './agent-workspace-basic-command-editor-submission.ts';
|
|
3
23
|
export { buildAgentWorkspaceBasicCommandEditorSubmission } from './agent-workspace-basic-command-editor-submission.ts';
|
|
4
24
|
|
|
5
|
-
export type AgentWorkspaceBasicCommandEditorKind = Extract<
|
|
25
|
+
export type AgentWorkspaceBasicCommandEditorKind = AgentWorkspaceAccessCommandEditorKind | AgentWorkspaceChannelCommandEditorKind | AgentWorkspaceKnowledgeCommandEditorKind | AgentWorkspaceLibraryCommandEditorKind | AgentWorkspaceMemoryCommandEditorKind | AgentWorkspaceOperationsCommandEditorKind | AgentWorkspaceProviderCommandEditorKind | AgentWorkspaceSessionCommandEditorKind | AgentWorkspaceSkillBundleCommandEditorKind | AgentWorkspaceTaskCommandEditorKind | Extract<
|
|
6
26
|
AgentWorkspaceEditorKind,
|
|
7
|
-
'knowledge-file' | 'knowledge-bookmarks' | 'knowledge-browser-history' | 'knowledge-connector-ingest' | 'tts-prompt' | 'image-input' | 'skill-bundle' | 'skill-discovery-import' | 'profile-template-export' | 'profile-template-import'
|
|
8
|
-
| 'profile-template-from-discovered' | 'profile-from-discovered'
|
|
27
|
+
'knowledge-file' | 'knowledge-urls' | 'knowledge-bookmarks' | 'knowledge-browser-history' | 'knowledge-connector-ingest' | 'knowledge-reindex' | 'tts-prompt' | 'image-input' | 'skill-bundle' | 'skill-discovery-import' | 'profile-template-export' | 'profile-template-import'
|
|
28
|
+
| 'profile-template-from-discovered' | 'profile-from-discovered' | 'profile-default' | 'profile-default-clear'
|
|
29
|
+
| 'profile-template-show' | 'profile-show' | 'profile-delete'
|
|
30
|
+
| 'support-bundle-export' | 'support-bundle-inspect' | 'support-bundle-import'
|
|
31
|
+
| 'subscription-inspect' | 'subscription-login-start' | 'subscription-login-finish' | 'subscription-logout'
|
|
32
|
+
| 'model-pin' | 'model-unpin'
|
|
33
|
+
| 'delegate-task'
|
|
34
|
+
| 'workplan-add' | 'workplan-show' | 'workplan-status' | 'workplan-delete' | 'workplan-clear-completed'
|
|
9
35
|
| 'persona-discovery-import'
|
|
10
36
|
| 'routine-discovery-import'
|
|
11
|
-
| 'mcp-server' | 'notify-webhook' | 'notify-webhook-remove' | 'notify-webhook-test'
|
|
37
|
+
| 'mcp-server' | 'mcp-tools-server' | 'mcp-repair' | 'notify-webhook' | 'notify-webhook-remove' | 'notify-webhook-clear' | 'notify-webhook-test'
|
|
38
|
+
| 'secret-set' | 'secret-link' | 'secret-test' | 'secret-delete'
|
|
12
39
|
>;
|
|
13
40
|
|
|
14
41
|
export function isAgentWorkspaceBasicCommandEditorKind(kind: AgentWorkspaceEditorKind): kind is AgentWorkspaceBasicCommandEditorKind {
|
|
15
|
-
return kind
|
|
42
|
+
return isAgentWorkspaceAccessCommandEditorKind(kind)
|
|
43
|
+
|| isAgentWorkspaceChannelCommandEditorKind(kind)
|
|
44
|
+
|| isAgentWorkspaceKnowledgeCommandEditorKind(kind)
|
|
45
|
+
|| isAgentWorkspaceLibraryCommandEditorKind(kind)
|
|
46
|
+
|| isAgentWorkspaceMemoryCommandEditorKind(kind)
|
|
47
|
+
|| isAgentWorkspaceOperationsCommandEditorKind(kind)
|
|
48
|
+
|| isAgentWorkspaceProviderCommandEditorKind(kind)
|
|
49
|
+
|| isAgentWorkspaceSessionCommandEditorKind(kind)
|
|
50
|
+
|| isAgentWorkspaceSkillBundleCommandEditorKind(kind)
|
|
51
|
+
|| isAgentWorkspaceTaskCommandEditorKind(kind)
|
|
52
|
+
|| kind === 'knowledge-bookmarks'
|
|
16
53
|
|| kind === 'knowledge-file'
|
|
54
|
+
|| kind === 'knowledge-urls'
|
|
17
55
|
|| kind === 'knowledge-browser-history'
|
|
18
56
|
|| kind === 'knowledge-connector-ingest'
|
|
57
|
+
|| kind === 'knowledge-reindex'
|
|
19
58
|
|| kind === 'tts-prompt'
|
|
20
59
|
|| kind === 'image-input'
|
|
21
60
|
|| kind === 'skill-bundle'
|
|
@@ -26,13 +65,70 @@ export function isAgentWorkspaceBasicCommandEditorKind(kind: AgentWorkspaceEdito
|
|
|
26
65
|
|| kind === 'profile-template-import'
|
|
27
66
|
|| kind === 'profile-template-from-discovered'
|
|
28
67
|
|| kind === 'profile-from-discovered'
|
|
68
|
+
|| kind === 'profile-default'
|
|
69
|
+
|| kind === 'profile-default-clear'
|
|
70
|
+
|| kind === 'profile-template-show'
|
|
71
|
+
|| kind === 'profile-show'
|
|
72
|
+
|| kind === 'profile-delete'
|
|
73
|
+
|| kind === 'support-bundle-export'
|
|
74
|
+
|| kind === 'support-bundle-inspect'
|
|
75
|
+
|| kind === 'support-bundle-import'
|
|
76
|
+
|| kind === 'subscription-inspect'
|
|
77
|
+
|| kind === 'subscription-login-start'
|
|
78
|
+
|| kind === 'subscription-login-finish'
|
|
79
|
+
|| kind === 'subscription-logout'
|
|
80
|
+
|| kind === 'model-pin'
|
|
81
|
+
|| kind === 'model-unpin'
|
|
82
|
+
|| kind === 'delegate-task'
|
|
83
|
+
|| kind === 'workplan-add'
|
|
84
|
+
|| kind === 'workplan-show'
|
|
85
|
+
|| kind === 'workplan-status'
|
|
86
|
+
|| kind === 'workplan-delete'
|
|
87
|
+
|| kind === 'workplan-clear-completed'
|
|
29
88
|
|| kind === 'mcp-server'
|
|
89
|
+
|| kind === 'mcp-tools-server'
|
|
90
|
+
|| kind === 'mcp-repair'
|
|
30
91
|
|| kind === 'notify-webhook'
|
|
31
92
|
|| kind === 'notify-webhook-remove'
|
|
32
|
-
|| kind === 'notify-webhook-
|
|
93
|
+
|| kind === 'notify-webhook-clear'
|
|
94
|
+
|| kind === 'notify-webhook-test'
|
|
95
|
+
|| kind === 'secret-set'
|
|
96
|
+
|| kind === 'secret-link'
|
|
97
|
+
|| kind === 'secret-test'
|
|
98
|
+
|| kind === 'secret-delete';
|
|
33
99
|
}
|
|
34
100
|
|
|
35
101
|
export function createAgentWorkspaceBasicCommandEditor(kind: AgentWorkspaceBasicCommandEditorKind): AgentWorkspaceLocalEditor {
|
|
102
|
+
if (isAgentWorkspaceAccessCommandEditorKind(kind)) {
|
|
103
|
+
return createAgentWorkspaceAccessCommandEditor(kind);
|
|
104
|
+
}
|
|
105
|
+
if (isAgentWorkspaceChannelCommandEditorKind(kind)) {
|
|
106
|
+
return createAgentWorkspaceChannelCommandEditor(kind);
|
|
107
|
+
}
|
|
108
|
+
if (isAgentWorkspaceKnowledgeCommandEditorKind(kind)) {
|
|
109
|
+
return createAgentWorkspaceKnowledgeCommandEditor(kind);
|
|
110
|
+
}
|
|
111
|
+
if (isAgentWorkspaceLibraryCommandEditorKind(kind)) {
|
|
112
|
+
return createAgentWorkspaceLibraryCommandEditor(kind);
|
|
113
|
+
}
|
|
114
|
+
if (isAgentWorkspaceMemoryCommandEditorKind(kind)) {
|
|
115
|
+
return createAgentWorkspaceMemoryCommandEditor(kind);
|
|
116
|
+
}
|
|
117
|
+
if (isAgentWorkspaceOperationsCommandEditorKind(kind)) {
|
|
118
|
+
return createAgentWorkspaceOperationsCommandEditor(kind);
|
|
119
|
+
}
|
|
120
|
+
if (isAgentWorkspaceProviderCommandEditorKind(kind)) {
|
|
121
|
+
return createAgentWorkspaceProviderCommandEditor(kind);
|
|
122
|
+
}
|
|
123
|
+
if (isAgentWorkspaceSessionCommandEditorKind(kind)) {
|
|
124
|
+
return createAgentWorkspaceSessionCommandEditor(kind);
|
|
125
|
+
}
|
|
126
|
+
if (isAgentWorkspaceSkillBundleCommandEditorKind(kind)) {
|
|
127
|
+
return createAgentWorkspaceSkillBundleCommandEditor(kind);
|
|
128
|
+
}
|
|
129
|
+
if (isAgentWorkspaceTaskCommandEditorKind(kind)) {
|
|
130
|
+
return createAgentWorkspaceTaskCommandEditor(kind);
|
|
131
|
+
}
|
|
36
132
|
if (kind === 'knowledge-bookmarks') {
|
|
37
133
|
return {
|
|
38
134
|
kind,
|
|
@@ -62,6 +158,20 @@ export function createAgentWorkspaceBasicCommandEditor(kind: AgentWorkspaceBasic
|
|
|
62
158
|
],
|
|
63
159
|
};
|
|
64
160
|
}
|
|
161
|
+
if (kind === 'knowledge-urls') {
|
|
162
|
+
return {
|
|
163
|
+
kind,
|
|
164
|
+
mode: 'create',
|
|
165
|
+
title: 'Import URL List into Agent Knowledge',
|
|
166
|
+
selectedFieldIndex: 0,
|
|
167
|
+
message: 'Import a local newline-delimited URL list into the isolated Agent Knowledge segment. Type yes on the final field to confirm.',
|
|
168
|
+
fields: [
|
|
169
|
+
{ id: 'path', label: 'URL list path', value: '', required: true, multiline: false, hint: 'Path to a local file containing one URL per line.' },
|
|
170
|
+
{ id: 'allowPrivateHosts', label: 'Allow private hosts', value: '', required: false, multiline: false, hint: 'yes/no. Blank defaults to no.' },
|
|
171
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /knowledge import-urls with --yes.' },
|
|
172
|
+
],
|
|
173
|
+
};
|
|
174
|
+
}
|
|
65
175
|
if (kind === 'knowledge-browser-history') {
|
|
66
176
|
return {
|
|
67
177
|
kind,
|
|
@@ -95,6 +205,18 @@ export function createAgentWorkspaceBasicCommandEditor(kind: AgentWorkspaceBasic
|
|
|
95
205
|
],
|
|
96
206
|
};
|
|
97
207
|
}
|
|
208
|
+
if (kind === 'knowledge-reindex') {
|
|
209
|
+
return {
|
|
210
|
+
kind,
|
|
211
|
+
mode: 'update',
|
|
212
|
+
title: 'Reindex Agent Knowledge',
|
|
213
|
+
selectedFieldIndex: 0,
|
|
214
|
+
message: 'Rebuild the isolated Agent Knowledge index. Type yes on the final field to confirm.',
|
|
215
|
+
fields: [
|
|
216
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /knowledge reindex with --yes.' },
|
|
217
|
+
],
|
|
218
|
+
};
|
|
219
|
+
}
|
|
98
220
|
if (kind === 'mcp-server') {
|
|
99
221
|
return {
|
|
100
222
|
kind,
|
|
@@ -112,7 +234,31 @@ export function createAgentWorkspaceBasicCommandEditor(kind: AgentWorkspaceBasic
|
|
|
112
234
|
{ id: 'env', label: 'Env refs', value: '', required: false, multiline: false, hint: 'Comma-separated KEY=VALUE entries. Prefer secret refs, not raw secrets.' },
|
|
113
235
|
{ id: 'paths', label: 'Allowed paths', value: '', required: false, multiline: false, hint: 'Comma-separated path allowlist entries.' },
|
|
114
236
|
{ id: 'hosts', label: 'Allowed hosts', value: '', required: false, multiline: false, hint: 'Comma-separated host allowlist entries.' },
|
|
115
|
-
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to
|
|
237
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to save the MCP server through the TUI command router.' },
|
|
238
|
+
],
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
if (kind === 'mcp-tools-server') {
|
|
242
|
+
return {
|
|
243
|
+
kind,
|
|
244
|
+
mode: 'create',
|
|
245
|
+
title: 'Show MCP Server Tools',
|
|
246
|
+
selectedFieldIndex: 0,
|
|
247
|
+
message: 'List tools exposed by one MCP server without changing server trust, role, or config.',
|
|
248
|
+
fields: [
|
|
249
|
+
{ id: 'server', label: 'Server name', value: '', required: true, multiline: false, hint: 'MCP server name from MCP Review or the fullscreen MCP workspace.' },
|
|
250
|
+
],
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
if (kind === 'mcp-repair') {
|
|
254
|
+
return {
|
|
255
|
+
kind,
|
|
256
|
+
mode: 'create',
|
|
257
|
+
title: 'Show MCP Repair Guidance',
|
|
258
|
+
selectedFieldIndex: 0,
|
|
259
|
+
message: 'Show read-only repair guidance for one MCP server. This does not approve quarantine, change trust, or reload the runtime.',
|
|
260
|
+
fields: [
|
|
261
|
+
{ id: 'server', label: 'Server name', value: '', required: true, multiline: false, hint: 'MCP server name from MCP Review or Auth review.' },
|
|
116
262
|
],
|
|
117
263
|
};
|
|
118
264
|
}
|
|
@@ -142,6 +288,18 @@ export function createAgentWorkspaceBasicCommandEditor(kind: AgentWorkspaceBasic
|
|
|
142
288
|
],
|
|
143
289
|
};
|
|
144
290
|
}
|
|
291
|
+
if (kind === 'notify-webhook-clear') {
|
|
292
|
+
return {
|
|
293
|
+
kind,
|
|
294
|
+
mode: 'delete',
|
|
295
|
+
title: 'Clear Notification Webhooks',
|
|
296
|
+
selectedFieldIndex: 0,
|
|
297
|
+
message: 'Remove every configured webhook notification target. Type yes on the final field to confirm.',
|
|
298
|
+
fields: [
|
|
299
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /notify clear with --yes.' },
|
|
300
|
+
],
|
|
301
|
+
};
|
|
302
|
+
}
|
|
145
303
|
if (kind === 'notify-webhook-test') {
|
|
146
304
|
return {
|
|
147
305
|
kind,
|
|
@@ -154,6 +312,66 @@ export function createAgentWorkspaceBasicCommandEditor(kind: AgentWorkspaceBasic
|
|
|
154
312
|
],
|
|
155
313
|
};
|
|
156
314
|
}
|
|
315
|
+
if (kind === 'secret-set') {
|
|
316
|
+
return {
|
|
317
|
+
kind,
|
|
318
|
+
mode: 'create',
|
|
319
|
+
title: 'Store Secret Value',
|
|
320
|
+
selectedFieldIndex: 0,
|
|
321
|
+
message: 'Store one secret value through the Agent secret manager. The value is masked in this workspace. Type yes on the final field to confirm.',
|
|
322
|
+
fields: [
|
|
323
|
+
{ id: 'key', label: 'Secret key', value: '', required: true, multiline: false, hint: 'Environment-style key, such as OPENAI_API_KEY.' },
|
|
324
|
+
{ id: 'value', label: 'Secret value', value: '', required: true, multiline: false, hint: 'Raw value to store. It is masked here and never rendered in action results.', redact: true },
|
|
325
|
+
{ id: 'scope', label: 'Scope', value: '', required: false, multiline: false, hint: 'project or user. Blank defaults to project.' },
|
|
326
|
+
{ id: 'storage', label: 'Storage', value: '', required: false, multiline: false, hint: 'secure or plaintext. Blank defaults to secure.' },
|
|
327
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to store the secret value.' },
|
|
328
|
+
],
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
if (kind === 'secret-link') {
|
|
332
|
+
return {
|
|
333
|
+
kind,
|
|
334
|
+
mode: 'create',
|
|
335
|
+
title: 'Link Secret Reference',
|
|
336
|
+
selectedFieldIndex: 0,
|
|
337
|
+
message: 'Link one key to an external goodvibes://secrets/... reference. Type yes on the final field to confirm.',
|
|
338
|
+
fields: [
|
|
339
|
+
{ id: 'key', label: 'Secret key', value: '', required: true, multiline: false, hint: 'Environment-style key, such as SLACK_BOT_TOKEN.' },
|
|
340
|
+
{ id: 'ref', label: 'Secret ref', value: '', required: true, multiline: false, hint: 'goodvibes://secrets/... reference from a supported provider.' },
|
|
341
|
+
{ id: 'scope', label: 'Scope', value: '', required: false, multiline: false, hint: 'project or user. Blank defaults to project.' },
|
|
342
|
+
{ id: 'storage', label: 'Storage', value: '', required: false, multiline: false, hint: 'secure or plaintext. Blank defaults to secure.' },
|
|
343
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to link the secret reference.' },
|
|
344
|
+
],
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
if (kind === 'secret-test') {
|
|
348
|
+
return {
|
|
349
|
+
kind,
|
|
350
|
+
mode: 'create',
|
|
351
|
+
title: 'Test Secret Reference',
|
|
352
|
+
selectedFieldIndex: 0,
|
|
353
|
+
message: 'Resolve one goodvibes://secrets/... reference and show only resolved/missing status. Type yes on the final field to confirm.',
|
|
354
|
+
fields: [
|
|
355
|
+
{ id: 'ref', label: 'Secret ref', value: '', required: true, multiline: false, hint: 'goodvibes://secrets/... reference to test without printing its value.' },
|
|
356
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to test the secret reference.' },
|
|
357
|
+
],
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
if (kind === 'secret-delete') {
|
|
361
|
+
return {
|
|
362
|
+
kind,
|
|
363
|
+
mode: 'delete',
|
|
364
|
+
title: 'Delete Stored Secret',
|
|
365
|
+
selectedFieldIndex: 0,
|
|
366
|
+
message: 'Delete one stored secret key from the selected scope/storage. Type yes on the final field to confirm.',
|
|
367
|
+
fields: [
|
|
368
|
+
{ id: 'key', label: 'Secret key', value: '', required: true, multiline: false, hint: 'Stored key to delete.' },
|
|
369
|
+
{ id: 'scope', label: 'Scope', value: '', required: false, multiline: false, hint: 'Optional project or user. Blank lets the command choose the matching stored key.' },
|
|
370
|
+
{ id: 'storage', label: 'Storage', value: '', required: false, multiline: false, hint: 'Optional secure or plaintext.' },
|
|
371
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to delete the stored secret key.' },
|
|
372
|
+
],
|
|
373
|
+
};
|
|
374
|
+
}
|
|
157
375
|
if (kind === 'tts-prompt') {
|
|
158
376
|
return {
|
|
159
377
|
kind,
|
|
@@ -179,6 +397,28 @@ export function createAgentWorkspaceBasicCommandEditor(kind: AgentWorkspaceBasic
|
|
|
179
397
|
],
|
|
180
398
|
};
|
|
181
399
|
}
|
|
400
|
+
if (kind === 'model-pin' || kind === 'model-unpin') {
|
|
401
|
+
const pinning = kind === 'model-pin';
|
|
402
|
+
return {
|
|
403
|
+
kind,
|
|
404
|
+
mode: 'create',
|
|
405
|
+
title: pinning ? 'Pin Model' : 'Unpin Model',
|
|
406
|
+
selectedFieldIndex: 0,
|
|
407
|
+
message: pinning
|
|
408
|
+
? 'Pin one model registry key so it is easy to reuse from the Agent TUI.'
|
|
409
|
+
: 'Remove one pinned model registry key from the Agent model favorites.',
|
|
410
|
+
fields: [
|
|
411
|
+
{
|
|
412
|
+
id: 'model',
|
|
413
|
+
label: 'Model registry key',
|
|
414
|
+
value: '',
|
|
415
|
+
required: true,
|
|
416
|
+
multiline: false,
|
|
417
|
+
hint: 'Use a registry key shown by the model picker, such as openai:gpt-5.5.',
|
|
418
|
+
},
|
|
419
|
+
],
|
|
420
|
+
};
|
|
421
|
+
}
|
|
182
422
|
if (kind === 'profile-template-export') {
|
|
183
423
|
return {
|
|
184
424
|
kind,
|
|
@@ -206,6 +446,30 @@ export function createAgentWorkspaceBasicCommandEditor(kind: AgentWorkspaceBasic
|
|
|
206
446
|
],
|
|
207
447
|
};
|
|
208
448
|
}
|
|
449
|
+
if (kind === 'profile-template-show') {
|
|
450
|
+
return {
|
|
451
|
+
kind,
|
|
452
|
+
mode: 'create',
|
|
453
|
+
title: 'Preview Agent Starter Template',
|
|
454
|
+
selectedFieldIndex: 0,
|
|
455
|
+
message: 'Preview one built-in or local starter template before creating or exporting a profile.',
|
|
456
|
+
fields: [
|
|
457
|
+
{ id: 'id', label: 'Starter id', value: '', required: true, multiline: false, hint: 'Starter template id from /agent-profile templates.' },
|
|
458
|
+
],
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
if (kind === 'profile-show') {
|
|
462
|
+
return {
|
|
463
|
+
kind,
|
|
464
|
+
mode: 'create',
|
|
465
|
+
title: 'Show Agent Profile',
|
|
466
|
+
selectedFieldIndex: 0,
|
|
467
|
+
message: 'Show one isolated Agent profile home, starter metadata, and launch command.',
|
|
468
|
+
fields: [
|
|
469
|
+
{ id: 'profile', label: 'Profile name', value: '', required: true, multiline: false, hint: 'Existing isolated Agent profile name from /agent-profile list.' },
|
|
470
|
+
],
|
|
471
|
+
};
|
|
472
|
+
}
|
|
209
473
|
if (kind === 'profile-template-from-discovered') {
|
|
210
474
|
return {
|
|
211
475
|
kind,
|
|
@@ -245,6 +509,215 @@ export function createAgentWorkspaceBasicCommandEditor(kind: AgentWorkspaceBasic
|
|
|
245
509
|
],
|
|
246
510
|
};
|
|
247
511
|
}
|
|
512
|
+
if (kind === 'profile-default') {
|
|
513
|
+
return {
|
|
514
|
+
kind,
|
|
515
|
+
mode: 'update',
|
|
516
|
+
title: 'Use Default Agent Profile',
|
|
517
|
+
selectedFieldIndex: 0,
|
|
518
|
+
message: 'Select which isolated Agent profile the next normal goodvibes-agent launch should use. Type yes on the final field to confirm.',
|
|
519
|
+
fields: [
|
|
520
|
+
{ id: 'profile', label: 'Profile name', value: '', required: true, multiline: false, hint: 'Existing isolated Agent profile name from /agent-profile list.' },
|
|
521
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /agent-profile use with --yes.' },
|
|
522
|
+
],
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
if (kind === 'profile-default-clear') {
|
|
526
|
+
return {
|
|
527
|
+
kind,
|
|
528
|
+
mode: 'update',
|
|
529
|
+
title: 'Clear Default Agent Profile',
|
|
530
|
+
selectedFieldIndex: 0,
|
|
531
|
+
message: 'Return the next normal goodvibes-agent launch to the base Agent home. Type yes to confirm.',
|
|
532
|
+
fields: [
|
|
533
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /agent-profile default clear with --yes.' },
|
|
534
|
+
],
|
|
535
|
+
};
|
|
536
|
+
}
|
|
537
|
+
if (kind === 'profile-delete') {
|
|
538
|
+
return {
|
|
539
|
+
kind,
|
|
540
|
+
mode: 'delete',
|
|
541
|
+
title: 'Delete Agent Profile',
|
|
542
|
+
selectedFieldIndex: 0,
|
|
543
|
+
message: 'Delete one isolated Agent profile home. Type yes on the final field to confirm.',
|
|
544
|
+
fields: [
|
|
545
|
+
{ id: 'profile', label: 'Profile name', value: '', required: true, multiline: false, hint: 'Existing isolated Agent profile name from /agent-profile list.' },
|
|
546
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /agent-profile delete with --yes.' },
|
|
547
|
+
],
|
|
548
|
+
};
|
|
549
|
+
}
|
|
550
|
+
if (kind === 'support-bundle-export') {
|
|
551
|
+
return {
|
|
552
|
+
kind,
|
|
553
|
+
mode: 'create',
|
|
554
|
+
title: 'Export Agent Support Bundle',
|
|
555
|
+
selectedFieldIndex: 0,
|
|
556
|
+
message: 'Export a redacted Agent support bundle from this workspace. Type yes on the final field to confirm.',
|
|
557
|
+
fields: [
|
|
558
|
+
{ id: 'path', label: 'Output path', value: 'goodvibes-agent-bundle.json', required: true, multiline: false, hint: 'Workspace-relative JSON path to write.' },
|
|
559
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /bundle export with --yes.' },
|
|
560
|
+
],
|
|
561
|
+
};
|
|
562
|
+
}
|
|
563
|
+
if (kind === 'support-bundle-inspect') {
|
|
564
|
+
return {
|
|
565
|
+
kind,
|
|
566
|
+
mode: 'create',
|
|
567
|
+
title: 'Inspect Agent Support Bundle',
|
|
568
|
+
selectedFieldIndex: 0,
|
|
569
|
+
message: 'Inspect a redacted Agent support bundle before import or sharing.',
|
|
570
|
+
fields: [
|
|
571
|
+
{ id: 'path', label: 'Bundle path', value: 'goodvibes-agent-bundle.json', required: true, multiline: false, hint: 'Workspace-relative bundle JSON path.' },
|
|
572
|
+
],
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
if (kind === 'support-bundle-import') {
|
|
576
|
+
return {
|
|
577
|
+
kind,
|
|
578
|
+
mode: 'update',
|
|
579
|
+
title: 'Import Agent Support Bundle',
|
|
580
|
+
selectedFieldIndex: 0,
|
|
581
|
+
message: 'Import non-redacted config values from a reviewed Agent support bundle. Type yes on the final field to confirm.',
|
|
582
|
+
fields: [
|
|
583
|
+
{ id: 'path', label: 'Bundle path', value: 'goodvibes-agent-bundle.json', required: true, multiline: false, hint: 'Workspace-relative bundle JSON path to import.' },
|
|
584
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /bundle import with --yes.' },
|
|
585
|
+
],
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
if (kind === 'subscription-inspect') {
|
|
589
|
+
return {
|
|
590
|
+
kind,
|
|
591
|
+
mode: 'create',
|
|
592
|
+
title: 'Inspect Provider Subscription',
|
|
593
|
+
selectedFieldIndex: 0,
|
|
594
|
+
message: 'Inspect one provider subscription route without starting login or printing token values.',
|
|
595
|
+
fields: [
|
|
596
|
+
{ id: 'provider', label: 'Provider', value: 'openai', required: true, multiline: false, hint: 'Subscription provider id from /subscription providers.' },
|
|
597
|
+
],
|
|
598
|
+
};
|
|
599
|
+
}
|
|
600
|
+
if (kind === 'subscription-login-start') {
|
|
601
|
+
return {
|
|
602
|
+
kind,
|
|
603
|
+
mode: 'create',
|
|
604
|
+
title: 'Start Provider Subscription Login',
|
|
605
|
+
selectedFieldIndex: 0,
|
|
606
|
+
message: 'Start one provider subscription OAuth login. Type yes on the final field to confirm browser/pending-login side effects.',
|
|
607
|
+
fields: [
|
|
608
|
+
{ id: 'provider', label: 'Provider', value: 'openai', required: true, multiline: false, hint: 'Subscription provider id from /subscription providers.' },
|
|
609
|
+
{ id: 'openBrowser', label: 'Open browser', value: 'yes', required: false, multiline: false, hint: 'yes/no. Use no to print the authorization URL only.' },
|
|
610
|
+
{ id: 'manual', label: 'Manual callback', value: 'no', required: false, multiline: false, hint: 'yes/no. Use yes to avoid the local callback listener and finish manually.' },
|
|
611
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /subscription login <provider> start with --yes.' },
|
|
612
|
+
],
|
|
613
|
+
};
|
|
614
|
+
}
|
|
615
|
+
if (kind === 'subscription-login-finish') {
|
|
616
|
+
return {
|
|
617
|
+
kind,
|
|
618
|
+
mode: 'update',
|
|
619
|
+
title: 'Finish Provider Subscription Login',
|
|
620
|
+
selectedFieldIndex: 0,
|
|
621
|
+
message: 'Finish a pending provider subscription OAuth login from a code or redirected URL. Type yes on the final field to confirm token storage.',
|
|
622
|
+
fields: [
|
|
623
|
+
{ id: 'provider', label: 'Provider', value: 'openai', required: true, multiline: false, hint: 'Provider id used when starting login.' },
|
|
624
|
+
{ id: 'code', label: 'Code or redirect URL', value: '', required: true, multiline: false, hint: 'OAuth code or full redirect URL containing code=...' },
|
|
625
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /subscription login <provider> finish with --yes.' },
|
|
626
|
+
],
|
|
627
|
+
};
|
|
628
|
+
}
|
|
629
|
+
if (kind === 'subscription-logout') {
|
|
630
|
+
return {
|
|
631
|
+
kind,
|
|
632
|
+
mode: 'delete',
|
|
633
|
+
title: 'Logout Provider Subscription',
|
|
634
|
+
selectedFieldIndex: 0,
|
|
635
|
+
message: 'Remove one stored provider subscription session. Ambient API key resolution applies again if configured. Type yes to confirm.',
|
|
636
|
+
fields: [
|
|
637
|
+
{ id: 'provider', label: 'Provider', value: 'openai', required: true, multiline: false, hint: 'Stored subscription provider id.' },
|
|
638
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /subscription logout with --yes.' },
|
|
639
|
+
],
|
|
640
|
+
};
|
|
641
|
+
}
|
|
642
|
+
if (kind === 'delegate-task') {
|
|
643
|
+
return {
|
|
644
|
+
kind,
|
|
645
|
+
mode: 'create',
|
|
646
|
+
title: 'Delegate Build Work to GoodVibes TUI',
|
|
647
|
+
selectedFieldIndex: 0,
|
|
648
|
+
message: 'Send one explicit build/fix/review task to GoodVibes TUI/shared-session routes. Type yes on the final field to confirm.',
|
|
649
|
+
fields: [
|
|
650
|
+
{ id: 'task', label: 'Original task', value: '', required: true, multiline: true, hint: 'Paste the full original user ask. Ctrl-J inserts a new line.' },
|
|
651
|
+
{ id: 'wrfc', label: 'Request WRFC', value: '', required: false, multiline: false, hint: 'yes/no. Blank means no WRFC request.' },
|
|
652
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /delegate for this task.' },
|
|
653
|
+
],
|
|
654
|
+
};
|
|
655
|
+
}
|
|
656
|
+
if (kind === 'workplan-add') {
|
|
657
|
+
return {
|
|
658
|
+
kind,
|
|
659
|
+
mode: 'create',
|
|
660
|
+
title: 'Add Work Plan Item',
|
|
661
|
+
selectedFieldIndex: 0,
|
|
662
|
+
message: 'Create one visible work plan item from the Agent workspace.',
|
|
663
|
+
fields: [
|
|
664
|
+
{ id: 'title', label: 'Title', value: '', required: true, multiline: true, hint: 'Task title. Ctrl-J inserts a new line.' },
|
|
665
|
+
{ id: 'owner', label: 'Owner', value: '', required: false, multiline: false, hint: 'Optional owner label.' },
|
|
666
|
+
{ id: 'source', label: 'Source', value: '', required: false, multiline: false, hint: 'Optional source label. Blank defaults to manual.' },
|
|
667
|
+
{ id: 'notes', label: 'Notes', value: '', required: false, multiline: true, hint: 'Optional notes. Ctrl-J inserts a new line.' },
|
|
668
|
+
],
|
|
669
|
+
};
|
|
670
|
+
}
|
|
671
|
+
if (kind === 'workplan-show') {
|
|
672
|
+
return {
|
|
673
|
+
kind,
|
|
674
|
+
mode: 'create',
|
|
675
|
+
title: 'Show Work Plan Detail',
|
|
676
|
+
selectedFieldIndex: 0,
|
|
677
|
+
message: 'Print the detailed work plan from the Agent workspace without mutating work state.',
|
|
678
|
+
fields: [
|
|
679
|
+
{ id: 'format', label: 'Format', value: '', required: false, multiline: false, hint: 'Optional. Blank uses the default detail view; markdown also works.' },
|
|
680
|
+
],
|
|
681
|
+
};
|
|
682
|
+
}
|
|
683
|
+
if (kind === 'workplan-status') {
|
|
684
|
+
return {
|
|
685
|
+
kind,
|
|
686
|
+
mode: 'update',
|
|
687
|
+
title: 'Update Work Plan Status',
|
|
688
|
+
selectedFieldIndex: 0,
|
|
689
|
+
message: 'Update one visible work plan item status from the Agent workspace.',
|
|
690
|
+
fields: [
|
|
691
|
+
{ id: 'id', label: 'Work item id', value: '', required: true, multiline: false, hint: 'Existing work plan item id.' },
|
|
692
|
+
{ id: 'status', label: 'Status', value: '', required: true, multiline: false, hint: 'pending, start, blocked, done, failed, or cancelled.' },
|
|
693
|
+
],
|
|
694
|
+
};
|
|
695
|
+
}
|
|
696
|
+
if (kind === 'workplan-delete') {
|
|
697
|
+
return {
|
|
698
|
+
kind,
|
|
699
|
+
mode: 'delete',
|
|
700
|
+
title: 'Remove Work Plan Item',
|
|
701
|
+
selectedFieldIndex: 0,
|
|
702
|
+
message: 'Remove one work plan item. Type yes on the final field to confirm.',
|
|
703
|
+
fields: [
|
|
704
|
+
{ id: 'id', label: 'Work item id', value: '', required: true, multiline: false, hint: 'Existing work plan item id.' },
|
|
705
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /workplan remove with --yes.' },
|
|
706
|
+
],
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
if (kind === 'workplan-clear-completed') {
|
|
710
|
+
return {
|
|
711
|
+
kind,
|
|
712
|
+
mode: 'delete',
|
|
713
|
+
title: 'Clear Completed Work Plan Items',
|
|
714
|
+
selectedFieldIndex: 0,
|
|
715
|
+
message: 'Clear completed and cancelled work plan items. Type yes to confirm.',
|
|
716
|
+
fields: [
|
|
717
|
+
{ id: 'confirm', label: 'Confirm', value: '', required: true, multiline: false, hint: 'Type yes to run /workplan clear-completed with --yes.' },
|
|
718
|
+
],
|
|
719
|
+
};
|
|
720
|
+
}
|
|
248
721
|
if (kind === 'skill-discovery-import') {
|
|
249
722
|
return {
|
|
250
723
|
kind,
|