@hachej/boring-agent 0.1.111 → 0.2.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 (156) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +262 -51
  3. package/dist/agents.d.ts +75 -0
  4. package/dist/agents.js +91 -0
  5. package/dist/approval.d.ts +71 -0
  6. package/dist/approval.js +126 -0
  7. package/dist/artifacts.d.ts +53 -0
  8. package/dist/artifacts.js +129 -0
  9. package/dist/ask-user.d.ts +40 -0
  10. package/dist/ask-user.js +134 -0
  11. package/dist/attachment.d.ts +5 -0
  12. package/dist/attachment.js +4 -0
  13. package/dist/browser-task.d.ts +32 -0
  14. package/dist/browser-task.js +119 -0
  15. package/dist/chat-transport.d.ts +80 -0
  16. package/dist/chat-transport.js +306 -0
  17. package/dist/contracts.d.ts +40 -0
  18. package/dist/contracts.js +1 -0
  19. package/dist/conversations.d.ts +136 -0
  20. package/dist/conversations.js +366 -0
  21. package/dist/definitions.d.ts +37 -0
  22. package/dist/definitions.js +99 -0
  23. package/dist/delivery-input.d.ts +35 -0
  24. package/dist/delivery-input.js +56 -0
  25. package/dist/delivery.d.ts +33 -0
  26. package/dist/delivery.js +154 -0
  27. package/dist/durable-wait.d.ts +23 -0
  28. package/dist/durable-wait.js +79 -0
  29. package/dist/file-convert.d.ts +46 -0
  30. package/dist/file-convert.js +159 -0
  31. package/dist/file-guard.d.ts +50 -0
  32. package/dist/file-guard.js +171 -0
  33. package/dist/file-types.d.ts +17 -0
  34. package/dist/file-types.js +95 -0
  35. package/dist/gateway-provider.d.ts +24 -0
  36. package/dist/gateway-provider.js +42 -0
  37. package/dist/git.d.ts +34 -0
  38. package/dist/git.js +79 -0
  39. package/dist/harness-pool.d.ts +38 -0
  40. package/dist/harness-pool.js +134 -0
  41. package/dist/index.d.ts +4 -0
  42. package/dist/index.js +1 -0
  43. package/dist/json-schema-tool.d.ts +25 -0
  44. package/dist/json-schema-tool.js +19 -0
  45. package/dist/memory/optchat-core.d.ts +118 -0
  46. package/dist/memory/optchat-core.js +317 -0
  47. package/dist/memory/optchat.d.ts +156 -0
  48. package/dist/memory/optchat.js +432 -0
  49. package/dist/mentions.d.ts +56 -0
  50. package/dist/mentions.js +140 -0
  51. package/dist/metering.d.ts +183 -0
  52. package/dist/metering.js +443 -0
  53. package/dist/model-gateway.d.ts +86 -0
  54. package/dist/model-gateway.js +241 -0
  55. package/dist/native-version.d.ts +9 -0
  56. package/dist/native-version.js +7 -0
  57. package/dist/native.d.ts +4 -0
  58. package/dist/native.js +1 -0
  59. package/dist/presentation.d.ts +17 -0
  60. package/dist/presentation.js +39 -0
  61. package/dist/projection-format.d.ts +68 -0
  62. package/dist/projection-format.js +118 -0
  63. package/dist/projection-window.d.ts +9 -0
  64. package/dist/projection-window.js +93 -0
  65. package/dist/projection.d.ts +22 -0
  66. package/dist/projection.js +153 -0
  67. package/dist/question-response.d.ts +20 -0
  68. package/dist/question-response.js +75 -0
  69. package/dist/questions.d.ts +74 -0
  70. package/dist/questions.js +199 -0
  71. package/dist/self-evolving.d.ts +55 -0
  72. package/dist/self-evolving.js +239 -0
  73. package/dist/skills.d.ts +15 -0
  74. package/dist/skills.js +51 -0
  75. package/dist/tool-evidence.d.ts +14 -0
  76. package/dist/tool-evidence.js +54 -0
  77. package/dist/validation.d.ts +38 -0
  78. package/dist/validation.js +68 -0
  79. package/dist/workspaces.d.ts +107 -0
  80. package/dist/workspaces.js +212 -0
  81. package/package.json +145 -150
  82. package/dist/DebugDrawer-JNA43SVR.js +0 -8
  83. package/dist/admin-DORVQfLn.d.ts +0 -340
  84. package/dist/chunk-2BGLZZ7T.js +0 -10
  85. package/dist/chunk-42D6KAQV.js +0 -2882
  86. package/dist/chunk-4XOW57KJ.js +0 -343
  87. package/dist/chunk-72KT6VWV.js +0 -1338
  88. package/dist/chunk-7XAOVFSN.js +0 -28
  89. package/dist/chunk-KJIEMSQP.js +0 -198
  90. package/dist/chunk-KN72XWP7.js +0 -394
  91. package/dist/chunk-N6THTH7P.js +0 -110
  92. package/dist/chunk-V3H5A3BR.js +0 -22501
  93. package/dist/chunk-YGRQ4Q5P.js +0 -20
  94. package/dist/chunk-YTUZFKB3.js +0 -78
  95. package/dist/core/index.d.ts +0 -28
  96. package/dist/core/index.js +0 -617
  97. package/dist/createHarness-DOLOHA62.js +0 -18
  98. package/dist/eval/index.d.ts +0 -247
  99. package/dist/eval/index.js +0 -541
  100. package/dist/file-search-BUgMSKZE.d.ts +0 -289
  101. package/dist/front/artifacts.d.ts +0 -34
  102. package/dist/front/artifacts.js +0 -21
  103. package/dist/front/index.d.ts +0 -1082
  104. package/dist/front/index.js +0 -12912
  105. package/dist/front/styles.css +0 -5380
  106. package/dist/harness-qHlMJhZo.d.ts +0 -276
  107. package/dist/middleware-CaAEXpi5.d.ts +0 -115
  108. package/dist/piChatEvent-DpE0lIb9.d.ts +0 -450
  109. package/dist/piChatSessionService-CBct-hmz.d.ts +0 -86
  110. package/dist/sandbox-BMhut3kh.d.ts +0 -317
  111. package/dist/server/agent-host/testing/compositionRouteProof.d.ts +0 -8
  112. package/dist/server/agent-host/testing/compositionRouteProof.js +0 -78
  113. package/dist/server/agent-host/testing/gatewayConformance.d.ts +0 -43
  114. package/dist/server/agent-host/testing/gatewayConformance.js +0 -605
  115. package/dist/server/index.d.ts +0 -2278
  116. package/dist/server/index.js +0 -274
  117. package/dist/server/pi-session-readability.d.ts +0 -12
  118. package/dist/server/pi-session-readability.js +0 -23
  119. package/dist/server/worker/index.d.ts +0 -68
  120. package/dist/server/worker/index.js +0 -377
  121. package/dist/share-entry-CxS6UJ_L.d.ts +0 -330
  122. package/dist/shared/index.d.ts +0 -2111
  123. package/dist/shared/index.js +0 -262
  124. package/dist/types-DcWoQMn8.d.ts +0 -1377
  125. package/docs/ACCESSIBILITY.md +0 -52
  126. package/docs/AGENT_GATEWAY_V0.md +0 -212
  127. package/docs/AGENT_PACKAGES.md +0 -90
  128. package/docs/API.md +0 -123
  129. package/docs/AUTHORING.md +0 -68
  130. package/docs/CSP.md +0 -41
  131. package/docs/ERROR_CODES.md +0 -229
  132. package/docs/KNOWN_LIMITATIONS.md +0 -100
  133. package/docs/MIGRATION.md +0 -50
  134. package/docs/PERFORMANCE.md +0 -68
  135. package/docs/PLUGINS.md +0 -138
  136. package/docs/README.md +0 -98
  137. package/docs/RISKS-MULTI-TAB.md +0 -46
  138. package/docs/SESSION_IDENTITY.md +0 -91
  139. package/docs/STYLING.md +0 -73
  140. package/docs/UI-SHADCN.md +0 -56
  141. package/docs/VERCEL_COSTS.md +0 -103
  142. package/docs/plans/archive/AGENT_EVAL_FRAMEWORK.md +0 -466
  143. package/docs/plans/archive/agent-package-spec.md +0 -1777
  144. package/docs/plans/archive/harness-followup-capabilities.md +0 -440
  145. package/docs/plans/archive/harness-tool-ui-capabilities.md +0 -144
  146. package/docs/plans/archive/pi-followup-history-projection.md +0 -229
  147. package/docs/plans/archive/pi-tools-migration.md +0 -1061
  148. package/docs/plans/archive/reviews/pi-followup-history-codex-review.md +0 -11
  149. package/docs/plans/archive/reviews/pi-followup-history-gpt-review.md +0 -64
  150. package/docs/plans/archive/reviews/pi-followup-history-opus-review.md +0 -43
  151. package/docs/plans/archive/reviews/pi-followup-history-xai-review.md +0 -43
  152. package/docs/plans/archive/vercel-base-snapshot-template-plan.md +0 -527
  153. package/docs/plans/archive/vercel-persistent-sandbox-adapter.md +0 -553
  154. package/docs/runtime-provisioning.md +0 -157
  155. package/docs/runtime.md +0 -296
  156. package/docs/tools.md +0 -102
