@agentuity/runtime 0.0.100 → 0.0.102

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 (68) hide show
  1. package/AGENTS.md +34 -212
  2. package/dist/_metadata.d.ts +107 -0
  3. package/dist/_metadata.d.ts.map +1 -0
  4. package/dist/_metadata.js +179 -0
  5. package/dist/_metadata.js.map +1 -0
  6. package/dist/_process-protection.d.ts.map +1 -1
  7. package/dist/_process-protection.js +4 -0
  8. package/dist/_process-protection.js.map +1 -1
  9. package/dist/_services.d.ts.map +1 -1
  10. package/dist/_services.js +18 -17
  11. package/dist/_services.js.map +1 -1
  12. package/dist/_standalone.d.ts.map +1 -1
  13. package/dist/_standalone.js +17 -0
  14. package/dist/_standalone.js.map +1 -1
  15. package/dist/agent.d.ts.map +1 -1
  16. package/dist/agent.js +53 -12
  17. package/dist/agent.js.map +1 -1
  18. package/dist/app.d.ts +61 -10
  19. package/dist/app.d.ts.map +1 -1
  20. package/dist/app.js.map +1 -1
  21. package/dist/devmode.d.ts.map +1 -1
  22. package/dist/devmode.js +13 -5
  23. package/dist/devmode.js.map +1 -1
  24. package/dist/index.d.ts +3 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +5 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/middleware.d.ts +61 -5
  29. package/dist/middleware.d.ts.map +1 -1
  30. package/dist/middleware.js +192 -25
  31. package/dist/middleware.js.map +1 -1
  32. package/dist/services/evalrun/http.d.ts.map +1 -1
  33. package/dist/services/evalrun/http.js +14 -4
  34. package/dist/services/evalrun/http.js.map +1 -1
  35. package/dist/services/local/vector.d.ts +5 -1
  36. package/dist/services/local/vector.d.ts.map +1 -1
  37. package/dist/services/local/vector.js +112 -0
  38. package/dist/services/local/vector.js.map +1 -1
  39. package/dist/services/session/http.d.ts.map +1 -1
  40. package/dist/services/session/http.js +7 -0
  41. package/dist/services/session/http.js.map +1 -1
  42. package/dist/services/session/local.d.ts +2 -2
  43. package/dist/services/session/local.d.ts.map +1 -1
  44. package/dist/services/session/local.js +5 -4
  45. package/dist/services/session/local.js.map +1 -1
  46. package/dist/session.d.ts +30 -4
  47. package/dist/session.d.ts.map +1 -1
  48. package/dist/session.js +90 -13
  49. package/dist/session.js.map +1 -1
  50. package/dist/workbench.d.ts.map +1 -1
  51. package/dist/workbench.js +13 -20
  52. package/dist/workbench.js.map +1 -1
  53. package/package.json +5 -5
  54. package/src/_metadata.ts +307 -0
  55. package/src/_process-protection.ts +6 -0
  56. package/src/_services.ts +23 -21
  57. package/src/_standalone.ts +22 -0
  58. package/src/agent.ts +63 -12
  59. package/src/app.ts +65 -9
  60. package/src/devmode.ts +16 -5
  61. package/src/index.ts +12 -2
  62. package/src/middleware.ts +221 -29
  63. package/src/services/evalrun/http.ts +15 -4
  64. package/src/services/local/vector.ts +160 -0
  65. package/src/services/session/http.ts +11 -0
  66. package/src/services/session/local.ts +9 -4
  67. package/src/session.ts +142 -13
  68. package/src/workbench.ts +13 -26
package/dist/app.d.ts CHANGED
@@ -1,23 +1,78 @@
1
1
  import { type Env as HonoEnv } from 'hono';
2
2
  import type { cors } from 'hono/cors';
3
+ import type { compress } from 'hono/compress';
3
4
  import type { Logger } from './logger';
4
5
  import type { Meter, Tracer } from '@opentelemetry/api';
5
6
  import type { KeyValueStorage, SessionEventProvider, EvalRunEventProvider, StreamStorage, VectorStorage, SessionStartEvent } from '@agentuity/core';
6
7
  import type { Email } from './io/email';
7
8
  import type { ThreadProvider, SessionProvider, Session, Thread } from './session';
8
9
  import type WaitUntilHandler from './_waituntil';
9
- export interface WorkbenchInstance {
10
- config: {
11
- route?: string;
12
- headers?: Record<string, string>;
13
- };
14
- }
10
+ import type { Context } from 'hono';
15
11
  type CorsOptions = Parameters<typeof cors>[0];
