@yanlinglabs/winter-agent-runtime 0.0.27

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 (311) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +41 -0
  3. package/README.md +64 -0
  4. package/dist/checkpoint/file-history.d.ts +81 -0
  5. package/dist/checkpoint/rewind.d.ts +55 -0
  6. package/dist/checkpoint/seam.d.ts +47 -0
  7. package/dist/checkpoint/sink.d.ts +66 -0
  8. package/dist/commands/builtins-listing.d.ts +40 -0
  9. package/dist/commands/resolver.d.ts +103 -0
  10. package/dist/commands/seam.d.ts +53 -0
  11. package/dist/compaction/controller.d.ts +23 -0
  12. package/dist/compaction/retention.d.ts +35 -0
  13. package/dist/compaction/seam.d.ts +115 -0
  14. package/dist/compaction/summarizer.d.ts +79 -0
  15. package/dist/context/agent-listing.d.ts +39 -0
  16. package/dist/context/assembler.d.ts +46 -0
  17. package/dist/context/attachments.d.ts +104 -0
  18. package/dist/context/dynamic-sections.d.ts +31 -0
  19. package/dist/context/git-fixture.d.ts +18 -0
  20. package/dist/context/git-status.d.ts +16 -0
  21. package/dist/context/imports.d.ts +22 -0
  22. package/dist/context/injection.d.ts +53 -0
  23. package/dist/context/memory-key.d.ts +46 -0
  24. package/dist/context/memory.d.ts +28 -0
  25. package/dist/context/minimal-prompt.d.ts +5 -0
  26. package/dist/context/output-styles.d.ts +68 -0
  27. package/dist/context/plan-mode.d.ts +29 -0
  28. package/dist/context/request-layout.d.ts +138 -0
  29. package/dist/context/rules.d.ts +63 -0
  30. package/dist/context/seam.d.ts +136 -0
  31. package/dist/context/tool-epoch.d.ts +118 -0
  32. package/dist/context/winter-code-preset.d.ts +39 -0
  33. package/dist/context/winter-md.d.ts +81 -0
  34. package/dist/embedded-host.d.ts +48 -0
  35. package/dist/embedded-host.js +155 -0
  36. package/dist/embedded-protocol.d.ts +44 -0
  37. package/dist/embedded-worker.d.ts +1 -0
  38. package/dist/embedded-worker.js +74 -0
  39. package/dist/embedded.d.ts +34 -0
  40. package/dist/embedded.js +9 -0
  41. package/dist/engine.d.ts +1298 -0
  42. package/dist/hooks/additional-context.d.ts +21 -0
  43. package/dist/hooks/bounds.d.ts +6 -0
  44. package/dist/hooks/bridge-invoker.d.ts +3 -0
  45. package/dist/hooks/command-invoker.d.ts +52 -0
  46. package/dist/hooks/from-config.d.ts +31 -0
  47. package/dist/hooks/hook-stage.d.ts +25 -0
  48. package/dist/hooks/input-validator.d.ts +6 -0
  49. package/dist/hooks/reducer.d.ts +74 -0
  50. package/dist/hooks/registry.d.ts +33 -0
  51. package/dist/hooks/runner.d.ts +105 -0
  52. package/dist/index-584yahed.js +6037 -0
  53. package/dist/index-97t2rmtf.js +42 -0
  54. package/dist/index-9qgkpv56.js +27183 -0
  55. package/dist/index-bef62z3r.js +437 -0
  56. package/dist/index-rkhh0457.js +187 -0
  57. package/dist/index.d.ts +37 -0
  58. package/dist/index.js +353 -0
  59. package/dist/main.d.ts +1 -0
  60. package/dist/mcp/client.d.ts +105 -0
  61. package/dist/mcp/control-seam.d.ts +25 -0
  62. package/dist/mcp/control.d.ts +5 -0
  63. package/dist/mcp/elicitation.d.ts +35 -0
  64. package/dist/mcp/env.d.ts +12 -0
  65. package/dist/mcp/lifecycle.d.ts +142 -0
  66. package/dist/mcp/output-cap.d.ts +15 -0
  67. package/dist/mcp/state.d.ts +24 -0
  68. package/dist/mcp/test-fixtures.d.ts +88 -0
  69. package/dist/mcp/transports/__fixtures__/stdio-server.d.ts +1 -0
  70. package/dist/mcp/transports/http.d.ts +5 -0
  71. package/dist/mcp/transports/sdk.d.ts +5 -0
  72. package/dist/mcp/transports/sse.d.ts +3 -0
  73. package/dist/mcp/transports/stdio.d.ts +35 -0
  74. package/dist/mcp/winter-server.d.ts +2 -0
  75. package/dist/messaging/reference-adapter.d.ts +88 -0
  76. package/dist/messaging/router.d.ts +8 -0
  77. package/dist/paths/project-dir-name.d.ts +2 -0
  78. package/dist/paths/temp.d.ts +25 -0
  79. package/dist/permissions/approvals.d.ts +107 -0
  80. package/dist/permissions/auto/caches.d.ts +53 -0
  81. package/dist/permissions/auto/config.d.ts +37 -0
  82. package/dist/permissions/auto/engine.d.ts +74 -0
  83. package/dist/permissions/auto/envelope.d.ts +45 -0
  84. package/dist/permissions/auto/inheritance.d.ts +27 -0
  85. package/dist/permissions/edit-recognition.d.ts +30 -0
  86. package/dist/permissions/evaluator.d.ts +284 -0
  87. package/dist/permissions/file-rules.d.ts +384 -0
  88. package/dist/permissions/grammar.d.ts +113 -0
  89. package/dist/permissions/paths.d.ts +32 -0
  90. package/dist/permissions/policy-state.d.ts +64 -0
  91. package/dist/permissions/prompt-stage.d.ts +3 -0
  92. package/dist/permissions/protected.d.ts +54 -0
  93. package/dist/permissions/ruleset.d.ts +134 -0
  94. package/dist/permissions/shell-structure.d.ts +41 -0
  95. package/dist/plugins/bundle.d.ts +100 -0
  96. package/dist/plugins/installed.d.ts +30 -0
  97. package/dist/plugins/loader.d.ts +56 -0
  98. package/dist/plugins/manifest.d.ts +115 -0
  99. package/dist/production-wiring.d.ts +340 -0
  100. package/dist/protocol/channel.d.ts +22 -0
  101. package/dist/provider/advisor-route.d.ts +47 -0
  102. package/dist/provider/bridge.d.ts +124 -0
  103. package/dist/provider/classifier/model-classifier.d.ts +82 -0
  104. package/dist/provider/classifier/prompt.d.ts +62 -0
  105. package/dist/provider/classifier/verdict-schema.d.ts +83 -0
  106. package/dist/provider/credential-api.d.ts +160 -0
  107. package/dist/provider/family-listing.d.ts +27 -0
  108. package/dist/provider/first-party.d.ts +4 -0
  109. package/dist/provider/keychain-store.d.ts +59 -0
  110. package/dist/provider/lean-prompt.d.ts +7 -0
  111. package/dist/provider/mock.d.ts +55 -0
  112. package/dist/provider/scenario-fake.d.ts +96 -0
  113. package/dist/provider/selection.d.ts +115 -0
  114. package/dist/provider/session-provider.d.ts +426 -0
  115. package/dist/provider/slots.d.ts +120 -0
  116. package/dist/provider/stream-frames.d.ts +25 -0
  117. package/dist/provider/tool-secret.d.ts +57 -0
  118. package/dist/rpc/bridge.d.ts +14 -0
  119. package/dist/rpc/mcp-control.d.ts +26 -0
  120. package/dist/runtime.d.ts +14 -0
  121. package/dist/sandbox/profile.d.ts +249 -0
  122. package/dist/sandbox/spawn.d.ts +139 -0
  123. package/dist/settings/env-filter.d.ts +52 -0
  124. package/dist/settings/loaders/hooks.d.ts +44 -0
  125. package/dist/settings/loaders/mcp-config.d.ts +83 -0
  126. package/dist/settings/loaders/plugin-mcp.d.ts +3 -0
  127. package/dist/settings/loaders/strict-plugin-only.d.ts +13 -0
  128. package/dist/settings/resolve.d.ts +2 -0
  129. package/dist/settings/sources.d.ts +2 -0
  130. package/dist/settings/trust.d.ts +36 -0
  131. package/dist/skills/attachment.d.ts +25 -0
  132. package/dist/skills/frontmatter.d.ts +64 -0
  133. package/dist/skills/index.d.ts +16 -0
  134. package/dist/skills/listing.d.ts +89 -0
  135. package/dist/skills/loader.d.ts +104 -0
  136. package/dist/skills/option.d.ts +68 -0
  137. package/dist/skills/permission-rules.d.ts +21 -0
  138. package/dist/skills/runtime.d.ts +21 -0
  139. package/dist/skills/store.d.ts +163 -0
  140. package/dist/store/continuation-attach.d.ts +44 -0
  141. package/dist/store/dialect.d.ts +526 -0
  142. package/dist/store/provider-state.d.ts +188 -0
  143. package/dist/store/resume.d.ts +92 -0
  144. package/dist/structured/ajv-seam.d.ts +7 -0
  145. package/dist/structured/descriptor.d.ts +9 -0
  146. package/dist/structured/seam.d.ts +51 -0
  147. package/dist/structured/validator.d.ts +22 -0
  148. package/dist/subagents/activity.d.ts +13 -0
  149. package/dist/subagents/availability.d.ts +30 -0
  150. package/dist/subagents/builtin-agents.d.ts +37 -0
  151. package/dist/subagents/child-engine.d.ts +198 -0
  152. package/dist/subagents/child-handle.d.ts +344 -0
  153. package/dist/subagents/definitions.d.ts +189 -0
  154. package/dist/subagents/fork.d.ts +55 -0
  155. package/dist/subagents/git-root.d.ts +1 -0
  156. package/dist/subagents/limits.d.ts +28 -0
  157. package/dist/subagents/notification-queue.d.ts +233 -0
  158. package/dist/subagents/plugin-agents.d.ts +5 -0
  159. package/dist/subagents/policy.d.ts +46 -0
  160. package/dist/subagents/register-default-factory.d.ts +66 -0
  161. package/dist/subagents/resolution.d.ts +56 -0
  162. package/dist/subagents/restore.d.ts +9 -0
  163. package/dist/subagents/roster.d.ts +17 -0
  164. package/dist/subagents/test-fakes.d.ts +12 -0
  165. package/dist/subagents/tool-pools.d.ts +69 -0
  166. package/dist/subagents/watchdog.d.ts +13 -0
  167. package/dist/subagents/workspace.d.ts +27 -0
  168. package/dist/testing.d.ts +5 -0
  169. package/dist/testing.js +194 -0
  170. package/dist/tools/background-tasks.d.ts +10 -0
  171. package/dist/tools/descriptors/_shared.d.ts +34 -0
  172. package/dist/tools/descriptors/advisor.d.ts +1 -0
  173. package/dist/tools/descriptors/agent.d.ts +47 -0
  174. package/dist/tools/descriptors/artifact.d.ts +1 -0
  175. package/dist/tools/descriptors/ask-user-question.d.ts +1 -0
  176. package/dist/tools/descriptors/bash.d.ts +20 -0
  177. package/dist/tools/descriptors/claude-design.d.ts +1 -0
  178. package/dist/tools/descriptors/cron-create.d.ts +1 -0
  179. package/dist/tools/descriptors/cron-delete.d.ts +1 -0
  180. package/dist/tools/descriptors/cron-list.d.ts +1 -0
  181. package/dist/tools/descriptors/edit.d.ts +1 -0
  182. package/dist/tools/descriptors/end-conversation.d.ts +1 -0
  183. package/dist/tools/descriptors/enter-plan-mode.d.ts +1 -0
  184. package/dist/tools/descriptors/enter-worktree.d.ts +1 -0
  185. package/dist/tools/descriptors/exit-plan-mode.d.ts +1 -0
  186. package/dist/tools/descriptors/exit-worktree.d.ts +1 -0
  187. package/dist/tools/descriptors/glob.d.ts +1 -0
  188. package/dist/tools/descriptors/grep.d.ts +1 -0
  189. package/dist/tools/descriptors/index.d.ts +59 -0
  190. package/dist/tools/descriptors/list-agents.d.ts +1 -0
  191. package/dist/tools/descriptors/list-mcp-resources-tool.d.ts +1 -0
  192. package/dist/tools/descriptors/lsp.d.ts +1 -0
  193. package/dist/tools/descriptors/monitor.d.ts +1 -0
  194. package/dist/tools/descriptors/notebook-edit.d.ts +1 -0
  195. package/dist/tools/descriptors/powershell.d.ts +1 -0
  196. package/dist/tools/descriptors/projects.d.ts +1 -0
  197. package/dist/tools/descriptors/propose-goal.d.ts +1 -0
  198. package/dist/tools/descriptors/propose-skills.d.ts +1 -0
  199. package/dist/tools/descriptors/push-notification.d.ts +1 -0
  200. package/dist/tools/descriptors/read-mcp-resource-dir-tool.d.ts +1 -0
  201. package/dist/tools/descriptors/read-mcp-resource-tool.d.ts +1 -0
  202. package/dist/tools/descriptors/read-notifications.d.ts +1 -0
  203. package/dist/tools/descriptors/read.d.ts +1 -0
  204. package/dist/tools/descriptors/refresh-mcp-tools.d.ts +1 -0
  205. package/dist/tools/descriptors/remote-trigger.d.ts +1 -0
  206. package/dist/tools/descriptors/repl.d.ts +1 -0
  207. package/dist/tools/descriptors/report-findings.d.ts +1 -0
  208. package/dist/tools/descriptors/schedule-wakeup.d.ts +1 -0
  209. package/dist/tools/descriptors/send-feedback.d.ts +1 -0
  210. package/dist/tools/descriptors/send-message.d.ts +1 -0
  211. package/dist/tools/descriptors/send-user-file.d.ts +1 -0
  212. package/dist/tools/descriptors/share-onboarding-guide.d.ts +1 -0
  213. package/dist/tools/descriptors/show-onboarding-role-picker.d.ts +1 -0
  214. package/dist/tools/descriptors/skill.d.ts +1 -0
  215. package/dist/tools/descriptors/structured-output.d.ts +1 -0
  216. package/dist/tools/descriptors/task-create.d.ts +1 -0
  217. package/dist/tools/descriptors/task-get.d.ts +1 -0
  218. package/dist/tools/descriptors/task-list.d.ts +1 -0
  219. package/dist/tools/descriptors/task-output.d.ts +1 -0
  220. package/dist/tools/descriptors/task-stop.d.ts +1 -0
  221. package/dist/tools/descriptors/task-update.d.ts +1 -0
  222. package/dist/tools/descriptors/todo-write.d.ts +1 -0
  223. package/dist/tools/descriptors/tool-search.d.ts +1 -0
  224. package/dist/tools/descriptors/wait-for-mcp-servers.d.ts +1 -0
  225. package/dist/tools/descriptors/web-fetch.d.ts +8 -0
  226. package/dist/tools/descriptors/web-search.d.ts +15 -0
  227. package/dist/tools/descriptors/winter-list-agents.d.ts +1 -0
  228. package/dist/tools/descriptors/winter-send-message.d.ts +1 -0
  229. package/dist/tools/descriptors/workflow.d.ts +1 -0
  230. package/dist/tools/descriptors/write.d.ts +1 -0
  231. package/dist/tools/impl/_caller.d.ts +14 -0
  232. package/dist/tools/impl/_domains.d.ts +25 -0
  233. package/dist/tools/impl/_exa-client.d.ts +122 -0
  234. package/dist/tools/impl/_exa-session-client.d.ts +23 -0
  235. package/dist/tools/impl/_inner-model.d.ts +135 -0
  236. package/dist/tools/impl/_search-budget.d.ts +36 -0
  237. package/dist/tools/impl/_web-fetch-cache.d.ts +37 -0
  238. package/dist/tools/impl/_web-fetch-html.d.ts +26 -0
  239. package/dist/tools/impl/_web-fetch-net.d.ts +99 -0
  240. package/dist/tools/impl/_web-search-assembler.d.ts +57 -0
  241. package/dist/tools/impl/advisor.d.ts +37 -0
  242. package/dist/tools/impl/agent.d.ts +10 -0
  243. package/dist/tools/impl/ask-user-question.d.ts +5 -0
  244. package/dist/tools/impl/background-task-runtime.d.ts +272 -0
  245. package/dist/tools/impl/bash.d.ts +78 -0
  246. package/dist/tools/impl/cron.d.ts +11 -0
  247. package/dist/tools/impl/edit.d.ts +1 -0
  248. package/dist/tools/impl/enter-plan-mode.d.ts +4 -0
  249. package/dist/tools/impl/enter-worktree.d.ts +25 -0
  250. package/dist/tools/impl/exit-plan-mode.d.ts +4 -0
  251. package/dist/tools/impl/exit-worktree.d.ts +4 -0
  252. package/dist/tools/impl/glob.d.ts +1 -0
  253. package/dist/tools/impl/grep.d.ts +19 -0
  254. package/dist/tools/impl/index.d.ts +37 -0
  255. package/dist/tools/impl/list-agents.d.ts +7 -0
  256. package/dist/tools/impl/list-mcp-resources-tool.d.ts +9 -0
  257. package/dist/tools/impl/monitor.d.ts +66 -0
  258. package/dist/tools/impl/notebook-edit.d.ts +1 -0
  259. package/dist/tools/impl/push-notification.d.ts +4 -0
  260. package/dist/tools/impl/read-ladder.d.ts +25 -0
  261. package/dist/tools/impl/read-mcp-resource-dir-tool.d.ts +9 -0
  262. package/dist/tools/impl/read-mcp-resource-tool.d.ts +9 -0
  263. package/dist/tools/impl/read-notifications.d.ts +5 -0
  264. package/dist/tools/impl/read.d.ts +44 -0
  265. package/dist/tools/impl/refresh-mcp-tools.d.ts +8 -0
  266. package/dist/tools/impl/report-findings.d.ts +1 -0
  267. package/dist/tools/impl/schedule-wakeup.d.ts +2 -0
  268. package/dist/tools/impl/send-message.d.ts +7 -0
  269. package/dist/tools/impl/skill.d.ts +5 -0
  270. package/dist/tools/impl/task-graph.d.ts +1 -0
  271. package/dist/tools/impl/task-output.d.ts +16 -0
  272. package/dist/tools/impl/task-stop.d.ts +11 -0
  273. package/dist/tools/impl/todo-write.d.ts +8 -0
  274. package/dist/tools/impl/tool-search.d.ts +4 -0
  275. package/dist/tools/impl/wait-for-mcp-servers.d.ts +29 -0
  276. package/dist/tools/impl/web-fetch.d.ts +36 -0
  277. package/dist/tools/impl/web-search.d.ts +30 -0
  278. package/dist/tools/impl/workflow.d.ts +5 -0
  279. package/dist/tools/impl/write.d.ts +8 -0
  280. package/dist/tools/paths-seam.d.ts +6 -0
  281. package/dist/tools/read-state.d.ts +12 -0
  282. package/dist/tools/registry.d.ts +423 -0
  283. package/dist/tools/task-graph-store.d.ts +61 -0
  284. package/dist/toolsearch/aliases.d.ts +26 -0
  285. package/dist/toolsearch/exposure.d.ts +30 -0
  286. package/dist/toolsearch/ranking.d.ts +6 -0
  287. package/dist/toolsearch/search.d.ts +45 -0
  288. package/dist/version.d.ts +1 -0
  289. package/dist/version.js +5 -0
  290. package/dist/web/fetchable-url.d.ts +28 -0
  291. package/dist/web/preapproved-hosts.d.ts +52 -0
  292. package/dist/web/private-address.d.ts +55 -0
  293. package/dist/web/session-runtime.d.ts +86 -0
  294. package/dist/workflows/bridge.d.ts +87 -0
  295. package/dist/workflows/budget.d.ts +24 -0
  296. package/dist/workflows/host-registry.d.ts +142 -0
  297. package/dist/workflows/journal.d.ts +29 -0
  298. package/dist/workflows/meta.d.ts +45 -0
  299. package/dist/workflows/registry.d.ts +24 -0
  300. package/dist/workflows/runtime.d.ts +254 -0
  301. package/dist/workflows/sandbox.d.ts +49 -0
  302. package/dist/workflows/script-api.d.ts +58 -0
  303. package/dist/workflows/seam.d.ts +92 -0
  304. package/dist/workflows/semaphore.d.ts +16 -0
  305. package/dist/workflows/store.d.ts +177 -0
  306. package/dist/workflows/subprocess-entry.d.ts +38 -0
  307. package/dist/workflows/subprocess-entry.js +14 -0
  308. package/dist/workflows/transcript.d.ts +56 -0
  309. package/dist/workflows/types.d.ts +84 -0
  310. package/dist/workflows/worker-harness.d.ts +45 -0
  311. package/package.json +76 -0
