@xrkseek/harness 0.5.18 → 0.5.20

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 (168) hide show
  1. harness/node_modules/.modules.yaml +4 -4
  2. harness/node_modules/.package-map.json +1 -1
  3. harness/node_modules/@xrkseek/core-agent/dist/index.d.ts +5 -0
  4. harness/node_modules/@xrkseek/core-agent/dist/index.d.ts.map +1 -1
  5. harness/node_modules/@xrkseek/core-agent/dist/index.js +3 -0
  6. harness/node_modules/@xrkseek/core-agent/dist/index.js.map +1 -1
  7. harness/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts +6 -0
  8. harness/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  9. harness/node_modules/@xrkseek/core-agent-loop/dist/index.js +7 -1
  10. harness/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  11. harness/node_modules/@xrkseek/core-tools/dist/definition.d.ts +12 -0
  12. harness/node_modules/@xrkseek/core-tools/dist/definition.d.ts.map +1 -1
  13. harness/node_modules/@xrkseek/core-tools/dist/definition.js.map +1 -1
  14. harness/node_modules/@xrkseek/core-tools/dist/index.d.ts +3 -1
  15. harness/node_modules/@xrkseek/core-tools/dist/index.d.ts.map +1 -1
  16. harness/node_modules/@xrkseek/core-tools/dist/index.js +2 -0
  17. harness/node_modules/@xrkseek/core-tools/dist/index.js.map +1 -1
  18. harness/node_modules/@xrkseek/core-tools/dist/materialize.d.ts +6 -0
  19. harness/node_modules/@xrkseek/core-tools/dist/materialize.d.ts.map +1 -1
  20. harness/node_modules/@xrkseek/core-tools/dist/materialize.js +7 -1
  21. harness/node_modules/@xrkseek/core-tools/dist/materialize.js.map +1 -1
  22. harness/node_modules/@xrkseek/core-tools/dist/subagent-prompt.d.ts.map +1 -1
  23. harness/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js +3 -1
  24. harness/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js.map +1 -1
  25. harness/node_modules/@xrkseek/core-tools/dist/tool-exposure.d.ts +33 -0
  26. harness/node_modules/@xrkseek/core-tools/dist/tool-exposure.d.ts.map +1 -0
  27. harness/node_modules/@xrkseek/core-tools/dist/tool-exposure.js +145 -0
  28. harness/node_modules/@xrkseek/core-tools/dist/tool-exposure.js.map +1 -0
  29. harness/node_modules/@xrkseek/core-tools/dist/tool-search.d.ts +20 -0
  30. harness/node_modules/@xrkseek/core-tools/dist/tool-search.d.ts.map +1 -0
  31. harness/node_modules/@xrkseek/core-tools/dist/tool-search.js +78 -0
  32. harness/node_modules/@xrkseek/core-tools/dist/tool-search.js.map +1 -0
  33. harness/node_modules/@xrkseek/exec-computer-use/dist/format.d.ts +3 -3
  34. harness/node_modules/@xrkseek/exec-computer-use/dist/format.d.ts.map +1 -1
  35. harness/node_modules/@xrkseek/exec-computer-use/dist/format.js +6 -17
  36. harness/node_modules/@xrkseek/exec-computer-use/dist/format.js.map +1 -1
  37. harness/node_modules/@xrkseek/exec-fs/dist/index.d.ts +15 -1
  38. harness/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  39. harness/node_modules/@xrkseek/exec-fs/dist/index.js +27 -11
  40. harness/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  41. harness/node_modules/@xrkseek/exec-fs/dist/path-overreach-pre.d.ts +23 -0
  42. harness/node_modules/@xrkseek/exec-fs/dist/path-overreach-pre.d.ts.map +1 -0
  43. harness/node_modules/@xrkseek/exec-fs/dist/path-overreach-pre.js +142 -0
  44. harness/node_modules/@xrkseek/exec-fs/dist/path-overreach-pre.js.map +1 -0
  45. harness/node_modules/@xrkseek/exec-fs/dist/paths.d.ts +9 -6
  46. harness/node_modules/@xrkseek/exec-fs/dist/paths.d.ts.map +1 -1
  47. harness/node_modules/@xrkseek/exec-fs/dist/paths.js +14 -6
  48. harness/node_modules/@xrkseek/exec-fs/dist/paths.js.map +1 -1
  49. harness/node_modules/@xrkseek/exec-web/dist/fetch-http.d.ts +2 -2
  50. harness/node_modules/@xrkseek/exec-web/dist/fetch-http.d.ts.map +1 -1
  51. harness/node_modules/@xrkseek/exec-web/dist/fetch-http.js +146 -56
  52. harness/node_modules/@xrkseek/exec-web/dist/fetch-http.js.map +1 -1
  53. harness/node_modules/@xrkseek/exec-web/dist/format.d.ts +15 -7
  54. harness/node_modules/@xrkseek/exec-web/dist/format.d.ts.map +1 -1
  55. harness/node_modules/@xrkseek/exec-web/dist/format.js +58 -21
  56. harness/node_modules/@xrkseek/exec-web/dist/format.js.map +1 -1
  57. harness/node_modules/@xrkseek/exec-web/dist/index.d.ts +1 -1
  58. harness/node_modules/@xrkseek/exec-web/dist/index.d.ts.map +1 -1
  59. harness/node_modules/@xrkseek/exec-web/dist/index.js +1 -1
  60. harness/node_modules/@xrkseek/exec-web/dist/index.js.map +1 -1
  61. harness/node_modules/@xrkseek/exec-web/dist/tools.d.ts.map +1 -1
  62. harness/node_modules/@xrkseek/exec-web/dist/tools.js +13 -3
  63. harness/node_modules/@xrkseek/exec-web/dist/tools.js.map +1 -1
  64. harness/node_modules/@xrkseek/exec-web/dist/types.d.ts +13 -0
  65. harness/node_modules/@xrkseek/exec-web/dist/types.d.ts.map +1 -1
  66. harness/node_modules/@xrkseek/exec-web/package.json +2 -1
  67. harness/node_modules/@xrkseek/mcp/dist/register.d.ts.map +1 -1
  68. harness/node_modules/@xrkseek/mcp/dist/register.js +2 -0
  69. harness/node_modules/@xrkseek/mcp/dist/register.js.map +1 -1
  70. harness/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +19 -1
  71. harness/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  72. harness/node_modules/@xrkseek/preset-harness/dist/preset.js +115 -5
  73. harness/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  74. harness/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  75. harness/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  76. harness/node_modules/@xrkseek/preset-server/dist/preset.d.ts.map +1 -1
  77. harness/node_modules/@xrkseek/preset-server/dist/preset.js +7 -1
  78. harness/node_modules/@xrkseek/preset-server/dist/preset.js.map +1 -1
  79. harness/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  80. harness/node_modules/@xrkseek/protocol/dist/index.d.ts +2 -2
  81. harness/node_modules/@xrkseek/protocol/dist/index.d.ts.map +1 -1
  82. harness/node_modules/@xrkseek/protocol/dist/index.js +1 -1
  83. harness/node_modules/@xrkseek/protocol/dist/index.js.map +1 -1
  84. harness/node_modules/@xrkseek/protocol/dist/json-schema.d.ts +12 -0
  85. harness/node_modules/@xrkseek/protocol/dist/json-schema.d.ts.map +1 -1
  86. harness/node_modules/@xrkseek/protocol/dist/json-schema.js +12 -1
  87. harness/node_modules/@xrkseek/protocol/dist/json-schema.js.map +1 -1
  88. harness/node_modules/@xrkseek/protocol/dist/permission-knobs.d.ts +9 -0
  89. harness/node_modules/@xrkseek/protocol/dist/permission-knobs.d.ts.map +1 -1
  90. harness/node_modules/@xrkseek/protocol/dist/permission-knobs.js +6 -0
  91. harness/node_modules/@xrkseek/protocol/dist/permission-knobs.js.map +1 -1
  92. harness/node_modules/@xrkseek/protocol/dist/plan-mode.d.ts +5 -2
  93. harness/node_modules/@xrkseek/protocol/dist/plan-mode.d.ts.map +1 -1
  94. harness/node_modules/@xrkseek/protocol/dist/plan-mode.js +11 -2
  95. harness/node_modules/@xrkseek/protocol/dist/plan-mode.js.map +1 -1
  96. harness/node_modules/@xrkseek/protocol/dist/session-events.d.ts +12 -4
  97. harness/node_modules/@xrkseek/protocol/dist/session-events.d.ts.map +1 -1
  98. harness/node_modules/@xrkseek/protocol/dist/session-events.js +1 -0
  99. harness/node_modules/@xrkseek/protocol/dist/session-events.js.map +1 -1
  100. harness/node_modules/@xrkseek/protocol/dist/validate.d.ts.map +1 -1
  101. harness/node_modules/@xrkseek/protocol/dist/validate.js +9 -1
  102. harness/node_modules/@xrkseek/protocol/dist/validate.js.map +1 -1
  103. harness/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts +1 -0
  104. harness/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts.map +1 -1
  105. harness/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js +2 -0
  106. harness/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js.map +1 -1
  107. harness/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts +2 -0
  108. harness/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts.map +1 -1
  109. harness/node_modules/@xrkseek/server-face/dist/agent-roster-store.js +18 -4
  110. harness/node_modules/@xrkseek/server-face/dist/agent-roster-store.js.map +1 -1
  111. harness/node_modules/@xrkseek/server-face/dist/agent-team-roles.d.ts +9 -0
  112. harness/node_modules/@xrkseek/server-face/dist/agent-team-roles.d.ts.map +1 -1
  113. harness/node_modules/@xrkseek/server-face/dist/agent-team-roles.js +38 -2
  114. harness/node_modules/@xrkseek/server-face/dist/agent-team-roles.js.map +1 -1
  115. harness/node_modules/@xrkseek/server-face/dist/approval-category.d.ts +1 -1
  116. harness/node_modules/@xrkseek/server-face/dist/approval-category.d.ts.map +1 -1
  117. harness/node_modules/@xrkseek/server-face/dist/approval-category.js +3 -0
  118. harness/node_modules/@xrkseek/server-face/dist/approval-category.js.map +1 -1
  119. harness/node_modules/@xrkseek/server-face/dist/approvals.d.ts +11 -3
  120. harness/node_modules/@xrkseek/server-face/dist/approvals.d.ts.map +1 -1
  121. harness/node_modules/@xrkseek/server-face/dist/approvals.js +45 -3
  122. harness/node_modules/@xrkseek/server-face/dist/approvals.js.map +1 -1
  123. harness/node_modules/@xrkseek/server-face/dist/collab-board.js +2 -2
  124. harness/node_modules/@xrkseek/server-face/dist/collab-board.js.map +1 -1
  125. harness/node_modules/@xrkseek/server-face/dist/context.d.ts +9 -0
  126. harness/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  127. harness/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  128. harness/node_modules/@xrkseek/server-face/dist/handlers/session.js +11 -3
  129. harness/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  130. harness/node_modules/@xrkseek/server-face/dist/handlers/team.d.ts.map +1 -1
  131. harness/node_modules/@xrkseek/server-face/dist/handlers/team.js +10 -1
  132. harness/node_modules/@xrkseek/server-face/dist/handlers/team.js.map +1 -1
  133. harness/node_modules/@xrkseek/server-face/dist/index.d.ts +6 -3
  134. harness/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  135. harness/node_modules/@xrkseek/server-face/dist/index.js +6 -3
  136. harness/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  137. harness/node_modules/@xrkseek/server-face/dist/path-allowlist.d.ts +29 -0
  138. harness/node_modules/@xrkseek/server-face/dist/path-allowlist.d.ts.map +1 -0
  139. harness/node_modules/@xrkseek/server-face/dist/path-allowlist.js +96 -0
  140. harness/node_modules/@xrkseek/server-face/dist/path-allowlist.js.map +1 -0
  141. harness/node_modules/@xrkseek/server-face/dist/permissions.d.ts +7 -0
  142. harness/node_modules/@xrkseek/server-face/dist/permissions.d.ts.map +1 -1
  143. harness/node_modules/@xrkseek/server-face/dist/permissions.js +59 -4
  144. harness/node_modules/@xrkseek/server-face/dist/permissions.js.map +1 -1
  145. harness/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  146. harness/node_modules/@xrkseek/server-face/dist/runtime.js +17 -0
  147. harness/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  148. harness/node_modules/@xrkseek/server-face/dist/session-capability.d.ts +23 -0
  149. harness/node_modules/@xrkseek/server-face/dist/session-capability.d.ts.map +1 -0
  150. harness/node_modules/@xrkseek/server-face/dist/session-capability.js +78 -0
  151. harness/node_modules/@xrkseek/server-face/dist/session-capability.js.map +1 -0
  152. harness/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  153. harness/node_modules/@xrkseek/server-face/dist/subagent-tools.js +13 -0
  154. harness/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  155. harness/node_modules/@xrkseek/server-face/dist/tool-disclosure.d.ts +16 -0
  156. harness/node_modules/@xrkseek/server-face/dist/tool-disclosure.d.ts.map +1 -0
  157. harness/node_modules/@xrkseek/server-face/dist/tool-disclosure.js +35 -0
  158. harness/node_modules/@xrkseek/server-face/dist/tool-disclosure.js.map +1 -0
  159. harness/node_modules/@xrkseek/server-face/dist/types.d.ts +3 -3
  160. harness/node_modules/@xrkseek/server-face/dist/types.d.ts.map +1 -1
  161. harness/node_modules/@xrkseek/server-host/dist/index.d.ts +19 -6
  162. harness/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  163. harness/node_modules/@xrkseek/server-host/dist/index.js +22 -6
  164. harness/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  165. harness/node_modules/@xrkseek/server-http/dist/xrk/plugin-services.d.ts.map +1 -1
  166. harness/node_modules/@xrkseek/server-http/dist/xrk/plugin-services.js +2 -0
  167. harness/node_modules/@xrkseek/server-http/dist/xrk/plugin-services.js.map +1 -1
  168. harness/package.json +1 -1
