@tacuchi/agent-workflow-cli 23.0.0 → 25.0.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 (164) hide show
  1. package/README.md +37 -1
  2. package/dist/adapters/postgres-readonly-tools.js +277 -0
  3. package/dist/adapters/postgres-readonly-tools.js.map +1 -0
  4. package/dist/application/checkpoint/markdown.js +85 -5
  5. package/dist/application/checkpoint/markdown.js.map +1 -1
  6. package/dist/application/checkpoint-service.js +7 -6
  7. package/dist/application/checkpoint-service.js.map +1 -1
  8. package/dist/application/checkpoint-write-service.js +270 -16
  9. package/dist/application/checkpoint-write-service.js.map +1 -1
  10. package/dist/application/database-mcp-server.js +168 -0
  11. package/dist/application/database-mcp-server.js.map +1 -0
  12. package/dist/application/database-mcp-stdio.js +137 -0
  13. package/dist/application/database-mcp-stdio.js.map +1 -0
  14. package/dist/application/database-tool-catalog.js +226 -0
  15. package/dist/application/database-tool-catalog.js.map +1 -0
  16. package/dist/application/dsn-reader-service.js +1 -1
  17. package/dist/application/flow/advance.js +60 -10
  18. package/dist/application/flow/advance.js.map +1 -1
  19. package/dist/application/flow/internal-actions.js +1 -1
  20. package/dist/application/flow/internal-actions.js.map +1 -1
  21. package/dist/application/flow/submit.js +256 -9
  22. package/dist/application/flow/submit.js.map +1 -1
  23. package/dist/application/lifecycle-target.js +16 -19
  24. package/dist/application/lifecycle-target.js.map +1 -1
  25. package/dist/application/lock-service.js +96 -31
  26. package/dist/application/lock-service.js.map +1 -1
  27. package/dist/application/logging/log-events.js +19 -3
  28. package/dist/application/logging/log-events.js.map +1 -1
  29. package/dist/application/logging/logger.js +2 -2
  30. package/dist/application/logging/logger.js.map +1 -1
  31. package/dist/application/markdown.js +6 -2
  32. package/dist/application/markdown.js.map +1 -1
  33. package/dist/application/mcp-connections-service.js +115 -41
  34. package/dist/application/mcp-connections-service.js.map +1 -1
  35. package/dist/application/mcp-doctor-service.js +98 -54
  36. package/dist/application/mcp-doctor-service.js.map +1 -1
  37. package/dist/application/mcp-entry-classification.js +60 -0
  38. package/dist/application/mcp-entry-classification.js.map +1 -0
  39. package/dist/application/mcp-host-reader.js +102 -86
  40. package/dist/application/mcp-host-reader.js.map +1 -1
  41. package/dist/application/mcp-host-receipt-service.js +399 -0
  42. package/dist/application/mcp-host-receipt-service.js.map +1 -0
  43. package/dist/application/mcp-host-receipt-store.js +122 -0
  44. package/dist/application/mcp-host-receipt-store.js.map +1 -0
  45. package/dist/application/mcp-host-receipts.js +28 -0
  46. package/dist/application/mcp-host-receipts.js.map +1 -0
  47. package/dist/application/mcp-host-writer.js +209 -38
  48. package/dist/application/mcp-host-writer.js.map +1 -1
  49. package/dist/application/mcp-launch-probe-service.js +142 -0
  50. package/dist/application/mcp-launch-probe-service.js.map +1 -0
  51. package/dist/application/mcp-migration-service.js +351 -0
  52. package/dist/application/mcp-migration-service.js.map +1 -0
  53. package/dist/application/mcp-native-host-check-service.js +154 -0
  54. package/dist/application/mcp-native-host-check-service.js.map +1 -0
  55. package/dist/application/mcp-receipt-registration-service.js +105 -0
  56. package/dist/application/mcp-receipt-registration-service.js.map +1 -0
  57. package/dist/application/mcp-receipt-removal-service.js +62 -0
  58. package/dist/application/mcp-receipt-removal-service.js.map +1 -0
  59. package/dist/application/mcp-remove-service.js +83 -24
  60. package/dist/application/mcp-remove-service.js.map +1 -1
  61. package/dist/application/mcp-scope-common.js +1 -1
  62. package/dist/application/mcp-scope-common.js.map +1 -1
  63. package/dist/application/mcp-setup-service.js +59 -24
  64. package/dist/application/mcp-setup-service.js.map +1 -1
  65. package/dist/application/mcp-stdio-probe.js +526 -0
  66. package/dist/application/mcp-stdio-probe.js.map +1 -0
  67. package/dist/application/mcp-test-connection-service.js +23 -50
  68. package/dist/application/mcp-test-connection-service.js.map +1 -1
  69. package/dist/application/parsers/spec-functional.js +220 -0
  70. package/dist/application/parsers/spec-functional.js.map +1 -0
  71. package/dist/application/parsers/spec-relation.js +142 -5
  72. package/dist/application/parsers/spec-relation.js.map +1 -1
  73. package/dist/application/paths-service.js +13 -0
  74. package/dist/application/paths-service.js.map +1 -1
  75. package/dist/application/plan-exec-decision-service.js +57 -4
  76. package/dist/application/plan-exec-decision-service.js.map +1 -1
  77. package/dist/application/reseal-service.js +300 -0
  78. package/dist/application/reseal-service.js.map +1 -0
  79. package/dist/application/self/host-states.js.map +1 -1
  80. package/dist/application/self/install-skill.js +4 -34
  81. package/dist/application/self/install-skill.js.map +1 -1
  82. package/dist/application/self/mcp-config.js +369 -59
  83. package/dist/application/self/mcp-config.js.map +1 -1
  84. package/dist/application/self/mcp-via-state.js +9 -6
  85. package/dist/application/self/mcp-via-state.js.map +1 -1
  86. package/dist/application/self/uninstall-skill.js +3 -18
  87. package/dist/application/self/uninstall-skill.js.map +1 -1
  88. package/dist/application/self/uninstall.js +4 -23
  89. package/dist/application/self/uninstall.js.map +1 -1
  90. package/dist/application/workline-index-service.js +64 -6
  91. package/dist/application/workline-index-service.js.map +1 -1
  92. package/dist/application/workspace-init-service.js +4 -6
  93. package/dist/application/workspace-init-service.js.map +1 -1
  94. package/dist/cli/commands/checkpoint-write.js +24 -22
  95. package/dist/cli/commands/checkpoint-write.js.map +1 -1
  96. package/dist/cli/commands/index.js +7 -0
  97. package/dist/cli/commands/index.js.map +1 -1
  98. package/dist/cli/commands/mcp.js +642 -55
  99. package/dist/cli/commands/mcp.js.map +1 -1
  100. package/dist/cli/commands/reseal.js +140 -0
  101. package/dist/cli/commands/reseal.js.map +1 -0
  102. package/dist/cli/commands/status.js +5 -1
  103. package/dist/cli/commands/status.js.map +1 -1
  104. package/dist/cli/commands/tool.js +141 -0
  105. package/dist/cli/commands/tool.js.map +1 -0
  106. package/dist/cli/help-groups.js +7 -1
  107. package/dist/cli/help-groups.js.map +1 -1
  108. package/dist/cli/main.js +189 -57
  109. package/dist/cli/main.js.map +1 -1
  110. package/dist/cli/parser.js +5 -1
  111. package/dist/cli/parser.js.map +1 -1
  112. package/dist/cli/registry.js.map +1 -1
  113. package/dist/cli/render.js +15 -2
  114. package/dist/cli/render.js.map +1 -1
  115. package/dist/cli/tui/components/host-admin-section.js +2 -46
  116. package/dist/cli/tui/components/host-admin-section.js.map +1 -1
  117. package/dist/cli/tui/tabs/mcp-tab-helpers.js +71 -0
  118. package/dist/cli/tui/tabs/mcp-tab-helpers.js.map +1 -1
  119. package/dist/cli/tui/tabs/mcp-tab.js +101 -42
  120. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  121. package/dist/domain/database-tools.js +445 -0
  122. package/dist/domain/database-tools.js.map +1 -0
  123. package/dist/domain/effective-contract.js +10 -2
  124. package/dist/domain/effective-contract.js.map +1 -1
  125. package/dist/domain/flow/answer.js +4 -0
  126. package/dist/domain/flow/answer.js.map +1 -1
  127. package/dist/domain/flow/authority.js +103 -14
  128. package/dist/domain/flow/authority.js.map +1 -1
  129. package/dist/domain/flow/directive.js +2 -0
  130. package/dist/domain/flow/directive.js.map +1 -1
  131. package/dist/domain/flow/run-state.js +42 -0
  132. package/dist/domain/flow/run-state.js.map +1 -1
  133. package/dist/domain/lineage.js +38 -11
  134. package/dist/domain/lineage.js.map +1 -1
  135. package/dist/domain/mcp-entry.js +131 -17
  136. package/dist/domain/mcp-entry.js.map +1 -1
  137. package/dist/domain/postgres-object-search.js +320 -0
  138. package/dist/domain/postgres-object-search.js.map +1 -0
  139. package/dist/domain/redaction.js +47 -0
  140. package/dist/domain/redaction.js.map +1 -0
  141. package/dist/domain/workline-mcp-entry.js +6 -9
  142. package/dist/domain/workline-mcp-entry.js.map +1 -1
  143. package/dist/ports/postgres-tools.js +10 -0
  144. package/dist/ports/postgres-tools.js.map +1 -0
  145. package/package.json +5 -1
  146. package/skills/w/commands/plan-exec.md +1 -1
  147. package/skills/w/commands/spec-new.md +6 -5
  148. package/skills/w/context/MANIFEST.json +1 -1
  149. package/skills/w/harness/HARNESS.md +1 -1
  150. package/skills/w/hooks/README.md +13 -9
  151. package/skills/w/hooks/hooks.template.json +2 -2
  152. package/skills/w/loops/CHASSIS.md +1 -1
  153. package/skills/w/loops/plan-exec-loop/LOOP.md +7 -5
  154. package/skills/w/loops/plan-new-loop/LOOP.md +46 -41
  155. package/skills/w/loops/plan-refine-loop/LOOP.md +4 -4
  156. package/skills/w/loops/quick-loop/LOOP.md +12 -13
  157. package/skills/w/loops/spec-refine-loop/LOOP.md +7 -3
  158. package/skills/w/modules/COMPACTION.md +1 -1
  159. package/skills/w/modules/PLAN-INPUT.md +3 -3
  160. package/skills/w/modules/PROMPT-CONTINUITY.md +1 -1
  161. package/dist/application/mcp-dbhub-launcher.js +0 -216
  162. package/dist/application/mcp-dbhub-launcher.js.map +0 -1
  163. package/dist/application/self/mcp-offer.js +0 -96
  164. package/dist/application/self/mcp-offer.js.map +0 -1
