@tacuchi/agent-workflow-cli 4.5.0 → 4.7.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 (79) hide show
  1. package/dist/application/code-scan-service.js +65 -56
  2. package/dist/application/code-scan-service.js.map +1 -1
  3. package/dist/application/dsn-reader-service.d.ts +10 -0
  4. package/dist/application/dsn-reader-service.d.ts.map +1 -0
  5. package/dist/application/dsn-reader-service.js +26 -0
  6. package/dist/application/dsn-reader-service.js.map +1 -0
  7. package/dist/application/graduation-check-service.d.ts +19 -0
  8. package/dist/application/graduation-check-service.d.ts.map +1 -0
  9. package/dist/application/graduation-check-service.js +145 -0
  10. package/dist/application/graduation-check-service.js.map +1 -0
  11. package/dist/application/hub-init-service.d.ts +47 -0
  12. package/dist/application/hub-init-service.d.ts.map +1 -0
  13. package/dist/application/hub-init-service.js +92 -0
  14. package/dist/application/hub-init-service.js.map +1 -0
  15. package/dist/application/mcp-doctor-service.d.ts +23 -0
  16. package/dist/application/mcp-doctor-service.d.ts.map +1 -0
  17. package/dist/application/mcp-doctor-service.js +123 -0
  18. package/dist/application/mcp-doctor-service.js.map +1 -0
  19. package/dist/application/mcp-host-reader.d.ts +13 -0
  20. package/dist/application/mcp-host-reader.d.ts.map +1 -0
  21. package/dist/application/mcp-host-reader.js +89 -0
  22. package/dist/application/mcp-host-reader.js.map +1 -0
  23. package/dist/application/mcp-host-writer.d.ts +13 -0
  24. package/dist/application/mcp-host-writer.d.ts.map +1 -0
  25. package/dist/application/mcp-host-writer.js +196 -0
  26. package/dist/application/mcp-host-writer.js.map +1 -0
  27. package/dist/application/mcp-setup-service.d.ts +31 -0
  28. package/dist/application/mcp-setup-service.d.ts.map +1 -0
  29. package/dist/application/mcp-setup-service.js +69 -0
  30. package/dist/application/mcp-setup-service.js.map +1 -0
  31. package/dist/application/plugin-doctor-service.d.ts.map +1 -1
  32. package/dist/application/plugin-doctor-service.js +15 -192
  33. package/dist/application/plugin-doctor-service.js.map +1 -1
  34. package/dist/application/release-data-service.d.ts.map +1 -1
  35. package/dist/application/release-data-service.js +96 -97
  36. package/dist/application/release-data-service.js.map +1 -1
  37. package/dist/application/self/update-self.d.ts +3 -1
  38. package/dist/application/self/update-self.d.ts.map +1 -1
  39. package/dist/application/self/update-self.js +12 -4
  40. package/dist/application/self/update-self.js.map +1 -1
  41. package/dist/application/upgrade-hub-mode-service.d.ts.map +1 -1
  42. package/dist/application/upgrade-hub-mode-service.js +30 -27
  43. package/dist/application/upgrade-hub-mode-service.js.map +1 -1
  44. package/dist/application/visibility-doctor-service.d.ts +34 -0
  45. package/dist/application/visibility-doctor-service.d.ts.map +1 -0
  46. package/dist/application/visibility-doctor-service.js +192 -0
  47. package/dist/application/visibility-doctor-service.js.map +1 -0
  48. package/dist/cli/commands/graduation-check.d.ts +3 -0
  49. package/dist/cli/commands/graduation-check.d.ts.map +1 -0
  50. package/dist/cli/commands/graduation-check.js +11 -0
  51. package/dist/cli/commands/graduation-check.js.map +1 -0
  52. package/dist/cli/commands/hub-init.d.ts +3 -0
  53. package/dist/cli/commands/hub-init.d.ts.map +1 -0
  54. package/dist/cli/commands/hub-init.js +95 -0
  55. package/dist/cli/commands/hub-init.js.map +1 -0
  56. package/dist/cli/commands/mcp.d.ts.map +1 -1
  57. package/dist/cli/commands/mcp.js +159 -37
  58. package/dist/cli/commands/mcp.js.map +1 -1
  59. package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
  60. package/dist/cli/commands/project-md-upsert.js +37 -34
  61. package/dist/cli/commands/project-md-upsert.js.map +1 -1
  62. package/dist/cli/commands/self.d.ts.map +1 -1
  63. package/dist/cli/commands/self.js +8 -7
  64. package/dist/cli/commands/self.js.map +1 -1
  65. package/dist/cli/commands/visibility.d.ts +3 -0
  66. package/dist/cli/commands/visibility.d.ts.map +1 -0
  67. package/dist/cli/commands/visibility.js +42 -0
  68. package/dist/cli/commands/visibility.js.map +1 -0
  69. package/dist/cli/help-groups.d.ts +7 -0
  70. package/dist/cli/help-groups.d.ts.map +1 -0
  71. package/dist/cli/help-groups.js +102 -0
  72. package/dist/cli/help-groups.js.map +1 -0
  73. package/dist/cli/main.js +9 -1
  74. package/dist/cli/main.js.map +1 -1
  75. package/dist/domain/mcp-entry.d.ts +44 -0
  76. package/dist/domain/mcp-entry.d.ts.map +1 -0
  77. package/dist/domain/mcp-entry.js +13 -0
  78. package/dist/domain/mcp-entry.js.map +1 -0
  79. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,UAAU,EAAE,UAgDxB,CAAC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMjD,eAAO,MAAM,UAAU,EAAE,UAkBxB,CAAC"}