@@ -2,9 +2,9 @@ import { createAgent } from "@xrkseek/core-agent";
2
2
  import { createMemorySessionStore, readSessionEvents, } from "@xrkseek/core-session";
3
3
  import { prepareFaceSessionReferences } from "@xrkseek/xrk-session-reference/prepare-face";
4
4
  import { createSystemPromptAssembler, } from "@xrkseek/core-system-prompt";
5
- import { createReadTracker, createStdTools, createToolPipeline, createToolRegistry, createWriteIntentGuard, extractPathArg, subagentRoutingPrompt, SESSION_QUERY_ROUTING_PROMPT_TEXT, } from "@xrkseek/core-tools";
6
- import { createFsLocalProvider, createFsTools, createReadImageTool, formatFsRoutingPrompt, formatShellRoutingPrompt, } from "@xrkseek/exec-fs";
7
- import { formatWebFetchGuidance, formatWebSearchGuidance, formatBrowserGuidance, createDefaultWebAccess, createWebTools, createBrowserTools, createBrowserVaultTools, createBrowserSession, } from "@xrkseek/exec-web";
5
+ import { createReadTracker, createStdTools, createToolPipeline, createToolRegistry, createToolSearchTool, createWriteIntentGuard, extractPathArg, subagentRoutingPrompt, SESSION_QUERY_ROUTING_PROMPT_TEXT, } from "@xrkseek/core-tools";
6
+ import { createFsLocalProvider, createFsTools, createPathOverreachPre, createReadImageTool, formatFsRoutingPrompt, formatShellRoutingPrompt, } from "@xrkseek/exec-fs";
7
+ import { formatWebFetchGuidance, formatWebSearchGuidance, formatBrowserGuidance, formatWebFamilyGuidance, createDefaultWebAccess, createWebTools, createBrowserTools, createBrowserVaultTools, createBrowserSession, } from "@xrkseek/exec-web";
8
8
  import { formatComputerUseGuidance, createComputerUseTools, createDefaultComputerUseAccess, } from "@xrkseek/exec-computer-use";
