@agentuity/runtime 0.1.14 → 0.1.16

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 (269) hide show
  1. package/dist/_config.d.ts +100 -0
  2. package/dist/_config.d.ts.map +1 -0
  3. package/dist/_config.js +147 -0
  4. package/dist/_config.js.map +1 -0
  5. package/dist/_context.d.ts +76 -0
  6. package/dist/_context.d.ts.map +1 -0
  7. package/dist/_context.js +147 -0
  8. package/dist/_context.js.map +1 -0
  9. package/dist/_events.d.ts +64 -0
  10. package/dist/_events.d.ts.map +1 -0
  11. package/dist/_events.js +92 -0
  12. package/dist/_events.js.map +1 -0
  13. package/dist/_idle.d.ts +7 -0
  14. package/dist/_idle.d.ts.map +1 -0
  15. package/dist/_idle.js +10 -0
  16. package/dist/_idle.js.map +1 -0
  17. package/dist/_metadata.d.ts +117 -0
  18. package/dist/_metadata.d.ts.map +1 -0
  19. package/dist/_metadata.js +246 -0
  20. package/dist/_metadata.js.map +1 -0
  21. package/dist/_process-protection.d.ts +25 -0
  22. package/dist/_process-protection.d.ts.map +1 -0
  23. package/dist/_process-protection.js +65 -0
  24. package/dist/_process-protection.js.map +1 -0
  25. package/dist/_server.d.ts +46 -0
  26. package/dist/_server.d.ts.map +1 -0
  27. package/dist/_server.js +85 -0
  28. package/dist/_server.js.map +1 -0
  29. package/dist/_services.d.ts +21 -0
  30. package/dist/_services.d.ts.map +1 -0
  31. package/dist/_services.js +248 -0
  32. package/dist/_services.js.map +1 -0
  33. package/dist/_standalone.d.ts +208 -0
  34. package/dist/_standalone.d.ts.map +1 -0
  35. package/dist/_standalone.js +569 -0
  36. package/dist/_standalone.js.map +1 -0
  37. package/dist/_tokens.d.ts +12 -0
  38. package/dist/_tokens.d.ts.map +1 -0
  39. package/dist/_tokens.js +96 -0
  40. package/dist/_tokens.js.map +1 -0
  41. package/dist/_util.d.ts +16 -0
  42. package/dist/_util.d.ts.map +1 -0
  43. package/dist/_util.js +54 -0
  44. package/dist/_util.js.map +1 -0
  45. package/dist/_validation.d.ts +89 -0
  46. package/dist/_validation.d.ts.map +1 -0
  47. package/dist/_validation.js +29 -0
  48. package/dist/_validation.js.map +1 -0
  49. package/dist/_waituntil.d.ts +18 -0
  50. package/dist/_waituntil.d.ts.map +1 -0
  51. package/dist/_waituntil.js +97 -0
  52. package/dist/_waituntil.js.map +1 -0
  53. package/dist/agent.d.ts +1210 -0
  54. package/dist/agent.d.ts.map +1 -0
  55. package/dist/agent.js +903 -0
  56. package/dist/agent.js.map +1 -0
  57. package/dist/app.d.ts +322 -0
  58. package/dist/app.d.ts.map +1 -0
  59. package/dist/app.js +160 -0
  60. package/dist/app.js.map +1 -0
  61. package/dist/bun-s3-patch.d.ts +37 -0
  62. package/dist/bun-s3-patch.d.ts.map +1 -0
  63. package/dist/bun-s3-patch.js +139 -0
  64. package/dist/bun-s3-patch.js.map +1 -0
  65. package/dist/cors.d.ts +42 -0
  66. package/dist/cors.d.ts.map +1 -0
  67. package/dist/cors.js +117 -0
  68. package/dist/cors.js.map +1 -0
  69. package/dist/devmode.d.ts +3 -0
  70. package/dist/devmode.d.ts.map +1 -0
  71. package/dist/devmode.js +167 -0
  72. package/dist/devmode.js.map +1 -0
  73. package/dist/eval.d.ts +91 -0
  74. package/dist/eval.d.ts.map +1 -0
  75. package/dist/eval.js +16 -0
  76. package/dist/eval.js.map +1 -0
  77. package/dist/handlers/cron.d.ts +47 -0
  78. package/dist/handlers/cron.d.ts.map +1 -0
  79. package/dist/handlers/cron.js +49 -0
  80. package/dist/handlers/cron.js.map +1 -0
  81. package/dist/handlers/index.d.ts +5 -0
  82. package/dist/handlers/index.d.ts.map +1 -0
  83. package/dist/handlers/index.js +5 -0
  84. package/dist/handlers/index.js.map +1 -0
  85. package/dist/handlers/sse.d.ts +91 -0
  86. package/dist/handlers/sse.d.ts.map +1 -0
  87. package/dist/handlers/sse.js +213 -0
  88. package/dist/handlers/sse.js.map +1 -0
  89. package/dist/handlers/stream.d.ts +52 -0
  90. package/dist/handlers/stream.d.ts.map +1 -0
  91. package/dist/handlers/stream.js +116 -0
  92. package/dist/handlers/stream.js.map +1 -0
  93. package/dist/handlers/websocket.d.ts +49 -0
  94. package/dist/handlers/websocket.d.ts.map +1 -0
  95. package/dist/handlers/websocket.js +143 -0
  96. package/dist/handlers/websocket.js.map +1 -0
  97. package/dist/index.d.ts +71 -0
  98. package/dist/index.d.ts.map +1 -0
  99. package/dist/index.js +58 -0
  100. package/dist/index.js.map +1 -0
  101. package/dist/logger/console.d.ts +70 -0
  102. package/dist/logger/console.d.ts.map +1 -0
  103. package/dist/logger/console.js +274 -0
  104. package/dist/logger/console.js.map +1 -0
  105. package/dist/logger/index.d.ts +3 -0
  106. package/dist/logger/index.d.ts.map +1 -0
  107. package/dist/logger/index.js +3 -0
  108. package/dist/logger/index.js.map +1 -0
  109. package/dist/logger/internal.d.ts +79 -0
  110. package/dist/logger/internal.d.ts.map +1 -0
  111. package/dist/logger/internal.js +133 -0
  112. package/dist/logger/internal.js.map +1 -0
  113. package/dist/logger/logger.d.ts +41 -0
  114. package/dist/logger/logger.d.ts.map +1 -0
  115. package/dist/logger/logger.js +2 -0
  116. package/dist/logger/logger.js.map +1 -0
  117. package/dist/logger/user.d.ts +8 -0
  118. package/dist/logger/user.d.ts.map +1 -0
  119. package/dist/logger/user.js +7 -0
  120. package/dist/logger/user.js.map +1 -0
  121. package/dist/logger/util.d.ts +11 -0
  122. package/dist/logger/util.d.ts.map +1 -0
  123. package/dist/logger/util.js +77 -0
  124. package/dist/logger/util.js.map +1 -0
  125. package/dist/middleware.d.ts +112 -0
  126. package/dist/middleware.d.ts.map +1 -0
  127. package/dist/middleware.js +507 -0
  128. package/dist/middleware.js.map +1 -0
  129. package/dist/otel/config.d.ts +19 -0
  130. package/dist/otel/config.d.ts.map +1 -0
  131. package/dist/otel/config.js +26 -0
  132. package/dist/otel/config.js.map +1 -0
  133. package/dist/otel/console.d.ts +33 -0
  134. package/dist/otel/console.d.ts.map +1 -0
  135. package/dist/otel/console.js +86 -0
  136. package/dist/otel/console.js.map +1 -0
  137. package/dist/otel/exporters/index.d.ts +4 -0
  138. package/dist/otel/exporters/index.d.ts.map +1 -0
  139. package/dist/otel/exporters/index.js +4 -0
  140. package/dist/otel/exporters/index.js.map +1 -0
  141. package/dist/otel/exporters/jsonl-log-exporter.d.ts +36 -0
  142. package/dist/otel/exporters/jsonl-log-exporter.d.ts.map +1 -0
  143. package/dist/otel/exporters/jsonl-log-exporter.js +103 -0
  144. package/dist/otel/exporters/jsonl-log-exporter.js.map +1 -0
  145. package/dist/otel/exporters/jsonl-metric-exporter.d.ts +40 -0
  146. package/dist/otel/exporters/jsonl-metric-exporter.d.ts.map +1 -0
  147. package/dist/otel/exporters/jsonl-metric-exporter.js +104 -0
  148. package/dist/otel/exporters/jsonl-metric-exporter.js.map +1 -0
  149. package/dist/otel/exporters/jsonl-trace-exporter.d.ts +36 -0
  150. package/dist/otel/exporters/jsonl-trace-exporter.d.ts.map +1 -0
  151. package/dist/otel/exporters/jsonl-trace-exporter.js +111 -0
  152. package/dist/otel/exporters/jsonl-trace-exporter.js.map +1 -0
  153. package/dist/otel/fetch.d.ts +12 -0
  154. package/dist/otel/fetch.d.ts.map +1 -0
  155. package/dist/otel/fetch.js +82 -0
  156. package/dist/otel/fetch.js.map +1 -0
  157. package/dist/otel/http.d.ts +16 -0
  158. package/dist/otel/http.d.ts.map +1 -0
  159. package/dist/otel/http.js +44 -0
  160. package/dist/otel/http.js.map +1 -0
  161. package/dist/otel/logger.d.ts +37 -0
  162. package/dist/otel/logger.d.ts.map +1 -0
  163. package/dist/otel/logger.js +268 -0
  164. package/dist/otel/logger.js.map +1 -0
  165. package/dist/otel/otel.d.ts +65 -0
  166. package/dist/otel/otel.d.ts.map +1 -0
  167. package/dist/otel/otel.js +261 -0
  168. package/dist/otel/otel.js.map +1 -0
  169. package/dist/router.d.ts +100 -0
  170. package/dist/router.d.ts.map +1 -0
  171. package/dist/router.js +163 -0
  172. package/dist/router.js.map +1 -0
  173. package/dist/services/evalrun/composite.d.ts +21 -0
  174. package/dist/services/evalrun/composite.d.ts.map +1 -0
  175. package/dist/services/evalrun/composite.js +26 -0
  176. package/dist/services/evalrun/composite.js.map +1 -0
  177. package/dist/services/evalrun/http.d.ts +24 -0
  178. package/dist/services/evalrun/http.d.ts.map +1 -0
  179. package/dist/services/evalrun/http.js +86 -0
  180. package/dist/services/evalrun/http.js.map +1 -0
  181. package/dist/services/evalrun/index.d.ts +5 -0
  182. package/dist/services/evalrun/index.d.ts.map +1 -0
  183. package/dist/services/evalrun/index.js +5 -0
  184. package/dist/services/evalrun/index.js.map +1 -0
  185. package/dist/services/evalrun/json.d.ts +21 -0
  186. package/dist/services/evalrun/json.d.ts.map +1 -0
  187. package/dist/services/evalrun/json.js +38 -0
  188. package/dist/services/evalrun/json.js.map +1 -0
  189. package/dist/services/evalrun/local.d.ts +19 -0
  190. package/dist/services/evalrun/local.d.ts.map +1 -0
  191. package/dist/services/evalrun/local.js +22 -0
  192. package/dist/services/evalrun/local.js.map +1 -0
  193. package/dist/services/local/_db.d.ts +4 -0
  194. package/dist/services/local/_db.d.ts.map +1 -0
  195. package/dist/services/local/_db.js +123 -0
  196. package/dist/services/local/_db.js.map +1 -0
  197. package/dist/services/local/_router.d.ts +3 -0
  198. package/dist/services/local/_router.d.ts.map +1 -0
  199. package/dist/services/local/_router.js +28 -0
  200. package/dist/services/local/_router.js.map +1 -0
  201. package/dist/services/local/_util.d.ts +18 -0
  202. package/dist/services/local/_util.d.ts.map +1 -0
  203. package/dist/services/local/_util.js +44 -0
  204. package/dist/services/local/_util.js.map +1 -0
  205. package/dist/services/local/index.d.ts +7 -0
  206. package/dist/services/local/index.d.ts.map +1 -0
  207. package/dist/services/local/index.js +7 -0
  208. package/dist/services/local/index.js.map +1 -0
  209. package/dist/services/local/keyvalue.d.ts +17 -0
  210. package/dist/services/local/keyvalue.d.ts.map +1 -0
  211. package/dist/services/local/keyvalue.js +125 -0
  212. package/dist/services/local/keyvalue.js.map +1 -0
  213. package/dist/services/local/stream.d.ts +12 -0
  214. package/dist/services/local/stream.d.ts.map +1 -0
  215. package/dist/services/local/stream.js +262 -0
  216. package/dist/services/local/stream.js.map +1 -0
  217. package/dist/services/local/vector.d.ts +17 -0
  218. package/dist/services/local/vector.d.ts.map +1 -0
  219. package/dist/services/local/vector.js +303 -0
  220. package/dist/services/local/vector.js.map +1 -0
  221. package/dist/services/sandbox/http.d.ts +13 -0
  222. package/dist/services/sandbox/http.d.ts.map +1 -0
  223. package/dist/services/sandbox/http.js +130 -0
  224. package/dist/services/sandbox/http.js.map +1 -0
  225. package/dist/services/sandbox/index.d.ts +2 -0
  226. package/dist/services/sandbox/index.d.ts.map +1 -0
  227. package/dist/services/sandbox/index.js +2 -0
  228. package/dist/services/sandbox/index.js.map +1 -0
  229. package/dist/services/session/composite.d.ts +21 -0
  230. package/dist/services/session/composite.d.ts.map +1 -0
  231. package/dist/services/session/composite.js +26 -0
  232. package/dist/services/session/composite.js.map +1 -0
  233. package/dist/services/session/http.d.ts +34 -0
  234. package/dist/services/session/http.d.ts.map +1 -0
  235. package/dist/services/session/http.js +80 -0
  236. package/dist/services/session/http.js.map +1 -0
  237. package/dist/services/session/index.d.ts +5 -0
  238. package/dist/services/session/index.d.ts.map +1 -0
  239. package/dist/services/session/index.js +5 -0
  240. package/dist/services/session/index.js.map +1 -0
  241. package/dist/services/session/json.d.ts +22 -0
  242. package/dist/services/session/json.d.ts.map +1 -0
  243. package/dist/services/session/json.js +35 -0
  244. package/dist/services/session/json.js.map +1 -0
  245. package/dist/services/session/local.d.ts +19 -0
  246. package/dist/services/session/local.d.ts.map +1 -0
  247. package/dist/services/session/local.js +23 -0
  248. package/dist/services/session/local.js.map +1 -0
  249. package/dist/services/thread/local.d.ts +20 -0
  250. package/dist/services/thread/local.d.ts.map +1 -0
  251. package/dist/services/thread/local.js +158 -0
  252. package/dist/services/thread/local.js.map +1 -0
  253. package/dist/session.d.ts +734 -0
  254. package/dist/session.d.ts.map +1 -0
  255. package/dist/session.js +1139 -0
  256. package/dist/session.js.map +1 -0
  257. package/dist/validator.d.ts +142 -0
  258. package/dist/validator.d.ts.map +1 -0
  259. package/dist/validator.js +149 -0
  260. package/dist/validator.js.map +1 -0
  261. package/dist/web.d.ts +8 -0
  262. package/dist/web.d.ts.map +1 -0
  263. package/dist/web.js +66 -0
  264. package/dist/web.js.map +1 -0
  265. package/dist/workbench.d.ts +17 -0
  266. package/dist/workbench.d.ts.map +1 -0
  267. package/dist/workbench.js +507 -0
  268. package/dist/workbench.js.map +1 -0
  269. package/package.json +8 -8
