@db3.ai/app 0.1.0-beta.1

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 (1024) hide show
  1. package/LICENSE +31 -0
  2. package/README.md +241 -0
  3. package/agent-instructions.md +69 -0
  4. package/bin/db3-agents.mjs +140 -0
  5. package/bin/db3.mjs +11 -0
  6. package/dist/ai/AIErrors.d.ts +33 -0
  7. package/dist/ai/AIErrors.js +43 -0
  8. package/dist/ai/AIFailover.d.ts +25 -0
  9. package/dist/ai/AIFailover.js +96 -0
  10. package/dist/ai/AIProviders.d.ts +35 -0
  11. package/dist/ai/AIProviders.js +197 -0
  12. package/dist/ai/AIQuotaDeferredError.d.ts +19 -0
  13. package/dist/ai/AIQuotaDeferredError.js +25 -0
  14. package/dist/ai/AIRateLimiter.d.ts +103 -0
  15. package/dist/ai/AIRateLimiter.js +690 -0
  16. package/dist/ai/Agent.d.ts +633 -0
  17. package/dist/ai/Agent.js +2976 -0
  18. package/dist/ai/AgentHistory.d.ts +11 -0
  19. package/dist/ai/AgentHistory.js +495 -0
  20. package/dist/ai/AgentRunJob.d.ts +21 -0
  21. package/dist/ai/AgentRunJob.js +53 -0
  22. package/dist/ai/Ai.d.ts +375 -0
  23. package/dist/ai/Ai.js +1771 -0
  24. package/dist/ai/AiConversation.d.ts +17 -0
  25. package/dist/ai/AiConversation.js +38 -0
  26. package/dist/ai/AiExecutionContext.d.ts +7 -0
  27. package/dist/ai/AiExecutionContext.js +16 -0
  28. package/dist/ai/AiMessage.d.ts +43 -0
  29. package/dist/ai/AiMessage.js +105 -0
  30. package/dist/ai/AiRateLimitBucket.d.ts +69 -0
  31. package/dist/ai/AiRateLimitBucket.js +138 -0
  32. package/dist/ai/AiRateLimitReservation.d.ts +56 -0
  33. package/dist/ai/AiRateLimitReservation.js +101 -0
  34. package/dist/ai/AiRequest.d.ts +78 -0
  35. package/dist/ai/AiRequest.js +384 -0
  36. package/dist/ai/Estimates.d.ts +26 -0
  37. package/dist/ai/Estimates.js +34 -0
  38. package/dist/ai/Models.d.ts +88 -0
  39. package/dist/ai/Models.js +328 -0
  40. package/dist/ai/OpenAIProviderError.d.ts +30 -0
  41. package/dist/ai/OpenAIProviderError.js +77 -0
  42. package/dist/ai/OpenAIQuotaRetry.d.ts +27 -0
  43. package/dist/ai/OpenAIQuotaRetry.js +144 -0
  44. package/dist/ai/ProviderCosts.d.ts +55 -0
  45. package/dist/ai/ProviderCosts.js +108 -0
  46. package/dist/ai/ResponsesProviderCall.d.ts +13 -0
  47. package/dist/ai/ResponsesProviderCall.js +29 -0
  48. package/dist/ai/agentCitations.d.ts +27 -0
  49. package/dist/ai/agentCitations.js +153 -0
  50. package/dist/ai/contracts/AI.d.ts +347 -0
  51. package/dist/ai/contracts/AI.js +13 -0
  52. package/dist/ai/contracts/Agent.d.ts +476 -0
  53. package/dist/ai/contracts/Agent.js +1 -0
  54. package/dist/ai/contracts/AiRequestRunCostSummary.d.ts +31 -0
  55. package/dist/ai/contracts/AiRequestRunCostSummary.js +1 -0
  56. package/dist/ai/contracts/Pricing.d.ts +88 -0
  57. package/dist/ai/contracts/Pricing.js +1 -0
  58. package/dist/ai/contracts/Providers.d.ts +68 -0
  59. package/dist/ai/contracts/Providers.js +1 -0
  60. package/dist/ai/contracts/QuotaRetry.d.ts +38 -0
  61. package/dist/ai/contracts/QuotaRetry.js +1 -0
  62. package/dist/ai/contracts/RateLimits.d.ts +45 -0
  63. package/dist/ai/contracts/RateLimits.js +1 -0
  64. package/dist/ai/contracts/ResponsesProviderCall.d.ts +28 -0
  65. package/dist/ai/contracts/ResponsesProviderCall.js +1 -0
  66. package/dist/ai/contracts/index.d.ts +8 -0
  67. package/dist/ai/contracts/index.js +8 -0
  68. package/dist/ai/index.d.ts +27 -0
  69. package/dist/ai/index.js +27 -0
  70. package/dist/ai/registry.d.ts +28 -0
  71. package/dist/ai/registry.js +49 -0
  72. package/dist/ai/sdkNodeCompatibility.d.ts +76 -0
  73. package/dist/ai/toolCallRecovery.d.ts +16 -0
  74. package/dist/ai/toolCallRecovery.js +71 -0
  75. package/dist/ai/toolHelpers.d.ts +65 -0
  76. package/dist/ai/toolHelpers.js +106 -0
  77. package/dist/auth/Auth.d.ts +641 -0
  78. package/dist/auth/Auth.js +927 -0
  79. package/dist/auth/AuthProvider.d.ts +104 -0
  80. package/dist/auth/AuthProvider.js +185 -0
  81. package/dist/auth/AuthToken.d.ts +123 -0
  82. package/dist/auth/AuthToken.js +156 -0
  83. package/dist/auth/PasswordResetToken.d.ts +33 -0
  84. package/dist/auth/PasswordResetToken.js +64 -0
  85. package/dist/auth/UserIdentity.d.ts +46 -0
  86. package/dist/auth/UserIdentity.js +72 -0
  87. package/dist/auth/contracts/AuthProviderDriver.d.ts +94 -0
  88. package/dist/auth/contracts/AuthProviderDriver.js +1 -0
  89. package/dist/auth/contracts/index.d.ts +1 -0
  90. package/dist/auth/contracts/index.js +1 -0
  91. package/dist/auth/index.d.ts +8 -0
  92. package/dist/auth/index.js +8 -0
  93. package/dist/auth/passwordHash.d.ts +26 -0
  94. package/dist/auth/passwordHash.js +96 -0
  95. package/dist/auth/providers/GoogleAuthProvider.d.ts +135 -0
  96. package/dist/auth/providers/GoogleAuthProvider.js +305 -0
  97. package/dist/auth/providers/PasswordAuthProvider.d.ts +115 -0
  98. package/dist/auth/providers/PasswordAuthProvider.js +195 -0
  99. package/dist/auth/providers/index.d.ts +3 -0
  100. package/dist/auth/providers/index.js +3 -0
  101. package/dist/auth/providers/resolveAuthProviders.d.ts +29 -0
  102. package/dist/auth/providers/resolveAuthProviders.js +111 -0
  103. package/dist/cache/Cache.d.ts +67 -0
  104. package/dist/cache/Cache.js +115 -0
  105. package/dist/cache/contracts/CacheDriver.d.ts +10 -0
  106. package/dist/cache/contracts/CacheDriver.js +1 -0
  107. package/dist/cache/contracts/CacheOperations.d.ts +26 -0
  108. package/dist/cache/contracts/CacheOperations.js +1 -0
  109. package/dist/cache/contracts/CacheOptions.d.ts +51 -0
  110. package/dist/cache/contracts/CacheOptions.js +1 -0
  111. package/dist/cache/contracts/CacheRepository.d.ts +45 -0
  112. package/dist/cache/contracts/CacheRepository.js +1 -0
  113. package/dist/cache/contracts/index.d.ts +4 -0
  114. package/dist/cache/contracts/index.js +4 -0
  115. package/dist/cache/drivers/CacheManagerDriver.d.ts +55 -0
  116. package/dist/cache/drivers/CacheManagerDriver.js +68 -0
  117. package/dist/cache/drivers/createCacheDriver.d.ts +8 -0
  118. package/dist/cache/drivers/createCacheDriver.js +147 -0
  119. package/dist/cache/index.d.ts +2 -0
  120. package/dist/cache/index.js +2 -0
  121. package/dist/cli/Cli.d.ts +17 -0
  122. package/dist/cli/Cli.js +120 -0
  123. package/dist/cli/commands/repl.d.ts +9 -0
  124. package/dist/cli/commands/repl.js +27 -0
  125. package/dist/cli/contracts/CliCommand.d.ts +30 -0
  126. package/dist/cli/contracts/CliCommand.js +1 -0
  127. package/dist/cli/contracts/CliConfig.d.ts +9 -0
  128. package/dist/cli/contracts/CliConfig.js +1 -0
  129. package/dist/cli/contracts/CliOptions.d.ts +13 -0
  130. package/dist/cli/contracts/CliOptions.js +1 -0
  131. package/dist/cli/contracts/CommandDefinition.d.ts +18 -0
  132. package/dist/cli/contracts/CommandDefinition.js +1 -0
  133. package/dist/cli/contracts/ReplOptions.d.ts +11 -0
  134. package/dist/cli/contracts/ReplOptions.js +1 -0
  135. package/dist/cli/contracts/index.d.ts +5 -0
  136. package/dist/cli/contracts/index.js +1 -0
  137. package/dist/cli/defineCommand.d.ts +10 -0
  138. package/dist/cli/defineCommand.js +25 -0
  139. package/dist/cli/index.d.ts +5 -0
  140. package/dist/cli/index.js +5 -0
  141. package/dist/cli/runDb3.d.ts +11 -0
  142. package/dist/cli/runDb3.js +70 -0
  143. package/dist/cli/runRepl.d.ts +12 -0
  144. package/dist/cli/runRepl.js +54 -0
  145. package/dist/config/Config.d.ts +48 -0
  146. package/dist/config/Config.js +80 -0
  147. package/dist/config/env.d.ts +26 -0
  148. package/dist/config/env.js +117 -0
  149. package/dist/config/index.d.ts +2 -0
  150. package/dist/config/index.js +2 -0
  151. package/dist/db/ActiveProjection.d.ts +90 -0
  152. package/dist/db/ActiveProjection.js +134 -0
  153. package/dist/db/ActiveQueryBuilder.d.ts +268 -0
  154. package/dist/db/ActiveQueryBuilder.js +621 -0
  155. package/dist/db/ActiveRecord.d.ts +483 -0
  156. package/dist/db/ActiveRecord.js +765 -0
  157. package/dist/db/Database.d.ts +277 -0
  158. package/dist/db/Database.js +827 -0
  159. package/dist/db/FieldType.d.ts +540 -0
  160. package/dist/db/FieldType.js +706 -0
  161. package/dist/db/SoftDeletes.d.ts +30 -0
  162. package/dist/db/SoftDeletes.js +93 -0
  163. package/dist/db/commands/check.d.ts +6 -0
  164. package/dist/db/commands/check.js +8 -0
  165. package/dist/db/commands/index.d.ts +6 -0
  166. package/dist/db/commands/index.js +17 -0
  167. package/dist/db/commands/makeMigration.d.ts +7 -0
  168. package/dist/db/commands/makeMigration.js +9 -0
  169. package/dist/db/commands/migrate.d.ts +6 -0
  170. package/dist/db/commands/migrate.js +8 -0
  171. package/dist/db/connection.d.ts +10 -0
  172. package/dist/db/connection.js +55 -0
  173. package/dist/db/contracts/ActiveRecordDefinition.d.ts +64 -0
  174. package/dist/db/contracts/ActiveRecordDefinition.js +1 -0
  175. package/dist/db/contracts/DatabaseBackup.d.ts +7 -0
  176. package/dist/db/contracts/DatabaseBackup.js +1 -0
  177. package/dist/db/contracts/DatabaseMigrationsConfig.d.ts +9 -0
  178. package/dist/db/contracts/DatabaseMigrationsConfig.js +1 -0
  179. package/dist/db/contracts/index.d.ts +3 -0
  180. package/dist/db/contracts/index.js +3 -0
  181. package/dist/db/dialects/columnTypes.d.ts +20 -0
  182. package/dist/db/dialects/columnTypes.js +67 -0
  183. package/dist/db/dialects/index.d.ts +6 -0
  184. package/dist/db/dialects/index.js +6 -0
  185. package/dist/db/dialects/mariadb.d.ts +7 -0
  186. package/dist/db/dialects/mariadb.js +35 -0
  187. package/dist/db/dialects/mysql.d.ts +14 -0
  188. package/dist/db/dialects/mysql.js +203 -0
  189. package/dist/db/dialects/postgres.d.ts +5 -0
  190. package/dist/db/dialects/postgres.js +106 -0
  191. package/dist/db/dialects/resolveDialect.d.ts +14 -0
  192. package/dist/db/dialects/resolveDialect.js +57 -0
  193. package/dist/db/dialects/types.d.ts +44 -0
  194. package/dist/db/dialects/types.js +1 -0
  195. package/dist/db/errors.d.ts +15 -0
  196. package/dist/db/errors.js +20 -0
  197. package/dist/db/fields/BooleanField.d.ts +29 -0
  198. package/dist/db/fields/BooleanField.js +89 -0
  199. package/dist/db/fields/CharUuidField.d.ts +29 -0
  200. package/dist/db/fields/CharUuidField.js +63 -0
  201. package/dist/db/fields/ChoiceStringField.d.ts +25 -0
  202. package/dist/db/fields/ChoiceStringField.js +58 -0
  203. package/dist/db/fields/DecimalField.d.ts +20 -0
  204. package/dist/db/fields/DecimalField.js +105 -0
  205. package/dist/db/fields/EmailField.d.ts +31 -0
  206. package/dist/db/fields/EmailField.js +52 -0
  207. package/dist/db/fields/EncryptedJsonField.d.ts +82 -0
  208. package/dist/db/fields/EncryptedJsonField.js +169 -0
  209. package/dist/db/fields/IntegerField.d.ts +35 -0
  210. package/dist/db/fields/IntegerField.js +139 -0
  211. package/dist/db/fields/JsonField.d.ts +40 -0
  212. package/dist/db/fields/JsonField.js +79 -0
  213. package/dist/db/fields/JsonStringField.d.ts +21 -0
  214. package/dist/db/fields/JsonStringField.js +41 -0
  215. package/dist/db/fields/LinkField.d.ts +180 -0
  216. package/dist/db/fields/LinkField.js +359 -0
  217. package/dist/db/fields/PasswordField.d.ts +93 -0
  218. package/dist/db/fields/PasswordField.js +180 -0
  219. package/dist/db/fields/StringField.d.ts +43 -0
  220. package/dist/db/fields/StringField.js +102 -0
  221. package/dist/db/fields/StringListField.d.ts +54 -0
  222. package/dist/db/fields/StringListField.js +124 -0
  223. package/dist/db/fields/TextField.d.ts +25 -0
  224. package/dist/db/fields/TextField.js +44 -0
  225. package/dist/db/fields/TimestampField.d.ts +47 -0
  226. package/dist/db/fields/TimestampField.js +97 -0
  227. package/dist/db/fields/UlidField.d.ts +69 -0
  228. package/dist/db/fields/UlidField.js +114 -0
  229. package/dist/db/fields/UrlField.d.ts +30 -0
  230. package/dist/db/fields/UrlField.js +61 -0
  231. package/dist/db/fields/VectorField.d.ts +64 -0
  232. package/dist/db/fields/VectorField.js +180 -0
  233. package/dist/db/fields/createField.d.ts +2 -0
  234. package/dist/db/fields/createField.js +13 -0
  235. package/dist/db/fields/field.d.ts +36 -0
  236. package/dist/db/fields/field.js +101 -0
  237. package/dist/db/fields/index.d.ts +18 -0
  238. package/dist/db/fields/index.js +18 -0
  239. package/dist/db/fields/resolveFields.d.ts +17 -0
  240. package/dist/db/fields/resolveFields.js +38 -0
  241. package/dist/db/index.d.ts +13 -0
  242. package/dist/db/index.js +13 -0
  243. package/dist/db/migrations/DatabaseMigrationManager.d.ts +57 -0
  244. package/dist/db/migrations/DatabaseMigrationManager.js +589 -0
  245. package/dist/db/migrations/DatabaseSchemaInspector.d.ts +19 -0
  246. package/dist/db/migrations/DatabaseSchemaInspector.js +384 -0
  247. package/dist/db/migrations/KnexMigrationRenderer.d.ts +11 -0
  248. package/dist/db/migrations/KnexMigrationRenderer.js +390 -0
  249. package/dist/db/migrations/ModelSchemaCollector.d.ts +29 -0
  250. package/dist/db/migrations/ModelSchemaCollector.js +183 -0
  251. package/dist/db/migrations/SchemaDiffer.d.ts +13 -0
  252. package/dist/db/migrations/SchemaDiffer.js +427 -0
  253. package/dist/db/migrations/SchemaNames.d.ts +27 -0
  254. package/dist/db/migrations/SchemaNames.js +46 -0
  255. package/dist/db/migrations/SchemaSnapshotSerializer.d.ts +30 -0
  256. package/dist/db/migrations/SchemaSnapshotSerializer.js +49 -0
  257. package/dist/db/migrations/contracts/DatabaseMigration.d.ts +118 -0
  258. package/dist/db/migrations/contracts/DatabaseMigration.js +1 -0
  259. package/dist/db/migrations/contracts/SchemaChange.d.ts +83 -0
  260. package/dist/db/migrations/contracts/SchemaChange.js +1 -0
  261. package/dist/db/migrations/contracts/SchemaSnapshot.d.ts +94 -0
  262. package/dist/db/migrations/contracts/SchemaSnapshot.js +1 -0
  263. package/dist/db/migrations/contracts/index.d.ts +3 -0
  264. package/dist/db/migrations/contracts/index.js +3 -0
  265. package/dist/db/migrations/errors.d.ts +35 -0
  266. package/dist/db/migrations/errors.js +45 -0
  267. package/dist/db/migrations/index.d.ts +10 -0
  268. package/dist/db/migrations/index.js +10 -0
  269. package/dist/db/migrations/promoteDestructiveSchemaChanges.d.ts +19 -0
  270. package/dist/db/migrations/promoteDestructiveSchemaChanges.js +102 -0
  271. package/dist/db/queryMonitor.d.ts +142 -0
  272. package/dist/db/queryMonitor.js +357 -0
  273. package/dist/db/sqlErrors.d.ts +11 -0
  274. package/dist/db/sqlErrors.js +17 -0
  275. package/dist/db/test/db.d.ts +11 -0
  276. package/dist/db/test/db.js +109 -0
  277. package/dist/devtools/HttpEventDispatcher.d.ts +19 -0
  278. package/dist/devtools/HttpEventDispatcher.js +180 -0
  279. package/dist/devtools/contracts/DevtoolsEventDispatcher.d.ts +53 -0
  280. package/dist/devtools/contracts/DevtoolsEventDispatcher.js +1 -0
  281. package/dist/devtools/contracts/index.d.ts +1 -0
  282. package/dist/devtools/contracts/index.js +1 -0
  283. package/dist/devtools/environment.d.ts +10 -0
  284. package/dist/devtools/environment.js +14 -0
  285. package/dist/devtools/index.d.ts +3 -0
  286. package/dist/devtools/index.js +3 -0
  287. package/dist/events/Events.d.ts +70 -0
  288. package/dist/events/Events.js +126 -0
  289. package/dist/events/contracts/EventConstructor.d.ts +12 -0
  290. package/dist/events/contracts/EventConstructor.js +1 -0
  291. package/dist/events/contracts/EventListener.d.ts +6 -0
  292. package/dist/events/contracts/EventListener.js +1 -0
  293. package/dist/events/contracts/EventUnsubscribe.d.ts +4 -0
  294. package/dist/events/contracts/EventUnsubscribe.js +1 -0
  295. package/dist/events/contracts/index.d.ts +3 -0
  296. package/dist/events/contracts/index.js +3 -0
  297. package/dist/events/index.d.ts +2 -0
  298. package/dist/events/index.js +2 -0
  299. package/dist/flows/FlowBlockRegistry.d.ts +39 -0
  300. package/dist/flows/FlowBlockRegistry.js +66 -0
  301. package/dist/flows/FlowCompiler.d.ts +26 -0
  302. package/dist/flows/FlowCompiler.js +488 -0
  303. package/dist/flows/FlowDefinitionError.d.ts +21 -0
  304. package/dist/flows/FlowDefinitionError.js +16 -0
  305. package/dist/flows/FlowStepJob.d.ts +28 -0
  306. package/dist/flows/FlowStepJob.js +31 -0
  307. package/dist/flows/FlowValueValidator.d.ts +32 -0
  308. package/dist/flows/FlowValueValidator.js +105 -0
  309. package/dist/flows/Flows.d.ts +102 -0
  310. package/dist/flows/Flows.js +871 -0
  311. package/dist/flows/blocks/FlowInput.d.ts +10 -0
  312. package/dist/flows/blocks/FlowInput.js +29 -0
  313. package/dist/flows/blocks/FlowOutput.d.ts +10 -0
  314. package/dist/flows/blocks/FlowOutput.js +29 -0
  315. package/dist/flows/blocks/Subflow.d.ts +10 -0
  316. package/dist/flows/blocks/Subflow.js +21 -0
  317. package/dist/flows/blocks/index.d.ts +6 -0
  318. package/dist/flows/blocks/index.js +8 -0
  319. package/dist/flows/constants.d.ts +55 -0
  320. package/dist/flows/constants.js +47 -0
  321. package/dist/flows/contracts/FlowBlock.d.ts +64 -0
  322. package/dist/flows/contracts/FlowBlock.js +1 -0
  323. package/dist/flows/contracts/FlowCompiler.d.ts +30 -0
  324. package/dist/flows/contracts/FlowCompiler.js +1 -0
  325. package/dist/flows/contracts/FlowDefinition.d.ts +118 -0
  326. package/dist/flows/contracts/FlowDefinition.js +1 -0
  327. package/dist/flows/contracts/FlowDefinitionStore.d.ts +47 -0
  328. package/dist/flows/contracts/FlowDefinitionStore.js +1 -0
  329. package/dist/flows/contracts/FlowRun.d.ts +40 -0
  330. package/dist/flows/contracts/FlowRun.js +1 -0
  331. package/dist/flows/contracts/FlowValue.d.ts +49 -0
  332. package/dist/flows/contracts/FlowValue.js +1 -0
  333. package/dist/flows/contracts/FlowsService.d.ts +37 -0
  334. package/dist/flows/contracts/FlowsService.js +1 -0
  335. package/dist/flows/contracts/index.d.ts +7 -0
  336. package/dist/flows/contracts/index.js +7 -0
  337. package/dist/flows/defineBlock.d.ts +18 -0
  338. package/dist/flows/defineBlock.js +19 -0
  339. package/dist/flows/drivers/FileFlowDefinitionStore.d.ts +53 -0
  340. package/dist/flows/drivers/FileFlowDefinitionStore.js +313 -0
  341. package/dist/flows/drivers/index.d.ts +1 -0
  342. package/dist/flows/drivers/index.js +1 -0
  343. package/dist/flows/errors.d.ts +8 -0
  344. package/dist/flows/errors.js +19 -0
  345. package/dist/flows/index.d.ts +13 -0
  346. package/dist/flows/index.js +13 -0
  347. package/dist/flows/models/FlowRun.d.ts +55 -0
  348. package/dist/flows/models/FlowRun.js +126 -0
  349. package/dist/flows/models/FlowRunEvent.d.ts +41 -0
  350. package/dist/flows/models/FlowRunEvent.js +85 -0
  351. package/dist/flows/models/FlowStepRun.d.ts +56 -0
  352. package/dist/flows/models/FlowStepRun.js +137 -0
  353. package/dist/flows/models/index.d.ts +10 -0
  354. package/dist/flows/models/index.js +14 -0
  355. package/dist/index.d.ts +25 -0
  356. package/dist/index.js +16 -0
  357. package/dist/logging/Log.d.ts +66 -0
  358. package/dist/logging/Log.js +79 -0
  359. package/dist/logging/contracts/HttpExchange.d.ts +50 -0
  360. package/dist/logging/contracts/HttpExchange.js +1 -0
  361. package/dist/logging/contracts/Logger.d.ts +41 -0
  362. package/dist/logging/contracts/Logger.js +1 -0
  363. package/dist/logging/contracts/LoggerDriver.d.ts +16 -0
  364. package/dist/logging/contracts/LoggerDriver.js +1 -0
  365. package/dist/logging/contracts/LoggingOptions.d.ts +49 -0
  366. package/dist/logging/contracts/LoggingOptions.js +1 -0
  367. package/dist/logging/contracts/index.d.ts +4 -0
  368. package/dist/logging/contracts/index.js +4 -0
  369. package/dist/logging/drivers/PinoLoggerDriver.d.ts +24 -0
  370. package/dist/logging/drivers/PinoLoggerDriver.js +291 -0
  371. package/dist/logging/drivers/index.d.ts +1 -0
  372. package/dist/logging/drivers/index.js +1 -0
  373. package/dist/logging/index.d.ts +3 -0
  374. package/dist/logging/index.js +3 -0
  375. package/dist/logging/transports/DevtoolsLogTransport.d.ts +35 -0
  376. package/dist/logging/transports/DevtoolsLogTransport.js +96 -0
  377. package/dist/mail/Mail.d.ts +62 -0
  378. package/dist/mail/Mail.js +98 -0
  379. package/dist/mail/index.d.ts +4 -0
  380. package/dist/mail/index.js +4 -0
  381. package/dist/mail/transports/FileMailTransport.d.ts +12 -0
  382. package/dist/mail/transports/FileMailTransport.js +41 -0
  383. package/dist/mail/transports/MailgunTransport.d.ts +22 -0
  384. package/dist/mail/transports/MailgunTransport.js +57 -0
  385. package/dist/mail/transports/ResendTransport.d.ts +14 -0
  386. package/dist/mail/transports/ResendTransport.js +55 -0
  387. package/dist/media/MediaFile.d.ts +48 -0
  388. package/dist/media/MediaFile.js +104 -0
  389. package/dist/media/MediaItem.d.ts +47 -0
  390. package/dist/media/MediaItem.js +106 -0
  391. package/dist/media/MediaLibrary.d.ts +42 -0
  392. package/dist/media/MediaLibrary.js +94 -0
  393. package/dist/media/MediaManager.d.ts +159 -0
  394. package/dist/media/MediaManager.js +754 -0
  395. package/dist/media/constants.d.ts +27 -0
  396. package/dist/media/constants.js +19 -0
  397. package/dist/media/contracts/MediaOptions.d.ts +8 -0
  398. package/dist/media/contracts/MediaOptions.js +1 -0
  399. package/dist/media/contracts/index.d.ts +1 -0
  400. package/dist/media/contracts/index.js +1 -0
  401. package/dist/media/image/ImageReconstructionError.d.ts +15 -0
  402. package/dist/media/image/ImageReconstructionError.js +18 -0
  403. package/dist/media/image/ImageVariantRenderer.d.ts +44 -0
  404. package/dist/media/image/ImageVariantRenderer.js +337 -0
  405. package/dist/media/image/ImageVariantRequest.d.ts +28 -0
  406. package/dist/media/image/ImageVariantRequest.js +55 -0
  407. package/dist/media/image/contracts/ImageProcessor.d.ts +46 -0
  408. package/dist/media/image/contracts/ImageProcessor.js +1 -0
  409. package/dist/media/image/contracts/ImageVariant.d.ts +31 -0
  410. package/dist/media/image/contracts/ImageVariant.js +7 -0
  411. package/dist/media/image/contracts/ImageVariantCacheOptions.d.ts +20 -0
  412. package/dist/media/image/contracts/ImageVariantCacheOptions.js +1 -0
  413. package/dist/media/image/contracts/index.d.ts +3 -0
  414. package/dist/media/image/contracts/index.js +3 -0
  415. package/dist/media/image/index.d.ts +5 -0
  416. package/dist/media/image/index.js +5 -0
  417. package/dist/media/image/processors/SharpImageProcessor.d.ts +25 -0
  418. package/dist/media/image/processors/SharpImageProcessor.js +112 -0
  419. package/dist/media/image/processors/index.d.ts +1 -0
  420. package/dist/media/image/processors/index.js +1 -0
  421. package/dist/media/index.d.ts +8 -0
  422. package/dist/media/index.js +8 -0
  423. package/dist/media/types.d.ts +129 -0
  424. package/dist/media/types.js +1 -0
  425. package/dist/queue/FailedJob.d.ts +31 -0
  426. package/dist/queue/FailedJob.js +41 -0
  427. package/dist/queue/Queue.d.ts +208 -0
  428. package/dist/queue/Queue.js +685 -0
  429. package/dist/queue/QueueEvents.d.ts +31 -0
  430. package/dist/queue/QueueEvents.js +49 -0
  431. package/dist/queue/QueueRetryLaterError.d.ts +23 -0
  432. package/dist/queue/QueueRetryLaterError.js +34 -0
  433. package/dist/queue/QueueWorker.d.ts +72 -0
  434. package/dist/queue/QueueWorker.js +236 -0
  435. package/dist/queue/QueueableJob.d.ts +109 -0
  436. package/dist/queue/QueueableJob.js +137 -0
  437. package/dist/queue/QueuedJob.d.ts +31 -0
  438. package/dist/queue/QueuedJob.js +52 -0
  439. package/dist/queue/RetryPolicy.d.ts +51 -0
  440. package/dist/queue/RetryPolicy.js +84 -0
  441. package/dist/queue/commands/index.d.ts +4 -0
  442. package/dist/queue/commands/index.js +11 -0
  443. package/dist/queue/commands/makeJob.d.ts +7 -0
  444. package/dist/queue/commands/makeJob.js +9 -0
  445. package/dist/queue/console.d.ts +60 -0
  446. package/dist/queue/console.js +348 -0
  447. package/dist/queue/contracts/CreateJob.d.ts +12 -0
  448. package/dist/queue/contracts/CreateJob.js +1 -0
  449. package/dist/queue/contracts/QueueDriver.d.ts +122 -0
  450. package/dist/queue/contracts/QueueDriver.js +1 -0
  451. package/dist/queue/contracts/QueueEvents.d.ts +61 -0
  452. package/dist/queue/contracts/QueueEvents.js +1 -0
  453. package/dist/queue/contracts/QueuePayload.d.ts +136 -0
  454. package/dist/queue/contracts/QueuePayload.js +1 -0
  455. package/dist/queue/contracts/QueueRetry.d.ts +43 -0
  456. package/dist/queue/contracts/QueueRetry.js +1 -0
  457. package/dist/queue/contracts/QueueService.d.ts +199 -0
  458. package/dist/queue/contracts/QueueService.js +1 -0
  459. package/dist/queue/contracts/QueueWorkerLifecycle.d.ts +65 -0
  460. package/dist/queue/contracts/QueueWorkerLifecycle.js +1 -0
  461. package/dist/queue/contracts/QueueableJob.d.ts +50 -0
  462. package/dist/queue/contracts/QueueableJob.js +1 -0
  463. package/dist/queue/contracts/RedisQueueDriver.d.ts +37 -0
  464. package/dist/queue/contracts/RedisQueueDriver.js +1 -0
  465. package/dist/queue/contracts/index.d.ts +9 -0
  466. package/dist/queue/contracts/index.js +9 -0
  467. package/dist/queue/createJob.d.ts +18 -0
  468. package/dist/queue/createJob.js +52 -0
  469. package/dist/queue/drivers/DatabaseQueueDriver.d.ts +83 -0
  470. package/dist/queue/drivers/DatabaseQueueDriver.js +393 -0
  471. package/dist/queue/drivers/RedisQueueDriver.d.ts +102 -0
  472. package/dist/queue/drivers/RedisQueueDriver.js +641 -0
  473. package/dist/queue/index.d.ts +13 -0
  474. package/dist/queue/index.js +13 -0
  475. package/dist/queue/queueMonitor.d.ts +133 -0
  476. package/dist/queue/queueMonitor.js +238 -0
  477. package/dist/scheduler/ScheduledCall.d.ts +25 -0
  478. package/dist/scheduler/ScheduledCall.js +31 -0
  479. package/dist/scheduler/ScheduledEvent.d.ts +74 -0
  480. package/dist/scheduler/ScheduledEvent.js +115 -0
  481. package/dist/scheduler/ScheduledJob.d.ts +34 -0
  482. package/dist/scheduler/ScheduledJob.js +50 -0
  483. package/dist/scheduler/ScheduledOccurrence.d.ts +74 -0
  484. package/dist/scheduler/ScheduledOccurrence.js +194 -0
  485. package/dist/scheduler/ScheduledOccurrenceRecorder.d.ts +34 -0
  486. package/dist/scheduler/ScheduledOccurrenceRecorder.js +106 -0
  487. package/dist/scheduler/Scheduler.d.ts +76 -0
  488. package/dist/scheduler/Scheduler.js +186 -0
  489. package/dist/scheduler/SchedulerWorker.d.ts +37 -0
  490. package/dist/scheduler/SchedulerWorker.js +119 -0
  491. package/dist/scheduler/console.d.ts +18 -0
  492. package/dist/scheduler/console.js +288 -0
  493. package/dist/scheduler/constants.d.ts +13 -0
  494. package/dist/scheduler/constants.js +23 -0
  495. package/dist/scheduler/contracts/Scheduler.d.ts +104 -0
  496. package/dist/scheduler/contracts/Scheduler.js +1 -0
  497. package/dist/scheduler/contracts/SchedulerConsole.d.ts +37 -0
  498. package/dist/scheduler/contracts/SchedulerConsole.js +1 -0
  499. package/dist/scheduler/contracts/SchedulerWorker.d.ts +18 -0
  500. package/dist/scheduler/contracts/SchedulerWorker.js +1 -0
  501. package/dist/scheduler/contracts/index.d.ts +3 -0
  502. package/dist/scheduler/contracts/index.js +3 -0
  503. package/dist/scheduler/index.d.ts +9 -0
  504. package/dist/scheduler/index.js +9 -0
  505. package/dist/scheduler/scheduleTime.d.ts +30 -0
  506. package/dist/scheduler/scheduleTime.js +64 -0
  507. package/dist/security/Security.d.ts +60 -0
  508. package/dist/security/Security.js +252 -0
  509. package/dist/security/SecurityError.d.ts +13 -0
  510. package/dist/security/SecurityError.js +16 -0
  511. package/dist/security/contracts/SecurityOptions.d.ts +17 -0
  512. package/dist/security/contracts/SecurityOptions.js +1 -0
  513. package/dist/security/contracts/SecurityPayload.d.ts +13 -0
  514. package/dist/security/contracts/SecurityPayload.js +1 -0
  515. package/dist/security/contracts/index.d.ts +2 -0
  516. package/dist/security/contracts/index.js +2 -0
  517. package/dist/security/ensureAppKey.d.ts +16 -0
  518. package/dist/security/ensureAppKey.js +69 -0
  519. package/dist/security/index.d.ts +4 -0
  520. package/dist/security/index.js +4 -0
  521. package/dist/serialization/Serializable.d.ts +17 -0
  522. package/dist/serialization/Serializable.js +1 -0
  523. package/dist/serialization/SerializationError.d.ts +40 -0
  524. package/dist/serialization/SerializationError.js +42 -0
  525. package/dist/serialization/SerializationRegistry.d.ts +76 -0
  526. package/dist/serialization/SerializationRegistry.js +153 -0
  527. package/dist/serialization/SerializationRegistryError.d.ts +18 -0
  528. package/dist/serialization/SerializationRegistryError.js +18 -0
  529. package/dist/serialization/Serializer.d.ts +37 -0
  530. package/dist/serialization/Serializer.js +477 -0
  531. package/dist/serialization/contracts/SerializableClass.d.ts +20 -0
  532. package/dist/serialization/contracts/SerializableClass.js +1 -0
  533. package/dist/serialization/contracts/SerializedValue.d.ts +59 -0
  534. package/dist/serialization/contracts/SerializedValue.js +19 -0
  535. package/dist/serialization/contracts/SerializerOptions.d.ts +17 -0
  536. package/dist/serialization/contracts/SerializerOptions.js +1 -0
  537. package/dist/serialization/contracts/SerializerService.d.ts +26 -0
  538. package/dist/serialization/contracts/SerializerService.js +1 -0
  539. package/dist/serialization/contracts/index.d.ts +4 -0
  540. package/dist/serialization/contracts/index.js +4 -0
  541. package/dist/serialization/index.d.ts +6 -0
  542. package/dist/serialization/index.js +6 -0
  543. package/dist/server/App.d.ts +141 -0
  544. package/dist/server/App.js +225 -0
  545. package/dist/server/RequestContext.d.ts +42 -0
  546. package/dist/server/RequestContext.js +95 -0
  547. package/dist/server/appContext.d.ts +34 -0
  548. package/dist/server/appContext.js +42 -0
  549. package/dist/server/index.d.ts +3 -0
  550. package/dist/server/index.js +3 -0
  551. package/dist/ssr/constants.d.ts +6 -0
  552. package/dist/ssr/constants.js +6 -0
  553. package/dist/ssr/contracts/DocumentHead.d.ts +32 -0
  554. package/dist/ssr/contracts/DocumentHead.js +1 -0
  555. package/dist/ssr/contracts/SsrRenderContext.d.ts +23 -0
  556. package/dist/ssr/contracts/SsrRenderContext.js +1 -0
  557. package/dist/ssr/contracts/SsrRenderResult.d.ts +21 -0
  558. package/dist/ssr/contracts/SsrRenderResult.js +1 -0
  559. package/dist/ssr/contracts/SsrRenderer.d.ts +9 -0
  560. package/dist/ssr/contracts/SsrRenderer.js +1 -0
  561. package/dist/ssr/contracts/SsrRequest.d.ts +16 -0
  562. package/dist/ssr/contracts/SsrRequest.js +1 -0
  563. package/dist/ssr/contracts/index.d.ts +5 -0
  564. package/dist/ssr/contracts/index.js +1 -0
  565. package/dist/ssr/createSsrRenderContext.d.ts +9 -0
  566. package/dist/ssr/createSsrRenderContext.js +20 -0
  567. package/dist/ssr/fastify/contracts/FastifySsrOptions.d.ts +21 -0
  568. package/dist/ssr/fastify/contracts/FastifySsrOptions.js +1 -0
  569. package/dist/ssr/fastify/contracts/index.d.ts +1 -0
  570. package/dist/ssr/fastify/contracts/index.js +1 -0
  571. package/dist/ssr/fastify/fastifySsr.d.ts +25 -0
  572. package/dist/ssr/fastify/fastifySsr.js +89 -0
  573. package/dist/ssr/fastify/index.d.ts +2 -0
  574. package/dist/ssr/fastify/index.js +1 -0
  575. package/dist/ssr/index.d.ts +6 -0
  576. package/dist/ssr/index.js +5 -0
  577. package/dist/ssr/renderDocumentHead.d.ts +8 -0
  578. package/dist/ssr/renderDocumentHead.js +62 -0
  579. package/dist/ssr/renderSsrDocument.d.ts +14 -0
  580. package/dist/ssr/renderSsrDocument.js +28 -0
  581. package/dist/ssr/serializeSsrState.d.ts +10 -0
  582. package/dist/ssr/serializeSsrState.js +18 -0
  583. package/dist/ssr/vite/contracts/ViteSsrOptions.d.ts +45 -0
  584. package/dist/ssr/vite/contracts/ViteSsrOptions.js +1 -0
  585. package/dist/ssr/vite/contracts/index.d.ts +1 -0
  586. package/dist/ssr/vite/contracts/index.js +1 -0
  587. package/dist/ssr/vite/fastifyViteSsr.d.ts +24 -0
  588. package/dist/ssr/vite/fastifyViteSsr.js +213 -0
  589. package/dist/ssr/vite/index.d.ts +4 -0
  590. package/dist/ssr/vite/index.js +2 -0
  591. package/dist/ssr/vite/viteSsrManifest.d.ts +16 -0
  592. package/dist/ssr/vite/viteSsrManifest.js +63 -0
  593. package/dist/storage/Storage.d.ts +244 -0
  594. package/dist/storage/Storage.js +348 -0
  595. package/dist/storage/contents.d.ts +8 -0
  596. package/dist/storage/contents.js +18 -0
  597. package/dist/storage/contracts/StorageListing.d.ts +50 -0
  598. package/dist/storage/contracts/StorageListing.js +1 -0
  599. package/dist/storage/contracts/index.d.ts +1 -0
  600. package/dist/storage/contracts/index.js +1 -0
  601. package/dist/storage/drivers/FlystorageDisk.d.ts +185 -0
  602. package/dist/storage/drivers/FlystorageDisk.js +250 -0
  603. package/dist/storage/drivers/FlystorageListing.d.ts +27 -0
  604. package/dist/storage/drivers/FlystorageListing.js +69 -0
  605. package/dist/storage/drivers/LocalStorageDisk.d.ts +25 -0
  606. package/dist/storage/drivers/LocalStorageDisk.js +38 -0
  607. package/dist/storage/drivers/S3StorageDisk.d.ts +17 -0
  608. package/dist/storage/drivers/S3StorageDisk.js +102 -0
  609. package/dist/storage/drivers/index.d.ts +3 -0
  610. package/dist/storage/drivers/index.js +3 -0
  611. package/dist/storage/index.d.ts +7 -0
  612. package/dist/storage/index.js +7 -0
  613. package/dist/storage/mime.d.ts +7 -0
  614. package/dist/storage/mime.js +28 -0
  615. package/dist/storage/path.d.ts +22 -0
  616. package/dist/storage/path.js +61 -0
  617. package/dist/storage/types.d.ts +218 -0
  618. package/dist/storage/types.js +1 -0
  619. package/dist/url/UrlGenerator.d.ts +32 -0
  620. package/dist/url/UrlGenerator.js +61 -0
  621. package/dist/url/contracts/UrlGeneratorOptions.d.ts +13 -0
  622. package/dist/url/contracts/UrlGeneratorOptions.js +1 -0
  623. package/dist/url/contracts/index.d.ts +1 -0
  624. package/dist/url/contracts/index.js +1 -0
  625. package/dist/url/index.d.ts +2 -0
  626. package/dist/url/index.js +2 -0
  627. package/dist/validation/index.d.ts +28 -0
  628. package/dist/validation/index.js +260 -0
  629. package/package.json +290 -0
  630. package/src/ai/AIErrors.ts +46 -0
  631. package/src/ai/AIFailover.ts +101 -0
  632. package/src/ai/AIProviders.ts +228 -0
  633. package/src/ai/AIQuotaDeferredError.ts +26 -0
  634. package/src/ai/AIRateLimiter.ts +880 -0
  635. package/src/ai/Agent.ts +3630 -0
  636. package/src/ai/AgentHistory.ts +576 -0
  637. package/src/ai/AgentRunJob.ts +65 -0
  638. package/src/ai/Ai.ts +2176 -0
  639. package/src/ai/AiConversation.ts +49 -0
  640. package/src/ai/AiExecutionContext.ts +19 -0
  641. package/src/ai/AiMessage.ts +131 -0
  642. package/src/ai/AiRateLimitBucket.ts +163 -0
  643. package/src/ai/AiRateLimitReservation.ts +117 -0
  644. package/src/ai/AiRequest.ts +466 -0
  645. package/src/ai/Estimates.ts +36 -0
  646. package/src/ai/Models.ts +373 -0
  647. package/src/ai/OpenAIProviderError.ts +98 -0
  648. package/src/ai/OpenAIQuotaRetry.ts +183 -0
  649. package/src/ai/ProviderCosts.ts +156 -0
  650. package/src/ai/README.md +187 -0
  651. package/src/ai/ResponsesProviderCall.ts +34 -0
  652. package/src/ai/agentCitations.ts +186 -0
  653. package/src/ai/contracts/AI.ts +380 -0
  654. package/src/ai/contracts/Agent.ts +539 -0
  655. package/src/ai/contracts/AiRequestRunCostSummary.ts +31 -0
  656. package/src/ai/contracts/Pricing.ts +95 -0
  657. package/src/ai/contracts/Providers.ts +73 -0
  658. package/src/ai/contracts/QuotaRetry.ts +39 -0
  659. package/src/ai/contracts/RateLimits.ts +49 -0
  660. package/src/ai/contracts/ResponsesProviderCall.ts +30 -0
  661. package/src/ai/contracts/index.ts +8 -0
  662. package/src/ai/examples/Conversation.ts +12 -0
  663. package/src/ai/examples/HelpAgent.ts +27 -0
  664. package/src/ai/examples/createHelpImage.ts +13 -0
  665. package/src/ai/index.ts +27 -0
  666. package/src/ai/registry.ts +70 -0
  667. package/src/ai/sdkNodeCompatibility.d.ts +76 -0
  668. package/src/ai/toolCallRecovery.ts +82 -0
  669. package/src/ai/toolHelpers.ts +145 -0
  670. package/src/auth/Auth.ts +1422 -0
  671. package/src/auth/AuthProvider.ts +251 -0
  672. package/src/auth/AuthToken.ts +239 -0
  673. package/src/auth/PasswordResetToken.ts +93 -0
  674. package/src/auth/README.md +396 -0
  675. package/src/auth/UserIdentity.ts +112 -0
  676. package/src/auth/contracts/AuthProviderDriver.ts +114 -0
  677. package/src/auth/contracts/index.ts +1 -0
  678. package/src/auth/examples/runPasswordAuth.ts +45 -0
  679. package/src/auth/index.ts +8 -0
  680. package/src/auth/passwordHash.ts +160 -0
  681. package/src/auth/providers/GoogleAuthProvider.ts +470 -0
  682. package/src/auth/providers/PasswordAuthProvider.ts +256 -0
  683. package/src/auth/providers/index.ts +3 -0
  684. package/src/auth/providers/resolveAuthProviders.ts +166 -0
  685. package/src/cache/Cache.ts +151 -0
  686. package/src/cache/README.md +137 -0
  687. package/src/cache/contracts/CacheDriver.ts +11 -0
  688. package/src/cache/contracts/CacheOperations.ts +28 -0
  689. package/src/cache/contracts/CacheOptions.ts +56 -0
  690. package/src/cache/contracts/CacheRepository.ts +62 -0
  691. package/src/cache/contracts/index.ts +4 -0
  692. package/src/cache/drivers/CacheManagerDriver.ts +84 -0
  693. package/src/cache/drivers/createCacheDriver.ts +191 -0
  694. package/src/cache/examples/runNoteCache.ts +37 -0
  695. package/src/cache/index.ts +2 -0
  696. package/src/cli/Cli.ts +110 -0
  697. package/src/cli/README.md +164 -0
  698. package/src/cli/commands/repl.ts +29 -0
  699. package/src/cli/contracts/CliCommand.ts +33 -0
  700. package/src/cli/contracts/CliConfig.ts +10 -0
  701. package/src/cli/contracts/CliOptions.ts +13 -0
  702. package/src/cli/contracts/CommandDefinition.ts +19 -0
  703. package/src/cli/contracts/ReplOptions.ts +11 -0
  704. package/src/cli/contracts/index.ts +5 -0
  705. package/src/cli/defineCommand.ts +25 -0
  706. package/src/cli/index.ts +5 -0
  707. package/src/cli/runDb3.ts +63 -0
  708. package/src/cli/runRepl.ts +55 -0
  709. package/src/config/Config.ts +110 -0
  710. package/src/config/README.md +142 -0
  711. package/src/config/env.ts +164 -0
  712. package/src/config/examples/loadNotesConfig.ts +29 -0
  713. package/src/config/examples/runConfig.ts +40 -0
  714. package/src/config/index.ts +2 -0
  715. package/src/db/ActiveProjection.ts +311 -0
  716. package/src/db/ActiveQueryBuilder.ts +831 -0
  717. package/src/db/ActiveRecord.ts +1317 -0
  718. package/src/db/Database.ts +1283 -0
  719. package/src/db/FieldType.ts +1243 -0
  720. package/src/db/README.md +508 -0
  721. package/src/db/SoftDeletes.ts +158 -0
  722. package/src/db/commands/check.ts +10 -0
  723. package/src/db/commands/index.ts +19 -0
  724. package/src/db/commands/makeMigration.ts +11 -0
  725. package/src/db/commands/migrate.ts +10 -0
  726. package/src/db/connection.ts +68 -0
  727. package/src/db/contracts/ActiveRecordDefinition.ts +69 -0
  728. package/src/db/contracts/DatabaseBackup.ts +7 -0
  729. package/src/db/contracts/DatabaseMigrationsConfig.ts +10 -0
  730. package/src/db/contracts/index.ts +3 -0
  731. package/src/db/dialects/columnTypes.ts +103 -0
  732. package/src/db/dialects/index.ts +6 -0
  733. package/src/db/dialects/mariadb.ts +51 -0
  734. package/src/db/dialects/mysql.ts +277 -0
  735. package/src/db/dialects/postgres.ts +143 -0
  736. package/src/db/dialects/resolveDialect.ts +88 -0
  737. package/src/db/dialects/types.ts +59 -0
  738. package/src/db/errors.ts +22 -0
  739. package/src/db/examples/DefinedUser.ts +20 -0
  740. package/src/db/examples/FieldNote.ts +27 -0
  741. package/src/db/examples/KnowledgeNote.ts +29 -0
  742. package/src/db/examples/NoteCodeField.ts +9 -0
  743. package/src/db/examples/createNotesTogether.ts +24 -0
  744. package/src/db/examples/outputs/workspace-notes.json +9 -0
  745. package/src/db/examples/runFieldNotes.ts +51 -0
  746. package/src/db/examples/runNoteMigrations.ts +64 -0
  747. package/src/db/examples/runWorkspaceNotes.ts +86 -0
  748. package/src/db/examples/workspaceNotes.ts +57 -0
  749. package/src/db/fields/BooleanField.ts +128 -0
  750. package/src/db/fields/CharUuidField.ts +91 -0
  751. package/src/db/fields/ChoiceStringField.ts +97 -0
  752. package/src/db/fields/DecimalField.ts +157 -0
  753. package/src/db/fields/EmailField.ts +79 -0
  754. package/src/db/fields/EncryptedJsonField.ts +211 -0
  755. package/src/db/fields/IntegerField.ts +200 -0
  756. package/src/db/fields/JsonField.ts +108 -0
  757. package/src/db/fields/JsonStringField.ts +63 -0
  758. package/src/db/fields/LinkField.ts +502 -0
  759. package/src/db/fields/PasswordField.ts +294 -0
  760. package/src/db/fields/StringField.ts +154 -0
  761. package/src/db/fields/StringListField.ts +179 -0
  762. package/src/db/fields/TextField.ts +71 -0
  763. package/src/db/fields/TimestampField.ts +164 -0
  764. package/src/db/fields/UlidField.ts +189 -0
  765. package/src/db/fields/UrlField.ts +97 -0
  766. package/src/db/fields/VectorField.ts +266 -0
  767. package/src/db/fields/createField.ts +22 -0
  768. package/src/db/fields/field.ts +209 -0
  769. package/src/db/fields/index.ts +76 -0
  770. package/src/db/fields/resolveFields.ts +69 -0
  771. package/src/db/index.ts +13 -0
  772. package/src/db/migrations/DatabaseMigrationManager.ts +756 -0
  773. package/src/db/migrations/DatabaseSchemaInspector.ts +541 -0
  774. package/src/db/migrations/KnexMigrationRenderer.ts +490 -0
  775. package/src/db/migrations/ModelSchemaCollector.ts +240 -0
  776. package/src/db/migrations/SchemaDiffer.ts +541 -0
  777. package/src/db/migrations/SchemaNames.ts +62 -0
  778. package/src/db/migrations/SchemaSnapshotSerializer.ts +59 -0
  779. package/src/db/migrations/contracts/DatabaseMigration.ts +143 -0
  780. package/src/db/migrations/contracts/SchemaChange.ts +113 -0
  781. package/src/db/migrations/contracts/SchemaSnapshot.ts +122 -0
  782. package/src/db/migrations/contracts/index.ts +3 -0
  783. package/src/db/migrations/errors.ts +45 -0
  784. package/src/db/migrations/index.ts +10 -0
  785. package/src/db/migrations/promoteDestructiveSchemaChanges.ts +120 -0
  786. package/src/db/queryMonitor.ts +549 -0
  787. package/src/db/sqlErrors.ts +36 -0
  788. package/src/db/test/db.ts +159 -0
  789. package/src/devtools/HttpEventDispatcher.ts +214 -0
  790. package/src/devtools/contracts/DevtoolsEventDispatcher.ts +57 -0
  791. package/src/devtools/contracts/index.ts +1 -0
  792. package/src/devtools/environment.ts +18 -0
  793. package/src/devtools/index.ts +3 -0
  794. package/src/events/Events.ts +165 -0
  795. package/src/events/README.md +106 -0
  796. package/src/events/contracts/EventConstructor.ts +12 -0
  797. package/src/events/contracts/EventListener.ts +8 -0
  798. package/src/events/contracts/EventUnsubscribe.ts +4 -0
  799. package/src/events/contracts/index.ts +3 -0
  800. package/src/events/examples/NoteSaved.ts +9 -0
  801. package/src/events/examples/runNoteEvents.ts +31 -0
  802. package/src/events/index.ts +2 -0
  803. package/src/flows/FlowBlockRegistry.ts +79 -0
  804. package/src/flows/FlowCompiler.ts +624 -0
  805. package/src/flows/FlowDefinitionError.ts +24 -0
  806. package/src/flows/FlowStepJob.ts +54 -0
  807. package/src/flows/FlowValueValidator.ts +120 -0
  808. package/src/flows/Flows.ts +1118 -0
  809. package/src/flows/README.md +144 -0
  810. package/src/flows/blocks/FlowInput.ts +32 -0
  811. package/src/flows/blocks/FlowOutput.ts +32 -0
  812. package/src/flows/blocks/Subflow.ts +24 -0
  813. package/src/flows/blocks/index.ts +11 -0
  814. package/src/flows/constants.ts +62 -0
  815. package/src/flows/contracts/FlowBlock.ts +73 -0
  816. package/src/flows/contracts/FlowCompiler.ts +32 -0
  817. package/src/flows/contracts/FlowDefinition.ts +126 -0
  818. package/src/flows/contracts/FlowDefinitionStore.ts +52 -0
  819. package/src/flows/contracts/FlowRun.ts +44 -0
  820. package/src/flows/contracts/FlowValue.ts +54 -0
  821. package/src/flows/contracts/FlowsService.ts +39 -0
  822. package/src/flows/contracts/index.ts +7 -0
  823. package/src/flows/defineBlock.ts +25 -0
  824. package/src/flows/drivers/FileFlowDefinitionStore.ts +372 -0
  825. package/src/flows/drivers/index.ts +1 -0
  826. package/src/flows/errors.ts +22 -0
  827. package/src/flows/examples/FlowExampleApp.ts +15 -0
  828. package/src/flows/examples/createTextFlow.ts +14 -0
  829. package/src/flows/examples/normalizeTextBlock.ts +15 -0
  830. package/src/flows/examples/runTextFlow.ts +46 -0
  831. package/src/flows/examples/uppercaseTextBlock.ts +11 -0
  832. package/src/flows/index.ts +13 -0
  833. package/src/flows/models/FlowRun.ts +164 -0
  834. package/src/flows/models/FlowRunEvent.ts +108 -0
  835. package/src/flows/models/FlowStepRun.ts +176 -0
  836. package/src/flows/models/index.ts +16 -0
  837. package/src/index.ts +40 -0
  838. package/src/logging/Log.ts +100 -0
  839. package/src/logging/README.md +139 -0
  840. package/src/logging/contracts/HttpExchange.ts +53 -0
  841. package/src/logging/contracts/Logger.ts +45 -0
  842. package/src/logging/contracts/LoggerDriver.ts +19 -0
  843. package/src/logging/contracts/LoggingOptions.ts +51 -0
  844. package/src/logging/contracts/index.ts +4 -0
  845. package/src/logging/drivers/PinoLoggerDriver.ts +376 -0
  846. package/src/logging/drivers/index.ts +1 -0
  847. package/src/logging/examples/runNoteLogs.ts +38 -0
  848. package/src/logging/index.ts +3 -0
  849. package/src/logging/transports/DevtoolsLogTransport.ts +142 -0
  850. package/src/mail/Mail.ts +188 -0
  851. package/src/mail/README.md +206 -0
  852. package/src/mail/examples/runMailPreview.ts +44 -0
  853. package/src/mail/examples/welcomeMessage.ts +26 -0
  854. package/src/mail/index.ts +4 -0
  855. package/src/mail/transports/FileMailTransport.ts +58 -0
  856. package/src/mail/transports/MailgunTransport.ts +85 -0
  857. package/src/mail/transports/ResendTransport.ts +80 -0
  858. package/src/media/MediaFile.ts +132 -0
  859. package/src/media/MediaItem.ts +132 -0
  860. package/src/media/MediaLibrary.ts +117 -0
  861. package/src/media/MediaManager.ts +874 -0
  862. package/src/media/README.md +358 -0
  863. package/src/media/constants.ts +31 -0
  864. package/src/media/contracts/MediaOptions.ts +9 -0
  865. package/src/media/contracts/index.ts +1 -0
  866. package/src/media/examples/createPrivateFileServer.ts +55 -0
  867. package/src/media/examples/runPrivateFiles.ts +45 -0
  868. package/src/media/examples/runProjectMedia.ts +46 -0
  869. package/src/media/image/ImageReconstructionError.ts +18 -0
  870. package/src/media/image/ImageVariantRenderer.ts +386 -0
  871. package/src/media/image/ImageVariantRequest.ts +65 -0
  872. package/src/media/image/contracts/ImageProcessor.ts +53 -0
  873. package/src/media/image/contracts/ImageVariant.ts +37 -0
  874. package/src/media/image/contracts/ImageVariantCacheOptions.ts +21 -0
  875. package/src/media/image/contracts/index.ts +3 -0
  876. package/src/media/image/index.ts +5 -0
  877. package/src/media/image/processors/SharpImageProcessor.ts +121 -0
  878. package/src/media/image/processors/index.ts +1 -0
  879. package/src/media/index.ts +8 -0
  880. package/src/media/types.ts +168 -0
  881. package/src/queue/FailedJob.ts +58 -0
  882. package/src/queue/Queue.ts +938 -0
  883. package/src/queue/QueueEvents.ts +57 -0
  884. package/src/queue/QueueRetryLaterError.ts +40 -0
  885. package/src/queue/QueueWorker.ts +296 -0
  886. package/src/queue/QueueableJob.ts +167 -0
  887. package/src/queue/QueuedJob.ts +69 -0
  888. package/src/queue/README.md +368 -0
  889. package/src/queue/RetryPolicy.ts +129 -0
  890. package/src/queue/commands/index.ts +13 -0
  891. package/src/queue/commands/makeJob.ts +11 -0
  892. package/src/queue/console.ts +518 -0
  893. package/src/queue/contracts/CreateJob.ts +13 -0
  894. package/src/queue/contracts/QueueDriver.ts +135 -0
  895. package/src/queue/contracts/QueueEvents.ts +77 -0
  896. package/src/queue/contracts/QueuePayload.ts +150 -0
  897. package/src/queue/contracts/QueueRetry.ts +47 -0
  898. package/src/queue/contracts/QueueService.ts +219 -0
  899. package/src/queue/contracts/QueueWorkerLifecycle.ts +71 -0
  900. package/src/queue/contracts/QueueableJob.ts +56 -0
  901. package/src/queue/contracts/RedisQueueDriver.ts +37 -0
  902. package/src/queue/contracts/index.ts +9 -0
  903. package/src/queue/createJob.ts +54 -0
  904. package/src/queue/drivers/DatabaseQueueDriver.ts +449 -0
  905. package/src/queue/drivers/RedisQueueDriver.ts +733 -0
  906. package/src/queue/examples/DeferredReportJob.ts +25 -0
  907. package/src/queue/examples/GenerateReportJob.ts +37 -0
  908. package/src/queue/examples/WriteReportJob.ts +37 -0
  909. package/src/queue/examples/createAndProcessReportJob.ts +29 -0
  910. package/src/queue/examples/dispatchReportWorkflows.ts +40 -0
  911. package/src/queue/examples/manageReportRetries.ts +47 -0
  912. package/src/queue/examples/outputs/create-and-process-report-job.json +6 -0
  913. package/src/queue/examples/outputs/dispatch-report-workflows.json +14 -0
  914. package/src/queue/examples/outputs/manage-report-retries.json +24 -0
  915. package/src/queue/examples/outputs/queue-reports.json +11 -0
  916. package/src/queue/examples/reportConsole.ts +47 -0
  917. package/src/queue/examples/runBackpressure.ts +27 -0
  918. package/src/queue/examples/runQueueReports.ts +80 -0
  919. package/src/queue/examples/runQueueWorkflows.ts +43 -0
  920. package/src/queue/index.ts +13 -0
  921. package/src/queue/queueMonitor.ts +368 -0
  922. package/src/scheduler/README.md +139 -0
  923. package/src/scheduler/ScheduledCall.ts +36 -0
  924. package/src/scheduler/ScheduledEvent.ts +149 -0
  925. package/src/scheduler/ScheduledJob.ts +58 -0
  926. package/src/scheduler/ScheduledOccurrence.ts +250 -0
  927. package/src/scheduler/ScheduledOccurrenceRecorder.ts +125 -0
  928. package/src/scheduler/Scheduler.ts +225 -0
  929. package/src/scheduler/SchedulerWorker.ts +151 -0
  930. package/src/scheduler/console.ts +368 -0
  931. package/src/scheduler/constants.ts +27 -0
  932. package/src/scheduler/contracts/Scheduler.ts +123 -0
  933. package/src/scheduler/contracts/SchedulerConsole.ts +40 -0
  934. package/src/scheduler/contracts/SchedulerWorker.ts +23 -0
  935. package/src/scheduler/contracts/index.ts +3 -0
  936. package/src/scheduler/examples/RecoverableSummaryJob.ts +18 -0
  937. package/src/scheduler/examples/WriteDailySummaryJob.ts +17 -0
  938. package/src/scheduler/examples/registerDailySummary.ts +13 -0
  939. package/src/scheduler/examples/runDailySummary.ts +46 -0
  940. package/src/scheduler/examples/runScheduledReplay.ts +60 -0
  941. package/src/scheduler/index.ts +9 -0
  942. package/src/scheduler/scheduleTime.ts +78 -0
  943. package/src/security/README.md +130 -0
  944. package/src/security/Security.ts +346 -0
  945. package/src/security/SecurityError.ts +16 -0
  946. package/src/security/contracts/SecurityOptions.ts +20 -0
  947. package/src/security/contracts/SecurityPayload.ts +14 -0
  948. package/src/security/contracts/index.ts +2 -0
  949. package/src/security/ensureAppKey.ts +82 -0
  950. package/src/security/examples/runSecretRoundTrip.ts +42 -0
  951. package/src/security/index.ts +4 -0
  952. package/src/serialization/README.md +169 -0
  953. package/src/serialization/Serializable.ts +17 -0
  954. package/src/serialization/SerializationError.ts +91 -0
  955. package/src/serialization/SerializationRegistry.ts +208 -0
  956. package/src/serialization/SerializationRegistryError.ts +24 -0
  957. package/src/serialization/Serializer.ts +793 -0
  958. package/src/serialization/contracts/SerializableClass.ts +26 -0
  959. package/src/serialization/contracts/SerializedValue.ts +71 -0
  960. package/src/serialization/contracts/SerializerOptions.ts +19 -0
  961. package/src/serialization/contracts/SerializerService.ts +29 -0
  962. package/src/serialization/contracts/index.ts +4 -0
  963. package/src/serialization/examples/ExportRequest.ts +25 -0
  964. package/src/serialization/examples/runExportSerialization.ts +24 -0
  965. package/src/serialization/index.ts +6 -0
  966. package/src/server/App.ts +326 -0
  967. package/src/server/README.md +219 -0
  968. package/src/server/RequestContext.ts +122 -0
  969. package/src/server/appContext.ts +59 -0
  970. package/src/server/examples/createFirstServer.ts +25 -0
  971. package/src/server/examples/startFirstServer.ts +19 -0
  972. package/src/server/index.ts +16 -0
  973. package/src/ssr/README.md +158 -0
  974. package/src/ssr/constants.ts +8 -0
  975. package/src/ssr/contracts/DocumentHead.ts +35 -0
  976. package/src/ssr/contracts/SsrRenderContext.ts +25 -0
  977. package/src/ssr/contracts/SsrRenderResult.ts +23 -0
  978. package/src/ssr/contracts/SsrRenderer.ts +12 -0
  979. package/src/ssr/contracts/SsrRequest.ts +17 -0
  980. package/src/ssr/contracts/index.ts +19 -0
  981. package/src/ssr/createSsrRenderContext.ts +25 -0
  982. package/src/ssr/examples/createPublicPageServer.ts +32 -0
  983. package/src/ssr/examples/runPublicPages.ts +25 -0
  984. package/src/ssr/fastify/contracts/FastifySsrOptions.ts +24 -0
  985. package/src/ssr/fastify/contracts/index.ts +5 -0
  986. package/src/ssr/fastify/fastifySsr.ts +110 -0
  987. package/src/ssr/fastify/index.ts +2 -0
  988. package/src/ssr/index.ts +10 -0
  989. package/src/ssr/renderDocumentHead.ts +72 -0
  990. package/src/ssr/renderSsrDocument.ts +35 -0
  991. package/src/ssr/serializeSsrState.ts +19 -0
  992. package/src/ssr/vite/contracts/ViteSsrOptions.ts +52 -0
  993. package/src/ssr/vite/contracts/index.ts +6 -0
  994. package/src/ssr/vite/fastifyViteSsr.ts +279 -0
  995. package/src/ssr/vite/index.ts +4 -0
  996. package/src/ssr/vite/viteSsrManifest.ts +92 -0
  997. package/src/storage/README.md +310 -0
  998. package/src/storage/Storage.ts +392 -0
  999. package/src/storage/contents.ts +23 -0
  1000. package/src/storage/contracts/StorageListing.ts +55 -0
  1001. package/src/storage/contracts/index.ts +1 -0
  1002. package/src/storage/drivers/FlystorageDisk.ts +295 -0
  1003. package/src/storage/drivers/FlystorageListing.ts +78 -0
  1004. package/src/storage/drivers/LocalStorageDisk.ts +45 -0
  1005. package/src/storage/drivers/S3StorageDisk.ts +114 -0
  1006. package/src/storage/drivers/index.ts +3 -0
  1007. package/src/storage/examples/runStorage.ts +37 -0
  1008. package/src/storage/examples/runStreamExport.ts +41 -0
  1009. package/src/storage/examples/writeCsvExport.ts +45 -0
  1010. package/src/storage/index.ts +7 -0
  1011. package/src/storage/mime.ts +30 -0
  1012. package/src/storage/path.ts +76 -0
  1013. package/src/storage/types.ts +251 -0
  1014. package/src/url/README.md +41 -0
  1015. package/src/url/UrlGenerator.ts +72 -0
  1016. package/src/url/contracts/UrlGeneratorOptions.ts +14 -0
  1017. package/src/url/contracts/index.ts +1 -0
  1018. package/src/url/examples/runApplicationLinks.ts +33 -0
  1019. package/src/url/index.ts +2 -0
  1020. package/src/validation/README.md +433 -0
  1021. package/src/validation/examples/runNoteValidation.ts +18 -0
  1022. package/src/validation/examples/validateNoteInput.ts +31 -0
  1023. package/src/validation/index.ts +398 -0
  1024. package/templates/AGENTS.md +15 -0