@@ -40,6 +40,77 @@ export function installStatusPill(status) {
40
40
  return { label: "registered", tone: "dim" };
41
41
  }
42
42
  }
43
+ /** Compact, actionable host state rather than conflating config with loading. */
44
+ export function mcpRuntimeStatePill(state) {
45
+ switch (state) {
46
+ case "registered":
47
+ return { label: "registered", tone: "dim" };
48
+ case "configured":
49
+ return { label: "configured", tone: "accent" };
50
+ case "launchable":
51
+ return { label: "launchable", tone: "ok" };
52
+ case "host-load-observed":
53
+ return { label: "host loaded", tone: "ok" };
54
+ case "reload-required":
55
+ return { label: "reload required", tone: "warn" };
56
+ case "legacy":
57
+ return { label: "legacy", tone: "warn" };
58
+ case "conflict":
59
+ return { label: "conflict", tone: "err" };
60
+ case "failed":
61
+ return { label: "failed", tone: "err" };
62
+ }
63
+ }
64
+ /**
65
+ * The list row represents all host descriptors, never an arbitrarily selected
66
+ * host. Errors win; otherwise the most advanced observed lifecycle state wins.
67
+ */
68
+ export function aggregateMcpRuntimeStates(states) {
69
+ const total = states.length;
70
+ const priorities = [
71
+ "failed",
72
+ "conflict",
73
+ "legacy",
74
+ "reload-required",
75
+ "host-load-observed",
76
+ "launchable",
77
+ "configured",
78
+ "registered",
79
+ ];
80
+ for (const state of priorities) {
81
+ const count = states.filter((candidate) => candidate === state).length;
82
+ if (count > 0)
83
+ return { state, count, total };
84
+ }
85
+ return { state: "registered", count: 0, total };
86
+ }
87
+ /** A compact status pill for the aggregate result, including its host coverage. */
88
+ export function mcpRuntimeAggregatePill(states) {
89
+ const aggregate = aggregateMcpRuntimeStates(states);
90
+ const base = mcpRuntimeStatePill(aggregate.state);
91
+ return {
92
+ ...base,
93
+ label: `${base.label} ${aggregate.count}/${aggregate.total}`,
94
+ };
95
+ }
96
+ /** Human-readable host distribution used in the compact connection row. */
97
+ export function mcpRuntimeStateSummary(states) {
98
+ const priorities = [
99
+ "failed",
100
+ "conflict",
101
+ "legacy",
102
+ "reload-required",
103
+ "host-load-observed",
104
+ "launchable",
105
+ "configured",
106
+ "registered",
107
+ ];
108
+ return priorities
109
+ .map((state) => ({ state, count: states.filter((candidate) => candidate === state).length }))
110
+ .filter((entry) => entry.count > 0)
111
+ .map((entry) => `${entry.count} ${mcpRuntimeStatePill(entry.state).label}`)
112
+ .join(" · ");
113
+ }
43
114
  /** Detail-panel install action label, adapting to the current install status. */