@@ -1,53 +1,175 @@
1
+ import { runHarness } from "../../application/dev-only-services.js";
1
2
  import { DbhubLauncherError, runDbhubLauncher } from "../../application/mcp-dbhub-launcher.js";
3
+ import { runMcpDoctor } from "../../application/mcp-doctor-service.js";
4
+ import { runMcpSetup } from "../../application/mcp-setup-service.js";
5
+ const HOST_VALUES = new Set(["claude", "codex", "both"]);
6
+ const INSTANCE_VALUES = new Set(["cert", "prod", "both"]);
2
7
  export const mcpCommand = {
3
8
  name: "mcp",
4
- describe: "MCP server launchers. Subcommands: dbhub <instance>.",
9
+ describe: "MCP server tooling. Subcomandos: dbhub <instance> | setup [--host h] [--instance i] [--workspace dir] [--global] [--dry-run] [--force] | doctor [--host h] [--instance i] [--workspace dir] [--global] [--json].",
5
10
  async execute(args, ctx) {
6
11
  const subcommand = args.rest[0];
7
- if (subcommand !== "dbhub") {
12
+ if (subcommand === "dbhub")
13
+ return runDbhubSub(args, ctx);
14
+ if (subcommand === "setup")
15
+ return runSetupSub(args, ctx);
16
+ if (subcommand === "doctor")
17
+ return runDoctorSub(args, ctx);
18
+ return {
19
+ ok: false,
20
+ error: {
21
+ code: "INVALID_INPUT",
22
+ message: "mcp requiere subcomando: dbhub <instance> | setup | doctor",
23
+ },
24
+ exitCode: 1,
25
+ };
26
+ },
27
+ };
28
+ async function runDbhubSub(args, ctx) {
29
+ const instance = args.rest[1];
30
+ if (!instance) {
31
+ return {
32
+ ok: false,
33
+ error: {
34
+ code: "INVALID_INPUT",
35
+ message: "mcp dbhub requiere instance: cert | prod",
36
+ },
37
+ exitCode: 1,
38
+ };
39
+ }
40
+ try {
41
+ const result = await runDbhubLauncher({
42
+ instance,
43
+ deps: {
44
+ env: { ...process.env },
45
+ paths: ctx.paths,
46
+ platform: process.platform,
47
+ },
48
+ });
49
+ return { ok: true, data: undefined, exitCode: clampExit(result.exitCode) };
50
+ }
51
+ catch (err) {
52
+ if (err instanceof DbhubLauncherError) {
8
53
  return {
9
54
  ok: false,
10
- error: {
11
- code: "INVALID_INPUT",
12
- message: "mcp requires subcommand: dbhub <instance>",
13
- },
55
+ error: { code: "DBHUB_LAUNCHER_FAILED", message: err.message },
14
56
  exitCode: 1,
15
57
  };
16
58
  }
17
- const instance = args.rest[1];
18
- if (!instance) {
19
- return {
20
- ok: false,
59
+ throw err;
60
+ }
61
+ }
62
+ async function runSetupSub(args, ctx) {
63
+ const hosts = resolveHosts(args, ctx);
64
+ if (!("value" in hosts))
65
+ return hosts;
66
+ const instances = resolveInstances(args);
67
+ if (!("value" in instances))
68
+ return instances;
69
+ const workspace = args.values.get("workspace");
70
+ const result = runMcpSetup(ctx.env, {
71
+ hosts: hosts.value,
72
+ instances: instances.value,
73
+ scope: args.flags.has("--global") ? "global" : "workspace",
74
+ ...(workspace !== undefined ? { workspace } : {}),
75
+ dryRun: args.flags.has("--dry-run"),
76
+ force: args.flags.has("--force"),
77
+ });
78
+ if ("ok" in result) {
79
+ return {
80
+ ok: false,
81
+ error: {
82
+ code: "GLOBAL_REQUIRES_FORCE",
83
+ message: result.hint,
84
+ },
85
+ data: result,
86
+ exitCode: result.exitCode,
87
+ };
88
+ }
89
+ const hasErrors = result.errors.length > 0;
90
+ return {
91
+ ok: !hasErrors,
92
+ data: result,
93
+ ...(hasErrors
94
+ ? {
21
95
  error: {
22
- code: "INVALID_INPUT",
23
- message: "mcp dbhub requires instance: cert | prod",
24
- },
25
- exitCode: 1,
26
- };
27
- }
28
- try {
29
- const result = await runDbhubLauncher({
30
- instance,
31
- deps: {
32
- env: { ...process.env },
33
- paths: ctx.paths,
34
- platform: process.platform,
96
+ code: "MCP_SETUP_PARTIAL",
97
+ message: `${result.errors.length} error(es) durante setup; ver data.errors`,
35
98
  },
36
- });
37
- return { ok: true, data: undefined, exitCode: clampExit(result.exitCode) };
38
- }
39
- catch (err) {
40
- if (err instanceof DbhubLauncherError) {
41
- return {
42
- ok: false,
43
- error: { code: "DBHUB_LAUNCHER_FAILED", message: err.message },
44
- exitCode: 1,
45
- };
46
99
  }
47
- throw err;
48
- }
49
- },
50
- };
100
+ : {}),
101
+ exitCode: hasErrors ? 1 : 0,
102
+ };
103
+ }
104
+ async function runDoctorSub(args, ctx) {
105
+ const hosts = resolveHosts(args, ctx);
106
+ if (!("value" in hosts))
107
+ return hosts;
108
+ const instances = resolveInstances(args);
109
+ if (!("value" in instances))
110
+ return instances;
111
+ const workspace = args.values.get("workspace");
112
+ const data = runMcpDoctor(ctx.env, ctx.paths, {
113
+ hosts: hosts.value,
114
+ instances: instances.value,
115
+ scope: args.flags.has("--global") ? "global" : "workspace",
116
+ ...(workspace !== undefined ? { workspace } : {}),
117
+ });
118
+ const okCount = data.summary.ok;
119
+ const total = data.reports.length;
120
+ const allOk = okCount === total;
121
+ return {
122
+ ok: allOk,
123
+ data,
124
+ ...(allOk
125
+ ? {}
126
+ : {
127
+ error: {
128
+ code: "MCP_DOCTOR_DRIFT",
129
+ message: `${total - okCount}/${total} entradas con drift (ver data.reports)`,
130
+ },
131
+ }),
132
+ exitCode: allOk ? 0 : 1,
133
+ };
134
+ }
135
+ function resolveHosts(args, ctx) {
136
+ const flag = args.values.get("host");
137
+ if (flag === undefined) {
138
+ const harness = runHarness((k) => ctx.env.get(k));
139
+ if (harness.harness === "claude-code")
140
+ return { value: ["claude"] };
141
+ if (harness.harness === "codex")
142
+ return { value: ["codex"] };
143
+ return { value: ["claude", "codex"] };
144
+ }
145
+ if (!HOST_VALUES.has(flag)) {
146
+ return {
147
+ ok: false,
148
+ error: {
149
+ code: "INVALID_INPUT",
150
+ message: `--host inválido: '${flag}'. Valores válidos: claude | codex | both`,
151
+ },
152
+ exitCode: 1,
153
+ };
154
+ }
155
+ return { value: flag === "both" ? ["claude", "codex"] : [flag] };
156
+ }
157
+ function resolveInstances(args) {
158
+ const flag = args.values.get("instance");
159
+ if (flag === undefined)
160
+ return { value: ["cert", "prod"] };
161
+ if (!INSTANCE_VALUES.has(flag)) {
162
+ return {
163
+ ok: false,
164
+ error: {
165
+ code: "INVALID_INPUT",
166
+ message: `--instance inválido: '${flag}'. Valores válidos: cert | prod | both`,
167
+ },
168
+ exitCode: 1,
169
+ };
170
+ }
171
+ return { value: flag === "both" ? ["cert", "prod"] : [flag] };
172
+ }
51
173
  function clampExit(code) {
52
174
  if (code === 0)
53
175
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAM/F,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,sDAAsD;IAChE,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE;oBACL,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,2CAA2C;iBACrD;gBACD,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE;oBACL,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,0CAA0C;iBACpD;gBACD,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;gBACpC,QAAQ;gBACR,IAAI,EAAE;oBACJ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;oBACvB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B;aACF,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;oBAC9D,QAAQ,EAAE,CAAC;iBACZ,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACzB,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACzB,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-md-upsert.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/project-md-upsert.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,sBAAsB,EAAE,UAqEpC,CAAC"}
1
+ {"version":3,"file":"project-md-upsert.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/project-md-upsert.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,sBAAsB,EAAE,UA2CpC,CAAC"}
@@ -20,45 +20,15 @@ export const projectMdUpsertCommand = {
20
20
  exitCode: 1,
21
21
  };
22
22
  }