9
9
  import { VOICE_PROMPT_TEXT, createDefaultVoiceAccess, createVoiceTools, } from "@xrkseek/exec-voice";
10
10
  import { IMAGE_GEN_PROMPT_TEXT, createDefaultImageGenAccess, createImageGenTools, } from "@xrkseek/exec-image-gen";
@@ -22,7 +22,7 @@ import { createRegistryCodeToolBridge, createRunCodeTool, createWorkerCodeRuntim
22
22
  import { appendContextFragments, createAdditionalContextFragment, createContextFragmentPipeline, fragmentsToPrepareContexts, } from "@xrkseek/context-fragments";
23
23
  import { createReplayAdapter } from "@xrkseek/llm-replay";
24
24
  import { createPolicyToolPre, createSessionReadOnlyToolPre, createWritePathSecurityPre, createWritePathSecurityPost, } from "@xrkseek/policy";
25
- import { effectiveApprovalPolicy, effectiveSandboxMode, flattenText, isHumanUserMessageSource, shouldConfineSandbox, } from "@xrkseek/protocol";
25
+ import { effectiveApprovalPolicy, effectiveSandboxMode, flattenText, isHumanUserMessageSource, pathAccessModeFromSandbox, shouldConfineSandbox, } from "@xrkseek/protocol";
26
26
  import { createLifecycleWebhookNotifier, createPolicyEngineFromPlugins, createShellHookPost, createShellHookPre, createShellLifecycleHooks, defaultLifecycleWebhookPaths, defaultShellHookPaths, loadLifecycleWebhooks, loadShellHooksConfig, wireCompositionHooks, wireCompositionTools, wireCompositionPrompts, } from "@xrkseek/server-loader";
27
27
  import { createDefaultSessionTelemetryAccess, wrapStoreForSessionTelemetry, } from "@xrkseek/session-telemetry";
28
28
  import path from "node:path";
@@ -108,6 +108,37 @@ function wrapStoreForLifecycleWebhooks(store, notifier, sessionId, shellLifecycl
108
108
  },
109
109
  };