44
115
  export function installActionLabel(status) {
45
116
  switch (status) {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tab-helpers.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/mcp-tab-helpers.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wEAAwE;AACxE,6EAA6E;AAE7E,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAStC,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,SAAiC,EAAE;IAC3E,OAAO;QACL,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,WAAW,EAAE,IAAI,GAAG,EAAE;KACvB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,UAAU,GAAG,KAAK;SACrB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,MAAM,UAAU,MAAM,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IAIzD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,IAAI;YACP,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,KAAK,OAAO;YACV,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1C,KAAK,IAAI;YACP,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,IAAI;YACP,OAAO,sBAAsB,CAAC;QAChC,KAAK,OAAO;YACV,OAAO,yBAAyB,CAAC;QACnC,KAAK,IAAI;YACP,OAAO,wBAAwB,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,qFAAqF;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAuB,cAAc,CAAC;AAExE,mDAAmD;AACnD,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,OAAO,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,OAAO,GAAG,IAAI,aAAa,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"mcp-tab-helpers.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/mcp-tab-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text, useInput, useStdout } from "ink";
3
3
  import { useCallback, useMemo, useState } from "react";
4
4
  import { formatTuiEvent } from "../../../application/logging/log-events.js";
@@ -20,7 +20,7 @@ import { colors, icons } from "../theme.js";
20
20
  import { useListDetailKeys } from "../use-list-detail-keys.js";
21
21
  import { useListWindow, windowRangeHint } from "../use-list-window.js";
22
22
  import { useOnMount } from "../use-on-mount.js";
23
- import { INSTALLABLE_MCP_HOSTS, buildArgs, installActionLabel, installDestination, installStatusPill, mcpHostLabel, suggestDsnVar, } from "./mcp-tab-helpers.js";
23
+ import { INSTALLABLE_MCP_HOSTS, buildArgs, installDestination, mcpHostLabel, mcpRuntimeAggregatePill, mcpRuntimeStateSummary, suggestDsnVar, } from "./mcp-tab-helpers.js";
24
24
  // Hosts the picker offers, from the registry — never a hardcoded "claude".
25
25
  const HOST_CHOICES = INSTALLABLE_MCP_HOSTS;
26
26
  // Rows the chrome consumes around the connections list; the window
@@ -47,6 +47,7 @@ function safeDsnVisible(ctx, dsnVar) {
47
47
  }
48
48
  export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
49
49
  const [connections, setConnections] = useState([]);
50
+ const [registryIssue, setRegistryIssue] = useState(null);
50
51
  const [mode, setMode] = useState({ kind: "list" });
51
52
  const { stdout } = useStdout();
52
53
  // An MCP host is named by its own id, so the opt-out is resolved THROUGH the
@@ -89,9 +90,14 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
89
90
  if (!yes)
90
91
  return setMode({ kind: "detail" });
91
92
  const name = mode.name;
92
- void runRawAction("remove", name, `removing ${name}…`).then(async (ok) => {
93
- if (ok)
94
- onToast?.({ tone: "ok", title: `Connection '${name}' removed` });
93
+ void runRawAction("remove", name, `removing ${name}…`).then(async (summary) => {
94
+ if (summary !== null) {
95
+ onToast?.({
96
+ tone: "ok",
97
+ title: `Connection '${name}' removed`,
98
+ ...(summary.length === 0 ? {} : { body: summary }),
99
+ });
100
+ }
95
101
  await refresh();
96
102
  setMode({ kind: "list" });
97
103
  });
@@ -123,8 +129,18 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
123
129
  const refresh = useCallback(async () => {
124
130
  try {
125
131
  const result = await selfMcpConfig(buildArgs("list"), ctx);
126
- const next = result.ok ? (result.data?.connections ?? []) : [];
132
+ if (!result.ok) {
133
+ const recovery = result.data?.registry_error?.recovery ??
134
+ result.error?.message ??
135
+ "MCP registry requires repair.";
136
+ setConnections([]);
137
+ setRegistryIssue(recovery);
138
+ onToast?.({ tone: "err", title: "MCP registry needs repair", body: recovery });
139
+ return;
140
+ }
141
+ const next = result.data?.connections ?? [];
127
142
  setConnections(next);
143
+ setRegistryIssue(null);
128
144
  setCursor((c) => Math.min(Math.max(0, c), Math.max(0, next.length - 1)));
129
145
  }
130
146
  catch (err) {
@@ -140,24 +156,19 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
140
156
  if (!result.ok) {
141
157
  const summary = result.error?.message ?? "failed";
142
158
  onToast?.({ tone: "err", title: `Step ${action} failed`, body: summary });
143
- return false;
159
+ return null;
144
160
  }
145
161
  void ctx.logger?.info(formatTuiEvent(`mcp ${action} ${name}`, "ok"));
146
- return true;
162
+ return result.data?.summary ?? "";
147
163
  }
148
164
  catch (err) {
149
165
  onToast?.({ tone: "err", title: "Error", body: err.message });
150
- return false;
166
+ return null;
151
167
  }
152
168
  }, [ctx, onToast]);
153
- /**
154
- * Test connection — runs `npx -y @bytebase/dbhub` with the resolved DSN.
155
- * If dbhub starts without fatal errors within 5s, the connection to the
156
- * data engine is assumed OK. If dbhub fails fast (invalid DSN, unreachable
157
- * host, bad credentials), the stderr is reported.
158
- */
169
+ /** Test connection executes a read-only PostgreSQL SELECT 1. */
159
170
  const runTestConnection = useCallback(async (name, dsnVar) => {
160
- setMode({ kind: "busy", label: `testing ${name} → dbhub…` });
171
+ setMode({ kind: "busy", label: `testing ${name} → PostgreSQL…` });
161
172
  try {
162
173
  const result = await testMcpConnection({
163
174
  dsnVar,
@@ -169,7 +180,7 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
169
180
  onToast?.({
170
181
  tone: "ok",
171
182
  title: `Connection OK · ${name}`,
172
- body: `dbhub conectó usando ${dsnVar} (${result.source ?? "unknown"})`,
183
+ body: `PostgreSQL respondió SELECT 1 usando ${dsnVar} (${result.source ?? "unknown"})`,
173
184
  });
174
185
  void ctx.logger?.info(formatTuiEvent(`mcp test ${name}`, "ok"));
175
186
  }
@@ -177,7 +188,7 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
177
188
  onToast?.({
178
189
  tone: "err",
179
190
  title: `Test failed · ${name}`,
180
- body: result.error ?? "dbhub no pudo conectar",
191
+ body: result.error ?? "PostgreSQL no pudo conectar",
181
192
  });
182
193
  }
183
194
  }
@@ -233,19 +244,19 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
233
244
  // `runInstall` is no longer called here: Install opens the host picker and
234
245
  // the picker's handler runs it.
235
246
  [current, runTestConnection]);
236
- // Detail panel actions (Install/Test/Edit/Remove). `Install` adapts its label
237
- // to the user-scope status: install · update (on drift) · reinstall.
247
+ // Detail panel actions (Install/Test/Edit/Remove). Install always starts with
248
+ // an explicit host picker; a row can represent several independent hosts.
238
249
  const detailActions = current
239
250
  ? [
240
251
  {
241
- name: installActionLabel(current.instalado.claude),
242
- description: `Write the dbhub entry to ${installDestination("claude")} (user scope).`,
252
+ name: "Install in host…",
253
+ description: "Choose a user-scope host for the reliable Workline PostgreSQL server.",
243
254
  },
244
- { name: "Test connection", description: "Run dbhub with DSN (SELECT 1 smoke test)." },
255
+ { name: "Test connection", description: "Run a read-only PostgreSQL SELECT 1." },
245
256
  { name: "Edit connection", description: "Alias / DSN env var." },
246
257
  {
247
258
  name: "Remove connection",
248
- description: "Delete dbhub entries from every host's user config + local registry.",
259
+ description: "Delete Workline PostgreSQL entries from user configs + local registry.",
249
260
  danger: true,
250
261
  },
251
262
  ]
@@ -288,9 +299,12 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
288
299
  ? { rightAction: "esc cancel" }
289
300
  : mode.kind === "detail" || mode.kind === "confirm-delete"
290
301
  ? { rightAction: "esc to close detail" }
291
- : {}) }), connections.length === 0 && mode.kind === "list" ? (_jsxs(Box, { marginLeft: 2, marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.dim, children: "No MCP connections yet." }), _jsxs(Text, { color: colors.dim, children: ["Register a DSN to let skills query your DB. Press", " ", _jsx(Text, { color: colors.accent, bold: true, children: "a" }), " ", "to start."] })] })) : (_jsx(Box, { marginTop: 0, flexDirection: "column", children: connections
302
+ : {}) }), connections.length === 0 && mode.kind === "list" ? (_jsx(Box, { marginLeft: 2, marginTop: 1, flexDirection: "column", children: registryIssue ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: colors.err, children: "MCP registry needs repair." }), _jsx(Text, { color: colors.dim, children: registryIssue })] })) : (_jsxs(_Fragment, { children: [_jsx(Text, { color: colors.dim, children: "No MCP connections yet." }), _jsxs(Text, { color: colors.dim, children: ["Register a DSN to let skills query your DB. Press", " ", _jsx(Text, { color: colors.accent, bold: true, children: "a" }), " ", "to start."] })] })) })) : (_jsx(Box, { marginTop: 0, flexDirection: "column", children: connections
292
303
  .slice(listWindow.start, listWindow.start + listWindow.visible)
293
- .map((c, i) => (_jsx(ListRow, { icon: icons.diamond, iconActive: true, title: c.nombre, subtitle: `${c.dsn_var} · ${c.server_name}`, state: installStatusPill(c.instalado.claude), chevron: true, active: listWindow.start + i === cursor, dimmed: inWizard, widthHint: rowWidth(stdout?.columns, overlayOpen) }, c.nombre))) })), mode.kind === "wizard-name" ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(SectionHead, { label: mode.editingName
304
+ .map((connection, i) => {
305
+ const states = hostRuntimeStates(connection);
306
+ return (_jsx(ListRow, { icon: icons.diamond, iconActive: true, title: connection.nombre, subtitle: `${connection.dsn_var} · ${connection.server_name} · ${mcpRuntimeStateSummary(states)}`, state: mcpRuntimeAggregatePill(states), chevron: true, active: listWindow.start + i === cursor, dimmed: inWizard, widthHint: rowWidth(stdout?.columns, overlayOpen) }, connection.nombre));
307
+ }) })), mode.kind === "wizard-name" ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(SectionHead, { label: mode.editingName
294
308
  ? `Edit connection · ${mode.editingName}`
295
309
  : "Register new connection", hint: "Step 1 of 2 \u00B7 Alias", rightAction: "\u23CE next \u00B7 esc cancel" }), _jsx(Box, { marginLeft: 2, marginTop: 0, children: _jsx(InputPrompt, { message: "alias (slug-kebab):", onSubmit: (value) => {
296
310
  const trimmed = value.trim() || mode.editingName || "";
@@ -321,13 +335,13 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
321
335
  });
322
336
  }, isActive: isActive }) })] })) : null, mode.kind === "wizard-review" ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(SectionHead, { label: `${mode.editingExisting ? "Edit" : "Register"} connection · ${mode.name}`, hint: "Step 3 of 3 \u00B7 Review \u00B7 test \u00B7 install", rightAction: "\u23CE save+install \u00B7 esc cancel" }), _jsxs(Box, { marginLeft: 2, marginTop: 1, flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: colors.dim, children: "alias " }), _jsx(Text, { color: colors.bright, bold: true, children: mode.name })] }), _jsxs(Box, { children: [_jsx(Text, { color: colors.dim, children: "DSN " }), _jsx(Text, { color: colors.bright, bold: true, children: mode.dsnVar }), _jsx(Text, { children: " " }), mode.visible ? (_jsxs(Text, { color: colors.ok, children: [icons.check, " visible"] })) : (_jsxs(Text, { color: colors.warn, children: [icons.cross, " not in env \u2014 export it first"] }))] }), mode.test ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: mode.test.ok ? colors.ok : colors.err, children: [mode.test.ok ? icons.check : icons.cross, " ", mode.test.msg] }) })) : null, _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.borderFaint, children: "─".repeat(40) }), _jsx(Text, { color: colors.faint, children: "[\u23CE] save + install \u00B7 [s] save only \u00B7 [t] test \u00B7 esc cancel" })] })] })] })) : null, mode.kind === "select-host" ? (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(SectionHead, { label: `Install ${mode.name} into…`, count: hostChoices.length }), hostChoices.length === 0 ? (_jsx(Text, { color: colors.warn, children: `${icons.alertDot} every MCP host is off in [Config] — re-enable one to install` })) : null, hostChoices.map((host, i) => (_jsx(ListRow, { icon: icons.diamond, iconActive: mode.cursor === i, title: mcpHostLabel(host), subtitle: installDestination(host), active: mode.cursor === i, widthHint: rowWidth(stdout?.columns, false) }, host))), _jsx(Text, { color: colors.faint, children: "[\u23CE] install here \u00B7 esc cancel" })] })) : null, mode.kind === "busy" ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.warn, children: [icons.spinner, " ", mode.label] }) })) : null] }), current && (mode.kind === "detail" || mode.kind === "confirm-delete") ? (_jsx(DetailPanel, { bordered: true, header: {
323
337
  name: current.nombre,
324
- meta: `${current.server_name} · ${current.dsn_var}\nlast test: —`,
325
- }, statePill: { label: "registered", tone: "ok" }, actions: detailActions, focusedAction: actionCursor, banner: mode.kind === "confirm-delete" ? (_jsx(ConfirmBanner, { title: `× Remove ${mode.name}?`, body: `This removes '${mode.name}' (dbhub entries only) from every host's user config and deletes it from the local registry (mcp-connections.json). Not reversible.` })) : null })) : inWizard ? (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.borderFaint, children: "│" }), _jsxs(Box, { flexDirection: "column", width: 38, paddingLeft: 1, children: [_jsx(Box, { children: _jsx(Text, { color: colors.accent, bold: true, children: mode.kind === "wizard-review" && mode.editingExisting
338
+ meta: connectionDetailMeta(current),
339
+ }, statePill: mcpRuntimeAggregatePill(hostRuntimeStates(current)), actions: detailActions, focusedAction: actionCursor, banner: mode.kind === "confirm-delete" ? (_jsx(ConfirmBanner, { title: `× Remove ${mode.name}?`, body: `This removes '${mode.name}' (Workline PostgreSQL entries only) from every host's user config and deletes it from the local registry (mcp-connections.json). Not reversible.` })) : null })) : inWizard ? (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.borderFaint, children: "│" }), _jsxs(Box, { flexDirection: "column", width: 38, paddingLeft: 1, children: [_jsx(Box, { children: _jsx(Text, { color: colors.accent, bold: true, children: mode.kind === "wizard-review" && mode.editingExisting
326
340
  ? "✎ Edit connection"
327
341
  : "+ New connection" }) }), _jsx(Text, { color: colors.dim, wrap: "truncate-end", children: "guided \u00B7 test \u00B7 install" }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.mute, children: "STEPS" }), _jsx(WizardStep, { index: 1, label: "Alias", active: mode.kind === "wizard-name", completed: mode.kind === "wizard-dsn" || mode.kind === "wizard-review", value: mode.kind === "wizard-dsn" || mode.kind === "wizard-review"
328
342
  ? mode.name
329
343
  : undefined }), _jsx(WizardStep, { index: 2, label: "DSN env var", active: mode.kind === "wizard-dsn", completed: mode.kind === "wizard-review", value: mode.kind === "wizard-review" ? mode.dsnVar : undefined }), _jsx(WizardStep, { index: 3, label: "Test (optional)", active: mode.kind === "wizard-review", completed: mode.kind === "wizard-review" && mode.test?.ok === true }), _jsx(WizardStep, { index: 4, label: "Install \u2192 user scope", active: false, completed: false })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.borderFaint, children: "─".repeat(36) }), _jsx(Text, { color: colors.faint, children: mode.kind === "wizard-review"
330
- ? "⏎ save+install · s save · t test"
344
+ ? "⏎ save · choose host · s save · t test"
331
345
  : "⏎ next · esc cancel" })] })] })] })) : null] }), _jsx(Box, { marginTop: 1, children: _jsx(QuickActions, { actions: [{ key: "a", label: "add connection" }] }) })] }));