@@ -0,0 +1,56 @@
1
+ import type { ChildInheritance } from "./child-handle.js";
2
+ export interface ModelCatalog {
3
+ aliases?: Readonly<Record<string, string>>;
4
+ availableModels?: readonly string[];
5
+ fallbackModel?: string;
6
+ }
7
+ export declare class UnresolvableModelAliasError extends Error {
8
+ readonly requested: string;
9
+ constructor(requested: string);
10
+ }
11
+ export interface ResolvedModel {
12
+ effectiveModel: string;
13
+ substitutedFrom?: string;
14
+ }
15
+ export declare function resolveModelAlias(requested: string, catalog?: ModelCatalog): ResolvedModel;
16
+ export declare function describeRequestedModel(req: {
17
+ model?: string;
18
+ definition?: {
19
+ model?: string;
20
+ };
21
+ }): string | undefined;
22
+ export interface ResolvedEffort {
23
+ requestedEffort?: string;
24
+ effectiveEffort: string;
25
+ }
26
+ export declare function resolveEffort(inheritedEffort: string): ResolvedEffort;
27
+ export interface RecordedModelEffort {
28
+ requestedModel?: string;
29
+ effectiveModel: string;
30
+ requestedEffort?: string;
31
+ effectiveEffort: string;
32
+ /**
33
+ * WS-13c §3: the provider the child's model actually resolved to.
34
+ *
35
+ * `effectiveModel` is a catalog KEY, whose provider half is only readable by string-splitting it --
36
+ * and a child spawned onto another family reaches a provider the parent's own record never names.
37
+ * WS-13c §8 makes the child's own record AUTHORITATIVE on resume, so the provider has to be a field
38
+ * here rather than something re-derived from the parent's live selection at resume time.
39
+ */
40
+ effectiveProvider?: string;
41
+ /**
42
+ * WS-13c §3: the SLOT the request named, if it named one.
43
+ *
44
+ * `requestedModel` is the raw string; this says what it meant and where it came from. Typed as
45
+ * `ChildInheritance["slot"]` rather than re-declared, so the record and the inheritance that
46
+ * produced it cannot drift apart on the `source` union.
47
+ */
48
+ slot?: ChildInheritance["slot"];
49
+ }
50
+ export declare function recordModelEffort(opts: {
51
+ requestedModel?: string;
52
+ resolved: ResolvedModel;
53
+ effort: ResolvedEffort;
54
+ effectiveProvider?: string;
55
+ slot?: ChildInheritance["slot"];
56
+ }): RecordedModelEffort;
@@ -0,0 +1,9 @@
1
+ import type { SessionStore } from "@yanlinglabs/winter-agent-sdk";
2
+ import type { ChildHandle, ChildSessionRecord } from "./child-handle.js";
3
+ import { type RosterKey } from "./roster.js";
4
+ export declare function restoredChildHandle(record: ChildSessionRecord): ChildHandle;
5
+ export interface RestoredChildRoster {
6
+ handles: ChildHandle[];
7
+ remove(): void;
8
+ }
9
+ export declare function restoreChildRoster(store: SessionStore, key: RosterKey): Promise<RestoredChildRoster>;
@@ -0,0 +1,17 @@
1
+ import type { SessionStore } from "@yanlinglabs/winter-agent-sdk";
2
+ import type { ChildSessionRecord } from "./child-handle.js";
3
+ export interface RosterKey {
4
+ projectKey: string;
5
+ sessionId: string;
6
+ }
7
+ export type RosterEntry = {
8
+ ok: true;
9
+ record: ChildSessionRecord;
10
+ reconciled?: "orphaned";
11
+ } | {
12
+ ok: false;
13
+ agentId: string;
14
+ reason: string;
15
+ };
16
+ export declare function rebuildChildRoster(store: SessionStore, key: RosterKey): Promise<RosterEntry[]>;
17
+ export declare function successfulRecords(entries: RosterEntry[]): ChildSessionRecord[];
@@ -0,0 +1,12 @@
1
+ import type { ChildHandle, ChildSessionRecord } from "./child-handle.js";
2
+ import type { Provider, ProviderTurn } from "../engine.js";
3
+ export interface ScriptedProviderFake extends Provider {
4
+ /** Every `ProviderRequest.model` this fake was asked to serve, in call order (`""` when absent). */
5
+ readonly servedModels: string[];
6
+ /** How many times `generate()` was called -- equivalent to `servedModels.length`, offered for readability at call sites. */
7
+ callCount(): number;
8
+ }
9
+ export declare function createScriptedProviderFake(turn?: ProviderTurn | (() => ProviderTurn)): ScriptedProviderFake;
10
+ export declare function createFakeChildHandle(recordOverrides?: Partial<ChildSessionRecord>): ChildHandle & {
11
+ simulateCompletion(content: string): void;
12
+ };
@@ -0,0 +1,69 @@
1
+ import { type BrandProfile } from "@yanlinglabs/winter-agent-sdk";
2
+ /**
3
+ * Research §A6, "Removed from EVERY subagent": TaskOutput, ExitPlanMode (kept in plan mode --
4
+ * CALLER's job: this set is applied UNLESS the child's own permission mode is `plan`, exactly as
5
+ * claude's own parenthetical says), EnterPlanMode, memory_list/read/write, AskUserQuestion, Poll,
6
+ * ConnectGitHub, WaitForMcpServers, RefreshMcpTools, Workflow (non-internal), ScheduleWakeup,
7
+ * ReadNotifications, ProposeGoal, EndConversation.
8
+ *
9
+ * THREE OF THE FOURTEEN HAVE NO WINTER EQUIVALENT AND ARE OMITTED, DISCLOSED (not silently dropped):
10
+ * - `memory_list`/`memory_read`/`memory_write` -- Winter's memory is FILE-BASED (CLAUDE.md's own
11
+ * "a MEMDIR of markdown written with ordinary write/edit -- no dedicated memory tools"). There is
12
+ * nothing named `memory_*` to exclude; a subagent's memory access is already governed by whether
13
+ * it holds `Read`/`Write`/`Edit` at all, which this pool does not touch.
14
+ * - `Poll` -- no Winter tool of this name or shape exists.
15
+ * - `ConnectGitHub` -- no Winter tool of this name or shape exists.
16
+ * Every other claude name below has a Winter tool of the identical shape and an unchanged name
17
+ * (`Agent`/`Artifact`/`ExitPlanMode`/`Edit`/`Write`/`NotebookEdit`/`AskUserQuestion`/
18
+ * `WaitForMcpServers`/`RefreshMcpTools`/`Workflow`/`ScheduleWakeup`/`ProposeGoal`/`EndConversation`/
19
+ * `TaskOutput` all register under their own bare names -- see `tools/descriptors/*.ts`), so no
20
+ * rename table is needed for those.
21
+ */
22
+ export declare const SUBAGENT_EXCLUDED_TOOLS: readonly string[];
23
+ /**
24
+ * Research §A6: a BACKGROUNDED subagent's tool pool is further limited to this allowlist (on top of
25
+ * whatever `SUBAGENT_EXCLUDED_TOOLS` above already removed) -- "`Agent` (depth-gated) and MCP tools
26
+ * pass regardless", which is why neither rides in this literal list: the depth gate and the MCP
27
+ * passthrough are structural exceptions the CALLER applies alongside this allowlist, not members of
28
+ * it (mirroring claude's own "pass regardless" wording exactly).
29
+ *
30
+ * ONE CLAUDE ENTRY HAS NO WINTER EQUIVALENT, DISCLOSED: "Search/List Plugins/Skills" -- Winter has no
31
+ * tool that enumerates installed plugins or searches the skill catalog (its `Skill` tool INVOKES a
32
+ * named skill, already listed below; there is no separate discovery tool to allow through).
33
+ *
34
+ * `GetTask` (claude's name) is Winter's `TaskGet`.
35
+ */
36
+ export declare const BACKGROUND_AGENT_TOOL_ALLOWLIST: readonly string[];
37
+ /**
38
+ * Tools that pass a background subagent's allowlist REGARDLESS of the literal list above -- claude's
39
+ * own "Agent (depth-gated) and MCP tools pass regardless." `Agent` itself is named so the CALLER can
40
+ * union it in only when the depth gate (research §A6's own nesting-limit check, `subagents/limits.ts`)
41
+ * still permits a further spawn; MCP tools are recognised by their `mcp__` prefix, not by name, so
42
+ * there is nothing to list for them here.
43
+ */
44
+ export declare const BACKGROUND_AGENT_ALWAYS_ALLOWED_TOOL: string;
45
+ export interface SubagentToolPoolOptions {
46
+ /** The child runs in `plan` mode -- `ExitPlanMode` stays (claude's own parenthetical). */
47
+ planMode: boolean;
48
+ /** The child is below the spawn-depth limit -- only then does it keep `Agent` (research §A6). */
49
+ mayNest: boolean;
50
+ /** The child is backgrounded -- its pool is further narrowed to the allowlist above. */
51
+ background: boolean;
52
+ /** The session's brand: names Winter's own standing-server twins (`mcp__<server>__send_message`, ...). */
53
+ brand?: Pick<BrandProfile, "mcpServerName">;
54
+ }
55
+ /**
56
+ * The child's EFFECTIVE tool pool, from the pool it would otherwise inherit (research §A6):
57
+ * 1. every name in `SUBAGENT_EXCLUDED_TOOLS` is removed (`ExitPlanMode` kept in plan mode);
58
+ * 2. `Agent` is removed once the child is at the spawn-depth limit (a child that cannot spawn must
59
+ * not be offered the tool -- claude's depth-gated `Agent`);
60
+ * 3. a BACKGROUND child keeps only `BACKGROUND_AGENT_TOOL_ALLOWLIST`, plus `Agent` (depth-gated)
61
+ * and every MCP tool, which pass regardless.
62
+ *
63
+ * WINTER'S OWN DEFAULT TOOLS ARE JUDGED BY THEIR BUILT-IN NAME. `SendMessage`, `ListAgents`,
64
+ * `ReadNotifications` and `advisor` are also registered as standing-server twins under
65
+ * `mcp__<server>__<tool>` (WS-09 §10); a twin is the same tool, so it follows its built-in name's
66
+ * verdict here rather than slipping through step 3's MCP passthrough (or step 1's exclusion) on its
67
+ * prefix alone. Only a genuine MCP server's tool is an "MCP tool" in claude's sense.
68
+ */
69
+ export declare function applySubagentToolPool(tools: readonly string[], opts: SubagentToolPoolOptions): string[];
@@ -0,0 +1,13 @@
1
+ import { type BrandProfile } from "@yanlinglabs/winter-agent-sdk";
2
+ export declare class ChildStalledError extends Error {
3
+ readonly timeoutMs: number;
4
+ constructor(timeoutMs: number, varName?: string);
5
+ }
6
+ export declare function resolveStallTimeoutMs(env?: Record<string, string | undefined>, brand?: Pick<BrandProfile, "envPrefix">): number;
7
+ export interface StallWatchdog {
8
+ poke(): void;
9
+ pause(): void;
10
+ resume(): void;
11
+ cancel(): void;
12
+ }
13
+ export declare function createStallWatchdog(timeoutMs: number, onStall: (err: ChildStalledError) => void): StallWatchdog;
@@ -0,0 +1,27 @@
1
+ import { type BrandProfile } from "@yanlinglabs/winter-agent-sdk";
2
+ export type IsolationType = "normal" | "worktree";
3
+ export type CleanupPolicy = "auto-remove-if-unchanged" | "keep";
4
+ export interface Workspace {
5
+ root: string;
6
+ isolationType: IsolationType;
7
+ cleanupPolicy: CleanupPolicy;
8
+ branch?: string;
9
+ }
10
+ export type CreateWorkspaceResult = {
11
+ ok: true;
12
+ workspace: Workspace;
13
+ } | {
14
+ ok: false;
15
+ error: string;
16
+ };
17
+ export declare function createWorkspace(opts: {
18
+ parentCwd: string;
19
+ isolation?: "worktree";
20
+ agentId: string;
21
+ brand?: Pick<BrandProfile, "projectDirName">;
22
+ }): Promise<CreateWorkspaceResult>;
23
+ export interface CleanupResult {
24
+ removed: boolean;
25
+ reason: string;
26
+ }
27
+ export declare function cleanupWorkspace(workspace: Workspace): Promise<CleanupResult>;
@@ -0,0 +1,5 @@
1
+ import type { SpawnedRuntimeProcess } from "@yanlinglabs/winter-agent-sdk";
2
+ import { type Provider, type ToolExecutor } from "./engine.js";
3
+ import "./tools/descriptors/index.ts";
4
+ import "./tools/impl/index.ts";
5
+ export declare function inMemoryProcess(argv: string[], provider?: Provider, tools?: ToolExecutor, env?: Record<string, string | undefined>): SpawnedRuntimeProcess;
@@ -0,0 +1,194 @@
1
+ import {
2
+ registerTool2,
3
+ runEngine2,
4
+ echoProvider2,
5
+ resolveEngineSession2
6
+ } from "./index-9qgkpv56.js";
7
+ import"./index-bef62z3r.js";
8
+ import {
9
+ registerDefaultChildEngineFactory,
10
+ loadResumedChain,
11
+ buildProductionWiring,
12
+ withAutoSkillPermissions,
13
+ restoreChildRoster
14
+ } from "./index-584yahed.js";
15
+ import {
16
+ Queue
17
+ } from "./index-97t2rmtf.js";
18
+
19
+ // src/testing.ts
20
+ import { mkdtempSync } from "node:fs";
21
+ import { tmpdir } from "node:os";
22
+ import { join } from "node:path";
23
+ import { encodeFrame, splitFrames, WINTER_BRAND, envName, storeHomeEnvName } from "@yanlinglabs/winter-agent-sdk";
24
+ import { WinterCompatibilitySessionStore, compatibilityKeys } from "@yanlinglabs/winter-agent-sdk";
25
+ function registerEquivalenceStandIn(name) {
26
+ const echo = {
27
+ async execute(input) {
28
+ return { output: `${name}:${JSON.stringify(input)}` };
29
+ }
30
+ };
31
+ registerTool2({
32
+ descriptor: {
33
+ canonicalName: name,
34
+ advertisedName: name,
35
+ source: "sdk",
36
+ inputSchema: { type: "object" },
37
+ description: "Test-only equivalence-corpus stand-in (testing.ts) -- not a WS-06 tool.",
38
+ exposure: "hidden",
39
+ permissionClass: "read",
40
+ availability: {},
41
+ capabilityRequirements: [],
42
+ disposition: "implement-now"
43
+ },
44
+ executor: echo
45
+ });
46
+ }
47
+ for (const name of ["test_tool", "long_task", "mystery_tool"]) {
48
+ registerEquivalenceStandIn(name);
49
+ }
50
+ function resolveInMemoryWinterHome(config, env) {
51
+ if (config.winterHome !== undefined)
52
+ return config.winterHome;
53
+ const override = env?.[envName(config.brand ?? WINTER_BRAND, "HOME")];
54
+ if (override !== undefined && override.trim() !== "")
55
+ return override;
56
+ return mkdtempSync(join(tmpdir(), "winter-inmemory-"));
57
+ }
58
+ function resolveInMemoryStoreHome(config, env) {
59
+ if (config.storeHome !== undefined)
60
+ return config.storeHome;
61
+ return env?.[storeHomeEnvName(config.brand ?? WINTER_BRAND)];
62
+ }
63
+ function parseConfigFromArgv(argv) {
64
+ const idx = argv.indexOf("--config-json");
65
+ const raw = idx === -1 ? undefined : argv[idx + 1];
66
+ if (raw === undefined)
67
+ throw new Error("inMemoryProcess: argv is missing '--config-json <json>'");
68
+ return JSON.parse(raw);
69
+ }
70
+ function inMemoryProcess(argv, provider = echoProvider2, tools, env) {
71
+ const config = parseConfigFromArgv(argv);
72
+ let memoizedWinterHome;
73
+ const winterHomeOnce = () => memoizedWinterHome ??= resolveInMemoryWinterHome(config, env);
74
+ const stdin = new Queue;
75
+ const stdout = new Queue;
76
+ const stderr = new Queue;
77
+ const input = async function* () {
78
+ let carry = "";
79
+ for await (const chunk of stdin) {
80
+ const split = splitFrames(chunk, carry);
81
+ carry = split.carry;
82
+ for (const frame of split.frames)
83
+ yield frame;
84
+ }
85
+ }();
86
+ const output = {
87
+ write(frame) {
88
+ stdout.write(encodeFrame(frame));
89
+ },
90
+ end() {
91
+ stdout.end();
92
+ }
93
+ };
94
+ let settleExited;
95
+ const exited = new Promise((resolve) => {
96
+ settleExited = resolve;
97
+ });
98
+ let settled = false;
99
+ (async () => {
100
+ try {
101
+ const { config: effectiveConfig, store, initialMessages, approvalStore, autoStateStore } = await resolveEngineSession2({
102
+ config,
103
+ resolveWinterHome: winterHomeOnce,
104
+ resolveStoreHome: () => resolveInMemoryStoreHome(config, env),
105
+ env: env ?? {}
106
+ });
107
+ const childWinterHome = winterHomeOnce();
108
+ const childDurableRoot = resolveInMemoryStoreHome(config, env) ?? childWinterHome;
109
+ const childStore = config.persistSession === false ? undefined : new WinterCompatibilitySessionStore({ winterHome: childDurableRoot });
110
+ const providerChain = await loadResumedChain(store, initialMessages);
111
+ const wiring = await buildProductionWiring({
112
+ config: effectiveConfig,
113
+ env: env ?? {},
114
+ winterHome: winterHomeOnce(),
115
+ ...store !== undefined ? { persistence: store } : {},
116
+ provider: {
117
+ testProviders: () => provider,
118
+ chain: () => providerChain,
119
+ home: (env ?? {})["HOME"] ?? winterHomeOnce()
120
+ }
121
+ });
122
+ for (const warning of wiring.warnings)
123
+ stderr.write(`winter: ${warning}
124
+ `);
125
+ registerDefaultChildEngineFactory({
126
+ provider: wiring.providerWiring.provider,
127
+ config: effectiveConfig,
128
+ env: env ?? {},
129
+ warn: (line) => stderr.write(`${line}
130
+ `),
131
+ ...childStore !== undefined ? { store: childStore } : {},
132
+ ...childWinterHome !== undefined ? { winterHome: childWinterHome } : {},
133
+ ...wiring.childFactoryOptions
134
+ });
135
+ const restoredChildren = childStore !== undefined && config.forkSession !== true && (config.resume !== undefined || config.continue === true) ? await restoreChildRoster(childStore, { projectKey: compatibilityKeys(effectiveConfig.cwd).transcriptProjectKey, sessionId: effectiveConfig.sessionId }) : undefined;
136
+ try {
137
+ const code = await runEngine2({
138
+ config: withAutoSkillPermissions(wiring.config),
139
+ ...wiring.engineOptions,
140
+ input,
141
+ output,
142
+ provider: wiring.providerWiring.provider,
143
+ ...tools !== undefined ? { tools } : {},
144
+ ...store !== undefined ? { store } : {},
145
+ ...initialMessages.length > 0 ? { initialMessages } : {},
146
+ ...approvalStore !== undefined ? { approvalStore } : {},
147
+ ...autoStateStore !== undefined ? { autoStateStore } : {},
148
+ ...env !== undefined ? { env } : {}
149
+ });
150
+ if (!settled) {
151
+ settled = true;
152
+ stderr.end();
153
+ settleExited({ code, signal: null });
154
+ }
155
+ } finally {
156
+ restoredChildren?.remove();
157
+ wiring.dispose();
158
+ }
159
+ } catch {
160
+ if (!settled) {
161
+ settled = true;
162
+ stdout.end();
163
+ stderr.end();
164
+ settleExited({ code: 1, signal: null });
165
+ }
166
+ }
167
+ })();
168
+ return {
169
+ stdin: {
170
+ write(chunk) {
171
+ stdin.write(chunk);
172
+ },
173
+ end() {
174
+ stdin.end();
175
+ }
176
+ },
177
+ stdout,
178
+ stderr,
179
+ kill(signal) {
180
+ if (settled)
181
+ return;
182
+ settled = true;
183
+ stdout.end();
184
+ stderr.end();
185
+ stdin.end();
186
+ settleExited({ code: null, signal: signal ?? "SIGTERM" });
187
+ },
188
+ exited,
189
+ pid: null
190
+ };
191
+ }
192
+ export {
193
+ inMemoryProcess
194
+ };
@@ -0,0 +1,10 @@
1
+ import { type SessionTempDirPaths } from "../paths/temp.js";
2
+ export type SessionTempRootResolver = () => SessionTempDirPaths;
3
+ export declare function configureBackgroundTaskRoot(resolver: SessionTempRootResolver): void;
4
+ export declare function resetBackgroundTaskRootForTest(): void;
5
+ export type BackgroundTaskKind = "bash" | "monitor" | "monitor_ws" | "workflow" | "agent";
6
+ export declare function wireTaskType(kind: BackgroundTaskKind): string;
7
+ export declare function createBackgroundTask(kind: BackgroundTaskKind): {
8
+ taskId: string;
9
+ outputPath: string;
10
+ };
@@ -0,0 +1,34 @@
1
+ import type { WinterToolDefinition } from "@yanlinglabs/winter-agent-sdk/tools";
2
+ import { type ToolDescriptor } from "../registry.js";
3
+ export declare function stub(descriptor: ToolDescriptor): void;
4
+ /**
5
+ * The MODEL-FACING half of a descriptor, taken from the SDK's own definition (user ruling R-8-1).
6
+ *
7
+ * Winter's default tools are declared once, in `@yanlinglabs/winter-agent-sdk/tools`, because three
8
+ * copies of the same schema is how "both runtime branches present this exact model-facing schema"
9
+ * stops being true. A descriptor that binds one of them spreads THIS and then supplies only the
10
+ * registry POLICY the SDK deliberately does not carry (ruling P-8): `canonicalName`,
11
+ * `advertisedName`, `source`, `exposure`, `availability`, `capabilityRequirements`, `disposition`
12
+ * and `deferred`.
13
+ *
14
+ * THE SCHEMA OBJECTS PASS THROUGH BY REFERENCE, not by copy — `one-definition.test.ts` asserts
15
+ * identity (`toBe`), because two structurally identical literals pass every equality check on the
16
+ * day they are written and drift the moment one of them is edited.
17
+ *
18
+ * The cast is the price of two structural schema types that were written independently: the SDK's
19
+ * `JsonSchemaObject` types `properties` as `Record<string, unknown>` (it advertises schema DATA and
20
+ * validates nothing), while this registry's `JSONSchema` recurses into itself. Neither is a
21
+ * validator, both describe the same JSON, and widening either one to match the other would be a
22
+ * worse trade than one cast in one helper.
23
+ */
24
+ export declare function definitionFields(definition: WinterToolDefinition): Pick<ToolDescriptor, "description" | "inputSchema" | "permissionClass"> & Partial<Pick<ToolDescriptor, "outputSchema" | "searchHint" | "annotations">>;
25
+ /**
26
+ * The name a definition registers under on the NATIVE side: the official SDK's own built-in name
27
+ * when there is one, the bare tool name otherwise.
28
+ *
29
+ * A definition carries a bare name plus an alias key precisely so each host derives its own
30
+ * spelling; this is that derivation, in one place, so a descriptor never re-types a string the
31
+ * definition already knows.
32
+ */
33
+ export declare function builtinNameOf(definition: WinterToolDefinition): string;
34
+ export declare const ALWAYS_AVAILABLE: {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,47 @@
1
+ import type { JSONSchema } from "../registry.js";
2
+ export interface AgentToolGateState {
3
+ /** R-S5: is `subagent_type: "fork"` selectable this session? */
4
+ forkEnabled: boolean;
5
+ /** research §A2: is `run_in_background` withheld because a host kill-switch is set? (`subagents/policy.ts`'s own `resolveBackgroundTasksDisabled`.) */
6
+ backgroundDisabled: boolean;
7
+ /** research §A3: is the `general-purpose` built-in actually available this session (R-S6's `allBuiltinsDisabled` kill switch off, or a same-named override present)? Governs the omitted-`subagent_type` sentence. */
8
+ generalPurposeAvailable: boolean;
9
+ /**
10
+ * I4 (fix wave): the EFFECTIVE default `subagents/policy.ts`'s `resolveForegroundBackground`
11
+ * actually applies at its own stage 5, when `run_in_background` is advertised at all (i.e. neither
12
+ * `forkEnabled` nor `backgroundDisabled` is true -- see `agentInputSchemaFor` below). `true` (SDK
13
+ * 0.0.16, matching claude) unless a host opted out via `RuntimeConfig.backgroundByDefault` / the
14
+ * `WINTER_BACKGROUND_BY_DEFAULT` env fallback. Optional (default `true`) so every pre-I4 gate
15
+ * object literal in this file's own tests keeps typechecking unchanged.
16
+ */
17
+ backgroundByDefault?: boolean;
18
+ }
19
+ /** The gate-OFF defaults the static registration below uses -- byte-identical to this descriptor's pre-parity shape wherever every gate reads as it always has (fork off, background on and the default, general-purpose present). */
20
+ export declare const AGENT_TOOL_GATE_DEFAULTS: AgentToolGateState;
21
+ /**
22
+ * research §A2's own field table, gate-aware (scope item 5: drop `run_in_background` when fork is on
23
+ * or a background kill switch is set; `name` stays withheld per the pre-existing P4-J(d) ruling,
24
+ * untouched by this lane).
25
+ */
26
+ export declare function agentInputSchemaFor(gates?: AgentToolGateState): JSONSchema;
27
+ export declare const OMITTED_TYPE_SENTENCE_AVAILABLE = "If omitted, the general-purpose agent is used.";
28
+ /** The shared head of both omitted-type texts (research §A3/§A7): the description's sentence and the runtime refusal's message. */
29
+ export declare const OMITTED_TYPE_REQUIRED_PREFIX = "subagent_type is required: the general-purpose agent is not available in this session";
30
+ export declare const OMITTED_TYPE_SENTENCE_UNAVAILABLE = "subagent_type is required: the general-purpose agent is not available in this session, so choose one of the listed agent types.";
31
+ /**
32
+ * research §A3's own structure, Winter-worded, gate-aware.
33
+ *
34
+ * R-S10 (whole-branch review r2 finding 3, controller ruling): a tool DESCRIPTION is multi-sentence
35
+ * prose and must be Winter-authored throughout, including its OPENING sentences -- an earlier
36
+ * version of this function argued the opening two sentences were "mechanism statements... reused as
37
+ * given, not claude prose" and left them byte-identical to claude's own pinned text (the exact
38
+ * strings the review's r2 finding 3 names). That argument does not survive R-S10: a fact being true
39
+ * of Winter's own runtime does not license copying the SENTENCE Anthropic used to state it. Both
40
+ * opening sentences below are reworded to carry the identical information (how an agent is launched
41
+ * and specialized; that the available types are announced in an injected reminder) in Winter's own
42
+ * words. `OMITTED_TYPE_SENTENCE_AVAILABLE`/`_UNAVAILABLE` are UNCHANGED -- R-S10's own allowance
43
+ * covers a short functional one-liner reused as BOTH a description sentence and a refusal message
44
+ * (the shared-constant discipline two lines up exists precisely so the two never drift), which is
45
+ * the category the ruling exempts.
46
+ */
47
+ export declare function renderAgentToolDescription(gates?: AgentToolGateState): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ /** The name `engine.ts`'s `toolSpecFor` branches on, so no tool name is a literal there. */
2
+ export declare const BASH_CANONICAL_NAME = "Bash";
3
+ /** The static, sandbox-agnostic description -- what a session with no sandbox advertises, and what any reader outside a session sees. */
4
+ export declare const BASH_DESCRIPTION = "Fresh shell per call; cwd changes persist only within allowed working directories; env exports do not persist. run_in_background returns a background task. Recognized read-only forms are built-in pre-approvals.";
5
+ export declare const BASH_SANDBOX_HEADING = "## Bash command sandbox";
6
+ /** The facts the section is rendered from. Absent (`bashDescriptionFor(undefined)`) means commands do not run in a sandbox at all. */
7
+ export interface BashSandboxFacts {
8
+ /** The Seatbelt profile's resolved network posture (`resolveNetworkPosture`). `false` in every v1 configuration. */
9
+ networkAllowed: boolean;
10
+ /**
11
+ * Whether `dangerouslyDisableSandbox` can take a command out of the sandbox at all --
12
+ * `sandbox.allowUnsandboxedCommands !== false`. When it cannot, claude's "disabled by policy"
13
+ * bullets replace the override guidance (the runtime then ignores the flag, `sandbox/spawn.ts`).
14
+ * Absent reads as allowed.
15
+ */
16
+ unsandboxedAllowed?: boolean;
17
+ }
18
+ export declare function bashSandboxSection(facts: BashSandboxFacts): string;
19
+ /** The description a session advertises: the base text, plus the sandbox section when its commands run sandboxed. */
20
+ export declare function bashDescriptionFor(facts: BashSandboxFacts | undefined): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,59 @@
1
+ import "./agent.ts";
2
+ import "./artifact.ts";
3
+ import "./ask-user-question.ts";
4
+ import "./advisor.ts";
5
+ import "./bash.ts";
6
+ import "./claude-design.ts";
7
+ import "./cron-create.ts";
8
+ import "./cron-delete.ts";
9
+ import "./cron-list.ts";
10
+ import "./edit.ts";
11
+ import "./end-conversation.ts";
12
+ import "./enter-plan-mode.ts";
13
+ import "./enter-worktree.ts";
14
+ import "./exit-plan-mode.ts";
15
+ import "./exit-worktree.ts";
16
+ import "./glob.ts";
17
+ import "./grep.ts";
18
+ import "./list-agents.ts";
19
+ import "./list-mcp-resources-tool.ts";
20
+ import "./lsp.ts";
21
+ import "./monitor.ts";
22
+ import "./notebook-edit.ts";
23
+ import "./powershell.ts";
24
+ import "./projects.ts";
25
+ import "./propose-goal.ts";
26
+ import "./propose-skills.ts";
27
+ import "./push-notification.ts";
28
+ import "./read.ts";
29
+ import "./read-mcp-resource-dir-tool.ts";
30
+ import "./read-mcp-resource-tool.ts";
31
+ import "./read-notifications.ts";
32
+ import "./refresh-mcp-tools.ts";
33
+ import "./remote-trigger.ts";
34
+ import "./repl.ts";
35
+ import "./report-findings.ts";
36
+ import "./schedule-wakeup.ts";
37
+ import "./send-feedback.ts";
38
+ import "./send-message.ts";
39
+ import "./send-user-file.ts";
40
+ import "./share-onboarding-guide.ts";
41
+ import "./show-onboarding-role-picker.ts";
42
+ import "./skill.ts";
43
+ import "./structured-output.ts";
44
+ import "./task-create.ts";
45
+ import "./task-get.ts";
46
+ import "./task-list.ts";
47
+ import "./task-output.ts";
48
+ import "./task-stop.ts";
49
+ import "./task-update.ts";
50
+ import "./todo-write.ts";
51
+ import "./tool-search.ts";
52
+ import "./wait-for-mcp-servers.ts";
53
+ import "./web-fetch.ts";
54
+ import "./web-search.ts";
55
+ import "./winter-list-agents.ts";
56
+ import "./winter-send-message.ts";
57
+ import "./workflow.ts";
58
+ import "./write.ts";
59
+ export declare const DESCRIPTORS_REGISTERED = true;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};