@elevasis/core 0.7.1 → 0.8.2

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 (476) hide show
  1. package/dist/test-utils/index.d.ts +3122 -0
  2. package/dist/test-utils/index.js +386 -0
  3. package/package.json +6 -1
  4. package/src/README.md +39 -36
  5. package/src/__tests__/publish.test.ts +18 -13
  6. package/src/__tests__/{template-foundations-compatibility.test.ts → template-core-compatibility.test.ts} +99 -99
  7. package/src/_gen/__tests__/__snapshots__/contracts.md.snap +1135 -1131
  8. package/src/_gen/__tests__/scaffold-contracts.test.ts +47 -36
  9. package/src/_gen/scaffold-contracts.ts +45 -45
  10. package/src/auth/multi-tenancy/credentials/README.md +38 -38
  11. package/src/auth/multi-tenancy/credentials/index.ts +6 -6
  12. package/src/auth/multi-tenancy/credentials/server/encryption.ts +39 -39
  13. package/src/auth/multi-tenancy/credentials/server/service.ts +60 -60
  14. package/src/auth/multi-tenancy/index.ts +17 -17
  15. package/src/auth/multi-tenancy/invitations/api-schemas.ts +107 -107
  16. package/src/auth/multi-tenancy/invitations/index.ts +37 -37
  17. package/src/auth/multi-tenancy/invitations/invitation.ts +86 -86
  18. package/src/auth/multi-tenancy/invitations/server/index.ts +25 -25
  19. package/src/auth/multi-tenancy/invitations/server/transforms.ts +24 -24
  20. package/src/auth/multi-tenancy/invitations/server/workos.ts +24 -24
  21. package/src/auth/multi-tenancy/invitations/supabase.ts +50 -50
  22. package/src/auth/multi-tenancy/memberships/api-schemas.ts +126 -126
  23. package/src/auth/multi-tenancy/memberships/index.ts +21 -21
  24. package/src/auth/multi-tenancy/memberships/membership.ts +138 -138
  25. package/src/auth/multi-tenancy/memberships/server/index.ts +15 -15
  26. package/src/auth/multi-tenancy/memberships/server/transforms.ts +32 -32
  27. package/src/auth/multi-tenancy/memberships/server/workos.ts +21 -21
  28. package/src/auth/multi-tenancy/memberships/supabase.ts +46 -46
  29. package/src/auth/multi-tenancy/organizations/api-schemas.ts +128 -128
  30. package/src/auth/multi-tenancy/organizations/index.ts +23 -23
  31. package/src/auth/multi-tenancy/organizations/organization.ts +24 -24
  32. package/src/auth/multi-tenancy/organizations/server/index.ts +10 -10
  33. package/src/auth/multi-tenancy/organizations/server/transforms.ts +35 -35
  34. package/src/auth/multi-tenancy/organizations/server/workos.ts +20 -20
  35. package/src/auth/multi-tenancy/types.ts +83 -83
  36. package/src/auth/multi-tenancy/users/api-schemas.ts +194 -194
  37. package/src/auth/multi-tenancy/users/index.ts +27 -27
  38. package/src/auth/multi-tenancy/users/server/index.ts +19 -19
  39. package/src/auth/multi-tenancy/users/server/transforms.ts +21 -21
  40. package/src/auth/multi-tenancy/users/server/workos.ts +16 -16
  41. package/src/auth/multi-tenancy/users/user.ts +65 -65
  42. package/src/business/README.md +52 -52
  43. package/src/business/__tests__/entities-published.test.ts +33 -33
  44. package/src/business/acquisition/api-schemas.ts +759 -759
  45. package/src/business/acquisition/index.ts +109 -109
  46. package/src/business/acquisition/types.ts +402 -402
  47. package/src/business/base-entities.test.ts +481 -481
  48. package/src/business/base-entities.ts +241 -241
  49. package/src/business/entities-published.ts +24 -24
  50. package/src/business/index.ts +15 -15
  51. package/src/business/pdf/browser/pdfmake-browser.ts +229 -229
  52. package/src/business/pdf/index.ts +10 -10
  53. package/src/business/pdf/server/index.ts +21 -21
  54. package/src/business/pdf/server/themes/default.ts +8 -8
  55. package/src/business/pdf/server/themes/index.ts +9 -9
  56. package/src/business/pdf/server/themes/types.ts +8 -8
  57. package/src/business/pdf/types.ts +272 -272
  58. package/src/business/projects/index.ts +2 -2
  59. package/src/business/projects/sse-events.ts +21 -21
  60. package/src/business/projects/types.ts +89 -89
  61. package/src/business/sales/api-schemas.ts +75 -75
  62. package/src/business/seo/__tests__/linking.test.ts +549 -549
  63. package/src/business/seo/__tests__/types.test.ts +404 -404
  64. package/src/business/seo/index.ts +2 -2
  65. package/src/business/seo/linking.ts +281 -281
  66. package/src/business/seo/types.ts +199 -199
  67. package/src/commands/queue/index.ts +3 -3
  68. package/src/commands/queue/schemas.test.ts +593 -593
  69. package/src/commands/queue/schemas.ts +125 -125
  70. package/src/commands/queue/sse-events.ts +61 -61
  71. package/src/commands/queue/types/action.ts +52 -52
  72. package/src/commands/queue/types/checkpoint.ts +44 -44
  73. package/src/commands/queue/types/index.ts +7 -7
  74. package/src/commands/queue/types/task.ts +116 -116
  75. package/src/commands/queue/types.ts +14 -14
  76. package/src/content/distribution-metadata.ts +61 -61
  77. package/src/content/index.ts +10 -10
  78. package/src/deployments/index.ts +22 -22
  79. package/src/execution/core/__tests__/archived-logs.test.ts +72 -72
  80. package/src/execution/core/index.ts +11 -11
  81. package/src/execution/core/runner-types.ts +80 -80
  82. package/src/execution/core/server/environment.ts +31 -31
  83. package/src/execution/core/sse-executions.ts +119 -119
  84. package/src/execution/core/types.ts +29 -29
  85. package/src/execution/engine/__tests__/fixtures/test-agents.ts +4 -4
  86. package/src/execution/engine/__tests__/timeout.test.ts +565 -565
  87. package/src/execution/engine/agent/__tests__/errors.test.ts +508 -508
  88. package/src/execution/engine/agent/actions/__tests__/processor.test.ts +531 -531
  89. package/src/execution/engine/agent/actions/executor.ts +205 -205
  90. package/src/execution/engine/agent/actions/navigate-knowledge-executor.ts +230 -230
  91. package/src/execution/engine/agent/actions/processor.ts +116 -116
  92. package/src/execution/engine/agent/actions/types.ts +70 -70
  93. package/src/execution/engine/agent/core/agent.ts +810 -810
  94. package/src/execution/engine/agent/core/types.ts +155 -155
  95. package/src/execution/engine/agent/errors.ts +251 -251
  96. package/src/execution/engine/agent/index.ts +78 -78
  97. package/src/execution/engine/agent/knowledge-map/types.ts +106 -106
  98. package/src/execution/engine/agent/knowledge-map/utils.ts +101 -101
  99. package/src/execution/engine/agent/memory/__tests__/manager.test.ts +754 -754
  100. package/src/execution/engine/agent/memory/domains.ts +99 -99
  101. package/src/execution/engine/agent/memory/manager.ts +365 -365
  102. package/src/execution/engine/agent/memory/processor.ts +66 -66
  103. package/src/execution/engine/agent/memory/types.ts +90 -90
  104. package/src/execution/engine/agent/memory/utils.ts +134 -134
  105. package/src/execution/engine/agent/observability/logging.ts +467 -467
  106. package/src/execution/engine/agent/observability/types.ts +64 -64
  107. package/src/execution/engine/agent/reasoning/adapters/agent-adapter-helpers.ts +349 -349
  108. package/src/execution/engine/agent/reasoning/processor.ts +92 -92
  109. package/src/execution/engine/agent/reasoning/prompt-sections/base-actions.ts +134 -134
  110. package/src/execution/engine/agent/reasoning/prompt-sections/completion.ts +49 -49
  111. package/src/execution/engine/agent/reasoning/prompt-sections/knowledge-map.ts +93 -93
  112. package/src/execution/engine/agent/reasoning/prompt-sections/memory.ts +65 -65
  113. package/src/execution/engine/agent/reasoning/prompt-sections/tools.ts +44 -44
  114. package/src/execution/engine/agent/reasoning/request-builder.ts +169 -169
  115. package/src/execution/engine/agent/reasoning/types.ts +18 -18
  116. package/src/execution/engine/base/errors.ts +118 -118
  117. package/src/execution/engine/base/index.ts +2 -2
  118. package/src/execution/engine/base/logging.ts +31 -31
  119. package/src/execution/engine/base/serialization.ts +324 -324
  120. package/src/execution/engine/base/types.ts +126 -126
  121. package/src/execution/engine/base/utils.ts +41 -41
  122. package/src/execution/engine/index.ts +434 -434
  123. package/src/execution/engine/interface/index.ts +1 -1
  124. package/src/execution/engine/interface/types.ts +62 -62
  125. package/src/execution/engine/llm/__tests__/model-info.test.ts +50 -50
  126. package/src/execution/engine/llm/__tests__/model-validation.test.ts +321 -321
  127. package/src/execution/engine/llm/__tests__/response-schema-validator.test.ts +115 -115
  128. package/src/execution/engine/llm/adapters/__tests__/adapter-factory.test.ts +375 -375
  129. package/src/execution/engine/llm/adapters/__tests__/anthropic-adapter.test.ts +463 -463
  130. package/src/execution/engine/llm/adapters/__tests__/anthropic.integration.test.ts +177 -177
  131. package/src/execution/engine/llm/adapters/__tests__/google-adapter.test.ts +722 -722
  132. package/src/execution/engine/llm/adapters/__tests__/google.integration.test.ts +376 -376
  133. package/src/execution/engine/llm/adapters/__tests__/openai-adapter.test.ts +551 -551
  134. package/src/execution/engine/llm/adapters/__tests__/openrouter-adapter.test.ts +563 -563
  135. package/src/execution/engine/llm/adapters/__tests__/openrouter.integration.test.ts +105 -105
  136. package/src/execution/engine/llm/adapters/__tests__/universal-adapter.test.ts +537 -537
  137. package/src/execution/engine/llm/adapters/circuit-breaker.ts +147 -147
  138. package/src/execution/engine/llm/adapters/index.ts +17 -17
  139. package/src/execution/engine/llm/adapters/mock-adapter.ts +116 -116
  140. package/src/execution/engine/llm/adapters/server/adapter-factory.ts +130 -130
  141. package/src/execution/engine/llm/adapters/server/anthropic.ts +137 -137
  142. package/src/execution/engine/llm/adapters/server/google.ts +283 -283
  143. package/src/execution/engine/llm/adapters/server/index.ts +12 -12
  144. package/src/execution/engine/llm/adapters/server/openai.ts +206 -206
  145. package/src/execution/engine/llm/adapters/server/openrouter.ts +235 -235
  146. package/src/execution/engine/llm/adapters/universal-adapter.ts +230 -230
  147. package/src/execution/engine/llm/errors.ts +186 -186
  148. package/src/execution/engine/llm/model-info.ts +332 -332
  149. package/src/execution/engine/llm/response-schema-validator.ts +113 -113
  150. package/src/execution/engine/llm/types.ts +86 -86
  151. package/src/execution/engine/test-utils/index.ts +6 -6
  152. package/src/execution/engine/test-utils/mocks.ts +56 -56
  153. package/src/execution/engine/tools/integration/base-integration-adapter.ts +50 -50
  154. package/src/execution/engine/tools/integration/index.ts +53 -53
  155. package/src/execution/engine/tools/integration/server/adapters/anymailfinder/anymailfinder-adapter.ts +73 -73
  156. package/src/execution/engine/tools/integration/server/adapters/anymailfinder/anymailfinder-tools.ts +209 -209
  157. package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-company-email/index.ts +82 -82
  158. package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-decision-maker-email/index.ts +122 -122
  159. package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-person-email/index.ts +89 -89
  160. package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/verify-email/index.ts +84 -84
  161. package/src/execution/engine/tools/integration/server/adapters/anymailfinder/index.ts +16 -16
  162. package/src/execution/engine/tools/integration/server/adapters/apify/__tests__/apify-run-actor.integration.test.ts +293 -293
  163. package/src/execution/engine/tools/integration/server/adapters/apify/apify-adapter.ts +100 -100
  164. package/src/execution/engine/tools/integration/server/adapters/apify/apify-tools.ts +217 -217
  165. package/src/execution/engine/tools/integration/server/adapters/apify/fetch/get-dataset-items/index.ts +92 -92
  166. package/src/execution/engine/tools/integration/server/adapters/apify/fetch/run-actor/index.ts +218 -218
  167. package/src/execution/engine/tools/integration/server/adapters/apify/fetch/start-actor/index.ts +87 -87
  168. package/src/execution/engine/tools/integration/server/adapters/apify/index.ts +11 -11
  169. package/src/execution/engine/tools/integration/server/adapters/attio/__tests__/attio-crud.integration.test.ts +361 -361
  170. package/src/execution/engine/tools/integration/server/adapters/attio/attio-adapter.ts +162 -162
  171. package/src/execution/engine/tools/integration/server/adapters/attio/attio-tools.ts +594 -594
  172. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-attribute/index.ts +214 -214
  173. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-note/index.ts +152 -152
  174. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-record/index.ts +141 -141
  175. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/delete-note/index.ts +86 -86
  176. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/delete-record/index.ts +105 -105
  177. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/get-record/index.ts +118 -118
  178. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-attributes/index.ts +165 -165
  179. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-notes/index.ts +96 -96
  180. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-objects/index.ts +104 -104
  181. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-records/index.ts +156 -156
  182. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/update-attribute/index.ts +220 -220
  183. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/update-record/index.ts +140 -140
  184. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/utils/types.ts +146 -146
  185. package/src/execution/engine/tools/integration/server/adapters/attio/index.ts +31 -31
  186. package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-adapter.ts +210 -210
  187. package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-tools.ts +104 -104
  188. package/src/execution/engine/tools/integration/server/adapters/google-sheets/__tests__/google-sheets.integration.test.ts +261 -261
  189. package/src/execution/engine/tools/integration/server/adapters/google-sheets/google-sheets-adapter.ts +1189 -1189
  190. package/src/execution/engine/tools/integration/server/adapters/google-sheets/google-sheets-tools.ts +641 -641
  191. package/src/execution/engine/tools/integration/server/adapters/google-sheets/index.ts +18 -18
  192. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/activate-campaign/index.ts +86 -86
  193. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/add-to-campaign/__tests__/index.test.ts +289 -289
  194. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/add-to-campaign/index.ts +154 -154
  195. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-add-leads/__tests__/index.test.ts +325 -325
  196. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-add-leads/index.ts +153 -153
  197. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-delete-leads/index.ts +84 -84
  198. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/create-campaign/index.ts +125 -125
  199. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/create-inbox-test/index.ts +107 -107
  200. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/delete-campaign/index.ts +85 -85
  201. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-account-health/index.ts +91 -91
  202. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign/index.ts +92 -92
  203. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign-analytics/__tests__/index.test.ts +195 -195
  204. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign-analytics/index.ts +113 -113
  205. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-daily-campaign-analytics/index.ts +104 -104
  206. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-emails/index.ts +155 -155
  207. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-step-analytics/__tests__/index.test.ts +196 -196
  208. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-step-analytics/index.ts +102 -102
  209. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-campaigns/__tests__/index.test.ts +189 -189
  210. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-campaigns/index.ts +87 -87
  211. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-leads/index.ts +112 -112
  212. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/patch-lead/index.ts +76 -76
  213. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/pause-campaign/index.ts +86 -86
  214. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/remove-from-subsequence/index.ts +98 -98
  215. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/send-reply/index.ts +126 -126
  216. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-campaign/__tests__/index.test.ts +193 -193
  217. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-campaign/index.ts +99 -99
  218. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-interest-status/__tests__/index.test.ts +621 -621
  219. package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-interest-status/index.ts +125 -125
  220. package/src/execution/engine/tools/integration/server/adapters/instantly/index.ts +29 -29
  221. package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-adapter.ts +178 -178
  222. package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-tools.ts +1473 -1473
  223. package/src/execution/engine/tools/integration/server/adapters/millionverifier/fetch/check-credits/index.ts +59 -59
  224. package/src/execution/engine/tools/integration/server/adapters/millionverifier/fetch/verify-email/index.ts +102 -102
  225. package/src/execution/engine/tools/integration/server/adapters/millionverifier/index.ts +17 -17
  226. package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-adapter.ts +80 -80
  227. package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-tools.ts +102 -102
  228. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/get-email/index.ts +102 -102
  229. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.ts +134 -134
  230. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/utils/types.ts +75 -75
  231. package/src/execution/engine/tools/integration/server/adapters/resend/index.ts +27 -27
  232. package/src/execution/engine/tools/integration/server/adapters/resend/resend-adapter.ts +108 -108
  233. package/src/execution/engine/tools/integration/server/adapters/resend/resend-tools.ts +132 -132
  234. package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/create-envelope/index.ts +274 -274
  235. package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/download-document/index.ts +230 -230
  236. package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/get-envelope/index.ts +133 -133
  237. package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/void-envelope/index.ts +90 -90
  238. package/src/execution/engine/tools/integration/server/adapters/stripe/fetch/utils/types.ts +210 -210
  239. package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-adapter.ts +517 -517
  240. package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-tools.ts +309 -309
  241. package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/domain-search/index.ts +133 -133
  242. package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/email-finder/index.ts +122 -122
  243. package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/email-verifier/index.ts +111 -111
  244. package/src/execution/engine/tools/integration/server/adapters/tomba/index.ts +11 -11
  245. package/src/execution/engine/tools/integration/server/adapters/tomba/tomba-adapter.ts +78 -78
  246. package/src/execution/engine/tools/integration/server/adapters/tomba/tomba-tools.ts +222 -222
  247. package/src/execution/engine/tools/integration/server/index.ts +61 -61
  248. package/src/execution/engine/tools/integration/service.ts +161 -161
  249. package/src/execution/engine/tools/integration/tool.ts +253 -253
  250. package/src/execution/engine/tools/integration/types/anymailfinder.ts +74 -74
  251. package/src/execution/engine/tools/integration/types/apify.ts +92 -92
  252. package/src/execution/engine/tools/integration/types/index.ts +19 -19
  253. package/src/execution/engine/tools/integration/types/instantly.ts +557 -557
  254. package/src/execution/engine/tools/integration/types/millionverifier.ts +56 -56
  255. package/src/execution/engine/tools/integration/types/stripe.ts +162 -162
  256. package/src/execution/engine/tools/integration/types/tomba.ts +94 -94
  257. package/src/execution/engine/tools/lead-service-types.ts +884 -884
  258. package/src/execution/engine/tools/llm/index.ts +11 -11
  259. package/src/execution/engine/tools/llm/server/index.ts +8 -8
  260. package/src/execution/engine/tools/llm/server/llm-call-tool.ts +118 -118
  261. package/src/execution/engine/tools/platform/__tests__/pdf.test.ts +441 -441
  262. package/src/execution/engine/tools/platform/acquisition/company-tools.ts +248 -248
  263. package/src/execution/engine/tools/platform/acquisition/contact-tools.ts +319 -319
  264. package/src/execution/engine/tools/platform/acquisition/index.ts +43 -43
  265. package/src/execution/engine/tools/platform/acquisition/list-tools.ts +148 -148
  266. package/src/execution/engine/tools/platform/acquisition/types.ts +260 -260
  267. package/src/execution/engine/tools/platform/email/index.ts +122 -122
  268. package/src/execution/engine/tools/platform/email/types.ts +96 -96
  269. package/src/execution/engine/tools/platform/index.ts +157 -157
  270. package/src/execution/engine/tools/platform/notification.ts +81 -81
  271. package/src/execution/engine/tools/platform/pdf/index.ts +110 -110
  272. package/src/execution/engine/tools/platform/pdf/types.ts +77 -77
  273. package/src/execution/engine/tools/platform/scheduler.ts +87 -87
  274. package/src/execution/engine/tools/platform/storage/index.ts +370 -370
  275. package/src/execution/engine/tools/platform/types.ts +148 -148
  276. package/src/execution/engine/tools/registry.ts +700 -700
  277. package/src/execution/engine/tools/tool-maps.ts +786 -786
  278. package/src/execution/engine/tools/types.ts +233 -233
  279. package/src/execution/engine/workflow/__tests__/errors.test.ts +139 -139
  280. package/src/execution/engine/workflow/errors.ts +63 -63
  281. package/src/execution/engine/workflow/helpers/index.ts +11 -11
  282. package/src/execution/engine/workflow/helpers/server/index.ts +8 -8
  283. package/src/execution/engine/workflow/helpers/server/llm-call.ts +93 -93
  284. package/src/execution/engine/workflow/index.ts +19 -19
  285. package/src/execution/engine/workflow/log-truncate.ts +26 -26
  286. package/src/execution/engine/workflow/logging.ts +191 -191
  287. package/src/execution/engine/workflow/types.ts +182 -182
  288. package/src/execution/engine/workflow/utils.ts +280 -280
  289. package/src/execution/engine/workflow/workflow.ts +168 -168
  290. package/src/execution/index.ts +3 -3
  291. package/src/execution/scheduler/__tests__/api-schemas.test.ts +733 -733
  292. package/src/execution/scheduler/__tests__/utils.test.ts +1009 -1009
  293. package/src/execution/scheduler/api-schemas.ts +296 -296
  294. package/src/execution/scheduler/index.ts +50 -50
  295. package/src/execution/scheduler/schemas.ts +264 -264
  296. package/src/execution/scheduler/types.ts +111 -111
  297. package/src/execution/scheduler/utils.ts +364 -364
  298. package/src/forms/index.ts +7 -7
  299. package/src/forms/schemas.ts +69 -69
  300. package/src/forms/types.ts +70 -70
  301. package/src/index.ts +71 -60
  302. package/src/integrations/credentials/__tests__/schemas.test.ts +82 -82
  303. package/src/integrations/credentials/__tests__/utils.test.ts +144 -144
  304. package/src/integrations/credentials/api-schemas.ts +143 -143
  305. package/src/integrations/credentials/index.ts +32 -32
  306. package/src/integrations/credentials/schemas.ts +164 -164
  307. package/src/integrations/credentials/utils.ts +59 -59
  308. package/src/integrations/oauth/__tests__/provider-registry.test.ts +59 -59
  309. package/src/integrations/oauth/api-schemas.ts +92 -92
  310. package/src/integrations/oauth/index.ts +19 -19
  311. package/src/integrations/oauth/provider-registry.ts +61 -61
  312. package/src/integrations/oauth/server/__tests__/refresh-concurrent.test.ts +183 -183
  313. package/src/integrations/oauth/server/__tests__/refresh.test.ts +577 -577
  314. package/src/integrations/oauth/server/credentials.ts +39 -39
  315. package/src/integrations/oauth/server/refresh.ts +214 -214
  316. package/src/integrations/oauth/types.ts +34 -34
  317. package/src/integrations/webhook-endpoints/__tests__/api-schemas.test.ts +318 -318
  318. package/src/integrations/webhook-endpoints/api-schemas.ts +102 -102
  319. package/src/integrations/webhook-endpoints/index.ts +28 -28
  320. package/src/integrations/webhook-endpoints/types.ts +51 -51
  321. package/src/operations/activities/api-schemas.ts +79 -79
  322. package/src/operations/activities/index.ts +9 -9
  323. package/src/operations/activities/sse-events.ts +30 -30
  324. package/src/operations/activities/types.ts +63 -63
  325. package/src/operations/debug-logs/client.ts +60 -60
  326. package/src/operations/debug-logs/debug-logger.ts +83 -83
  327. package/src/operations/debug-logs/index.ts +8 -8
  328. package/src/operations/debug-logs/server.ts +19 -19
  329. package/src/operations/debug-logs/types.ts +33 -33
  330. package/src/operations/index.ts +50 -50
  331. package/src/operations/notifications/api-schemas.ts +91 -91
  332. package/src/operations/notifications/index.ts +3 -3
  333. package/src/operations/notifications/sse-events.ts +21 -21
  334. package/src/operations/notifications/types.ts +47 -47
  335. package/src/operations/observability/__tests__/openrouter-cost-flow.test.ts +297 -297
  336. package/src/operations/observability/__tests__/utils.test.ts +54 -54
  337. package/src/operations/observability/ai-usage-collector.ts +64 -64
  338. package/src/operations/observability/index.ts +13 -13
  339. package/src/operations/observability/metrics-collector.ts +49 -49
  340. package/src/operations/observability/schemas.ts +39 -39
  341. package/src/operations/observability/types.ts +463 -463
  342. package/src/operations/observability/utils.ts +77 -77
  343. package/src/operations/sessions/__tests__/manager.test.ts +821 -821
  344. package/src/operations/sessions/index.ts +26 -26
  345. package/src/operations/sessions/server/manager.ts +90 -90
  346. package/src/operations/sessions/server/session.ts +180 -180
  347. package/src/operations/sessions/types.ts +98 -98
  348. package/src/operations/triggers/index.ts +12 -12
  349. package/src/operations/triggers/webhook/definitions/instantly-account-error.ts +44 -44
  350. package/src/operations/triggers/webhook/definitions/instantly-auto-reply-received.ts +51 -51
  351. package/src/operations/triggers/webhook/definitions/instantly-campaign-completed.ts +45 -45
  352. package/src/operations/triggers/webhook/definitions/instantly-email-bounced.ts +49 -49
  353. package/src/operations/triggers/webhook/definitions/instantly-lead-unsubscribed.ts +45 -45
  354. package/src/operations/triggers/webhook/definitions/instantly-reply-received.ts +54 -54
  355. package/src/operations/triggers/webhook/index.ts +35 -35
  356. package/src/operations/triggers/webhook/types.ts +74 -74
  357. package/src/organization-model/README.md +97 -97
  358. package/src/organization-model/__tests__/defaults.test.ts +175 -175
  359. package/src/organization-model/__tests__/domains/customers.test.ts +295 -295
  360. package/src/organization-model/__tests__/domains/goals.test.ts +479 -479
  361. package/src/organization-model/__tests__/domains/identity.test.ts +279 -279
  362. package/src/organization-model/__tests__/domains/navigation.test.ts +212 -212
  363. package/src/organization-model/__tests__/domains/offerings.test.ts +419 -419
  364. package/src/organization-model/__tests__/domains/operations.test.ts +203 -203
  365. package/src/organization-model/__tests__/domains/resource-mappings.test.ts +362 -362
  366. package/src/organization-model/__tests__/domains/roles.test.ts +347 -347
  367. package/src/organization-model/__tests__/domains/statuses.test.ts +243 -243
  368. package/src/organization-model/__tests__/foundation.test.ts +105 -105
  369. package/src/organization-model/__tests__/graph.test.ts +894 -894
  370. package/src/organization-model/__tests__/resolve.test.ts +690 -690
  371. package/src/organization-model/__tests__/schema.test.ts +407 -407
  372. package/src/organization-model/contracts.ts +14 -14
  373. package/src/organization-model/defaults.ts +148 -148
  374. package/src/organization-model/domains/branding.ts +22 -22
  375. package/src/organization-model/domains/customers.ts +75 -75
  376. package/src/organization-model/domains/features.ts +22 -22
  377. package/src/organization-model/domains/goals.ts +80 -80
  378. package/src/organization-model/domains/identity.ts +94 -94
  379. package/src/organization-model/domains/navigation.ts +391 -391
  380. package/src/organization-model/domains/offerings.ts +66 -66
  381. package/src/organization-model/domains/operations.ts +85 -85
  382. package/src/organization-model/domains/projects.ts +48 -48
  383. package/src/organization-model/domains/prospecting.ts +33 -33
  384. package/src/organization-model/domains/roles.ts +55 -55
  385. package/src/organization-model/domains/sales.ts +94 -94
  386. package/src/organization-model/domains/shared.ts +62 -62
  387. package/src/organization-model/domains/statuses.ts +130 -130
  388. package/src/organization-model/foundation.ts +97 -97
  389. package/src/organization-model/graph/build.ts +399 -399
  390. package/src/organization-model/graph/index.ts +4 -4
  391. package/src/organization-model/graph/schema.ts +48 -48
  392. package/src/organization-model/graph/types.ts +40 -40
  393. package/src/organization-model/index.ts +13 -13
  394. package/src/organization-model/organization-graph.mdx +272 -272
  395. package/src/organization-model/organization-model.mdx +320 -320
  396. package/src/organization-model/published.ts +85 -85
  397. package/src/organization-model/resolve.ts +66 -66
  398. package/src/organization-model/schema.ts +287 -287
  399. package/src/organization-model/types.ts +46 -46
  400. package/src/platform/api/index.ts +1 -1
  401. package/src/platform/api/types.ts +35 -35
  402. package/src/platform/constants/http.ts +37 -37
  403. package/src/platform/constants/index.ts +5 -5
  404. package/src/platform/constants/limits.ts +32 -32
  405. package/src/platform/constants/resilience.ts +51 -51
  406. package/src/platform/constants/timeouts.ts +20 -20
  407. package/src/platform/constants/versions.ts +3 -3
  408. package/src/platform/registry/__tests__/resource-registry-static.test.ts +347 -347
  409. package/src/platform/registry/__tests__/resource-registry.integration.test.ts +1028 -1028
  410. package/src/platform/registry/__tests__/resource-registry.list-executable.test.ts +393 -393
  411. package/src/platform/registry/__tests__/resource-registry.test.ts +2005 -2005
  412. package/src/platform/registry/__tests__/serialization.test.ts +1127 -1127
  413. package/src/platform/registry/command-view.ts +180 -180
  414. package/src/platform/registry/domains.ts +165 -165
  415. package/src/platform/registry/index.ts +93 -93
  416. package/src/platform/registry/reserved.ts +24 -24
  417. package/src/platform/registry/resource-metadata.ts +59 -59
  418. package/src/platform/registry/resource-registry.command-queue-groups.test.ts +129 -129
  419. package/src/platform/registry/resource-registry.ts +876 -876
  420. package/src/platform/registry/serialization.ts +273 -273
  421. package/src/platform/registry/serialized-types.ts +231 -231
  422. package/src/platform/registry/stats-types.ts +66 -66
  423. package/src/platform/registry/types.ts +404 -404
  424. package/src/platform/registry/validation.ts +513 -513
  425. package/src/platform/resilience/__tests__/rate-limiter.test.ts +471 -471
  426. package/src/platform/resilience/circuit-breaker.ts +164 -164
  427. package/src/platform/resilience/errors.ts +68 -68
  428. package/src/platform/resilience/http-error-mapper.ts +129 -129
  429. package/src/platform/resilience/index.ts +93 -93
  430. package/src/platform/resilience/rate-limiter-types.ts +46 -46
  431. package/src/platform/resilience/rate-limiter.ts +140 -140
  432. package/src/platform/resilience/retry.ts +89 -89
  433. package/src/platform/resilience/timeout.ts +63 -63
  434. package/src/platform/sse/events.ts +37 -37
  435. package/src/platform/sse/index.ts +7 -7
  436. package/src/platform/utils/__tests__/validation.test.ts +1083 -1083
  437. package/src/platform/utils/currency.ts +96 -96
  438. package/src/platform/utils/debounce.ts +52 -52
  439. package/src/platform/utils/error.ts +41 -41
  440. package/src/platform/utils/hmac.test.ts +97 -97
  441. package/src/platform/utils/index.ts +32 -32
  442. package/src/platform/utils/server/betterstack-logger.ts +210 -210
  443. package/src/platform/utils/server/hmac.ts +44 -44
  444. package/src/platform/utils/server/unsubscribe.ts +111 -111
  445. package/src/platform/utils/token-counter.ts +96 -96
  446. package/src/platform/utils/validation.ts +425 -425
  447. package/src/projects/api-schemas.ts +268 -268
  448. package/src/published.ts +1 -1
  449. package/src/reference/_generated/contracts.md +607 -607
  450. package/src/reference/glossary.md +105 -105
  451. package/src/requests/__tests__/api-schemas.test.ts +277 -277
  452. package/src/requests/api-schemas.ts +83 -83
  453. package/src/requests/index.ts +1 -1
  454. package/src/scaffold-registry/__tests__/index.test.ts +17 -0
  455. package/src/scaffold-registry/__tests__/schema.test.ts +329 -230
  456. package/src/scaffold-registry/index.ts +205 -189
  457. package/src/scaffold-registry/schema.ts +196 -128
  458. package/src/server.ts +272 -272
  459. package/src/supabase/database.types.ts +2719 -2719
  460. package/src/supabase/helpers.ts +20 -20
  461. package/src/supabase/index.ts +52 -52
  462. package/src/supabase/server/client.ts +58 -58
  463. package/src/test-utils/README.md +30 -138
  464. package/src/test-utils/browser-mocks.ts +54 -54
  465. package/src/test-utils/fixtures/api-keys.ts +52 -52
  466. package/src/test-utils/fixtures/index.ts +4 -4
  467. package/src/test-utils/fixtures/memberships.ts +80 -80
  468. package/src/test-utils/fixtures/organizations.ts +69 -69
  469. package/src/test-utils/fixtures/users.ts +79 -79
  470. package/src/test-utils/index.ts +7 -8
  471. package/src/test-utils/mocks/index.ts +2 -2
  472. package/src/test-utils/mocks/supabase.ts +142 -142
  473. package/src/test-utils/mocks/workos.ts +108 -108
  474. package/src/test-utils/published.ts +4 -0
  475. package/src/test-utils/rls/RLSTestContext.ts +554 -554
  476. package/src/test-utils/rls/index.ts +1 -1