@@ -0,0 +1,100 @@
1
+ export declare function init(): void;
2
+ /**
3
+ * Returns the SDK Version that was used to build this app
4
+ *
5
+ * @returns string
6
+ */
7
+ export declare function getSDKVersion(): string;
8
+ /**
9
+ * Returns the App Name that was used when this app was built
10
+ *
11
+ * @returns string
12
+ */
13
+ export declare function getAppName(): string;
14
+ /**
15
+ * Returns the App Version that was used when this app was built
16
+ *
17
+ * @returns string
18
+ */
19
+ export declare function getAppVersion(): string;
20
+ /**
21
+ * Returns the Organization ID for this app
22
+ *
23
+ * @returns string
24
+ */
25
+ export declare function getOrganizationId(): string | undefined;
26
+ /**
27
+ * Returns the Project ID for this app
28
+ *
29
+ * @returns string
30
+ */
31
+ export declare function getProjectId(): string | undefined;
32
+ /**
33
+ * Returns the Deployment ID for this app that was deployed
34
+ *
35
+ * @returns string | undefined
36
+ */
37
+ export declare function getDeploymentId(): string | undefined;
38
+ /**
39
+ * Returns true if the app is running in dev mode
40
+ *
41
+ * @returns boolean
42
+ */
43
+ export declare function isDevMode(): boolean;
44
+ /**
45
+ * Returns true if the app is running in production mode
46
+ *
47
+ * @returns boolean
48
+ */
49
+ export declare function isProduction(): boolean;
50
+ /**
51
+ * Returns the CLI version that was used when this app was built
52
+ *
53
+ * @returns string
54
+ */
55
+ export declare function getCLIVersion(): string;
56
+ /**
57
+ * Returns the environment setting for this app
58
+ *
59
+ * @returns string
60
+ */
61
+ export declare function getEnvironment(): string;
62
+ /**
63
+ * Returns true if the AGENTUITY_SDK_KEY is set
64
+ *
65
+ * @returns boolean
66
+ */
67
+ export declare function isAuthenticated(): boolean;
68
+ /**
69
+ * Symbol for accessing internal runtime state.
70
+ * Defined here to avoid circular dependency.
71
+ */
72
+ export declare const AGENT_RUNTIME: unique symbol;
73
+ /**
74
+ * Symbol for accessing internal agent from AgentRunner.
75
+ * @internal
76
+ */
77
+ export declare const INTERNAL_AGENT: unique symbol;
78
+ /**
79
+ * Symbol for tracking the current executing agent (for telemetry).
80
+ * Not exposed on public AgentContext interface.
81
+ * @internal
82
+ */
83
+ export declare const CURRENT_AGENT: unique symbol;
84
+ /**
85
+ * Symbol for tracking agent IDs that have executed in this session.
86
+ * Used in standalone contexts to track agents for session events.
87
+ * @internal
88
+ */
89
+ export declare const AGENT_IDS: unique symbol;
90
+ /**
91
+ * Returns true if running inside the Agentuity agent runtime (dev server or cloud).
92
+ *
93
+ * This is used to determine whether global state (logger, tracer, services) should
94
+ * already be initialized. When running standalone (scripts, Discord bots, cron jobs),
95
+ * this returns false and the runtime will auto-initialize minimal defaults.
96
+ *
97
+ * @returns boolean - true if AGENTUITY_SDK_DEV_MODE=true or AGENTUITY_RUNTIME=yes
98
+ */
99
+ export declare function isInsideAgentRuntime(): boolean;
100
+ //# sourceMappingURL=_config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_config.d.ts","sourceRoot":"","sources":["../src/_config.ts"],"names":[],"mappings":"AAOA,wBAAgB,IAAI,SAenB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAGtC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,cAAc,eAA2B,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,SAAS,eAAsB,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
@@ -0,0 +1,147 @@
1
+ import { readFileSync, existsSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ let appName;
4
+ let appVersion;
5
+ let inited = false;
6
+ export function init() {
7
+ if (inited) {
8
+ return;
9
+ }
10
+ const f = join(import.meta.dir, isProduction() ? 'package.json' : '/../package.json');
11
+ if (existsSync(f)) {
12
+ try {
13
+ const pkg = JSON.parse(readFileSync(f, 'utf-8'));
14
+ appName = pkg.name;
15
+ appVersion = pkg.version;
16
+ }
17
+ catch {
18
+ // Fallback to defaults if parsing fails
19
+ }
20
+ }
21
+ inited = true;
22
+ }
23
+ /**
24
+ * Returns the SDK Version that was used to build this app
25
+ *
26
+ * @returns string
27
+ */
28
+ export function getSDKVersion() {
29
+ return process.env.AGENTUITY_CLOUD_SDK_VERSION ?? 'unknown';
30
+ }
31
+ /**
32
+ * Returns the App Name that was used when this app was built
33
+ *
34
+ * @returns string
35
+ */
36
+ export function getAppName() {
37
+ init();
38
+ return appName ?? 'unknown';
39
+ }
40
+ /**
41
+ * Returns the App Version that was used when this app was built
42
+ *
43
+ * @returns string
44
+ */
45
+ export function getAppVersion() {
46
+ init();
47
+ return appVersion ?? 'unknown';
48
+ }
49
+ /**
50
+ * Returns the Organization ID for this app
51
+ *
52
+ * @returns string
53
+ */
54
+ export function getOrganizationId() {
55
+ return process.env.AGENTUITY_CLOUD_ORG_ID;
56
+ }
57
+ /**
58
+ * Returns the Project ID for this app
59
+ *
60
+ * @returns string
61
+ */
62
+ export function getProjectId() {
63
+ return process.env.AGENTUITY_CLOUD_PROJECT_ID;
64
+ }
65
+ /**
66
+ * Returns the Deployment ID for this app that was deployed
67
+ *
68
+ * @returns string | undefined
69
+ */
70
+ export function getDeploymentId() {
71
+ return process.env.AGENTUITY_CLOUD_DEPLOYMENT_ID;
72
+ }
73
+ /**
74
+ * Returns true if the app is running in dev mode
75
+ *
76
+ * @returns boolean
77
+ */
78
+ export function isDevMode() {
79
+ return process.env.AGENTUITY_SDK_DEV_MODE === 'true';
80
+ }
81
+ /**
82
+ * Returns true if the app is running in production mode
83
+ *
84
+ * @returns boolean
85
+ */
86
+ export function isProduction() {
87
+ return getEnvironment() === 'production' && !isDevMode();
88
+ }
89
+ /**
90
+ * Returns the CLI version that was used when this app was built
91
+ *
92
+ * @returns string
93
+ */
94
+ export function getCLIVersion() {
95
+ return process.env.AGENTUITY_CLI_VERSION ?? 'unknown';
96
+ }
97
+ /**
98
+ * Returns the environment setting for this app
99
+ *
100
+ * @returns string
101
+ */
102
+ export function getEnvironment() {
103
+ return process.env.AGENTUITY_ENVIRONMENT || process.env.NODE_ENV || 'development';
104
+ }
105
+ /**
106
+ * Returns true if the AGENTUITY_SDK_KEY is set
107
+ *
108
+ * @returns boolean
109
+ */
110
+ export function isAuthenticated() {
111
+ return !!process.env.AGENTUITY_SDK_KEY;
112
+ }
113
+ /**
114
+ * Symbol for accessing internal runtime state.
115
+ * Defined here to avoid circular dependency.
116
+ */
117
+ export const AGENT_RUNTIME = Symbol('AGENT_RUNTIME');
118
+ /**
119
+ * Symbol for accessing internal agent from AgentRunner.
120
+ * @internal
121
+ */
122
+ export const INTERNAL_AGENT = Symbol('INTERNAL_AGENT');
123
+ /**
124
+ * Symbol for tracking the current executing agent (for telemetry).
125
+ * Not exposed on public AgentContext interface.
126
+ * @internal
127
+ */
128
+ export const CURRENT_AGENT = Symbol('CURRENT_AGENT');
129
+ /**
130
+ * Symbol for tracking agent IDs that have executed in this session.
131
+ * Used in standalone contexts to track agents for session events.
132
+ * @internal
133
+ */
134
+ export const AGENT_IDS = Symbol('AGENT_IDS');
135
+ /**
136
+ * Returns true if running inside the Agentuity agent runtime (dev server or cloud).
137
+ *
138
+ * This is used to determine whether global state (logger, tracer, services) should
139
+ * already be initialized. When running standalone (scripts, Discord bots, cron jobs),
140
+ * this returns false and the runtime will auto-initialize minimal defaults.
141
+ *
142
+ * @returns boolean - true if AGENTUITY_SDK_DEV_MODE=true or AGENTUITY_RUNTIME=yes
143
+ */
144
+ export function isInsideAgentRuntime() {
145
+ return process.env.AGENTUITY_SDK_DEV_MODE === 'true' || process.env.AGENTUITY_RUNTIME === 'yes';
146
+ }
147
+ //# sourceMappingURL=_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_config.js","sourceRoot":"","sources":["../src/_config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ import type { Context as HonoContext } from 'hono';
3
+ import type { Tracer } from '@opentelemetry/api';
4
+ import { type KeyValueStorage, type StreamStorage, type VectorStorage, type SandboxService } from '@agentuity/core';
5
+ import type { AuthInterface } from '@agentuity/auth';
6
+ import type { AgentContext, AgentRegistry, AgentRunner, AgentRuntimeState, AgentMetadata } from './agent';
7
+ import { AGENT_RUNTIME } from './_config';
8
+ import type { Logger } from './logger';
9
+ import type WaitUntilHandler from './_waituntil';
10
+ import type { Thread, Session } from './session';
11
+ export interface RequestAgentContextArgs<TAgentMap extends AgentRegistry = AgentRegistry, TConfig = unknown, TAppState = Record<string, never>> {
12
+ sessionId: string;
13
+ agent: TAgentMap;
14
+ logger: Logger;
15
+ tracer: Tracer;
16
+ session: Session;
17
+ thread: Thread;
18
+ handler: WaitUntilHandler;
19
+ config: TConfig;
20
+ app: TAppState;
21
+ runtime: AgentRuntimeState;
22
+ auth?: AuthInterface | null;
23
+ }
24
+ export declare class RequestAgentContext<TAgentMap extends AgentRegistry = AgentRegistry, TConfig = unknown, TAppState = Record<string, never>> implements AgentContext<TAgentMap, TConfig, TAppState> {
25
+ agent: TAgentMap;
26
+ logger: Logger;
27
+ sessionId: string;
28
+ tracer: Tracer;
29
+ kv: KeyValueStorage;
30
+ stream: StreamStorage;
31
+ vector: VectorStorage;
32
+ sandbox: SandboxService;
33
+ state: Map<string, unknown>;
34
+ session: Session;
35
+ thread: Thread;
36
+ config: TConfig;
37
+ app: TAppState;
38
+ current: AgentMetadata;
39
+ [AGENT_RUNTIME]: AgentRuntimeState;
40
+ private handler;
41
+ /**
42
+ * Fallback auth value for non-HTTP contexts (standalone, tests, etc.)
43
+ * @internal
44
+ */
45
+ private _initialAuth;
46
+ /**
47
+ * Authentication context - lazily reads from HTTP context if available.
48
+ *
49
+ * This is a getter that prefers the current HTTP context's `c.var.auth`,
50
+ * allowing auth middleware that runs after the agent middleware to still
51
+ * propagate auth to agents.
52
+ */
53
+ get auth(): AuthInterface | null;
54
+ /**
55
+ * Set auth for non-HTTP contexts (standalone, tests).
56
+ * @internal
57
+ */
58
+ set auth(value: AuthInterface | null);
59
+ constructor(args: RequestAgentContextArgs<TAgentMap, TConfig, TAppState>);
60
+ waitUntil(callback: Promise<void> | (() => void | Promise<void>)): void;
61
+ }
62
+ export declare const inAgentContext: () => boolean;
63
+ export declare const inHTTPContext: () => boolean;
64
+ export declare const getAgentContext: () => AgentContext<any, any, any>;
65
+ export declare const getHTTPContext: () => HonoContext;
66
+ export declare const getAgentAsyncLocalStorage: () => AsyncLocalStorage<AgentContext<any, any, any>>;
67
+ export declare const getHTTPAsyncLocalStorage: () => AsyncLocalStorage<HonoContext<any, any, {}>>;
68
+ /**
69
+ * Get the current executing agent's metadata (for internal telemetry use only).
70
+ * Returns undefined if not in an agent context or no agent is executing.
71
+ * @internal
72
+ */
73
+ export declare const getCurrentAgentMetadata: () => AgentRunner["metadata"] | undefined;
74
+ export declare const setupRequestAgentContext: <TAgentMap extends AgentRegistry = AgentRegistry, TConfig = unknown, TAppState = Record<string, never>>(ctxObject: Record<string, unknown>, args: RequestAgentContextArgs<TAgentMap, TConfig, TAppState>, next: () => Promise<void>) => Promise<void>;
75
+ export declare const runInHTTPContext: <HonoContext>(ctx: HonoContext, next: () => Promise<void>) => Promise<void>;
76
+ //# sourceMappingURL=_context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_context.d.ts","sourceRoot":"","sources":["../src/_context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ import { StructuredError, } from '@agentuity/core';
3
+ import { AGENT_RUNTIME, CURRENT_AGENT } from './_config';
4
+ import { registerServices } from './_services';
5
+ export class RequestAgentContext {
6
+ agent;
7
+ logger;
8
+ sessionId;
9
+ tracer;
10
+ kv;
11
+ stream;
12
+ vector;
13
+ sandbox;
14
+ state;
15
+ session;
16
+ thread;
17
+ config;
18
+ app;
19
+ current;
20
+ [AGENT_RUNTIME];
21
+ handler;
22
+ /**
23
+ * Fallback auth value for non-HTTP contexts (standalone, tests, etc.)
24
+ * @internal
25
+ */
26
+ _initialAuth;
27
+ /**
28
+ * Authentication context - lazily reads from HTTP context if available.
29
+ *
30
+ * This is a getter that prefers the current HTTP context's `c.var.auth`,
31
+ * allowing auth middleware that runs after the agent middleware to still
32
+ * propagate auth to agents.
33
+ */
34
+ get auth() {
35
+ // Prefer HTTP context var.auth if available (allows late-binding from route middleware)
36
+ if (inHTTPContext()) {
37
+ try {
38
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
+ const httpCtx = httpAsyncLocalStorage.getStore();
40
+ if (httpCtx?.var && 'auth' in httpCtx.var) {
41
+ return httpCtx.var.auth ?? null;
42
+ }
43
+ }
44
+ catch {
45
+ // If HTTP context not available, fall through
46
+ }
47
+ }
48
+ // Fallback: whatever was passed in at creation time (for standalone/test contexts)
49
+ return this._initialAuth;
50
+ }
51
+ /**
52
+ * Set auth for non-HTTP contexts (standalone, tests).
53
+ * @internal
54
+ */
55
+ set auth(value) {
56
+ this._initialAuth = value;
57
+ }
58
+ constructor(args) {
59
+ this.agent = args.agent;
60
+ this.logger = args.logger;
61
+ this.sessionId = args.sessionId;
62
+ this.tracer = args.tracer;
63
+ this.thread = args.thread;
64
+ this.session = args.session;
65
+ this.config = args.config;
66
+ this.app = args.app;
67
+ this._initialAuth = args.auth ?? null;
68
+ this[AGENT_RUNTIME] = args.runtime;
69
+ this.state = new Map();
70
+ this.handler = args.handler;
71
+ registerServices(this, false); // agents already populated via args.agent
72
+ }
73
+ waitUntil(callback) {
74
+ this.handler.waitUntil(callback);
75
+ }
76
+ }
77
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
78
+ const agentAsyncLocalStorage = new AsyncLocalStorage();
79
+ const httpAsyncLocalStorage = new AsyncLocalStorage();
80
+ export const inAgentContext = () => {
81
+ const context = agentAsyncLocalStorage.getStore();
82
+ return !!context;
83
+ };
84
+ export const inHTTPContext = () => {
85
+ const context = httpAsyncLocalStorage.getStore();
86
+ return !!context;
87
+ };
88
+ const AgentContextNotAvailableError = StructuredError('AgentContextNotAvailableError', 'AgentContext is not available');
89
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
+ export const getAgentContext = () => {
91
+ const context = agentAsyncLocalStorage.getStore();
92
+ if (!context) {
93
+ throw new AgentContextNotAvailableError();
94
+ }
95
+ return context;
96
+ };
97
+ const HTTPContextNotAvailableError = StructuredError('HTTPContextNotAvailableError', 'HTTPContext is not available');
98
+ export const getHTTPContext = () => {
99
+ const context = httpAsyncLocalStorage.getStore();
100
+ if (!context) {
101
+ throw new HTTPContextNotAvailableError();
102
+ }
103
+ return context;
104
+ };
105
+ export const getAgentAsyncLocalStorage = () => agentAsyncLocalStorage;
106
+ export const getHTTPAsyncLocalStorage = () => httpAsyncLocalStorage;
107
+ /**
108
+ * Get the current executing agent's metadata (for internal telemetry use only).
109
+ * Returns undefined if not in an agent context or no agent is executing.
110
+ * @internal
111
+ */
112
+ export const getCurrentAgentMetadata = () => {
113
+ const context = agentAsyncLocalStorage.getStore();
114
+ if (!context)
115
+ return undefined;
116
+ // Access internal symbol property
117
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
+ return context[CURRENT_AGENT]?.metadata;
119
+ };
120
+ export const setupRequestAgentContext = (ctxObject, args, next) => {
121
+ const ctx = new RequestAgentContext(args);
122
+ // Note: All Hono context variables are set via c.set() in _server.ts middleware.
123
+ // RequestAgentContext is only used within agents via AsyncLocalStorage.
124
+ // No properties need to be copied between them.
125
+ // Provide executionCtx.waitUntil for compatibility with Cloudflare Workers API
126
+ Object.defineProperty(ctxObject, 'executionCtx', {
127
+ get() {
128
+ return {
129
+ waitUntil: (promise) => {
130
+ args.handler.waitUntil(promise);
131
+ },
132
+ passThroughOnException: () => { },
133
+ props: {},
134
+ };
135
+ },
136
+ configurable: true,
137
+ });
138
+ return agentAsyncLocalStorage.run(ctx, async () => {
139
+ const result = await next();
140
+ return result;
141
+ });
142
+ };
143
+ export const runInHTTPContext = async (ctx, next) => {
144
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
145
+ return httpAsyncLocalStorage.run(ctx, next);
146
+ };
147
+ //# sourceMappingURL=_context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_context.js","sourceRoot":"","sources":["../src/_context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Global event bus for Vite-native architecture
3
+ * Replaces the App class event system
4
+ */
5
+ import type { Agent, AgentContext } from './agent';
6
+ import type { Session, Thread } from './session';
7
+ export type AppEventMap<TAppState = Record<string, never>> = {
8
+ 'agent.started': [Agent<any, any, any, any, TAppState>, AgentContext<any, any, TAppState>];
9
+ 'agent.completed': [Agent<any, any, any, any, TAppState>, AgentContext<any, any, TAppState>];
10
+ 'agent.errored': [
11
+ Agent<any, any, any, any, TAppState>,
12
+ AgentContext<any, any, TAppState>,
13
+ Error
14
+ ];
15
+ 'session.started': [Session];
16
+ 'session.completed': [Session];
17
+ 'thread.created': [Thread];
18
+ 'thread.destroyed': [Thread];
19
+ };
20
+ type AppEventCallback<K extends keyof AppEventMap<any>, TAppState = Record<string, never>> = (eventName: K, ...args: AppEventMap<TAppState>[K]) => void | Promise<void>;
21
+ /**
22
+ * Register an event listener for application lifecycle events.
23
+ *
24
+ * Available events:
25
+ * - `agent.started` - Fired when an agent begins execution
26
+ * - `agent.completed` - Fired when an agent completes successfully
27
+ * - `agent.errored` - Fired when an agent throws an error
28
+ * - `session.started` - Fired when a new session starts
29
+ * - `session.completed` - Fired when a session completes
30
+ * - `thread.created` - Fired when a thread is created
31
+ * - `thread.destroyed` - Fired when a thread is destroyed
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * import { addEventListener } from '@agentuity/runtime';
36
+ *
37
+ * addEventListener('agent.started', (eventName, agent, ctx) => {
38
+ * console.log(`${agent.metadata.name} started for session ${ctx.sessionId}`);
39
+ * });
40
+ * ```
41
+ */
42
+ export declare function addEventListener<K extends keyof AppEventMap<any>>(eventName: K, callback: AppEventCallback<K, any>): void;
43
+ /**
44
+ * Remove a previously registered event listener.
45
+ */
46
+ export declare function removeEventListener<K extends keyof AppEventMap<any>>(eventName: K, callback: AppEventCallback<K, any>): void;
47
+ /**
48
+ * Fire a global application event.
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * import { fireEvent } from '@agentuity/runtime';
53
+ *
54
+ * await fireEvent('session.started', session);
55
+ * await fireEvent('agent.completed', agent, ctx);
56
+ * ```
57
+ */
58
+ export declare function fireEvent<K extends keyof AppEventMap<any>>(eventName: K, ...args: AppEventMap<any>[K]): Promise<void>;
59
+ /**
60
+ * Clear all event listeners (useful for testing)
61
+ */
62
+ export declare function clearAllEventListeners(): void;
63
+ export {};
64
+ //# sourceMappingURL=_events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_events.d.ts","sourceRoot":"","sources":["../src/_events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAMjD,MAAM,MAAM,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI;IAC5D,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3F,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7F,eAAe,EAAE;QAChB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC;QACpC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC;QACjC,KAAK;KACL,CAAC;IACF,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7B,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC;IAC/B,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;IAC3B,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC;CAC7B,CAAC;AAEF,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAC5F,SAAS,EAAE,CAAC,EACZ,GAAG,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAC9B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAmD1B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,WAAW,CAAC,GAAG,CAAC,EAChE,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,GAChC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,WAAW,CAAC,GAAG,CAAC,EACnE,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,GAChC,IAAI,CAEN;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,CAAC,SAAS,MAAM,WAAW,CAAC,GAAG,CAAC,EAC/D,SAAS,EAAE,CAAC,EACZ,GAAG,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Global event bus for Vite-native architecture
3
+ * Replaces the App class event system
4
+ */
5
+ import { internal } from './logger/internal';
6
+ class GlobalEventBus {
7
+ eventListeners = new Map();
8
+ addEventListener(eventName, callback) {
9
+ let callbacks = this.eventListeners.get(eventName);
10
+ if (!callbacks) {
11
+ callbacks = new Set();
12
+ this.eventListeners.set(eventName, callbacks);
13
+ }
14
+ callbacks.add(callback);
15
+ }
16
+ removeEventListener(eventName, callback) {
17
+ const callbacks = this.eventListeners.get(eventName);
18
+ if (!callbacks)
19
+ return;
20
+ callbacks.delete(callback);
21
+ }
22
+ async fireEvent(eventName, ...args) {
23
+ const callbacks = this.eventListeners.get(eventName);
24
+ if (!callbacks || callbacks.size === 0)
25
+ return;
26
+ for (const callback of callbacks) {
27
+ try {
28
+ await callback(eventName, ...args);
29
+ }
30
+ catch (error) {
31
+ // Log but don't re-throw - event listener errors should not crash the server
32
+ internal.error(`Error in event listener for '${eventName}':`, error);
33
+ }
34
+ }
35
+ }
36
+ clearAllListeners() {
37
+ this.eventListeners.clear();
38
+ }
39
+ }
40
+ // Global singleton instance
41
+ const globalEventBus = new GlobalEventBus();
42
+ /**
43
+ * Register an event listener for application lifecycle events.
44
+ *
45
+ * Available events:
46
+ * - `agent.started` - Fired when an agent begins execution
47
+ * - `agent.completed` - Fired when an agent completes successfully
48
+ * - `agent.errored` - Fired when an agent throws an error
49
+ * - `session.started` - Fired when a new session starts
50
+ * - `session.completed` - Fired when a session completes
51
+ * - `thread.created` - Fired when a thread is created
52
+ * - `thread.destroyed` - Fired when a thread is destroyed
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * import { addEventListener } from '@agentuity/runtime';
57
+ *
58
+ * addEventListener('agent.started', (eventName, agent, ctx) => {
59
+ * console.log(`${agent.metadata.name} started for session ${ctx.sessionId}`);
60
+ * });
61
+ * ```
62
+ */
63
+ export function addEventListener(eventName, callback) {
64
+ globalEventBus.addEventListener(eventName, callback);
65
+ }
66
+ /**
67
+ * Remove a previously registered event listener.
68
+ */
69
+ export function removeEventListener(eventName, callback) {
70
+ globalEventBus.removeEventListener(eventName, callback);
71
+ }
72
+ /**
73
+ * Fire a global application event.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * import { fireEvent } from '@agentuity/runtime';
78
+ *
79
+ * await fireEvent('session.started', session);
80
+ * await fireEvent('agent.completed', agent, ctx);
81
+ * ```
82
+ */
83
+ export async function fireEvent(eventName, ...args) {
84
+ await globalEventBus.fireEvent(eventName, ...args);
85
+ }
86
+ /**
87
+ * Clear all event listeners (useful for testing)
88
+ */
89
+ export function clearAllEventListeners() {
90
+ globalEventBus.clearAllListeners();
91
+ }
92
+ //# sourceMappingURL=_events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_events.js","sourceRoot":"","sources":["../src/_events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAwB7C,MAAM,cAAc;IACX,cAAc,GAAG,IAAI,GAAG,EAA2D,CAAC;IAE5F,gBAAgB,CACf,SAAY,EACZ,QAAkC;QAElC,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,mBAAmB,CAClB,SAAY,EACZ,QAAkC;QAElC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS,CACd,SAAY,EACZ,GAAG,IAAyB;QAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC;gBACJ,MAAM,QAAQ,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,6EAA6E;gBAC7E,QAAQ,CAAC,KAAK,CAAC,gCAAgC,SAAS,IAAI,EAAE,KAAK,CAAC,CAAC;YACtE,CAAC;QACF,CAAC;IACF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACD;AAED,4BAA4B;AAC5B,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gBAAgB,CAC/B,SAAY,EACZ,QAAkC;IAElC,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAClC,SAAY,EACZ,QAAkC;IAElC,cAAc,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,SAAY,EACZ,GAAG,IAAyB;IAE5B,MAAM,cAAc,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACrC,cAAc,CAAC,iBAAiB,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * returns true if the server is idle (no pending waitUntil tasks)
3
+ *
4
+ * @returns true if idle
5
+ */
6
+ export declare function isIdle(): boolean;
7
+ //# sourceMappingURL=_idle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_idle.d.ts","sourceRoot":"","sources":["../src/_idle.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,MAAM,YAErB"}