12
+ type HonoCompressOptions = Parameters<typeof compress>[0];
13
+ /**
14
+ * Configuration options for response compression middleware.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const app = await createApp({
19
+ * compression: {
20
+ * enabled: true,
21
+ * threshold: 1024,
22
+ * }
23
+ * });
24
+ * ```
25
+ */
26
+ export interface CompressionConfig {
27
+ /**
28
+ * Enable or disable compression globally.
29
+ * @default true
30
+ */
31
+ enabled?: boolean;
32
+ /**
33
+ * Minimum response body size in bytes before compression is attempted.
34
+ * Responses smaller than this threshold will not be compressed.
35
+ * @default 1024
36
+ */
37
+ threshold?: number;
38
+ /**
39
+ * Optional filter function to skip compression for specific requests.
40
+ * Return false to skip compression for the request.
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * filter: (c) => !c.req.path.startsWith('/internal')
45
+ * ```
46
+ */
47
+ filter?: (c: Context) => boolean;
48
+ /**
49
+ * Raw options passed through to Hono's compress middleware.
50
+ * These are merged with Agentuity's defaults.
51
+ */
52
+ honoOptions?: HonoCompressOptions;
53
+ }
16
54
  export interface AppConfig<TAppState = Record<string, never>> {
17
55
  /**
18
56
  * Override the default cors settings
19
57
  */
20
58
  cors?: CorsOptions;
59
+ /**
60
+ * Configure response compression.
61
+ * Set to `false` to disable compression entirely.
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * const app = await createApp({
66
+ * compression: {
67
+ * threshold: 2048,
68
+ * }
69
+ * });
70
+ *
71
+ * // Or disable compression:
72
+ * const app = await createApp({ compression: false });
73
+ * ```
74
+ */
75
+ compression?: CompressionConfig | false;
21
76
  /**
22
77
  * Override the default services
23
78
  */
@@ -54,10 +109,6 @@ export interface AppConfig<TAppState = Record<string, never>> {
54
109
  * the EvalRunEventProvider to override instead of the default
55
110
  */
56
111
  evalRunEvent?: EvalRunEventProvider;
57
- /**
58
- * the Workbench to override instead of the default
59
- */
60
- workbench?: WorkbenchInstance;
61
112
  };
62
113
  /**
63
114
  * Optional setup function called before server starts
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AA8GA;;;GAGG;AACH,MAAM,UAAU,MAAM;IACrB,OAAO,IAAI,CAAC;AACb,CAAC;AAED,yCAAyC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACN,gBAAgB,IAAI,sBAAsB,EAC1C,mBAAmB,IAAI,yBAAyB,GAChD,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AA0DjD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,MAA6B;IAE7B,6BAA6B;IAC7B,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAE,EAAgB,CAAC;IAEvE,qEAAqE;IACpE,UAAkB,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACnD,UAAkB,CAAC,wBAAwB,GAAG,MAAM,CAAC;IAEtD,sCAAsC;IACtC,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,UAAkB,CAAC,sBAAsB,GAAG,QAAQ,CAAC;IACvD,CAAC;IAED,kEAAkE;IAClE,4EAA4E;IAC5E,sEAAsE;IACtE,uFAAuF;IACvF,MAAM,MAAM,GAAW;QACtB,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YAClB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YAClB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACjB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;;gBACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACjB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;;gBACpB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YAClB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;;gBACrB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAI,EAAS,EAAE;YACzB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACjC,+DAA+D;YAC/D,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;YACnB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzC,CAAC;KACD,CAAC;IAEF,sCAAsC;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC;IACxC,MAAM,MAAM,GAAW;QACtB,GAAG,EAAE,oBAAoB,IAAI,EAAE;KAC/B,CAAC;IAEF,kEAAkE;IAClE,2DAA2D;IAC3D,MAAM,YAAY,GAAG,SAAS,EAAE,CAAC;IACjC,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACd,qLAAqL,CACrL,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,YAAoC,CAAC;IAEpD,OAAO;QACN,KAAK;QACL,QAAQ;QACR,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,gBAAgB,EAAE,sBAAsB;QACxC,mBAAmB,EAAE,yBAAyB;KAC9C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IAC1B,OAAQ,UAAkB,CAAC,uBAAuB,IAAK,EAAgB,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAQ,UAAkB,CAAC,wBAAwB,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAChC,MAAM,QAAQ,GAAI,UAAkB,CAAC,sBAAsB,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"devmode.d.ts","sourceRoot":"","sources":["../src/devmode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAgF5B,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,IAAI,UA+EjD"}
1
+ {"version":3,"file":"devmode.d.ts","sourceRoot":"","sources":["../src/devmode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAoF5B,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,IAAI,UAsFjD"}
package/dist/devmode.js CHANGED
@@ -75,12 +75,20 @@ const overlay = `
75
75
  }
76
76
  </style>
77
77
  `;
78
+ // Global controller to avoid registering multiple SIGINT listeners
79
+ let globalController;
80
+ let globalSigintHandler;
78
81
  export function registerDevModeRoutes(router) {
79
- const controller = new AbortController();
80
- const signal = controller.signal;
81
- process.on('SIGINT', () => {
82
- controller.abort();
83
- });
82
+ // Reuse existing controller or create new one
83
+ if (!globalController) {
84
+ globalController = new AbortController();
85
+ // Only register SIGINT handler once
86
+ globalSigintHandler = () => {
87
+ globalController?.abort();
88
+ };
89
+ process.on('SIGINT', globalSigintHandler);
90
+ }
91
+ const signal = globalController.signal;
84
92
  router.get('/__dev__/reload', () => {
85
93
  const stream = new ReadableStream({
86
94
  start(controller) {
@@ -1 +1 @@
1
- {"version":3,"file":"devmode.js","sourceRoot":"","sources":["../src/devmode.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Ef,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,MAAY;IACjD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACzB,UAAU,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YACjC,KAAK,CAAC,UAAU;gBACf,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBACrC,IAAI,CAAC;wBACJ,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACxC,CAAC;oBAAC,MAAM,CAAC;wBACR,gBAAgB;oBACjB,CAAC;oBACD,IAAI,CAAC;wBACJ,UAAU,CAAC,KAAK,EAAE,CAAC;oBACpB,CAAC;oBAAC,MAAM,CAAC;wBACR,gBAAgB;oBACjB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;SACD,CAAC,CAAC;QACH,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC3B,OAAO,EAAE;gBACR,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,UAAU;aAC3B;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA2CN,CAAC;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,GAAG,0DAA0D,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"devmode.js","sourceRoot":"","sources":["../src/devmode.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Ef,CAAC;AAEF,mEAAmE;AACnE,IAAI,gBAA6C,CAAC;AAClD,IAAI,mBAA6C,CAAC;AAElD,MAAM,UAAU,qBAAqB,CAAC,MAAY;IACjD,8CAA8C;IAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvB,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,oCAAoC;QACpC,mBAAmB,GAAG,GAAG,EAAE;YAC1B,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YACjC,KAAK,CAAC,UAAU;gBACf,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBACrC,IAAI,CAAC;wBACJ,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACxC,CAAC;oBAAC,MAAM,CAAC;wBACR,gBAAgB;oBACjB,CAAC;oBACD,IAAI,CAAC;wBACJ,UAAU,CAAC,KAAK,EAAE,CAAC;oBACpB,CAAC;oBAAC,MAAM,CAAC;wBACR,gBAAgB;oBACjB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;SACD,CAAC,CAAC;QACH,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC3B,OAAO,EAAE;gBACR,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,UAAU;aAC3B;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA2CN,CAAC;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,GAAG,0DAA0D,CAAC;AAC7E,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { type AgentEventName, type AgentEventCallback, type AgentRuntimeState, type CreateEvalConfig, type AgentValidator, type Agent, type CreateAgentConfig, type AgentRunner, getGlobalRuntimeState, getAgentRuntime, type AgentName, type AgentRegistry, registerAgent, setAgentConfig, getAgentConfig, type CreateAgentConfigExplicit, createAgent, populateAgentsRegistry, createAgentMiddleware, getAgents, runAgentSetups, runAgentShutdowns, runInAgentContext, } from './agent';
2
- export { type WorkbenchInstance, type AppConfig, type Variables, type TriggerType, type PrivateVariables, type Env, type AppResult, createApp, getApp, getAppState, getAppConfig, runShutdown, fireEvent, } from './app';
2
+ export { type AppConfig, type CompressionConfig, type Variables, type TriggerType, type PrivateVariables, type Env, type AppResult, createApp, getApp, getAppState, getAppConfig, runShutdown, fireEvent, } from './app';
3
3
  export { addEventListener, removeEventListener } from './_events';
4
- export { createBaseMiddleware, createCorsMiddleware, createOtelMiddleware } from './middleware';
4
+ export { createBaseMiddleware, createCorsMiddleware, createOtelMiddleware, createCompressionMiddleware, } from './middleware';
5
5
  export { register } from './otel/config';
6
6
  export { createServices } from './_services';
7
7
  export { enableProcessExitProtection } from './_process-protection';
@@ -61,4 +61,5 @@ export type { RouteSchema, GetRouteSchema } from './_validation';
61
61
  */
62
62
  export interface AppState {
63
63
  }
64
+ export { bootstrapRuntimeEnv, type RuntimeBootstrapOptions } from '@agentuity/server';
64
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,KAAK,yBAAyB,EAC9B,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,GAAG,EACR,KAAK,SAAS,EACd,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGhG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,mBAAmB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGhF,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,IAAI,GACT,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,UAAU,EACV,uBAAuB,EACvB,aAAa,GACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EACN,6BAA6B,EAC7B,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,GAC7B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,KAAK,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7D,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EACN,SAAS,EACT,eAAe,EACf,YAAY,EACZ,SAAS,EACT,eAAe,EACf,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACT,wBAAwB,GACxB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,GAC7B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG7F,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,MAAM,WAAW,QAAQ;CAAG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ export { getGlobalRuntimeState, getAgentRuntime, registerAgent, setAgentConfig,
4
4
  export { createApp, getApp, getAppState, getAppConfig, runShutdown, fireEvent, } from './app';
5
5
  export { addEventListener, removeEventListener } from './_events';
6
6
  // middleware.ts exports (Vite-native)
7
- export { createBaseMiddleware, createCorsMiddleware, createOtelMiddleware } from './middleware';
7
+ export { createBaseMiddleware, createCorsMiddleware, createOtelMiddleware, createCompressionMiddleware, } from './middleware';
8
8
  // Internal exports needed by generated entry files
9
9
  export { register } from './otel/config';
10
10
  export { createServices } from './_services';
@@ -37,4 +37,8 @@ export { Email, parseEmail } from './io/email';
37
37
  export { HTTPEvalRunEventProvider, LocalEvalRunEventProvider, JSONEvalRunEventProvider, CompositeEvalRunEventProvider, } from './services/evalrun';
38
38
  // _services.ts exports
39
39
  export { getEvalRunEventProvider, getThreadProvider, getSessionProvider } from './_services';
40
+ // Re-export bootstrapRuntimeEnv from @agentuity/server for convenience
41
+ // This allows generated code to import from @agentuity/runtime instead of having
42
+ // a direct dependency on @agentuity/server
43
+ export { bootstrapRuntimeEnv } from '@agentuity/server';
40
44
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EASN,qBAAqB,EACrB,eAAe,EAGf,aAAa,EACb,cAAc,EACd,cAAc,EAEd,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,SAAS,CAAC;AAEjB,iDAAiD;AACjD,OAAO,EAQN,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAElE,sCAAsC;AACtC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEhG,mDAAmD;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEpE,6DAA6D;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,oBAAoB;AACpB,OAAO,EAA0C,YAAY,EAAE,MAAM,UAAU,CAAC;AAiBhF,qBAAqB;AACrB,OAAO,EAQN,UAAU,EACV,uBAAuB,EACvB,aAAa,GACb,MAAM,WAAW,CAAC;AAEnB,gCAAgC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,uBAAuB;AACvB,OAAO,EACN,6BAA6B,EAC7B,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,GAC7B,MAAM,aAAa,CAAC;AAErB,iBAAiB;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,uBAAuB;AACvB,OAAO,EAAuB,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7D,qBAAqB;AACrB,OAAO,EACN,SAAS,EACT,eAAe,EACf,YAAY,EACZ,SAAS,EACT,eAAe,EACf,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACT,wBAAwB,GACxB,MAAM,WAAW,CAAC;AAEnB,wBAAwB;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,yBAAyB;AACzB,OAAO,EACN,kBAAkB,EAClB,sBAAsB,GAGtB,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/C,2BAA2B;AAC3B,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,uBAAuB;AACvB,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EASN,qBAAqB,EACrB,eAAe,EAGf,aAAa,EACb,cAAc,EACd,cAAc,EAEd,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,SAAS,CAAC;AAEjB,iDAAiD;AACjD,OAAO,EAQN,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAElE,sCAAsC;AACtC,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,GAC3B,MAAM,cAAc,CAAC;AAEtB,mDAAmD;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEpE,6DAA6D;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,oBAAoB;AACpB,OAAO,EAA0C,YAAY,EAAE,MAAM,UAAU,CAAC;AAiBhF,qBAAqB;AACrB,OAAO,EAQN,UAAU,EACV,uBAAuB,EACvB,aAAa,GACb,MAAM,WAAW,CAAC;AAEnB,gCAAgC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,uBAAuB;AACvB,OAAO,EACN,6BAA6B,EAC7B,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,GAC7B,MAAM,aAAa,CAAC;AAErB,iBAAiB;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,uBAAuB;AACvB,OAAO,EAAuB,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7D,qBAAqB;AACrB,OAAO,EACN,SAAS,EACT,eAAe,EACf,YAAY,EACZ,SAAS,EACT,eAAe,EACf,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACT,wBAAwB,GACxB,MAAM,WAAW,CAAC;AAEnB,wBAAwB;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,yBAAyB;AACzB,OAAO,EACN,kBAAkB,EAClB,sBAAsB,GAGtB,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/C,2BAA2B;AAC3B,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,uBAAuB;AACvB,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA6C7F,uEAAuE;AACvE,iFAAiF;AACjF,2CAA2C;AAC3C,OAAO,EAAE,mBAAmB,EAAgC,MAAM,mBAAmB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Extracted from _server.ts to be used by generated entry files
4
4
  */
5
5
  import { cors } from 'hono/cors';
6
- import type { Env } from './app';
6
+ import type { Env, CompressionConfig } from './app';
7
7
  import type { Logger } from './logger';
8
8
  import { Meter, Tracer } from '@opentelemetry/api';
9
9
  export declare const AGENT_CONTEXT_PROPERTIES: readonly ["logger", "tracer", "sessionId", "kv", "stream", "vector", "state", "thread", "session", "config", "app", "waitUntil"];
@@ -16,14 +16,70 @@ export interface MiddlewareConfig {
16
16
  /**
17
17
  * Create base middleware that sets up context variables
18
18
  */
19
- export declare function createBaseMiddleware(config: MiddlewareConfig): import("hono").MiddlewareHandler<Env<Record<string, never>>, string, {}, Response>;
19
+ export declare function createBaseMiddleware(config: MiddlewareConfig): import("hono").MiddlewareHandler<Env<any>, string, {}, Response>;
20
20
  /**
21
- * Create CORS middleware
21
+ * Create CORS middleware with lazy config resolution.
22
+ *
23
+ * Handles Cross-Origin Resource Sharing (CORS) headers for API routes.
24
+ * Config is resolved at request time, allowing it to be set via createApp().
25
+ * Static options passed here take precedence over app config.
26
+ *
27
+ * Default behavior:
28
+ * - Reflects the request origin (allows any origin)
29
+ * - Allows common headers: Content-Type, Authorization, Accept, Origin, X-Requested-With
30
+ * - Allows all standard HTTP methods
31
+ * - Enables credentials
32
+ * - Sets max-age to 600 seconds (10 minutes)
33
+ *
34
+ * @param staticOptions - Optional static CORS options that override app config
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // Use with default settings
39
+ * app.use('/api/*', createCorsMiddleware());
40
+ *
41
+ * // Or configure via createApp
42
+ * const app = await createApp({
43
+ * cors: {
44
+ * origin: 'https://example.com',
45
+ * allowHeaders: ['Content-Type', 'Authorization', 'X-Custom-Header'],
46
+ * maxAge: 3600,
47
+ * }
48
+ * });
49
+ *
50
+ * // Or pass static options directly (overrides app config)
51
+ * app.use('/api/*', createCorsMiddleware({
52
+ * origin: ['https://app.example.com', 'https://admin.example.com'],
53
+ * credentials: true,
54
+ * }));
55
+ * ```
22
56
  */
23
- export declare function createCorsMiddleware(corsOptions?: Parameters<typeof cors>[0]): import("hono").MiddlewareHandler;
57
+ export declare function createCorsMiddleware(staticOptions?: Parameters<typeof cors>[0]): import("hono").MiddlewareHandler<Env<any>, string, {}, Response>;
24
58
  /**
25
59
  * Create OpenTelemetry middleware for session/thread tracking
26
60
  * This is the critical middleware that creates AgentContext
27
61
  */
28
- export declare function createOtelMiddleware(): import("hono").MiddlewareHandler<Env<Record<string, never>>, string, {}, Response>;
62
+ export declare function createOtelMiddleware(): import("hono").MiddlewareHandler<Env<any>, string, {}, Response>;
63
+ /**
64
+ * Create compression middleware with lazy config resolution.
65
+ *
66
+ * Compresses response bodies using gzip or deflate based on the Accept-Encoding header.
67
+ * Config is resolved at request time, allowing it to be set via createApp().
68
+ *
69
+ * @param staticConfig - Optional static config that overrides app config
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * // Use with default settings
74
+ * app.use('*', createCompressionMiddleware());
75
+ *
76
+ * // Or configure via createApp
77
+ * const app = await createApp({
78
+ * compression: {
79
+ * threshold: 2048,
80
+ * }
81
+ * });
82
+ * ```
83
+ */
84
+ export declare function createCompressionMiddleware(staticConfig?: CompressionConfig): import("hono").MiddlewareHandler<Env<any>, string, {}, Response>;
29
85
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKvC,OAAO,EAMN,KAAK,EACL,MAAM,EACN,MAAM,oBAAoB,CAAC;AAQ5B,eAAO,MAAM,wBAAwB,kIAa3B,CAAC;AAuBX,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,sFA6C5D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,oCAwB5E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,uFAgGnC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAMN,KAAK,EACL,MAAM,EACN,MAAM,oBAAoB,CAAC;AAU5B,eAAO,MAAM,wBAAwB,kIAa3B,CAAC;AAuBX,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,oEA8C5D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,oEAoC9E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,qEAoKnC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,CAAC,EAAE,iBAAiB,oEAkD3E"}
@@ -4,6 +4,8 @@
4
4
  */
5
5
  import { createMiddleware } from 'hono/factory';
6
6
  import { cors } from 'hono/cors';
7
+ import { compress } from 'hono/compress';
8
+ import { getAppConfig } from './app';
7
9
  import { generateId } from './session';
8
10
  import { runInHTTPContext } from './_context';
9
11
  import { DURATION_HEADER, TOKENS_HEADER } from './_tokens';
@@ -11,6 +13,8 @@ import { extractTraceContextFromRequest } from './otel/http';
11
13
  import { context, SpanKind, SpanStatusCode, trace, propagation, } from '@opentelemetry/api';
12
14
  import { TraceState } from '@opentelemetry/core';
13
15
  import * as runtimeConfig from './_config';
16
+ import { getSessionEventProvider } from './_services';
17
+ import { internal } from './logger/internal';
14
18
  const SESSION_HEADER = 'x-session-id';
15
19
  const THREAD_HEADER = 'x-thread-id';
16
20
  const DEPLOYMENT_HEADER = 'x-deployment';
@@ -49,6 +53,7 @@ function installContextPropertyHelpers(c) {
49
53
  * Create base middleware that sets up context variables
50
54
  */
51
55
  export function createBaseMiddleware(config) {
56
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
57
  return createMiddleware(async (c, next) => {
53
58
  c.set('logger', config.logger);
54
59
  c.set('tracer', config.tracer);
@@ -80,31 +85,75 @@ export function createBaseMiddleware(config) {
80
85
  });
81
86
  }
82
87
  /**
83
- * Create CORS middleware
88
+ * Create CORS middleware with lazy config resolution.
89
+ *
90
+ * Handles Cross-Origin Resource Sharing (CORS) headers for API routes.
91
+ * Config is resolved at request time, allowing it to be set via createApp().
92
+ * Static options passed here take precedence over app config.
93
+ *
94
+ * Default behavior:
95
+ * - Reflects the request origin (allows any origin)
96
+ * - Allows common headers: Content-Type, Authorization, Accept, Origin, X-Requested-With
97
+ * - Allows all standard HTTP methods
98
+ * - Enables credentials
99
+ * - Sets max-age to 600 seconds (10 minutes)
100
+ *
101
+ * @param staticOptions - Optional static CORS options that override app config
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * // Use with default settings
106
+ * app.use('/api/*', createCorsMiddleware());
107
+ *
108
+ * // Or configure via createApp
109
+ * const app = await createApp({
110
+ * cors: {
111
+ * origin: 'https://example.com',
112
+ * allowHeaders: ['Content-Type', 'Authorization', 'X-Custom-Header'],
113
+ * maxAge: 3600,
114
+ * }
115
+ * });
116
+ *
117
+ * // Or pass static options directly (overrides app config)
118
+ * app.use('/api/*', createCorsMiddleware({
119
+ * origin: ['https://app.example.com', 'https://admin.example.com'],
120
+ * credentials: true,
121
+ * }));
122
+ * ```
84
123
  */
85
- export function createCorsMiddleware(corsOptions) {
86
- return cors({
87
- origin: corsOptions?.origin ?? ((origin) => origin),
88
- allowHeaders: corsOptions?.allowHeaders ?? [
89
- 'Content-Type',
90
- 'Authorization',
91
- 'Accept',
92
- 'Origin',
93
- 'X-Requested-With',
94
- THREAD_HEADER,
95
- ],
96
- allowMethods: ['POST', 'GET', 'OPTIONS', 'HEAD', 'PUT', 'DELETE', 'PATCH'],
97
- exposeHeaders: [
98
- 'Content-Length',
99
- TOKENS_HEADER,
100
- DURATION_HEADER,
101
- THREAD_HEADER,
102
- SESSION_HEADER,
103
- DEPLOYMENT_HEADER,
104
- ],
105
- maxAge: 600,
106
- credentials: true,
107
- ...(corsOptions ?? {}),
124
+ export function createCorsMiddleware(staticOptions) {
125
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
126
+ return createMiddleware(async (c, next) => {
127
+ // Lazy resolve: merge app config with static options
128
+ const appConfig = getAppConfig();
129
+ const corsOptions = {
130
+ ...appConfig?.cors,
131
+ ...staticOptions,
132
+ };
133
+ const corsMiddleware = cors({
134
+ origin: corsOptions?.origin ?? ((origin) => origin),
135
+ allowHeaders: corsOptions?.allowHeaders ?? [
136
+ 'Content-Type',
137
+ 'Authorization',
138
+ 'Accept',
139
+ 'Origin',
140
+ 'X-Requested-With',
141
+ THREAD_HEADER,
142
+ ],
143
+ allowMethods: ['POST', 'GET', 'OPTIONS', 'HEAD', 'PUT', 'DELETE', 'PATCH'],
144
+ exposeHeaders: [
145
+ 'Content-Length',
146
+ TOKENS_HEADER,
147
+ DURATION_HEADER,
148
+ THREAD_HEADER,
149
+ SESSION_HEADER,
150
+ DEPLOYMENT_HEADER,
151
+ ],
152
+ maxAge: 600,
153
+ credentials: true,
154
+ ...(corsOptions ?? {}),
155
+ });
156
+ return corsMiddleware(c, next);
108
157
  });
109
158
  }
110
159
  /**
@@ -112,6 +161,7 @@ export function createCorsMiddleware(corsOptions) {
112
161
  * This is the critical middleware that creates AgentContext
113
162
  */
114
163
  export function createOtelMiddleware() {
164
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
115
165
  return createMiddleware(async (c, next) => {
116
166
  // Import providers dynamically to avoid circular deps
117
167
  const { getThreadProvider, getSessionProvider } = await import('./_services');
@@ -139,6 +189,7 @@ export function createOtelMiddleware() {
139
189
  const orgId = runtimeConfig.getOrganizationId();
140
190
  const deploymentId = runtimeConfig.getDeploymentId();
141
191
  const isDevMode = runtimeConfig.isDevMode();
192
+ internal.info('[session] config: orgId=%s, projectId=%s, deploymentId=%s, isDevMode=%s', orgId ?? 'NOT SET (AGENTUITY_CLOUD_ORG_ID)', projectId ?? 'NOT SET (AGENTUITY_CLOUD_PROJECT_ID)', deploymentId ?? 'none', isDevMode);
142
193
  if (projectId)
143
194
  traceState = traceState.set('pid', projectId);
144
195
  if (orgId)
@@ -159,15 +210,44 @@ export function createOtelMiddleware() {
159
210
  c.set('session', session);
160
211
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
161
212
  c.set('waitUntilHandler', handler);
213
+ const agentIds = new Set();
162
214
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
163
- c.set('agentIds', new Set());
215
+ c.set('agentIds', agentIds);
164
216
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
165
217
  c.set('trigger', 'api');
218
+ // Send session start event (so evalruns can reference this session)
219
+ const sessionEventProvider = getSessionEventProvider();
220
+ const shouldSendSession = !!(orgId && projectId);
221
+ if (shouldSendSession && sessionEventProvider) {
222
+ try {
223
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
224
+ const routeId = c.var?.routeId || '';
225
+ await sessionEventProvider.start({
226
+ id: sessionId,
227
+ threadId: thread.id,
228
+ orgId,
229
+ projectId,
230
+ deploymentId: deploymentId || undefined,
231
+ devmode: isDevMode,
232
+ trigger: 'api',
233
+ routeId,
234
+ environment: runtimeConfig.getEnvironment(),
235
+ url: c.req.path,
236
+ method: c.req.method,
237
+ });
238
+ }
239
+ catch (_ex) {
240
+ // Silently ignore session start errors - don't block request
241
+ }
242
+ }
166
243
  try {
167
244
  await next();
168
245
  // Save session/thread and send events
246
+ internal.info('[session] saving session %s (thread: %s)', sessionId, thread.id);
169
247
  await sessionProvider.save(session);
248
+ internal.info('[session] session saved, now saving thread');
170
249
  await threadProvider.save(thread);
250
+ internal.info('[session] thread saved');
171
251
  span.setStatus({ code: SpanStatusCode.OK });
172
252
  }
173
253
  catch (ex) {
@@ -181,6 +261,30 @@ export function createOtelMiddleware() {
181
261
  throw ex;
182
262
  }
183
263
  finally {
264
+ // Send session complete event
265
+ internal.info('[session] shouldSendSession: %s, hasSessionEventProvider: %s', shouldSendSession, !!sessionEventProvider);
266
+ if (shouldSendSession && sessionEventProvider) {
267
+ try {
268
+ const userData = session.serializeUserData();
269
+ internal.info('[session] sending session complete event, userData: %s', userData ? `${userData.length} bytes` : 'none');
270
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
271
+ const agentIdsSet = c.get('agentIds');
272
+ const agentIds = agentIdsSet ? [...agentIdsSet].filter(Boolean) : undefined;
273
+ internal.info('[session] agentIds: %o', agentIds);
274
+ await sessionEventProvider.complete({
275
+ id: sessionId,
276
+ threadId: thread.empty() ? null : thread.id,
277
+ statusCode: c.res?.status ?? 200,
278
+ agentIds: agentIds?.length ? agentIds : undefined,
279
+ userData,
280
+ });
281
+ internal.info('[session] session complete event sent');
282
+ }
283
+ catch (ex) {
284
+ internal.info('[session] session complete event failed: %s', ex);
285
+ // Silently ignore session complete errors - don't block response
286
+ }
287
+ }
184
288
  const headers = {};
185
289
  propagation.inject(context.active(), headers);
186
290
  for (const key of Object.keys(headers)) {
@@ -197,4 +301,67 @@ export function createOtelMiddleware() {
197
301
  });
198
302
  });
199
303
  }
304
+ /**
305
+ * Create compression middleware with lazy config resolution.
306
+ *
307
+ * Compresses response bodies using gzip or deflate based on the Accept-Encoding header.
308
+ * Config is resolved at request time, allowing it to be set via createApp().
309
+ *
310
+ * @param staticConfig - Optional static config that overrides app config
311
+ *
312
+ * @example
313
+ * ```typescript
314
+ * // Use with default settings
315
+ * app.use('*', createCompressionMiddleware());
316
+ *
317
+ * // Or configure via createApp
318
+ * const app = await createApp({
319
+ * compression: {
320
+ * threshold: 2048,
321
+ * }
322
+ * });
323
+ * ```
324
+ */
325
+ export function createCompressionMiddleware(staticConfig) {
326
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
327
+ return createMiddleware(async (c, next) => {
328
+ // Lazy resolve: merge app config with static config
329
+ const appConfig = getAppConfig();
330
+ const appCompressionConfig = appConfig?.compression;
331
+ // Check if compression is explicitly disabled
332
+ if (appCompressionConfig === false || staticConfig?.enabled === false) {
333
+ return next();
334
+ }
335
+ // Merge configs: static config takes precedence over app config
336
+ const config = {
337
+ ...(typeof appCompressionConfig === 'object' ? appCompressionConfig : {}),
338
+ ...staticConfig,
339
+ };
340
+ const { enabled = true, threshold = 1024, filter, honoOptions } = config;
341
+ // Skip if explicitly disabled
342
+ if (!enabled) {
343
+ return next();
344
+ }
345
+ // Skip WebSocket upgrade requests
346
+ const upgrade = c.req.header('upgrade');
347
+ if (upgrade && upgrade.toLowerCase() === 'websocket') {
348
+ return next();
349
+ }
350
+ // Skip if no Accept-Encoding header
351
+ const acceptEncoding = c.req.header('accept-encoding');
352
+ if (!acceptEncoding) {
353
+ return next();
354
+ }
355
+ // Check custom filter
356
+ if (filter && !filter(c)) {
357
+ return next();
358
+ }
359
+ // Create and run the Hono compress middleware
360
+ const compressMiddleware = compress({
361
+ threshold,
362
+ ...honoOptions,
363
+ });
364
+ await compressMiddleware(c, next);
365
+ });
366
+ }
200
367
  //# sourceMappingURL=middleware.js.map