332
346
  // Register the connection in the local registry, mcp-connections.json (use-env).
333
347
  // Returns ok so callers can chain the user-scope install. On a not-visible DSN,
@@ -357,19 +371,15 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
357
371
  }
358
372
  }
359
373
  async function saveAndInstall(name, dsnVar) {
374
+ let choosingHost = false;
360
375
  setMode({ kind: "busy", label: `saving ${name}…` });
361
376
  try {
362
377
  const saved = await saveConnection(name, dsnVar);
363
378
  if (saved) {
364
- setMode({ kind: "busy", label: `installing ${name} → ${installDestination("claude")}…` });
365
- const install = await selfMcpConfig(buildArgs("install-claude", { name }), ctx);
366
- onToast?.({
367
- tone: install.ok ? "ok" : "err",
368
- title: install.ok ? `Installed · ${name}` : `Install failed · ${name}`,
369
- body: install.data?.summary ?? install.error?.message ?? "",
370
- });
371
- if (install.ok)
372
- void ctx.logger?.info(formatTuiEvent(`mcp install ${name}`, "ok"));
379
+ choosingHost = true;
380
+ await refresh();
381
+ setMode({ kind: "select-host", name, cursor: 0 });
382
+ return;
373
383
  }
374
384
  await refresh();
375
385
  }
@@ -377,11 +387,12 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
377
387
  onToast?.({ tone: "err", title: "Error", body: err.message });
378
388
  }
