@pellux/goodvibes-agent 1.1.7 → 1.2.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 +170 -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 +132577 -91483
- 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 +56 -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 +114 -45
- package/docs/voice-and-live-tts.md +3 -1
- package/package.json +3 -2
- package/release/release-notes.md +130 -5
- package/release/release-readiness.json +120 -90
- 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 +296 -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-checkpoint.ts +140 -0
- package/src/agent/setup-wizard.ts +447 -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 +262 -30
- package/src/input/agent-workspace-setup-checkpoint-action.ts +127 -0
- package/src/input/agent-workspace-setup-snapshot.ts +198 -0
- package/src/input/agent-workspace-setup.ts +34 -1
- package/src/input/agent-workspace-snapshot.ts +162 -147
- package/src/input/agent-workspace-types.ts +287 -2
- package/src/input/agent-workspace.ts +18 -0
- 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/main.ts +15 -15
- package/src/panels/qr-panel.ts +2 -2
- package/src/renderer/agent-workspace-context-lines.ts +686 -0
- package/src/renderer/agent-workspace.ts +30 -419
- 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.ts +703 -0
- package/src/tools/agent-harness-autonomy-intake.ts +785 -0
- package/src/tools/agent-harness-autonomy-live-records.ts +588 -0
- package/src/tools/agent-harness-autonomy-queue-types.ts +88 -0
- package/src/tools/agent-harness-autonomy-queue.ts +560 -0
- package/src/tools/agent-harness-background-processes-types.ts +35 -0
- package/src/tools/agent-harness-background-processes.ts +794 -0
- package/src/tools/agent-harness-browser-cockpit-route.ts +219 -0
- package/src/tools/agent-harness-browser-control.ts +338 -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-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 +382 -0
- package/src/tools/agent-harness-file-recovery.ts +135 -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 +199 -0
- package/src/tools/agent-harness-local-model-cookbook.ts +238 -0
- package/src/tools/agent-harness-local-model-endpoints.ts +673 -0
- package/src/tools/agent-harness-media-posture.ts +208 -2
- package/src/tools/agent-harness-memory-posture.ts +556 -0
- package/src/tools/agent-harness-metadata.ts +100 -168
- package/src/tools/agent-harness-mode-catalog.ts +84 -33
- package/src/tools/agent-harness-model-catalog.ts +162 -0
- package/src/tools/agent-harness-model-provider-health.ts +186 -0
- package/src/tools/agent-harness-model-readiness.ts +406 -0
- package/src/tools/agent-harness-model-routing-types.ts +266 -0
- package/src/tools/agent-harness-model-routing-utils.ts +30 -0
- package/src/tools/agent-harness-model-routing.ts +137 -190
- package/src/tools/agent-harness-operator-methods.ts +115 -133
- package/src/tools/agent-harness-pairing-posture.ts +431 -18
- 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 +204 -0
- package/src/tools/agent-harness-personal-ops-records.ts +732 -0
- package/src/tools/agent-harness-personal-ops-runner.ts +637 -0
- package/src/tools/agent-harness-personal-ops-types.ts +222 -0
- package/src/tools/agent-harness-personal-ops.ts +606 -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-research-briefing.ts +427 -0
- package/src/tools/agent-harness-research-queue.ts +250 -0
- package/src/tools/agent-harness-research-runs.ts +295 -0
- package/src/tools/agent-harness-research-workflow.ts +322 -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 +101 -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 +508 -0
- package/src/tools/agent-harness-sudo-posture.ts +114 -0
- package/src/tools/agent-harness-tool-schema.ts +120 -7
- package/src/tools/agent-harness-tool-types.ts +78 -0
- package/src/tools/agent-harness-tool-utils.ts +43 -0
- package/src/tools/agent-harness-tool.ts +311 -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 +214 -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 +722 -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-runs-tool.ts +434 -0
- package/src/tools/agent-research-sources-tool.ts +443 -0
- package/src/tools/agent-research-tool.ts +687 -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
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { basename, sep } from 'node:path';
|
|
2
2
|
import { listAvailableSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config';
|
|
3
|
+
import type { ArtifactDescriptor } from '@pellux/goodvibes-sdk/platform/artifacts';
|
|
3
4
|
import type { MemoryRecord } from '@pellux/goodvibes-sdk/platform/state';
|
|
4
5
|
import type { CommandContext } from './command-registry.ts';
|
|
5
6
|
import { AgentNoteRegistry, type AgentNoteRecord } from '../agent/note-registry.ts';
|
|
7
|
+
import { AgentDocumentRegistry, type AgentDocumentRecord } from '../agent/document-registry.ts';
|
|
6
8
|
import { AgentPersonaRegistry, type AgentPersonaRecord } from '../agent/persona-registry.ts';
|
|
7
9
|
import { formatAgentRecordOrigin } from '../agent/record-labels.ts';
|
|
8
10
|
import { AgentRoutineRegistry, evaluateAgentRoutineReadiness, type AgentRoutineRecord } from '../agent/routine-registry.ts';
|
|
11
|
+
import { AgentResearchRunRegistry, researchRunLogTail } from '../agent/research-run-registry.ts';
|
|
12
|
+
import { AgentResearchSourceRegistry } from '../agent/research-source-registry.ts';
|
|
9
13
|
import {
|
|
10
14
|
AgentSkillRegistry,
|
|
11
15
|
evaluateAgentSkillBundleReadiness,
|
|
@@ -16,21 +20,40 @@ import {
|
|
|
16
20
|
} from '../agent/skill-registry.ts';
|
|
17
21
|
import { summarizeAgentBehaviorDiscovery } from '../agent/behavior-discovery-summary.ts';
|
|
18
22
|
import { isPromptActiveMemory } from '../agent/memory-prompt.ts';
|
|
23
|
+
import type { PromptContextReceipt } from '../agent/prompt-context-receipts.ts';
|
|
24
|
+
import { discoverProjectContextFiles } from '../agent/project-context-files.ts';
|
|
19
25
|
import { getAgentRuntimeProfilesRoot, listAgentRuntimeProfiles, listAgentRuntimeProfileTemplates, readAgentRuntimeProfileSelection } from '../agent/runtime-profile.ts';
|
|
20
26
|
import { RoutineScheduleReceiptStore } from '../agent/routine-schedule-receipts.ts';
|
|
27
|
+
import { readSetupWizardCheckpoint } from '../agent/setup-wizard-checkpoint.ts';
|
|
28
|
+
import { discoverVibeFiles } from '../agent/vibe-file.ts';
|
|
29
|
+
import {
|
|
30
|
+
DEFAULT_AGENT_SETUP_WIZARD_CLEAR_CHECKPOINT_ROUTE,
|
|
31
|
+
DEFAULT_AGENT_SETUP_WIZARD_INSPECT_CHECKPOINT_ROUTE,
|
|
32
|
+
DEFAULT_AGENT_SETUP_WIZARD_MARK_CHECKPOINT_ROUTE,
|
|
33
|
+
DEFAULT_AGENT_SETUP_WIZARD_RERUN_SMOKE_ROUTE,
|
|
34
|
+
DEFAULT_AGENT_SETUP_WIZARD_SAVE_SMOKE_ROUTE,
|
|
35
|
+
buildAgentSetupWizard,
|
|
36
|
+
emptyAgentSetupSmokeHistory,
|
|
37
|
+
emptyAgentSetupWizardCheckpoint,
|
|
38
|
+
type AgentSetupWizard,
|
|
39
|
+
type AgentSetupWizardBlockedCheckFrequency,
|
|
40
|
+
type AgentSetupWizardCheckpoint,
|
|
41
|
+
type AgentSetupWizardSmokeHistory,
|
|
42
|
+
type AgentSetupWizardSourceItem,
|
|
43
|
+
} from '../agent/setup-wizard.ts';
|
|
21
44
|
import { GOODVIBES_AGENT_PAIRING_SURFACE } from '../config/surface.ts';
|
|
22
45
|
import { connectedHostOperatorTokenFingerprint, readConnectedHostOperatorToken, type ConnectedHostOperatorToken } from '../runtime/connected-host-auth.ts';
|
|
23
|
-
import { buildAgentWorkspaceChannels } from './agent-workspace-channels.ts';
|
|
46
|
+
import { buildAgentWorkspaceChannelSetupGuide, buildAgentWorkspaceChannels } from './agent-workspace-channels.ts';
|
|
24
47
|
import { getAgentWorkspaceConfigReader } from './agent-workspace-config-reader.ts';
|
|
25
|
-
import { buildAgentWorkspaceSetupChecklist } from './agent-workspace-setup.ts';
|
|
48
|
+
import { buildAgentWorkspaceSetupChecklist, type AgentWorkspaceSetupChecklistItem } from './agent-workspace-setup.ts';
|
|
26
49
|
import { buildAgentWorkspaceVoiceMediaReadiness, type AgentWorkspaceVoiceMediaProviderDescriptor } from './agent-workspace-voice-media.ts';
|
|
27
|
-
import
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
} from './agent-workspace-types.ts';
|
|
50
|
+
import { buildProcessSupervisionSummary, buildProjectContextSummary, buildPromptContextReceiptTimeline, buildResearchBrowserRunnerContract, buildResearchVisualReportContract, buildVibeSummary } from './agent-workspace-context-snapshot.ts';
|
|
51
|
+
import { summarizeMemoryItem, summarizeNoteItem, summarizePersonaItem, summarizeResearchRunItem, summarizeRoutineItem, summarizeRoutineScheduleReceipt, summarizeRuntimeProfile, summarizeSkillBundleItem, summarizeSkillItem, summarizeStarterTemplate } from './agent-workspace-local-library-snapshot.ts';
|
|
52
|
+
import { buildReviewPacketDefaults, buildReviewPacketTimeline, buildReviewPacketWizard, readDocumentDrafts, reviewerReadinessBadge } from './agent-workspace-review-packet-snapshot.ts';
|
|
53
|
+
import { isReviewerHandoffArtifact, summarizeReviewerHandoffArtifact } from './agent-workspace-review-packet-utils.ts';
|
|
54
|
+
import { buildSetupSmokeHistory, buildSetupWizardCheckpoint, buildWorkspaceSetupWizard, setupCompletionMarkerExists } from './agent-workspace-setup-snapshot.ts';
|
|
55
|
+
import { readOnboardingCompletionMarker } from '../runtime/onboarding/index.ts';
|
|
56
|
+
import type { AgentWorkspaceRuntimeSnapshot } from './agent-workspace-types.ts';
|
|
34
57
|
|
|
35
58
|
function readConfigString(context: CommandContext, key: string, fallback: string): string {
|
|
36
59
|
try {
|
|
@@ -80,144 +103,6 @@ function inferRuntimeProfileBaseHome(homeDirectory: string): string {
|
|
|
80
103
|
return markerIndex >= 0 ? homeDirectory.slice(0, markerIndex) : homeDirectory;
|
|
81
104
|
}
|
|
82
105
|
|
|
83
|
-
function summarizePersonaItem(persona: AgentPersonaRecord, activePersonaId: string | null): AgentWorkspaceLocalLibraryItem {
|
|
84
|
-
return {
|
|
85
|
-
id: persona.id,
|
|
86
|
-
name: persona.name,
|
|
87
|
-
description: persona.description,
|
|
88
|
-
reviewState: persona.reviewState,
|
|
89
|
-
source: formatAgentRecordOrigin(persona.source, persona.provenance),
|
|
90
|
-
tags: persona.tags,
|
|
91
|
-
triggers: persona.triggers,
|
|
92
|
-
active: persona.id === activePersonaId,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
function summarizeSkillItem(skill: AgentSkillRecord): AgentWorkspaceLocalLibraryItem {
|
|
97
|
-
const readiness = evaluateAgentSkillReadiness(skill);
|
|
98
|
-
return {
|
|
99
|
-
id: skill.id,
|
|
100
|
-
name: skill.name,
|
|
101
|
-
description: skill.description,
|
|
102
|
-
reviewState: skill.reviewState,
|
|
103
|
-
source: formatAgentRecordOrigin(skill.source, skill.provenance),
|
|
104
|
-
tags: skill.tags,
|
|
105
|
-
triggers: skill.triggers,
|
|
106
|
-
enabled: skill.enabled,
|
|
107
|
-
requirementCount: skill.requirements.length,
|
|
108
|
-
missingRequirementCount: readiness.missing.length,
|
|
109
|
-
missingRequirements: readiness.missing.map(formatAgentSkillRequirement),
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function summarizeSkillBundleItem(bundle: AgentSkillBundleRecord, skills: readonly AgentSkillRecord[]): AgentWorkspaceLocalLibraryItem {
|
|
114
|
-
const readiness = evaluateAgentSkillBundleReadiness(bundle, skills);
|
|
115
|
-
const missing = [
|
|
116
|
-
...readiness.missingRequirements.map(formatAgentSkillRequirement),
|
|
117
|
-
...readiness.missingSkillIds.map((skillId) => `skill:${skillId}`),
|
|
118
|
-
];
|
|
119
|
-
return {
|
|
120
|
-
id: bundle.id,
|
|
121
|
-
name: bundle.name,
|
|
122
|
-
description: `${bundle.description} Skills: ${bundle.skillIds.join(', ')}`,
|
|
123
|
-
reviewState: bundle.reviewState,
|
|
124
|
-
source: formatAgentRecordOrigin(bundle.source, bundle.provenance),
|
|
125
|
-
tags: bundle.skillIds,
|
|
126
|
-
triggers: [],
|
|
127
|
-
enabled: bundle.enabled,
|
|
128
|
-
requirementCount: readiness.includedSkills.reduce((total, skill) => total + skill.requirements.length, 0) + readiness.missingSkillIds.length,
|
|
129
|
-
missingRequirementCount: missing.length,
|
|
130
|
-
missingRequirements: missing,
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
function summarizeRoutineItem(routine: AgentRoutineRecord): AgentWorkspaceLocalLibraryItem {
|
|
135
|
-
const readiness = evaluateAgentRoutineReadiness(routine);
|
|
136
|
-
return {
|
|
137
|
-
id: routine.id,
|
|
138
|
-
name: routine.name,
|
|
139
|
-
description: routine.description,
|
|
140
|
-
reviewState: routine.reviewState,
|
|
141
|
-
source: formatAgentRecordOrigin(routine.source, routine.provenance),
|
|
142
|
-
tags: routine.tags,
|
|
143
|
-
triggers: routine.triggers,
|
|
144
|
-
enabled: routine.enabled,
|
|
145
|
-
requirementCount: routine.requirements.length,
|
|
146
|
-
missingRequirementCount: readiness.missing.length,
|
|
147
|
-
missingRequirements: readiness.missing.map(formatAgentSkillRequirement),
|
|
148
|
-
startCount: routine.startCount,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
function summarizeRoutineScheduleReceipt(
|
|
153
|
-
receipt: ReturnType<RoutineScheduleReceiptStore['snapshot']>['receipts'][number],
|
|
154
|
-
): AgentWorkspaceRoutineScheduleReceiptSummary {
|
|
155
|
-
return {
|
|
156
|
-
id: receipt.id,
|
|
157
|
-
status: receipt.status,
|
|
158
|
-
routineId: receipt.routineId,
|
|
159
|
-
routineName: receipt.routineName,
|
|
160
|
-
scheduleName: receipt.scheduleName,
|
|
161
|
-
scheduleKind: receipt.scheduleKind,
|
|
162
|
-
scheduleValue: receipt.scheduleValue,
|
|
163
|
-
createdAt: receipt.createdAt,
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
function summarizeMemoryItem(record: MemoryRecord): AgentWorkspaceLocalLibraryItem {
|
|
168
|
-
const detail = record.detail?.trim();
|
|
169
|
-
return {
|
|
170
|
-
id: record.id,
|
|
171
|
-
name: record.summary,
|
|
172
|
-
description: detail && detail.length > 0 ? detail : `${record.scope}/${record.cls}`,
|
|
173
|
-
reviewState: record.reviewState,
|
|
174
|
-
source: 'Agent memory',
|
|
175
|
-
tags: record.tags,
|
|
176
|
-
triggers: [],
|
|
177
|
-
scope: record.scope,
|
|
178
|
-
cls: record.cls,
|
|
179
|
-
confidence: record.confidence,
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
function summarizeNoteItem(note: AgentNoteRecord): AgentWorkspaceLocalLibraryItem {
|
|
184
|
-
const preview = note.body.replace(/\s+/g, ' ').trim();
|
|
185
|
-
const description = note.sourceUrl
|
|
186
|
-
? `${preview.slice(0, 160)}${preview.length > 160 ? '...' : ''} Origin URL ${note.sourceUrl}`
|
|
187
|
-
: preview;
|
|
188
|
-
return {
|
|
189
|
-
id: note.id,
|
|
190
|
-
name: note.title,
|
|
191
|
-
description,
|
|
192
|
-
reviewState: note.reviewState,
|
|
193
|
-
source: formatAgentRecordOrigin(note.source, note.provenance),
|
|
194
|
-
tags: note.tags,
|
|
195
|
-
triggers: [],
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
function summarizeRuntimeProfile(profile: ReturnType<typeof listAgentRuntimeProfiles>[number]): AgentWorkspaceRuntimeProfileItem {
|
|
200
|
-
return {
|
|
201
|
-
id: profile.id,
|
|
202
|
-
homeDirectory: profile.homeDirectory,
|
|
203
|
-
createdAt: profile.createdAt,
|
|
204
|
-
starterTemplateId: profile.starterTemplateId,
|
|
205
|
-
starterTemplateName: profile.starterTemplateName,
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
function summarizeStarterTemplate(template: ReturnType<typeof listAgentRuntimeProfileTemplates>[number]): AgentWorkspaceRuntimeStarterTemplateItem {
|
|
210
|
-
return {
|
|
211
|
-
id: template.id,
|
|
212
|
-
name: template.name,
|
|
213
|
-
description: template.description,
|
|
214
|
-
personaName: template.personaName,
|
|
215
|
-
skillNames: template.skillNames,
|
|
216
|
-
routineNames: template.routineNames,
|
|
217
|
-
source: template.source,
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
|
|
221
106
|
export function buildAgentWorkspaceRuntimeSnapshot(context: CommandContext): AgentWorkspaceRuntimeSnapshot {
|
|
222
107
|
const host = readConfigString(context, 'controlPlane.host', '127.0.0.1');
|
|
223
108
|
const port = readConfigNumber(context, 'controlPlane.port', 3421);
|
|
@@ -327,6 +212,93 @@ export function buildAgentWorkspaceRuntimeSnapshot(context: CommandContext): Age
|
|
|
327
212
|
return { count: 0, successful: 0, failed: 0, latest: null };
|
|
328
213
|
}
|
|
329
214
|
})();
|
|
215
|
+
const researchSourceSnapshot = (() => {
|
|
216
|
+
try {
|
|
217
|
+
const shellPaths = context.workspace?.shellPaths;
|
|
218
|
+
if (!shellPaths) return { count: 0, candidate: 0, reviewed: 0, rejected: 0, used: 0 };
|
|
219
|
+
const snapshot = AgentResearchSourceRegistry.fromShellPaths(shellPaths).snapshot();
|
|
220
|
+
return {
|
|
221
|
+
count: snapshot.sources.length,
|
|
222
|
+
candidate: snapshot.candidates.length,
|
|
223
|
+
reviewed: snapshot.reviewed.length,
|
|
224
|
+
rejected: snapshot.rejected.length,
|
|
225
|
+
used: snapshot.used.length,
|
|
226
|
+
};
|
|
227
|
+
} catch {
|
|
228
|
+
return { count: 0, candidate: 0, reviewed: 0, rejected: 0, used: 0 };
|
|
229
|
+
}
|
|
230
|
+
})();
|
|
231
|
+
const researchRunSnapshot = (() => {
|
|
232
|
+
try {
|
|
233
|
+
const shellPaths = context.workspace?.shellPaths;
|
|
234
|
+
if (!shellPaths) return { count: 0, planned: 0, running: 0, paused: 0, blocked: 0, terminal: 0, items: [] };
|
|
235
|
+
const snapshot = AgentResearchRunRegistry.fromShellPaths(shellPaths).snapshot();
|
|
236
|
+
const actionable = [
|
|
237
|
+
...snapshot.blocked,
|
|
238
|
+
...snapshot.running,
|
|
239
|
+
...snapshot.paused,
|
|
240
|
+
...snapshot.planned,
|
|
241
|
+
...snapshot.failed,
|
|
242
|
+
...snapshot.completed,
|
|
243
|
+
...snapshot.cancelled,
|
|
244
|
+
];
|
|
245
|
+
return {
|
|
246
|
+
count: snapshot.runs.length,
|
|
247
|
+
planned: snapshot.planned.length,
|
|
248
|
+
running: snapshot.running.length,
|
|
249
|
+
paused: snapshot.paused.length,
|
|
250
|
+
blocked: snapshot.blocked.length,
|
|
251
|
+
terminal: snapshot.cancelled.length + snapshot.completed.length + snapshot.failed.length,
|
|
252
|
+
items: actionable.slice(0, 8).map(summarizeResearchRunItem),
|
|
253
|
+
};
|
|
254
|
+
} catch {
|
|
255
|
+
return { count: 0, planned: 0, running: 0, paused: 0, blocked: 0, terminal: 0, items: [] };
|
|
256
|
+
}
|
|
257
|
+
})();
|
|
258
|
+
const artifactListSnapshot = (() => {
|
|
259
|
+
try {
|
|
260
|
+
const list = context.platform?.artifactStore?.list;
|
|
261
|
+
return {
|
|
262
|
+
available: Boolean(list),
|
|
263
|
+
items: [...(list?.(100) ?? [])],
|
|
264
|
+
};
|
|
265
|
+
} catch {
|
|
266
|
+
return { available: false, items: [] };
|
|
267
|
+
}
|
|
268
|
+
})();
|
|
269
|
+
const recentReviewerHandoffs = (() => {
|
|
270
|
+
try {
|
|
271
|
+
const handoffs = artifactListSnapshot.items
|
|
272
|
+
.filter(isReviewerHandoffArtifact)
|
|
273
|
+
.sort((left, right) => right.createdAt - left.createdAt);
|
|
274
|
+
return {
|
|
275
|
+
count: handoffs.length,
|
|
276
|
+
items: handoffs.slice(0, 6).map(summarizeReviewerHandoffArtifact),
|
|
277
|
+
};
|
|
278
|
+
} catch {
|
|
279
|
+
return { count: 0, items: [] };
|
|
280
|
+
}
|
|
281
|
+
})();
|
|
282
|
+
const documentDrafts = readDocumentDrafts(context);
|
|
283
|
+
const reviewerBadge = reviewerReadinessBadge(
|
|
284
|
+
documentDrafts,
|
|
285
|
+
artifactListSnapshot.items,
|
|
286
|
+
artifactListSnapshot.available,
|
|
287
|
+
);
|
|
288
|
+
const reviewPacketTimeline = buildReviewPacketTimeline(
|
|
289
|
+
documentDrafts,
|
|
290
|
+
artifactListSnapshot.items,
|
|
291
|
+
artifactListSnapshot.available,
|
|
292
|
+
);
|
|
293
|
+
const reviewPacketDefaults = buildReviewPacketDefaults(
|
|
294
|
+
documentDrafts,
|
|
295
|
+
artifactListSnapshot.items,
|
|
296
|
+
);
|
|
297
|
+
const reviewPacketWizard = buildReviewPacketWizard(
|
|
298
|
+
documentDrafts,
|
|
299
|
+
artifactListSnapshot.available,
|
|
300
|
+
reviewPacketDefaults,
|
|
301
|
+
);
|
|
330
302
|
const discoveredBehavior = summarizeAgentBehaviorDiscovery(context.workspace?.shellPaths);
|
|
331
303
|
const profileBaseHome = inferRuntimeProfileBaseHome(context.workspace?.shellPaths?.homeDirectory ?? '');
|
|
332
304
|
const runtimeProfiles = (() => {
|
|
@@ -474,6 +446,7 @@ export function buildAgentWorkspaceRuntimeSnapshot(context: CommandContext): Age
|
|
|
474
446
|
}
|
|
475
447
|
})();
|
|
476
448
|
const channels = buildAgentWorkspaceChannels(context);
|
|
449
|
+
const channelSetupGuide = buildAgentWorkspaceChannelSetupGuide(channels);
|
|
477
450
|
const voiceMediaReadiness = buildAgentWorkspaceVoiceMediaReadiness({
|
|
478
451
|
context,
|
|
479
452
|
voiceProviders: voiceProviderDescriptors,
|
|
@@ -483,6 +456,10 @@ export function buildAgentWorkspaceRuntimeSnapshot(context: CommandContext): Age
|
|
|
483
456
|
provider,
|
|
484
457
|
model,
|
|
485
458
|
runtimeBaseUrl,
|
|
459
|
+
connectedHostTokenPresent: companionAccess.tokenPresent,
|
|
460
|
+
connectedHostTokenReadable: companionAccess.tokenReadable,
|
|
461
|
+
connectedHostTokenPath: companionAccess.tokenPath,
|
|
462
|
+
connectedHostTokenError: companionAccess.tokenError,
|
|
486
463
|
activeSubscriptionCount: subscriptionSnapshot.active,
|
|
487
464
|
pendingSubscriptionCount: subscriptionSnapshot.pending,
|
|
488
465
|
availableSubscriptionProviderCount: subscriptionSnapshot.available,
|
|
@@ -509,6 +486,18 @@ export function buildAgentWorkspaceRuntimeSnapshot(context: CommandContext): Age
|
|
|
509
486
|
runtimeProfileCount: runtimeProfiles.length,
|
|
510
487
|
runtimeStarterTemplateCount: runtimeStarterTemplates.length,
|
|
511
488
|
});
|
|
489
|
+
const setupWizard = buildWorkspaceSetupWizard(
|
|
490
|
+
setupChecklist,
|
|
491
|
+
buildSetupSmokeHistory(artifactListSnapshot.items, artifactListSnapshot.available),
|
|
492
|
+
buildSetupWizardCheckpoint(context),
|
|
493
|
+
setupCompletionMarkerExists(context),
|
|
494
|
+
);
|
|
495
|
+
const researchBrowserRunnerContract = buildResearchBrowserRunnerContract(context);
|
|
496
|
+
const researchVisualReportContract = buildResearchVisualReportContract(researchSourceSnapshot);
|
|
497
|
+
const vibe = buildVibeSummary(context);
|
|
498
|
+
const projectContext = buildProjectContextSummary(context);
|
|
499
|
+
const promptContextReceipts = buildPromptContextReceiptTimeline(context);
|
|
500
|
+
const processSupervision = buildProcessSupervisionSummary(context);
|
|
512
501
|
|
|
513
502
|
return {
|
|
514
503
|
provider,
|
|
@@ -565,6 +554,30 @@ export function buildAgentWorkspaceRuntimeSnapshot(context: CommandContext): Age
|
|
|
565
554
|
localNoteCount: noteSnapshot.count,
|
|
566
555
|
localNoteReviewQueueCount: noteSnapshot.reviewQueueCount,
|
|
567
556
|
localNotes: noteSnapshot.items,
|
|
557
|
+
researchSourceCount: researchSourceSnapshot.count,
|
|
558
|
+
researchSourceCandidateCount: researchSourceSnapshot.candidate,
|
|
559
|
+
researchSourceReviewedCount: researchSourceSnapshot.reviewed,
|
|
560
|
+
researchSourceRejectedCount: researchSourceSnapshot.rejected,
|
|
561
|
+
researchSourceUsedCount: researchSourceSnapshot.used,
|
|
562
|
+
researchRunCount: researchRunSnapshot.count,
|
|
563
|
+
researchRunPlannedCount: researchRunSnapshot.planned,
|
|
564
|
+
researchRunRunningCount: researchRunSnapshot.running,
|
|
565
|
+
researchRunPausedCount: researchRunSnapshot.paused,
|
|
566
|
+
researchRunBlockedCount: researchRunSnapshot.blocked,
|
|
567
|
+
researchRunTerminalCount: researchRunSnapshot.terminal,
|
|
568
|
+
researchRuns: researchRunSnapshot.items,
|
|
569
|
+
researchBrowserRunnerContract,
|
|
570
|
+
researchVisualReportContract,
|
|
571
|
+
vibe,
|
|
572
|
+
projectContext,
|
|
573
|
+
promptContextReceipts,
|
|
574
|
+
processSupervision,
|
|
575
|
+
recentReviewerHandoffArtifactCount: recentReviewerHandoffs.count,
|
|
576
|
+
recentReviewerHandoffArtifacts: recentReviewerHandoffs.items,
|
|
577
|
+
reviewerReadinessBadge: reviewerBadge,
|
|
578
|
+
reviewPacketTimeline,
|
|
579
|
+
reviewPacketDefaults,
|
|
580
|
+
reviewPacketWizard,
|
|
568
581
|
localRoutineCount: routineSnapshot.count,
|
|
569
582
|
enabledRoutineCount: routineSnapshot.enabled,
|
|
570
583
|
localRoutines: routineSnapshot.items,
|
|
@@ -589,6 +602,7 @@ export function buildAgentWorkspaceRuntimeSnapshot(context: CommandContext): Age
|
|
|
589
602
|
delegatedReviewPolicy: 'explicit-build-delegation-only',
|
|
590
603
|
companionAccess,
|
|
591
604
|
channels,
|
|
605
|
+
channelSetupGuide,
|
|
592
606
|
voiceProviderCount: voiceProviders.length,
|
|
593
607
|
voiceStreamingProviderCount: voiceProviders.filter((entry) => entry.capabilities.includes('tts-stream')).length,
|
|
594
608
|
voiceSttProviderCount: voiceProviders.filter((entry) => entry.capabilities.includes('stt')).length,
|
|
@@ -618,6 +632,7 @@ export function buildAgentWorkspaceRuntimeSnapshot(context: CommandContext): Age
|
|
|
618
632
|
localStarterTemplateCount: runtimeStarterTemplates.filter((template) => template.source === 'local').length,
|
|
619
633
|
runtimeStarterTemplates: runtimeStarterTemplates.map(summarizeStarterTemplate),
|
|
620
634
|
setupChecklist,
|
|
635
|
+
setupWizard,
|
|
621
636
|
warnings,
|
|
622
637
|
};
|
|
623
638
|
}
|