@tacuchi/agent-workflow-cli 5.11.5 → 5.14.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/dist/application/dev-only-services.d.ts +2 -3
- package/dist/application/dev-only-services.d.ts.map +1 -1
- package/dist/application/dev-only-services.js +37 -35
- package/dist/application/dev-only-services.js.map +1 -1
- package/dist/application/mcp-host-reader.d.ts.map +1 -1
- package/dist/application/mcp-host-reader.js +34 -26
- package/dist/application/mcp-host-reader.js.map +1 -1
- package/dist/application/mcp-host-writer.d.ts.map +1 -1
- package/dist/application/mcp-host-writer.js +55 -1
- package/dist/application/mcp-host-writer.js.map +1 -1
- package/dist/application/mcp-remove-service.d.ts.map +1 -1
- package/dist/application/mcp-remove-service.js +9 -1
- package/dist/application/mcp-remove-service.js.map +1 -1
- package/dist/application/mcp-setup-service.d.ts.map +1 -1
- package/dist/application/mcp-setup-service.js +9 -1
- package/dist/application/mcp-setup-service.js.map +1 -1
- package/dist/application/multiroot/oz.d.ts +49 -0
- package/dist/application/multiroot/oz.d.ts.map +1 -0
- package/dist/application/multiroot/oz.js +39 -0
- package/dist/application/multiroot/oz.js.map +1 -0
- package/dist/application/multiroot/warp.d.ts +49 -0
- package/dist/application/multiroot/warp.d.ts.map +1 -0
- package/dist/application/multiroot/warp.js +118 -0
- package/dist/application/multiroot/warp.js.map +1 -0
- package/dist/application/multiroot-service.d.ts +10 -0
- package/dist/application/multiroot-service.d.ts.map +1 -1
- package/dist/application/multiroot-service.js +12 -0
- package/dist/application/multiroot-service.js.map +1 -1
- package/dist/application/plugin-doctor/hooks.d.ts.map +1 -1
- package/dist/application/plugin-doctor/hooks.js +3 -1
- package/dist/application/plugin-doctor/hooks.js.map +1 -1
- package/dist/application/plugin-doctor/manifests.d.ts.map +1 -1
- package/dist/application/plugin-doctor/manifests.js +3 -1
- package/dist/application/plugin-doctor/manifests.js.map +1 -1
- package/dist/application/self/doctor-self.d.ts.map +1 -1
- package/dist/application/self/doctor-self.js +2 -1
- package/dist/application/self/doctor-self.js.map +1 -1
- package/dist/application/self/install-plugin-skills-git.d.ts +6 -0
- package/dist/application/self/install-plugin-skills-git.d.ts.map +1 -0
- package/dist/application/self/install-plugin-skills-git.js +156 -0
- package/dist/application/self/install-plugin-skills-git.js.map +1 -0
- package/dist/application/self/install-plugin-skills.d.ts +20 -0
- package/dist/application/self/install-plugin-skills.d.ts.map +1 -0
- package/dist/application/self/install-plugin-skills.js +174 -0
- package/dist/application/self/install-plugin-skills.js.map +1 -0
- package/dist/application/self/install-skill.d.ts +1 -1
- package/dist/application/self/install-skill.d.ts.map +1 -1
- package/dist/application/self/install-skill.js +13 -2
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/self/mcp-config.d.ts +2 -1
- package/dist/application/self/mcp-config.d.ts.map +1 -1
- package/dist/application/self/mcp-config.js +22 -6
- package/dist/application/self/mcp-config.js.map +1 -1
- package/dist/application/self/uninstall-skill.js +2 -2
- package/dist/application/self/uninstall-skill.js.map +1 -1
- package/dist/application/sessions-service.d.ts.map +1 -1
- package/dist/application/sessions-service.js +6 -1
- package/dist/application/sessions-service.js.map +1 -1
- package/dist/application/skill-index-service.d.ts.map +1 -1
- package/dist/application/skill-index-service.js +3 -4
- package/dist/application/skill-index-service.js.map +1 -1
- package/dist/application/visibility-doctor-service.d.ts +2 -1
- package/dist/application/visibility-doctor-service.d.ts.map +1 -1
- package/dist/application/visibility-doctor-service.js +17 -0
- package/dist/application/visibility-doctor-service.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +12 -4
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/multiroot.d.ts.map +1 -1
- package/dist/cli/commands/multiroot.js +4 -0
- package/dist/cli/commands/multiroot.js.map +1 -1
- package/dist/cli/commands/self.d.ts.map +1 -1
- package/dist/cli/commands/self.js +9 -1
- package/dist/cli/commands/self.js.map +1 -1
- package/dist/cli/tui/app.d.ts.map +1 -1
- package/dist/cli/tui/app.js +13 -3
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/components/connections-grid.d.ts.map +1 -1
- package/dist/cli/tui/components/connections-grid.js +3 -3
- package/dist/cli/tui/components/connections-grid.js.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.js +2 -0
- package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
- package/dist/cli/tui/tabs/plugins-tab.d.ts +7 -0
- package/dist/cli/tui/tabs/plugins-tab.d.ts.map +1 -0
- package/dist/cli/tui/tabs/plugins-tab.js +271 -0
- package/dist/cli/tui/tabs/plugins-tab.js.map +1 -0
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +6 -1
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/dist/domain/harnesses.d.ts +41 -0
- package/dist/domain/harnesses.d.ts.map +1 -0
- package/dist/domain/harnesses.js +91 -0
- package/dist/domain/harnesses.js.map +1 -0
- package/dist/domain/mcp-entry.d.ts +1 -1
- package/dist/domain/mcp-entry.d.ts.map +1 -1
- package/dist/runtime/namespace-resolver.d.ts +1 -1
- package/dist/runtime/namespace-resolver.d.ts.map +1 -1
- package/dist/runtime/namespace-resolver.js +1 -1
- package/dist/runtime/namespace-resolver.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { readdir, stat } from "node:fs/promises";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { Box, Text, useInput } from "ink";
|
|
5
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
6
|
+
import { installPluginSkillsFromGit } from "../../../application/self/install-plugin-skills-git.js";
|
|
7
|
+
import { selfInstallPluginSkills } from "../../../application/self/install-plugin-skills.js";
|
|
8
|
+
import { InputPrompt } from "../components/input-prompt.js";
|
|
9
|
+
import { Toast } from "../components/toast.js";
|
|
10
|
+
import { useInputLock } from "../input-lock.js";
|
|
11
|
+
import { colors, icons } from "../theme.js";
|
|
12
|
+
const TARGET_LABELS = {
|
|
13
|
+
warp: "Warp",
|
|
14
|
+
agents: "Agents",
|
|
15
|
+
claude: "Claude Code",
|
|
16
|
+
codex: "Codex",
|
|
17
|
+
oz: "Oz",
|
|
18
|
+
};
|
|
19
|
+
export function PluginsTab({ ctx, isActive }) {
|
|
20
|
+
const [plugins, setPlugins] = useState([]);
|
|
21
|
+
const [cursor, setCursor] = useState(0);
|
|
22
|
+
const [busy, setBusy] = useState(null);
|
|
23
|
+
const [mode, setMode] = useState({ kind: "idle" });
|
|
24
|
+
const [toast, setToast] = useState(null);
|
|
25
|
+
const startedRef = useRef(false);
|
|
26
|
+
const { lock, unlock } = useInputLock();
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (mode.kind === "idle")
|
|
29
|
+
unlock();
|
|
30
|
+
else {
|
|
31
|
+
lock();
|
|
32
|
+
setToast(null);
|
|
33
|
+
}
|
|
34
|
+
}, [mode, lock, unlock]);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
return () => unlock();
|
|
37
|
+
}, [unlock]);
|
|
38
|
+
const refresh = useCallback(async () => {
|
|
39
|
+
const home = ctx.env.homeDir();
|
|
40
|
+
const entries = await buildPluginEntries(home);
|
|
41
|
+
setPlugins(entries);
|
|
42
|
+
setCursor((c) => Math.min(Math.max(0, entries.length - 1), Math.max(0, c)));
|
|
43
|
+
}, [ctx]);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
if (startedRef.current)
|
|
46
|
+
return;
|
|
47
|
+
startedRef.current = true;
|
|
48
|
+
void refresh();
|
|
49
|
+
}, [refresh]);
|
|
50
|
+
const installFromLocal = useCallback(async (target, force) => {
|
|
51
|
+
const plugin = plugins[cursor];
|
|
52
|
+
if (!plugin?.sourcePath)
|
|
53
|
+
return false;
|
|
54
|
+
setBusy(`instalando en ${target}…`);
|
|
55
|
+
setToast(null);
|
|
56
|
+
try {
|
|
57
|
+
const args = {
|
|
58
|
+
rest: [],
|
|
59
|
+
plugin: {},
|
|
60
|
+
flags: new Set(force ? ["--force"] : []),
|
|
61
|
+
values: new Map([
|
|
62
|
+
["from", plugin.sourcePath],
|
|
63
|
+
["target", target],
|
|
64
|
+
["namespace", plugin.namespace],
|
|
65
|
+
]),
|
|
66
|
+
valuesMulti: new Map(),
|
|
67
|
+
};
|
|
68
|
+
const result = await selfInstallPluginSkills(args, ctx);
|
|
69
|
+
const summary = result.data?.summary ?? result.error?.message ?? "";
|
|
70
|
+
setToast({ tone: result.ok ? "success" : "error", message: summary });
|
|
71
|
+
await refresh();
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
setToast({ tone: "error", message: err.message });
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
setBusy(null);
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
80
|
+
}, [plugins, cursor, ctx, refresh]);
|
|
81
|
+
const installFromGit = useCallback(async (target, force, url, ref) => {
|
|
82
|
+
const plugin = plugins[cursor];
|
|
83
|
+
if (!plugin)
|
|
84
|
+
return;
|
|
85
|
+
const label = TARGET_LABELS[target] ?? target;
|
|
86
|
+
setBusy(`clonando e instalando en ${label}…`);
|
|
87
|
+
setToast(null);
|
|
88
|
+
try {
|
|
89
|
+
const fullUrl = ref ? `${url}#${ref}` : url;
|
|
90
|
+
const args = {
|
|
91
|
+
rest: [],
|
|
92
|
+
plugin: {},
|
|
93
|
+
flags: new Set(force ? ["--force"] : []),
|
|
94
|
+
values: new Map([
|
|
95
|
+
["url", fullUrl],
|
|
96
|
+
["target", target],
|
|
97
|
+
["namespace", plugin.namespace],
|
|
98
|
+
]),
|
|
99
|
+
valuesMulti: new Map(),
|
|
100
|
+
};
|
|
101
|
+
const result = await installPluginSkillsFromGit(args, ctx);
|
|
102
|
+
const summary = result.data?.summary ?? result.error?.message ?? "";
|
|
103
|
+
setToast({ tone: result.ok ? "success" : "error", message: summary });
|
|
104
|
+
await refresh();
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
setToast({ tone: "error", message: err.message });
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
setBusy(null);
|
|
111
|
+
}
|
|
112
|
+
}, [plugins, cursor, ctx, refresh]);
|
|
113
|
+
const install = useCallback(async (target, force = false, forceGit = false) => {
|
|
114
|
+
const plugin = plugins[cursor];
|
|
115
|
+
if (!plugin)
|
|
116
|
+
return;
|
|
117
|
+
if (!forceGit && plugin.sourcePath) {
|
|
118
|
+
await installFromLocal(target, force);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (plugin.sourceUrl) {
|
|
122
|
+
await installFromGit(target, force, plugin.sourceUrl, plugin.sourceRef);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
// No source available — ask user for URL
|
|
126
|
+
setMode({ kind: "entering-url", target, force });
|
|
127
|
+
}, [plugins, cursor, installFromLocal, installFromGit]);
|
|
128
|
+
useInput((input, key) => {
|
|
129
|
+
if (!isActive || busy || mode.kind !== "idle")
|
|
130
|
+
return;
|
|
131
|
+
handlePluginsKey(input, key, plugins.length, setCursor, install);
|
|
132
|
+
}, { isActive });
|
|
133
|
+
// Esc cancels URL entry
|
|
134
|
+
useInput((_, key) => {
|
|
135
|
+
if (!isActive || mode.kind !== "entering-url")
|
|
136
|
+
return;
|
|
137
|
+
if (key.escape)
|
|
138
|
+
setMode({ kind: "idle" });
|
|
139
|
+
}, { isActive });
|
|
140
|
+
// URL entry mode overlay
|
|
141
|
+
if (mode.kind === "entering-url") {
|
|
142
|
+
const label = TARGET_LABELS[mode.target] ?? mode.target;
|
|
143
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.fg, bold: true, children: "Plugin Skills" }), _jsx(Box, { marginTop: 1, children: _jsx(InputPrompt, { message: `URL git del plugin para instalar en ${label}:`, validate: (v) => v.startsWith("http") || "Debe ser una URL git válida (https://...)", onSubmit: (url) => {
|
|
144
|
+
setMode({ kind: "idle" });
|
|
145
|
+
void installFromGit(mode.target, mode.force, url);
|
|
146
|
+
}, isActive: true }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.fgMoreSubtle, children: "Esc para cancelar \u00B7 \u23CE para confirmar" }) })] }));
|
|
147
|
+
}
|
|
148
|
+
if (plugins.length === 0 && !busy) {
|
|
149
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.fg, bold: true, children: "Plugin Skills" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.fgMoreSubtle, italic: true, children: "(sin plugins detectados \u2014 instala qtc-workflow-plugin desde el marketplace de Claude Code)" }) })] }));
|
|
150
|
+
}
|
|
151
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.fg, bold: true, children: "Plugin Skills" }), _jsx(Box, { marginTop: 1, flexDirection: "column", children: plugins.map((plugin, i) => (_jsx(PluginRow, { plugin: plugin, focused: isActive && i === cursor }, plugin.id))) }), busy ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.warning, children: [icons.spinner, " ", busy] }) })) : null, toast ? _jsx(Toast, { tone: toast.tone, message: toast.message }) : null] }));
|
|
152
|
+
}
|
|
153
|
+
function PluginRow({ plugin, focused }) {
|
|
154
|
+
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: focused ? colors.primary : colors.fgMoreSubtle, bold: focused, children: focused ? icons.focusBullet : " " }), _jsx(Text, { color: focused ? colors.fg : colors.fgSubtle, bold: focused, children: plugin.label }), plugin.version ? _jsxs(Text, { color: colors.fgMoreSubtle, children: [" v", plugin.version] }) : null, plugin.skillCount !== null ? (_jsxs(Text, { color: colors.fgMoreSubtle, children: [" \u00B7 ", plugin.skillCount, " skills"] })) : null, !plugin.sourcePath && !plugin.sourceUrl ? (_jsx(Text, { color: colors.warning, children: " (fuente no encontrada)" })) : !plugin.sourcePath && plugin.sourceUrl ? (_jsx(Text, { color: colors.fgMoreSubtle, children: " (instalar\u00E1 desde git)" })) : null] }), _jsx(Box, { flexDirection: "column", marginLeft: 2, children: plugin.targets.map((t) => (_jsxs(Box, { children: [_jsxs(Text, { color: t.installed ? colors.success : colors.fgMoreSubtle, bold: t.installed, children: [t.installed ? icons.check : "–", " "] }), _jsx(Text, { color: colors.fgSubtle, children: t.label }), _jsxs(Text, { color: colors.fgMoreSubtle, children: [" \u00B7 ", t.path] })] }, t.id))) })] }));
|
|
155
|
+
}
|
|
156
|
+
async function buildPluginEntries(homeDir) {
|
|
157
|
+
const qtcEntry = await detectQtcPlugin(homeDir);
|
|
158
|
+
return qtcEntry ? [qtcEntry] : [];
|
|
159
|
+
}
|
|
160
|
+
async function detectQtcPlugin(homeDir) {
|
|
161
|
+
const cacheBase = join(homeDir, ".claude", "plugins", "cache", "qtc-marketplace", "qtc");
|
|
162
|
+
const version = await findLatestVersion(cacheBase);
|
|
163
|
+
const skillsDir = version ? join(cacheBase, version, "skills") : null;
|
|
164
|
+
const skillCount = skillsDir ? await countSkillDirs(skillsDir) : null;
|
|
165
|
+
const ns = "qtc";
|
|
166
|
+
const targets = [
|
|
167
|
+
{
|
|
168
|
+
id: "warp",
|
|
169
|
+
label: "Warp Terminal",
|
|
170
|
+
path: `~/.warp/skills/${ns}-*/`,
|
|
171
|
+
installed: await isInstalled(homeDir, "warp", ns),
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
id: "agents",
|
|
175
|
+
label: "Oz / Agents",
|
|
176
|
+
path: `~/.agents/skills/${ns}-*/`,
|
|
177
|
+
installed: await isInstalled(homeDir, "agents", ns),
|
|
178
|
+
},
|
|
179
|
+
];
|
|
180
|
+
return {
|
|
181
|
+
id: "qtc",
|
|
182
|
+
label: "qtc-workflow-plugin",
|
|
183
|
+
namespace: ns,
|
|
184
|
+
sourcePath: skillsDir,
|
|
185
|
+
sourceUrl: "https://bitbucket.org/adminqtc-ti/qtc-workflow-plugin.git",
|
|
186
|
+
sourceRef: "feature/last",
|
|
187
|
+
version: version ?? null,
|
|
188
|
+
skillCount,
|
|
189
|
+
targets,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
async function findLatestVersion(base) {
|
|
193
|
+
try {
|
|
194
|
+
const entries = await readdir(base);
|
|
195
|
+
const versions = entries.filter((e) => /^\d+\.\d+\.\d+/.test(e)).sort(semverDesc);
|
|
196
|
+
return versions[0] ?? null;
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
return null;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
async function countSkillDirs(skillsDir) {
|
|
203
|
+
try {
|
|
204
|
+
const entries = await readdir(skillsDir);
|
|
205
|
+
let count = 0;
|
|
206
|
+
for (const e of entries) {
|
|
207
|
+
try {
|
|
208
|
+
const s = await stat(join(skillsDir, e));
|
|
209
|
+
if (s.isDirectory())
|
|
210
|
+
count += 1;
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
// skip
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return count;
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
async function isInstalled(homeDir, target, namespace) {
|
|
223
|
+
const marker = `${namespace}-session`;
|
|
224
|
+
const roots = {
|
|
225
|
+
warp: [".warp", "skills"],
|
|
226
|
+
agents: [".agents", "skills"],
|
|
227
|
+
claude: [".claude", "skills"],
|
|
228
|
+
codex: [".codex", "skills"],
|
|
229
|
+
oz: [".agents", "skills"],
|
|
230
|
+
};
|
|
231
|
+
const segments = roots[target];
|
|
232
|
+
if (!segments)
|
|
233
|
+
return false;
|
|
234
|
+
const markerPath = join(homeDir, ...segments, marker);
|
|
235
|
+
try {
|
|
236
|
+
await stat(markerPath);
|
|
237
|
+
return true;
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
return false;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
function semverDesc(a, b) {
|
|
244
|
+
const parse = (v) => v.split(".").map(Number);
|
|
245
|
+
const [aMaj = 0, aMin = 0, aPatch = 0] = parse(a);
|
|
246
|
+
const [bMaj = 0, bMin = 0, bPatch = 0] = parse(b);
|
|
247
|
+
return bMaj - aMaj || bMin - aMin || bPatch - aPatch;
|
|
248
|
+
}
|
|
249
|
+
function handlePluginsKey(input, key, pluginsLength, setCursor, install) {
|
|
250
|
+
if (key.upArrow) {
|
|
251
|
+
setCursor((c) => Math.max(0, c - 1));
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
if (key.downArrow) {
|
|
255
|
+
setCursor((c) => (pluginsLength === 0 ? 0 : Math.min(pluginsLength - 1, c + 1)));
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
if (input === "w")
|
|
259
|
+
install("warp");
|
|
260
|
+
else if (input === "W")
|
|
261
|
+
install("warp", true);
|
|
262
|
+
else if (input === "a")
|
|
263
|
+
install("agents");
|
|
264
|
+
else if (input === "A")
|
|
265
|
+
install("agents", true);
|
|
266
|
+
else if (input === "r")
|
|
267
|
+
install("warp", false, true);
|
|
268
|
+
else if (input === "R")
|
|
269
|
+
install("warp", true, true);
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=plugins-tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/plugins-tab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/skills-tab.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAQD,wBAAgB,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"skills-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/skills-tab.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAQD,wBAAgB,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,cAAc,2CA6F1D"}
|
|
@@ -28,6 +28,11 @@ export function SkillsTab({ ctx, isActive }) {
|
|
|
28
28
|
installed: await ctx.fs.exists(`${home}/.codex/skills/agent-workflow`),
|
|
29
29
|
path: "~/.codex/skills/agent-workflow/",
|
|
30
30
|
},
|
|
31
|
+
{
|
|
32
|
+
target: "Warp Terminal",
|
|
33
|
+
installed: await ctx.fs.exists(`${home}/.warp/skills/agent-workflow`),
|
|
34
|
+
path: "~/.warp/skills/agent-workflow/",
|
|
35
|
+
},
|
|
31
36
|
];
|
|
32
37
|
setSkills(targets);
|
|
33
38
|
}
|
|
@@ -49,7 +54,7 @@ export function SkillsTab({ ctx, isActive }) {
|
|
|
49
54
|
if (result.ok) {
|
|
50
55
|
setToast({
|
|
51
56
|
tone: "success",
|
|
52
|
-
message: "Skill instalada/actualizada en Claude
|
|
57
|
+
message: "Skill instalada/actualizada en Claude, Codex y Warp.",
|
|
53
58
|
});
|
|
54
59
|
}
|
|
55
60
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/skills-tab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAG9E,OAAO,EAAE,KAAK,EAAkB,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAa5C,MAAM,UAAU,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IACzD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA8C,IAAI,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO;YAAE,OAAO;QAC/B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,KAAK,OAAO,EAAE,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,UAAU,OAAO;QACpB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAiB;YAC5B;gBACE,MAAM,EAAE,aAAa;gBACrB,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,gCAAgC,CAAC;gBACvE,IAAI,EAAE,kCAAkC;aACzC;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,+BAA+B,CAAC;gBACtE,IAAI,EAAE,iCAAiC;aACxC;SACF,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,QAAQ,CACN,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,IAAI,IAAI;YAAE,OAAO;QACjB,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,IAAI,GAAe;gBACvB,IAAI,EAAE,CAAC,eAAe,CAAC;gBACvB,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC3B,MAAM,EAAE,IAAI,GAAG,EAAE;gBACjB,WAAW,EAAE,IAAI,GAAG,EAAE;aACvB,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACjD,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;oBACd,QAAQ,CAAC;wBACP,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"skills-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/skills-tab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { McpHost } from "./mcp-entry.js";
|
|
2
|
+
export type Harness = "claude-code" | "codex" | "warp" | "oz" | "unknown";
|
|
3
|
+
export type InstallTarget = "claude" | "codex" | "agents" | "warp" | "oz";
|
|
4
|
+
export type HarnessChannel = "stable" | "preview";
|
|
5
|
+
export interface HarnessGlobalMcpPaths {
|
|
6
|
+
darwin: {
|
|
7
|
+
stable: string;
|
|
8
|
+
preview?: string;
|
|
9
|
+
};
|
|
10
|
+
linux: {
|
|
11
|
+
stable: string;
|
|
12
|
+
preview?: string;
|
|
13
|
+
};
|
|
14
|
+
win32: {
|
|
15
|
+
stable: string;
|
|
16
|
+
preview?: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export interface HarnessSpec {
|
|
20
|
+
id: Exclude<Harness, "unknown">;
|
|
21
|
+
envMarkers: readonly string[];
|
|
22
|
+
termProgramMatch?: string;
|
|
23
|
+
mcpHostId: McpHost | null;
|
|
24
|
+
globalMcpPaths?: HarnessGlobalMcpPaths;
|
|
25
|
+
projectMcpPath?: string;
|
|
26
|
+
pluginManifest: string | null;
|
|
27
|
+
pluginHooksDir: string | null;
|
|
28
|
+
skillsDirs: readonly string[];
|
|
29
|
+
installTarget: InstallTarget;
|
|
30
|
+
}
|
|
31
|
+
export declare const HARNESSES: readonly HarnessSpec[];
|
|
32
|
+
/**
|
|
33
|
+
* Resolves the global MCP config path for a harness spec.
|
|
34
|
+
* Expands %LOCALAPPDATA% on win32. Does NOT expand `~` (caller uses homedir()).
|
|
35
|
+
*/
|
|
36
|
+
export declare function resolveGlobalMcpRawPath(spec: HarnessSpec, platform?: NodeJS.Platform, channel?: HarnessChannel): string | null;
|
|
37
|
+
/** Returns the HarnessSpec for a given McpHost id, or null. */
|
|
38
|
+
export declare function harnessForMcpHost(host: McpHost): HarnessSpec | null;
|
|
39
|
+
/** Returns the HarnessSpec for a given harness id, or null. */
|
|
40
|
+
export declare function harnessById(id: Exclude<Harness, "unknown">): HarnessSpec | null;
|
|
41
|
+
//# sourceMappingURL=harnesses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harnesses.d.ts","sourceRoot":"","sources":["../../src/domain/harnesses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAG1E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;AAE1E,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEhC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAE9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAE1B,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAEvC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAE9B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,WAAW,EAmED,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,cAAyB,GACjC,MAAM,GAAG,IAAI,CASf;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAEnE;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,WAAW,GAAG,IAAI,CAE/E"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export const HARNESSES = [
|
|
2
|
+
{
|
|
3
|
+
id: "claude-code",
|
|
4
|
+
envMarkers: ["CLAUDECODE", "CLAUDE_PLUGIN_ROOT", "CLAUDE_AGENT_ID"],
|
|
5
|
+
mcpHostId: "claude",
|
|
6
|
+
globalMcpPaths: {
|
|
7
|
+
darwin: { stable: "~/.claude.json" },
|
|
8
|
+
linux: { stable: "~/.claude.json" },
|
|
9
|
+
win32: { stable: "~/.claude.json" },
|
|
10
|
+
},
|
|
11
|
+
projectMcpPath: ".mcp.json",
|
|
12
|
+
pluginManifest: ".claude-plugin/plugin.json",
|
|
13
|
+
pluginHooksDir: "hooks",
|
|
14
|
+
skillsDirs: [".claude/skills"],
|
|
15
|
+
installTarget: "claude",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: "codex",
|
|
19
|
+
envMarkers: ["CODEX_HOME", "CODEX_CLI", "CODEX_RUNTIME"],
|
|
20
|
+
mcpHostId: "codex",
|
|
21
|
+
globalMcpPaths: {
|
|
22
|
+
darwin: { stable: "~/.codex/config.toml" },
|
|
23
|
+
linux: { stable: "~/.codex/config.toml" },
|
|
24
|
+
win32: { stable: "~/.codex/config.toml" },
|
|
25
|
+
},
|
|
26
|
+
projectMcpPath: ".codex/config.toml",
|
|
27
|
+
pluginManifest: ".codex-plugin/plugin.json",
|
|
28
|
+
pluginHooksDir: "codex-hooks",
|
|
29
|
+
skillsDirs: [".codex/skills"],
|
|
30
|
+
installTarget: "codex",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
// Detection: OZ_RUN_ID takes priority over warp markers to handle overlap.
|
|
34
|
+
// Keep oz before warp in the array so first-match detection picks oz first
|
|
35
|
+
// when both OZ_RUN_ID and TERM_PROGRAM=WarpTerminal are set.
|
|
36
|
+
id: "oz",
|
|
37
|
+
envMarkers: ["OZ_RUN_ID"],
|
|
38
|
+
mcpHostId: null, // Oz does not write a config file; emits JSON for --mcp flag
|
|
39
|
+
pluginManifest: null,
|
|
40
|
+
pluginHooksDir: null,
|
|
41
|
+
skillsDirs: [".agents/skills"],
|
|
42
|
+
installTarget: "oz",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "warp",
|
|
46
|
+
envMarkers: ["WARP_IS_LOCAL_SHELL_SESSION"],
|
|
47
|
+
termProgramMatch: "WarpTerminal",
|
|
48
|
+
mcpHostId: "warp",
|
|
49
|
+
globalMcpPaths: {
|
|
50
|
+
// DEC-W3: Warp uses .mcp.json (JSON), not settings.toml, for MCP config.
|
|
51
|
+
darwin: { stable: "~/.warp/.mcp.json", preview: "~/.warp-preview/.mcp.json" },
|
|
52
|
+
linux: {
|
|
53
|
+
stable: "~/.config/warp-terminal/.mcp.json",
|
|
54
|
+
preview: "~/.config/warp-terminal-preview/.mcp.json",
|
|
55
|
+
},
|
|
56
|
+
win32: {
|
|
57
|
+
stable: "%LOCALAPPDATA%/warp/Warp/config/.mcp.json",
|
|
58
|
+
preview: "%LOCALAPPDATA%/warp/WarpPreview/config/.mcp.json",
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
projectMcpPath: ".warp/.mcp.json",
|
|
62
|
+
pluginManifest: null, // DEC-W2: no plugin manifest convention for Warp
|
|
63
|
+
pluginHooksDir: null, // DEC-W4: no hooks system in Warp/Oz
|
|
64
|
+
// Warp auto-discovers skills from all these dirs; primary install target is .warp/skills
|
|
65
|
+
skillsDirs: [".warp/skills", ".agents/skills", ".claude/skills", ".codex/skills"],
|
|
66
|
+
installTarget: "warp",
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
/**
|
|
70
|
+
* Resolves the global MCP config path for a harness spec.
|
|
71
|
+
* Expands %LOCALAPPDATA% on win32. Does NOT expand `~` (caller uses homedir()).
|
|
72
|
+
*/
|
|
73
|
+
export function resolveGlobalMcpRawPath(spec, platform = process.platform, channel = "stable") {
|
|
74
|
+
if (!spec.globalMcpPaths)
|
|
75
|
+
return null;
|
|
76
|
+
const byPlatform = platform === "darwin"
|
|
77
|
+
? spec.globalMcpPaths.darwin
|
|
78
|
+
: platform === "linux"
|
|
79
|
+
? spec.globalMcpPaths.linux
|
|
80
|
+
: spec.globalMcpPaths.win32;
|
|
81
|
+
return (channel === "preview" ? byPlatform.preview : null) ?? byPlatform.stable;
|
|
82
|
+
}
|
|
83
|
+
/** Returns the HarnessSpec for a given McpHost id, or null. */
|
|
84
|
+
export function harnessForMcpHost(host) {
|
|
85
|
+
return HARNESSES.find((h) => h.mcpHostId === host) ?? null;
|
|
86
|
+
}
|
|
87
|
+
/** Returns the HarnessSpec for a given harness id, or null. */
|
|
88
|
+
export function harnessById(id) {
|
|
89
|
+
return HARNESSES.find((h) => h.id === id) ?? null;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=harnesses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harnesses.js","sourceRoot":"","sources":["../../src/domain/harnesses.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-entry.d.ts","sourceRoot":"","sources":["../../src/domain/mcp-entry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-entry.d.ts","sourceRoot":"","sources":["../../src/domain/mcp-entry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,eAAO,MAAM,qBAAqB,2BAA4B,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,oBAAoB,GAAG,SAAS,CAAC;AAEtF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,aAAa,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAEnG,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACtE,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1D,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAK/D;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GACZ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAejE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,CAEnE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GACZ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAY5D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAgB9E"}
|
|
@@ -6,7 +6,7 @@ export interface ResolvedNamespace {
|
|
|
6
6
|
namespace: Namespace;
|
|
7
7
|
source: NamespaceSource;
|
|
8
8
|
}
|
|
9
|
-
export declare const DEFAULT_NAMESPACE = "
|
|
9
|
+
export declare const DEFAULT_NAMESPACE = "workflow";
|
|
10
10
|
export declare const ENV_VAR_NAMESPACE = "AW_NAMESPACE";
|
|
11
11
|
export declare class NamespaceResolver {
|
|
12
12
|
private readonly fs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace-resolver.d.ts","sourceRoot":"","sources":["../../src/runtime/namespace-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAmB,KAAK,SAAS,EAAsB,MAAM,gBAAgB,CAAC;AAErF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"namespace-resolver.d.ts","sourceRoot":"","sources":["../../src/runtime/namespace-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAmB,KAAK,SAAS,EAAsB,MAAM,gBAAgB,CAAC;AAErF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAIhD,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,OAAO;IAGzB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAoBrD,mBAAmB;CAsBlC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { NAMESPACE_REGEX, normalizeNamespace } from "./namespace.js";
|
|
3
|
-
export const DEFAULT_NAMESPACE = "
|
|
3
|
+
export const DEFAULT_NAMESPACE = "workflow";
|
|
4
4
|
export const ENV_VAR_NAMESPACE = "AW_NAMESPACE";
|
|
5
5
|
const LEGACY_NAMESPACE_DENYLIST = new Set(["qtc"]);
|
|
6
6
|
export class NamespaceResolver {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace-resolver.js","sourceRoot":"","sources":["../../src/runtime/namespace-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAkB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AASrF,MAAM,CAAC,MAAM,iBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"namespace-resolver.js","sourceRoot":"","sources":["../../src/runtime/namespace-resolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tacuchi/agent-workflow-cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.14.0",
|
|
4
4
|
"description": "Agnostic runtime CLI for session-lifecycle workflows. Auto-detects namespace from any `.<ns>/sessions/` dir in CWD; falls back to 'agent-workflow'. Plugins can reclaim a fixed namespace via SessionStart hook (writes to `~/.config/agent-workflow/namespace`). Bundles the universal `agent-workflow` skill in the tarball — `self install-skill` copies it from the bundled location to `~/.claude/skills/agent-workflow/` and `~/.codex/skills/agent-workflow/` (dual-target by default; opt-out with `--target claude|codex`). Override the source with `--from <local-path>` for skill development.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|