@tacuchi/agent-workflow-cli 19.0.0 → 19.2.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.
- package/README.md +2 -2
- package/dist/adapters/node-file-system.js +4 -4
- package/dist/adapters/node-file-system.js.map +1 -1
- package/dist/application/branch-resolver.d.ts +1 -1
- package/dist/application/branch-resolver.js +1 -1
- package/dist/application/check-branch-service.js +0 -1
- package/dist/application/check-branch-service.js.map +1 -1
- package/dist/application/checkpoint/state-reader.js +2 -2
- package/dist/application/checkpoint/state-reader.js.map +1 -1
- package/dist/application/checkpoint-service.d.ts +4 -4
- package/dist/application/checkpoint-service.d.ts.map +1 -1
- package/dist/application/checkpoint-service.js +4 -6
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/git-flow-service.js +2 -2
- package/dist/application/git-flow-service.js.map +1 -1
- package/dist/application/humanize-es.d.ts.map +1 -1
- package/dist/application/humanize-es.js +0 -1
- package/dist/application/humanize-es.js.map +1 -1
- package/dist/application/markdown.d.ts.map +1 -1
- package/dist/application/markdown.js +0 -4
- package/dist/application/markdown.js.map +1 -1
- package/dist/application/mcp-dbhub-launcher.js +1 -1
- package/dist/application/mcp-dbhub-launcher.js.map +1 -1
- package/dist/application/mcp-host-paths.d.ts +8 -8
- package/dist/application/mcp-host-paths.js +8 -8
- package/dist/application/mcp-host-reader.js +2 -2
- package/dist/application/mcp-host-reader.js.map +1 -1
- package/dist/application/mcp-host-writer.js +3 -3
- package/dist/application/mcp-host-writer.js.map +1 -1
- package/dist/application/mcp-test-connection-service.d.ts +4 -4
- package/dist/application/mcp-test-connection-service.d.ts.map +1 -1
- package/dist/application/mcp-test-connection-service.js +6 -6
- package/dist/application/mcp-test-connection-service.js.map +1 -1
- package/dist/application/mcp-warp-postinstall-hint.js +4 -4
- package/dist/application/mcp-warp-postinstall-hint.js.map +1 -1
- package/dist/application/multiroot/claude.js +3 -3
- package/dist/application/multiroot/claude.js.map +1 -1
- package/dist/application/multiroot/warp.d.ts.map +1 -1
- package/dist/application/multiroot/warp.js +0 -1
- package/dist/application/multiroot/warp.js.map +1 -1
- package/dist/application/parsers/project-block.js +0 -2
- package/dist/application/parsers/project-block.js.map +1 -1
- package/dist/application/plugin-doctor-service.js +5 -5
- package/dist/application/plugin-doctor-service.js.map +1 -1
- package/dist/application/project-md-upsert-service.d.ts +4 -4
- package/dist/application/project-md-upsert-service.d.ts.map +1 -1
- package/dist/application/project-md-upsert-service.js +1 -1
- package/dist/application/project-md-upsert-service.js.map +1 -1
- package/dist/application/project-tab-data.d.ts +25 -25
- package/dist/application/project-tab-data.d.ts.map +1 -1
- package/dist/application/project-tab-data.js +24 -34
- package/dist/application/project-tab-data.js.map +1 -1
- package/dist/application/release-data/artifacts.js +2 -2
- package/dist/application/release-data/artifacts.js.map +1 -1
- package/dist/application/release-data/sessions.js +1 -1
- package/dist/application/release-data/sessions.js.map +1 -1
- package/dist/application/render/project-block.js +6 -6
- package/dist/application/render/project-block.js.map +1 -1
- package/dist/application/self/clean-legacy.d.ts +1 -0
- package/dist/application/self/clean-legacy.d.ts.map +1 -1
- package/dist/application/self/clean-legacy.js +6 -2
- package/dist/application/self/clean-legacy.js.map +1 -1
- package/dist/application/self/detect-hosts.js +5 -5
- package/dist/application/self/detect-hosts.js.map +1 -1
- package/dist/application/self/install-hooks.d.ts.map +1 -1
- package/dist/application/self/install-hooks.js +0 -1
- package/dist/application/self/install-hooks.js.map +1 -1
- package/dist/application/self/install-plugin-skills-git.js +3 -3
- package/dist/application/self/install-plugin-skills-git.js.map +1 -1
- package/dist/application/self/install-plugin-skills.js +4 -4
- package/dist/application/self/install-plugin-skills.js.map +1 -1
- package/dist/application/self/install-skill.d.ts +18 -1
- package/dist/application/self/install-skill.d.ts.map +1 -1
- package/dist/application/self/install-skill.js +81 -19
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/self/install-targets.d.ts +2 -0
- package/dist/application/self/install-targets.d.ts.map +1 -1
- package/dist/application/self/install-targets.js +30 -1
- package/dist/application/self/install-targets.js.map +1 -1
- package/dist/application/self/skills-manager.d.ts +34 -24
- package/dist/application/self/skills-manager.d.ts.map +1 -1
- package/dist/application/self/skills-manager.js +151 -110
- package/dist/application/self/skills-manager.js.map +1 -1
- package/dist/application/self/skills-registry.d.ts +10 -10
- package/dist/application/self/skills-registry.d.ts.map +1 -1
- package/dist/application/self/skills-registry.js +12 -12
- package/dist/application/self/skills-registry.js.map +1 -1
- package/dist/application/self/uninstall.d.ts +1 -0
- package/dist/application/self/uninstall.d.ts.map +1 -1
- package/dist/application/self/uninstall.js +38 -13
- package/dist/application/self/uninstall.js.map +1 -1
- package/dist/application/session-resolver.d.ts +1 -1
- package/dist/application/session-resolver.d.ts.map +1 -1
- package/dist/application/source-launch-scripts-service.js +0 -3
- package/dist/application/source-launch-scripts-service.js.map +1 -1
- package/dist/application/source-remove-service.d.ts +7 -7
- package/dist/application/source-remove-service.js +13 -13
- package/dist/application/source-remove-service.js.map +1 -1
- package/dist/application/templates/session.d.ts +2 -2
- package/dist/application/templates/session.d.ts.map +1 -1
- package/dist/application/templates/session.js +2 -6
- package/dist/application/templates/session.js.map +1 -1
- package/dist/application/terminal-launch.d.ts +1 -1
- package/dist/application/terminal-launch.js +1 -1
- package/dist/application/visibility-doctor-service.js +4 -4
- package/dist/application/visibility-doctor-service.js.map +1 -1
- package/dist/application/workspace-init-service.d.ts +1 -1
- package/dist/application/workspace-init-service.d.ts.map +1 -1
- package/dist/application/workspace-init-service.js +0 -3
- package/dist/application/workspace-init-service.js.map +1 -1
- package/dist/cli/commands/check-branch.js +1 -1
- package/dist/cli/commands/check-branch.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +4 -4
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/release-data.js +1 -1
- package/dist/cli/main.js +5 -5
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +1 -3
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/parsers/fuentes.js +3 -3
- package/dist/cli/parsers/fuentes.js.map +1 -1
- package/dist/cli/tui/app.d.ts +1 -1
- package/dist/cli/tui/app.d.ts.map +1 -1
- package/dist/cli/tui/app.js +36 -36
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/components/detail-panel.d.ts +8 -7
- package/dist/cli/tui/components/detail-panel.d.ts.map +1 -1
- package/dist/cli/tui/components/detail-panel.js +11 -11
- package/dist/cli/tui/components/detail-panel.js.map +1 -1
- package/dist/cli/tui/components/focus-row.d.ts +10 -10
- package/dist/cli/tui/components/focus-row.d.ts.map +1 -1
- package/dist/cli/tui/components/focus-row.js +10 -10
- package/dist/cli/tui/components/focus-row.js.map +1 -1
- package/dist/cli/tui/components/home-footer.d.ts +1 -1
- package/dist/cli/tui/components/home-footer.d.ts.map +1 -1
- package/dist/cli/tui/components/home-header.js +4 -4
- package/dist/cli/tui/components/host-admin-section.d.ts.map +1 -1
- package/dist/cli/tui/components/host-admin-section.js +6 -7
- package/dist/cli/tui/components/host-admin-section.js.map +1 -1
- package/dist/cli/tui/components/list-row.d.ts +2 -2
- package/dist/cli/tui/components/list-row.js +10 -10
- package/dist/cli/tui/components/list-row.js.map +1 -1
- package/dist/cli/tui/components/notification-banner.d.ts +8 -7
- package/dist/cli/tui/components/notification-banner.d.ts.map +1 -1
- package/dist/cli/tui/components/notification-banner.js +9 -8
- package/dist/cli/tui/components/notification-banner.js.map +1 -1
- package/dist/cli/tui/components/notification-stack.d.ts +6 -6
- package/dist/cli/tui/components/notification-stack.d.ts.map +1 -1
- package/dist/cli/tui/components/notification-stack.js +5 -5
- package/dist/cli/tui/components/page-head.d.ts +5 -5
- package/dist/cli/tui/components/page-head.d.ts.map +1 -1
- package/dist/cli/tui/components/screen-frame.d.ts.map +1 -1
- package/dist/cli/tui/components/screen-frame.js +6 -5
- package/dist/cli/tui/components/screen-frame.js.map +1 -1
- package/dist/cli/tui/components/tab-bar.d.ts +5 -5
- package/dist/cli/tui/components/tab-bar.d.ts.map +1 -1
- package/dist/cli/tui/components/tab-bar.js +3 -3
- package/dist/cli/tui/components/tabs-config.d.ts +1 -1
- package/dist/cli/tui/components/tabs-config.d.ts.map +1 -1
- package/dist/cli/tui/components/tabs-config.js +3 -6
- package/dist/cli/tui/components/tabs-config.js.map +1 -1
- package/dist/cli/tui/components/workspace-init-alias.d.ts +2 -2
- package/dist/cli/tui/components/workspace-init-alias.d.ts.map +1 -1
- package/dist/cli/tui/components/workspace-init-alias.js +6 -6
- package/dist/cli/tui/components/workspace-init-alias.js.map +1 -1
- package/dist/cli/tui/components/workspace-init-form.js +3 -3
- package/dist/cli/tui/components/workspace-init-form.js.map +1 -1
- package/dist/cli/tui/data/recommended-skills.js +11 -11
- package/dist/cli/tui/data/recommended-skills.js.map +1 -1
- package/dist/cli/tui/data/workflow-content.js +11 -11
- package/dist/cli/tui/data/workflow-content.js.map +1 -1
- package/dist/cli/tui/hosts.d.ts +5 -5
- package/dist/cli/tui/hosts.d.ts.map +1 -1
- package/dist/cli/tui/hosts.js +7 -9
- package/dist/cli/tui/hosts.js.map +1 -1
- package/dist/cli/tui/notification-center.d.ts +11 -11
- package/dist/cli/tui/notification-center.d.ts.map +1 -1
- package/dist/cli/tui/notification-center.js +3 -3
- package/dist/cli/tui/notification-center.js.map +1 -1
- package/dist/cli/tui/row-width.d.ts +9 -10
- package/dist/cli/tui/row-width.d.ts.map +1 -1
- package/dist/cli/tui/row-width.js +9 -10
- package/dist/cli/tui/row-width.js.map +1 -1
- package/dist/cli/tui/run.d.ts.map +1 -1
- package/dist/cli/tui/run.js +13 -12
- package/dist/cli/tui/run.js.map +1 -1
- package/dist/cli/tui/tabs/config-tab.d.ts +1 -1
- package/dist/cli/tui/tabs/config-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/config-tab.js +6 -6
- package/dist/cli/tui/tabs/config-tab.js.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.js +8 -8
- package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +38 -37
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +30 -26
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/dist/cli/tui/tabs/status-tab.d.ts +4 -4
- package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/status-tab.js +7 -7
- package/dist/cli/tui/tabs/status-tab.js.map +1 -1
- package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/workflow-tab.js +4 -5
- package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
- package/dist/cli/tui/theme.d.ts +3 -2
- package/dist/cli/tui/theme.d.ts.map +1 -1
- package/dist/cli/tui/theme.js +23 -22
- package/dist/cli/tui/theme.js.map +1 -1
- package/dist/cli/tui/tui-prefs.d.ts +3 -3
- package/dist/cli/tui/tui-prefs.d.ts.map +1 -1
- package/dist/cli/tui/tui-prefs.js +5 -5
- package/dist/cli/tui/tui-prefs.js.map +1 -1
- package/dist/cli/tui/use-list-cursor.d.ts +1 -1
- package/dist/cli/tui/use-list-cursor.d.ts.map +1 -1
- package/dist/cli/tui/use-list-cursor.js +2 -2
- package/dist/cli/tui/use-list-cursor.js.map +1 -1
- package/dist/cli/tui/use-terminal-size.js +5 -5
- package/dist/cli/tui/use-terminal-size.js.map +1 -1
- package/dist/domain/harnesses.d.ts.map +1 -1
- package/dist/domain/harnesses.js +11 -2
- package/dist/domain/harnesses.js.map +1 -1
- package/dist/domain/mcp-entry.js +3 -3
- package/dist/domain/mcp-entry.js.map +1 -1
- package/dist/domain/session.d.ts +2 -3
- package/dist/domain/session.d.ts.map +1 -1
- package/dist/domain/types.d.ts +2 -2
- package/package.json +2 -2
- package/skills/w/harness/HARNESS.md +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
1
|
+
// Seed of recommended external skills for the [Skills] tab — hardcoded to
|
|
2
|
+
// avoid I/O during render (workflow-content pattern).
|
|
3
3
|
//
|
|
4
|
-
//
|
|
5
|
-
// recomendadas" —
|
|
6
|
-
//
|
|
4
|
+
// Drift point: mirror of qtc-plugins-marketplace/README.md § "Skills externas
|
|
5
|
+
// recomendadas" — if that section changes, update this file (and vice versa).
|
|
6
|
+
// Counts are derived with `.length` — do NOT hardcode counts in strings.
|
|
7
7
|
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
8
|
+
// A recommended skill never leaves the list: `Remove` drops its registration
|
|
9
|
+
// and returns it to this `recommended` state (the seed is data, not registry).
|
|
10
10
|
export const RECOMMENDED_SKILLS = [
|
|
11
|
-
//
|
|
11
|
+
// Document processing / MCP — anthropics/skills
|
|
12
12
|
{ name: "pdf", source: "anthropics/skills", description: "Create, edit and analyze PDF files." },
|
|
13
13
|
{ name: "docx", source: "anthropics/skills", description: "Create and edit Word documents." },
|
|
14
14
|
{ name: "xlsx", source: "anthropics/skills", description: "Create and edit Excel spreadsheets." },
|
|
@@ -27,7 +27,7 @@ export const RECOMMENDED_SKILLS = [
|
|
|
27
27
|
source: "anthropics/skills",
|
|
28
28
|
description: "Drive and test web apps end-to-end.",
|
|
29
29
|
},
|
|
30
|
-
//
|
|
30
|
+
// Engineering discipline — mattpocock/skills (MIT)
|
|
31
31
|
{
|
|
32
32
|
name: "diagnosing-bugs",
|
|
33
33
|
source: "mattpocock/skills",
|
|
@@ -53,7 +53,7 @@ export const RECOMMENDED_SKILLS = [
|
|
|
53
53
|
source: "mattpocock/skills",
|
|
54
54
|
description: "Socratic grilling of design decisions.",
|
|
55
55
|
},
|
|
56
|
-
// Meta /
|
|
56
|
+
// Meta / discovery — vercel-labs
|
|
57
57
|
{
|
|
58
58
|
name: "find-skills",
|
|
59
59
|
source: "vercel-labs/skills",
|
|
@@ -75,7 +75,7 @@ export const RECOMMENDED_SKILLS = [
|
|
|
75
75
|
source: "DietrichGebert/ponytail",
|
|
76
76
|
description: "Review diffs hunting over-engineering to delete.",
|
|
77
77
|
},
|
|
78
|
-
//
|
|
78
|
+
// Skill documentation and quality — softaworks/agent-toolkit
|
|
79
79
|
{
|
|
80
80
|
name: "c4-architecture",
|
|
81
81
|
source: "softaworks/agent-toolkit",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommended-skills.js","sourceRoot":"","sources":["../../../../src/cli/tui/data/recommended-skills.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"recommended-skills.js","sourceRoot":"","sources":["../../../../src/cli/tui/data/recommended-skills.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,sDAAsD;AACtD,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,yEAAyE;AACzE,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAI/E,MAAM,CAAC,MAAM,kBAAkB,GAAyB;IACtD,gDAAgD;IAChD,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,qCAAqC,EAAE;IAChG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,iCAAiC,EAAE;IAC7F,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,qCAAqC,EAAE;IACjG;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE,qCAAqC;KACnD;IACD,mDAAmD;IACnD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE,yCAAyC;KACvD;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE,gCAAgC;KAC9C;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,mBAAmB;QAC3B,WAAW,EAAE,wCAAwC;KACtD;IACD,iCAAiC;IACjC;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,oBAAoB;QAC5B,WAAW,EAAE,8CAA8C;KAC5D;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,0BAA0B;QAClC,WAAW,EAAE,8CAA8C;KAC5D;IACD,wDAAwD;IACxD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,yBAAyB;QACjC,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,yBAAyB;QACjC,WAAW,EAAE,kDAAkD;KAChE;IACD,6DAA6D;IAC7D;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,0BAA0B;QAClC,WAAW,EAAE,wCAAwC;KACtD;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,0BAA0B;QAClC,WAAW,EAAE,mCAAmC;KACjD;CACO,CAAC"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
// - skills/w/commands/ (/w: slash commands — 1
|
|
1
|
+
// [Workflows] tab data — hardcoded to avoid I/O during render.
|
|
2
|
+
// Kept in sync with the redesigned model (stages + loops + artifacts):
|
|
3
|
+
// - skills/w/commands/ (/w: slash commands — 1 per .md file)
|
|
4
4
|
// - skills/w/README.md (3 flows: SPEC / PLAN / QUICK)
|
|
5
|
-
// - skills/w/hooks/hooks.template.json (5
|
|
5
|
+
// - skills/w/hooks/hooks.template.json (5 events)
|
|
6
6
|
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// runtime —
|
|
7
|
+
// Drift points: if /w: commands are added/removed in `commands/` or hooks in
|
|
8
|
+
// the template, update this file. Totals are derived with `.length` at
|
|
9
|
+
// runtime — do NOT hardcode counts in strings.
|
|
10
10
|
export const WORKFLOW_CONTENT = {
|
|
11
|
-
//
|
|
12
|
-
//
|
|
11
|
+
// Single line: [Workflows] renders it with truncate — the doctrinal detail
|
|
12
|
+
// lives in the `w` bundle, not in the TUI.
|
|
13
13
|
overview: "3 flows (SPEC · PLAN · QUICK) drive convergent loops — each a persistent goal that runs until its Success criteria are green (verification-first).",
|
|
14
|
-
//
|
|
14
|
+
// The model's 3 FLOWS + bootstrap (workspace-init) + export-* family.
|
|
15
15
|
phases: [
|
|
16
16
|
{ id: "workspace-init", title: "Workspace init" },
|
|
17
17
|
{ id: "spec", title: "SPEC — the what" },
|
|
@@ -35,7 +35,7 @@ export const WORKFLOW_CONTENT = {
|
|
|
35
35
|
"/w:export-diagrams",
|
|
36
36
|
"/w:export-reports",
|
|
37
37
|
],
|
|
38
|
-
// 5 hooks
|
|
38
|
+
// The 5 hooks of hooks.template.json — real matcher + what they fire.
|
|
39
39
|
hooks: [
|
|
40
40
|
{
|
|
41
41
|
name: "SessionStart",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-content.js","sourceRoot":"","sources":["../../../../src/cli/tui/data/workflow-content.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"workflow-content.js","sourceRoot":"","sources":["../../../../src/cli/tui/data/workflow-content.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uEAAuE;AACvE,iEAAiE;AACjE,0DAA0D;AAC1D,oDAAoD;AACpD,EAAE;AACF,6EAA6E;AAC7E,uEAAuE;AACvE,+CAA+C;AAsB/C,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,2EAA2E;IAC3E,2CAA2C;IAC3C,QAAQ,EACN,oJAAoJ;IAEtJ,sEAAsE;IACtE,MAAM,EAAE;QACN,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACjD,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE;QACxC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACvC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE;QAC9C,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;KACrD;IAED,mEAAmE;IACnE,aAAa,EAAE;QACb,mBAAmB;QACnB,aAAa;QACb,gBAAgB;QAChB,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,UAAU;QACV,WAAW;QACX,YAAY;QACZ,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB;QACpB,mBAAmB;KACpB;IAED,sEAAsE;IACtE,KAAK,EAAE;QACL;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,sBAAsB;YAC/B,KAAK,EAAE,0DAA0D;SAClE;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,mDAAmD;YAC5D,KAAK,EAAE,wDAAwD;SAChE;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,sCAAsC;SAC9C;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,2DAA2D;SACnE;QACD;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,iDAAiD;SACzD;KACF;CACF,CAAC"}
|
package/dist/cli/tui/hosts.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export interface HostMeta {
|
|
2
|
-
/** id
|
|
2
|
+
/** Stable id used in data + shortcuts. */
|
|
3
3
|
id: string;
|
|
4
|
-
/** label
|
|
4
|
+
/** Long label (shown in cards / detail panels). */
|
|
5
5
|
name: string;
|
|
6
|
-
/** glyph
|
|
6
|
+
/** 1-letter glyph for compact chips. */
|
|
7
7
|
glyph: string;
|
|
8
|
-
/** alias
|
|
8
|
+
/** Short alias for dense text. */
|
|
9
9
|
short: string;
|
|
10
|
-
/**
|
|
10
|
+
/** True when install/uninstall/detect already support this host. */
|
|
11
11
|
backed: boolean;
|
|
12
12
|
}
|
|
13
13
|
export declare const HOSTS: readonly HostMeta[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosts.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/hosts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hosts.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/hosts.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,QAAQ;IACvB,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,KAAK,EAAE,SAAS,QAAQ,EAQ3B,CAAC;AAEX,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAmD,CAAC;AAEpG,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAU7C"}
|
package/dist/cli/tui/hosts.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
// Host registry
|
|
1
|
+
// Host registry shared by the whole TUI.
|
|
2
2
|
//
|
|
3
|
-
// Single source of truth
|
|
4
|
-
// (install/uninstall/cache/detect)
|
|
5
|
-
//
|
|
6
|
-
// MCP writer + detect + install a su skill dir), así que están `backed: true`.
|
|
7
|
-
// Gemini cubre además Antigravity CLI (reusa ~/.gemini/).
|
|
3
|
+
// Single source of truth for chips, lists, status. The backend services
|
|
4
|
+
// (install/uninstall/cache/detect) use their own `InstallTarget`. Gemini also
|
|
5
|
+
// covers Antigravity CLI (it reuses ~/.gemini/).
|
|
8
6
|
//
|
|
9
|
-
//
|
|
10
|
-
// Hosts
|
|
11
|
-
//
|
|
7
|
+
// `backed` states whether the host has a real install/uninstall service.
|
|
8
|
+
// Hosts with `backed: false` still render in the list, but the action shows a
|
|
9
|
+
// "host not supported yet" toast.
|
|
12
10
|
export const HOSTS = [
|
|
13
11
|
{ id: "claude", name: "Claude Code", glyph: "C", short: "claude", backed: true },
|
|
14
12
|
{ id: "codex", name: "Codex", glyph: "X", short: "codex", backed: true },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosts.js","sourceRoot":"","sources":["../../../src/cli/tui/hosts.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"hosts.js","sourceRoot":"","sources":["../../../src/cli/tui/hosts.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,wEAAwE;AACxE,8EAA8E;AAC9E,iDAAiD;AACjD,EAAE;AACF,yEAAyE;AACzE,8EAA8E;AAC9E,kCAAkC;AAelC,MAAM,CAAC,MAAM,KAAK,GAAwB;IACxC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAChF,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;IACxE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IAC9E,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAC7F,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;IACjF,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;IACxE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;CACnE,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAA6B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpG,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,OAAO,CACL,UAAU,CAAC,EAAE,CAAC,IAAI;QAChB,EAAE;QACF,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,GAAG;QAClC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,KAAK;KACd,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
/**
|
|
3
|
-
* NotificationCenter —
|
|
4
|
-
*
|
|
3
|
+
* NotificationCenter — unified global state for persistent banners (update
|
|
4
|
+
* available, doctor check) and ephemeral messages (toasts).
|
|
5
5
|
*
|
|
6
|
-
* - Items
|
|
7
|
-
* - Items
|
|
8
|
-
* - `push`
|
|
9
|
-
* item
|
|
6
|
+
* - Items with a `duration` auto-dismiss after `duration` ms (toasts).
|
|
7
|
+
* - Items without one persist until `dismiss(id)` or the user's `x dismiss`.
|
|
8
|
+
* - `push` is idempotent per `id`: re-pushing `update-available` replaces the
|
|
9
|
+
* existing item without duplicating.
|
|
10
10
|
*/
|
|
11
11
|
export type NotificationTone = "ok" | "info" | "warn" | "err";
|
|
12
12
|
export interface NotificationAction {
|
|
13
|
-
/**
|
|
13
|
+
/** Key that triggers the action (single char). */
|
|
14
14
|
key: string;
|
|
15
15
|
label: string;
|
|
16
|
-
/**
|
|
16
|
+
/** Highlights as the primary CTA (inverse bold). Defaults to the first one. */
|
|
17
17
|
emphasis?: boolean;
|
|
18
18
|
run: () => void;
|
|
19
19
|
}
|
|
@@ -23,9 +23,9 @@ export interface NotificationItem {
|
|
|
23
23
|
title: string | ReactNode;
|
|
24
24
|
body?: string;
|
|
25
25
|
actions?: NotificationAction[];
|
|
26
|
-
/**
|
|
26
|
+
/** When set, auto-dismisses after `duration` ms. */
|
|
27
27
|
duration?: number;
|
|
28
|
-
/** Default true.
|
|
28
|
+
/** Default true. When false hides `x dismiss` and ignores 'x'. */
|
|
29
29
|
dismissible?: boolean;
|
|
30
30
|
}
|
|
31
31
|
export interface NotificationInput {
|
|
@@ -37,7 +37,7 @@ export interface NotificationInput {
|
|
|
37
37
|
duration?: number;
|
|
38
38
|
dismissible?: boolean;
|
|
39
39
|
}
|
|
40
|
-
/**
|
|
40
|
+
/** Legacy signature compatible with the old `useToasts.push`. */
|
|
41
41
|
export interface ToastBridgeInput {
|
|
42
42
|
tone?: "ok" | "info" | "err";
|
|
43
43
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/notification-center.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAQf,MAAM,OAAO,CAAC;AAEf;;;;;;;;GAQG;AAEH,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,
|
|
1
|
+
{"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/notification-center.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAQf,MAAM,OAAO,CAAC;AAEf;;;;;;;;GAQG;AAEH,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,qBAAqB;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,CAAC;IAC3C,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACzC;AAMD,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,0BAA0B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,+BAA+B,2CAoI/F;AAED,wBAAgB,gBAAgB,IAAI,qBAAqB,CAMxD"}
|
|
@@ -75,7 +75,7 @@ export function NotificationCenterProvider({ children, logger }) {
|
|
|
75
75
|
const dismissTop = useCallback(() => {
|
|
76
76
|
let didDismiss = false;
|
|
77
77
|
setItems((prev) => {
|
|
78
|
-
// Top =
|
|
78
|
+
// Top = newest dismissible item (last in the array).
|
|
79
79
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
80
80
|
const item = prev[i];
|
|
81
81
|
if (item && item.dismissible !== false) {
|
|
@@ -91,14 +91,14 @@ export function NotificationCenterProvider({ children, logger }) {
|
|
|
91
91
|
const triggerAction = useCallback((key) => {
|
|
92
92
|
const normalized = key.toLowerCase();
|
|
93
93
|
let actionRan = false;
|
|
94
|
-
//
|
|
94
|
+
// Look up the action in the newest item first (LIFO).
|
|
95
95
|
setItems((prev) => {
|
|
96
96
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
97
97
|
const item = prev[i];
|
|
98
98
|
const match = item?.actions?.find((a) => a.key.toLowerCase() === normalized);
|
|
99
99
|
if (match) {
|
|
100
100
|
actionRan = true;
|
|
101
|
-
//
|
|
101
|
+
// Run outside the setState callback to avoid side-effects in render.
|
|
102
102
|
queueMicrotask(() => match.run());
|
|
103
103
|
break;
|
|
104
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-center.js","sourceRoot":"","sources":["../../../src/cli/tui/notification-center.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"notification-center.js","sourceRoot":"","sources":["../../../src/cli/tui/notification-center.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Available width (in cells) for a `ListRow` inside a tab, depending on
|
|
3
|
+
* whether the side detail panel is open and how much the list container
|
|
4
|
+
* indents. Shared by the tabs that list with `ListRow` (Project / MCP /
|
|
5
|
+
* Skills).
|
|
4
6
|
*
|
|
5
|
-
*
|
|
6
|
-
* antes triplicado como `computeRowWidth` en cada uno.
|
|
7
|
-
*
|
|
8
|
-
* Overhead horizontal:
|
|
7
|
+
* Horizontal overhead:
|
|
9
8
|
* - ScreenFrame border + paddingX = 6
|
|
10
9
|
* - tab content Box border + paddingX = 6
|
|
11
10
|
* - list paddingRight = 2
|
|
12
11
|
* → base = 14
|
|
13
|
-
* - `indent`: marginLeft
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* - detail panel
|
|
12
|
+
* - `indent`: marginLeft of the rows container (Project uses 2 for SOURCES;
|
|
13
|
+
* MCP/Skills 0). If not subtracted, the row builds wider than its container
|
|
14
|
+
* → Yoga wraps it → blank line between rows.
|
|
15
|
+
* - detail panel open: {@link DETAIL_PANEL_ROW_OVERHEAD} (panel + frame + gap).
|
|
17
16
|
*/
|
|
18
17
|
export declare function rowWidth(termCols: number | undefined, detailOpen: boolean, indent?: number): number;
|
|
19
18
|
//# sourceMappingURL=row-width.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row-width.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/row-width.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"row-width.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/row-width.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,SAAI,GAAG,MAAM,CAK9F"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { DETAIL_PANEL_ROW_OVERHEAD } from "./components/detail-panel.js";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Available width (in cells) for a `ListRow` inside a tab, depending on
|
|
4
|
+
* whether the side detail panel is open and how much the list container
|
|
5
|
+
* indents. Shared by the tabs that list with `ListRow` (Project / MCP /
|
|
6
|
+
* Skills).
|
|
5
7
|
*
|
|
6
|
-
*
|
|
7
|
-
* antes triplicado como `computeRowWidth` en cada uno.
|
|
8
|
-
*
|
|
9
|
-
* Overhead horizontal:
|
|
8
|
+
* Horizontal overhead:
|
|
10
9
|
* - ScreenFrame border + paddingX = 6
|
|
11
10
|
* - tab content Box border + paddingX = 6
|
|
12
11
|
* - list paddingRight = 2
|
|
13
12
|
* → base = 14
|
|
14
|
-
* - `indent`: marginLeft
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* - detail panel
|
|
13
|
+
* - `indent`: marginLeft of the rows container (Project uses 2 for SOURCES;
|
|
14
|
+
* MCP/Skills 0). If not subtracted, the row builds wider than its container
|
|
15
|
+
* → Yoga wraps it → blank line between rows.
|
|
16
|
+
* - detail panel open: {@link DETAIL_PANEL_ROW_OVERHEAD} (panel + frame + gap).
|
|
18
17
|
*/
|
|
19
18
|
export function rowWidth(termCols, detailOpen, indent = 0) {
|
|
20
19
|
const cols = termCols ?? 100;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row-width.js","sourceRoot":"","sources":["../../../src/cli/tui/row-width.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE
|
|
1
|
+
{"version":3,"file":"row-width.js","sourceRoot":"","sources":["../../../src/cli/tui/row-width.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,QAAQ,CAAC,QAA4B,EAAE,UAAmB,EAAE,MAAM,GAAG,CAAC;IACpF,MAAM,IAAI,GAAG,QAAQ,IAAI,GAAG,CAAC;IAC7B,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,CAAC;IACjC,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,YAAY,GAAG,cAAc,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/run.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/run.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAuC/C,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAoDjF"}
|
package/dist/cli/tui/run.js
CHANGED
|
@@ -3,17 +3,18 @@ import { render } from "ink";
|
|
|
3
3
|
import { App } from "./app.js";
|
|
4
4
|
import { applyAccent } from "./theme.js";
|
|
5
5
|
import { TuiPrefsService } from "./tui-prefs.js";
|
|
6
|
-
//
|
|
7
|
-
// `?1049h`
|
|
8
|
-
//
|
|
9
|
-
//
|
|
6
|
+
// Alternate screen buffer (alt-screen) ANSI sequences.
|
|
7
|
+
// `?1049h` enters (saves the current screen), `?1049l` leaves (restores it).
|
|
8
|
+
// Same mechanism vim/htop/lazygit use: the TUI lives on an isolated canvas and
|
|
9
|
+
// leaves no trace in the scrollback on exit — the root cause of orphan lines.
|
|
10
10
|
const ALT_SCREEN_ENTER = "\x1b[?1049h";
|
|
11
11
|
const ALT_SCREEN_LEAVE = "\x1b[?1049l";
|
|
12
12
|
const CLEAR_HOME = "\x1b[2J\x1b[H";
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* Enters the alt-screen and returns an idempotent `restore()`. No-op when
|
|
15
|
+
* stdout is not a TTY (CI, pipes). Registers a safety net on `exit`/`SIGTERM`
|
|
16
|
+
* so the terminal is not left trapped in the alternate buffer if the process
|
|
17
|
+
* dies.
|
|
17
18
|
*/
|
|
18
19
|
function enterAltScreen(stdout) {
|
|
19
20
|
if (!stdout.isTTY)
|
|
@@ -48,7 +49,7 @@ export async function runTui(version, ctx) {
|
|
|
48
49
|
resolved = true;
|
|
49
50
|
resolveResult(result);
|
|
50
51
|
};
|
|
51
|
-
//
|
|
52
|
+
// Load prefs and apply the accent BEFORE the first render (no color flash).
|
|
52
53
|
const prefs = await new TuiPrefsService(ctx.fs, ctx.paths).load();
|
|
53
54
|
applyAccent(prefs.accentColor);
|
|
54
55
|
const restoreScreen = enterAltScreen(process.stdout);
|
|
@@ -72,10 +73,10 @@ export async function runTui(version, ctx) {
|
|
|
72
73
|
catch {
|
|
73
74
|
// already logged above
|
|
74
75
|
}
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
//
|
|
78
|
-
//
|
|
76
|
+
// Leave the alt-screen only once Ink has fully unmounted: its final erase
|
|
77
|
+
// then happens on the alternate buffer and the user's screen comes back
|
|
78
|
+
// clean. Must happen before returning so post-TUI actions (e.g. `self
|
|
79
|
+
// update` with inquirer) run on the main screen.
|
|
79
80
|
restoreScreen();
|
|
80
81
|
return result;
|
|
81
82
|
}
|
package/dist/cli/tui/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/tui/run.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,EAAE,GAAG,EAAkB,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/tui/run.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export interface ConfigTabProps {
|
|
|
5
5
|
isActive: boolean;
|
|
6
6
|
prefs: TuiPrefs;
|
|
7
7
|
onChange: (patch: Partial<TuiPrefs>) => void;
|
|
8
|
-
/**
|
|
8
|
+
/** Persists the namespace (config file read by NamespaceResolver). */
|
|
9
9
|
onSaveNamespace: (ns: string) => void;
|
|
10
10
|
}
|
|
11
11
|
export declare function ConfigTab({ ctx, isActive, prefs, onChange, onSaveNamespace }: ConfigTabProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/config-tab.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AASjD,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAInE,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAC7C,
|
|
1
|
+
{"version":3,"file":"config-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/config-tab.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AASjD,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAInE,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAC7C,sEAAsE;IACtE,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAgBD,wBAAgB,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,cAAc,2CAkK5F"}
|
|
@@ -13,9 +13,9 @@ import { ACCENTS, ACCENT_ORDER, colors, icons } from "../theme.js";
|
|
|
13
13
|
import { DEFAULT_TUI_PREFS } from "../tui-prefs.js";
|
|
14
14
|
import { useListCursor } from "../use-list-cursor.js";
|
|
15
15
|
import { useTerminalSize } from "../use-terminal-size.js";
|
|
16
|
-
// Tabs
|
|
16
|
+
// Tabs offered as the initial screen (Config is not offered — nobody starts there).
|
|
17
17
|
const INITIAL_SCREEN_OPTIONS = TABS_LIST.filter((t) => t.id !== "config");
|
|
18
|
-
/**
|
|
18
|
+
/** Next index, circular. */
|
|
19
19
|
const cycleIndex = (len, current, dir) => (current + dir + len) % len;
|
|
20
20
|
export function ConfigTab({ ctx, isActive, prefs, onChange, onSaveNamespace }) {
|
|
21
21
|
const { cols } = useTerminalSize();
|
|
@@ -74,7 +74,7 @@ export function ConfigTab({ ctx, isActive, prefs, onChange, onSaveNamespace }) {
|
|
|
74
74
|
setEditingNs(false);
|
|
75
75
|
unlock();
|
|
76
76
|
};
|
|
77
|
-
//
|
|
77
|
+
// Navigation (off while the namespace is being edited → the TextInput captures everything).
|
|
78
78
|
useInput((input, key) => {
|
|
79
79
|
if (key.upArrow)
|
|
80
80
|
moveUp();
|
|
@@ -89,7 +89,7 @@ export function ConfigTab({ ctx, isActive, prefs, onChange, onSaveNamespace }) {
|
|
|
89
89
|
else if (key.return || input === " ")
|
|
90
90
|
activateFocused();
|
|
91
91
|
}, { isActive: isActive && !editingNs });
|
|
92
|
-
// Esc
|
|
92
|
+
// Esc cancels the namespace edit.
|
|
93
93
|
useInput((_input, key) => {
|
|
94
94
|
if (key.escape)
|
|
95
95
|
finishEdit();
|
|
@@ -104,7 +104,7 @@ export function ConfigTab({ ctx, isActive, prefs, onChange, onSaveNamespace }) {
|
|
|
104
104
|
return (_jsx(FocusRow, { focused: isFocused({ kind: "host", id: h.id }), cols: cols, label: `${h.glyph} ${h.name}`, labelColor: h.backed ? undefined : colors.faint, valueWidth: st.width, children: _jsxs(Text, { color: st.color, children: [icons.pending, " ", st.label] }) }, h.id));
|
|
105
105
|
}) })] }));
|
|
106
106
|
}
|
|
107
|
-
// ─── Value renderers (
|
|
107
|
+
// ─── Value renderers (presentation + width co-located) ───────────────────────
|
|
108
108
|
const ACCENT_VALUE_WIDTH = ACCENT_ORDER.length * 2 + 7; // swatches "X " + hex #rrggbb
|
|
109
109
|
function AccentValue({ current }) {
|
|
110
110
|
return (_jsxs(_Fragment, { children: [ACCENT_ORDER.map((a) => (_jsxs(Text, { color: ACCENTS[a].main, children: [a === current ? "▣" : "■", " "] }, a))), _jsx(Text, { color: colors.dim, children: ACCENTS[current].main })] }));
|
|
@@ -113,7 +113,7 @@ const INITIAL_VALUE_WIDTH = INITIAL_SCREEN_OPTIONS.reduce((a, t) => a + t.label.
|
|
|
113
113
|
function InitialScreenValue({ currentId }) {
|
|
114
114
|
return (_jsx(_Fragment, { children: INITIAL_SCREEN_OPTIONS.map((t) => (_jsxs(Text, { color: t.id === currentId ? colors.accent : colors.mute, bold: t.id === currentId, children: [t.label, " "] }, t.id))) }));
|
|
115
115
|
}
|
|
116
|
-
/**
|
|
116
|
+
/** Host state: label + color + render width (icon + space + label). */
|
|
117
117
|
function hostState(backed, enabled) {
|
|
118
118
|
const label = !backed ? "future" : enabled ? "on" : "off";
|
|
119
119
|
const color = !backed ? colors.faint : enabled ? colors.ok : colors.mute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/config-tab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAc,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAoB,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAW1D,
|
|
1
|
+
{"version":3,"file":"config-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/config-tab.tsx"],"names":[],"mappings":"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"}
|