379
389
  finally {
380
- setMode({ kind: "list" });
390
+ if (!choosingHost)
391
+ setMode({ kind: "list" });
381
392
  }
382
393
  }
383
394
  async function runWizardTest(review) {
384
- setMode({ kind: "busy", label: `testing ${review.dsnVar} → dbhub…` });
395
+ setMode({ kind: "busy", label: `testing ${review.dsnVar} → PostgreSQL…` });
385
396
  try {
386
397
  const result = await testMcpConnection({
387
398
  dsnVar: review.dsnVar,
@@ -394,8 +405,8 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
394
405
  test: {
395
406
  ok: result.ok,
396
407
  msg: result.ok
397
- ? `dbhub connected (${result.source ?? "env"})`
398
- : (result.error ?? "dbhub could not connect"),
408
+ ? `PostgreSQL SELECT 1 (${result.source ?? "env"})`
409
+ : (result.error ?? "PostgreSQL could not connect"),
399
410
  },
400
411
  });
401
412
  }
@@ -404,6 +415,54 @@ export function McpTab({ ctx, isActive, onToast, disabledHosts = [] }) {
404
415
  }
405
416
  }
406
417
  }
418
+ function connectionDetailMeta(connection) {
419
+ const hostStates = HOST_CHOICES.map((host) => {
420
+ const state = connection.host_status[host];
421
+ const receiptFailure = state.receipt_failure === undefined
422
+ ? ""
423
+ : ` (${state.receipt_failure.phase}/${state.receipt_failure.code})`;
424
+ const nativeFailure = state.native_check_failure === undefined
425
+ ? ""
426
+ : ` (native/${state.native_check_failure.code} @ ${state.native_check_failure.observed_at})`;
427
+ return `${mcpHostLabel(host)}: ${state.state}${receiptFailure}${nativeFailure}`;
428
+ });
429
+ const probes = HOST_CHOICES.flatMap((host) => {
430
+ const state = connection.host_status[host];
431
+ return state.last_probe === undefined
432
+ ? []
433
+ : [`${mcpHostLabel(host)} ${state.last_probe.outcome} (${state.last_probe.phase})`];
434
+ });
435
+ const reloadHints = [];
436
+ if (connection.host_status.claude.reload_required) {
437
+ reloadHints.push("Claude: /mcp → Reconnect o nueva sesión");
438
+ }
439
+ if (connection.host_status.codex.reload_required) {
440
+ reloadHints.push("Codex: /mcp → Restart");
441
+ }
442
+ const receiptRecovery = HOST_CHOICES.some((host) => connection.host_status[host].receipt_failure !== undefined)
443
+ ? ["Acción: reinstalá cada host con evidencia de recibo fallida."]
444
+ : [];
445
+ const nativeRecovery = HOST_CHOICES.some((host) => connection.host_status[host].native_check_failure !== undefined)
446
+ ? ["Acción: revisá el check nativo MCP del host antes de confiar en su carga."]
447
+ : [];
448
+ const fallback = connection.host_status.codex.state === "host-load-observed"
449
+ ? []
450
+ : [
451
+ `Fallback directo de Codex (MCP opcional): agent-workflow tool call execute_sql --connection ${connection.nombre} --input-json -`,
452
+ ];
453
+ return [
454
+ `${connection.server_name} · ${connection.dsn_var}`,
455
+ ...hostStates,
456
+ ...(probes.length === 0 ? ["last probe: —"] : probes.map((probe) => `last probe: ${probe}`)),
457
+ ...receiptRecovery,
458
+ ...nativeRecovery,
459
+ ...reloadHints,
460
+ ...fallback,
461
+ ].join("\n");
462
+ }
463
+ function hostRuntimeStates(connection) {
464
+ return HOST_CHOICES.map((host) => connection.host_status[host].state);
465
+ }
407
466
  function WizardStep({ index, label, active, completed, value, }) {
408
467
  const glyph = completed ? icons.check : active ? "→" : " ";
409
468
  const color = completed ? colors.ok : active ? colors.accent : colors.dim;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/mcp-tab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/mcp-tab.tsx"],"names":[],"mappings":"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"}