@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.
Files changed (274) hide show
  1. package/CHANGELOG.md +329 -0
  2. package/README.md +46 -30
  3. package/dist/package/{ast-grep-napi.linux-x64-gnu-mkk8xwww.node → ast-grep-napi.linux-x64-gnu-swtppvy9.node} +0 -0
  4. package/dist/package/{ast-grep-napi.linux-x64-musl-ryqtgdv6.node → ast-grep-napi.linux-x64-musl-ttfcdtap.node} +0 -0
  5. package/dist/package/main.js +138903 -91477
  6. package/docs/README.md +14 -7
  7. package/docs/channels-remote-and-api.md +8 -5
  8. package/docs/connected-host.md +14 -12
  9. package/docs/getting-started.md +58 -30
  10. package/docs/knowledge-artifacts-and-multimodal.md +7 -5
  11. package/docs/project-planning.md +2 -2
  12. package/docs/providers-and-routing.md +11 -3
  13. package/docs/tools-and-commands.md +116 -45
  14. package/docs/voice-and-live-tts.md +3 -1
  15. package/package.json +3 -2
  16. package/release/release-notes.md +142 -5
  17. package/release/release-readiness.json +124 -94
  18. package/src/agent/assistant-cockpit.ts +247 -0
  19. package/src/agent/autonomy-schedule-format.ts +96 -0
  20. package/src/agent/autonomy-schedule.ts +514 -0
  21. package/src/agent/channel-delivery-receipts.ts +292 -0
  22. package/src/agent/competitive-feature-inventory.ts +294 -0
  23. package/src/agent/document-registry-types.ts +106 -0
  24. package/src/agent/document-registry.ts +734 -0
  25. package/src/agent/harness-control.ts +2 -2
  26. package/src/agent/memory-prompt.ts +2 -2
  27. package/src/agent/operator-actions.ts +50 -6
  28. package/src/agent/persona-registry.ts +8 -0
  29. package/src/agent/project-context-files.ts +273 -0
  30. package/src/agent/prompt-context-receipts.ts +502 -0
  31. package/src/agent/reminder-schedule-format.ts +16 -2
  32. package/src/agent/research-run-registry.ts +582 -0
  33. package/src/agent/research-source-registry.ts +441 -0
  34. package/src/agent/routine-registry.ts +19 -3
  35. package/src/agent/routine-schedule-format.ts +27 -2
  36. package/src/agent/runtime-profile-starters.ts +7 -0
  37. package/src/agent/runtime-profile.ts +106 -4
  38. package/src/agent/schedule-edit-format.ts +129 -0
  39. package/src/agent/schedule-edit.ts +496 -0
  40. package/src/agent/schedule-next-routes.ts +42 -0
  41. package/src/agent/setup-wizard-artifact-receipts.ts +366 -0
  42. package/src/agent/setup-wizard-checkpoint.ts +140 -0
  43. package/src/agent/setup-wizard.ts +683 -0
  44. package/src/agent/skill-registry-types.ts +102 -0
  45. package/src/agent/skill-registry.ts +81 -107
  46. package/src/agent/vibe-confirmation-routes.ts +62 -0
  47. package/src/agent/vibe-file.ts +285 -0
  48. package/src/cli/agent-knowledge-command.ts +45 -2
  49. package/src/cli/help.ts +3 -0
  50. package/src/cli/profiles-command.ts +25 -11
  51. package/src/config/agent-settings-policy.ts +1 -18
  52. package/src/input/agent-workspace-activation.ts +53 -0
  53. package/src/input/agent-workspace-artifact-browser-editor.ts +494 -0
  54. package/src/input/agent-workspace-artifact-metadata.ts +17 -0
  55. package/src/input/agent-workspace-basic-command-editors.ts +5 -1
  56. package/src/input/agent-workspace-categories.ts +153 -155
  57. package/src/input/agent-workspace-channel-triage.ts +481 -0
  58. package/src/input/agent-workspace-channels.ts +263 -0
  59. package/src/input/agent-workspace-command-editor.ts +152 -0
  60. package/src/input/agent-workspace-context-snapshot.ts +349 -0
  61. package/src/input/agent-workspace-delegation-editor-submission.ts +8 -0
  62. package/src/input/agent-workspace-document-editor.ts +502 -0
  63. package/src/input/agent-workspace-document-ops-editor.ts +523 -0
  64. package/src/input/agent-workspace-host-category.ts +1 -1
  65. package/src/input/agent-workspace-local-library-snapshot.ts +167 -0
  66. package/src/input/agent-workspace-model-compare-editor.ts +376 -0
  67. package/src/input/agent-workspace-model-compare-prompt-submission.ts +552 -0
  68. package/src/input/agent-workspace-model-compare-types.ts +82 -0
  69. package/src/input/agent-workspace-model-compare-utils.ts +35 -0
  70. package/src/input/agent-workspace-onboarding-categories.ts +141 -0
  71. package/src/input/agent-workspace-operations-command-editor-submission.ts +53 -0
  72. package/src/input/agent-workspace-operations-command-editors.ts +22 -0
  73. package/src/input/agent-workspace-research-report-editor.ts +212 -0
  74. package/src/input/agent-workspace-research-run-editor.ts +144 -0
  75. package/src/input/agent-workspace-research-source-editor.ts +167 -0
  76. package/src/input/agent-workspace-review-packet-snapshot.ts +593 -0
  77. package/src/input/agent-workspace-review-packet-utils.ts +265 -0
  78. package/src/input/agent-workspace-settings.ts +313 -30
  79. package/src/input/agent-workspace-setup-checkpoint-action.ts +127 -0
  80. package/src/input/agent-workspace-setup-snapshot.ts +217 -0
  81. package/src/input/agent-workspace-setup.ts +61 -1
  82. package/src/input/agent-workspace-snapshot.ts +184 -149
  83. package/src/input/agent-workspace-types.ts +287 -2
  84. package/src/input/agent-workspace.ts +23 -1
  85. package/src/input/command-registry.ts +9 -2
  86. package/src/input/commands/agent-runtime-profile-runtime.ts +28 -13
  87. package/src/input/commands/channels-runtime.ts +102 -114
  88. package/src/input/commands/delegation-runtime.ts +87 -24
  89. package/src/input/commands/knowledge-browser-flags.ts +12 -0
  90. package/src/input/commands/knowledge.ts +28 -14
  91. package/src/input/commands/operator-actions-runtime.ts +6 -3
  92. package/src/input/commands/schedule-runtime.ts +71 -14
  93. package/src/input/commands/session-content.ts +2 -2
  94. package/src/input/commands/shell-core.ts +2 -0
  95. package/src/input/commands/vibe-runtime.ts +140 -0
  96. package/src/input/commands.ts +2 -0
  97. package/src/input/connected-host-routes.ts +123 -0
  98. package/src/input/settings-modal-types.ts +14 -0
  99. package/src/input/setup-wizard-live-receipts.ts +76 -0
  100. package/src/main.ts +15 -15
  101. package/src/panels/qr-panel.ts +2 -2
  102. package/src/renderer/agent-workspace-context-lines.ts +701 -0
  103. package/src/renderer/agent-workspace.ts +68 -421
  104. package/src/renderer/settings-modal-helpers.ts +12 -0
  105. package/src/renderer/settings-modal.ts +12 -0
  106. package/src/runtime/bootstrap-command-context.ts +11 -1
  107. package/src/runtime/bootstrap-command-parts.ts +14 -3
  108. package/src/runtime/bootstrap-core.ts +39 -1
  109. package/src/runtime/bootstrap-shell.ts +6 -0
  110. package/src/runtime/bootstrap.ts +113 -30
  111. package/src/runtime/connected-host-auth.ts +3 -2
  112. package/src/runtime/execution-ledger.ts +231 -0
  113. package/src/runtime/services.ts +88 -10
  114. package/src/runtime/tool-permission-safety.ts +199 -5
  115. package/src/shell/session-continuity-hints.ts +39 -0
  116. package/src/tools/agent-artifacts-tool.ts +606 -0
  117. package/src/tools/agent-audit-tool.ts +155 -0
  118. package/src/tools/agent-autonomy-schedule-tool.ts +238 -0
  119. package/src/tools/agent-autonomy-tool.ts +140 -0
  120. package/src/tools/agent-channel-send-tool.ts +24 -2
  121. package/src/tools/agent-channels-tool.ts +140 -0
  122. package/src/tools/agent-computer-tool.ts +168 -0
  123. package/src/tools/agent-context-policy.ts +137 -7
  124. package/src/tools/agent-context-tool.ts +143 -0
  125. package/src/tools/agent-delegation-tool.ts +128 -0
  126. package/src/tools/agent-device-tool.ts +240 -0
  127. package/src/tools/agent-documents-tool.ts +684 -0
  128. package/src/tools/agent-execution-tool.ts +230 -0
  129. package/src/tools/agent-harness-agent-orchestration-policy.ts +75 -0
  130. package/src/tools/agent-harness-agent-orchestration.ts +791 -0
  131. package/src/tools/agent-harness-autonomy-intake.ts +785 -0
  132. package/src/tools/agent-harness-autonomy-live-records.ts +742 -0
  133. package/src/tools/agent-harness-autonomy-queue-types.ts +88 -0
  134. package/src/tools/agent-harness-autonomy-queue.ts +571 -0
  135. package/src/tools/agent-harness-autonomy-watcher-read-models.ts +509 -0
  136. package/src/tools/agent-harness-background-processes-types.ts +35 -0
  137. package/src/tools/agent-harness-background-processes.ts +798 -0
  138. package/src/tools/agent-harness-browser-cockpit-route.ts +373 -0
  139. package/src/tools/agent-harness-browser-control.ts +346 -0
  140. package/src/tools/agent-harness-browser-pwa-read-models.ts +622 -0
  141. package/src/tools/agent-harness-channel-metadata.ts +168 -10
  142. package/src/tools/agent-harness-cli-command-policy.ts +110 -0
  143. package/src/tools/agent-harness-command-catalog.ts +4 -2
  144. package/src/tools/agent-harness-command-runner.ts +42 -0
  145. package/src/tools/agent-harness-connected-host-status.ts +7 -4
  146. package/src/tools/agent-harness-delegation-posture.ts +234 -19
  147. package/src/tools/agent-harness-device-live-read-models.ts +366 -0
  148. package/src/tools/agent-harness-document-ops-reviewer-readiness.ts +234 -0
  149. package/src/tools/agent-harness-document-ops-types.ts +72 -0
  150. package/src/tools/agent-harness-document-ops.ts +671 -0
  151. package/src/tools/agent-harness-execution-history.ts +489 -0
  152. package/src/tools/agent-harness-execution-posture.ts +385 -0
  153. package/src/tools/agent-harness-file-recovery.ts +135 -0
  154. package/src/tools/agent-harness-interactive-runtime-records.ts +421 -0
  155. package/src/tools/agent-harness-keybinding-metadata.ts +16 -12
  156. package/src/tools/agent-harness-learning-curator-common.ts +102 -0
  157. package/src/tools/agent-harness-learning-curator-consolidation.ts +295 -0
  158. package/src/tools/agent-harness-learning-curator-proposals.ts +606 -0
  159. package/src/tools/agent-harness-learning-curator-types.ts +151 -0
  160. package/src/tools/agent-harness-learning-curator.ts +417 -0
  161. package/src/tools/agent-harness-local-model-benchmarks.ts +269 -0
  162. package/src/tools/agent-harness-local-model-cookbook.ts +238 -0
  163. package/src/tools/agent-harness-local-model-endpoints.ts +788 -0
  164. package/src/tools/agent-harness-local-model-smoke.ts +277 -0
  165. package/src/tools/agent-harness-local-model-url.ts +78 -0
  166. package/src/tools/agent-harness-media-posture.ts +223 -2
  167. package/src/tools/agent-harness-memory-external-providers.ts +796 -0
  168. package/src/tools/agent-harness-memory-posture.ts +672 -0
  169. package/src/tools/agent-harness-memory-provider-certification.ts +219 -0
  170. package/src/tools/agent-harness-memory-refinement.ts +340 -0
  171. package/src/tools/agent-harness-metadata.ts +100 -168
  172. package/src/tools/agent-harness-mode-catalog.ts +86 -33
  173. package/src/tools/agent-harness-model-catalog.ts +162 -0
  174. package/src/tools/agent-harness-model-provider-health.ts +283 -0
  175. package/src/tools/agent-harness-model-readiness.ts +432 -0
  176. package/src/tools/agent-harness-model-routing-types.ts +327 -0
  177. package/src/tools/agent-harness-model-routing-utils.ts +30 -0
  178. package/src/tools/agent-harness-model-routing.ts +165 -193
  179. package/src/tools/agent-harness-operator-methods.ts +115 -133
  180. package/src/tools/agent-harness-pairing-posture.ts +452 -18
  181. package/src/tools/agent-harness-personal-ops-certification.ts +116 -0
  182. package/src/tools/agent-harness-personal-ops-discovery.ts +533 -0
  183. package/src/tools/agent-harness-personal-ops-intake.ts +385 -0
  184. package/src/tools/agent-harness-personal-ops-lanes.ts +270 -0
  185. package/src/tools/agent-harness-personal-ops-operations.ts +225 -0
  186. package/src/tools/agent-harness-personal-ops-provider-records.ts +358 -0
  187. package/src/tools/agent-harness-personal-ops-provider-task-records.ts +321 -0
  188. package/src/tools/agent-harness-personal-ops-records.ts +684 -0
  189. package/src/tools/agent-harness-personal-ops-runner.ts +637 -0
  190. package/src/tools/agent-harness-personal-ops-types.ts +240 -0
  191. package/src/tools/agent-harness-personal-ops.ts +613 -0
  192. package/src/tools/agent-harness-project-context.ts +144 -0
  193. package/src/tools/agent-harness-prompt-context.ts +589 -0
  194. package/src/tools/agent-harness-provider-account-metadata.ts +2 -2
  195. package/src/tools/agent-harness-release-evidence.ts +9 -7
  196. package/src/tools/agent-harness-release-readiness.ts +9 -7
  197. package/src/tools/agent-harness-remote-read-models.ts +541 -0
  198. package/src/tools/agent-harness-research-briefing.ts +446 -0
  199. package/src/tools/agent-harness-research-live-read-models.ts +500 -0
  200. package/src/tools/agent-harness-research-queue.ts +250 -0
  201. package/src/tools/agent-harness-research-runs.ts +307 -0
  202. package/src/tools/agent-harness-research-workflow.ts +395 -0
  203. package/src/tools/agent-harness-security-posture.ts +2 -2
  204. package/src/tools/agent-harness-service-posture.ts +9 -9
  205. package/src/tools/agent-harness-session-metadata.ts +3 -3
  206. package/src/tools/agent-harness-setup-connected-host.ts +501 -0
  207. package/src/tools/agent-harness-setup-describe.ts +557 -0
  208. package/src/tools/agent-harness-setup-handoffs.ts +502 -0
  209. package/src/tools/agent-harness-setup-model-helpers.ts +102 -0
  210. package/src/tools/agent-harness-setup-plan.ts +253 -0
  211. package/src/tools/agent-harness-setup-posture-types.ts +218 -0
  212. package/src/tools/agent-harness-setup-posture-utils.ts +173 -0
  213. package/src/tools/agent-harness-setup-posture.ts +449 -221
  214. package/src/tools/agent-harness-setup-smoke.ts +533 -0
  215. package/src/tools/agent-harness-sudo-posture.ts +114 -0
  216. package/src/tools/agent-harness-tool-schema.ts +142 -7
  217. package/src/tools/agent-harness-tool-types.ts +83 -0
  218. package/src/tools/agent-harness-tool-utils.ts +43 -0
  219. package/src/tools/agent-harness-tool.ts +319 -370
  220. package/src/tools/agent-harness-ui-surface-metadata.ts +76 -69
  221. package/src/tools/agent-harness-ui-surface-types.ts +46 -0
  222. package/src/tools/agent-harness-vibe-health.ts +105 -0
  223. package/src/tools/agent-harness-workspace-action-runner.ts +149 -0
  224. package/src/tools/agent-harness-workspace-actions.ts +114 -8
  225. package/src/tools/agent-harness-workspace-editor-execution.ts +214 -0
  226. package/src/tools/agent-harness-workspace-editor-runner.ts +755 -0
  227. package/src/tools/agent-host-tool.ts +159 -0
  228. package/src/tools/agent-knowledge-ingest-tool.ts +34 -1
  229. package/src/tools/agent-learning-consolidation-core.ts +327 -0
  230. package/src/tools/agent-learning-consolidation-tool.ts +758 -0
  231. package/src/tools/agent-memory-tool.ts +253 -0
  232. package/src/tools/agent-model-compare-export.ts +315 -0
  233. package/src/tools/agent-model-compare-handoff.ts +592 -0
  234. package/src/tools/agent-model-compare-judgment.ts +633 -0
  235. package/src/tools/agent-model-compare-run.ts +735 -0
  236. package/src/tools/agent-model-compare-tool.ts +698 -0
  237. package/src/tools/agent-model-compare-types.ts +191 -0
  238. package/src/tools/agent-model-compare-utils.ts +93 -0
  239. package/src/tools/agent-models-tool.ts +208 -0
  240. package/src/tools/agent-operator-action-tool.ts +1 -1
  241. package/src/tools/agent-operator-method-tool.ts +643 -0
  242. package/src/tools/agent-personal-ops-tool.ts +197 -0
  243. package/src/tools/agent-policy-explanation.ts +415 -0
  244. package/src/tools/agent-research-report-tool.ts +608 -0
  245. package/src/tools/agent-research-runner.ts +367 -0
  246. package/src/tools/agent-research-runs-tool.ts +434 -0
  247. package/src/tools/agent-research-sources-tool.ts +443 -0
  248. package/src/tools/agent-research-tool.ts +515 -0
  249. package/src/tools/agent-review-packet-presets-core.ts +757 -0
  250. package/src/tools/agent-review-packet-presets-tool.ts +466 -0
  251. package/src/tools/agent-review-packet-share-tool.ts +305 -0
  252. package/src/tools/agent-route-planner-candidates-setup.ts +411 -0
  253. package/src/tools/agent-route-planner-candidates-surfaces.ts +432 -0
  254. package/src/tools/agent-route-planner-candidates-work.ts +251 -0
  255. package/src/tools/agent-route-planner-helpers.ts +667 -0
  256. package/src/tools/agent-route-planner.ts +185 -0
  257. package/src/tools/agent-route-tool.ts +105 -0
  258. package/src/tools/agent-schedule-edit-tool.ts +210 -0
  259. package/src/tools/agent-schedule-tool.ts +282 -0
  260. package/src/tools/agent-security-tool.ts +145 -0
  261. package/src/tools/agent-sessions-tool.ts +122 -0
  262. package/src/tools/agent-settings-import-tool.ts +104 -0
  263. package/src/tools/agent-settings-tool.ts +176 -0
  264. package/src/tools/agent-setup-tool.ts +226 -0
  265. package/src/tools/agent-support-tool.ts +122 -0
  266. package/src/tools/agent-terminal-process-tools.ts +167 -0
  267. package/src/tools/agent-tool-policy-guard-types.ts +77 -0
  268. package/src/tools/agent-tool-policy-guard.ts +106 -85
  269. package/src/tools/agent-vibe-tool.ts +297 -0
  270. package/src/tools/agent-work-plan-tool.ts +265 -6
  271. package/src/tools/agent-workspace-tool.ts +305 -0
  272. package/src/tools/artifact-archive.ts +169 -0
  273. package/src/tools/tool-definition-compaction.ts +36 -0
  274. package/src/version.ts +1 -1
