@pellux/goodvibes-agent 1.0.31 → 1.0.34

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 (74) hide show
  1. package/CHANGELOG.md +59 -2
  2. package/README.md +72 -58
  3. package/dist/package/main.js +7572 -2430
  4. package/docs/README.md +25 -21
  5. package/docs/channels-remote-and-api.md +6 -2
  6. package/docs/connected-host.md +27 -6
  7. package/docs/getting-started.md +87 -66
  8. package/docs/knowledge-artifacts-and-multimodal.md +16 -4
  9. package/docs/project-planning.md +2 -2
  10. package/docs/providers-and-routing.md +3 -2
  11. package/docs/release-and-publishing.md +15 -11
  12. package/docs/tools-and-commands.md +150 -128
  13. package/docs/voice-and-live-tts.md +1 -1
  14. package/package.json +8 -3
  15. package/release/live-verification/live-verification.json +148 -0
  16. package/release/live-verification/live-verification.md +187 -0
  17. package/release/performance-snapshot.json +57 -0
  18. package/release/release-notes.md +19 -0
  19. package/release/release-readiness.json +581 -0
  20. package/src/agent/harness-control.ts +42 -3
  21. package/src/cli/agent-knowledge-command.ts +5 -5
  22. package/src/cli/agent-knowledge-format.ts +11 -0
  23. package/src/cli/agent-knowledge-runtime.ts +92 -13
  24. package/src/cli/bundle-command.ts +5 -4
  25. package/src/cli/entrypoint.ts +5 -2
  26. package/src/cli/external-runtime.ts +2 -15
  27. package/src/cli/management.ts +4 -3
  28. package/src/input/commands/guidance-runtime.ts +1 -1
  29. package/src/input/commands/knowledge.ts +2 -2
  30. package/src/runtime/bootstrap.ts +10 -18
  31. package/src/runtime/connected-host-auth.ts +16 -0
  32. package/src/tools/agent-analysis-registry-policy.ts +2 -9
  33. package/src/tools/agent-channel-send-tool.ts +3 -9
  34. package/src/tools/agent-context-policy.ts +1 -5
  35. package/src/tools/agent-find-policy.ts +1 -4
  36. package/src/tools/agent-harness-channel-metadata.ts +177 -0
  37. package/src/tools/agent-harness-cli-metadata.ts +4 -1
  38. package/src/tools/agent-harness-command-catalog.ts +10 -3
  39. package/src/tools/agent-harness-connected-host-status.ts +9 -3
  40. package/src/tools/agent-harness-delegation-posture.ts +216 -0
  41. package/src/tools/agent-harness-keybinding-metadata.ts +57 -22
  42. package/src/tools/agent-harness-mcp-metadata.ts +248 -0
  43. package/src/tools/agent-harness-media-posture.ts +282 -0
  44. package/src/tools/agent-harness-metadata.ts +44 -9
  45. package/src/tools/agent-harness-model-routing.ts +501 -0
  46. package/src/tools/agent-harness-model-tool-catalog.ts +7 -2
  47. package/src/tools/agent-harness-notification-metadata.ts +217 -0
  48. package/src/tools/agent-harness-operator-methods.ts +285 -0
  49. package/src/tools/agent-harness-pairing-posture.ts +265 -0
  50. package/src/tools/agent-harness-panel-metadata.ts +26 -12
  51. package/src/tools/agent-harness-provider-account-metadata.ts +205 -0
  52. package/src/tools/agent-harness-release-evidence.ts +364 -0
  53. package/src/tools/agent-harness-release-readiness.ts +298 -0
  54. package/src/tools/agent-harness-security-posture.ts +648 -0
  55. package/src/tools/agent-harness-service-posture.ts +207 -0
  56. package/src/tools/agent-harness-session-metadata.ts +284 -0
  57. package/src/tools/agent-harness-setup-posture.ts +295 -0
  58. package/src/tools/agent-harness-tool-schema.ts +104 -27
  59. package/src/tools/agent-harness-tool.ts +251 -235
  60. package/src/tools/agent-harness-ui-surface-metadata.ts +20 -12
  61. package/src/tools/agent-harness-workspace-actions.ts +260 -0
  62. package/src/tools/agent-knowledge-ingest-tool.ts +4 -10
  63. package/src/tools/agent-knowledge-tool.ts +120 -25
  64. package/src/tools/agent-local-registry-tool.ts +3 -7
  65. package/src/tools/agent-media-generate-tool.ts +2 -8
  66. package/src/tools/agent-notify-tool.ts +3 -8
  67. package/src/tools/agent-operator-action-tool.ts +4 -10
  68. package/src/tools/agent-operator-briefing-tool.ts +1 -6
  69. package/src/tools/agent-read-policy.ts +1 -4
  70. package/src/tools/agent-reminder-schedule-tool.ts +4 -9
  71. package/src/tools/agent-tool-policy-guard.ts +15 -51
  72. package/src/tools/agent-web-search-policy.ts +1 -4
  73. package/src/tools/agent-work-plan-tool.ts +1 -6
  74. package/src/version.ts +2 -2