@@ -1,169 +1,169 @@
1
- /**
2
- * LLM Request Builder
3
- * Constructs universal LLMRequest from execution context using modular prompt system
4
- */
5
-
6
- import type { z } from 'zod'
7
- import type { IterationContext } from '../core/types'
8
- import type { ToolDefinition } from '../../tools/types'
9
- import type { KnowledgeMap } from '../knowledge-map/types'
10
- import { zodToJsonSchema } from '@alcyone-labs/zod-to-json-schema'
11
- import { buildSecurityPrompt } from './prompt-sections/security'
12
- import { buildBaseActionsPrompt } from './prompt-sections/base-actions'
13
- import { buildKnowledgeMapPrompt } from './prompt-sections/knowledge-map'
14
- import { buildToolsPrompt } from './prompt-sections/tools'
15
- import { buildMemoryPrompt, type MemoryStatus } from './prompt-sections/memory'
16
- import { buildCompletionPrompt } from './prompt-sections/completion'
17
-
18
- /**
19
- * Options for system prompt generation
20
- */
21
- export interface SystemPromptOptions {
22
- /** Security level for prompt injection defense */
23
- securityLevel: 'standard' | 'hardened' | 'none'
24
- /** Whether to include message action (session-based agents only) */
25
- includeMessageAction: boolean
26
- /** Whether to include navigate-knowledge action (knowledge map present) */
27
- includeNavigateKnowledge: boolean
28
- /** Knowledge map with nodes (optional) */
29
- knowledgeMap?: KnowledgeMap
30
- /** Available tools */
31
- tools: ToolDefinition[]
32
- /** Current memory status */
33
- memoryStatus: MemoryStatus
34
- /** Output schema for completion guidance (optional) */
35
- outputSchema?: z.ZodSchema
36
- /** Memory preferences for opt-in memory management (optional string) */
37
- memoryPreferences?: string
38
- }
39
-
40
- /**
41
- * Builds complete system prompt from modular sections
42
- *
43
- * Composition order:
44
- * 0. Security rules (standard/hardened, or omitted if 'none')
45
- * 1. Base actions (conditional message action based on session context)
46
- * 2. Knowledge map (if present)
47
- * 3. Tools (if present)
48
- * 4. Memory management (CONDITIONAL - only if preferences provided)
49
- * 5. Task completion
50
- * 6. Agent-specific instructions
51
- *
52
- * @param agentPrompt - Agent-specific instructions
53
- * @param options - Prompt configuration options
54
- * @returns Complete system prompt string
55
- */
56
- function buildSystemPrompt(agentPrompt: string, options: SystemPromptOptions): string {
57
- const sections: string[] = []
58
-
59
- // 0. Security rules (first position for maximum LLM attention)
60
- const securitySection = buildSecurityPrompt(options.securityLevel)
61
- if (securitySection) {
62
- sections.push(securitySection)
63
- }
64
-
65
- // 1. Base actions (with conditional message and navigate-knowledge actions)
66
- sections.push(buildBaseActionsPrompt(options.includeMessageAction, options.includeNavigateKnowledge))
67
-
68
- // 2. Knowledge map (if present)
69
- const knowledgeMapSection = buildKnowledgeMapPrompt(options.knowledgeMap)
70
- if (knowledgeMapSection) {
71
- sections.push(knowledgeMapSection)
72
- }
73
-
74
- // 3. Tools (if present)
75
- const toolsSection = buildToolsPrompt(options.tools)
76
- if (toolsSection) {
77
- sections.push(toolsSection)
78
- }
79
-
80
- // 4. Memory management (CONDITIONAL - only if preferences provided)
81
- // Conservative approach: Keep memoryOps in schema, but skip prompt if no preferences
82
- if (options.memoryPreferences) {
83
- sections.push(buildMemoryPrompt(options.memoryStatus, options.memoryPreferences))
84
- }
85
-
86
- // 5. Task completion guidance (always included)
87
- sections.push(buildCompletionPrompt(options.outputSchema))
88
-
89
- // 6. Agent-specific instructions (separator + prompt)
90
- sections.push('---\n')
91
- sections.push('# AGENT-SPECIFIC INSTRUCTIONS\n\n')
92
- sections.push(agentPrompt)
93
-
94
- return sections.join('\n')
95
- }
96
-
97
- /**
98
- * Build universal LLM iteration request from current state
99
- * Combines system prompt, tools, constraints, and memory using modular prompt builder
100
- *
101
- * @param iterationContext - Agent execution context
102
- * @returns Agent iteration request data
103
- */
104
- export function buildReasoningRequest(iterationContext: IterationContext): {
105
- systemPrompt: string
106
- tools: ToolDefinition[]
107
- constraints: { maxOutputTokens?: number; temperature?: number }
108
- memoryContext: string
109
- includeMessageAction: boolean
110
- includeNavigateKnowledge: boolean
111
- includeMemoryOps: boolean
112
- } {
113
- // Build tool definitions for system prompt from registry
114
- const tools = Array.from(iterationContext.toolRegistry.values())
115
- const toolDefinitions = tools.map((tool) => ({
116
- name: tool.name,
117
- description: tool.description,
118
- inputSchema: zodToJsonSchema(tool.inputSchema as z.ZodSchema)
119
- }))
120
-
121
- // Get memory status for system prompt
122
- const memoryStatus = iterationContext.memoryManager.getStatus()
123
-
124
- // Agent capability: explicit session support declaration
125
- // Controls whether message action is available in prompts
126
- const isSessionCapable = !!iterationContext.config.sessionCapable
127
-
128
- // Detect knowledge map availability
129
- const hasKnowledgeMap = !!(
130
- iterationContext.knowledgeMap && Object.keys(iterationContext.knowledgeMap.nodes).length > 0
131
- )
132
-
133
- // Detect if memory operations should be included
134
- const includeMemoryOps = !!iterationContext.config.memoryPreferences
135
-
136
- // Derive security level: explicit config > sessionCapable-based default
137
- const securityLevel = iterationContext.config.securityLevel ?? (isSessionCapable ? 'hardened' : 'standard')
138
-
139
- // Build complete system prompt using modular builder
140
- const systemPrompt = buildSystemPrompt(iterationContext.config.systemPrompt, {
141
- securityLevel,
142
- includeMessageAction: isSessionCapable,
143
- includeNavigateKnowledge: hasKnowledgeMap,
144
- knowledgeMap: iterationContext.knowledgeMap,
145
- tools: toolDefinitions,
146
- memoryStatus,
147
- outputSchema: iterationContext.contract.outputSchema,
148
- memoryPreferences: iterationContext.config.memoryPreferences
149
- })
150
-
151
- // Enforce hard limits before building request
152
- iterationContext.memoryManager.enforceHardLimits()
153
-
154
- return {
155
- systemPrompt,
156
- tools: toolDefinitions,
157
- constraints: {
158
- maxOutputTokens: iterationContext.modelConfig.maxOutputTokens,
159
- temperature: 1
160
- },
161
- memoryContext: iterationContext.memoryManager.toContext(
162
- iterationContext.iteration,
163
- iterationContext.executionContext.sessionTurnNumber
164
- ),
165
- includeMessageAction: isSessionCapable,
166
- includeNavigateKnowledge: hasKnowledgeMap,
167
- includeMemoryOps
168
- }
169
- }
1
+ /**
2
+ * LLM Request Builder
3
+ * Constructs universal LLMRequest from execution context using modular prompt system
4
+ */
5
+
6
+ import type { z } from 'zod'
7
+ import type { IterationContext } from '../core/types'
8
+ import type { ToolDefinition } from '../../tools/types'
9
+ import type { KnowledgeMap } from '../knowledge-map/types'
10
+ import { zodToJsonSchema } from '@alcyone-labs/zod-to-json-schema'
11
+ import { buildSecurityPrompt } from './prompt-sections/security'
12
+ import { buildBaseActionsPrompt } from './prompt-sections/base-actions'
13
+ import { buildKnowledgeMapPrompt } from './prompt-sections/knowledge-map'
14
+ import { buildToolsPrompt } from './prompt-sections/tools'
15
+ import { buildMemoryPrompt, type MemoryStatus } from './prompt-sections/memory'
16
+ import { buildCompletionPrompt } from './prompt-sections/completion'
17
+
18
+ /**
19
+ * Options for system prompt generation
20
+ */
21
+ export interface SystemPromptOptions {
22
+ /** Security level for prompt injection defense */
23
+ securityLevel: 'standard' | 'hardened' | 'none'
24
+ /** Whether to include message action (session-based agents only) */
25
+ includeMessageAction: boolean
26
+ /** Whether to include navigate-knowledge action (knowledge map present) */
27
+ includeNavigateKnowledge: boolean
28
+ /** Knowledge map with nodes (optional) */
29
+ knowledgeMap?: KnowledgeMap
30
+ /** Available tools */
31
+ tools: ToolDefinition[]
32
+ /** Current memory status */
33
+ memoryStatus: MemoryStatus
34
+ /** Output schema for completion guidance (optional) */
35
+ outputSchema?: z.ZodSchema
36
+ /** Memory preferences for opt-in memory management (optional string) */
37
+ memoryPreferences?: string
38
+ }
39
+
40
+ /**
41
+ * Builds complete system prompt from modular sections
42
+ *
43
+ * Composition order:
44
+ * 0. Security rules (standard/hardened, or omitted if 'none')
45
+ * 1. Base actions (conditional message action based on session context)
46
+ * 2. Knowledge map (if present)
47
+ * 3. Tools (if present)
48
+ * 4. Memory management (CONDITIONAL - only if preferences provided)
49
+ * 5. Task completion
50
+ * 6. Agent-specific instructions
51
+ *
52
+ * @param agentPrompt - Agent-specific instructions
53
+ * @param options - Prompt configuration options
54
+ * @returns Complete system prompt string
55
+ */
56
+ function buildSystemPrompt(agentPrompt: string, options: SystemPromptOptions): string {
57
+ const sections: string[] = []
58
+
59
+ // 0. Security rules (first position for maximum LLM attention)
60
+ const securitySection = buildSecurityPrompt(options.securityLevel)
61
+ if (securitySection) {
62
+ sections.push(securitySection)
63
+ }
64
+
65
+ // 1. Base actions (with conditional message and navigate-knowledge actions)
66
+ sections.push(buildBaseActionsPrompt(options.includeMessageAction, options.includeNavigateKnowledge))
67
+
68
+ // 2. Knowledge map (if present)
69
+ const knowledgeMapSection = buildKnowledgeMapPrompt(options.knowledgeMap)
70
+ if (knowledgeMapSection) {
71
+ sections.push(knowledgeMapSection)
72
+ }
73
+
74
+ // 3. Tools (if present)
75
+ const toolsSection = buildToolsPrompt(options.tools)
76
+ if (toolsSection) {
77
+ sections.push(toolsSection)
78
+ }
79
+
80
+ // 4. Memory management (CONDITIONAL - only if preferences provided)
81
+ // Conservative approach: Keep memoryOps in schema, but skip prompt if no preferences
82
+ if (options.memoryPreferences) {
83
+ sections.push(buildMemoryPrompt(options.memoryStatus, options.memoryPreferences))
84
+ }
85
+
86
+ // 5. Task completion guidance (always included)
87
+ sections.push(buildCompletionPrompt(options.outputSchema))
88
+
89
+ // 6. Agent-specific instructions (separator + prompt)
90
+ sections.push('---\n')
91
+ sections.push('# AGENT-SPECIFIC INSTRUCTIONS\n\n')
92
+ sections.push(agentPrompt)
93
+
94
+ return sections.join('\n')
95
+ }
96
+
97
+ /**
98
+ * Build universal LLM iteration request from current state
99
+ * Combines system prompt, tools, constraints, and memory using modular prompt builder
100
+ *
101
+ * @param iterationContext - Agent execution context
102
+ * @returns Agent iteration request data
103
+ */
104
+ export function buildReasoningRequest(iterationContext: IterationContext): {
105
+ systemPrompt: string
106
+ tools: ToolDefinition[]
107
+ constraints: { maxOutputTokens?: number; temperature?: number }
108
+ memoryContext: string
109
+ includeMessageAction: boolean
110
+ includeNavigateKnowledge: boolean
111
+ includeMemoryOps: boolean
112
+ } {
113
+ // Build tool definitions for system prompt from registry
114
+ const tools = Array.from(iterationContext.toolRegistry.values())
115
+ const toolDefinitions = tools.map((tool) => ({
116
+ name: tool.name,
117
+ description: tool.description,
118
+ inputSchema: zodToJsonSchema(tool.inputSchema as z.ZodSchema)
119
+ }))
120
+
121
+ // Get memory status for system prompt
122
+ const memoryStatus = iterationContext.memoryManager.getStatus()
123
+
124
+ // Agent capability: explicit session support declaration
125
+ // Controls whether message action is available in prompts
126
+ const isSessionCapable = !!iterationContext.config.sessionCapable
127
+
128
+ // Detect knowledge map availability
129
+ const hasKnowledgeMap = !!(
130
+ iterationContext.knowledgeMap && Object.keys(iterationContext.knowledgeMap.nodes).length > 0
131
+ )
132
+
133
+ // Detect if memory operations should be included
134
+ const includeMemoryOps = !!iterationContext.config.memoryPreferences
135
+
136
+ // Derive security level: explicit config > sessionCapable-based default
137
+ const securityLevel = iterationContext.config.securityLevel ?? (isSessionCapable ? 'hardened' : 'standard')
138
+
139
+ // Build complete system prompt using modular builder
140
+ const systemPrompt = buildSystemPrompt(iterationContext.config.systemPrompt, {
141
+ securityLevel,
142
+ includeMessageAction: isSessionCapable,
143
+ includeNavigateKnowledge: hasKnowledgeMap,
144
+ knowledgeMap: iterationContext.knowledgeMap,
145
+ tools: toolDefinitions,
146
+ memoryStatus,
147
+ outputSchema: iterationContext.contract.outputSchema,
148
+ memoryPreferences: iterationContext.config.memoryPreferences
149
+ })
150
+
151
+ // Enforce hard limits before building request
152
+ iterationContext.memoryManager.enforceHardLimits()
153
+
154
+ return {
155
+ systemPrompt,
156
+ tools: toolDefinitions,
157
+ constraints: {
158
+ maxOutputTokens: iterationContext.modelConfig.maxOutputTokens,
159
+ temperature: 1
160
+ },
161
+ memoryContext: iterationContext.memoryManager.toContext(
162
+ iterationContext.iteration,
163
+ iterationContext.executionContext.sessionTurnNumber
164
+ ),
165
+ includeMessageAction: isSessionCapable,
166
+ includeNavigateKnowledge: hasKnowledgeMap,
167
+ includeMemoryOps
168
+ }
169
+ }
@@ -1,18 +1,18 @@
1
- /**
2
- * Reasoning Phase Types
3
- * Agent-internal types for iteration responses
4
- */
5
-
6
- import type { MemoryOperations } from '../memory/types'
7
- import type { AgentAction } from '../actions/types'
8
-
9
- /**
10
- * Iteration response - task execution phase
11
- * Returns reasoning, memory operations, and next actions
12
- * Used internally by agent iteration processor
13
- */
14
- export interface LLMIterationResponse {
15
- reasoning: string
16
- memoryOps?: MemoryOperations
17
- nextActions: AgentAction[]
18
- }
1
+ /**
2
+ * Reasoning Phase Types
3
+ * Agent-internal types for iteration responses
4
+ */
5
+
6
+ import type { MemoryOperations } from '../memory/types'
7
+ import type { AgentAction } from '../actions/types'
8
+
9
+ /**
10
+ * Iteration response - task execution phase
11
+ * Returns reasoning, memory operations, and next actions
12
+ * Used internally by agent iteration processor
13
+ */
14
+ export interface LLMIterationResponse {
15
+ reasoning: string
16
+ memoryOps?: MemoryOperations
17
+ nextActions: AgentAction[]
18
+ }
@@ -1,118 +1,118 @@
1
- /**
2
- * Error categories for observability grouping and classification.
3
- * Used to categorize errors in the execution_errors table metadata.
4
- */
5
- export type ExecutionErrorCategory = 'llm' | 'tool' | 'workflow' | 'agent' | 'validation' | 'system'
6
-
7
- /**
8
- * Abstract base class for all execution engine errors.
9
- * Enforces contract for execution_errors table insertion with explicit type,
10
- * severity, category, and context properties.
11
- *
12
- * All execution engine errors MUST extend this class to ensure proper error
13
- * tracking and observability in the execution_errors table.
14
- *
15
- * @example
16
- * ```typescript
17
- * export class MyExecutionError extends ExecutionError {
18
- * readonly type = 'my_execution_error' as const
19
- * readonly severity = 'warning' as const
20
- * readonly category = 'workflow' as const
21
- *
22
- * constructor(message: string, context?: Record<string, unknown>) {
23
- * super(message, context)
24
- * }
25
- * }
26
- * ```
27
- */
28
- export abstract class ExecutionError extends Error {
29
- /**
30
- * Error type identifier for execution_errors table.
31
- * Should be a unique, snake_case string that identifies this specific error class.
32
- * Used for filtering, aggregation, and error-specific handling in observability systems.
33
- */
34
- abstract readonly type: string
35
-
36
- /**
37
- * Error severity level for execution_errors table.
38
- * - critical: System failures, auth issues, resource exhaustion - execution cannot continue
39
- * - warning: Transient failures, configuration errors - execution may retry or requires user correction
40
- * - info: Validation failures, expected user errors - user/developer action needed
41
- */
42
- abstract readonly severity: 'critical' | 'warning' | 'info'
43
-
44
- /**
45
- * Error category for observability grouping.
46
- * Used to categorize errors in dashboards and analytics.
47
- */
48
- abstract readonly category: ExecutionErrorCategory
49
-
50
- /**
51
- * Additional context/metadata for the error.
52
- * Stored in execution_errors.metadata JSONB column.
53
- */
54
- public readonly context?: Record<string, unknown>
55
-
56
- /**
57
- * @param message - Human-readable error message
58
- * @param context - Additional context/metadata for observability
59
- */
60
- constructor(message: string, context?: Record<string, unknown>) {
61
- super(message)
62
- this.name = this.constructor.name
63
- this.context = context
64
-
65
- // Maintain proper stack trace for where our error was thrown
66
- if (Error.captureStackTrace) {
67
- Error.captureStackTrace(this, this.constructor)
68
- }
69
- }
70
-
71
- /**
72
- * Indicates whether this error type is retryable.
73
- * Default: false (safe default - only retry when explicitly safe to do so)
74
- *
75
- * Subclasses should override to return true for retryable scenarios:
76
- * - Network/infrastructure errors (exponential backoff)
77
- * - Rate limiting (linear backoff)
78
- * - Service availability (exponential backoff)
79
- * - Circuit breaker (circuit breaker's own delay)
80
- *
81
- * DO NOT retry:
82
- * - Authentication/authorization errors
83
- * - Validation errors
84
- * - Configuration errors
85
- * - Resource exhaustion errors
86
- */
87
- isRetryable(): boolean {
88
- return false
89
- }
90
- }
91
-
92
- /**
93
- * Unknown execution error - fallback for untyped errors
94
- *
95
- * Used when catching errors that are not ExecutionError instances.
96
- * Preserves original error context for debugging while ensuring
97
- * consistent error tracking in the execution_errors table.
98
- *
99
- * Severity: critical (unknown errors should be treated seriously until investigated)
100
- */
101
- export class UnknownExecutionError extends ExecutionError {
102
- readonly type = 'unknown_execution_error' as const
103
- readonly severity = 'critical' as const
104
- readonly category = 'system' as const
105
-
106
- constructor(
107
- message: string,
108
- public readonly originalError?: unknown
109
- ) {
110
- super(message, {
111
- originalError: originalError instanceof Error ? {
112
- name: originalError.name,
113
- message: originalError.message,
114
- stack: originalError.stack
115
- } : originalError
116
- })
117
- }
118
- }
1
+ /**
2
+ * Error categories for observability grouping and classification.
3
+ * Used to categorize errors in the execution_errors table metadata.
4
+ */
5
+ export type ExecutionErrorCategory = 'llm' | 'tool' | 'workflow' | 'agent' | 'validation' | 'system'
6
+
7
+ /**
8
+ * Abstract base class for all execution engine errors.
9
+ * Enforces contract for execution_errors table insertion with explicit type,
10
+ * severity, category, and context properties.
11
+ *
12
+ * All execution engine errors MUST extend this class to ensure proper error
13
+ * tracking and observability in the execution_errors table.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * export class MyExecutionError extends ExecutionError {
18
+ * readonly type = 'my_execution_error' as const
19
+ * readonly severity = 'warning' as const
20
+ * readonly category = 'workflow' as const
21
+ *
22
+ * constructor(message: string, context?: Record<string, unknown>) {
23
+ * super(message, context)
24
+ * }
25
+ * }
26
+ * ```
27
+ */
28
+ export abstract class ExecutionError extends Error {
29
+ /**
30
+ * Error type identifier for execution_errors table.
31
+ * Should be a unique, snake_case string that identifies this specific error class.
32
+ * Used for filtering, aggregation, and error-specific handling in observability systems.
33
+ */
34
+ abstract readonly type: string
35
+
36
+ /**
37
+ * Error severity level for execution_errors table.
38
+ * - critical: System failures, auth issues, resource exhaustion - execution cannot continue
39
+ * - warning: Transient failures, configuration errors - execution may retry or requires user correction
40
+ * - info: Validation failures, expected user errors - user/developer action needed
41
+ */
42
+ abstract readonly severity: 'critical' | 'warning' | 'info'
43
+
44
+ /**
45
+ * Error category for observability grouping.
46
+ * Used to categorize errors in dashboards and analytics.
47
+ */
48
+ abstract readonly category: ExecutionErrorCategory
49
+
50
+ /**
51
+ * Additional context/metadata for the error.
52
+ * Stored in execution_errors.metadata JSONB column.
53
+ */
54
+ public readonly context?: Record<string, unknown>
55
+
56
+ /**
57
+ * @param message - Human-readable error message
58
+ * @param context - Additional context/metadata for observability
59
+ */
60
+ constructor(message: string, context?: Record<string, unknown>) {
61
+ super(message)
62
+ this.name = this.constructor.name
63
+ this.context = context
64
+
65
+ // Maintain proper stack trace for where our error was thrown
66
+ if (Error.captureStackTrace) {
67
+ Error.captureStackTrace(this, this.constructor)
68
+ }
69
+ }
70
+
71
+ /**
72
+ * Indicates whether this error type is retryable.
73
+ * Default: false (safe default - only retry when explicitly safe to do so)
74
+ *
75
+ * Subclasses should override to return true for retryable scenarios:
76
+ * - Network/infrastructure errors (exponential backoff)
77
+ * - Rate limiting (linear backoff)
78
+ * - Service availability (exponential backoff)
79
+ * - Circuit breaker (circuit breaker's own delay)
80
+ *
81
+ * DO NOT retry:
82
+ * - Authentication/authorization errors
83
+ * - Validation errors
84
+ * - Configuration errors
85
+ * - Resource exhaustion errors
86
+ */
87
+ isRetryable(): boolean {
88
+ return false
89
+ }
90
+ }
91
+
92
+ /**
93
+ * Unknown execution error - fallback for untyped errors
94
+ *
95
+ * Used when catching errors that are not ExecutionError instances.
96
+ * Preserves original error context for debugging while ensuring
97
+ * consistent error tracking in the execution_errors table.
98
+ *
99
+ * Severity: critical (unknown errors should be treated seriously until investigated)
100
+ */
101
+ export class UnknownExecutionError extends ExecutionError {
102
+ readonly type = 'unknown_execution_error' as const
103
+ readonly severity = 'critical' as const
104
+ readonly category = 'system' as const
105
+
106
+ constructor(
107
+ message: string,
108
+ public readonly originalError?: unknown
109
+ ) {
110
+ super(message, {
111
+ originalError: originalError instanceof Error ? {
112
+ name: originalError.name,
113
+ message: originalError.message,
114
+ stack: originalError.stack
115
+ } : originalError
116
+ })
117
+ }
118
+ }
@@ -1,2 +1,2 @@
1
- export { ExecutionError as ExecutionError, UnknownExecutionError, type ExecutionErrorCategory } from './errors'
2
- export * from './types'
1
+ export { ExecutionError as ExecutionError, UnknownExecutionError, type ExecutionErrorCategory } from './errors'
2
+ export * from './types'