@@ -0,0 +1,133 @@
1
+ import { type DevtoolsEnvironment, type DevtoolsEventDispatcher, type HttpEventDispatcherOptions } from '../devtools/index.js';
2
+ import type * as queue from './contracts/index.js';
3
+ export type QueueMonitorMode = 'dev' | 'full';
4
+ export type QueueMonitorAction = queue.QueueLifecycleAction;
5
+ export interface QueueMonitorOptions {
6
+ /**
7
+ * Human-readable source name copied to every emitted queue event.
8
+ */
9
+ source?: string;
10
+ /**
11
+ * Number of recent queue events retained in memory.
12
+ */
13
+ maxEntries?: number;
14
+ /**
15
+ * Whether queued payload data should be copied into emitted events.
16
+ */
17
+ includePayload?: boolean;
18
+ /**
19
+ * Optional event sink that receives every retained queue event.
20
+ */
21
+ dispatch?: QueueMonitorDispatcher;
22
+ }
23
+ /**
24
+ * HTTP delivery configuration for queue monitor events.
25
+ */
26
+ export type HttpQueueMonitorDispatcherOptions = HttpEventDispatcherOptions;
27
+ export interface QueueMonitorEvent {
28
+ type: 'queue.job';
29
+ id: string;
30
+ source: string;
31
+ timestamp: string;
32
+ action: QueueMonitorAction;
33
+ queue: string;
34
+ jobName: string;
35
+ jobId?: queue.QueueJobId;
36
+ jobUuid?: string;
37
+ attempts?: number;
38
+ maxTries?: number;
39
+ delaySeconds?: number;
40
+ durationMs?: number;
41
+ errorMessage?: string;
42
+ origin?: queue.QueueJobOrigin;
43
+ payloadData?: Record<string, unknown>;
44
+ }
45
+ export interface QueueMonitorJobEventInput {
46
+ timestamp?: string;
47
+ action: QueueMonitorAction;
48
+ queue: string;
49
+ jobName: string;
50
+ jobId?: queue.QueueJobId;
51
+ jobUuid?: string;
52
+ attempts?: number;
53
+ maxTries?: number;
54
+ delaySeconds?: number;
55
+ durationMs?: number;
56
+ error?: unknown;
57
+ origin?: queue.QueueJobOrigin;
58
+ payloadData?: Record<string, unknown>;
59
+ }
60
+ export type QueueMonitorListener = (event: QueueMonitorEvent) => void;
61
+ export type QueueMonitorDispatcher = (event: QueueMonitorEvent) => void;
62
+ interface QueueMonitorEnvironment extends DevtoolsEnvironment {
63
+ PLATFORM_QUEUE_MONITOR?: string;
64
+ PLATFORM_QUEUE_MONITOR_MAX?: string;
65
+ PLATFORM_QUEUE_MONITOR_PAYLOAD?: string;
66
+ PLATFORM_QUEUE_MONITOR_SOURCE?: string;
67
+ npm_package_name?: string;
68
+ }
69
+ /**
70
+ * Captures queue lifecycle events for local development panels and tests.
71
+ */
72
+ export declare class QueueMonitor {
73
+ private readonly entries;
74
+ private readonly listeners;
75
+ private readonly maxEntries;
76
+ private readonly source;
77
+ private readonly includePayload;
78
+ private readonly dispatch?;
79
+ /**
80
+ * Creates a queue lifecycle monitor.
81
+ */
82
+ constructor(options?: QueueMonitorOptions);
83
+ /**
84
+ * Returns queue events retained in memory.
85
+ */
86
+ recent(): QueueMonitorEvent[];
87
+ /**
88
+ * Removes queue events from the in-memory buffer.
89
+ */
90
+ clear(): void;
91
+ /**
92
+ * Subscribes to queue events and returns an unsubscribe callback.
93
+ */
94
+ subscribe(listener: QueueMonitorListener): () => void;
95
+ /**
96
+ * Records one queue job lifecycle event.
97
+ *
98
+ * @param input - Queue job lifecycle fields.
99
+ */
100
+ recordJob(input: QueueMonitorJobEventInput): void;
101
+ /**
102
+ * Records one event produced by the always-on queue lifecycle dispatcher.
103
+ *
104
+ * @param event - Queue lifecycle event to retain and forward.
105
+ */
106
+ recordLifecycleEvent(event: queue.QueueLifecycleEvent): void;
107
+ /**
108
+ * Creates a stable id for terminal failures and a unique id for lifecycle events.
109
+ *
110
+ * A job UUID keeps repeated terminal instrumentation deliveries as one panel row.
111
+ *
112
+ * @param input - Queue event fields used to identify a terminal failure.
113
+ * @returns Stable failed-event id or a fresh lifecycle event id.
114
+ */
115
+ private eventId;
116
+ /**
117
+ * Retains an event and notifies local plus external subscribers.
118
+ */
119
+ private record;
120
+ }
121
+ /**
122
+ * Enables the environment-default queue monitor when the runtime opts in.
123
+ */
124
+ export declare function enableDefaultQueueMonitor(options?: QueueMonitorOptions | false | undefined, env?: QueueMonitorEnvironment): QueueMonitor | null;
125
+ /**
126
+ * Resolves queue monitor defaults from development and observability env vars.
127
+ */
128
+ export declare function defaultQueueMonitorOptions(env?: QueueMonitorEnvironment): QueueMonitorOptions | null;
129
+ /**
130
+ * Creates a fire-and-forget batched HTTP dispatcher for queue events.
131
+ */
132
+ export declare function createHttpQueueMonitorDispatcher(options?: HttpQueueMonitorDispatcherOptions): DevtoolsEventDispatcher<QueueMonitorEvent>;
133
+ export {};
@@ -0,0 +1,238 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { createHttpEventDispatcher, devtoolsEventsUrl, isInteractiveDevelopmentEnvironment, } from '../devtools/index.js';
3
+ import { isDevelopmentEnvironment } from '../db/sqlErrors.js';
4
+ const defaultMaxEntries = 500;
5
+ /**
6
+ * Captures queue lifecycle events for local development panels and tests.
7
+ */
8
+ export class QueueMonitor {
9
+ entries = [];
10
+ listeners = new Set();
11
+ maxEntries;
12
+ source;
13
+ includePayload;
14
+ dispatch;
15
+ /**
16
+ * Creates a queue lifecycle monitor.
17
+ */
18
+ constructor(options = {}) {
19
+ this.maxEntries = normalizePositiveInteger(options.maxEntries, defaultMaxEntries);
20
+ this.source = options.source || 'app';
21
+ this.includePayload = options.includePayload ?? false;
22
+ this.dispatch = options.dispatch;
23
+ }
24
+ /**
25
+ * Returns queue events retained in memory.
26
+ */
27
+ recent() {
28
+ return [...this.entries];
29
+ }
30
+ /**
31
+ * Removes queue events from the in-memory buffer.
32
+ */
33
+ clear() {
34
+ this.entries.length = 0;
35
+ }
36
+ /**
37
+ * Subscribes to queue events and returns an unsubscribe callback.
38
+ */
39
+ subscribe(listener) {
40
+ this.listeners.add(listener);
41
+ return () => {
42
+ this.listeners.delete(listener);
43
+ };
44
+ }
45
+ /**
46
+ * Records one queue job lifecycle event.
47
+ *
48
+ * @param input - Queue job lifecycle fields.
49
+ */
50
+ recordJob(input) {
51
+ this.record({
52
+ type: 'queue.job',
53
+ id: this.eventId(input),
54
+ source: this.source,
55
+ timestamp: input.timestamp ?? new Date().toISOString(),
56
+ action: input.action,
57
+ queue: input.queue,
58
+ jobName: input.jobName,
59
+ jobId: input.jobId,
60
+ jobUuid: input.jobUuid,
61
+ attempts: input.attempts,
62
+ maxTries: input.maxTries,
63
+ delaySeconds: input.delaySeconds,
64
+ durationMs: input.durationMs === undefined ? undefined : roundDuration(input.durationMs),
65
+ errorMessage: input.error === undefined ? undefined : errorMessage(input.error),
66
+ origin: input.origin,
67
+ payloadData: this.includePayload ? input.payloadData : undefined,
68
+ });
69
+ }
70
+ /**
71
+ * Records one event produced by the always-on queue lifecycle dispatcher.
72
+ *
73
+ * @param event - Queue lifecycle event to retain and forward.
74
+ */
75
+ recordLifecycleEvent(event) {
76
+ this.recordJob({
77
+ timestamp: event.timestamp,
78
+ action: event.action,
79
+ queue: event.queue,
80
+ jobName: event.jobName,
81
+ jobId: event.jobId,
82
+ jobUuid: event.jobUuid,
83
+ attempts: event.attempts,
84
+ maxTries: event.maxTries,
85
+ delaySeconds: event.delaySeconds,
86
+ durationMs: event.durationMs,
87
+ error: event.error,
88
+ origin: event.origin,
89
+ payloadData: event.payloadData,
90
+ });
91
+ }
92
+ /**
93
+ * Creates a stable id for terminal failures and a unique id for lifecycle events.
94
+ *
95
+ * A job UUID keeps repeated terminal instrumentation deliveries as one panel row.
96
+ *
97
+ * @param input - Queue event fields used to identify a terminal failure.
98
+ * @returns Stable failed-event id or a fresh lifecycle event id.
99
+ */
100
+ eventId(input) {
101
+ if (input.action === 'failed' && input.jobUuid) {
102
+ return `queue-failed:${input.jobUuid}`;
103
+ }
104
+ return randomUUID();
105
+ }
106
+ /**
107
+ * Retains an event and notifies local plus external subscribers.
108
+ */
109
+ record(event) {
110
+ this.entries.push(event);
111
+ while (this.entries.length > this.maxEntries) {
112
+ this.entries.shift();
113
+ }
114
+ for (const listener of this.listeners) {
115
+ listener(event);
116
+ }
117
+ this.dispatch?.(event);
118
+ }
119
+ }
120
+ /**
121
+ * Enables the environment-default queue monitor when the runtime opts in.
122
+ */
123
+ export function enableDefaultQueueMonitor(options = undefined, env = process.env) {
124
+ if (options === false)
125
+ return null;
126
+ const defaults = defaultQueueMonitorOptions(env);
127
+ const resolved = defaults || options
128
+ ? {
129
+ ...(defaults ?? {}),
130
+ ...(options ?? {}),
131
+ }
132
+ : null;
133
+ if (!resolved)
134
+ return null;
135
+ return new QueueMonitor(resolved);
136
+ }
137
+ /**
138
+ * Resolves queue monitor defaults from development and observability env vars.
139
+ */
140
+ export function defaultQueueMonitorOptions(env = process.env) {
141
+ const mode = queueMonitorMode(env.PLATFORM_QUEUE_MONITOR, env.NODE_ENV);
142
+ if (!mode)
143
+ return null;
144
+ return {
145
+ source: env.PLATFORM_QUEUE_MONITOR_SOURCE || env.npm_package_name || 'app',
146
+ maxEntries: parseIntegerEnv(env.PLATFORM_QUEUE_MONITOR_MAX, defaultMaxEntries),
147
+ includePayload: booleanEnv(env.PLATFORM_QUEUE_MONITOR_PAYLOAD, mode === 'full' || (mode === 'dev' && isDevelopmentEnvironment(env.NODE_ENV ?? ''))),
148
+ dispatch: createHttpQueueMonitorDispatcher({
149
+ url: devtoolsEventsUrl(env),
150
+ }),
151
+ };
152
+ }
153
+ /**
154
+ * Creates a fire-and-forget batched HTTP dispatcher for queue events.
155
+ */
156
+ export function createHttpQueueMonitorDispatcher(options = {}) {
157
+ return createHttpEventDispatcher(options);
158
+ }
159
+ /**
160
+ * Resolves whether monitoring should be active for the current environment.
161
+ */
162
+ function queueMonitorMode(input, environment) {
163
+ const normalized = (input || '').toLowerCase().trim();
164
+ switch (normalized) {
165
+ case '':
166
+ return isInteractiveDevelopmentEnvironment(environment) ? 'dev' : null;
167
+ case '1':
168
+ case 'true':
169
+ case 'on':
170
+ case 'dev':
171
+ return 'dev';
172
+ case 'full':
173
+ return 'full';
174
+ case '0':
175
+ case 'false':
176
+ case 'off':
177
+ return null;
178
+ default:
179
+ return isInteractiveDevelopmentEnvironment(environment) ? 'dev' : null;
180
+ }
181
+ }
182
+ /**
183
+ * Converts an unknown thrown value into a useful event message.
184
+ */
185
+ function errorMessage(error) {
186
+ if (error instanceof Error)
187
+ return error.message;
188
+ if (error === undefined || error === null)
189
+ return '';
190
+ return String(error);
191
+ }
192
+ /**
193
+ * Rounds a duration to one decimal place while keeping tiny timings visible.
194
+ */
195
+ function roundDuration(durationMs) {
196
+ if (!Number.isFinite(durationMs) || durationMs < 0)
197
+ return 0;
198
+ return Math.round(durationMs * 10) / 10;
199
+ }
200
+ /**
201
+ * Parses a boolean env var while preserving a default value.
202
+ */
203
+ function booleanEnv(input, fallback) {
204
+ if (input === undefined || input === '')
205
+ return fallback;
206
+ switch (input.toLowerCase().trim()) {
207
+ case '1':
208
+ case 'true':
209
+ case 'yes':
210
+ case 'on':
211
+ return true;
212
+ case '0':
213
+ case 'false':
214
+ case 'no':
215
+ case 'off':
216
+ return false;
217
+ default:
218
+ return fallback;
219
+ }
220
+ }
221
+ /**
222
+ * Parses an integer env var while enforcing a positive fallback.
223
+ */
224
+ function parseIntegerEnv(input, fallback) {
225
+ const parsed = Number(input);
226
+ if (!Number.isFinite(parsed))
227
+ return fallback;
228
+ return normalizePositiveInteger(parsed, fallback);
229
+ }
230
+ /**
231
+ * Returns a positive integer or the supplied fallback.
232
+ */
233
+ function normalizePositiveInteger(input, fallback) {
234
+ const value = Number(input);
235
+ if (!Number.isFinite(value) || value <= 0)
236
+ return fallback;
237
+ return Math.trunc(value);
238
+ }
@@ -0,0 +1,25 @@
1
+ import type * as scheduler from './contracts/index.js';
2
+ import { ScheduledEvent } from './ScheduledEvent.js';
3
+ /**
4
+ * Fluent daily schedule for one short inline callback.
5
+ */
6
+ export declare class ScheduledCall extends ScheduledEvent {
7
+ private readonly callback;
8
+ readonly kind: "call";
9
+ /**
10
+ * Creates a scheduled inline callback.
11
+ *
12
+ * @param callback - Short synchronous or asynchronous task.
13
+ */
14
+ constructor(callback: scheduler.ScheduledCallHandler);
15
+ /**
16
+ * Runs the scheduled callback and awaits asynchronous completion.
17
+ */
18
+ run(): Promise<void>;
19
+ /**
20
+ * Requires every callback schedule to declare a stable explicit name.
21
+ *
22
+ * @returns Null because anonymous callback identity is not durable.
23
+ */
24
+ protected defaultName(): string | null;
25
+ }
@@ -0,0 +1,31 @@
1
+ import { ScheduledEvent } from './ScheduledEvent.js';
2
+ /**
3
+ * Fluent daily schedule for one short inline callback.
4
+ */
5
+ export class ScheduledCall extends ScheduledEvent {
6
+ callback;
7
+ kind = 'call';
8
+ /**
9
+ * Creates a scheduled inline callback.
10
+ *
11
+ * @param callback - Short synchronous or asynchronous task.
12
+ */
13
+ constructor(callback) {
14
+ super();
15
+ this.callback = callback;
16
+ }
17
+ /**
18
+ * Runs the scheduled callback and awaits asynchronous completion.
19
+ */
20
+ async run() {
21
+ await this.callback();
22
+ }
23
+ /**
24
+ * Requires every callback schedule to declare a stable explicit name.
25
+ *
26
+ * @returns Null because anonymous callback identity is not durable.
27
+ */
28
+ defaultName() {
29
+ return null;
30
+ }
31
+ }
@@ -0,0 +1,74 @@
1
+ import type * as scheduler from './contracts/index.js';
2
+ /**
3
+ * Shared fluent timing configuration for scheduled jobs and calls.
4
+ */
5
+ export declare abstract class ScheduledEvent {
6
+ abstract readonly kind: scheduler.ScheduledTaskKind;
7
+ protected configuredName: string | null;
8
+ protected configuredFrequency: scheduler.DailyScheduleFrequency | null;
9
+ protected configuredTimezone: string;
10
+ /**
11
+ * Sets the stable identity used for deduplication and history.
12
+ *
13
+ * @param name - Stable non-empty schedule name.
14
+ * @returns This scheduled event.
15
+ */
16
+ name(name: string): this;
17
+ /**
18
+ * Schedules this task every day at local midnight.
19
+ *
20
+ * @returns This scheduled event.
21
+ */
22
+ daily(): this;
23
+ /**
24
+ * Schedules this task every day at one local wall-clock time.
25
+ *
26
+ * @param time - Time in 24-hour HH:mm form.
27
+ * @returns This scheduled event.
28
+ */
29
+ dailyAt(time: string): this;
30
+ /**
31
+ * Sets the IANA timezone used to interpret this event's local time.
32
+ *
33
+ * @param timezone - IANA timezone such as Europe/London.
34
+ * @returns This scheduled event.
35
+ */
36
+ timezone(timezone: string): this;
37
+ /**
38
+ * Returns whether this event is due at one canonical UTC minute.
39
+ *
40
+ * @param instant - UTC minute being evaluated.
41
+ * @returns True when the configured daily time matches.
42
+ */
43
+ isDue(instant: Date): boolean;
44
+ /**
45
+ * Returns the normalized public schedule definition.
46
+ *
47
+ * @returns Validated schedule definition.
48
+ */
49
+ definition(): scheduler.ScheduledTaskDefinition;
50
+ /**
51
+ * Resolves the stable event name or throws when one is unavailable.
52
+ *
53
+ * @returns Stable event name.
54
+ */
55
+ protected resolvedName(): string;
56
+ /**
57
+ * Returns the daily frequency or throws when none was configured.
58
+ *
59
+ * @returns Configured daily frequency.
60
+ */
61
+ private frequency;
62
+ /**
63
+ * Returns the default stable name supplied by the concrete event type.
64
+ *
65
+ * @returns Default name, or null when explicit naming is required.
66
+ */
67
+ protected abstract defaultName(): string | null;
68
+ /**
69
+ * Returns the known queue job name for public schedule inspection.
70
+ *
71
+ * @returns Queue job name, or null for calls and deferred factories.
72
+ */
73
+ protected resolvedJobName(): string | null;
74
+ }
@@ -0,0 +1,115 @@
1
+ import { dailyScheduleIsDue, normalizeDailyTime, normalizeScheduleTimezone } from './scheduleTime.js';
2
+ /**
3
+ * Shared fluent timing configuration for scheduled jobs and calls.
4
+ */
5
+ export class ScheduledEvent {
6
+ configuredName = null;
7
+ configuredFrequency = null;
8
+ configuredTimezone = 'UTC';
9
+ /**
10
+ * Sets the stable identity used for deduplication and history.
11
+ *
12
+ * @param name - Stable non-empty schedule name.
13
+ * @returns This scheduled event.
14
+ */
15
+ name(name) {
16
+ const normalized = name.trim();
17
+ if (!normalized) {
18
+ throw new Error('Scheduled event names cannot be empty.');
19
+ }
20
+ if (normalized.length > 255) {
21
+ throw new Error('Scheduled event names cannot exceed 255 characters.');
22
+ }
23
+ this.configuredName = normalized;
24
+ return this;
25
+ }
26
+ /**
27
+ * Schedules this task every day at local midnight.
28
+ *
29
+ * @returns This scheduled event.
30
+ */
31
+ daily() {
32
+ return this.dailyAt('00:00');
33
+ }
34
+ /**
35
+ * Schedules this task every day at one local wall-clock time.
36
+ *
37
+ * @param time - Time in 24-hour HH:mm form.
38
+ * @returns This scheduled event.
39
+ */
40
+ dailyAt(time) {
41
+ this.configuredFrequency = {
42
+ type: 'daily',
43
+ time: normalizeDailyTime(time),
44
+ };
45
+ return this;
46
+ }
47
+ /**
48
+ * Sets the IANA timezone used to interpret this event's local time.
49
+ *
50
+ * @param timezone - IANA timezone such as Europe/London.
51
+ * @returns This scheduled event.
52
+ */
53
+ timezone(timezone) {
54
+ this.configuredTimezone = normalizeScheduleTimezone(timezone);
55
+ return this;
56
+ }
57
+ /**
58
+ * Returns whether this event is due at one canonical UTC minute.
59
+ *
60
+ * @param instant - UTC minute being evaluated.
61
+ * @returns True when the configured daily time matches.
62
+ */
63
+ isDue(instant) {
64
+ const frequency = this.frequency();
65
+ return dailyScheduleIsDue(instant, frequency.time, this.configuredTimezone);
66
+ }
67
+ /**
68
+ * Returns the normalized public schedule definition.
69
+ *
70
+ * @returns Validated schedule definition.
71
+ */
72
+ definition() {
73
+ const jobName = this.resolvedJobName();
74
+ return {
75
+ name: this.resolvedName(),
76
+ kind: this.kind,
77
+ frequency: this.frequency(),
78
+ timezone: this.configuredTimezone,
79
+ ...(jobName ? {
80
+ jobName,
81
+ } : {}),
82
+ };
83
+ }
84
+ /**
85
+ * Resolves the stable event name or throws when one is unavailable.
86
+ *
87
+ * @returns Stable event name.
88
+ */
89
+ resolvedName() {
90
+ const name = this.configuredName ?? this.defaultName();
91
+ if (!name) {
92
+ throw new Error(`${this.constructor.name} requires an explicit stable name.`);
93
+ }
94
+ return name;
95
+ }
96
+ /**
97
+ * Returns the daily frequency or throws when none was configured.
98
+ *
99
+ * @returns Configured daily frequency.
100
+ */
101
+ frequency() {
102
+ if (!this.configuredFrequency) {
103
+ throw new Error(`Scheduled event "${this.resolvedName()}" requires a frequency.`);
104
+ }
105
+ return this.configuredFrequency;
106
+ }
107
+ /**
108
+ * Returns the known queue job name for public schedule inspection.
109
+ *
110
+ * @returns Queue job name, or null for calls and deferred factories.
111
+ */
112
+ resolvedJobName() {
113
+ return null;
114
+ }
115
+ }
@@ -0,0 +1,34 @@
1
+ import { type QueueableJob } from '../queue/index.js';
2
+ import type * as scheduler from './contracts/index.js';
3
+ import { ScheduledEvent } from './ScheduledEvent.js';
4
+ /**
5
+ * Fluent daily schedule that creates a fresh QueueableJob when due.
6
+ */
7
+ export declare class ScheduledJob extends ScheduledEvent {
8
+ private readonly source;
9
+ readonly kind: "job";
10
+ /**
11
+ * Creates a scheduled job definition.
12
+ *
13
+ * @param source - Zero-argument QueueableJob class or fresh-job factory.
14
+ */
15
+ constructor(source: scheduler.ScheduledJobSource);
16
+ /**
17
+ * Creates the QueueableJob for one claimed occurrence.
18
+ *
19
+ * @returns Fresh serializable queue job.
20
+ */
21
+ createJob(): QueueableJob;
22
+ /**
23
+ * Returns the class job name when no factory invocation is required.
24
+ *
25
+ * @returns Durable queue job name, or null for factories.
26
+ */
27
+ resolvedJobName(): string | null;
28
+ /**
29
+ * Uses the durable class job name as the default schedule identity.
30
+ *
31
+ * @returns Default job name, or null for parameterised factories.
32
+ */
33
+ protected defaultName(): string | null;
34
+ }
@@ -0,0 +1,50 @@
1
+ import { isQueueableJob, isQueueableJobClass, queueableJobName } from '../queue/index.js';
2
+ import { ScheduledEvent } from './ScheduledEvent.js';
3
+ /**
4
+ * Fluent daily schedule that creates a fresh QueueableJob when due.
5
+ */
6
+ export class ScheduledJob extends ScheduledEvent {
7
+ source;
8
+ kind = 'job';
9
+ /**
10
+ * Creates a scheduled job definition.
11
+ *
12
+ * @param source - Zero-argument QueueableJob class or fresh-job factory.
13
+ */
14
+ constructor(source) {
15
+ super();
16
+ this.source = source;
17
+ }
18
+ /**
19
+ * Creates the QueueableJob for one claimed occurrence.
20
+ *
21
+ * @returns Fresh serializable queue job.
22
+ */
23
+ createJob() {
24
+ const job = isQueueableJobClass(this.source)
25
+ ? new this.source()
26
+ : this.source();
27
+ if (!isQueueableJob(job)) {
28
+ throw new Error(`Scheduled job "${this.resolvedName()}" did not create a QueueableJob.`);
29
+ }
30
+ return job;
31
+ }
32
+ /**
33
+ * Returns the class job name when no factory invocation is required.
34
+ *
35
+ * @returns Durable queue job name, or null for factories.
36
+ */
37
+ resolvedJobName() {
38
+ if (!isQueueableJobClass(this.source))
39
+ return null;
40
+ return queueableJobName(this.source);
41
+ }
42
+ /**
43
+ * Uses the durable class job name as the default schedule identity.
44
+ *
45
+ * @returns Default job name, or null for parameterised factories.
46
+ */
47
+ defaultName() {
48
+ return this.resolvedJobName();
49
+ }
50
+ }