@corenel/harness 0.9.0 → 0.11.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 (247) hide show
  1. package/dist/approvals/decisionLog.d.ts +21 -0
  2. package/dist/approvals/decisionLog.d.ts.map +1 -0
  3. package/dist/approvals/decisionLog.js +129 -0
  4. package/dist/approvals/decisionLog.js.map +1 -0
  5. package/dist/approvals/hooks.d.ts +18 -0
  6. package/dist/approvals/hooks.d.ts.map +1 -0
  7. package/dist/approvals/hooks.js +34 -0
  8. package/dist/approvals/hooks.js.map +1 -0
  9. package/dist/approvals/index.d.ts +10 -0
  10. package/dist/approvals/index.d.ts.map +1 -0
  11. package/dist/approvals/index.js +10 -0
  12. package/dist/approvals/index.js.map +1 -0
  13. package/dist/approvals/service.d.ts +46 -0
  14. package/dist/approvals/service.d.ts.map +1 -0
  15. package/dist/approvals/service.js +181 -0
  16. package/dist/approvals/service.js.map +1 -0
  17. package/dist/approvals/settings.d.ts +20 -0
  18. package/dist/approvals/settings.d.ts.map +1 -0
  19. package/dist/approvals/settings.js +32 -0
  20. package/dist/approvals/settings.js.map +1 -0
  21. package/dist/approvals/shellTools.d.ts +10 -0
  22. package/dist/approvals/shellTools.d.ts.map +1 -0
  23. package/dist/approvals/shellTools.js +17 -0
  24. package/dist/approvals/shellTools.js.map +1 -0
  25. package/dist/approvals/standingStore.d.ts +15 -0
  26. package/dist/approvals/standingStore.d.ts.map +1 -0
  27. package/dist/approvals/standingStore.js +50 -0
  28. package/dist/approvals/standingStore.js.map +1 -0
  29. package/dist/approvals/suggest.d.ts +15 -0
  30. package/dist/approvals/suggest.d.ts.map +1 -0
  31. package/dist/approvals/suggest.js +23 -0
  32. package/dist/approvals/suggest.js.map +1 -0
  33. package/dist/approvals/summarize.d.ts +7 -0
  34. package/dist/approvals/summarize.d.ts.map +1 -0
  35. package/dist/approvals/summarize.js +70 -0
  36. package/dist/approvals/summarize.js.map +1 -0
  37. package/dist/approvals/testTextStore.d.ts +6 -0
  38. package/dist/approvals/testTextStore.d.ts.map +1 -0
  39. package/dist/approvals/testTextStore.js +11 -0
  40. package/dist/approvals/testTextStore.js.map +1 -0
  41. package/dist/approvals/textStore.d.ts +9 -0
  42. package/dist/approvals/textStore.d.ts.map +1 -0
  43. package/dist/approvals/textStore.js +2 -0
  44. package/dist/approvals/textStore.js.map +1 -0
  45. package/dist/audit/canonical.d.ts +5 -0
  46. package/dist/audit/canonical.d.ts.map +1 -0
  47. package/dist/audit/canonical.js +15 -0
  48. package/dist/audit/canonical.js.map +1 -0
  49. package/dist/audit/ids.d.ts +3 -0
  50. package/dist/audit/ids.d.ts.map +1 -0
  51. package/dist/audit/ids.js +11 -0
  52. package/dist/audit/ids.js.map +1 -0
  53. package/dist/audit/index.d.ts +7 -0
  54. package/dist/audit/index.d.ts.map +1 -0
  55. package/dist/audit/index.js +7 -0
  56. package/dist/audit/index.js.map +1 -0
  57. package/dist/audit/log.d.ts +64 -0
  58. package/dist/audit/log.d.ts.map +1 -0
  59. package/dist/audit/log.js +457 -0
  60. package/dist/audit/log.js.map +1 -0
  61. package/dist/audit/recorder.d.ts +31 -0
  62. package/dist/audit/recorder.d.ts.map +1 -0
  63. package/dist/audit/recorder.js +185 -0
  64. package/dist/audit/recorder.js.map +1 -0
  65. package/dist/audit/runAudit.d.ts +38 -0
  66. package/dist/audit/runAudit.d.ts.map +1 -0
  67. package/dist/audit/runAudit.js +99 -0
  68. package/dist/audit/runAudit.js.map +1 -0
  69. package/dist/audit/verify.d.ts +14 -0
  70. package/dist/audit/verify.d.ts.map +1 -0
  71. package/dist/audit/verify.js +47 -0
  72. package/dist/audit/verify.js.map +1 -0
  73. package/dist/conversation.d.ts +31 -0
  74. package/dist/conversation.d.ts.map +1 -1
  75. package/dist/conversation.js +33 -0
  76. package/dist/conversation.js.map +1 -1
  77. package/dist/core/hash.d.ts +2 -0
  78. package/dist/core/hash.d.ts.map +1 -0
  79. package/dist/core/hash.js +9 -0
  80. package/dist/core/hash.js.map +1 -0
  81. package/dist/core/loop.d.ts +18 -0
  82. package/dist/core/loop.d.ts.map +1 -1
  83. package/dist/core/loop.js +61 -5
  84. package/dist/core/loop.js.map +1 -1
  85. package/dist/core/spawn.d.ts +59 -4
  86. package/dist/core/spawn.d.ts.map +1 -1
  87. package/dist/core/spawn.js +83 -5
  88. package/dist/core/spawn.js.map +1 -1
  89. package/dist/core/turnVerify.d.ts +25 -0
  90. package/dist/core/turnVerify.d.ts.map +1 -0
  91. package/dist/core/turnVerify.js +177 -0
  92. package/dist/core/turnVerify.js.map +1 -0
  93. package/dist/dag/executeNode.d.ts +7 -0
  94. package/dist/dag/executeNode.d.ts.map +1 -1
  95. package/dist/dag/executeNode.js +3 -0
  96. package/dist/dag/executeNode.js.map +1 -1
  97. package/dist/guardrail/guardrail.d.ts +7 -0
  98. package/dist/guardrail/guardrail.d.ts.map +1 -1
  99. package/dist/guardrail/guardrail.js +8 -0
  100. package/dist/guardrail/guardrail.js.map +1 -1
  101. package/dist/guardrail/index.d.ts +2 -2
  102. package/dist/guardrail/index.d.ts.map +1 -1
  103. package/dist/guardrail/index.js +2 -2
  104. package/dist/guardrail/index.js.map +1 -1
  105. package/dist/guardrail/permission-service.d.ts +37 -6
  106. package/dist/guardrail/permission-service.d.ts.map +1 -1
  107. package/dist/guardrail/permission-service.js +111 -11
  108. package/dist/guardrail/permission-service.js.map +1 -1
  109. package/dist/guardrail/serialize.d.ts.map +1 -1
  110. package/dist/guardrail/serialize.js +2 -0
  111. package/dist/guardrail/serialize.js.map +1 -1
  112. package/dist/guardrail/validate.d.ts.map +1 -1
  113. package/dist/guardrail/validate.js +3 -1
  114. package/dist/guardrail/validate.js.map +1 -1
  115. package/dist/install/lockfile.d.ts +13 -5
  116. package/dist/install/lockfile.d.ts.map +1 -1
  117. package/dist/install/lockfile.js +31 -2
  118. package/dist/install/lockfile.js.map +1 -1
  119. package/dist/orchestrator/agentSearch.d.ts +15 -0
  120. package/dist/orchestrator/agentSearch.d.ts.map +1 -0
  121. package/dist/orchestrator/agentSearch.js +102 -0
  122. package/dist/orchestrator/agentSearch.js.map +1 -0
  123. package/dist/orchestrator/agentTags.d.ts +13 -0
  124. package/dist/orchestrator/agentTags.d.ts.map +1 -0
  125. package/dist/orchestrator/agentTags.js +48 -0
  126. package/dist/orchestrator/agentTags.js.map +1 -0
  127. package/dist/orchestrator/branch.d.ts +9 -0
  128. package/dist/orchestrator/branch.d.ts.map +1 -0
  129. package/dist/orchestrator/branch.js +26 -0
  130. package/dist/orchestrator/branch.js.map +1 -0
  131. package/dist/orchestrator/checks.d.ts +16 -0
  132. package/dist/orchestrator/checks.d.ts.map +1 -0
  133. package/dist/orchestrator/checks.js +66 -0
  134. package/dist/orchestrator/checks.js.map +1 -0
  135. package/dist/orchestrator/planDoc.d.ts +15 -0
  136. package/dist/orchestrator/planDoc.d.ts.map +1 -0
  137. package/dist/orchestrator/planDoc.js +59 -0
  138. package/dist/orchestrator/planDoc.js.map +1 -0
  139. package/dist/orchestrator/record.d.ts +103 -0
  140. package/dist/orchestrator/record.d.ts.map +1 -0
  141. package/dist/orchestrator/record.js +168 -0
  142. package/dist/orchestrator/record.js.map +1 -0
  143. package/dist/orchestrator/sidecarTools.d.ts +7 -0
  144. package/dist/orchestrator/sidecarTools.d.ts.map +1 -0
  145. package/dist/orchestrator/sidecarTools.js +141 -0
  146. package/dist/orchestrator/sidecarTools.js.map +1 -0
  147. package/dist/prompts/config.d.ts.map +1 -1
  148. package/dist/prompts/config.js +11 -0
  149. package/dist/prompts/config.js.map +1 -1
  150. package/dist/prompts/index.d.ts +0 -6
  151. package/dist/prompts/index.d.ts.map +1 -1
  152. package/dist/prompts/index.js +10 -17
  153. package/dist/prompts/index.js.map +1 -1
  154. package/dist/prompts/library/defaults.generated.d.ts.map +1 -1
  155. package/dist/prompts/library/defaults.generated.js +29 -12
  156. package/dist/prompts/library/defaults.generated.js.map +1 -1
  157. package/dist/redact.d.ts.map +1 -1
  158. package/dist/redact.js +1 -0
  159. package/dist/redact.js.map +1 -1
  160. package/dist/rooms/findings.d.ts +14 -0
  161. package/dist/rooms/findings.d.ts.map +1 -1
  162. package/dist/rooms/findings.js +37 -0
  163. package/dist/rooms/findings.js.map +1 -1
  164. package/dist/sessions/blobGc.d.ts.map +1 -1
  165. package/dist/sessions/blobGc.js +2 -5
  166. package/dist/sessions/blobGc.js.map +1 -1
  167. package/dist/sessions/childSessions.d.ts +12 -0
  168. package/dist/sessions/childSessions.d.ts.map +1 -0
  169. package/dist/sessions/childSessions.js +43 -0
  170. package/dist/sessions/childSessions.js.map +1 -0
  171. package/dist/sessions/fileRecallStore.d.ts.map +1 -1
  172. package/dist/sessions/fileRecallStore.js +1 -3
  173. package/dist/sessions/fileRecallStore.js.map +1 -1
  174. package/dist/sessions/fileSessionStore.d.ts +13 -8
  175. package/dist/sessions/fileSessionStore.d.ts.map +1 -1
  176. package/dist/sessions/fileSessionStore.js +53 -17
  177. package/dist/sessions/fileSessionStore.js.map +1 -1
  178. package/dist/sessions/inflight.js +0 -0
  179. package/dist/sessions/inflight.js.map +1 -1
  180. package/dist/sessions/jsonl.d.ts +9 -0
  181. package/dist/sessions/jsonl.d.ts.map +1 -1
  182. package/dist/sessions/jsonl.js +11 -0
  183. package/dist/sessions/jsonl.js.map +1 -1
  184. package/dist/sessions/testFs.d.ts.map +1 -1
  185. package/dist/sessions/testFs.js +1 -1
  186. package/dist/sessions/testFs.js.map +1 -1
  187. package/dist/sidecar/host.d.ts +178 -1
  188. package/dist/sidecar/host.d.ts.map +1 -1
  189. package/dist/sidecar/host.js +363 -3
  190. package/dist/sidecar/host.js.map +1 -1
  191. package/dist/sidecar/identity.d.ts +44 -0
  192. package/dist/sidecar/identity.d.ts.map +1 -0
  193. package/dist/sidecar/identity.js +45 -0
  194. package/dist/sidecar/identity.js.map +1 -0
  195. package/dist/sidecar/server.d.ts +273 -6
  196. package/dist/sidecar/server.d.ts.map +1 -1
  197. package/dist/sidecar/server.js +1009 -40
  198. package/dist/sidecar/server.js.map +1 -1
  199. package/dist/skillSource.js +1 -1
  200. package/dist/skillSource.js.map +1 -1
  201. package/dist/skills.d.ts +23 -7
  202. package/dist/skills.d.ts.map +1 -1
  203. package/dist/skills.js +62 -37
  204. package/dist/skills.js.map +1 -1
  205. package/dist/tools/callAgent.d.ts +29 -12
  206. package/dist/tools/callAgent.d.ts.map +1 -1
  207. package/dist/tools/callAgent.js +120 -14
  208. package/dist/tools/callAgent.js.map +1 -1
  209. package/dist/tools/crewList.d.ts +33 -0
  210. package/dist/tools/crewList.d.ts.map +1 -0
  211. package/dist/tools/crewList.js +66 -0
  212. package/dist/tools/crewList.js.map +1 -0
  213. package/dist/tools/files.d.ts.map +1 -1
  214. package/dist/tools/files.js +11 -5
  215. package/dist/tools/files.js.map +1 -1
  216. package/dist/tools/findAgent.d.ts +23 -0
  217. package/dist/tools/findAgent.d.ts.map +1 -0
  218. package/dist/tools/findAgent.js +58 -0
  219. package/dist/tools/findAgent.js.map +1 -0
  220. package/dist/tools/namespaces.d.ts.map +1 -1
  221. package/dist/tools/namespaces.js +7 -0
  222. package/dist/tools/namespaces.js.map +1 -1
  223. package/dist/tools/orchestrate.d.ts +4 -0
  224. package/dist/tools/orchestrate.d.ts.map +1 -0
  225. package/dist/tools/orchestrate.js +38 -0
  226. package/dist/tools/orchestrate.js.map +1 -0
  227. package/dist/tools/orchestration.d.ts +24 -0
  228. package/dist/tools/orchestration.d.ts.map +1 -0
  229. package/dist/tools/orchestration.js +173 -0
  230. package/dist/tools/orchestration.js.map +1 -0
  231. package/dist/tools/orchestrationSet.d.ts +6 -0
  232. package/dist/tools/orchestrationSet.d.ts.map +1 -0
  233. package/dist/tools/orchestrationSet.js +12 -0
  234. package/dist/tools/orchestrationSet.js.map +1 -0
  235. package/dist/tools/roomTools.d.ts +6 -0
  236. package/dist/tools/roomTools.d.ts.map +1 -1
  237. package/dist/tools/roomTools.js +26 -2
  238. package/dist/tools/roomTools.js.map +1 -1
  239. package/dist/tools/skillTool.d.ts +15 -0
  240. package/dist/tools/skillTool.d.ts.map +1 -0
  241. package/dist/tools/skillTool.js +39 -0
  242. package/dist/tools/skillTool.js.map +1 -0
  243. package/dist/tools/urlGuard.d.ts +7 -0
  244. package/dist/tools/urlGuard.d.ts.map +1 -1
  245. package/dist/tools/urlGuard.js +54 -18
  246. package/dist/tools/urlGuard.js.map +1 -1
  247. package/package.json +8 -3
