@agentuity/runtime 0.0.104 → 0.0.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +61 -35
  2. package/dist/_context.d.ts +2 -1
  3. package/dist/_context.d.ts.map +1 -1
  4. package/dist/_context.js +1 -0
  5. package/dist/_context.js.map +1 -1
  6. package/dist/_metadata.d.ts +4 -0
  7. package/dist/_metadata.d.ts.map +1 -1
  8. package/dist/_metadata.js +28 -1
  9. package/dist/_metadata.js.map +1 -1
  10. package/dist/_server.d.ts +1 -1
  11. package/dist/_server.d.ts.map +1 -1
  12. package/dist/_server.js +4 -1
  13. package/dist/_server.js.map +1 -1
  14. package/dist/_services.d.ts +2 -1
  15. package/dist/_services.d.ts.map +1 -1
  16. package/dist/_services.js +11 -2
  17. package/dist/_services.js.map +1 -1
  18. package/dist/_standalone.d.ts +2 -1
  19. package/dist/_standalone.d.ts.map +1 -1
  20. package/dist/_standalone.js +1 -0
  21. package/dist/_standalone.js.map +1 -1
  22. package/dist/_tokens.d.ts +9 -1
  23. package/dist/_tokens.d.ts.map +1 -1
  24. package/dist/_tokens.js +5 -8
  25. package/dist/_tokens.js.map +1 -1
  26. package/dist/agent.d.ts +26 -2
  27. package/dist/agent.d.ts.map +1 -1
  28. package/dist/agent.js +10 -0
  29. package/dist/agent.js.map +1 -1
  30. package/dist/app.d.ts +7 -3
  31. package/dist/app.d.ts.map +1 -1
  32. package/dist/app.js.map +1 -1
  33. package/dist/bun-s3-patch.d.ts +26 -0
  34. package/dist/bun-s3-patch.d.ts.map +1 -0
  35. package/dist/bun-s3-patch.js +65 -0
  36. package/dist/bun-s3-patch.js.map +1 -0
  37. package/dist/handlers/cron.d.ts +47 -0
  38. package/dist/handlers/cron.d.ts.map +1 -0
  39. package/dist/handlers/cron.js +49 -0
  40. package/dist/handlers/cron.js.map +1 -0
  41. package/dist/handlers/index.d.ts +5 -0
  42. package/dist/handlers/index.d.ts.map +1 -0
  43. package/dist/handlers/index.js +5 -0
  44. package/dist/handlers/index.js.map +1 -0
  45. package/dist/handlers/sse.d.ts +74 -0
  46. package/dist/handlers/sse.d.ts.map +1 -0
  47. package/dist/handlers/sse.js +70 -0
  48. package/dist/handlers/sse.js.map +1 -0
  49. package/dist/handlers/stream.d.ts +52 -0
  50. package/dist/handlers/stream.d.ts.map +1 -0
  51. package/dist/handlers/stream.js +75 -0
  52. package/dist/handlers/stream.js.map +1 -0
  53. package/dist/handlers/websocket.d.ts +49 -0
  54. package/dist/handlers/websocket.d.ts.map +1 -0
  55. package/dist/handlers/websocket.js +130 -0
  56. package/dist/handlers/websocket.js.map +1 -0
  57. package/dist/index.d.ts +2 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +4 -2
  60. package/dist/index.js.map +1 -1
  61. package/dist/middleware.d.ts +1 -1
  62. package/dist/middleware.d.ts.map +1 -1
  63. package/dist/middleware.js +8 -6
  64. package/dist/middleware.js.map +1 -1
  65. package/dist/otel/logger.d.ts +1 -4
  66. package/dist/otel/logger.d.ts.map +1 -1
  67. package/dist/otel/logger.js +11 -2
  68. package/dist/otel/logger.js.map +1 -1
  69. package/dist/router.d.ts +46 -236
  70. package/dist/router.d.ts.map +1 -1
  71. package/dist/router.js +82 -349
  72. package/dist/router.js.map +1 -1
  73. package/dist/services/sandbox/http.d.ts +13 -0
  74. package/dist/services/sandbox/http.d.ts.map +1 -0
  75. package/dist/services/sandbox/http.js +130 -0
  76. package/dist/services/sandbox/http.js.map +1 -0
  77. package/dist/services/sandbox/index.d.ts +2 -0
  78. package/dist/services/sandbox/index.d.ts.map +1 -0
  79. package/dist/services/sandbox/index.js +2 -0
  80. package/dist/services/sandbox/index.js.map +1 -0
  81. package/dist/services/session/http.d.ts +12 -1
  82. package/dist/services/session/http.d.ts.map +1 -1
  83. package/dist/services/session/http.js +31 -1
  84. package/dist/services/session/http.js.map +1 -1
  85. package/dist/services/thread/local.d.ts.map +1 -1
  86. package/dist/services/thread/local.js +7 -6
  87. package/dist/services/thread/local.js.map +1 -1
  88. package/dist/session.d.ts +35 -8
  89. package/dist/session.d.ts.map +1 -1
  90. package/dist/session.js +25 -24
  91. package/dist/session.js.map +1 -1
  92. package/dist/workbench.d.ts +6 -2
  93. package/dist/workbench.d.ts.map +1 -1
  94. package/dist/workbench.js +40 -34
  95. package/dist/workbench.js.map +1 -1
  96. package/package.json +5 -7
  97. package/src/_context.ts +2 -0
  98. package/src/_metadata.ts +37 -1
  99. package/src/_server.ts +4 -1
  100. package/src/_services.ts +12 -2
  101. package/src/_standalone.ts +7 -1
  102. package/src/_tokens.ts +5 -9
  103. package/src/agent.ts +40 -1
  104. package/src/app.ts +9 -2
  105. package/src/bun-s3-patch.ts +91 -0
  106. package/src/handlers/cron.ts +70 -0
  107. package/src/handlers/index.ts +4 -0
  108. package/src/handlers/sse.ts +118 -0
  109. package/src/handlers/stream.ts +86 -0
  110. package/src/handlers/websocket.ts +153 -0
  111. package/src/index.ts +18 -3
  112. package/src/middleware.ts +8 -10
  113. package/src/otel/logger.ts +13 -2
  114. package/src/router.ts +110 -597
  115. package/src/services/sandbox/http.ts +215 -0
  116. package/src/services/sandbox/index.ts +1 -0
  117. package/src/services/session/http.ts +39 -1
  118. package/src/services/thread/local.ts +8 -5
  119. package/src/session.ts +58 -32
  120. package/src/workbench.ts +41 -39
  121. package/dist/io/email.d.ts +0 -77
  122. package/dist/io/email.d.ts.map +0 -1
  123. package/dist/io/email.js +0 -162
  124. package/dist/io/email.js.map +0 -1
  125. package/src/io/email.ts +0 -191