23
- const input = {
24
- op: opAndFolder.op,
25
- verbose,
26
- };
27
- if (opAndFolder.folder !== undefined)
28
- input.sessionFolder = opAndFolder.folder;
29
- const phase = args.values.get("phase");
30
- if (phase !== undefined)
31
- input.phase = phase;
32
- const branchesRaw = args.values.get("branches");
33
- if (branchesRaw !== undefined) {
34
- input.branches = branchesRaw
35
- .split(",")
36
- .map((s) => s.trim())
37
- .filter((s) => s.length > 0);
38
- }
39
- const proyecto = args.values.get("proyecto");
40
- if (proyecto !== undefined)
41
- input.proyecto = proyecto;
42
- const mode = args.values.get("mode");
43
- if (mode === "hub" || mode === "project")
44
- input.mode = mode;
45
- const workingBranches = parseWorkingBranches(args.valuesMulti.get("working-branch") ?? []);
46
- if (workingBranches !== undefined)
47
- input.workingBranches = workingBranches;
48
- const fuentesParsed = parseFuentesSpecs(args.valuesMulti.get("fuente") ?? []);
49
- if ("error" in fuentesParsed) {
23
+ const inputResult = buildUpsertInput(args, opAndFolder, verbose);
24
+ if ("error" in inputResult) {
50
25
  return {
51
26
  ok: false,
52
- error: { code: "INVALID_INPUT", message: fuentesParsed.error },
27
+ error: { code: "INVALID_INPUT", message: inputResult.error },
53
28
  exitCode: 1,
54
29
  };
55
30
  }
56
- if (fuentesParsed.fuentes.length > 0)
57
- input.fuentes = fuentesParsed.fuentes;
58
- const mainBranch = args.values.get("main-branch");
59
- if (mainBranch !== undefined && mainBranch.length > 0)
60
- input.mainBranch = mainBranch;
61
- const data = await runProjectMdUpsertWrite(ctx.fs, ctx.env, ctx.paths, input);
31
+ const data = await runProjectMdUpsertWrite(ctx.fs, ctx.env, ctx.paths, inputResult.input);
62
32
  if ("error" in data) {
63
33
  return {
64
34
  ok: false,
@@ -70,6 +40,39 @@ export const projectMdUpsertCommand = {
70
40
  return { ok: data.ok, data, exitCode: data.ok ? 0 : 1 };
71
41
  },
72
42
  };
43
+ function buildUpsertInput(args, opAndFolder, verbose) {
44
+ const input = { op: opAndFolder.op, verbose };
45
+ if (opAndFolder.folder !== undefined)
46
+ input.sessionFolder = opAndFolder.folder;
47
+ const phase = args.values.get("phase");
48
+ if (phase !== undefined)
49
+ input.phase = phase;
50
+ const branchesRaw = args.values.get("branches");
51
+ if (branchesRaw !== undefined) {
52
+ input.branches = branchesRaw
53
+ .split(",")
54
+ .map((s) => s.trim())
55
+ .filter((s) => s.length > 0);
56
+ }
57
+ const proyecto = args.values.get("proyecto");
58
+ if (proyecto !== undefined)
59
+ input.proyecto = proyecto;
60
+ const mode = args.values.get("mode");
61
+ if (mode === "hub" || mode === "project")
62
+ input.mode = mode;
63
+ const workingBranches = parseWorkingBranches(args.valuesMulti.get("working-branch") ?? []);
64
+ if (workingBranches !== undefined)
65
+ input.workingBranches = workingBranches;
66
+ const fuentesParsed = parseFuentesSpecs(args.valuesMulti.get("fuente") ?? []);
67
+ if ("error" in fuentesParsed)
68
+ return { error: fuentesParsed.error };
69
+ if (fuentesParsed.fuentes.length > 0)
70
+ input.fuentes = fuentesParsed.fuentes;
71
+ const mainBranch = args.values.get("main-branch");
72
+ if (mainBranch !== undefined && mainBranch.length > 0)
73
+ input.mainBranch = mainBranch;
74
+ return { input };
75
+ }
73
76
  function pickOperation(args) {
74
77
  if (args.flags.has("--init"))
75
78
  return { op: "init" };
@@ -1 +1 @@
1
- {"version":3,"file":"project-md-upsert.js","sourceRoot":"","sources":["../../../src/cli/commands/project-md-upsert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-md-upsert.js","sourceRoot":"","sources":["../../../src/cli/commands/project-md-upsert.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,WAAW,EAAE,UAmCzB,CAAC"}
1
+ {"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKjD,eAAO,MAAM,WAAW,EAAE,UAoCzB,CAAC"}
@@ -2,6 +2,7 @@ import { selfDoctor } from "../../application/self/doctor-self.js";
2
2
  import { selfInstallSkill } from "../../application/self/install-skill.js";
3
3
  import { selfNamespace } from "../../application/self/namespace-info.js";
4
4
  import { selfUpdate } from "../../application/self/update-self.js";
5
+ const SELF_SUBCOMMANDS = ["namespace", "doctor", "update", "install-skill"];
5
6
  export const selfCommand = {
6
7
  name: "self",
7
8
  describe: "Manage the agent-workflow CLI itself (namespace, doctor, update, install-skill).",
@@ -13,25 +14,25 @@ export const selfCommand = {
13
14
  case "doctor":
14
15
  return selfDoctor(ctx);
15
16
  case "update":
16
- return selfUpdate(ctx);
17
+ return selfUpdate(args, ctx);
17
18
  case "install-skill":
18
19
  return selfInstallSkill(args, ctx);
19
20
  case undefined:
20
21
  case "":
21
22
  return {
22
- ok: false,
23
- error: {
24
- code: "INVALID_INPUT",
25
- message: "uso: self <namespace|doctor|update|install-skill>",
23
+ ok: true,
24
+ data: {
25
+ subcommands: [...SELF_SUBCOMMANDS],
26
+ help_hint: "uso: aw self <subcommand>. Ej: 'aw self doctor' o 'aw self update --dry-run'",
26
27
  },
27
- exitCode: 1,
28
+ exitCode: 0,
28
29
  };
29
30
  default:
30
31
  return {
31
32
  ok: false,
32
33
  error: {
33
34
  code: "INVALID_INPUT",
34
- message: `unknown self subcommand: '${sub}'. uso: self <namespace|doctor|update|install-skill>`,
35
+ message: `unknown self subcommand: '${sub}'. uso: self <${SELF_SUBCOMMANDS.join("|")}>`,
35
36
  },
36
37
  exitCode: 1,
37
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"self.js","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAMnE,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,kFAAkF;IAC5F,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,WAAW;gBACd,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,QAAQ;gBACX,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;YACzB,KAAK,QAAQ;gBACX,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;YACzB,KAAK,eAAe;gBAClB,OAAO,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,SAAS,CAAC;YACf,KAAK,EAAE;gBACL,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,mDAAmD;qBAC7D;oBACD,QAAQ,EAAE,CAAC;iBACZ,CAAC;YACJ;gBACE,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,6BAA6B,GAAG,sDAAsD;qBAChG;oBACD,QAAQ,EAAE,CAAC;iBACZ,CAAC;QACN,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"self.js","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAMnE,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAU,CAAC;AAErF,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,kFAAkF;IAC5F,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,WAAW;gBACd,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,QAAQ;gBACX,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;YACzB,KAAK,QAAQ;gBACX,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/B,KAAK,eAAe;gBAClB,OAAO,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,SAAS,CAAC;YACf,KAAK,EAAE;gBACL,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE;wBACJ,WAAW,EAAE,CAAC,GAAG,gBAAgB,CAAC;wBAClC,SAAS,EACP,8EAA8E;qBACjF;oBACD,QAAQ,EAAE,CAAC;iBACZ,CAAC;YACJ;gBACE,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,6BAA6B,GAAG,iBAAiB,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;qBACxF;oBACD,QAAQ,EAAE,CAAC;iBACZ,CAAC;QACN,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { QtcCommand } from "../registry.js";
2
+ export declare const visibilityCommand: QtcCommand;
3
+ //# sourceMappingURL=visibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/visibility.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,iBAAiB,EAAE,UAgB/B,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { runVisibilityDoctor } from "../../application/visibility-doctor-service.js";
2
+ export const visibilityCommand = {
3
+ name: "visibility",
4
+ describe: "Inspector de visibilidad multi-root del hub. Subcomandos: doctor [--workspace dir] [--global] [--json].",
5
+ async execute(args, ctx) {
6
+ const subcommand = args.rest[0];
7
+ if (subcommand === "doctor")
8
+ return runDoctorSub(args, ctx);
9
+ return {
10
+ ok: false,
11
+ error: {
12
+ code: "INVALID_INPUT",
13
+ message: "visibility requiere subcomando: doctor",
14
+ },
15
+ exitCode: 1,
16
+ };
17
+ },
18
+ };
19
+ async function runDoctorSub(args, ctx) {
20
+ const workspace = args.values.get("workspace");
21
+ const data = await runVisibilityDoctor(ctx.fs, ctx.env, ctx.paths, {
22
+ ...(workspace !== undefined ? { workspace } : {}),
23
+ global: args.flags.has("--global"),
24
+ });
25
+ const totalReports = data.reports.length + data.global_reports.length;
26
+ const okCount = data.summary.ok;
27
+ const allOk = okCount === totalReports;
28
+ return {
29
+ ok: allOk,
30
+ data,
31
+ ...(allOk
32
+ ? {}
33
+ : {
34
+ error: {
35
+ code: "VISIBILITY_DRIFT",
36
+ message: `${totalReports - okCount}/${totalReports} reports con drift (ver data.reports/global_reports)`,
37
+ },
38
+ }),
39
+ exitCode: allOk ? 0 : 1,
40
+ };
41
+ }
42
+ //# sourceMappingURL=visibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../../src/cli/commands/visibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAMrF,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,IAAI,EAAE,YAAY;IAClB,QAAQ,EACN,yGAAyG;IAC3G,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5D,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,wCAAwC;aAClD;YACD,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,KAAK,UAAU,YAAY,CAAC,IAAgB,EAAE,GAAe;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE;QACjE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;KACnC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,KAAK,YAAY,CAAC;IACvC,OAAO;QACL,EAAE,EAAE,KAAK;QACT,IAAI;QACJ,GAAG,CAAC,KAAK;YACP,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,GAAG,YAAY,GAAG,OAAO,IAAI,YAAY,sDAAsD;iBACzG;aACF,CAAC;QACN,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACxB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface CommandGroup {
2
+ name: string;
3
+ commands: string[];
4
+ }
5
+ export declare function groupCommands(allCommands: string[]): CommandGroup[];
6
+ export declare function renderGroupedCommandLines(allCommands: string[]): string[];
7
+ //# sourceMappingURL=help-groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-groups.d.ts","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAiED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAanE;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAWzE"}
@@ -0,0 +1,102 @@
1
+ // Help grouping for `aw --help` (RFC 002 G4 H-06). Commands are organized by
2
+ // family so users can scan by intent (session lifecycle, checkpoint workflow,
3
+ // orchestration helpers, etc.) instead of one long alphabetical list.
4
+ //
5
+ // Adding a new command? Decide which family it belongs to and append it to
6
+ // the matching group below. Commands not listed in any group fall through to
7
+ // the "Other" section automatically.
8
+ const GROUPS = [
9
+ {
10
+ name: "Session lifecycle",
11
+ commands: [
12
+ "sessions",
13
+ "session-create",
14
+ "session-resume",
15
+ "session-close",
16
+ "session-artifacts",
17
+ ],
18
+ },
19
+ {
20
+ name: "Objetivo / Tasks",
21
+ commands: ["objetivo-data", "tasks-data", "decisiones-list", "dependencias-list"],
22
+ },
23
+ {
24
+ name: "Checkpoint",
25
+ commands: [
26
+ "checkpoint-read",
27
+ "checkpoint-write",
28
+ "compress-checkpoint",
29
+ "auto-compact-on-close",
30
+ ],
31
+ },
32
+ {
33
+ name: "Sources / Branches",
34
+ commands: ["sources", "attach-multiroot", "detach-multiroot", "check-branch"],
35
+ },
36
+ {
37
+ name: "Orchestration",
38
+ commands: [
39
+ "phase-detect",
40
+ "phase-next",
41
+ "workflows",
42
+ "workspace-mode",
43
+ "stack",
44
+ "skill-index",
45
+ "auto-plan-decide",
46
+ "topic-change-check",
47
+ "specialty-choose",
48
+ "resume-summary",
49
+ ],
50
+ },
51
+ {
52
+ name: "Doctor / Data",
53
+ commands: [
54
+ "plugin-doctor",
55
+ "history-data",
56
+ "history-update",
57
+ "release-data",
58
+ "code-scan",
59
+ "project-md-upsert",
60
+ "bootstrap-dsn",
61
+ "graduate",
62
+ "upgrade-hub-mode",
63
+ ],
64
+ },
65
+ { name: "Hooks", commands: ["hook"] },
66
+ { name: "MCP", commands: ["mcp"] },
67
+ { name: "Dev-only", commands: ["harness", "profiles", "logs", "next-number"] },
68
+ { name: "Self", commands: ["self"] },
69
+ ];
70
+ export function groupCommands(allCommands) {
71
+ const allSet = new Set(allCommands);
72
+ const seen = new Set();
73
+ const out = [];
74
+ for (const group of GROUPS) {
75
+ const present = group.commands.filter((c) => allSet.has(c));
76
+ if (present.length === 0)
77
+ continue;
78
+ for (const c of present)
79
+ seen.add(c);
80
+ out.push({ name: group.name, commands: present });
81
+ }
82
+ const other = allCommands.filter((c) => !seen.has(c));
83
+ if (other.length > 0)
84
+ out.push({ name: "Other", commands: other });
85
+ return out;
86
+ }
87
+ export function renderGroupedCommandLines(allCommands) {
88
+ const groups = groupCommands(allCommands);
89
+ const lines = [];
90
+ for (let i = 0; i < groups.length; i++) {
91
+ const g = groups[i];
92
+ if (!g)
93
+ continue;
94
+ lines.push(`${g.name}:`);
95
+ for (const c of g.commands)
96
+ lines.push(` ${c}`);
97
+ if (i < groups.length - 1)
98
+ lines.push("");
99
+ }
100
+ return lines;
101
+ }
102
+ //# sourceMappingURL=help-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-groups.js","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"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"}
package/dist/cli/main.js CHANGED
@@ -12,9 +12,11 @@ import { autoCompactOnCloseCommand, checkpointWriteCommand } from "./commands/ch
12
12
  import { decisionesListCommand } from "./commands/decisiones-list.js";
13
13
  import { dependenciasListCommand } from "./commands/dependencias-list.js";
14
14
  import { harnessCommand, logsCommand, nextNumberCommand, profilesCommand, } from "./commands/dev-only.js";
15
+ import { graduationCheckCommand } from "./commands/graduation-check.js";
15
16
  import { historyDataCommand } from "./commands/history-data.js";
16
17
  import { historyUpdateCommand } from "./commands/history-update.js";
17
18
  import { hookCommand } from "./commands/hook.js";
19
+ import { hubInitCommand } from "./commands/hub-init.js";
18
20
  import { mcpCommand } from "./commands/mcp.js";
19
21
  import { attachMultirootCommand, detachMultirootCommand } from "./commands/multiroot.js";
20
22
  import { objetivoDataCommand } from "./commands/objetivo-data.js";
@@ -29,9 +31,11 @@ import { sessionCreateCommand } from "./commands/session-create.js";
29
31
  import { sessionResumeCommand } from "./commands/session-resume.js";
30
32
  import { sessionsCommand } from "./commands/sessions.js";
31
33
  import { tasksDataCommand } from "./commands/tasks-data.js";
34
+ import { visibilityCommand } from "./commands/visibility.js";
32
35
  import { phaseDetectCommand, skillIndexCommand, stackCommand, workflowsCommand, workspaceModeCommand, } from "./commands/wave2-extras.js";
33
36
  import { checkBranchCommand, checkpointReadCommand, compressCheckpointCommand, phaseNextCommand, resumeSummaryCommand, sourcesCommand, } from "./commands/wave2-final.js";
34
37
  import { bootstrapDsnCommand, codeScanCommand, graduateCommand, upgradeHubModeCommand, } from "./commands/wave4d-simple.js";
38
+ import { renderGroupedCommandLines } from "./help-groups.js";
35
39
  import { runInteractiveMenu, shouldShowInteractiveMenu, } from "./interactive-menu.js";
36
40
  import { parseArgv } from "./parser.js";
37
41
  import { CommandRegistry } from "./registry.js";
@@ -69,7 +73,10 @@ async function run(argv) {
69
73
  registry.register(checkpointWriteCommand);
70
74
  registry.register(autoCompactOnCloseCommand);
71
75
  registry.register(hookCommand);
76
+ registry.register(hubInitCommand);
77
+ registry.register(graduationCheckCommand);
72
78
  registry.register(mcpCommand);
79
+ registry.register(visibilityCommand);
73
80
  registry.register(harnessCommand);
74
81
  registry.register(profilesCommand);
75
82
  registry.register(logsCommand);
@@ -186,7 +193,8 @@ function printHelp(commands) {
186
193
  "via SessionStart hook; new workspaces use .workflow/sessions/.",
187
194
  "",
188
195
  "Commands:",
189
- ...commands.map((c) => ` ${c}`),
196
+ "",
197
+ ...renderGroupedCommandLines(commands),
190
198
  "",
191
199
  "Aliases:",
192
200
  " aw short alias of `agent-workflow`",