geo-ai-search-optimization 1.3.12 → 1.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -924,6 +924,20 @@ geo-ai-search-optimization help
924
924
  - `src/cli-shell-commands.js` 与 `src/cli-flow-commands.js` 现在由同一份声明同时生成 help lines 和 handlers
925
925
  - CLI 开始从“多个 handler 文件”进一步推进到“显式 command registry”模式
926
926
 
927
+ ## New in 1.3.13
928
+
929
+ - 把 registry metadata 推广到 `agent-execution` 命令族
930
+ - `src/cli-agent-execution-commands.js` 现在由同一份 registry 同时生成 help lines 和 handlers
931
+ - `agent-runbook / agent-executor / agent-batch-executor / agent-progress-tracker / agent-status-board / agent-checkpoint / agent-decision-log / agent-retrospective / agent-playbook-pack` 已统一进入 registry
932
+ - CLI 距离“所有命令族都使用显式 registry metadata”又更近一步
933
+
934
+ ## New in 1.3.14
935
+
936
+ - 把 registry metadata 推广到 `planning-delivery` 命令族
937
+ - `src/cli-planning-delivery-commands.js` 现在由同一份 registry 同时生成 help lines 和 handlers
938
+ - `agent-handoff / apply-plan / completion-report / handoff-bundle / share-pack / export-pack / html-pack / publish-pack / exec-summary / fix-plan / owner-board / meeting-pack / pm-brief / roadmap / report` 已统一进入 registry
939
+ - CLI 更接近所有命令族都使用显式 registry metadata 的结构
940
+
927
941
  ## New in 1.2.20
928
942
 
929
943
  - 新增 `agent-continue`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geo-ai-search-optimization",
3
- "version": "1.3.12",
3
+ "version": "1.3.14",
4
4
  "description": "Install and run a Generative Engine Optimization (GEO)-first, SEO-supported Codex skill for website optimization.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -20,6 +20,7 @@ import { createAgentRetrospective, renderAgentRetrospectiveMarkdown, writeAgentR
20
20
  import { createAgentStatusBoard, renderAgentStatusBoardMarkdown, writeAgentStatusBoardOutput } from "./agent-status-board.js";
21
21
  import { createAgentRunbook, renderAgentRunbookMarkdown, writeAgentRunbookOutput } from "./agent-runbook.js";