@@ -1 +1 @@
1
- {"version":3,"file":"roomTools.js","sourceRoot":"","sources":["../../tools/roomTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roomTools.js","sourceRoot":"","sources":["../../tools/roomTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { AgentTool } from '@corenel/protocol';
2
+ export declare const USE_SKILL_NAME = "use_skill";
3
+ /** One enabled skill, read by the host: what the index shows and what the tool returns. */
4
+ export interface SkillEntry {
5
+ name: string;
6
+ /** One line from the skill's frontmatter; '' when it has none. */
7
+ description: string;
8
+ /** The full instructions, frontmatter stripped. */
9
+ body: string;
10
+ }
11
+ /** The system-prompt block: which skills exist and when to load one. '' for none. */
12
+ export declare function skillIndex(skills: SkillEntry[]): string;
13
+ /** `use_skill` over exactly `skills`. */
14
+ export declare function createSkillTool(skills: SkillEntry[]): AgentTool;
15
+ //# sourceMappingURL=skillTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillTool.d.ts","sourceRoot":"","sources":["../../tools/skillTool.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,2FAA2F;AAC3F,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAUvD;AAED,yCAAyC;AACzC,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAqB/D"}
@@ -0,0 +1,39 @@
1
+ export const USE_SKILL_NAME = 'use_skill';
2
+ /** The system-prompt block: which skills exist and when to load one. '' for none. */
3
+ export function skillIndex(skills) {
4
+ if (!skills.length)
5
+ return '';
6
+ return [
7
+ '## Skills',
8
+ 'Procedures the user installed for particular kinds of work. Before starting a task, check whether one of these covers it; judge that on what the task IS, not on whether the user named the skill. '
9
+ + `When one covers the task, call \`${USE_SKILL_NAME}\` with its name to load its instructions, then follow them in place of how you would otherwise go about it, and say which you are following. `
10
+ + 'When none does, proceed normally and say nothing about them.',
11
+ '',
12
+ ...skills.map((s) => (s.description ? `- ${s.name}: ${s.description}` : `- ${s.name}`)),
13
+ ].join('\n');
14
+ }
15
+ /** `use_skill` over exactly `skills`. */
16
+ export function createSkillTool(skills) {
17
+ const byName = new Map(skills.map((s) => [s.name, s]));
18
+ return {
19
+ name: USE_SKILL_NAME,
20
+ means: 'read an installed skill',
21
+ roomSafe: true,
22
+ description: 'Load the full instructions of one installed skill, by name, from the Skills list in your instructions.',
23
+ parameters: {
24
+ type: 'object',
25
+ properties: {
26
+ name: { type: 'string', enum: skills.map((s) => s.name), description: 'The skill to load.' },
27
+ },
28
+ required: ['name'],
29
+ },
30
+ async run(args) {
31
+ const name = typeof args.name === 'string' ? args.name : '';
32
+ const skill = byName.get(name);
33
+ if (!skill)
34
+ return `No skill named "${name}". Available: ${skills.map((s) => s.name).join(', ')}.`;
35
+ return `# Skill: ${skill.name}\n\n${skill.body}`;
36
+ },
37
+ };
38
+ }
39
+ //# sourceMappingURL=skillTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillTool.js","sourceRoot":"","sources":["../../tools/skillTool.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAW1C,qFAAqF;AACrF,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC7C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO;QACL,WAAW;QACX,qMAAqM;cACjM,oCAAoC,cAAc,gJAAgJ;cAClM,8DAA8D;QAClE,EAAE;QACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;KACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,yBAAyB;QAChC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wGAAwG;QACrH,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAC7F;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,KAAK,CAAC,GAAG,CAAC,IAAI;YACZ,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK;gBAAE,OAAO,mBAAmB,IAAI,iBAAiB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACnG,OAAO,YAAY,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACnD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,10 @@
1
+ /** Resolves a host NAME to its addresses. Installed by a host that can do DNS
2
+ * (the Node CLI / daemon); the browser has none and relies on the lexical
3
+ * check plus the same-origin policy. */
4
+ export type OutboundResolver = (host: string) => Promise<string[]>;
5
+ /** Install (or clear, with null) the resolver safeFetch uses to check that a
6
+ * name does not resolve to an internal address. */
7
+ export declare function setOutboundResolver(fn: OutboundResolver | null): void;
1
8
  /** Validate a tool-supplied URL. Returns null when allowed, else a human-readable
2
9
  * reason it is refused (http(s) only; no internal/loopback/metadata hosts). */
3
10
  export declare function outboundUrlError(raw: string): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"urlGuard.d.ts","sourceRoot":"","sources":["../../tools/urlGuard.ts"],"names":[],"mappings":"AAiCA;+EAC+E;AAC/E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU3D;AAID;;;uFAGuF;AACvF,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CActF"}
1
+ {"version":3,"file":"urlGuard.d.ts","sourceRoot":"","sources":["../../tools/urlGuard.ts"],"names":[],"mappings":"AA6CA;;wCAEwC;AACxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAGnE;mDACmD;AACnD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAErE;AAeD;+EAC+E;AAC/E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU3D;AAID;;;uFAGuF;AACvF,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgBtF"}
@@ -7,9 +7,12 @@
7
7
  * redirects manually so a 3xx can't bounce from an allowed host to an internal one.
8
8
  */
9
9
  /** Hostnames / IP literals a tool-driven request must never reach: loopback,
10
- * link-local (incl. the cloud metadata endpoint), private and CGNAT ranges. */
10
+ * link-local (incl. the cloud metadata endpoint), private and CGNAT ranges.
11
+ * Also applied to every RESOLVED address when a resolver is installed. */
11
12
  function isBlockedHost(host) {
12
- const h = host.toLowerCase().replace(/^\[/, '').replace(/\]$/, ''); // strip IPv6 brackets
13
+ // Strip IPv6 brackets and any trailing dots: `localhost.` and
14
+ // `metadata.google.internal.` are the same names as without the dot.
15
+ const h = host.toLowerCase().replace(/^\[/, '').replace(/\]$/, '').replace(/\.+$/, '');
13
16
  if (!h)
14
17
  return true;
15
18
  if (h === 'localhost' || h.endsWith('.localhost'))
@@ -17,28 +20,58 @@ function isBlockedHost(host) {
17
20
  if (h === 'metadata.google.internal' || h.endsWith('.internal') || h.endsWith('.local'))
18
21
  return true;
19
22
  // IPv6 loopback / unspecified / unique-local (fc00::/7) / link-local (fe80::/10).
20
- if (h === '::1' || h === '::')
23
+ if (h === '::1' || h === '::' || h === '0:0:0:0:0:0:0:1' || h === '0:0:0:0:0:0:0:0')
21
24
  return true;
22
25
  if (/^f[cd][0-9a-f]{2}:/.test(h) || /^fe[89ab][0-9a-f]:/.test(h))
23
26
  return true;
24
- // IPv4 literal.
25
- const m = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(h);
26
- if (m) {
27
- const a = Number(m[1]);
28
- const b = Number(m[2]);
29
- if (a === 0 || a === 10 || a === 127)
30
- return true; // this-host / private / loopback
31
- if (a === 169 && b === 254)
32
- return true; // link-local + cloud metadata (169.254.169.254)
33
- if (a === 172 && b >= 16 && b <= 31)
34
- return true; // private
35
- if (a === 192 && b === 168)
36
- return true; // private
37
- if (a === 100 && b >= 64 && b <= 127)
38
- return true; // CGNAT (100.64.0.0/10)
27
+ // IPv4-mapped IPv6 (::ffff:a.b.c.d, or the hex form a URL parser normalises
28
+ // it to, ::ffff:a9fe:a9fe): judge the embedded IPv4 address.
29
+ const mappedHex = /^(?:0:0:0:0:0:|:):ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/.exec(h);
30
+ if (mappedHex) {
31
+ const hi = parseInt(mappedHex[1], 16);
32
+ const lo = parseInt(mappedHex[2], 16);
33
+ return isBlockedIpv4([hi >> 8, hi & 255, lo >> 8, lo & 255]);
39
34
  }
35
+ const v4 = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(h.replace(/^(?:0:0:0:0:0:|:):ffff:/, ''));
36
+ if (v4)
37
+ return isBlockedIpv4(v4.slice(1).map(Number));
40
38
  return false;
41
39
  }
40
+ function isBlockedIpv4([a, b]) {
41
+ if (a === 0 || a === 10 || a === 127)
42
+ return true; // this-host / private / loopback
43
+ if (a === 169 && b === 254)
44
+ return true; // link-local + cloud metadata (169.254.169.254)
45
+ if (a === 172 && b >= 16 && b <= 31)
46
+ return true; // private
47
+ if (a === 192 && b === 168)
48
+ return true; // private
49
+ if (a === 100 && b >= 64 && b <= 127)
50
+ return true; // CGNAT (100.64.0.0/10)
51
+ if (a >= 224)
52
+ return true; // multicast / reserved / broadcast
53
+ return false;
54
+ }
55
+ let resolver = null;
56
+ /** Install (or clear, with null) the resolver safeFetch uses to check that a
57
+ * name does not resolve to an internal address. */
58
+ export function setOutboundResolver(fn) {
59
+ resolver = fn;
60
+ }
61
+ const IP_LITERAL = /^[\d.]+$|:/;
62
+ /** Check every address a name resolves to. Returns a refusal reason or null. */
63
+ async function resolvedHostError(host) {
64
+ if (!resolver)
65
+ return null;
66
+ const bare = host.replace(/^\[/, '').replace(/\]$/, '');
67
+ if (IP_LITERAL.test(bare))
68
+ return null; // a literal was already judged lexically
69
+ const addrs = await resolver(bare);
70
+ if (addrs.length === 0)
71
+ return `could not resolve "${host}"`;
72
+ const bad = addrs.find((a) => isBlockedHost(a));
73
+ return bad ? `refusing to call an internal/loopback host: "${host}" resolves to ${bad}` : null;
74
+ }
42
75
  /** Validate a tool-supplied URL. Returns null when allowed, else a human-readable
43
76
  * reason it is refused (http(s) only; no internal/loopback/metadata hosts). */
44
77
  export function outboundUrlError(raw) {
@@ -66,6 +99,9 @@ export async function safeFetch(url, init = {}) {
66
99
  const bad = outboundUrlError(current);
67
100
  if (bad)
68
101
  throw new Error(bad);
102
+ const badAddr = await resolvedHostError(new URL(current).hostname);
103
+ if (badAddr)
104
+ throw new Error(badAddr);
69
105
  const res = await fetch(current, { ...init, redirect: 'manual' });
70
106
  if (res.type === 'opaqueredirect')
71
107
  throw new Error('refusing to follow an opaque cross-origin redirect');
@@ -1 +1 @@
1
- {"version":3,"file":"urlGuard.js","sourceRoot":"","sources":["../../tools/urlGuard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"urlGuard.js","sourceRoot":"","sources":["../../tools/urlGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;0EAE0E;AAC1E,SAAS,aAAa,CAAC,IAAY;IACjC,8DAA8D;IAC9D,qEAAqE;IACrE,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvF,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,CAAC,KAAK,0BAA0B,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACrG,kFAAkF;IAClF,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,iBAAiB,IAAI,CAAC,KAAK,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACjG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,SAAS,GAAG,yDAAyD,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,EAAE,GAAG,8CAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,CAAC;IACzG,IAAI,EAAE;QAAE,OAAO,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAW;IACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC,CAAC,iCAAiC;IACpF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC,CAAC,gDAAgD;IACzF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,CAAC,UAAU;IAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC,CAAC,UAAU;IACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC,CAAC,wBAAwB;IAC3E,IAAI,CAAC,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC,CAAC,mCAAmC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAMD,IAAI,QAAQ,GAA4B,IAAI,CAAC;AAE7C;mDACmD;AACnD,MAAM,UAAU,mBAAmB,CAAC,EAA2B;IAC7D,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,gFAAgF;AAChF,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAC3C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,yCAAyC;IACjF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,sBAAsB,IAAI,GAAG,CAAC;IAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,CAAC,CAAC,gDAAgD,IAAI,iBAAiB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjG,CAAC;AAED;+EAC+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAM,CAAC;IACX,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,iBAAiB,GAAG,GAAG,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,yBAAyB,GAAG,GAAG,CAAC;IAC9F,IAAI,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;QAAE,OAAO,gDAAgD,CAAC,CAAC,QAAQ,GAAG,CAAC;IACpG,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB;;;uFAGuF;AACvF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,OAAoB,EAAE;IACjE,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACzG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzE,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC7E,SAAS;QACX,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,aAAa,GAAG,CAAC,CAAC;AAC7D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corenel/harness",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "license": "Elastic-2.0",
5
5
  "type": "module",
6
6
  "description": "Corenel — host-agnostic agent harness (kernel). The app resolves it via the `corenel` path alias (bypasses these exports entirely); vitest aliases it to source too. Everything else — node consumers like @corenel/cli, @corenel/term, @corenel/sidecar — resolves it through this workspace package via the exports map below, which points at dist/ unconditionally (not just at publish) so in-repo and published resolution are identical: a bundle that treats @corenel/harness as external (see packages/term/build.mjs) must see the SAME module instance node sees when it later resolves this package at runtime, and plain node cannot execute the raw .ts sources at all. Run `pnpm build` here (or let a dependent's prebuild do it) before relying on this package outside the app/vitest. NOTE: @xyflow/react and dagre are NOT dependencies here at all — this package has no .tsx files and imports neither. `react` IS a real (small) runtime dependency: `todos.ts` uses `useSyncExternalStore`. It is declared below as an OPTIONAL peer, not a hard dependency, so node-only consumers (cli/term/sidecar) aren't forced to install react; node consumers hoist it today only because something else in the tree happens to pull it in. Do not add @xyflow/react or dagre as dependencies/peers without testing a packed install end to end — an earlier attempt at that (before this package had any .tsx files) failed npm's peer resolution with ERESOLVE.",
@@ -13,6 +13,10 @@
13
13
  "types": "./dist/guardrail/index.d.ts",
14
14
  "default": "./dist/guardrail/index.js"
15
15
  },
16
+ "./approvals": {
17
+ "types": "./dist/approvals/index.d.ts",
18
+ "default": "./dist/approvals/index.js"
19
+ },
16
20
  "./prompts": {
17
21
  "types": "./dist/prompts/index.d.ts",
18
22
  "default": "./dist/prompts/index.js"
@@ -29,7 +33,7 @@
29
33
  "dependencies": {
30
34
  "openai": "^4.77.0",
31
35
  "yaml": "^2.8.3",
32
- "@corenel/protocol": "0.8.0"
36
+ "@corenel/protocol": "0.10.0"
33
37
  },
34
38
  "peerDependencies": {
35
39
  "react": "^18.0.0 || ^19.0.0"
@@ -55,6 +59,7 @@
55
59
  },
56
60
  "scripts": {
57
61
  "prebuild": "pnpm --filter @corenel/protocol build",
58
- "build": "node build.mjs"
62
+ "build": "node build.mjs",
63
+ "typecheck": "tsc -p tsconfig.typecheck.json"
59
64
  }
60
65
  }