110
110
  }
111
+ /**
112
+ * Badge delta only (absent tools + delegation posture). Permission stays in
113
+ * session_capability; per-tool guidance stays orthogonal.
114
+ */
115
+ function formatToolSurfacePack(input) {
116
+ const absent = [];
117
+ if (!input.hasBash)
118
+ absent.push("bash");
119
+ if (!input.web)
120
+ absent.push("web");
121
+ if (!input.lsp)
122
+ absent.push("lsp");
123
+ if (!input.pty)
124
+ absent.push("pty");
125
+ if (!input.subagents)
126
+ absent.push("subagent");
127
+ const lines = [];
128
+ if (absent.length > 0) {
129
+ lines.push(`Tool surface: no ${absent.join("/")}. Say so when asked; do not invent missing tools.`);
130
+ }
131
+ if (!input.subagents) {
132
+ lines.push("Delegation: off — Skill or do the work yourself.");
133
+ }
134
+ else if (input.delegation === "explicit") {
135
+ lines.push("Delegation: explicit only. See session_capability before spawn.");
136
+ }
137
+ else {
138
+ lines.push("Delegation: proactive when useful. Check session_capability + member caps before spawn.");
139
+ }
140
+ return lines.join("\n");
141
+ }
111
142
  /** Composition: fs + shell + sandbox guards + workspace inject. */