@@ -1,274 +0,0 @@
1
- import {
2
- AgentDirectoryCompilerError,
3
- AgentFleetCompilationError,
4
- AgentFleetCompilationErrorCode,
5
- AuthoredAgentMaterializationError,
6
- CHANNELS_ENV_FLAG,
7
- CHANNEL_DURABLE_STREAM_REQUIRED,
8
- CHANNEL_INBOUND_PARKED,
9
- CHANNEL_OUTBOUND_PARKED,
10
- CHANNEL_RUNTIME_FILE_NAME,
11
- CHANNEL_TURN_STALLED,
12
- CHANNEL_UNKNOWN_BINDING,
13
- ChannelBindingStore,
14
- ChannelInboundService,
15
- ChannelIntentionService,
16
- ChannelMessageRouter,
17
- ChannelOutboundService,
18
- ChannelSessionCreateTimeoutError,
19
- DEFAULT_AGENT_FLEET,
20
- DEFAULT_AGENT_TYPE_ID,
21
- DEFAULT_PI_RESOURCE_DIGEST_LIMITS,
22
- DEFAULT_READONLY_WORKSPACE_PATHS,
23
- EmbeddedAgentGateway,
24
- FleetConfigError,
25
- InMemoryAgentRequestLedger,
26
- MANAGED_AGENT_MCP_DELIVERY_RULE,
27
- MANAGED_AGENT_MCP_ORIGIN_SURFACE,
28
- MIN_REQUEST_RETENTION_MS,
29
- ManagedAgentMcpDelegateController,
30
- ManagedAgentMcpError,
31
- PI_OAUTH_CREDENTIAL_FIELD_ID_V1,
32
- REMOTE_WORKER_EXCLUSIVE_BINARY_CREATE_CAPABILITY,
33
- REMOTE_WORKER_PROVIDER,
34
- REMOTE_WORKER_RUNTIME_CWD,
35
- RUNTIME_FILESYSTEM_BINDING_DUPLICATE_CODE,
36
- RUNTIME_READONLY_FILESYSTEM_POLICY_INVALID_CODE,
37
- RemoteWorkerClient,
38
- RemoteWorkerClientError,
39
- RuntimeFilesystemBindingConfigurationError,
40
- RuntimeReadonlyFilesystemPolicyError,
41
- SqliteAgentRequestLedger,
42
- TrustedAgentCompositionError,
43
- UV_SETUP_COMMANDS,
44
- WORKER_INTERNAL_TOKEN_HEADER,
45
- WORKER_REQUEST_ID_HEADER,
46
- WORKER_WORKSPACE_ID_HEADER,
47
- applyCspHeaders,
48
- areChannelsEnabled,
49
- assembleNextTurn,
50
- assertChannelDurability,
51
- autoDetectMode,
52
- buildDeploymentSnapshotRecipe,
53
- compileAgentDirectory,
54
- compilePersonaPackageDirectory,
55
- constantTimeTokenEqual,
56
- createAgentHost,
57
- createAgentHostChannelRuntime,
58
- createAgentHostChannelStorage,
59
- createAuthMiddleware,
60
- createBlaxelSandboxModeAdapter,
61
- createBoundWorkspaceAgentDispatcher,
62
- createChannelIntentionRuntime,
63
- createConfiguredAgentHostAgentSpec,
64
- createDirectModeAdapter,
65
- createEnvironmentProvisioningFingerprint,
66
- createHostSideCredentialResolverV1,
67
- createInMemoryCredentialBackendV1,
68
- createInMemoryCredentialVaultPersistenceV1,
69
- createInMemoryCredentialVersionAnchorV1,
70
- createLocalCredentialVersionAnchorFromEnvV1,
71
- createLocalFileCredentialVersionAnchorV1,
72
- createLocalKekWorkspaceKekProviderFromEnvV1,
73
- createLocalModeAdapter,
74
- createManagedAgentMcpDelegateController,
75
- createManagedAgentMcpHttpHandler,
76
- createManagedAgentMcpServer,
77
- createOpenAiCodexOAuthBrokerV1,
78
- createPiResourceDigestFence,
79
- createPiResourceDigestInput,
80
- createPluginDiagnosticsTool,
81
- createPostgresCredentialVaultPersistenceV1,
82
- createProviderRuntimeModeAdapter,
83
- createRemoteWorkerModeAdapter,
84
- createRemoteWorkerSandbox,
85
- createRemoteWorkerWorkspace,
86
- createResolvedAgentDigest,
87
- createResolvedRuntimeScopeIdentity,
88
- createSandboxRuntimeModeAdapter,
89
- createStandaloneAgentHostApp,
90
- createUserFilesystemBinding,
91
- createValidatingAgentFleetCompiler,
92
- createVaultCredentialStoreBackendV1,
93
- createVaultCredentialStoreV1,
94
- createVercelSandboxModeAdapter,
95
- decodeBytesFromWorker,
96
- deepLinkRoutes,
97
- digestPiResourceInputs,
98
- encodeBytesForWorker,
99
- hasBwrap,
100
- initializeLocalFileCredentialVersionAnchorV1,
101
- loadConfiguredAgentFleet,
102
- materializeAgentDirectory,
103
- mergeRuntimeFilesystemBindings,
104
- normalizeMeteringUsage,
105
- normalizeRuntimeReadonlyFilesystemPolicy,
106
- parseSkillMetadataFrontmatter,
107
- prepareDeploymentSnapshot,
108
- projectAgentRequestRunId,
109
- projectAuthorizedSessionRunDetails,
110
- provisionRuntimeWorkspace,
111
- provisionWorkspaceRuntime,
112
- registerAgentHostEnvironmentRoutes,
113
- registerShareEntryResources,
114
- resolveAgentDeployment,
115
- resolveAgentInstructionFileRefs,
116
- resolveBuiltinRuntimeLayoutRoot,
117
- resolveDefaultAgentFleet,
118
- resolveMode,
119
- resolveRequestLedgerPath,
120
- resolveRuntimeReadonlyFilesystemAccess,
121
- resolveWorkspaceRoot,
122
- runCredentialVaultPostgresMigrationsV1,
123
- sandboxRuntimeHostOperations,
124
- shapeChannelText,
125
- shareResourceUri,
126
- withResolvedCredential,
127
- withRuntimeEnvContributions
128
- } from "../chunk-V3H5A3BR.js";
129
- import {
130
- PI_PACKAGE_RESOURCE_FILTERS,
131
- compactPiPackages,
132
- createResourceSettingsManager,
133
- mergePiPackageSources,
134
- piPackageSourceKey
135
- } from "../chunk-42D6KAQV.js";
136
- import "../chunk-72KT6VWV.js";
137
- import "../chunk-7XAOVFSN.js";
138
- import "../chunk-YTUZFKB3.js";
139
- import "../chunk-KN72XWP7.js";
140
- import "../chunk-YGRQ4Q5P.js";
141
- import "../chunk-KJIEMSQP.js";
142
- export {
143
- AgentDirectoryCompilerError,
144
- AgentFleetCompilationError,
145
- AgentFleetCompilationErrorCode,
146
- AuthoredAgentMaterializationError,
147
- CHANNELS_ENV_FLAG,
148
- CHANNEL_DURABLE_STREAM_REQUIRED,
149
- CHANNEL_INBOUND_PARKED,
150
- CHANNEL_OUTBOUND_PARKED,
151
- CHANNEL_RUNTIME_FILE_NAME,
152
- CHANNEL_TURN_STALLED,
153
- CHANNEL_UNKNOWN_BINDING,
154
- ChannelBindingStore,
155
- ChannelInboundService,
156
- ChannelIntentionService,
157
- ChannelMessageRouter,
158
- ChannelOutboundService,
159
- ChannelSessionCreateTimeoutError,
160
- DEFAULT_AGENT_FLEET,
161
- DEFAULT_AGENT_TYPE_ID,
162
- DEFAULT_PI_RESOURCE_DIGEST_LIMITS,
163
- DEFAULT_READONLY_WORKSPACE_PATHS,
164
- EmbeddedAgentGateway,
165
- FleetConfigError,
166
- InMemoryAgentRequestLedger,
167
- MANAGED_AGENT_MCP_DELIVERY_RULE,
168
- MANAGED_AGENT_MCP_ORIGIN_SURFACE,
169
- MIN_REQUEST_RETENTION_MS,
170
- ManagedAgentMcpDelegateController,
171
- ManagedAgentMcpError,
172
- PI_OAUTH_CREDENTIAL_FIELD_ID_V1,
173
- PI_PACKAGE_RESOURCE_FILTERS,
174
- REMOTE_WORKER_EXCLUSIVE_BINARY_CREATE_CAPABILITY,
175
- REMOTE_WORKER_PROVIDER,
176
- REMOTE_WORKER_RUNTIME_CWD,
177
- RUNTIME_FILESYSTEM_BINDING_DUPLICATE_CODE,
178
- RUNTIME_READONLY_FILESYSTEM_POLICY_INVALID_CODE,
179
- RemoteWorkerClient,
180
- RemoteWorkerClientError,
181
- RuntimeFilesystemBindingConfigurationError,
182
- RuntimeReadonlyFilesystemPolicyError,
183
- SqliteAgentRequestLedger,
184
- TrustedAgentCompositionError,
185
- UV_SETUP_COMMANDS,
186
- WORKER_INTERNAL_TOKEN_HEADER,
187
- WORKER_REQUEST_ID_HEADER,
188
- WORKER_WORKSPACE_ID_HEADER,
189
- applyCspHeaders,
190
- areChannelsEnabled,
191
- assembleNextTurn,
192
- assertChannelDurability,
193
- autoDetectMode,
194
- buildDeploymentSnapshotRecipe,
195
- compactPiPackages,
196
- compileAgentDirectory,
197
- compilePersonaPackageDirectory,
198
- constantTimeTokenEqual,
199
- createAuthMiddleware as createAgentAuthMiddleware,
200
- createAgentHost,
201
- createAgentHostChannelRuntime,
202
- createAgentHostChannelStorage,
203
- createBlaxelSandboxModeAdapter,
204
- createBoundWorkspaceAgentDispatcher,
205
- createChannelIntentionRuntime,
206
- createConfiguredAgentHostAgentSpec,
207
- createDirectModeAdapter,
208
- createEnvironmentProvisioningFingerprint,
209
- createHostSideCredentialResolverV1,
210
- createInMemoryCredentialBackendV1,
211
- createInMemoryCredentialVaultPersistenceV1,
212
- createInMemoryCredentialVersionAnchorV1,
213
- createLocalCredentialVersionAnchorFromEnvV1,
214
- createLocalFileCredentialVersionAnchorV1,
215
- createLocalKekWorkspaceKekProviderFromEnvV1,
216
- createLocalModeAdapter,
217
- createManagedAgentMcpDelegateController,
218
- createManagedAgentMcpHttpHandler,
219
- createManagedAgentMcpServer,
220
- createOpenAiCodexOAuthBrokerV1,
221
- createPiResourceDigestFence,
222
- createPiResourceDigestInput,
223
- createPluginDiagnosticsTool,
224
- createPostgresCredentialVaultPersistenceV1,
225
- createProviderRuntimeModeAdapter,
226
- createRemoteWorkerModeAdapter,
227
- createRemoteWorkerSandbox,
228
- createRemoteWorkerWorkspace,
229
- createResolvedAgentDigest,
230
- createResolvedRuntimeScopeIdentity,
231
- createResourceSettingsManager,
232
- createSandboxRuntimeModeAdapter,
233
- createStandaloneAgentHostApp,
234
- createUserFilesystemBinding,
235
- createValidatingAgentFleetCompiler,
236
- createVaultCredentialStoreBackendV1,
237
- createVaultCredentialStoreV1,
238
- createVercelSandboxModeAdapter,
239
- decodeBytesFromWorker,
240
- deepLinkRoutes,
241
- digestPiResourceInputs,
242
- encodeBytesForWorker,
243
- hasBwrap,
244
- initializeLocalFileCredentialVersionAnchorV1,
245
- loadConfiguredAgentFleet,
246
- materializeAgentDirectory,
247
- mergePiPackageSources,
248
- mergeRuntimeFilesystemBindings,
249
- normalizeMeteringUsage,
250
- normalizeRuntimeReadonlyFilesystemPolicy,
251
- parseSkillMetadataFrontmatter,
252
- piPackageSourceKey,
253
- prepareDeploymentSnapshot,
254
- projectAgentRequestRunId,
255
- projectAuthorizedSessionRunDetails,
256
- provisionRuntimeWorkspace,
257
- provisionWorkspaceRuntime,
258
- registerAgentHostEnvironmentRoutes,
259
- registerShareEntryResources,
260
- resolveAgentDeployment,
261
- resolveAgentInstructionFileRefs,
262
- resolveBuiltinRuntimeLayoutRoot,
263
- resolveDefaultAgentFleet,
264
- resolveMode,
265
- resolveRequestLedgerPath,
266
- resolveRuntimeReadonlyFilesystemAccess,
267
- resolveWorkspaceRoot,
268
- runCredentialVaultPostgresMigrationsV1,
269
- sandboxRuntimeHostOperations,
270
- shapeChannelText,
271
- shareResourceUri,
272
- withResolvedCredential,
273
- withRuntimeEnvContributions
274
- };
@@ -1,12 +0,0 @@
1
- interface PiSessionTranscriptReadabilityInput {
2
- filePath: string;
3
- sessionDir: string;
4
- runtimeCwd: string;
5
- expectedHeaderId: string;
6
- headerVersion: number;
7
- entries: readonly unknown[];
8
- }
9
- /** Validate an offline transcript through the same Pi loader/migrations used in production. */
10
- declare function isPiSessionTranscriptReadable(input: PiSessionTranscriptReadabilityInput): Promise<boolean>;
11
-
12
- export { type PiSessionTranscriptReadabilityInput, isPiSessionTranscriptReadable };
@@ -1,23 +0,0 @@
1
- // src/server/harness/pi-coding-agent/sessionReadability.ts
2
- async function isPiSessionTranscriptReadable(input) {
3
- try {
4
- const {
5
- CURRENT_SESSION_VERSION,
6
- migrateSessionEntries,
7
- SessionManager
8
- } = await import("@mariozechner/pi-coding-agent");
9
- if (input.headerVersion < CURRENT_SESSION_VERSION) {
10
- const entries = structuredClone(input.entries);
11
- migrateSessionEntries(entries);
12
- const header = entries[0];
13
- return header?.type === "session" && header.id === input.expectedHeaderId && header.version === CURRENT_SESSION_VERSION && entries.some((entry) => entry.type === "message");
14
- }
15
- const manager = SessionManager.open(input.filePath, input.sessionDir, input.runtimeCwd);
16
- return manager.getHeader()?.id === input.expectedHeaderId && manager.getEntries().some((entry) => entry.type === "message");
17
- } catch {
18
- return false;
19
- }
20
- }
21
- export {
22
- isPiSessionTranscriptReadable
23
- };
@@ -1,68 +0,0 @@
1
- import { FastifyInstance, FastifyRequest, FastifyReply, FastifyServerOptions } from 'fastify';
2
- import { BwrapResourceLimits } from '@hachej/boring-sandbox/providers/bwrap';
3
- import { SandboxProviderV1 } from '@hachej/boring-sandbox/shared';
4
- import { b as Workspace, c as Sandbox } from '../../sandbox-BMhut3kh.js';
5
- import { R as RemoteWorkerWorkspaceOp, a as RemoteWorkerWorkspaceResult } from '../../middleware-CaAEXpi5.js';
6
-
7
- interface WorkerConfig {
8
- workspaceRoot: string;
9
- internalToken: string;
10
- port: number;
11
- host: string;
12
- execConcurrency: number;
13
- bwrapNetwork: 'isolated' | 'shared';
14
- resourceLimits: BwrapResourceLimits;
15
- }
16
- declare function loadWorkerConfig(): WorkerConfig;
17
-
18
- declare function registerWorkerRoutes(app: FastifyInstance, config: WorkerConfig, runtimeProvider?: SandboxProviderV1): Promise<void>;
19
-
20
- declare const WORKER_ERROR_CODES: {
21
- readonly AUTH_INVALID: "auth_invalid";
22
- readonly VALIDATION_ERROR: "validation_error";
23
- readonly INVALID_WORKSPACE_ID: "invalid_workspace_id";
24
- readonly NOT_IMPLEMENTED: "not_implemented";
25
- readonly ALREADY_EXISTS: "REMOTE_WORKER_ALREADY_EXISTS";
26
- readonly EXEC_CONCURRENCY_LIMIT: "exec_concurrency_limit";
27
- readonly UNSUPPORTED_WORKSPACE_OP: "unsupported_workspace_op";
28
- };
29
- type WorkerErrorCode = (typeof WORKER_ERROR_CODES)[keyof typeof WORKER_ERROR_CODES];
30
-
31
- interface WorkerRuntime {
32
- workspace: Workspace;
33
- sandbox: Sandbox;
34
- dispose(): Promise<void>;
35
- }
36
- declare function assertSafeWorkspaceId(workspaceId: string): string;
37
- declare function createWorkerRuntime(root: string, workspaceId: string, provider: SandboxProviderV1): Promise<WorkerRuntime>;
38
- declare function runWorkspaceOp(workspace: Workspace, op: RemoteWorkerWorkspaceOp): Promise<RemoteWorkerWorkspaceResult>;
39
-
40
- declare class ExecSemaphore {
41
- private readonly limit;
42
- private active;
43
- constructor(limit: number);
44
- run<T>(fn: () => Promise<T>): Promise<T>;
45
- }
46
- declare function buildExecEnv(input: Record<string, string> | undefined): Record<string, string>;
47
-
48
- declare function verifyInternalToken(request: FastifyRequest, reply: FastifyReply, expectedToken: string): boolean;
49
-
50
- interface CreateWorkerServerOptions {
51
- /** Worker configuration. Defaults to {@link loadWorkerConfig} (reads env). */
52
- config?: WorkerConfig;
53
- /** Extra Fastify server options merged over the worker defaults. */
54
- fastify?: FastifyServerOptions;
55
- /** Host-owned worker provider (normally bwrap). */
56
- runtimeProvider?: SandboxProviderV1;
57
- }
58
- interface WorkerServer {
59
- app: FastifyInstance;
60
- config: WorkerConfig;
61
- }
62
- /**
63
- * Build the internal worker Fastify server with worker routes registered.
64
- * Callers own listening/lifecycle.
65
- */
66
- declare function createWorkerServer(options?: CreateWorkerServerOptions): Promise<WorkerServer>;
67
-
68
- export { type CreateWorkerServerOptions, ExecSemaphore, WORKER_ERROR_CODES, type WorkerConfig, type WorkerErrorCode, type WorkerRuntime, type WorkerServer, assertSafeWorkspaceId, buildExecEnv, createWorkerRuntime, createWorkerServer, loadWorkerConfig, registerWorkerRoutes, runWorkspaceOp, verifyInternalToken };