@onkernel/cua-agent 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +24 -9
  3. package/dist/index.d.ts +138 -8
  4. package/dist/index.js +752 -5
  5. package/package.json +11 -10
  6. package/dist/agent.d.ts +0 -102
  7. package/dist/agent.d.ts.map +0 -1
  8. package/dist/agent.js +0 -207
  9. package/dist/agent.js.map +0 -1
  10. package/dist/index.d.ts.map +0 -1
  11. package/dist/index.js.map +0 -1
  12. package/dist/tools.d.ts +0 -39
  13. package/dist/tools.d.ts.map +0 -1
  14. package/dist/tools.js +0 -116
  15. package/dist/tools.js.map +0 -1
  16. package/dist/translator/translator.d.ts +0 -22
  17. package/dist/translator/translator.d.ts.map +0 -1
  18. package/dist/translator/translator.js +0 -227
  19. package/dist/translator/translator.js.map +0 -1
  20. package/dist/translator/types.d.ts +0 -39
  21. package/dist/translator/types.d.ts.map +0 -1
  22. package/dist/translator/types.js +0 -2
  23. package/dist/translator/types.js.map +0 -1
  24. package/dist/vendor/pi-agent-core/agent-loop.d.ts +0 -24
  25. package/dist/vendor/pi-agent-core/agent-loop.d.ts.map +0 -1
  26. package/dist/vendor/pi-agent-core/agent-loop.js +0 -479
  27. package/dist/vendor/pi-agent-core/agent-loop.js.map +0 -1
  28. package/dist/vendor/pi-agent-core/agent.d.ts +0 -125
  29. package/dist/vendor/pi-agent-core/agent.d.ts.map +0 -1
  30. package/dist/vendor/pi-agent-core/agent.js +0 -402
  31. package/dist/vendor/pi-agent-core/agent.js.map +0 -1
  32. package/dist/vendor/pi-agent-core/harness/agent-harness.d.ts +0 -85
  33. package/dist/vendor/pi-agent-core/harness/agent-harness.d.ts.map +0 -1
  34. package/dist/vendor/pi-agent-core/harness/agent-harness.js +0 -728
  35. package/dist/vendor/pi-agent-core/harness/agent-harness.js.map +0 -1
  36. package/dist/vendor/pi-agent-core/harness/compaction/branch-summarization.d.ts +0 -88
  37. package/dist/vendor/pi-agent-core/harness/compaction/branch-summarization.d.ts.map +0 -1
  38. package/dist/vendor/pi-agent-core/harness/compaction/branch-summarization.js +0 -243
  39. package/dist/vendor/pi-agent-core/harness/compaction/branch-summarization.js.map +0 -1
  40. package/dist/vendor/pi-agent-core/harness/compaction/compaction.d.ts +0 -122
  41. package/dist/vendor/pi-agent-core/harness/compaction/compaction.d.ts.map +0 -1
  42. package/dist/vendor/pi-agent-core/harness/compaction/compaction.js +0 -616
  43. package/dist/vendor/pi-agent-core/harness/compaction/compaction.js.map +0 -1
  44. package/dist/vendor/pi-agent-core/harness/compaction/utils.d.ts +0 -38
  45. package/dist/vendor/pi-agent-core/harness/compaction/utils.d.ts.map +0 -1
  46. package/dist/vendor/pi-agent-core/harness/compaction/utils.js +0 -153
  47. package/dist/vendor/pi-agent-core/harness/compaction/utils.js.map +0 -1
  48. package/dist/vendor/pi-agent-core/harness/env/nodejs.d.ts +0 -44
  49. package/dist/vendor/pi-agent-core/harness/env/nodejs.d.ts.map +0 -1
  50. package/dist/vendor/pi-agent-core/harness/env/nodejs.js +0 -348
  51. package/dist/vendor/pi-agent-core/harness/env/nodejs.js.map +0 -1
  52. package/dist/vendor/pi-agent-core/harness/execution-env.d.ts +0 -4
  53. package/dist/vendor/pi-agent-core/harness/execution-env.d.ts.map +0 -1
  54. package/dist/vendor/pi-agent-core/harness/execution-env.js +0 -3
  55. package/dist/vendor/pi-agent-core/harness/execution-env.js.map +0 -1
  56. package/dist/vendor/pi-agent-core/harness/messages.d.ts +0 -51
  57. package/dist/vendor/pi-agent-core/harness/messages.d.ts.map +0 -1
  58. package/dist/vendor/pi-agent-core/harness/messages.js +0 -102
  59. package/dist/vendor/pi-agent-core/harness/messages.js.map +0 -1
  60. package/dist/vendor/pi-agent-core/harness/prompt-templates.d.ts +0 -45
  61. package/dist/vendor/pi-agent-core/harness/prompt-templates.d.ts.map +0 -1
  62. package/dist/vendor/pi-agent-core/harness/prompt-templates.js +0 -200
  63. package/dist/vendor/pi-agent-core/harness/prompt-templates.js.map +0 -1
  64. package/dist/vendor/pi-agent-core/harness/session/repo/jsonl.d.ts +0 -20
  65. package/dist/vendor/pi-agent-core/harness/session/repo/jsonl.d.ts.map +0 -1
  66. package/dist/vendor/pi-agent-core/harness/session/repo/jsonl.js +0 -92
  67. package/dist/vendor/pi-agent-core/harness/session/repo/jsonl.js.map +0 -1
  68. package/dist/vendor/pi-agent-core/harness/session/repo/memory.d.ts +0 -18
  69. package/dist/vendor/pi-agent-core/harness/session/repo/memory.d.ts.map +0 -1
  70. package/dist/vendor/pi-agent-core/harness/session/repo/memory.js +0 -42
  71. package/dist/vendor/pi-agent-core/harness/session/repo/memory.js.map +0 -1
  72. package/dist/vendor/pi-agent-core/harness/session/repo/shared.d.ts +0 -10
  73. package/dist/vendor/pi-agent-core/harness/session/repo/shared.d.ts.map +0 -1
  74. package/dist/vendor/pi-agent-core/harness/session/repo/shared.js +0 -31
  75. package/dist/vendor/pi-agent-core/harness/session/repo/shared.js.map +0 -1
  76. package/dist/vendor/pi-agent-core/harness/session/session.d.ts +0 -32
  77. package/dist/vendor/pi-agent-core/harness/session/session.d.ts.map +0 -1
  78. package/dist/vendor/pi-agent-core/harness/session/session.js +0 -196
  79. package/dist/vendor/pi-agent-core/harness/session/session.js.map +0 -1
  80. package/dist/vendor/pi-agent-core/harness/session/storage/jsonl.d.ts +0 -30
  81. package/dist/vendor/pi-agent-core/harness/session/storage/jsonl.d.ts.map +0 -1
  82. package/dist/vendor/pi-agent-core/harness/session/storage/jsonl.js +0 -170
  83. package/dist/vendor/pi-agent-core/harness/session/storage/jsonl.js.map +0 -1
  84. package/dist/vendor/pi-agent-core/harness/session/storage/memory.d.ts +0 -26
  85. package/dist/vendor/pi-agent-core/harness/session/storage/memory.d.ts.map +0 -1
  86. package/dist/vendor/pi-agent-core/harness/session/storage/memory.js +0 -90
  87. package/dist/vendor/pi-agent-core/harness/session/storage/memory.js.map +0 -1
  88. package/dist/vendor/pi-agent-core/harness/session/uuid.d.ts +0 -2
  89. package/dist/vendor/pi-agent-core/harness/session/uuid.d.ts.map +0 -1
  90. package/dist/vendor/pi-agent-core/harness/session/uuid.js +0 -40
  91. package/dist/vendor/pi-agent-core/harness/session/uuid.js.map +0 -1
  92. package/dist/vendor/pi-agent-core/harness/skills.d.ts +0 -41
  93. package/dist/vendor/pi-agent-core/harness/skills.d.ts.map +0 -1
  94. package/dist/vendor/pi-agent-core/harness/skills.js +0 -259
  95. package/dist/vendor/pi-agent-core/harness/skills.js.map +0 -1
  96. package/dist/vendor/pi-agent-core/harness/system-prompt.d.ts +0 -3
  97. package/dist/vendor/pi-agent-core/harness/system-prompt.d.ts.map +0 -1
  98. package/dist/vendor/pi-agent-core/harness/system-prompt.js +0 -30
  99. package/dist/vendor/pi-agent-core/harness/system-prompt.js.map +0 -1
  100. package/dist/vendor/pi-agent-core/harness/types.d.ts +0 -525
  101. package/dist/vendor/pi-agent-core/harness/types.d.ts.map +0 -1
  102. package/dist/vendor/pi-agent-core/harness/types.js +0 -16
  103. package/dist/vendor/pi-agent-core/harness/types.js.map +0 -1
  104. package/dist/vendor/pi-agent-core/harness/utils/shell-output.d.ts +0 -14
  105. package/dist/vendor/pi-agent-core/harness/utils/shell-output.d.ts.map +0 -1
  106. package/dist/vendor/pi-agent-core/harness/utils/shell-output.js +0 -97
  107. package/dist/vendor/pi-agent-core/harness/utils/shell-output.js.map +0 -1
  108. package/dist/vendor/pi-agent-core/harness/utils/truncate.d.ts +0 -70
  109. package/dist/vendor/pi-agent-core/harness/utils/truncate.d.ts.map +0 -1
  110. package/dist/vendor/pi-agent-core/harness/utils/truncate.js +0 -205
  111. package/dist/vendor/pi-agent-core/harness/utils/truncate.js.map +0 -1
  112. package/dist/vendor/pi-agent-core/index.d.ts +0 -21
  113. package/dist/vendor/pi-agent-core/index.d.ts.map +0 -1
  114. package/dist/vendor/pi-agent-core/index.js +0 -26
  115. package/dist/vendor/pi-agent-core/index.js.map +0 -1
  116. package/dist/vendor/pi-agent-core/proxy.d.ts +0 -69
  117. package/dist/vendor/pi-agent-core/proxy.d.ts.map +0 -1
  118. package/dist/vendor/pi-agent-core/proxy.js +0 -278
  119. package/dist/vendor/pi-agent-core/proxy.js.map +0 -1
  120. package/dist/vendor/pi-agent-core/types.d.ts +0 -386
  121. package/dist/vendor/pi-agent-core/types.d.ts.map +0 -1
  122. package/dist/vendor/pi-agent-core/types.js +0 -2
  123. package/dist/vendor/pi-agent-core/types.js.map +0 -1
  124. package/src/vendor/pi-agent-core/LICENSE +0 -21
  125. package/src/vendor/pi-agent-core/README.md +0 -15