112
143
  export function createHarnessComposition(options) {
113
144
  const productHome = resolveProductHome();
@@ -121,6 +152,12 @@ export function createHarnessComposition(options) {
121
152
  extraWritableRoots: options.extraWritableRoots?.length
122
153
  ? options.extraWritableRoots
123
154
  : [productHome],
155
+ ...(options.pathAccessMode
156
+ ? { pathAccessMode: options.pathAccessMode }
157
+ : {}),
158
+ ...(options.readSessionPathAllowlist
159
+ ? { readSessionPathAllowlist: options.readSessionPathAllowlist }
160
+ : {}),
124
161
  });
125
162
  const sharedShell = options.shell;
126
163
  const baseStore = options.sessionStore ?? createMemorySessionStore();
@@ -506,6 +543,14 @@ export function createHarnessComposition(options) {
506
543
  const runtime = options.codeRuntime ?? createWorkerCodeRuntime();
507
544
  tools.register(createRunCodeTool(runtime, createRegistryCodeToolBridge(tools, { pipeline })));
508
545
  }
546
+ // Progressive disclosure meta-tool (Codex tool_search). Absent → listForModel
547
+ // fail-opens Deferred as Direct.
548
+ if (options.toolSearchState) {
549
+ tools.register(createToolSearchTool({
550
+ listTools: () => tools.list(),
551
+ state: options.toolSearchState,
552
+ }));
553
+ }
509
554
  const policyEngine = createPolicyEngineFromPlugins({
510
555
  ...(options.policy !== undefined ? { engine: options.policy } : {}),
511
556
  ...(options.plugins !== undefined ? { plugins: options.plugins } : {}),
@@ -541,6 +586,29 @@ export function createHarnessComposition(options) {
541
586
  // Live read-only gate (session knobs), not create-time snapshot.
542
587
  pipeline.onPre(createSessionReadOnlyToolPre(() => effectiveSandboxMode(readSessionEvents(store, sessionId)) ===
543
588
  "read-only"));
589
+ // Path overreach (workspace-write / read-only reads) → Face 5s ask.
590
+ {
591
+ const writableBase = options.extraWritableRoots?.length
592
+ ? options.extraWritableRoots
593
+ : [productHome];
594
+ const readableBase = options.hostReadableRoots?.length
595
+ ? options.hostReadableRoots
596
+ : [productHome];
597
+ pipeline.onPre(createPathOverreachPre({
598
+ root: () => options.workspaceRoot,
599
+ pathAccessMode: () => options.pathAccessMode ??
600
+ pathAccessModeFromSandbox(effectiveSandboxMode(readSessionEvents(store, sessionId))),
601
+ listWritableAllowlist: () => [
602
+ ...writableBase,
603
+ ...(options.readSessionPathAllowlist?.() ?? []),
604
+ ],
605
+ listReadableAllowlist: () => [
606
+ ...readableBase,
607
+ ...writableBase,
608
+ ...(options.readSessionPathAllowlist?.() ?? []),
609
+ ],
610
+ }));
611
+ }
544
612
  // Shell hooks.json — PreToolUse + PostToolUse after policy / read-only; before kind:hooks.
545
613
  if (options.shellHooks !== false) {
546
614
  const shellOpt = typeof options.shellHooks === "object" ? options.shellHooks : undefined;
@@ -573,6 +641,13 @@ export function createHarnessComposition(options) {
573
641
  }
574
642
  // Advisory write-path content patterns (append to tool result; before lifecycle post).
575
643
  pipeline.onPost(createWritePathSecurityPost());
644
+ if (options.clearSessionPathOnce) {
645
+ const clearOnce = options.clearSessionPathOnce;
646
+ pipeline.onPost(async () => {
647
+ clearOnce();
648
+ return { action: "accept" };
649
+ });
650
+ }
576
651
  if (lifecycleNotifier) {
577
652
  const notifier = lifecycleNotifier;
578
653
  pipeline.onPost(async (ctx) => {
@@ -656,6 +731,11 @@ export function createHarnessComposition(options) {
656
731
  }
657
732
  }
658
733
  if (options.webTools !== false) {
734
+ prompts.register({
735
+ id: "tool:web_family",
736
+ order: 109,
737
+ content: () => formatWebFamilyGuidance(availableToolNames()),
738
+ });
659
739
  prompts.register({
660
740
  id: "tool:web_search",
661
741
  order: 110,
@@ -679,6 +759,25 @@ export function createHarnessComposition(options) {
679
759
  content: () => formatComputerUseGuidance(availableToolNames()),
680
760
  });
681
761
  }
762
+ prompts.register({
763
+ id: "tool:surface-pack",
764
+ order: 103,
765
+ content: () => {
766
+ const names = availableToolNames();
767
+ return formatToolSurfacePack({
768
+ hasBash: names.has("bash"),
769
+ web: names.has("web_search") || names.has("web_fetch"),
770
+ lsp: names.has("lsp"),
771
+ pty: names.has("terminal_open") || names.has("terminal_send"),
772
+ subagents: options.subagentRouting !== false,
773
+ ...(options.delegationMode
774
+ ? { delegation: options.delegationMode }
775
+ : options.subagentRouting !== false
776
+ ? { delegation: "proactive" }
777
+ : {}),
778
+ });
779
+ },
780
+ });
682
781
  if (options.voiceTools !== false) {
683
782
  prompts.register({
684
783
  id: "tool:voice",
@@ -805,8 +904,14 @@ export function createHarnessComposition(options) {
805
904
  "tool:jobs",
806
905
  ...(options.subagentRouting !== false ? ["tool:subagent"] : []),
807
906
  "tool:session-query",
907
+ "tool:surface-pack",
808
908
  ...(options.webTools !== false
809
- ? ["tool:web_search", "tool:web_fetch", "tool:browser"]
909
+ ? [
910
+ "tool:web_family",
911
+ "tool:web_search",
912
+ "tool:web_fetch",
913
+ "tool:browser",
914
+ ]
810
915
  : []),
811
916
  ...(options.computerUseTools !== false ? ["tool:computer_use"] : []),
812
917
  ...(options.voiceTools !== false ? ["tool:voice"] : []),
@@ -904,6 +1009,11 @@ export function createHarnessComposition(options) {
904
1009
  store,
905
1010
  llm,
906
1011
  tools,
1012
+ ...(options.toolSearchState
1013
+ ? {
1014
+ expandedToolNames: () => options.toolSearchState.listExpanded(),
1015
+ }
1016
+ : {}),
907
1017
  pipeline,
908
1018
  cwd: options.workspaceRoot,
909
1019
  jobs: {
@@ -1 +1 @@
1
- {"version":3,"file":"preset.js","sourceRoot":"","sources":["../preset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preset.js","sourceRoot":"","sources":["../preset.ts"],"names":[],"mappings":"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"}