psyclaw 0.27.6 → 0.27.7
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 +7 -7
- package/dist/apps/panel/index.html +11 -11
- package/dist/src/adapters/pi/extension.js +336 -67
- package/dist/src/adapters/pi/extension.js.map +1 -1
- package/dist/src/cli.js +1 -4
- package/dist/src/cli.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/integrations/mcp-runtime.d.ts +13 -0
- package/dist/src/integrations/mcp-runtime.js +48 -0
- package/dist/src/integrations/mcp-runtime.js.map +1 -1
- package/dist/src/panel/events.d.ts +2 -1
- package/dist/src/panel/events.js +2 -5
- package/dist/src/panel/events.js.map +1 -1
- package/dist/src/panel/server.js +28 -8
- package/dist/src/panel/server.js.map +1 -1
- package/dist/src/project/bootstrap.d.ts +17 -0
- package/dist/src/project/bootstrap.js +87 -1
- package/dist/src/project/bootstrap.js.map +1 -1
- package/dist/src/skills/user-skills.d.ts +57 -0
- package/dist/src/skills/user-skills.js +294 -0
- package/dist/src/skills/user-skills.js.map +1 -0
- package/dist/src/style/cli-ui.js +1 -1
- package/dist/src/style/cli-ui.js.map +1 -1
- package/dist/src/telemetry/export.d.ts +8 -6
- package/dist/src/telemetry/export.js +81 -18
- package/dist/src/telemetry/export.js.map +1 -1
- package/dist/src/tui/skill-manager.d.ts +3 -0
- package/dist/src/tui/skill-manager.js +11 -1
- package/dist/src/tui/skill-manager.js.map +1 -1
- package/package.json +1 -1
- package/scripts/rebrand-pi.mjs +66 -4
- package/skills/core/citation-audit/SKILL.md +9 -9
- package/skills/core/evidence-capture/SKILL.md +9 -9
- package/skills/core/research-brief/SKILL.md +8 -8
- package/skills/core/research-intake/SKILL.md +9 -9
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User-installed (non-catalog) skills live in a broader set of host agent
|
|
3
|
+
* directories than the original hardcoded list. These roots are used both by
|
|
4
|
+
* the Pi `resources_discover` handler (which skill directories get loaded) and
|
|
5
|
+
* by the `/skills` management page (which skill rows are shown and can be
|
|
6
|
+
* toggled on/off individually).
|
|
7
|
+
*/
|
|
8
|
+
export interface LocalSkillInfo {
|
|
9
|
+
/** Stable key for the management page, derived from the SKILL.md name. */
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
/** Directory that directly contains SKILL.md. */
|
|
14
|
+
path: string;
|
|
15
|
+
/** The discovery root this skill was found under. */
|
|
16
|
+
root: string;
|
|
17
|
+
scope: "user" | "project";
|
|
18
|
+
duplicatePaths: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface UserSkillState {
|
|
21
|
+
schemaVersion: "psyclaw/user-skill-state/v1";
|
|
22
|
+
/** Skill ids the user explicitly turned off. Absent list means "all enabled". */
|
|
23
|
+
disabled: string[];
|
|
24
|
+
}
|
|
25
|
+
export declare function localSkillRoots(cwd: string): string[];
|
|
26
|
+
/**
|
|
27
|
+
* Roots whose contents are fully governed by the recommended Skill manager
|
|
28
|
+
* (`.psyclaw/imports/recommended` and `getAgentDir()/skills`). These are
|
|
29
|
+
* excluded from the local *load* path so a disabled recommended Skill is not
|
|
30
|
+
* silently re-enabled by the user-skill scan; the management page still shows
|
|
31
|
+
* them through their recommended rows.
|
|
32
|
+
*/
|
|
33
|
+
export declare function managedSkillRoots(cwd: string): string[];
|
|
34
|
+
/** Scan all discovery roots for user-installed skills (used by the manager). */
|
|
35
|
+
export declare function scanLocalSkills(cwd: string, options?: {
|
|
36
|
+
includeManaged?: boolean;
|
|
37
|
+
}): Promise<LocalSkillInfo[]>;
|
|
38
|
+
/** Read only descriptors from already-selected roots, including collections. */
|
|
39
|
+
export declare function skillNamesInPaths(paths: readonly string[]): Promise<string[]>;
|
|
40
|
+
/** Claude command markdown is a prompt resource, not a Skill directory. */
|
|
41
|
+
export declare function enabledLocalPromptPaths(cwd: string): Promise<string[]>;
|
|
42
|
+
export declare function readUserSkillState(root: string): Promise<UserSkillState>;
|
|
43
|
+
export declare function setLocalSkillEnabled(root: string, id: string, enabled: boolean): Promise<void>;
|
|
44
|
+
export declare function setLocalSkillsEnabled(root: string, ids: readonly string[], enabled: boolean): Promise<void>;
|
|
45
|
+
export interface EnabledLocalSkillPaths {
|
|
46
|
+
paths: string[];
|
|
47
|
+
warnings: string[];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Return existing, absolute Skill directories for Pi. Same-name skills are
|
|
51
|
+
* selected once by the root order above; loose markdown commands are not
|
|
52
|
+
* treated as Skills.
|
|
53
|
+
*/
|
|
54
|
+
export declare function enabledLocalSkillPaths(cwd: string, options?: {
|
|
55
|
+
excludedNames?: Iterable<string>;
|
|
56
|
+
}): Promise<EnabledLocalSkillPaths>;
|
|
57
|
+
export declare function userSkillId(name: string): string;
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { lstat, readFile, readdir } from "node:fs/promises";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { delimiter, isAbsolute, join, resolve } from "node:path";
|
|
4
|
+
import { getAgentDir } from "@earendil-works/pi-coding-agent";
|
|
5
|
+
import { parse as parseYaml } from "yaml";
|
|
6
|
+
import { atomicWriteFile } from "../project/jsonl.js";
|
|
7
|
+
const USER_SKILL_STATE = "psyclaw/user-skill-state/v1";
|
|
8
|
+
const INSTALL_MANIFEST = "psyclaw-install.json";
|
|
9
|
+
function isRecord(value) {
|
|
10
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
11
|
+
}
|
|
12
|
+
function expandConfiguredPath(value, cwd, home) {
|
|
13
|
+
const expanded = value === "~"
|
|
14
|
+
? home
|
|
15
|
+
: value.startsWith("~/") || value.startsWith("~\\")
|
|
16
|
+
? join(home, value.slice(2))
|
|
17
|
+
: value;
|
|
18
|
+
return isAbsolute(expanded) ? resolve(expanded) : resolve(cwd, expanded);
|
|
19
|
+
}
|
|
20
|
+
export function localSkillRoots(cwd) {
|
|
21
|
+
const home = homedir();
|
|
22
|
+
const envPaths = (process.env.PSYCLAW_SKILLS_PATH ?? "")
|
|
23
|
+
.split(delimiter)
|
|
24
|
+
.map((path) => path.trim())
|
|
25
|
+
.filter(Boolean)
|
|
26
|
+
.map((path) => expandConfiguredPath(path, cwd, home));
|
|
27
|
+
return [
|
|
28
|
+
// Fixed precedence: explicit project roots, other project roots, then
|
|
29
|
+
// user-level PsyClaw/Pi and other host agents.
|
|
30
|
+
join(cwd, ".psyclaw", "skills"),
|
|
31
|
+
join(cwd, "skills"),
|
|
32
|
+
join(cwd, ".claude", "skills"),
|
|
33
|
+
join(cwd, ".claude", "commands"),
|
|
34
|
+
join(cwd, ".codex", "skills"),
|
|
35
|
+
join(cwd, ".agents", "skills"),
|
|
36
|
+
join(cwd, ".opencode", "skills"),
|
|
37
|
+
join(cwd, ".cc-switch", "skills"),
|
|
38
|
+
join(home, ".psyclaw", "skills"),
|
|
39
|
+
join(home, ".claude", "skills"),
|
|
40
|
+
join(home, ".claude", "commands"),
|
|
41
|
+
join(home, ".codex", "skills"),
|
|
42
|
+
join(home, ".agents", "skills"),
|
|
43
|
+
join(home, ".opencode", "skills"),
|
|
44
|
+
join(home, ".cc-switch", "skills"),
|
|
45
|
+
...envPaths,
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Roots whose contents are fully governed by the recommended Skill manager
|
|
50
|
+
* (`.psyclaw/imports/recommended` and `getAgentDir()/skills`). These are
|
|
51
|
+
* excluded from the local *load* path so a disabled recommended Skill is not
|
|
52
|
+
* silently re-enabled by the user-skill scan; the management page still shows
|
|
53
|
+
* them through their recommended rows.
|
|
54
|
+
*/
|
|
55
|
+
export function managedSkillRoots(cwd) {
|
|
56
|
+
return [
|
|
57
|
+
join(getAgentDir(), "skills"),
|
|
58
|
+
join(cwd, ".psyclaw", "imports", "recommended"),
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
function parseSkillFrontmatter(text) {
|
|
62
|
+
const normalized = text.replace(/^\uFEFF/, "");
|
|
63
|
+
const match = normalized.match(/^---[ \t]*\r?\n([\s\S]*?)\r?\n(?:---|\.\.\.)[ \t]*(?:\r?\n|$)/);
|
|
64
|
+
if (!match?.[1])
|
|
65
|
+
return null;
|
|
66
|
+
try {
|
|
67
|
+
const metadata = parseYaml(match[1]);
|
|
68
|
+
if (!isRecord(metadata))
|
|
69
|
+
return null;
|
|
70
|
+
const name = typeof metadata.name === "string" ? metadata.name.trim() : undefined;
|
|
71
|
+
const description = typeof metadata.description === "string" ? metadata.description.trim() : undefined;
|
|
72
|
+
if (!name)
|
|
73
|
+
return null;
|
|
74
|
+
return { name, ...(description === undefined ? {} : { description }) };
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async function readLocalSkill(dir, root, scope) {
|
|
81
|
+
try {
|
|
82
|
+
const text = await readFile(join(dir, "SKILL.md"), "utf8");
|
|
83
|
+
const meta = parseSkillFrontmatter(text);
|
|
84
|
+
if (!meta)
|
|
85
|
+
return null;
|
|
86
|
+
return {
|
|
87
|
+
id: meta.name,
|
|
88
|
+
name: meta.name,
|
|
89
|
+
description: meta.description ?? "",
|
|
90
|
+
path: dir,
|
|
91
|
+
root,
|
|
92
|
+
scope,
|
|
93
|
+
duplicatePaths: [],
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* A skill directory that carries a `psyclaw-install.json` manifest is a
|
|
102
|
+
* managed recommended install and must not be double-listed as a local skill.
|
|
103
|
+
*/
|
|
104
|
+
async function hasInstallManifest(directory) {
|
|
105
|
+
try {
|
|
106
|
+
await readFile(join(directory, INSTALL_MANIFEST), "utf8");
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Collect every directory under `root` that directly contains SKILL.md,
|
|
115
|
+
* mirroring Pi's loader semantics (a directory with SKILL.md is a skill and
|
|
116
|
+
* its children are not scanned separately). Hidden dirs and dependency
|
|
117
|
+
* folders are skipped. When `skipManaged` is set, skill directories that are
|
|
118
|
+
* managed recommended installs (carrying a manifest) are excluded.
|
|
119
|
+
*/
|
|
120
|
+
async function collectSkillDirs(directory, root, scope, depth, out, skipManaged = false) {
|
|
121
|
+
if (depth > 5)
|
|
122
|
+
return;
|
|
123
|
+
let entries;
|
|
124
|
+
try {
|
|
125
|
+
entries = await readdir(directory, { withFileTypes: true });
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (entries.some((entry) => entry.isFile() && entry.name === "SKILL.md")) {
|
|
131
|
+
if (skipManaged && (await hasInstallManifest(directory)))
|
|
132
|
+
return;
|
|
133
|
+
const info = await readLocalSkill(directory, root, scope);
|
|
134
|
+
if (info)
|
|
135
|
+
out.push(info);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
for (const entry of entries) {
|
|
139
|
+
if (entry.name.startsWith(".") || entry.name === "node_modules")
|
|
140
|
+
continue;
|
|
141
|
+
if (!entry.isDirectory() || entry.isSymbolicLink())
|
|
142
|
+
continue;
|
|
143
|
+
await collectSkillDirs(join(directory, entry.name), root, scope, depth + 1, out, skipManaged);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/** Scan all discovery roots for user-installed skills (used by the manager). */
|
|
147
|
+
export async function scanLocalSkills(cwd, options = {}) {
|
|
148
|
+
const roots = options.includeManaged === false
|
|
149
|
+
? localSkillRoots(cwd)
|
|
150
|
+
: [...localSkillRoots(cwd), ...managedSkillRoots(cwd)];
|
|
151
|
+
const out = [];
|
|
152
|
+
for (const root of roots) {
|
|
153
|
+
const scope = root.includes(cwd) && !root.startsWith(homedir()) ? "project" : "user";
|
|
154
|
+
// Managed roots carry manifests; skip them so a managed recommended
|
|
155
|
+
// install is not double-listed as a local skill.
|
|
156
|
+
const skipManaged = options.includeManaged !== false && managedSkillRoots(cwd).includes(root);
|
|
157
|
+
await collectSkillDirs(root, root, scope, 0, out, skipManaged);
|
|
158
|
+
}
|
|
159
|
+
const selected = new Map();
|
|
160
|
+
for (const skill of out) {
|
|
161
|
+
const key = skill.name.trim().toLocaleLowerCase();
|
|
162
|
+
const existing = selected.get(key);
|
|
163
|
+
if (existing) {
|
|
164
|
+
if (existing.path !== skill.path && !existing.duplicatePaths.includes(skill.path)) {
|
|
165
|
+
existing.duplicatePaths.push(skill.path);
|
|
166
|
+
}
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
selected.set(key, skill);
|
|
170
|
+
}
|
|
171
|
+
return [...selected.values()];
|
|
172
|
+
}
|
|
173
|
+
/** Read only descriptors from already-selected roots, including collections. */
|
|
174
|
+
export async function skillNamesInPaths(paths) {
|
|
175
|
+
const names = new Set();
|
|
176
|
+
for (const root of paths) {
|
|
177
|
+
const skills = [];
|
|
178
|
+
await collectSkillDirs(root, root, "project", 0, skills);
|
|
179
|
+
for (const skill of skills)
|
|
180
|
+
names.add(skill.name.trim().toLocaleLowerCase());
|
|
181
|
+
}
|
|
182
|
+
return [...names];
|
|
183
|
+
}
|
|
184
|
+
/** Claude command markdown is a prompt resource, not a Skill directory. */
|
|
185
|
+
export async function enabledLocalPromptPaths(cwd) {
|
|
186
|
+
const roots = [join(cwd, ".claude", "commands"), join(homedir(), ".claude", "commands")];
|
|
187
|
+
const selected = new Set();
|
|
188
|
+
const paths = [];
|
|
189
|
+
for (const root of roots) {
|
|
190
|
+
let entries;
|
|
191
|
+
try {
|
|
192
|
+
entries = await readdir(root, { withFileTypes: true });
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
for (const entry of entries.sort((left, right) => left.name.localeCompare(right.name))) {
|
|
198
|
+
if (!entry.isFile() || !entry.name.toLocaleLowerCase().endsWith(".md"))
|
|
199
|
+
continue;
|
|
200
|
+
const key = entry.name.slice(0, -3).toLocaleLowerCase();
|
|
201
|
+
if (selected.has(key))
|
|
202
|
+
continue;
|
|
203
|
+
selected.add(key);
|
|
204
|
+
paths.push(resolve(root, entry.name));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return paths;
|
|
208
|
+
}
|
|
209
|
+
function userSkillStatePath(root) {
|
|
210
|
+
return join(root, ".psyclaw", "user-skills.json");
|
|
211
|
+
}
|
|
212
|
+
export async function readUserSkillState(root) {
|
|
213
|
+
try {
|
|
214
|
+
const value = JSON.parse(await readFile(userSkillStatePath(root), "utf8"));
|
|
215
|
+
if (!isRecord(value) || value.schemaVersion !== USER_SKILL_STATE)
|
|
216
|
+
throw new Error("invalid state");
|
|
217
|
+
const disabled = Array.isArray(value.disabled)
|
|
218
|
+
? value.disabled.filter((id) => typeof id === "string")
|
|
219
|
+
: [];
|
|
220
|
+
return { schemaVersion: USER_SKILL_STATE, disabled: [...new Set(disabled)].sort() };
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
return { schemaVersion: USER_SKILL_STATE, disabled: [] };
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
async function saveUserSkillState(root, state) {
|
|
227
|
+
await atomicWriteFile(userSkillStatePath(root), `${JSON.stringify({
|
|
228
|
+
schemaVersion: USER_SKILL_STATE,
|
|
229
|
+
disabled: [...new Set(state.disabled)].sort(),
|
|
230
|
+
}, null, 2)}\n`);
|
|
231
|
+
}
|
|
232
|
+
export async function setLocalSkillEnabled(root, id, enabled) {
|
|
233
|
+
const state = await readUserSkillState(root);
|
|
234
|
+
const current = new Set(state.disabled);
|
|
235
|
+
if (enabled)
|
|
236
|
+
current.delete(id);
|
|
237
|
+
else
|
|
238
|
+
current.add(id);
|
|
239
|
+
await saveUserSkillState(root, { schemaVersion: USER_SKILL_STATE, disabled: [...current] });
|
|
240
|
+
}
|
|
241
|
+
export async function setLocalSkillsEnabled(root, ids, enabled) {
|
|
242
|
+
const state = await readUserSkillState(root);
|
|
243
|
+
const current = new Set(state.disabled);
|
|
244
|
+
for (const id of ids) {
|
|
245
|
+
if (enabled)
|
|
246
|
+
current.delete(id);
|
|
247
|
+
else
|
|
248
|
+
current.add(id);
|
|
249
|
+
}
|
|
250
|
+
await saveUserSkillState(root, { schemaVersion: USER_SKILL_STATE, disabled: [...current] });
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Return existing, absolute Skill directories for Pi. Same-name skills are
|
|
254
|
+
* selected once by the root order above; loose markdown commands are not
|
|
255
|
+
* treated as Skills.
|
|
256
|
+
*/
|
|
257
|
+
export async function enabledLocalSkillPaths(cwd, options = {}) {
|
|
258
|
+
const state = await readUserSkillState(cwd);
|
|
259
|
+
const disabled = new Set(state.disabled);
|
|
260
|
+
const selectedNames = new Set([...(options.excludedNames ?? [])].map((name) => name.trim().toLocaleLowerCase()));
|
|
261
|
+
const paths = [];
|
|
262
|
+
const warnings = [];
|
|
263
|
+
const seen = new Set();
|
|
264
|
+
for (const root of localSkillRoots(cwd)) {
|
|
265
|
+
const exists = await lstat(root).then((stat) => stat.isDirectory()).catch(() => false);
|
|
266
|
+
if (!exists)
|
|
267
|
+
continue;
|
|
268
|
+
const skills = [];
|
|
269
|
+
const scope = root.includes(cwd) && !root.startsWith(homedir()) ? "project" : "user";
|
|
270
|
+
await collectSkillDirs(root, root, scope, 0, skills);
|
|
271
|
+
if (skills.length === 0)
|
|
272
|
+
continue;
|
|
273
|
+
for (const skill of skills) {
|
|
274
|
+
const nameKey = skill.name.trim().toLocaleLowerCase();
|
|
275
|
+
if (selectedNames.has(nameKey))
|
|
276
|
+
continue;
|
|
277
|
+
if (disabled.has(skill.id)) {
|
|
278
|
+
warnings.push(`User Skill '${skill.id}' is disabled and was not loaded.`);
|
|
279
|
+
continue;
|
|
280
|
+
}
|
|
281
|
+
const key = process.platform === "win32" ? skill.path.toLocaleLowerCase() : skill.path;
|
|
282
|
+
if (!seen.has(key)) {
|
|
283
|
+
seen.add(key);
|
|
284
|
+
selectedNames.add(nameKey);
|
|
285
|
+
paths.push(skill.path);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return { paths, warnings };
|
|
290
|
+
}
|
|
291
|
+
export function userSkillId(name) {
|
|
292
|
+
return `local:${name}`;
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=user-skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-skills.js","sourceRoot":"","sources":["../../../src/skills/user-skills.ts"],"names":[],"mappings":"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"}
|
package/dist/src/style/cli-ui.js
CHANGED
|
@@ -85,7 +85,7 @@ export function formatCliUsage() {
|
|
|
85
85
|
cmd("psyclaw import", "<agent-id> [--yes]", c.white("导入外部智能体技能")),
|
|
86
86
|
cmd("psyclaw check-updates", "", c.white("检查运行时与生态更新报告")),
|
|
87
87
|
cmd("psyclaw update", "[--check] [--force]", c.white("升级 PsyClaw 及其内置 Pi(默认直接更新)")),
|
|
88
|
-
cmd("psyclaw
|
|
88
|
+
cmd("psyclaw export", "[--output <path>]", c.white("导出包含正文与工具参数的完整 OTLP 使用路径(Langfuse/LangSmith)")),
|
|
89
89
|
"",
|
|
90
90
|
` ${c.darkGray("──────────────────────────────────────────────────────────")}`,
|
|
91
91
|
` ${c.gray("文档与源码:")} ${c.cyan(c.underline("https://github.com/Exekiel179/psyclaw"))}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-ui.js","sourceRoot":"","sources":["../../../src/style/cli-ui.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-ui.js","sourceRoot":"","sources":["../../../src/style/cli-ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,9 @@ export interface TraceExportResult {
|
|
|
15
15
|
workflowRuns: number;
|
|
16
16
|
};
|
|
17
17
|
privacy: {
|
|
18
|
-
contentIncluded:
|
|
19
|
-
originalIdsIncluded:
|
|
20
|
-
absolutePathsIncluded:
|
|
18
|
+
contentIncluded: true;
|
|
19
|
+
originalIdsIncluded: true;
|
|
20
|
+
absolutePathsIncluded: true;
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
export interface PanelTraceEvent {
|
|
@@ -26,6 +26,8 @@ export interface PanelTraceEvent {
|
|
|
26
26
|
at: string;
|
|
27
27
|
status: "ok" | "error";
|
|
28
28
|
category?: string;
|
|
29
|
+
/** Full tool input / message text for debugging (not redacted). */
|
|
30
|
+
detail?: string;
|
|
29
31
|
}
|
|
30
32
|
export interface PanelTrace {
|
|
31
33
|
id: string;
|
|
@@ -45,9 +47,9 @@ export interface PanelTraceSnapshot {
|
|
|
45
47
|
workflowRuns: number;
|
|
46
48
|
};
|
|
47
49
|
privacy: {
|
|
48
|
-
contentIncluded:
|
|
49
|
-
originalIdsIncluded:
|
|
50
|
-
absolutePathsIncluded:
|
|
50
|
+
contentIncluded: true;
|
|
51
|
+
originalIdsIncluded: true;
|
|
52
|
+
absolutePathsIncluded: true;
|
|
51
53
|
};
|
|
52
54
|
}
|
|
53
55
|
/** Build a stable, metadata-only trace view for the local Panel without writing an export file. */
|