@@ -78,18 +78,13 @@ export function createAgentNotifyTool(
78
78
  return {
79
79
  definition: {
80
80
  name: 'agent_notify',
81
- description: [
82
- 'Send one plain-text notification to configured GoodVibes Agent webhook notification targets from the main conversation.',
83
- 'Use only when the user explicitly asks Agent to notify, message, alert, or send a configured notification.',
84
- 'This uses Agent-local notification webhook targets; it does not create channel routes, authorize accounts, manage connected-host hosting, create separate Agent jobs, run delegated review, or write to default knowledge or non-Agent knowledge segments.',
85
- 'Set confirm:true only for an explicit user request. Otherwise return the preview/confirmation error.',
86
- ].join(' '),
81
+ description: 'Send one confirmed plain-text notification.',
87
82
  parameters: {
88
83
  type: 'object',
89
84
  properties: {
90
85
  message: {
91
86
  type: 'string',
92
- description: 'Plain-text notification body to send to configured Agent notification webhook targets.',
87
+ description: 'Plain-text notification body.',
93
88
  },
94
89
  confirm: {
95
90
  type: 'boolean',
@@ -97,7 +92,7 @@ export function createAgentNotifyTool(
97
92
  },
98
93
  explicitUserRequest: {
99
94
  type: 'string',
100
- description: 'Short quote or summary of the user request that authorized this external notification.',
95
+ description: 'User request authorizing this notification.',
101
96
  },
102
97
  },
103
98
  required: ['message', 'confirm', 'explicitUserRequest'],
@@ -35,13 +35,7 @@ export function createAgentOperatorActionTool(
35
35
  return {
36
36
  definition: {
37
37
  name: 'agent_operator_action',
38
- description: [
39
- 'Perform one explicit, confirmed connected-host operator action from the main conversation.',
40
- 'Allowed actions are approvals.approve, approvals.deny, approvals.cancel, automation.jobs.run, automation.jobs.pause, automation.jobs.resume, automation.runs.cancel, automation.runs.retry, and schedules.run.',
41
- 'Use only when the user explicitly asks for that exact approval, automation job, automation run, or schedule action.',
42
- 'This tool never creates, edits, deletes, or discovers automation definitions; never manages connected-host hosting; never uses default knowledge, non-Agent knowledge segments, separate Agent jobs, delegated review, or arbitrary route invocation.',
43
- 'Set confirm:true only for an explicit user request. Otherwise return the preview/confirmation error.',
44
- ].join(' '),
38
+ description: 'Run one confirmed allowlisted operator action.',
45
39
  parameters: {
46
40
  type: 'object',
47
41
  properties: {
@@ -52,7 +46,7 @@ export function createAgentOperatorActionTool(
52
46
  },
53
47
  targetId: {
54
48
  type: 'string',
55
- description: 'Generic target id. Prefer the specific approvalId, jobId, runId, or scheduleId field when known.',
49
+ description: 'Generic target id.',
56
50
  },
57
51
  approvalId: {
58
52
  type: 'string',
@@ -60,7 +54,7 @@ export function createAgentOperatorActionTool(
60
54
  },
61
55
  jobId: {
62
56
  type: 'string',
63
- description: 'Automation job id for automation.jobs.run, automation.jobs.pause, or automation.jobs.resume.',
57
+ description: 'Automation job id.',
64
58
  },
65
59
  runId: {
66
60
  type: 'string',
@@ -80,7 +74,7 @@ export function createAgentOperatorActionTool(
80
74
  },
81
75
  confirm: {
82
76
  type: 'boolean',
83
- description: 'Required true only when the user explicitly asked for this exact operator action.',
77
+ description: 'Required true for confirmed operator action.',
84
78
  },
85
79
  explicitUserRequest: {
86
80
  type: 'string',
@@ -175,12 +175,7 @@ export function createAgentOperatorBriefingTool(
175
175
  return {
176
176
  definition: {
177
177
  name: 'agent_operator_briefing',
178
- description: [
179
- 'Read connected GoodVibes operator state for a concise main-conversation briefing.',
180
- 'Use when the user asks what needs attention, what is pending, what is scheduled, or what the operator status is.',
181
- 'This is read-only and calls only public work-plan, approvals, automation, schedules, and scheduler routes.',
182
- 'It never uses default knowledge, non-Agent knowledge segments, channel send routes, mutation routes, connected-host lifecycle, separate Agent jobs, or delegated review.',
183
- ].join(' '),
178
+ description: 'Read connected Agent operator state for a concise briefing.',
184
179
  parameters: {
185
180
  type: 'object',
186
181
  properties: {},
@@ -126,10 +126,7 @@ export function isBlockedReadPath(path: string): boolean {
126
126
  }
127
127
 
128
128
  function narrowReadToolDefinitionForAgentPolicy(tool: Tool): void {
129
- tool.definition.description = [
130
- 'Read ordinary project files for GoodVibes Agent with bounded, non-secret, main-conversation policy.',
131
- 'Hidden paths, secret-looking files, broad batches, unoptimized image extraction, and oversized image reads are disabled.',
132
- ].join(' ');
129
+ tool.definition.description = 'Read ordinary non-secret project files for GoodVibes Agent.';
133
130
  tool.definition.sideEffects = ['read_fs'];
134
131
  tool.definition.concurrency = 'serial';
135
132
 
@@ -120,12 +120,7 @@ export function createAgentReminderScheduleTool(
120
120
  return {
121
121
  definition: {
122
122
  name: 'agent_reminder_schedule',
123
- description: [
124
- 'Create one connected GoodVibes Agent reminder schedule from the main conversation.',
125
- 'Use only when the user explicitly asks to be reminded or asks Agent to schedule a reminder.',
126
- 'This calls the public schedules.create route on the connected GoodVibes host; it does not manage connected-host hosting, create a local scheduler, create separate Agent jobs, use delegated review, or write to default knowledge or non-Agent knowledge segments.',
127
- 'Set confirm:true only for an explicit user request. Otherwise return the preview/confirmation error.',
128
- ].join(' '),
123
+ description: 'Schedule one confirmed GoodVibes Agent reminder.',
129
124
  parameters: {
130
125
  type: 'object',
131
126
  properties: {
@@ -136,7 +131,7 @@ export function createAgentReminderScheduleTool(
136
131
  scheduleKind: {
137
132
  type: 'string',
138
133
  enum: [...SCHEDULE_KINDS],
139
- description: 'Schedule selector: at for one timestamp, every for an interval, cron for a cron expression.',
134
+ description: 'Schedule kind: at, every, or cron.',
140
135
  },
141
136
  scheduleValue: {
142
137
  type: 'string',
@@ -160,7 +155,7 @@ export function createAgentReminderScheduleTool(
160
155
  },
161
156
  deliveryChannel: {
162
157
  type: 'string',
163
- description: 'Optional delivery channel target: surfaceKind:routeId:label, for example slack:ops:Ops.',
158
+ description: 'Optional delivery channel target.',
164
159
  },
165
160
  deliveryRoute: {
166
161
  type: 'string',
@@ -184,7 +179,7 @@ export function createAgentReminderScheduleTool(
184
179
  },
185
180
  explicitUserRequest: {
186
181
  type: 'string',
187
- description: 'Short quote or summary of the user request that authorized this reminder creation.',
182
+ description: 'User request authorizing this reminder.',
188
183
  },
189
184
  },
190
185
  required: ['message', 'scheduleKind', 'scheduleValue', 'confirm', 'explicitUserRequest'],
@@ -206,10 +206,7 @@ export function installAgentToolPolicyGuard(registry: ToolRegistry, options: Age
206
206
  wrapModeRestrictedToolForAgentPolicy(tool, {
207
207
  allowedModes: READ_ONLY_REMOTE_TOOL_MODES,
208
208
  modeSet: READ_ONLY_REMOTE_TOOL_MODE_SET,
209
- description: [
210
- 'Read-only remote build-host inspection for GoodVibes Agent.',
211
- 'Pool creation, host assignment, unassignment, and artifact import are disabled in the main conversation.',
212
- ].join(' '),
209
+ description: 'Read-only remote build-host inspection. Mutations are disabled in Agent.',
213
210
  denial: REMOTE_MUTATION_DENIAL,
214
211
  });
215
212
  } else if (tool.definition.name === 'channel') {
@@ -218,10 +215,7 @@ export function installAgentToolPolicyGuard(registry: ToolRegistry, options: Age
218
215
  wrapModeRestrictedToolForAgentPolicy(tool, {
219
216
  allowedModes: READ_ONLY_MCP_TOOL_MODES,
220
217
  modeSet: READ_ONLY_MCP_TOOL_MODE_SET,
221
- description: [
222
- 'Read-only MCP inspection for GoodVibes Agent.',
223
- 'Quarantine approval, trust mutation, and role mutation are disabled in the main conversation.',
224
- ].join(' '),
218
+ description: 'Read-only MCP inspection. Mutations are disabled in Agent.',
225
219
  denial: MCP_SECURITY_MUTATION_DENIAL,
226
220
  });
227
221
  } else if (tool.definition.name === 'fetch') {
@@ -246,17 +240,14 @@ export function installAgentToolPolicyGuard(registry: ToolRegistry, options: Age
246
240
  wrapModeRestrictedToolForAgentPolicy(tool, {
247
241
  allowedModes: READ_ONLY_CONTROL_TOOL_MODES,
248
242
  modeSet: READ_ONLY_CONTROL_TOOL_MODE_SET,
249
- description: [
250
- 'Read-only product-control inspection for GoodVibes Agent.',
251
- 'Command, panel, and subscription catalogs can be inspected, but product-control mutation and connected-host lifecycle are external.',
252
- ].join(' '),
243
+ description: 'Read-only product-control inspection. Mutations are external.',
253
244
  denial: CONTROL_MUTATION_DENIAL,
254
245
  });
255
246
  } else if (tool.definition.name === 'task') {
256
247
  wrapModeRestrictedToolForAgentPolicy(tool, {
257
248
  allowedModes: READ_ONLY_TASK_TOOL_MODES,
258
249
  modeSet: READ_ONLY_TASK_TOOL_MODE_SET,
259
- description: 'Read-only task/workflow inspection for GoodVibes Agent. Task creation, status changes, dependencies, cancellation, and handoff mutation are disabled in the main conversation.',
250
+ description: 'Read-only task/workflow inspection. Mutations are disabled in Agent.',
260
251
  denial: DURABLE_WORKFLOW_MUTATION_DENIAL,
261
252
  removedProperties: ['title', 'label', 'status', 'dependsOnSessionId', 'dependsOnTaskId', 'reason', 'toSessionId'],
262
253
  });
@@ -264,7 +255,7 @@ export function installAgentToolPolicyGuard(registry: ToolRegistry, options: Age
264
255
  wrapModeRestrictedToolForAgentPolicy(tool, {
265
256
  allowedModes: READ_ONLY_TEAM_TOOL_MODES,
266
257
  modeSet: READ_ONLY_TEAM_TOOL_MODE_SET,
267
- description: 'Read-only team inspection for GoodVibes Agent. Team creation, membership changes, lane changes, and deletion are disabled in the main conversation.',
258
+ description: 'Read-only team inspection. Mutations are disabled in Agent.',
268
259
  denial: DURABLE_WORKFLOW_MUTATION_DENIAL,
269
260
  removedProperties: ['name', 'summary', 'memberId', 'role', 'lanes'],
270
261
  });
@@ -272,7 +263,7 @@ export function installAgentToolPolicyGuard(registry: ToolRegistry, options: Age
272
263
  wrapModeRestrictedToolForAgentPolicy(tool, {
273
264
  allowedModes: READ_ONLY_WORKLIST_TOOL_MODES,
274
265
  modeSet: READ_ONLY_WORKLIST_TOOL_MODE_SET,
275
- description: 'Read-only worklist inspection for GoodVibes Agent. Worklist creation and item lifecycle changes are disabled in the main conversation.',
266
+ description: 'Read-only worklist inspection. Mutations are disabled in Agent.',
276
267
  denial: DURABLE_WORKFLOW_MUTATION_DENIAL,
277
268
  removedProperties: ['title', 'itemId', 'text', 'owner', 'priority'],
278
269
  });
@@ -280,7 +271,7 @@ export function installAgentToolPolicyGuard(registry: ToolRegistry, options: Age
280
271
  wrapModeRestrictedToolForAgentPolicy(tool, {
281
272
  allowedModes: READ_ONLY_PACKET_TOOL_MODES,
282
273
  modeSet: READ_ONLY_PACKET_TOOL_MODE_SET,
283
- description: 'Read-only operator packet inspection for GoodVibes Agent. Packet creation, revision, and publishing are disabled in the main conversation.',
274
+ description: 'Read-only operator packet inspection. Mutations are disabled in Agent.',
284
275
  denial: DURABLE_WORKFLOW_MUTATION_DENIAL,
285
276
  removedProperties: ['title', 'summary', 'goals', 'constraints', 'risks', 'audience'],
286
277
  });
@@ -288,7 +279,7 @@ export function installAgentToolPolicyGuard(registry: ToolRegistry, options: Age
288
279
  wrapModeRestrictedToolForAgentPolicy(tool, {
289
280
  allowedModes: READ_ONLY_QUERY_TOOL_MODES,
290
281
  modeSet: READ_ONLY_QUERY_TOOL_MODE_SET,
291
- description: 'Read-only operator query inspection for GoodVibes Agent. Asking, answering, and closing runtime-owned workflow queries are disabled in the main conversation.',
282
+ description: 'Read-only operator query inspection. Mutations are disabled in Agent.',
292
283
  denial: DURABLE_WORKFLOW_MUTATION_DENIAL,
293
284
  removedProperties: ['prompt', 'askedBy', 'target', 'answer', 'resolution'],
294
285
  });
@@ -318,11 +309,7 @@ export function normalizeAgentToolInvocationForAgentPolicy(args: AgentToolArgs):
318
309
  }
319
310
 
320
311
  export function wrapBlockedMainConversationToolForAgentPolicy(tool: Tool): void {
321
- tool.definition.description = [
322
- `Blocked in GoodVibes Agent main conversation: ${tool.definition.name}.`,
323
- 'Use explicit GoodVibes TUI build delegation for build/fix/review/code execution work.',
324
- 'Use Agent-owned local registries and isolated Agent Knowledge routes for Agent memory and knowledge work.',
325
- ].join(' ');
312
+ tool.definition.description = `Blocked in GoodVibes Agent: ${tool.definition.name}.`;
326
313
  tool.definition.sideEffects = [];
327
314
  tool.execute = async () => ({ success: false, error: LOCAL_CODING_TOOL_DENIAL });
328
315
  }
@@ -358,11 +345,7 @@ export function wrapStateToolForAgentPolicy(tool: Tool): void {
358
345
  }
359
346
 
360
347
  export function wrapBlockedSettingsToolForAgentPolicy(tool: Tool): void {
361
- tool.definition.description = [
362
- 'Blocked in GoodVibes Agent main conversation: configuration mutation.',
363
- 'Use explicit Agent CLI/slash settings commands for intentional config changes.',
364
- 'Connected-host lifecycle and service exposure remain externally managed outside GoodVibes Agent.',
365
- ].join(' ');
348
+ tool.definition.description = 'Blocked in GoodVibes Agent: configuration mutation.';
366
349
  tool.definition.sideEffects = [];
367
350
  tool.definition.parameters = {
368
351
  type: 'object',
@@ -612,11 +595,7 @@ function isPresent(value: unknown): boolean {
612
595
  }
613
596
 
614
597
  function narrowAgentToolDefinitionForAgentPolicy(tool: Tool): void {
615
- tool.definition.description = [
616
- 'Read-only local Agent inspection for GoodVibes Agent.',
617
- 'This product does not create separate Agent jobs or run local delegated review chains.',
618
- 'For build/fix/review work, delegate to GoodVibes TUI through the explicit build-delegation path instead.',
619
- ].join(' ');
598
+ tool.definition.description = 'Read-only local Agent inspection for GoodVibes Agent.';
620
599
  tool.definition.sideEffects = [];
621
600
 
622
601
  const properties = tool.definition.parameters.properties;
@@ -628,11 +607,7 @@ function narrowAgentToolDefinitionForAgentPolicy(tool: Tool): void {
628
607
  }
629
608
 
630
609
  function narrowExecToolDefinitionForAgentPolicy(tool: Tool): void {
631
- tool.definition.description = [
632
- 'Execute foreground shell commands serially for GoodVibes Agent main-conversation work.',
633
- 'Background processes, parallel batches, background process controls, and exec file_ops are disabled by Agent policy.',
634
- 'Delegate long-running build/fix/review execution to GoodVibes TUI instead.',
635
- ].join(' ');
610
+ tool.definition.description = 'Execute foreground shell commands serially for GoodVibes Agent.';
636
611
 
637
612
  const properties = tool.definition.parameters.properties;
638
613
  if (!isRecord(properties)) return;
@@ -657,11 +632,7 @@ function narrowExecToolDefinitionForAgentPolicy(tool: Tool): void {
657
632
  }
658
633
 
659
634
  function narrowFetchToolDefinitionForAgentPolicy(tool: Tool): void {
660
- tool.definition.description = [
661
- 'Fetch public URLs for GoodVibes Agent with serial, read-only HTTP requests.',
662
- 'Only GET, HEAD, and OPTIONS are available in the main conversation.',
663
- 'Credentialed requests, request bodies, trust overrides, raw unsanitized responses, and parallel batches are disabled by Agent policy.',
664
- ].join(' ');
635
+ tool.definition.description = 'Fetch public URLs with serial, read-only HTTP requests.';
665
636
 
666
637
  const properties = tool.definition.parameters.properties;
667
638
  if (!isRecord(properties)) return;
@@ -698,11 +669,7 @@ function narrowFetchToolDefinitionForAgentPolicy(tool: Tool): void {
698
669
  }
699
670
 
700
671
  function narrowStateToolDefinitionForAgentPolicy(tool: Tool): void {
701
- tool.definition.description = [
702
- 'Inspect runtime-owned state for GoodVibes Agent.',
703
- 'State mutation, runtime-owned memory writes, hook changes, output-mode changes, and analytics writes are disabled in the main conversation.',
704
- 'Use Agent-owned commands for intentional memory, skill, persona, and routine changes.',
705
- ].join(' ');
672
+ tool.definition.description = 'Inspect runtime-owned state for GoodVibes Agent.';
706
673
 
707
674
  const properties = tool.definition.parameters.properties;
708
675
  if (!isRecord(properties)) return;
@@ -732,10 +699,7 @@ function narrowStateToolDefinitionForAgentPolicy(tool: Tool): void {
732
699
  }
733
700
 
734
701
  function narrowInspectToolDefinitionForAgentPolicy(tool: Tool): void {
735
- tool.definition.description = [
736
- 'Inspect and analyze project structure for GoodVibes Agent.',
737
- 'Scaffold mode is dry-run-only in the main conversation; code creation must be delegated to GoodVibes TUI.',
738
- ].join(' ');
702
+ tool.definition.description = 'Inspect and analyze project structure for GoodVibes Agent.';
739
703
 
740
704
  const properties = tool.definition.parameters.properties;
741
705
  if (!isRecord(properties)) return;
@@ -73,10 +73,7 @@ export function normalizeWebSearchToolInvocationForAgentPolicy(args: WebSearchTo
73
73
  }
74
74
 
75
75
  function narrowWebSearchToolDefinitionForAgentPolicy(tool: Tool): void {
76
- tool.definition.description = [
77
- 'Run bounded, read-only web research for GoodVibes Agent.',
78
- 'Full-page/raw/summary extraction, safe-search off, and high-fanout searches are disabled in the main conversation.',
79
- ].join(' ');
76
+ tool.definition.description = 'Run bounded, read-only web research for GoodVibes Agent.';
80
77
  tool.definition.sideEffects = ['network'];
81
78
 
82
79
  const properties = tool.definition.parameters.properties;
@@ -165,12 +165,7 @@ export function createAgentWorkPlanTool(store: WorkPlanStore): Tool {
165
165
  return {
166
166
  definition: {
167
167
  name: 'agent_work_plan',
168
- description: [
169
- 'Inspect and maintain the visible GoodVibes Agent local work plan from the main conversation.',
170
- 'Use this to track concrete tasks the assistant is doing or has agreed to do, so the work is visible in the Agent TUI workspace.',
171
- 'This uses only Agent-local persisted work-plan state; it does not call connected-host mutation routes, start background jobs, create separate Agent jobs, use delegated review, write default knowledge, or use non-Agent knowledge segments.',
172
- 'Create, update, and set_status are safe local state actions. remove and clear_completed require confirm:true plus explicitUserRequest.',
173
- ].join(' '),
168
+ description: 'Inspect or update the visible Agent-local work plan.',
174
169
  parameters: {
175
170
  type: 'object',
176
171
  properties: {
package/src/version.ts CHANGED
@@ -6,8 +6,8 @@ import { join } from 'node:path';
6
6
  // The prebuild script updates the fallback value before compilation.
7
7
  // Uses import.meta.dir (Bun) to locate package.json relative to this file,
8
8
  // which is correct regardless of the process working directory.
9
- let _version = '1.0.31';
10
- let _sdkVersion = '0.33.35';
9
+ let _version = '1.0.34';
10
+ let _sdkVersion = '0.33.36';
11
11
  try {
12
12
  const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', 'package.json'), 'utf-8')) as {
13
13
  readonly version?: unknown;