@@ -1 +1 @@
1
- {"version":3,"file":"workbench.js","sourceRoot":"","sources":["../src/workbench.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workbench.js","sourceRoot":"","sources":["../src/workbench.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/runtime",
3
- "version": "0.0.104",
3
+ "version": "0.0.106",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -26,9 +26,9 @@
26
26
  "prepublishOnly": "bun run clean && bun run build"
27
27
  },
28
28
  "dependencies": {
29
- "@agentuity/core": "0.0.104",
30
- "@agentuity/schema": "0.0.104",
31
- "@agentuity/server": "0.0.104",
29
+ "@agentuity/core": "0.0.106",
30
+ "@agentuity/schema": "0.0.106",
31
+ "@agentuity/server": "0.0.106",
32
32
  "@opentelemetry/api": "^1.9.0",
33
33
  "@opentelemetry/api-logs": "^0.207.0",
34
34
  "@opentelemetry/auto-instrumentations-node": "^0.66.0",
@@ -46,13 +46,11 @@
46
46
  "@opentelemetry/semantic-conventions": "^1.37.0",
47
47
  "@traceloop/ai-semantic-conventions": "0.21.0",
48
48
  "@traceloop/node-server-sdk": "0.21.1",
49
- "@types/mailparser": "^3.4.6",
50
49
  "hono": "^4.7.13",
51
- "mailparser": "^3.7.1",
52
50
  "zod": "^4.1.12"
53
51
  },
54
52
  "devDependencies": {
55
- "@agentuity/test-utils": "0.0.104",
53
+ "@agentuity/test-utils": "0.0.106",
56
54
  "@types/bun": "latest",
57
55
  "@types/react": "^19.2.2",
58
56
  "@types/react-dom": "^19.2.2",
package/src/_context.ts CHANGED
@@ -6,6 +6,7 @@ import {
6
6
  type KeyValueStorage,
7
7
  type StreamStorage,
8
8
  type VectorStorage,
9
+ type SandboxService,
9
10
  } from '@agentuity/core';
10
11
  import type { AgentContext, AgentRegistry, AgentRunner, AgentRuntimeState } from './agent';
11
12
  import { AGENT_RUNTIME, CURRENT_AGENT } from './_config';
@@ -44,6 +45,7 @@ export class RequestAgentContext<
44
45
  kv!: KeyValueStorage;
45
46
  stream!: StreamStorage;
46
47
  vector!: VectorStorage;
48
+ sandbox!: SandboxService;
47
49
  state: Map<string, unknown>;
48
50
  session: Session;
49
51
  thread: Thread;
package/src/_metadata.ts CHANGED
@@ -83,9 +83,26 @@ let _metadataCache: BuildMetadata | null | undefined = null;
83
83
 
84
84
  /**
85
85
  * Get the path to agentuity.metadata.json
86
+ *
87
+ * Checks multiple locations to support both dev and production:
88
+ * - Production: cwd is .agentuity/, file is at cwd/agentuity.metadata.json
89
+ * - Dev: cwd is project root, file is at cwd/.agentuity/agentuity.metadata.json
86
90
  */
87
91
  export function getMetadataPath(): string {
88
- return join(process.cwd(), '.agentuity', 'agentuity.metadata.json');
92
+ // Production path: running from .agentuity/ directory
93
+ const productionPath = join(process.cwd(), 'agentuity.metadata.json');
94
+ if (existsSync(productionPath)) {
95
+ return productionPath;
96
+ }
97
+
98
+ // Dev path: running from project root
99
+ const devPath = join(process.cwd(), '.agentuity', 'agentuity.metadata.json');
100
+ if (existsSync(devPath)) {
101
+ return devPath;
102
+ }
103
+
104
+ // Default to production path (will fail gracefully in loadBuildMetadata)
105
+ return productionPath;
89
106
  }
90
107
 
91
108
  /**
@@ -158,6 +175,9 @@ let _evalsByAgentId: Map<string, Map<string, BuildMetadataEval>> | null = null;
158
175
  // Track if we've already attempted a reload for empty eval map
159
176
  let _evalReloadAttempted = false;
160
177
 
178
+ // Track if we've already attempted a reload for empty agent map
179
+ let _agentReloadAttempted = false;
180
+
161
181
  /**
162
182
  * Build agent lookup maps from metadata
163
183
  */
@@ -219,6 +239,22 @@ function ensureAgentMaps(): void {
219
239
  */
220
240
  export function getAgentMetadataByName(agentName: string): BuildMetadataAgent | undefined {
221
241
  ensureAgentMaps();
242
+
243
+ // If agent map is empty, the cache may have been built before metadata was ready
244
+ // Try clearing and reloading once (only attempt once to avoid repeated reloads)
245
+ // This mirrors the reload logic in getEvalMetadata
246
+ if (_agentsByName?.size === 0 && !_agentReloadAttempted) {
247
+ _agentReloadAttempted = true;
248
+ internal.info(
249
+ `[metadata] getAgentMetadataByName: agent map is empty, attempting cache clear and reload`
250
+ );
251
+ clearMetadataCache();
252
+ ensureAgentMaps();
253
+ internal.info(
254
+ `[metadata] getAgentMetadataByName: after reload, agent map size: ${_agentsByName?.size ?? 0}`
255
+ );
256
+ }
257
+
222
258
  return _agentsByName?.get(agentName);
223
259
  }
224
260
 
package/src/_server.ts CHANGED
@@ -8,13 +8,15 @@ import type { Hono, Context as HonoContext } from 'hono';
8
8
  import type { Env, PrivateVariables } from './app';
9
9
  import type { Tracer } from '@opentelemetry/api';
10
10
  import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
11
+ import { TokenSpanProcessor } from './_tokens';
11
12
 
12
13
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
14
  let globalRouterInstance: Hono<Env<any>> | null = null;
14
15
  let globalLogger: Logger | null = null;
15
16
  let globalTracer: Tracer | null = null;
16
17
 
17
- const spanProcessors: SpanProcessor[] = [];
18
+ // Initialize with built-in span processors
19
+ const spanProcessors: SpanProcessor[] = [new TokenSpanProcessor()];
18
20
 
19
21
  /**
20
22
  * List of AgentContext properties that should trigger helpful error messages
@@ -27,6 +29,7 @@ export const AGENT_CONTEXT_PROPERTIES = [
27
29
  'kv',
28
30
  'stream',
29
31
  'vector',
32
+ 'sandbox',
30
33
  'state',
31
34
  'thread',
32
35
  'session',
package/src/_services.ts CHANGED
@@ -7,6 +7,7 @@ import {
7
7
  type KeyValueStorage,
8
8
  type StreamStorage,
9
9
  type VectorStorage,
10
+ type SandboxService,
10
11
  type ListStreamsResponse,
11
12
  type VectorUpsertResult,
12
13
  type VectorSearchResult,
@@ -16,6 +17,7 @@ import {
16
17
  StructuredError,
17
18
  } from '@agentuity/core';
18
19
  import { APIClient, createServerFetchAdapter, getServiceUrls } from '@agentuity/server';
20
+ import { HTTPSandboxService } from './services/sandbox';
19
21
  import {
20
22
  CompositeSessionEventProvider,
21
23
  LocalSessionEventProvider,
@@ -166,6 +168,7 @@ const createFetchAdapter = (logger: Logger) =>
166
168
  let kv: KeyValueStorage;
167
169
  let stream: StreamStorage;
168
170
  let vector: VectorStorage;
171
+ let sandbox: SandboxService;
169
172
  let session: SessionProvider;
170
173
  let thread: ThreadProvider;
171
174
  let sessionEvent: SessionEventProvider;
@@ -227,9 +230,11 @@ export function createServices(logger: Logger, config?: AppConfig<any>, serverUr
227
230
 
228
231
  // At this point we must be authenticated (since !authenticated would trigger local services above)
229
232
  const catalystUrl = getCatalystBaseUrl();
233
+ const streamBaseUrl = getStreamBaseUrl();
230
234
  kv = config?.services?.keyvalue || new KeyValueStorageService(getKvBaseUrl(), adapter);
231
- stream = config?.services?.stream || new StreamStorageService(getStreamBaseUrl(), adapter);
235
+ stream = config?.services?.stream || new StreamStorageService(streamBaseUrl, adapter);
232
236
  vector = config?.services?.vector || new VectorStorageService(getVectorBaseUrl(), adapter);
237
+ sandbox = new HTTPSandboxService(new APIClient(catalystUrl, logger), streamBaseUrl);
233
238
  session = config?.services?.session || new DefaultSessionProvider();
234
239
  thread = config?.services?.thread || new DefaultThreadProvider();
235
240
  // FIXME: this is turned off for now for production until we have the new changes deployed
@@ -280,7 +285,7 @@ export function getEvalRunEventProvider() {
280
285
  }
281
286
 
282
287
  export function getServices() {
283
- return { kv, stream, vector };
288
+ return { kv, stream, vector, sandbox };
284
289
  }
285
290
 
286
291
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -300,6 +305,11 @@ export function registerServices(o: any, includeAgents = false) {
300
305
  enumerable: false,
301
306
  configurable: false,
302
307
  });
308
+ Object.defineProperty(o, 'sandbox', {
309
+ get: () => sandbox,
310
+ enumerable: false,
311
+ configurable: false,
312
+ });
303
313
 
304
314
  // Also register agent registry if requested
305
315
  if (includeAgents) {
@@ -1,6 +1,11 @@
1
1
  import { context, SpanKind, SpanStatusCode, type Context, trace } from '@opentelemetry/api';
2
2
  import { TraceState } from '@opentelemetry/core';
3
- import type { KeyValueStorage, StreamStorage, VectorStorage } from '@agentuity/core';
3
+ import type {
4
+ KeyValueStorage,
5
+ StreamStorage,
6
+ VectorStorage,
7
+ SandboxService,
8
+ } from '@agentuity/core';
4
9
  import type { AgentContext, AgentRegistry, AgentRuntimeState } from './agent';
5
10
  import { AGENT_RUNTIME, AGENT_IDS } from './_config';
6
11
  import type { Logger } from './logger';
@@ -97,6 +102,7 @@ export class StandaloneAgentContext<
97
102
  kv!: KeyValueStorage;
98
103
  stream!: StreamStorage;
99
104
  vector!: VectorStorage;
105
+ sandbox!: SandboxService;
100
106
  config: TConfig;
101
107
  app: TAppState;
102
108
  [AGENT_RUNTIME]: AgentRuntimeState;
package/src/_tokens.ts CHANGED
@@ -3,12 +3,12 @@ import type { Span } from '@opentelemetry/sdk-trace-base';
3
3
  import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
4
4
  import { inAgentContext, inHTTPContext, getHTTPContext } from './_context';
5
5
  import { SpanAttributes } from '@traceloop/ai-semantic-conventions';
6
- import { addSpanProcessor } from './_server';
7
6
 
8
7
  export const TOKENS_HEADER = 'x-agentuity-tokens';
9
8
  export const DURATION_HEADER = 'x-agentuity-duration';
10
9
 
11
- const AI_SDK_SPAN_NAME = 'ai.generateText';
10
+ // AI SDK span names: ai.generateText, ai.streamText, ai.generateObject, ai.streamObject, ai.embed, ai.embedMany
11
+ const AI_SDK_SPAN_PREFIX = 'ai.';
12
12
  const AI_SDK_MODEL_NAME = 'ai.model.id';
13
13
  const AI_SDK_USAGE_PROMPT_TOKENS = 'ai.usage.promptTokens';
14
14
  const AI_SDK_USAGE_COMPLETION_TOKENS = 'ai.usage.completionTokens';
@@ -50,7 +50,7 @@ const getTokenValue = (val: AttributeValue | undefined): number => {
50
50
  return 0;
51
51
  };
52
52
 
53
- class TokenSpanProcessor implements SpanProcessor {
53
+ export class TokenSpanProcessor implements SpanProcessor {
54
54
  onStart(_span: Span, _context: Context) {
55
55
  return;
56
56
  }
@@ -61,8 +61,8 @@ class TokenSpanProcessor implements SpanProcessor {
61
61
  const tokenLine = ctx.res.headers.get(TOKENS_HEADER) ?? undefined;
62
62
  const tokens = parseTokenHeader(tokenLine);
63
63
  let mutated = false;
64
- // this is AI SDK which doesn't seem to use the semantic attribute names
65
- if (span.name === AI_SDK_SPAN_NAME && AI_SDK_MODEL_NAME in span.attributes) {
64
+ // AI SDK uses ai.* span names but doesn't use the semantic attribute names
65
+ if (span.name.startsWith(AI_SDK_SPAN_PREFIX) && AI_SDK_MODEL_NAME in span.attributes) {
66
66
  const model = span.attributes[AI_SDK_MODEL_NAME]!.toString();
67
67
  let totalTokens = tokens.get(model) ?? 0;
68
68
  if (AI_SDK_USAGE_PROMPT_TOKENS in span.attributes) {
@@ -110,7 +110,3 @@ class TokenSpanProcessor implements SpanProcessor {
110
110
  return Promise.resolve();
111
111
  }
112
112
  }
113
-
114
- export default function register() {
115
- addSpanProcessor(new TokenSpanProcessor());
116
- }
package/src/agent.ts CHANGED
@@ -5,6 +5,7 @@ import {
5
5
  type StandardSchemaV1,
6
6
  type StreamStorage,
7
7
  type VectorStorage,
8
+ type SandboxService,
8
9
  type InferInput,
9
10
  type InferOutput,
10
11
  toCamelCase,
@@ -204,6 +205,31 @@ export interface AgentContext<
204
205
  */
205
206
  vector: VectorStorage;
206
207
 
208
+ /**
209
+ * Sandbox service for creating and running isolated code execution environments.
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * // One-shot execution
214
+ * const result = await ctx.sandbox.run({
215
+ * command: {
216
+ * exec: ['bun', 'run', 'index.ts'],
217
+ * files: [{ path: 'index.ts', content: Buffer.from('console.log("hello")') }]
218
+ * }
219
+ * });
220
+ * console.log('Exit:', result.exitCode);
221
+ *
222
+ * // Interactive sandbox
223
+ * const sandbox = await ctx.sandbox.create({
224
+ * resources: { memory: '1Gi', cpu: '1000m' }
225
+ * });
226
+ * await sandbox.execute({ command: ['bun', 'init'] });
227
+ * await sandbox.execute({ command: ['bun', 'add', 'zod'] });
228
+ * await sandbox.destroy();
229
+ * ```
230
+ */
231
+ sandbox: SandboxService;
232
+
207
233
  /**
208
234
  * In-memory state storage scoped to the current request.
209
235
  * Use for passing data between middleware and handlers.
@@ -1288,7 +1314,7 @@ export interface CreateAgentConfigExplicit<
1288
1314
  * schema: {
1289
1315
  * input: z.object({ name: z.string() }),
1290
1316
  * output: z.string(),
1291
- * stream: false
1317
+ * stream: false,
1292
1318
  * }
1293
1319
  * ```
1294
1320
  */
@@ -1753,6 +1779,19 @@ export function createAgent<
1753
1779
  }
1754
1780
  }
1755
1781
 
1782
+ // Error if agent has no metadata IDs in production - this causes agent_ids to be empty in sessions
1783
+ // which affects analytics, billing attribution, and session filtering
1784
+ // Only enforce in production (when AGENTUITY_CLOUD_PROJECT_ID is set) to allow dev/test without metadata
1785
+ if (!metadata.id && !metadata.agentId && runtimeConfig.getProjectId()) {
1786
+ throw new Error(
1787
+ `Agent "${name}" has no metadata IDs (id and agentId are empty). ` +
1788
+ `This will result in empty agent_ids in session events. ` +
1789
+ `Ensure agentuity.metadata.json exists in the runtime directory ` +
1790
+ `(checked: ${process.cwd()}/agentuity.metadata.json and ${process.cwd()}/.agentuity/agentuity.metadata.json). ` +
1791
+ `Run 'agentuity build' to generate the metadata file.`
1792
+ );
1793
+ }
1794
+
1756
1795
  const agent: any = {
1757
1796
  handler,
1758
1797
  metadata,
package/src/app.ts CHANGED
@@ -10,9 +10,10 @@ import type {
10
10
  EvalRunEventProvider,
11
11
  StreamStorage,
12
12
  VectorStorage,
13
+ SandboxService,
13
14
  SessionStartEvent,
14
15
  } from '@agentuity/core';
15
- import type { Email } from './io/email';
16
+
16
17
  import type { ThreadProvider, SessionProvider, Session, Thread } from './session';
17
18
  import type WaitUntilHandler from './_waituntil';
18
19
  import type { Context } from 'hono';
@@ -134,19 +135,25 @@ export interface AppConfig<TAppState = Record<string, never>> {
134
135
  * Receives the app state returned from setup
135
136
  */
136
137
  shutdown?: (state: TAppState) => Promise<void> | void;
138
+
139
+ /**
140
+ * Optional request timeout in seconds. If not provided, will default
141
+ * to zero which will cause the request to wait indefinitely.
142
+ */
143
+ requestTimeout?: number;
137
144
  }
138
145
 
139
146
  export interface Variables<TAppState = Record<string, never>> {
140
147
  logger: Logger;
141
148
  meter: Meter;
142
149
  tracer: Tracer;
143
- email?: Email;
144
150
  sessionId: string;
145
151
  thread: Thread;
146
152
  session: Session;
147
153
  kv: KeyValueStorage;
148
154
  stream: StreamStorage;
149
155
  vector: VectorStorage;
156
+ sandbox: SandboxService;
150
157
  app: TAppState;
151
158
  }
152
159
 
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Bun S3 monkey-patch for Agentuity storage endpoints
3
+ *
4
+ * Agentuity storage uses virtual-hosted-style URLs (e.g., ag-{id}.t3.storage.dev).
5
+ * Bun's default s3 export uses path-style addressing, causing bucket path mismatch.
6
+ *
7
+ * This module patches Bun.S3Client.prototype.file to automatically set
8
+ * virtualHostedStyle: true when S3_ENDPOINT matches *.storage.dev
9
+ */
10
+
11
+ const PATCHED_SYMBOL = Symbol.for('agentuity.s3.patched');
12
+
13
+ /**
14
+ * Check if an endpoint is an Agentuity storage endpoint (*.storage.dev)
15
+ */
16
+ export function isAgentuityStorageEndpoint(raw: string): boolean {
17
+ let host = raw.trim();
18
+ if (!host) return false;
19
+
20
+ try {
21
+ const url = new URL(host.includes('://') ? host : `https://${host}`);
22
+ host = url.hostname;
23
+ } catch {
24
+ // raw value wasn't a URL string; treat it as host already
25
+ }
26
+
27
+ return host === 'storage.dev' || host.endsWith('.storage.dev');
28
+ }
29
+
30
+ /**
31
+ * Patch Bun's S3Client to automatically use virtualHostedStyle for storage.dev endpoints
32
+ *
33
+ * This function:
34
+ * 1. Checks if we're running in Bun with S3 support
35
+ * 2. Checks if S3_ENDPOINT (or AWS_ENDPOINT) points to *.storage.dev
36
+ * 3. Patches S3Client.prototype.file to inject virtualHostedStyle: true
37
+ *
38
+ * Safe to call in non-Bun environments (will no-op).
39
+ * Idempotent (safe to call multiple times).
40
+ */
41
+ export function patchBunS3ForStorageDev(): void {
42
+ const bun = (globalThis as Record<string, unknown>).Bun as
43
+ | {
44
+ s3?: unknown;
45
+ S3Client?: {
46
+ prototype: {
47
+ file?: (path: string, options?: Record<string, unknown>) => unknown;
48
+ [PATCHED_SYMBOL]?: boolean;
49
+ };
50
+ };
51
+ }
52
+ | undefined;
53
+
54
+ if (!bun?.s3 || !bun.S3Client?.prototype?.file) {
55
+ return;
56
+ }
57
+
58
+ const endpointEnv = process.env.S3_ENDPOINT ?? process.env.AWS_ENDPOINT;
59
+ if (!endpointEnv) {
60
+ return;
61
+ }
62
+
63
+ if (!isAgentuityStorageEndpoint(endpointEnv)) {
64
+ return;
65
+ }
66
+
67
+ const S3ClientProto = bun.S3Client.prototype;
68
+
69
+ if (S3ClientProto[PATCHED_SYMBOL]) {
70
+ return;
71
+ }
72
+
73
+ const originalFile = S3ClientProto.file!;
74
+
75
+ S3ClientProto.file = function patchedFile(
76
+ this: unknown,
77
+ path: string,
78
+ options?: Record<string, unknown>
79
+ ): unknown {
80
+ let nextOptions = options;
81
+
82
+ // Apply virtualHostedStyle to all S3Client instances when endpoint is storage.dev
83
+ if (!nextOptions || typeof nextOptions.virtualHostedStyle === 'undefined') {
84
+ nextOptions = { ...nextOptions, virtualHostedStyle: true };
85
+ }
86
+
87
+ return originalFile.call(this, path, nextOptions);
88
+ };
89
+
90
+ S3ClientProto[PATCHED_SYMBOL] = true;
91
+ }
@@ -0,0 +1,70 @@
1
+ import type { Context, Handler } from 'hono';
2
+ import { returnResponse } from '../_util';
3
+ import type { Env } from '../app';
4
+
5
+ /**
6
+ * Handler function for cron jobs.
7
+ * Receives the Hono context and can return any response.
8
+ */
9
+ export type CronHandler<E extends Env = Env> = (c: Context<E>) => unknown | Promise<unknown>;
10
+
11
+ /**
12
+ * Creates a cron middleware for scheduled task endpoints.
13
+ *
14
+ * **Important:** Cron endpoints must use POST method. The middleware will throw
15
+ * an error if called with any other HTTP method.
16
+ *
17
+ * Use with router.post() to create a cron endpoint:
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * import { createRouter, cron } from '@agentuity/runtime';
22
+ *
23
+ * const router = createRouter();
24
+ *
25
+ * // Daily cleanup at midnight
26
+ * router.post('/daily-cleanup', cron('0 0 * * *', (c) => {
27
+ * c.var.logger.info('Running daily cleanup');
28
+ * return { status: 'cleanup complete' };
29
+ * }));
30
+ *
31
+ * // Hourly health check
32
+ * router.post('/health-check', cron('0 * * * *', (c) => {
33
+ * c.var.logger.info('Running hourly health check');
34
+ * return c.text('OK');
35
+ * }));
36
+ * ```
37
+ *
38
+ * @param schedule - Cron expression (e.g., '0 0 * * *' for daily at midnight)
39
+ * @param handler - Handler function to run on schedule
40
+ * @returns Hono handler for cron endpoint
41
+ */
42
+ export function cron<E extends Env = Env>(schedule: string, handler: CronHandler<E>): Handler<E> {
43
+ return async (c: Context<E>) => {
44
+ if (c.req.method !== 'POST') {
45
+ throw new Error(
46
+ `Cron endpoint must use POST method, but received ${c.req.method}. ` +
47
+ `Use router.post() instead of router.${c.req.method.toLowerCase()}().`
48
+ );
49
+ }
50
+
51
+ let result = handler(c);
52
+ if (result instanceof Promise) {
53
+ result = await result;
54
+ }
55
+
56
+ if (result instanceof Response) {
57
+ return result;
58
+ }
59
+
60
+ return returnResponse(c, result);
61
+ };
62
+ }
63
+
64
+ /**
65
+ * Metadata interface for cron jobs (can be used for registration/discovery).
66
+ */
67
+ export interface CronMetadata {
68
+ schedule: string;
69
+ path: string;
70
+ }
@@ -0,0 +1,4 @@
1
+ export { websocket, type WebSocketConnection, type WebSocketHandler } from './websocket';
2
+ export { sse, type SSEMessage, type SSEStream, type SSEHandler } from './sse';
3
+ export { stream, type StreamHandler } from './stream';
4
+ export { cron, type CronHandler, type CronMetadata } from './cron';