@@ -0,0 +1,294 @@
1
+ export type CompetitorId = 'openclaw' | 'hermes' | 'odysseus';
2
+
3
+ export type GoodVibesCompetitiveStatus = 'leading' | 'parity' | 'partial' | 'gap';
4
+
5
+ export type GoodVibesOwner = 'agent' | 'connected-host' | 'companion' | 'release';
6
+
7
+ export interface CompetitorFeatureSignal {
8
+ readonly competitor: CompetitorId;
9
+ readonly evidence: string;
10
+ }
11
+
12
+ export interface CompetitiveFeatureInventoryItem {
13
+ readonly id: string;
14
+ readonly userOutcome: string;
15
+ readonly targetStandard: 'parity' | 'better';
16
+ readonly bestInClassRequirement: string;
17
+ readonly goodVibesStatus: GoodVibesCompetitiveStatus;
18
+ readonly owners: readonly GoodVibesOwner[];
19
+ readonly goodVibesNow: string;
20
+ readonly nextMoves: readonly string[];
21
+ readonly competitorSignals: readonly CompetitorFeatureSignal[];
22
+ }
23
+
24
+ export const COMPETITIVE_FEATURE_INVENTORY: readonly CompetitiveFeatureInventoryItem[] = [
25
+ {
26
+ id: 'one-assistant-mental-model',
27
+ userOutcome: 'The user asks one assistant for help and does not need to understand package, host, daemon, or execution-boundary ownership.',
28
+ targetStandard: 'better',
29
+ bestInClassRequirement: 'Every setup, chat, automation, channel, and execution route is presented as one assistant with visible safety and recovery state.',
30
+ goodVibesStatus: 'leading',
31
+ owners: ['agent', 'connected-host', 'companion'],
32
+ goodVibesNow: 'Agent has a strong operator workspace, visible TUI Home cockpit, first-class `route action:"plan|status"`, `setup action:"repair"`, and `agent_harness mode:"summary|route_decision|setup_repair"` that all start from the same assistant-first lanes: setup, chat/model, project work, Personal Ops, research/docs, background work, and safety/recovery with user-facing next actions. The route planner accepts a plain user task, returns the preferred visible route, alternatives, missing fields, confirmation boundary, workspace matches, and harness mode matches, so the model can choose Agent-owned setup, settings, Personal Ops, research, autonomy, execution, delegation, computer/browser, workspace, host, device, channel, security, Local Context, or Knowledge paths without asking the user to understand package ownership. Host/daemon health, doctor, readiness, service, and compatibility wording goes directly to `host action:"status"` before repair or lifecycle effects. Normal settings/configuration wording goes directly to `settings action:"list"` before set/reset/import effects. Model provider, local-cookbook, local server smoke, and route-fit wording goes directly to `models action:"provider|local|smoke|route"` before credential, smoke, benchmark, or route-change effects. Personal Ops briefing, saved queue, fresh inbox/calendar read, and connector setup wording goes directly to `personal_ops action:"briefing|queue|intake|lane"` before live provider reads or effects. Direct reminder, schedule, cron, and schedule lifecycle wording goes directly to `schedule action:"list"` before confirmed schedule effects. Command-shaped background work goes directly to `execution action:"processes"` plus first-class `terminal`/`process` controls, interactive PTY/stdin/sudo wording goes directly to `execution action:"process_capabilities"` before hidden process starts or credential effects, while broader ongoing or watcher-like background work stays on autonomy intake. External memory-provider, backend, cross-session sync, import/export, and named-provider wording goes directly to `memory action:"provider"` or the external provider checklist before any provider write, sync, credential, or import/export effect. Browser-backed research runner wording goes directly to `research action:"runner"` readiness, and visual research report rendering wording goes directly to `research action:"plan"` plus report artifacts before browser/PWA rendering is claimed. Voice workflow, TTS-provider, browser cockpit, and PWA wording goes directly to `device action:"voice|provider"` or `computer action:"browser"` before capture, playback, picker, or browser-open effects. Channel setup, triage, delivery-receipt, and send wording goes directly to `channels action:"setup|triage|deliveries|channel"` before confirmed external delivery. Permission posture, security finding, and blocked-action wording goes directly to `security action:"status|finding|explain"` before policy changes or risky work. Support-bundle, saved-session/bookmark/continuity, and release/audit evidence wording goes directly to `support action:"status|bundle"`, `sessions action:"list|get"`, and `audit action:"readiness|evidence|item|artifact"` before bundle export/import/share, session lifecycle, or audit drill-in effects. File undo/redo/recovery wording goes directly to `execution action:"recovery"` before any confirmed snapshot mutation. Media generation wording goes to media provider readiness plus confirmed `agent_media_generate` saved artifacts, with no inline bytes or silent Knowledge promotion. Screenshot, browser-navigation/control, screen-observation, and desktop-control wording goes directly to `computer action:"plan"` before any live UI tool is considered. Setup repair accepts the current setup blocker or a plain target such as host/auth/service, then returns the safest next route: token repair, connected-host status, services.status receipt, user-run bootstrap commands, or no lifecycle action when the host is already reachable. Technical host, daemon, provider, MCP, and delegation details remain available as diagnostics and confirmation boundaries instead of first-screen ownership questions.',
33
+ nextMoves: [
34
+ 'Keep adding plain-language route fixtures for any user task that still falls through to technical ownership language.',
35
+ 'Promote new daemon and SDK contracts into first-class Agent routes only after they have visible status, confirmation, and recovery semantics.',
36
+ ],
37
+ competitorSignals: [
38
+ { competitor: 'openclaw', evidence: 'Gateway is described as the control plane while the assistant is the product.' },
39
+ { competitor: 'hermes', evidence: 'CLI, gateway, and messaging all expose one Hermes assistant conversation model.' },
40
+ { competitor: 'odysseus', evidence: 'Web workspace combines chat, agents, memory, docs, email, calendar, and tasks in one app.' },
41
+ ],
42
+ },
43
+ {
44
+ id: 'first-run-and-always-on-setup',
45
+ userOutcome: 'A fresh user can install, configure models, start the always-on runtime, and reach the assistant without manual topology work.',
46
+ targetStandard: 'better',
47
+ bestInClassRequirement: 'One guided flow verifies dependencies, installs or starts the host, configures auth, pairs channels, and leaves a working assistant.',
48
+ goodVibesStatus: 'leading',
49
+ owners: ['agent', 'connected-host', 'release'],
50
+ goodVibesNow: 'Agent has onboarding, diagnostics, a first-class `setup action:"status|item|repair|checkpoint|save_checkpoint|clear_checkpoint|token|smoke|finish|import_settings"` adapter, first-class `settings action:"list|get|set|reset|import"` UX for Agent settings plus redacted GoodVibes settings import preview/apply, first-class `host action:"status|capabilities|capability|services|service|methods|method"` UX for connected-host diagnostics, and a visible Start checklist that keeps connected-host auth, install smoke, and Browser/PWA readiness beside runtime/model setup. First-run onboarding now renders visible `Option` / `Change` controls, compact redacted current -> proposed setting previews, command-free Local Context setup cards, plain prompt-receipt controls, and onboarding result panes that suppress internal `Command:` lines. The shared first-run setup wizard orders connected-host readiness, connected-host auth, provider/model access, install smoke, local model readiness, Agent Knowledge, local behavior, channels, Browser/PWA readiness, automation review, browser/desktop control, delegation, and finish state with progress, current-step route hints, backtracking routes, setup-smoke rerun/save routes, saved-smoke repeated-blocker focus, and Agent-owned saved setup checkpoints that resume across restarts without storing user prompt text while reporting stale-checkpoint auto-advance evidence when a saved step is already ready. Setup wizard history now records stable timestamped entries for Agent-owned setup checkpoints, saved setup-smoke artifact receipts, durable connected-host setup receipt artifacts, and live connected-host setup receipt read-model snapshots when the SDK/daemon publishes them; ready service/auth/install-smoke/browser-PWA receipts from either source auto-advance matching setup rows and remove release receipt gaps, while blocked or failed durable receipts remain visible in history without satisfying closeout. The Start pane shows remaining durable receipt gaps for connected-host service/auth/install-smoke/browser-PWA evidence instead of pretending the daemon has published them, and setup closeout accepts a satisfying durable install-smoke receipt instead of contradicting a ready setup row. Connected-host setup includes a read-only setup repair decision route, live service probe evidence, token-safe auth posture with exact pairing route ids, confirmed SDK-backed local operator-token create/repair with no raw-token output, recommended diagnostic/status cards, confirmed service install/start/restart routes that stay inspect-first unless service status proves need, setup `serviceLifecycleDecision` gates, service repair-card success criteria, `agent_operator_method` certified receipt outcomes plus exact install/start/restart/no-action lifecycle decisions from services.status receipts, offline bootstrap commands for missing-host setup, a confirmed token-safe setup smoke route with optional durable redacted evidence artifacts from package binary to first assistant turn, Home/setup summary surfacing for the latest smoke result plus smoke history/trend/frequent blockers, `setupWizard.closeout` and top-level `setupCloseout` decisions that reduce critical blockers, smoke evidence, durable receipt evidence, and the user completion marker into blocked/run-smoke/finish/complete states, confirmed setup finish marker writes, setup checkpoint direct model routes, visible Start actions to show/save/clear the checkpoint, and fixtures for missing host, unreachable host, missing token, model-unconfigured, durable-receipt auto-advance, live setup-read-model auto-advance, and ready-closeout paths.',
51
+ nextMoves: [
52
+ 'Keep per-step setup receipt schemas aligned with any new SDK/daemon first-run receipt versions before release evidence accepts them.',
53
+ 'Add real connected-host CI fixtures for ordered setup receipt event streams once the daemon publishes stable stream snapshots outside unit tests.',
54
+ ],
55
+ competitorSignals: [
56
+ { competitor: 'openclaw', evidence: 'Onboarding can install the Gateway daemon so it stays running.' },
57
+ { competitor: 'hermes', evidence: 'Installers handle runtime dependencies and the setup wizard configures the gateway.' },
58
+ { competitor: 'odysseus', evidence: 'Docker and native setup generate an admin account and open a local web UI.' },
59
+ ],
60
+ },
61
+ {
62
+ id: 'models-and-local-model-cookbook',
63
+ userOutcome: 'The user can choose cloud, subscription, or local models without knowing provider-specific setup details.',
64
+ targetStandard: 'better',
65
+ bestInClassRequirement: 'Model setup recommends the best available route, detects local servers, benchmarks fit, and can help download or serve local models.',
66
+ goodVibesStatus: 'leading',
67
+ owners: ['agent', 'connected-host'],
68
+ goodVibesNow: 'First-class `models action:"status|route|local|providers|provider|smoke"` UX now fronts provider routing, subscription posture, local compatible provider discovery, model pickers, visible route-readiness inspection, and a hardware-scored local model cookbook for Ollama, llama.cpp, vLLM, and local OpenAI-compatible servers; lower-level harness modes remain available for detailed inspection. The route planner now prefers `models action:"local"` for Ollama/local cookbook/hardware-fit wording, `action:"smoke"` for local server health checks, `action:"provider"` for provider account/subscription setup, and `action:"route"` for context/tool/latency/cost/privacy route-fit requests before credential, smoke, benchmark, or route-change effects. Model routes and local recipes expose one readiness score across latency, context window, tool support, vision, cost, and privacy. Exact model-route readiness now includes providerHealth posture that separates SDK provider-health type availability, daemon publication status, Agent consumption status, missing signals, provider-level fallback, exact route-level daemon read models, live latency, rate-limit posture, and redacted error posture when a daemon-published read model is reachable; saved local benchmark artifacts now expose stable per-candidate route latency evidence and exact model-route readiness consumes the newest measured benchmark latency for matching local candidates and cloud baselines while keeping benchmark task-fit and winner evidence separate from live provider-health posture. The cookbook scans local CPU/RAM/platform, applies safe accelerator hints, ranks fit, returns setup plans with download/start guidance, local endpoint candidates with exact endpoint inspect routes, model-list smoke commands, smoke success criteria, failure triage, confirmed local smoke checks, provider-add and refresh route hints, benchmark action routes, a visible Check local servers action, a visible model-lane local benchmark action backed by agent_model_compare, saved benchmark-evidence review, saved local-route benchmark artifacts with per-route latency summaries, and revealed winner judgments that raise matching recipe confidence before any separate default-model apply action. When the SDK/daemon publishes local serving diagnostics read models, the cookbook and exact endpoint routes now consume server version, loaded-model detail, context/tool support, resource pressure, start/repair receipt ids, receipt status, source path, certified schema/version/provenance/publication/publisher metadata, exact confirmed start/repair routes when the host publishes them, and redacted summary metadata without probing local servers or running provider changes.',
69
+ nextMoves: [
70
+ 'Keep daemon provider-health schema fixtures current for any new route-health fields before accepting release evidence.',
71
+ 'Add connected-host CI coverage for certified local serving diagnostics across newly supported local stacks as host operator methods expand.',
72
+ ],
73
+ competitorSignals: [
74
+ { competitor: 'openclaw', evidence: 'Supports multiple model providers plus subscription auth and model failover.' },
75
+ { competitor: 'hermes', evidence: 'Supports many providers, OpenRouter, local endpoints, and a managed tool gateway subscription.' },
76
+ { competitor: 'odysseus', evidence: 'Cookbook scans hardware and recommends or serves models through Ollama, llama.cpp, and vLLM.' },
77
+ ],
78
+ },
79
+ {
80
+ id: 'omnichannel-inbox-and-delivery',
81
+ userOutcome: 'The assistant is reachable where the user already communicates and can reply safely on those channels.',
82
+ targetStandard: 'better',
83
+ bestInClassRequirement: 'Channel setup is guided, inbound trust is default-safe, delivery is reliable, and the user can inspect every route from one place.',
84
+ goodVibesStatus: 'parity',
85
+ owners: ['agent', 'connected-host', 'companion'],
86
+ goodVibesNow: 'GoodVibes has broad channel adapters, readiness, policy, account inspection, pairing, notification, confirmed send routes, route-planner preference for channel setup/triage/delivery-receipt/send wording, and first-class `channels action:"status|channel|setup|triage|deliveries"` inspection for readiness, one channel, setup guide, triage, and redacted confirmed-send receipt history before any external delivery; `agent_channel_send` remains the confirmed send route. The guide ranks the next channel, walks the user through choosing a surface, enabling it intentionally, inspecting setup schema, configuring secret-backed settings, choosing delivery targets, reviewing allowlist policy, checking live status/doctor output, and sending only one explicitly confirmed test. Channel triage unifies setup blockers, daemon `/api/deliveries` attempts, visible control-plane surface messages, route bindings, and redacted Agent receipts without claiming provider-specific inbox polling.',
87
+ nextMoves: [
88
+ 'Promote provider-specific unread channel inbox polling only when the connected-host contract publishes a general safe message feed.',
89
+ 'Certify real delivery outcomes per channel before claiming release readiness.',
90
+ 'Attach structured connected-host setup-schema, account, policy, status, and doctor receipts to the channel setup guide when the host publishes stable success/failure evidence.',
91
+ ],
92
+ competitorSignals: [
93
+ { competitor: 'openclaw', evidence: 'Lists broad messaging support across WhatsApp, Telegram, Slack, Discord, iMessage, Matrix, Teams, and more.' },
94
+ { competitor: 'hermes', evidence: 'Gateway supports Telegram, Discord, Slack, WhatsApp, Signal, CLI, and email.' },
95
+ { competitor: 'odysseus', evidence: 'Uses browser, email, ntfy, and mobile/PWA surfaces for user reach.' },
96
+ ],
97
+ },
98
+ {
99
+ id: 'email-calendar-notes-and-tasks',
100
+ userOutcome: 'The assistant can triage email, draft replies, track calendar context, and act on notes or tasks with reminders.',
101
+ targetStandard: 'better',
102
+ bestInClassRequirement: 'Email, calendar, notes, tasks, reminders, and schedules share one reviewed personal operations surface.',
103
+ goodVibesStatus: 'leading',
104
+ owners: ['agent', 'connected-host'],
105
+ goodVibesNow: 'Agent now has a unified Personal Ops workspace and first-class `personal_ops action:"briefing|status|queue|intake|lane|read"` model tool, backed by the existing harness modes. The route planner prefers `personal_ops action:"briefing"` for daily/calendar briefings, `action:"queue"` for saved review queues, `action:"intake"` for fresh provider-read planning, and `action:"lane"` for connector setup posture before live provider reads or effects. The direct tool exposes a read-only daily plan across inbox, agenda, tasks, reminders, routines, delivery, notes, and the autonomy queue, a read-only queue view across saved inbox thread/calendar event review items plus fresh provider-read routes, and model-visible request intake that turns inbox, agenda, task, reminder, note, routine, and delivery asks into the safest lane, route, required fields, next steps, and confirmation boundary. Model-visible lanes for inbox, agenda, notes, work plans, tasks, reminders, routines, schedules, and delivery surface Agent-owned notes, routines, schedule receipts, and delivery channels as live records with safe routes. Email/calendar-capable MCP connectors surface as inspectable setup routes, expanded Personal Ops lanes classify connector tool names into read-only and write-like inbox/calendar capabilities, MCP schemas expand into inbox/calendar operation records with required fields, sample inputs, schema routes, confirmation flags, and fresh-read routes, inbox triage/draft plus calendar agenda/conflict workflow cards expose prerequisites, inspect routes, send/edit confirmation boundaries, and ordered execution plans that separate connector reads, local composition, and confirmed provider effects. Confirmed `personal_ops action:"read"` preserves the existing `run_personal_ops_read` boundary: one read-only inbox/calendar MCP operation with required-field checks, bounded redacted output, normalized review cards for common messages/events/results shapes, optional saved redacted review-card artifacts, and saved review artifacts resurfaced as redacted inbox thread and calendar event queue records with artifact inspect routes, freshness status, confirmed refresh routes when a matching read connector is ready, local draft/reminder follow-up routes, and explicit confirmed provider-effect boundaries. Saved provider-effect receipt artifacts for inbox, calendar, task, and reminder lanes now resurface as read-only effect evidence for send, label, archive, edit, RSVP, update, complete, defer, snooze, delete, and similar confirmed provider outcomes, including provider, operation, normalized status, subject id, redaction posture, failure reason, source tool, artifact inspect route, certified schema/version/publication/publisher/provenance/receipt evidence, and a lane continuation route without claiming fresh provider queue state. When the SDK or daemon publishes durable Personal Ops read models, Agent now consumes fresh provider-backed inbox thread, calendar event, task, and reminder records from `context.platform.readModels.personalOps.*`, related email/calendar/task/reminder read-model paths, and operator SDK mirrors; those records surface current provider ids, labels, snippets, agenda windows, conflict signals, due times, priority, cadence, delivery targets, redacted summaries, source paths, freshness status, certified schema/version/publication/publisher/provenance/receipt ids, queue or lane cards, briefing counts, read-only inspect routes, and confirmed follow-up routes only for published reply/send/label/archive/edit/RSVP/delete/update/complete/defer/snooze routes. Task/reminder lanes also expose visible work-plan, connected-host task, confirmed reminder, autonomous schedule, and connected schedule operation records.',
106
+ nextMoves: [
107
+ 'Keep Personal Ops provider-read-model schema fixtures current as providers add message state, recurrence, attachment, or delegation fields.',
108
+ 'Add connected-host CI coverage for certified inbox/calendar/task/reminder provider-effect receipt streams as SDK routes expand.',
109
+ ],
110
+ competitorSignals: [
111
+ { competitor: 'openclaw', evidence: 'Showcases mail, calendar, reminders, issues, and personal operating-system workflows.' },
112
+ { competitor: 'hermes', evidence: 'Messaging gateway includes email and skills include Google Workspace dependencies.' },
113
+ { competitor: 'odysseus', evidence: 'Ships IMAP/SMTP email triage and local-first CalDAV calendar support.' },
114
+ ],
115
+ },
116
+ {
117
+ id: 'closed-learning-loop',
118
+ userOutcome: 'The assistant gets better over time by saving useful memories, skills, and routines only when they are useful and reviewable.',
119
+ targetStandard: 'better',
120
+ bestInClassRequirement: 'Learning is automatic enough to be useful, but every durable behavior has provenance, review, rollback, and quality scoring.',
121
+ goodVibesStatus: 'leading',
122
+ owners: ['agent'],
123
+ goodVibesNow: 'Agent has local memory, notes, personas, skills, routines, learned-behavior capture, safe VIBE.md personality discovery from project/global files, safe project context discovery for .hermes.md/HERMES.md/AGENTS.md/CLAUDE.md/HERMES_HOME/SOUL.md/.cursorrules/.cursor/rules/*.mdc files, prompt injection for VIBE.md and project context after secret-looking content scans, direct `vibe action:"status|show|init|import_persona"` routes, /vibe status/init/show/import-persona routes, init/import preview confirmationRoutes, setup posture, Local Context and Personas workspace health counts for applied/loaded/blocked/truncated VIBE.md and project context files, learning-curator personality health cards for blocked/truncated personality files, and opt-in profile starter export/import/application for VIBE.md so users can start with a friendly personality file without persona-registry ceremony, hidden prompt surprises, or profile portability gaps. `context action:"files|file"` exposes target-aware context inspection, loaded/truncated/blocked status, bounded bodies, and direct workspace action route hints from Inspect project context / Inspect one context file. Formal behavior prompt injection still uses only reviewed memory at or above the durable confidence threshold plus reviewed setup-ready skills, routines, bundles, and personas while listing suppressed unreviewed/setup-blocked behavior for curator review; runtime prompt builds now write durable prompt-context receipt ids with turn/source/model/provider, selected and suppressed record refs, segment counts, prompt hash, size, timestamp, and sanitized terminal outcome for completed/error/cancelled turns without storing raw prompt or response text, `context action:"prompt|receipts|receipt"` exposes the applied prompt composition order, recent receipt ids, exact receiptId/turnId/outcomeStatus filters, turn outcomes, selected VIBE.md/project context/memory/routine/skill/persona records, suppressed records, prompt previews on request, and approximate token budget without mutating local context, and Agent Workspace -> Local Context renders a compact prompt receipt timeline with total/completed/error/cancelled/pending counts, latest turn outcome, applied/suppressed counts, bounded outcome detail, exact latest-receipt drill-in, and outcome filter routes. The direct `memory action:"curator|candidate"` route now returns a score-driven prompt plan that shows prompt-active records, suppressed review/setup/low-confidence/personality/consolidation counts, proposal queues, consolidation queues, ordering rules, and exact review routes before durable context expands; it also ranks review, stale, missing-setup, low-confidence, VIBE.md health, duplicate-consolidation candidates with visible diffs/rollback/recreate routes, an ordered duplicate-consolidation batch review plan, confirmed duplicate-consolidation phase helpers for preview/merge/stale/delete/rollback/recreate with durable receipts, delete refusal until duplicates are staged stale, and exact-id post-delete recreate guidance that refuses unsafe id collisions, reviewed-note, completed-work, completed-research, and saved-session memory/behavior proposals, and promotion candidates with existing safe routes. The direct `memory action:"status|provider|list|search|get"` route now exposes local memory counts, direct memory record lookup/search, prompt-active recall, vector stats, embedding-provider doctor warnings, provider inspection, route-planner preference for external provider/backend/sync/import/export setup posture, and external-memory setup contract maps for Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory, and daemon-published similar backends with provider-specific next-route packets, certified schema/version/publication/publisher/provenance provider contract checks, setup/status/read/write/sync/forget checklist items, required sync/write receipt fields, certified durable external-memory provider receipt artifact consumption for status/read/write/upsert/import/export/sync/forget evidence, and sanitized live read-model consumption when the connected host or SDK publishes provider records. The direct `memory action:"refinement"` route exposes the SDK-backed Agent Knowledge semantic self-improvement task ledger, task counts, trace tails, job availability, latest job run, task/gap/source ids, and follow-up routes without running searches or changing prompt memory; the confirmed `memory action:"run_refinement"` route runs bounded `KnowledgeService.runRefinement` with optional knowledge-space, source-id, gap-id, limit, maxRunMs, and force scope, then returns closed/blocked/queued task counts, accepted/ingested source ids, task inspect routes, and policy evidence without exposing raw source text or silently promoting local memory. When host or SDK read models publish live external provider records, provider posture consumes sanitized setup/status/read/write/sync readiness, explicit forget/delete or not-supported contract state, secret-safe credential state, prompt-eligibility policy, receipt ids, and read/write/sync/forget route hints plus certified schema/version/publication/publisher/provenance/receipt-stream evidence; when only receipt artifacts exist, posture shows certified receipt id, schema version, publication guarantee, publisher, provenance, operation, status, source count, redaction policy, correlation id, and artifact inspect route without claiming live readiness.',
124
+ nextMoves: [
125
+ 'Keep Honcho, Mem0, Supermemory, and similar provider schema fixtures current as SDK/daemon contracts add provider-owned receipt fields.',
126
+ 'Add connected-host CI coverage for certified external-memory provider streams once stable daemon fixtures publish real Honcho/Mem0/Supermemory receipts.',
127
+ ],
128
+ competitorSignals: [
129
+ { competitor: 'openclaw', evidence: 'Skills and memory are core extension points.' },
130
+ { competitor: 'hermes', evidence: 'Markets a closed learning loop with autonomous skill creation, skill improvement, session search, and user modeling.' },
131
+ { competitor: 'odysseus', evidence: 'Ships persistent memory and skills backed by vector and keyword retrieval.' },
132
+ ],
133
+ },
134
+ {
135
+ id: 'autonomous-schedules-and-background-work',
136
+ userOutcome: 'The user can ask for ongoing work in natural language and then supervise, pause, resume, or cancel it from a clear queue.',
137
+ targetStandard: 'better',
138
+ bestInClassRequirement: 'Schedules, cron jobs, recurring routines, and long-running tasks are autonomous but never hidden.',
139
+ goodVibesStatus: 'leading',
140
+ owners: ['agent', 'connected-host'],
141
+ goodVibesNow: 'Agent has a first-class `schedule` adapter for schedule action:list/create/remind/edit/run/pause/resume/delete that routes to confirmed natural-language autonomous schedule creation when task, cadence, success criteria, and user request provenance are explicit; reminder scheduling; routine promotion; confirmed connected schedule editing with read-only current-state before/after diffs from schedules.list before confirmation; and allowlisted schedule lifecycle controls. Unconfirmed schedule and routine-promotion previews now return explicit confirmationRoutes instead of vague rerun guidance, and confirmed actions return next routes for schedule list, autonomy queue inspection, run, edit, pause, resume, and delete when applicable. It also has connected schedule posture; a read-only ongoing-work intake selector with trigger workflow posture, watcher receipt success criteria, and a read-only watcher evidence contract for durable run-history receipts, provider source records, redacted event payload descriptors, and queue correlation records across time-based wakeups/schedules, published watchers.create/list/run/start/stop incoming webhook or event watchers, Gmail/email connector-gated triggers, and control-plane event streams; `agent_operator_method` certified watcher receipt outcomes for watchers.create/patch/run/start/stop/delete; and a read-only autonomy queue that maps visible owners, status, inspect routes, cancel/recovery routes, live research runs, live connected-host task records, live approval records, live automation run records, live SDK/daemon watcher run-history/source records, durable watcher/run receipt artifacts, live schedule records, delegated subagent orchestration routes, log tails, diagnostics for task retry/output/correlation, automation telemetry/delivery/route posture, watcher receipt purpose/redaction/source ids, bounded redacted host task and watcher output route/preview descriptors, source ids, normalized available/unavailable controls with reasons, and exact confirmed checkpoint/pause/resume/cancel/edit/control routes where supported, including first-class schedule pause/resume aliases over the daemon enable/disable lifecycle. Durable watcher, watcher-run, automation-run-history, and provider-source receipt artifacts appear in the automation-runs lane with metadata-only redaction posture, provider/source/trigger/run correlation, read-only `agent_artifacts show` inspect controls, and no live run control unless a daemon read model publishes one. Live watcher run/source records from SDK or daemon read models now appear in the same automation-runs lane with bounded redacted host output chunk previews, provider-specific Gmail/email source records, source/checkpoint/correlation diagnostics, read-only provider-source inspect/refresh controls, and exact confirmed watcher cancel/retry/checkpoint/pause/resume controls only when those routes are published by the owning SDK or daemon surface. Agent also exposes visible local Agent orchestration through `agent_orchestration` and `agent_orchestration_agent`, plus tracked local background processes through `background_processes`, `background_process`, and confirmed `run_background_process` start/wait/stop routes with process-style poll/log/kill/write and session-id aliases that feed the same background-work cockpit lane.',
142
+ nextMoves: [
143
+ 'Add live connected-host verification artifacts from real daemon watcher source streams as soon as CI can publish a stable GoodVibes daemon fixture.',
144
+ 'Broaden provider-specific watcher source fixtures beyond Gmail/email as the SDK and daemon publish additional source-owned watcher families.',
145
+ ],
146
+ competitorSignals: [
147
+ { competitor: 'openclaw', evidence: 'Supports cron, wakeups, webhooks, Gmail triggers, and always-on gateway workflows.' },
148
+ { competitor: 'hermes', evidence: 'Built-in cron scheduler delivers daily reports, backups, audits, and unattended work.' },
149
+ { competitor: 'odysseus', evidence: 'Notes, tasks, reminders, and cron-style scheduled tasks can be acted on by the agent.' },
150
+ ],
151
+ },
152
+ {
153
+ id: 'computer-use-browser-and-shell',
154
+ userOutcome: 'The assistant can browse, use the computer, run shell commands, edit files, and recover from mistakes with understandable approvals.',
155
+ targetStandard: 'better',
156
+ bestInClassRequirement: 'Computer use includes browser control, shell, files, code edits, desktop/device actions, sandboxing, undo, and live tool cards.',
157
+ goodVibesStatus: 'leading',
158
+ owners: ['agent', 'connected-host', 'companion'],
159
+ goodVibesNow: 'Agent exposes local-first execution posture for read/search/analyze, file edit/write, bounded foreground shell commands, web/fetch evidence, Work workspace process supervision with tracked/running/completed counts plus stdin/PTY/sudo parity and direct process actions, visible process monitor/live tail/tool inspector supervision routes, first-class `execution action:"capabilities|process_capabilities"`, `computer action:"plan"`, `terminal`, and `process` adapters for direct process parity reports, browser navigation/screenshot/desktop-control workflow planning, terminal(command, background:true), and process(action:list/poll/wait/log/kill/write/capabilities) UX over confirmed tracked local background process start/list/status/log/wait/stop routes, session-id aliases, bounded redacted process log tails with byte/count/truncation metadata, a read-only process parity matrix for terminal background start plus process list/poll/wait/log/kill/write/PTY/sudo semantics, route-planner preference for `execution action:"process_capabilities"` when the user asks about interactive CLI, PTY, stdin, sudo, or privilege prompts, dynamic SDK/daemon substrate probes for ProcessManager stdin/PTY methods, terminal/PTY operator routes, session-input steering routes, and credential routes, confirmed stdin write execution when a safe ProcessManager stdin method is discovered, setup-linked sudo execution posture with foreground-supervised escalation guidance, SUDO_PASSWORD presence-only reporting, blocked background sudo/stdin password routes, and missing contract evidence, execution-history activity cards that group redacted records by turn with status/outcome, verification evidence, bounded process-output summaries, live-output routes, exact inspect routes, and file-recovery handoffs, confirmed file recovery, strict browser/desktop ready-attention-setup posture with workflow cards/checklists/fallback routes, and delegation for isolation, parallelism, remote execution, separate worktrees, or requested review. Agent now also consumes certified SDK/daemon interactive runtime read models for live process output chunks, typed PTY session input/output routes, sudo credential mediation routes, and browser/desktop command receipts from `context.platform.readModels.execution.*`, `context.platform.readModels.computer.*`, SDK mirrors, and daemon runtime mirrors. Those records surface durable process/session/receipt ids, bounded redacted output chunks, exact confirmed write/input/resize/close/credential/execute routes, receipt inspect routes, status, source path, schema/version/publication/publisher/provenance evidence, and missing certification signals without returning raw tokens, command secrets, sudo values, screenshot payloads, or private UI bodies. Certified browser/desktop command receipts now make `computer action:"plan|control"` ready through the published daemon route, while artifact-free or uncertified setups continue to show honest setup/review posture.',
160
+ nextMoves: [
161
+ 'Keep certified interactive runtime schema fixtures current as SDK/daemon process, PTY, sudo, and browser-control contracts add fields.',
162
+ 'Add connected-host CI coverage for real daemon interactive runtime streams and browser/desktop command receipts when stable fixtures are available.',
163
+ 'Keep delegation for isolation, parallelism, or remote execution, not as the default user-facing answer to coding work.',
164
+ ],
165
+ competitorSignals: [
166
+ { competitor: 'openclaw', evidence: 'Provides browser control, canvas, nodes, system.run, camera, screen recording, and session tools.' },
167
+ { competitor: 'hermes', evidence: 'Includes terminal backends, browser tools, code execution, computer-use tooling, and isolated subagents.' },
168
+ { competitor: 'odysseus', evidence: 'Agent uses web, files, shell, MCP, skills, and memory through opencode.' },
169
+ ],
170
+ },
171
+ {
172
+ id: 'multi-agent-and-remote-execution',
173
+ userOutcome: 'Large tasks can be split safely across isolated agents or remote runners while the user sees progress and can intervene.',
174
+ targetStandard: 'better',
175
+ bestInClassRequirement: 'Parallelism is available when it improves time-to-result, with per-task workspaces, logs, artifacts, and review gates.',
176
+ goodVibesStatus: 'leading',
177
+ owners: ['agent', 'connected-host'],
178
+ goodVibesNow: 'GoodVibes has shared-session, remote runner, artifact, task, worktree, orchestration, subagent, and delegation foundations; Agent exposes `agent_orchestration` and `agent_orchestration_agent` for live visible subagent records, serial-by-default policy, managed multi-agent plan milestones, per-agent plan cards with cancel/message/wait routes, work-plan links, dispatch receipt counts, closeout cards, remote-runner contract/artifact evidence, durable remote closeout receipt evidence from the artifact store, auto-attached remote artifact or receipt review routes matched by runner id, spawn/batch-spawn decision cards, templates, and exact first-class `agent` list/inspect/message/wait/cancel routes, plus local-first, TUI handoff, delegated-review, remote-inspection, and hidden-fanout-blocked decision cards with structured confirmed handoff briefs. Approved visible work-plan items can now be dispatched through `agent_work_plan action:"dispatch_agents"` into first-class `agent` spawn or batch-spawn calls with saved linked-agent receipts, post-dispatch next routes for orchestration, work-plan detail, agent inspect/wait/message/cancel, and closeout, and managed orchestration closeout visibility. Remote artifact-store receipts for remote-runner artifact, closeout, and export outcomes attach to overview and single-agent closeout cards with receipt counts, metadata-only redaction posture, source artifact ids, read-only `agent_artifacts show` inspect routes, and status priority that keeps active/running agents in pending-work instead of treating receipt evidence as completion. When the SDK/daemon publishes remote-runtime read models, Agent now also consumes certified live capture/export/closeout outcome records and per-runner workspace/worktree isolation evidence from `context.platform.readModels.remoteRuntime.*`, related remote runner read-model paths, runtime SDK mirrors, and operator SDK mirrors; those records surface runner ids, capture/export/artifact ids, status, bounded redacted summaries, source paths, workspace ids, path-bounded worktree refs, branches, model inspect routes, source counts, closeout counts, review-gate requirements, schema/version/publication/publisher/provenance/freshness-cursor/receipt evidence, and missing certification signals without creating pools, spawning agents, importing artifacts, accepting workspace evidence, exposing path or token secrets, or mutating remote state. It intentionally blocks invisible local fanout and raw remote mutation from Agent.',
179
+ nextMoves: [
180
+ 'Keep remote-runtime outcome and workspace certification fixtures current as SDK/daemon read models add fields.',
181
+ 'Add connected-host CI coverage for real remote capture/export/closeout streams, workspace lifecycle controls, and failure states when stable daemon fixtures publish them.',
182
+ 'Keep default chat serial, but route complex execution to supervised parallel work when it clearly helps the user.',
183
+ ],
184
+ competitorSignals: [
185
+ { competitor: 'openclaw', evidence: 'Supports multi-agent routing and sessions tools for agent-to-agent coordination.' },
186
+ { competitor: 'hermes', evidence: 'Spawns isolated subagents and has kanban-style orchestration with per-task worktrees.' },
187
+ { competitor: 'odysseus', evidence: 'Lets users hand tools to an agent and have it run whole tasks itself.' },
188
+ ],
189
+ },
190
+ {
191
+ id: 'deep-research-and-knowledge-reports',
192
+ userOutcome: 'The user can ask for deep research and receive a sourced, inspectable report that can be saved to knowledge.',
193
+ targetStandard: 'better',
194
+ bestInClassRequirement: 'Research plans, source quality, citations, synthesis, visual report output, and knowledge ingest are one coherent workflow.',
195
+ goodVibesStatus: 'leading',
196
+ owners: ['agent', 'connected-host'],
197
+ goodVibesNow: 'Agent has web research, URL inspection, Agent Knowledge, ingest routes, route-planner preference for browser-backed runner readiness and visual report rendering posture, a Research workspace that shows browser-runner and visual-report readiness plus exact run/source/report routes, a Research briefing action, Plan workflow action, Public source search action, Browser runner readiness action, and Report artifacts action, a project-local visible research run ledger with phase/progress/checkpoints/log tails/pause/resume/cancel/complete routes, a read-only next-action briefing across visible runs, source review, saved reports, browser readiness, and exact follow-up routes, read-only research workflow planning across run/source/report/browser/Knowledge routes, bounded public source-candidate search that returns capture-ready source summaries and exact confirmed add_source routes without writing the queue, confirmed `research action:"runner"` source collection that creates or resumes a visible run, runs bounded public `web_search`, saves candidate source queue records, checkpoints the run with source ids/log tail/next review routes, and keeps report saving, Knowledge ingest, external messaging, and browser/PWA control separate, browser-backed runner readiness with setup/fallback/source-review/report/Knowledge-promotion routes plus an explicit browser-runner contract for visible controls/source receipts/bounded logs/report handoff, certified SDK/daemon live browser-runner read models with schema/version/publication/publisher/provenance/freshness-cursor/receipt metadata, redacted current URLs/logs, visible checkpoint/pause/resume/cancel routes, source/page receipt ids, and missing-signal surfacing, a research source queue with credibility, score, review/reject/use state, report-ready source lines, reviewed-source bundle handoff, direct saved report artifact inspection, confirmed sourced report artifact saving with citation/source maps plus citation coverage metadata, repair guidance, optional strict enforcement, visual report packets that add at-a-glance summary, evidence matrix, findings board, dated source/comparison view, open questions, next actions, and handoff checklist over the same reviewed source artifact, and certified SDK/daemon browser/PWA visual report render read models with render routes, source-map counts, citation coverage, visual sections, publication/receipt evidence, and redacted render URLs before connected-host rendering is counted as ready.',
198
+ nextMoves: [
199
+ 'Keep live research runner and visual report renderer certification fixtures current as SDK/daemon read models add fields.',
200
+ 'Add connected-host CI coverage for real browser-backed research runs, page/source receipts, rendered report routes, and failure states when stable daemon fixtures publish them.',
201
+ ],
202
+ competitorSignals: [
203
+ { competitor: 'openclaw', evidence: 'Showcases web research, bookmarks, project research, and personal knowledge workflows.' },
204
+ { competitor: 'hermes', evidence: 'Has web tools, session search, trajectory tooling, and research-ready batch workflows.' },
205
+ { competitor: 'odysseus', evidence: 'Ships Deep Research that gathers, reads, and synthesizes sources into a visual report.' },
206
+ ],
207
+ },
208
+ {
209
+ id: 'documents-files-and-model-comparison',
210
+ userOutcome: 'The user can write documents, compare models, handle uploads, and inspect generated artifacts without leaving the assistant.',
211
+ targetStandard: 'parity',
212
+ bestInClassRequirement: 'Documents, uploads, AI edit suggestions, blind model comparison, and artifact reuse are first-class app workflows.',
213
+ goodVibesStatus: 'parity',
214
+ owners: ['agent', 'connected-host'],
215
+ goodVibesNow: 'Document Ops now has project-scoped versioned markdown drafts with browse/show/create/revise/review/comment/suggest/accept-suggestion/reject-suggestion/artifact-attach/artifact-insert/export, uploads, exports, sources, media artifacts, reviewer-ready document export appendices with comment and AI suggestion summaries plus review metadata counts, a visible chronological review packet timeline across documents, comments, AI suggestions, attachments, document exports, comparisons, judgments, route-decision receipts, saved packet presets, handoffs, handoff archives, and route-decision next actions, a visible read-only reviewer-readiness preflight that flags missing source artifacts, unresolved comments, proposed suggestions, unrevealed comparisons, hidden judgments, route-change decisions, and incomplete reviewer handoff evidence before export/archive/apply, inline readiness badges at document export, reviewer handoff/archive, and route-apply forms, review packet defaults that pick the latest document/export/comparison/judgment/route-decision/handoff evidence and use saved preset evidence only as fallback to prefill document export, compare handoff/archive, winner-apply, leave-unchanged route-decision, save-preset, and share forms with field-local hints, a guided read-only review packet wizard with progress, current-step routing, backtracking routes, persisted apply/leave-unchanged route-decision evidence, final archive review, and refreshed-preset lineage verification before external sharing, a confirmed `agent_review_packet_presets` tool plus workspace forms that save/list/show reusable document/comparison/judgment/route-decision/handoff/archive/related artifact packet presets without changing documents, model routing, handoffs, or archives, run list/show freshness checks for missing or superseded artifact ids, recommend reuse routes that point at newer matching evidence when metadata is sufficient, and refresh stale presets into new local preset artifacts with source-preset lineage after explicit confirmation, a unified artifact browser with read-only browse/show, filters, redacted metadata, bounded text previews, confirmed artifact export-to-file, confirmed multi-artifact package directory and ZIP archive export with exact bytes, README, and redacted manifest, confirmed artifact-to-Knowledge promotion, confirmed artifact-to-document attachment, and confirmed artifact-to-compare reuse for saved text artifacts, plus a confirmed blind comparison runner with delayed reveal, durable JSON comparison artifacts, saved review boards, side-by-side reviewer views that combine related document/artifact excerpts with comparison evidence, split-pane reviewer handoff diffs with section jump focus plus recent-handoff defaults and visible recent choices from artifact metadata, saved judgment artifacts, task/document/benchmark-filtered preference analytics and cross-session synthesis, markdown report export, confirmed apply-winner route-decision receipts, confirmed leave-unchanged route-decision receipts, reviewer handoff artifacts that combine comparison evidence with related document/artifact exports, one-click reviewer handoff ZIP archives with source comparison/judgment, related evidence bytes, matching route-decision receipt bytes, README, and manifest ids, confirmed `agent_review_packet_share` delivery of plain-text archive references through configured channel targets after explicit confirmation, and confirmed winner route updates.',
216
+ nextMoves: [
217
+ 'Certify real reviewer packet delivery outcomes across configured channel targets before claiming release-depth external delivery.',
218
+ 'Carry the same packet wizard, lineage, and archive-share workflow into future browser/PWA surfaces without weakening confirmation or ZIP-byte boundaries.',
219
+ ],
220
+ competitorSignals: [
221
+ { competitor: 'openclaw', evidence: 'Canvas and browser/web surfaces provide visual interaction primitives.' },
222
+ { competitor: 'hermes', evidence: 'TUI and dashboard surfaces support conversation history, tools, and sessions.' },
223
+ { competitor: 'odysseus', evidence: 'Ships Documents and Compare workflows in the web workspace.' },
224
+ ],
225
+ },
226
+ {
227
+ id: 'mobile-voice-and-device-nodes',
228
+ userOutcome: 'The user can talk to the assistant and use phone or desktop device capabilities without returning to the terminal.',
229
+ targetStandard: 'better',
230
+ bestInClassRequirement: 'Voice, mobile, notifications, camera, screen, location, and device commands are paired, permission-aware, and reliable.',
231
+ goodVibesStatus: 'leading',
232
+ owners: ['agent', 'connected-host', 'companion'],
233
+ goodVibesNow: 'Agent now has first-class `computer action:"status|plan|control|browser|setup|mcp|open_browser"` UX over browser/PWA readiness, browser/screenshot/desktop-control route planning, repair/setup, trusted tool discovery, and visible browser cockpit handoffs, plus `device action:"status|capability|voice|provider|open_tts_provider|open_tts_voice"` UX over companion pairing, mobile/PWA compatibility, voice/TTS, notifications, provider posture, and visible TTS picker handoffs while preserving the existing harness detail routes. The route planner now prefers `device action:"voice"` for push-to-talk, voice memo transcription, spoken-response, and wake-word posture, `device action:"provider"` for TTS provider/voice setup, and `computer action:"browser"` for browser cockpit/PWA readiness before visible handoffs. The read-only device capability map reports ready/attention/setup-needed/not-published states, computer browser/PWA readiness reports URL/category/mobile/receipt gaps, browser/desktop control reports trusted-tool/MCP setup posture and safe workflow plans, and voice workflow posture maps push-to-talk, voice memo transcription, spoken responses, and wake-word capture. Agent also consumes certified SDK/daemon companion device capability records for camera, screen, location, local device commands, and wake-word routes with schema/version/publication/publisher/provenance/freshness-cursor/receipt metadata, permission scopes, exact inspect/control routes, redacted summaries, and missing-signal surfacing before those capabilities are counted as ready. The Voice & Media workspace now gives users Voice workflows, Device capability map, and Browser/PWA readiness actions with direct `device` and `computer` route hints while preserving confirmation gates for capture, playback, picker, browser-open, permission repair, and device-command effects.',
234
+ nextMoves: [
235
+ 'Keep companion device capability certification fixtures current as SDK/daemon records add camera, screen, location, notification, wake, and device-command fields.',
236
+ 'Add connected-host/companion CI coverage for real permission prompts, capture receipts, route failures, and mobile foreground/background transitions when stable fixtures publish them.',
237
+ 'Keep all device capture, permission repair, notification send, and local command effects behind exact confirmed routes.',
238
+ ],
239
+ competitorSignals: [
240
+ { competitor: 'openclaw', evidence: 'macOS, iOS, and Android nodes expose voice, canvas, camera, screen, location, notifications, and system commands.' },
241
+ { competitor: 'hermes', evidence: 'Runs in Termux and supports voice memo transcription and messaging continuity.' },
242
+ { competitor: 'odysseus', evidence: 'Responsive PWA works on mobile and includes browser notifications.' },
243
+ ],
244
+ },
245
+ {
246
+ id: 'web-dashboard-and-pwa',
247
+ userOutcome: 'The assistant is usable from a browser with clear status, settings, sessions, tools, and mobile-friendly controls.',
248
+ targetStandard: 'better',
249
+ bestInClassRequirement: 'The browser surface is not a secondary admin panel; it is a full user-grade assistant cockpit.',
250
+ goodVibesStatus: 'leading',
251
+ owners: ['connected-host', 'agent'],
252
+ goodVibesNow: 'GoodVibes host has web/control-plane foundations, and Agent now exposes the configured connected-host browser cockpit/PWA through first-class `computer action:"browser|open_browser"` routes plus Home and Voice & Media workspace actions, with route-planner preference for browser cockpit, web dashboard, and PWA wording before any visible browser-open handoff. The route resolves `web.publicBaseUrl` or the web endpoint binding, requires explicit user confirmation before opening an external browser, returns service/web setup routes when disabled, and reports workspace-category coverage, mobile/PWA controls, Agent onboarding marker status, and browser/PWA first-run receipts without pretending Agent hosts a separate web app. Agent now consumes certified SDK/daemon browser/PWA category-route read models for the full Agent workspace category map, requiring schema/version/publication/publisher/provenance/freshness-cursor/receipt metadata, exact inspect/open routes, and mobile/touch evidence before the browser cockpit is counted as browser-native ready. It also consumes certified browser/PWA first-run runtime receipts with manifest/service-worker/install/offline evidence and redacted URLs/summaries, while the Start checklist still promotes Browser/PWA from durable setup receipt artifacts, live setup receipt read models, or ordered setup receipt event streams. With certified route coverage and certified first-run evidence, `computer action:"browser"` and the connected UI surface report `browser-native-ready`; without that evidence, the same UX keeps setup/receipt gaps visible and falls back to the TUI workspace.',
253
+ nextMoves: [
254
+ 'Keep certified browser/PWA category-route and first-run receipt schemas in lockstep with SDK/daemon contract versions.',
255
+ 'Add live connected-host browser/PWA acceptance artifacts to every stable-release verification run.',
256
+ 'Keep mobile browser cockpit controls mapped to the same Agent workspace categories as new workspace lanes are added.',
257
+ ],
258
+ competitorSignals: [
259
+ { competitor: 'openclaw', evidence: 'Gateway serves Control UI and WebChat, plus companion apps.' },
260
+ { competitor: 'hermes', evidence: 'Provides local web dashboard and TUI gateway surfaces.' },
261
+ { competitor: 'odysseus', evidence: 'Primary experience is a self-hosted responsive web workspace/PWA.' },
262
+ ],
263
+ },
264
+ {
265
+ id: 'security-permissions-and-recovery',
266
+ userOutcome: 'Powerful automation is safe by default, explainable, recoverable, and adjustable without killing capability.',
267
+ targetStandard: 'better',
268
+ bestInClassRequirement: 'Every risky action has clear scope, trust, provenance, approval UX, logs, rollback, and doctor repair.',
269
+ goodVibesStatus: 'leading',
270
+ owners: ['agent', 'connected-host', 'release'],
271
+ goodVibesNow: 'GoodVibes has strong permission policy, secrets, MCP trust, pairing, redaction, readiness, doctor, release evidence, operator audit surfaces, first-class security posture and finding inspection, and route-planner preference for `security action:"status|finding|explain"` so users can ask what permissions are active, inspect exact findings, or see whether one model action is allowed, denied, blocked, or waiting on confirmation.',
272
+ nextMoves: [
273
+ 'Keep strong defaults while reducing unnecessary confirmations for already-approved low-risk workflows.',
274
+ 'Attach every autonomous task to audit logs, artifacts, and rollback or cancel affordances.',
275
+ ],
276
+ competitorSignals: [
277
+ { competitor: 'openclaw', evidence: 'Emphasizes secure defaults, DM pairing, allowlists, sandboxing, and doctor checks.' },
278
+ { competitor: 'hermes', evidence: 'Documents command approval, DM pairing, container isolation, network egress isolation, and observability hooks.' },
279
+ { competitor: 'odysseus', evidence: 'Gates admin-only tools, local services, shell, file access, webhooks, and tokens with security guidance.' },
280
+ ],
281
+ },
282
+ ];
283
+
284
+ export function competitiveInventoryStatusCounts(): Record<GoodVibesCompetitiveStatus, number> {
285
+ return COMPETITIVE_FEATURE_INVENTORY.reduce<Record<GoodVibesCompetitiveStatus, number>>((counts, item) => {
286
+ counts[item.goodVibesStatus] += 1;
287
+ return counts;
288
+ }, {
289
+ leading: 0,
290
+ parity: 0,
291
+ partial: 0,
292
+ gap: 0,
293
+ });
294
+ }
@@ -0,0 +1,106 @@
1
+ export type AgentDocumentStatus = 'draft' | 'reviewed' | 'archived';
2
+ export type AgentDocumentCommentStatus = 'open' | 'resolved';
3
+ export type AgentDocumentSuggestionStatus = 'proposed' | 'accepted' | 'rejected';
4
+
5
+ export interface AgentDocumentVersion {
6
+ readonly id: string;
7
+ readonly title: string;
8
+ readonly body: string;
9
+ readonly summary: string;
10
+ readonly createdAt: string;
11
+ }
12
+
13
+ export interface AgentDocumentComment {
14
+ readonly id: string;
15
+ readonly body: string;
16
+ readonly status: AgentDocumentCommentStatus;
17
+ readonly createdAt: string;
18
+ readonly updatedAt: string;
19
+ readonly resolvedAt?: string;
20
+ }
21
+
22
+ export interface AgentDocumentSuggestion {
23
+ readonly id: string;
24
+ readonly title: string;
25
+ readonly body: string;
26
+ readonly tags: readonly string[];
27
+ readonly documentStatus?: AgentDocumentStatus;
28
+ readonly summary: string;
29
+ readonly rationale: string;
30
+ readonly status: AgentDocumentSuggestionStatus;
31
+ readonly createdAt: string;
32
+ readonly updatedAt: string;
33
+ readonly resolvedAt?: string;
34
+ }
35
+
36
+ export interface AgentDocumentAttachment {
37
+ readonly id: string;
38
+ readonly artifactId: string;
39
+ readonly label: string;
40
+ readonly note?: string;
41
+ readonly filename?: string;
42
+ readonly mimeType?: string;
43
+ readonly kind?: string;
44
+ readonly sizeBytes?: number;
45
+ readonly createdAt: string;
46
+ readonly updatedAt: string;
47
+ }
48
+
49
+ export interface AgentDocumentRecord {
50
+ readonly id: string;
51
+ readonly title: string;
52
+ readonly body: string;
53
+ readonly tags: readonly string[];
54
+ readonly status: AgentDocumentStatus;
55
+ readonly createdAt: string;
56
+ readonly updatedAt: string;
57
+ readonly versions: readonly AgentDocumentVersion[];
58
+ readonly comments: readonly AgentDocumentComment[];
59
+ readonly suggestions: readonly AgentDocumentSuggestion[];
60
+ readonly attachments: readonly AgentDocumentAttachment[];
61
+ readonly lastArtifactId?: string;
62
+ }
63
+
64
+ export interface AgentDocumentCreateInput {
65
+ readonly title: string;
66
+ readonly body: string;
67
+ readonly tags?: readonly string[];
68
+ readonly summary?: string;
69
+ }
70
+
71
+ export interface AgentDocumentUpdateInput {
72
+ readonly title?: string;
73
+ readonly body?: string;
74
+ readonly tags?: readonly string[];
75
+ readonly summary?: string;
76
+ readonly status?: AgentDocumentStatus;
77
+ readonly lastArtifactId?: string;
78
+ }
79
+
80
+ export interface AgentDocumentCommentInput {
81
+ readonly body: string;
82
+ }
83
+
84
+ export interface AgentDocumentSuggestionInput {
85
+ readonly title?: string;
86
+ readonly body: string;
87
+ readonly tags?: readonly string[];
88
+ readonly status?: AgentDocumentStatus;
89
+ readonly summary?: string;
90
+ readonly rationale?: string;
91
+ }
92
+
93
+ export interface AgentDocumentAttachmentInput {
94
+ readonly artifactId: string;
95
+ readonly label?: string;
96
+ readonly note?: string;
97
+ readonly filename?: string;
98
+ readonly mimeType?: string;
99
+ readonly kind?: string;
100
+ readonly sizeBytes?: number;
101
+ }
102
+
103
+ export interface AgentDocumentSnapshot {
104
+ readonly path: string;
105
+ readonly documents: readonly AgentDocumentRecord[];
106
+ }