@@ -1,40 +0,0 @@
1
- import { randomBytes } from "node:crypto";
2
- let lastTimestamp = -Infinity;
3
- let sequence = 0;
4
- export function uuidv7() {
5
- const random = randomBytes(16);
6
- const timestamp = Date.now();
7
- if (timestamp > lastTimestamp) {
8
- sequence = random[6] * 0x1000000 + random[7] * 0x10000 + random[8] * 0x100 + random[9];
9
- lastTimestamp = timestamp;
10
- }
11
- else {
12
- sequence = (sequence + 1) >>> 0;
13
- if (sequence === 0) {
14
- lastTimestamp++;
15
- }
16
- }
17
- const bytes = new Uint8Array(16);
18
- bytes[0] = (lastTimestamp / 0x10000000000) & 0xff;
19
- bytes[1] = (lastTimestamp / 0x100000000) & 0xff;
20
- bytes[2] = (lastTimestamp / 0x1000000) & 0xff;
21
- bytes[3] = (lastTimestamp / 0x10000) & 0xff;
22
- bytes[4] = (lastTimestamp / 0x100) & 0xff;
23
- bytes[5] = lastTimestamp & 0xff;
24
- bytes[6] = 0x70 | ((sequence >>> 28) & 0x0f);
25
- bytes[7] = (sequence >>> 20) & 0xff;
26
- bytes[8] = 0x80 | ((sequence >>> 14) & 0x3f);
27
- bytes[9] = (sequence >>> 6) & 0xff;
28
- bytes[10] = ((sequence & 0x3f) << 2) | (random[10] & 0x03);
29
- bytes[11] = random[11];
30
- bytes[12] = random[12];
31
- bytes[13] = random[13];
32
- bytes[14] = random[14];
33
- bytes[15] = random[15];
34
- return formatUuid(bytes);
35
- }
36
- function formatUuid(bytes) {
37
- const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0"));
38
- return `${hex.slice(0, 4).join("")}-${hex.slice(4, 6).join("")}-${hex.slice(6, 8).join("")}-${hex.slice(8, 10).join("")}-${hex.slice(10, 16).join("")}`;
39
- }
40
- //# sourceMappingURL=uuid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../../../src/vendor/pi-agent-core/harness/session/uuid.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import type { ExecutionEnv, Skill } from "./types.js";
2
- /** Warning produced while loading skills. */
3
- export interface SkillDiagnostic {
4
- /** Diagnostic severity. Currently only warnings are emitted. */
5
- type: "warning";
6
- /** Human-readable diagnostic message. */
7
- message: string;
8
- /** Path associated with the diagnostic. */
9
- path: string;
10
- }
11
- /** Format a skill invocation prompt, optionally appending additional user instructions. */
12
- export declare function formatSkillInvocation(skill: Skill, additionalInstructions?: string): string;
13
- /**
14
- * Load skills from one or more directories.
15
- *
16
- * Traverses directories recursively, loads `SKILL.md` files, loads direct root `.md` files as skills, honors ignore files,
17
- * and returns diagnostics for invalid skill files. Missing input directories are skipped.
18
- */
19
- export declare function loadSkills(env: ExecutionEnv, dirs: string | string[]): Promise<{
20
- skills: Skill[];
21
- diagnostics: SkillDiagnostic[];
22
- }>;
23
- /**
24
- * Load skills from source-tagged directories.
25
- *
26
- * Source values are preserved exactly and attached to every loaded skill and diagnostic. The agent package does not
27
- * interpret source values; applications define their own provenance shape.
28
- */
29
- export declare function loadSourcedSkills<TSource, TSkill extends Skill = Skill>(env: ExecutionEnv, inputs: Array<{
30
- path: string;
31
- source: TSource;
32
- }>, mapSkill?: (skill: Skill, source: TSource) => TSkill): Promise<{
33
- skills: Array<{
34
- skill: TSkill;
35
- source: TSource;
36
- }>;
37
- diagnostics: Array<SkillDiagnostic & {
38
- source: TSource;
39
- }>;
40
- }>;
41
- //# sourceMappingURL=skills.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../../src/vendor/pi-agent-core/harness/skills.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAQtD,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC/B,gEAAgE;IAChE,IAAI,EAAE,SAAS,CAAC;IAChB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACb;AASD,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,MAAM,CAG3F;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC/B,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,WAAW,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,CAW9D;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,SAAS,KAAK,GAAG,KAAK,EAC5E,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,EAChD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,KAAK,MAAM,GAClD,OAAO,CAAC;IACV,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAClD,WAAW,EAAE,KAAK,CAAC,eAAe,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1D,CAAC,CAWD"}
@@ -1,259 +0,0 @@
1
- import ignore from "ignore";
2
- import { parse } from "yaml";
3
- const MAX_NAME_LENGTH = 64;
4
- const MAX_DESCRIPTION_LENGTH = 1024;
5
- const IGNORE_FILE_NAMES = [".gitignore", ".ignore", ".fdignore"];
6
- /** Format a skill invocation prompt, optionally appending additional user instructions. */
7
- export function formatSkillInvocation(skill, additionalInstructions) {
8
- const skillBlock = `<skill name="${skill.name}" location="${skill.filePath}">\nReferences are relative to ${dirnameEnvPath(skill.filePath)}.\n\n${skill.content}\n</skill>`;
9
- return additionalInstructions ? `${skillBlock}\n\n${additionalInstructions}` : skillBlock;
10
- }
11
- /**
12
- * Load skills from one or more directories.
13
- *
14
- * Traverses directories recursively, loads `SKILL.md` files, loads direct root `.md` files as skills, honors ignore files,
15
- * and returns diagnostics for invalid skill files. Missing input directories are skipped.
16
- */
17
- export async function loadSkills(env, dirs) {
18
- const skills = [];
19
- const diagnostics = [];
20
- for (const dir of Array.isArray(dirs) ? dirs : [dirs]) {
21
- const rootInfo = await safeFileInfo(env, dir);
22
- if (!rootInfo || (await resolveKind(env, rootInfo)) !== "directory")
23
- continue;
24
- const result = await loadSkillsFromDirInternal(env, rootInfo.path, true, ignore(), rootInfo.path);
25
- skills.push(...result.skills);
26
- diagnostics.push(...result.diagnostics);
27
- }
28
- return { skills, diagnostics };
29
- }
30
- /**
31
- * Load skills from source-tagged directories.
32
- *
33
- * Source values are preserved exactly and attached to every loaded skill and diagnostic. The agent package does not
34
- * interpret source values; applications define their own provenance shape.
35
- */
36
- export async function loadSourcedSkills(env, inputs, mapSkill) {
37
- const skills = [];
38
- const diagnostics = [];
39
- for (const input of inputs) {
40
- const result = await loadSkills(env, input.path);
41
- for (const skill of result.skills) {
42
- skills.push({ skill: mapSkill ? mapSkill(skill, input.source) : skill, source: input.source });
43
- }
44
- for (const diagnostic of result.diagnostics)
45
- diagnostics.push({ ...diagnostic, source: input.source });
46
- }
47
- return { skills, diagnostics };
48
- }
49
- async function loadSkillsFromDirInternal(env, dir, includeRootFiles, ignoreMatcher, rootDir) {
50
- const skills = [];
51
- const diagnostics = [];
52
- if (!(await env.exists(dir)))
53
- return { skills, diagnostics };
54
- const dirInfo = await safeFileInfo(env, dir);
55
- if (!dirInfo || (await resolveKind(env, dirInfo)) !== "directory")
56
- return { skills, diagnostics };
57
- await addIgnoreRules(env, ignoreMatcher, dir, rootDir);
58
- let entries;
59
- try {
60
- entries = await env.listDir(dir);
61
- }
62
- catch {
63
- return { skills, diagnostics };
64
- }
65
- for (const entry of entries) {
66
- if (entry.name !== "SKILL.md")
67
- continue;
68
- const fullPath = entry.path;
69
- const kind = await resolveKind(env, entry);
70
- if (kind !== "file")
71
- continue;
72
- const relPath = relativeEnvPath(rootDir, fullPath);
73
- if (ignoreMatcher.ignores(relPath))
74
- continue;
75
- const result = await loadSkillFromFile(env, fullPath);
76
- if (result.skill)
77
- skills.push(result.skill);
78
- diagnostics.push(...result.diagnostics);
79
- return { skills, diagnostics };
80
- }
81
- for (const entry of entries.sort((a, b) => a.name.localeCompare(b.name))) {
82
- if (entry.name.startsWith(".") || entry.name === "node_modules")
83
- continue;
84
- const fullPath = entry.path;
85
- const kind = await resolveKind(env, entry);
86
- if (!kind)
87
- continue;
88
- const relPath = relativeEnvPath(rootDir, fullPath);
89
- const ignorePath = kind === "directory" ? `${relPath}/` : relPath;
90
- if (ignoreMatcher.ignores(ignorePath))
91
- continue;
92
- if (kind === "directory") {
93
- const result = await loadSkillsFromDirInternal(env, fullPath, false, ignoreMatcher, rootDir);
94
- skills.push(...result.skills);
95
- diagnostics.push(...result.diagnostics);
96
- continue;
97
- }
98
- if (kind !== "file" || !includeRootFiles || !entry.name.endsWith(".md"))
99
- continue;
100
- const result = await loadSkillFromFile(env, fullPath);
101
- if (result.skill)
102
- skills.push(result.skill);
103
- diagnostics.push(...result.diagnostics);
104
- }
105
- return { skills, diagnostics };
106
- }
107
- async function addIgnoreRules(env, ig, dir, rootDir) {
108
- const relativeDir = relativeEnvPath(rootDir, dir);
109
- const prefix = relativeDir ? `${relativeDir}/` : "";
110
- for (const filename of IGNORE_FILE_NAMES) {
111
- const ignorePath = joinEnvPath(dir, filename);
112
- const info = await safeFileInfo(env, ignorePath);
113
- if (info?.kind !== "file")
114
- continue;
115
- try {
116
- const content = await env.readTextFile(ignorePath);
117
- const patterns = content
118
- .split(/\r?\n/)
119
- .map((line) => prefixIgnorePattern(line, prefix))
120
- .filter((line) => Boolean(line));
121
- if (patterns.length > 0)
122
- ig.add(patterns);
123
- }
124
- catch { }
125
- }
126
- }
127
- function prefixIgnorePattern(line, prefix) {
128
- const trimmed = line.trim();
129
- if (!trimmed)
130
- return null;
131
- if (trimmed.startsWith("#") && !trimmed.startsWith("\\#"))
132
- return null;
133
- let pattern = line;
134
- let negated = false;
135
- if (pattern.startsWith("!")) {
136
- negated = true;
137
- pattern = pattern.slice(1);
138
- }
139
- else if (pattern.startsWith("\\!")) {
140
- pattern = pattern.slice(1);
141
- }
142
- if (pattern.startsWith("/"))
143
- pattern = pattern.slice(1);
144
- const prefixed = prefix ? `${prefix}${pattern}` : pattern;
145
- return negated ? `!${prefixed}` : prefixed;
146
- }
147
- async function loadSkillFromFile(env, filePath) {
148
- const diagnostics = [];
149
- try {
150
- const rawContent = await env.readTextFile(filePath);
151
- const { frontmatter, body } = parseFrontmatter(rawContent);
152
- const skillDir = dirnameEnvPath(filePath);
153
- const parentDirName = basenameEnvPath(skillDir);
154
- for (const error of validateDescription(frontmatter.description)) {
155
- diagnostics.push({ type: "warning", message: error, path: filePath });
156
- }
157
- const name = frontmatter.name || parentDirName;
158
- for (const error of validateName(name, parentDirName)) {
159
- diagnostics.push({ type: "warning", message: error, path: filePath });
160
- }
161
- if (!frontmatter.description || frontmatter.description.trim() === "") {
162
- return { skill: null, diagnostics };
163
- }
164
- return {
165
- skill: {
166
- name,
167
- description: frontmatter.description,
168
- content: body,
169
- filePath,
170
- disableModelInvocation: frontmatter["disable-model-invocation"] === true,
171
- },
172
- diagnostics,
173
- };
174
- }
175
- catch (error) {
176
- const message = error instanceof Error ? error.message : "failed to parse skill file";
177
- diagnostics.push({ type: "warning", message, path: filePath });
178
- return { skill: null, diagnostics };
179
- }
180
- }
181
- function validateName(name, parentDirName) {
182
- const errors = [];
183
- if (name !== parentDirName)
184
- errors.push(`name "${name}" does not match parent directory "${parentDirName}"`);
185
- if (name.length > MAX_NAME_LENGTH)
186
- errors.push(`name exceeds ${MAX_NAME_LENGTH} characters (${name.length})`);
187
- if (!/^[a-z0-9-]+$/.test(name)) {
188
- errors.push("name contains invalid characters (must be lowercase a-z, 0-9, hyphens only)");
189
- }
190
- if (name.startsWith("-") || name.endsWith("-"))
191
- errors.push("name must not start or end with a hyphen");
192
- if (name.includes("--"))
193
- errors.push("name must not contain consecutive hyphens");
194
- return errors;
195
- }
196
- function validateDescription(description) {
197
- const errors = [];
198
- if (!description || description.trim() === "") {
199
- errors.push("description is required");
200
- }
201
- else if (description.length > MAX_DESCRIPTION_LENGTH) {
202
- errors.push(`description exceeds ${MAX_DESCRIPTION_LENGTH} characters (${description.length})`);
203
- }
204
- return errors;
205
- }
206
- function parseFrontmatter(content) {
207
- const normalized = content.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
208
- if (!normalized.startsWith("---"))
209
- return { frontmatter: {}, body: normalized };
210
- const endIndex = normalized.indexOf("\n---", 3);
211
- if (endIndex === -1)
212
- return { frontmatter: {}, body: normalized };
213
- const yamlString = normalized.slice(4, endIndex);
214
- const body = normalized.slice(endIndex + 4).trim();
215
- return { frontmatter: (parse(yamlString) ?? {}), body };
216
- }
217
- async function safeFileInfo(env, path) {
218
- try {
219
- return await env.fileInfo(path);
220
- }
221
- catch {
222
- return undefined;
223
- }
224
- }
225
- async function resolveKind(env, info) {
226
- if (info.kind === "file" || info.kind === "directory")
227
- return info.kind;
228
- try {
229
- const realPath = await env.realPath(info.path);
230
- const target = await env.fileInfo(realPath);
231
- return target.kind === "file" || target.kind === "directory" ? target.kind : undefined;
232
- }
233
- catch {
234
- return undefined;
235
- }
236
- }
237
- function joinEnvPath(base, child) {
238
- return `${base.replace(/\/+$/, "")}/${child.replace(/^\/+/, "")}`;
239
- }
240
- function dirnameEnvPath(path) {
241
- const normalized = path.replace(/\/+$/, "");
242
- const slashIndex = normalized.lastIndexOf("/");
243
- return slashIndex <= 0 ? "/" : normalized.slice(0, slashIndex);
244
- }
245
- function basenameEnvPath(path) {
246
- const normalized = path.replace(/\/+$/, "");
247
- const slashIndex = normalized.lastIndexOf("/");
248
- return slashIndex === -1 ? normalized : normalized.slice(slashIndex + 1);
249
- }
250
- function relativeEnvPath(root, path) {
251
- const normalizedRoot = root.replace(/\/+$/, "");
252
- const normalizedPath = path.replace(/\/+$/, "");
253
- if (normalizedPath === normalizedRoot)
254
- return "";
255
- return normalizedPath.startsWith(`${normalizedRoot}/`)
256
- ? normalizedPath.slice(normalizedRoot.length + 1)
257
- : normalizedPath.replace(/^\/+/, "");
258
- }
259
- //# sourceMappingURL=skills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../../src/vendor/pi-agent-core/harness/skills.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Skill } from "./types.js";
2
- export declare function formatSkillsForSystemPrompt(skills: Skill[]): string;
3
- //# sourceMappingURL=system-prompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/vendor/pi-agent-core/harness/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAsBnE"}
@@ -1,30 +0,0 @@
1
- export function formatSkillsForSystemPrompt(skills) {
2
- const visibleSkills = skills.filter((skill) => !skill.disableModelInvocation);
3
- if (visibleSkills.length === 0)
4
- return "";
5
- const lines = [
6
- "The following skills provide specialized instructions for specific tasks.",
7
- "Read the full skill file when the task matches its description.",
8
- "When a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.",
9
- "",
10
- "<available_skills>",
11
- ];
12
- for (const skill of visibleSkills) {
13
- lines.push(" <skill>");
14
- lines.push(` <name>${escapeXml(skill.name)}</name>`);
15
- lines.push(` <description>${escapeXml(skill.description)}</description>`);
16
- lines.push(` <location>${escapeXml(skill.filePath)}</location>`);
17
- lines.push(" </skill>");
18
- }
19
- lines.push("</available_skills>");
20
- return lines.join("\n");
21
- }
22
- function escapeXml(value) {
23
- return value
24
- .replace(/&/g, "&amp;")
25
- .replace(/</g, "&lt;")
26
- .replace(/>/g, "&gt;")
27
- .replace(/"/g, "&quot;")
28
- .replace(/'/g, "&apos;");
29
- }
30
- //# sourceMappingURL=system-prompt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../../src/vendor/pi-agent-core/harness/system-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,2BAA2B,CAAC,MAAe;IAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9E,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1C,MAAM,KAAK,GAAG;QACb,2EAA2E;QAC3E,iEAAiE;QACjE,8KAA8K;QAC9K,EAAE;QACF,oBAAoB;KACpB,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC/B,OAAO,KAAK;SACV,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC"}