22
22
  import {
23
+ buildCommandRegistry,
23
24
  buildIntentTaskFormatOptions,
24
25
  buildJsonCapableFormatOptions,
25
26
  buildProgressFormatOptions,
@@ -28,18 +29,6 @@ import {
28
29
  getFlagValue
29
30
  } from "./cli-shared.js";
30
31
 
31
- export const AGENT_EXECUTION_HELP_LINES = [
32
- " geo-ai-search-optimization agent-runbook <input> [--intent <auto|diagnose|guide|execute|share|closeout>] [--task <id>] [--format <markdown|json>] [--out <file>]",
33
- " geo-ai-search-optimization agent-executor <input> [--intent <auto|diagnose|guide|execute|share|closeout>] [--task <id>] [--format <markdown|json>] [--out <file>]",
34
- " geo-ai-search-optimization agent-batch-executor <input> [--intent <auto|diagnose|guide|execute|share|closeout>] [--task <id>] [--count <count>] [--format <markdown|json>] [--out <file>]",
35
- " geo-ai-search-optimization agent-progress-tracker <input> [--current <id>] [--completed <id,id>] [--blocked <reason,reason>] [--format <markdown|json>] [--out <file>]",
36
- " geo-ai-search-optimization agent-status-board <input> [--current <id>] [--completed <id,id>] [--blocked <reason,reason>] [--format <markdown|json>] [--out <file>]",
37
- " geo-ai-search-optimization agent-checkpoint <input> [--current <id>] [--completed <id,id>] [--blocked <reason,reason>] [--format <markdown|json>] [--out <file>]",
38
- " geo-ai-search-optimization agent-decision-log <input> [--append-from <file>] [--note <text>] [--current <id>] [--completed <id,id>] [--blocked <reason,reason>] [--format <markdown|json>] [--out <file>]",
39
- " geo-ai-search-optimization agent-retrospective <input> [--format <markdown|json>] [--out <file>]",
40
- " geo-ai-search-optimization agent-playbook-pack <input> [--task <id>] [--format <markdown|json>] [--out <file>]"
41
- ];
42
-
43
32
  const handleAgentRunbook = createArtifactCommandHandler({
44
33
  commandName: "agent-runbook",
45
34
  commandLabel: "agent runbook",
@@ -131,14 +120,53 @@ const handleAgentPlaybookPack = createArtifactCommandHandler({
131
120
  })
132
121
  });
133
122
 
134
- export const AGENT_EXECUTION_COMMAND_HANDLERS = {
135
- "agent-runbook": handleAgentRunbook,
136
- "agent-executor": handleAgentExecutor,
137
- "agent-batch-executor": handleAgentBatchExecutor,
138
- "agent-progress-tracker": handleAgentProgressTracker,
139
- "agent-status-board": handleAgentStatusBoard,
140
- "agent-checkpoint": handleAgentCheckpoint,
141
- "agent-decision-log": handleAgentDecisionLog,
142
- "agent-retrospective": handleAgentRetrospective,
143
- "agent-playbook-pack": handleAgentPlaybookPack
144
- };
123
+ const AGENT_EXECUTION_COMMAND_REGISTRY = buildCommandRegistry([
124
+ {
125
+ name: "agent-runbook",
126
+ help: " geo-ai-search-optimization agent-runbook <input> [--intent <auto|diagnose|guide|execute|share|closeout>] [--task <id>] [--format <markdown|json>] [--out <file>]",
127
+ handler: handleAgentRunbook
128
+ },
129
+ {
130
+ name: "agent-executor",
131
+ help: " geo-ai-search-optimization agent-executor <input> [--intent <auto|diagnose|guide|execute|share|closeout>] [--task <id>] [--format <markdown|json>] [--out <file>]",
132
+ handler: handleAgentExecutor
133
+ },
134
+ {
135
+ name: "agent-batch-executor",
136
+ help: " geo-ai-search-optimization agent-batch-executor <input> [--intent <auto|diagnose|guide|execute|share|closeout>] [--task <id>] [--count <count>] [--format <markdown|json>] [--out <file>]",
137
+ handler: handleAgentBatchExecutor
138
+ },
139
+ {
140
+ name: "agent-progress-tracker",
141
+ help: " geo-ai-search-optimization agent-progress-tracker <input> [--current <id>] [--completed <id,id>] [--blocked <reason,reason>] [--format <markdown|json>] [--out <file>]",
142
+ handler: handleAgentProgressTracker
143
+ },
144
+ {
145
+ name: "agent-status-board",
146
+ help: " geo-ai-search-optimization agent-status-board <input> [--current <id>] [--completed <id,id>] [--blocked <reason,reason>] [--format <markdown|json>] [--out <file>]",
147
+ handler: handleAgentStatusBoard
148
+ },
149
+ {
150
+ name: "agent-checkpoint",
151
+ help: " geo-ai-search-optimization agent-checkpoint <input> [--current <id>] [--completed <id,id>] [--blocked <reason,reason>] [--format <markdown|json>] [--out <file>]",
152
+ handler: handleAgentCheckpoint
153
+ },
154
+ {
155
+ name: "agent-decision-log",
156
+ help: " geo-ai-search-optimization agent-decision-log <input> [--append-from <file>] [--note <text>] [--current <id>] [--completed <id,id>] [--blocked <reason,reason>] [--format <markdown|json>] [--out <file>]",
157
+ handler: handleAgentDecisionLog
158
+ },
159
+ {
160
+ name: "agent-retrospective",
161
+ help: " geo-ai-search-optimization agent-retrospective <input> [--format <markdown|json>] [--out <file>]",
162
+ handler: handleAgentRetrospective
163
+ },
164
+ {
165
+ name: "agent-playbook-pack",
166
+ help: " geo-ai-search-optimization agent-playbook-pack <input> [--task <id>] [--format <markdown|json>] [--out <file>]",
167
+ handler: handleAgentPlaybookPack
168
+ }
169
+ ]);
170
+
171
+ export const AGENT_EXECUTION_HELP_LINES = AGENT_EXECUTION_COMMAND_REGISTRY.helpLines;
172
+ export const AGENT_EXECUTION_COMMAND_HANDLERS = AGENT_EXECUTION_COMMAND_REGISTRY.handlers;
@@ -18,6 +18,7 @@ import { generateReport, writeReportOutput } from "./report.js";
18
18
  import { createRoadmap, renderRoadmapMarkdown, writeRoadmapOutput } from "./roadmap.js";
19
19
  import { createSharePack, renderSharePackMarkdown, writeSharePackOutput } from "./share-pack.js";
20
20
  import {
21
+ buildCommandRegistry,
21
22
  buildFormatOptions,
22
23
  buildTaskFormatOutputDirOptions,
23
24
  buildTaskOutputDirOptions,
@@ -29,24 +30,6 @@ import {
29
30
  parsePositiveInteger
30
31
  } from "./cli-shared.js";
31
32
 
32
- export const PLANNING_DELIVERY_HELP_LINES = [
33
- " geo-ai-search-optimization agent-handoff <input> [--format <markdown|json>] [--out <file>]",
34
- " geo-ai-search-optimization apply-plan <input> [--task <id>] [--format <markdown|json>] [--out <file>]",
35
- " geo-ai-search-optimization completion-report <input> [--format <markdown|json>] [--out <file>]",
36
- " geo-ai-search-optimization handoff-bundle <input> [--task <id>] [--format <markdown|json>] [--out <file>]",
37
- " geo-ai-search-optimization share-pack <input> [--task <id>] [--format <markdown|json>] [--out <file>]",
38
- " geo-ai-search-optimization export-pack <input> [--task <id>] [--format <markdown|json>] [--out-dir <dir>]",
39
- " geo-ai-search-optimization html-pack <input> [--task <id>] [--out-dir <dir>]",
40
- " geo-ai-search-optimization publish-pack <input> [--task <id>] [--out-dir <dir>]",
41
- " geo-ai-search-optimization exec-summary <input> [--format <markdown|json>] [--out <file>]",
42
- " geo-ai-search-optimization fix-plan <input> [--format <markdown|json>] [--out <file>]",
43
- " geo-ai-search-optimization owner-board <input> [--format <markdown|json>] [--out <file>]",
44
- " geo-ai-search-optimization meeting-pack <input> [--format <markdown|json>] [--out <file>]",
45
- " geo-ai-search-optimization pm-brief <input> [--format <markdown|json>] [--out <file>]",
46
- " geo-ai-search-optimization roadmap <input> [--format <markdown|json>] [--out <file>]",
47
- " geo-ai-search-optimization report <input> [--mode <auto|audit|onboarding|scan>] [--format <markdown|html|json>] [--out <file>]"
48
- ];
49
-
50
33
  const handleAgentHandoff = createArtifactCommandHandler({
51
34
  commandName: "agent-handoff",
52
35
  commandLabel: "agent handoff",
@@ -184,20 +167,83 @@ const handleReport = createContentCommandHandler({
184
167
  writeOutput: writeReportOutput
185
168
  });
186
169
 
187
- export const PLANNING_DELIVERY_COMMAND_HANDLERS = {
188
- "agent-handoff": handleAgentHandoff,
189
- "apply-plan": handleApplyPlan,
190
- "completion-report": handleCompletionReport,
191
- "handoff-bundle": handleHandoffBundle,
192
- "share-pack": handleSharePack,
193
- "export-pack": handleExportPack,
194
- "html-pack": handleHtmlPack,
195
- "publish-pack": handlePublishPack,
196
- "exec-summary": handleExecSummary,
197
- "fix-plan": handleFixPlan,
198
- "owner-board": handleOwnerBoard,
199
- "meeting-pack": handleMeetingPack,
200
- "pm-brief": handlePmBrief,
201
- roadmap: handleRoadmap,
202
- report: handleReport
203
- };
170
+ const PLANNING_DELIVERY_COMMAND_REGISTRY = buildCommandRegistry([
171
+ {
172
+ name: "agent-handoff",
173
+ help: " geo-ai-search-optimization agent-handoff <input> [--format <markdown|json>] [--out <file>]",
174
+ handler: handleAgentHandoff
175
+ },
176
+ {
177
+ name: "apply-plan",
178
+ help: " geo-ai-search-optimization apply-plan <input> [--task <id>] [--format <markdown|json>] [--out <file>]",
179
+ handler: handleApplyPlan
180
+ },
181
+ {
182
+ name: "completion-report",
183
+ help: " geo-ai-search-optimization completion-report <input> [--format <markdown|json>] [--out <file>]",
184
+ handler: handleCompletionReport
185
+ },
186
+ {
187
+ name: "handoff-bundle",
188
+ help: " geo-ai-search-optimization handoff-bundle <input> [--task <id>] [--format <markdown|json>] [--out <file>]",
189
+ handler: handleHandoffBundle
190
+ },
191
+ {
192
+ name: "share-pack",
193
+ help: " geo-ai-search-optimization share-pack <input> [--task <id>] [--format <markdown|json>] [--out <file>]",
194
+ handler: handleSharePack
195
+ },
196
+ {
197
+ name: "export-pack",
198
+ help: " geo-ai-search-optimization export-pack <input> [--task <id>] [--format <markdown|json>] [--out-dir <dir>]",
199
+ handler: handleExportPack
200
+ },
201
+ {
202
+ name: "html-pack",
203
+ help: " geo-ai-search-optimization html-pack <input> [--task <id>] [--out-dir <dir>]",
204
+ handler: handleHtmlPack
205
+ },
206
+ {
207
+ name: "publish-pack",
208
+ help: " geo-ai-search-optimization publish-pack <input> [--task <id>] [--out-dir <dir>]",
209
+ handler: handlePublishPack
210
+ },
211
+ {
212
+ name: "exec-summary",
213
+ help: " geo-ai-search-optimization exec-summary <input> [--format <markdown|json>] [--out <file>]",
214
+ handler: handleExecSummary
215
+ },
216
+ {
217
+ name: "fix-plan",
218
+ help: " geo-ai-search-optimization fix-plan <input> [--format <markdown|json>] [--out <file>]",
219
+ handler: handleFixPlan
220
+ },
221
+ {
222
+ name: "owner-board",
223
+ help: " geo-ai-search-optimization owner-board <input> [--format <markdown|json>] [--out <file>]",
224
+ handler: handleOwnerBoard
225
+ },
226
+ {
227
+ name: "meeting-pack",
228
+ help: " geo-ai-search-optimization meeting-pack <input> [--format <markdown|json>] [--out <file>]",
229
+ handler: handleMeetingPack
230
+ },
231
+ {
232
+ name: "pm-brief",
233
+ help: " geo-ai-search-optimization pm-brief <input> [--format <markdown|json>] [--out <file>]",
234
+ handler: handlePmBrief
235
+ },
236
+ {
237
+ name: "roadmap",
238
+ help: " geo-ai-search-optimization roadmap <input> [--format <markdown|json>] [--out <file>]",
239
+ handler: handleRoadmap
240
+ },
241
+ {
242
+ name: "report",
243
+ help: " geo-ai-search-optimization report <input> [--mode <auto|audit|onboarding|scan>] [--format <markdown|html|json>] [--out <file>]",
244
+ handler: handleReport
245
+ }
246
+ ]);
247
+
248
+ export const PLANNING_DELIVERY_HELP_LINES = PLANNING_DELIVERY_COMMAND_REGISTRY.helpLines;
249
+ export const PLANNING_DELIVERY_COMMAND_HANDLERS = PLANNING_DELIVERY_COMMAND_REGISTRY.handlers;