terse-cli 0.2.16 → 0.3.0

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 (331) hide show
  1. package/dist/_tmp_create_project.d.ts +2 -0
  2. package/dist/_tmp_create_project.d.ts.map +1 -0
  3. package/dist/_tmp_create_project.js +17 -0
  4. package/dist/_tmp_create_project.js.map +1 -0
  5. package/dist/_tmp_delete_agent.d.ts +2 -0
  6. package/dist/_tmp_delete_agent.d.ts.map +1 -0
  7. package/dist/_tmp_delete_agent.js +14 -0
  8. package/dist/_tmp_delete_agent.js.map +1 -0
  9. package/dist/_tmp_manual_trigger.d.ts +2 -0
  10. package/dist/_tmp_manual_trigger.d.ts.map +1 -0
  11. package/dist/_tmp_manual_trigger.js +17 -0
  12. package/dist/_tmp_manual_trigger.js.map +1 -0
  13. package/dist/_tmp_patch_active.d.ts +2 -0
  14. package/dist/_tmp_patch_active.d.ts.map +1 -0
  15. package/dist/_tmp_patch_active.js +21 -0
  16. package/dist/_tmp_patch_active.js.map +1 -0
  17. package/dist/codegen.d.ts +15 -0
  18. package/dist/codegen.d.ts.map +1 -1
  19. package/dist/codegen.js +466 -81
  20. package/dist/codegen.js.map +1 -1
  21. package/dist/commands/deployTheme.d.ts +28 -0
  22. package/dist/commands/deployTheme.d.ts.map +1 -0
  23. package/dist/commands/deployTheme.js +68 -0
  24. package/dist/commands/deployTheme.js.map +1 -0
  25. package/dist/commands/dev.d.ts +3 -0
  26. package/dist/commands/dev.d.ts.map +1 -0
  27. package/dist/commands/dev.js +47 -0
  28. package/dist/commands/dev.js.map +1 -0
  29. package/dist/commands/fsExec.d.ts +8 -0
  30. package/dist/commands/fsExec.d.ts.map +1 -0
  31. package/dist/commands/fsExec.js +46 -0
  32. package/dist/commands/fsExec.js.map +1 -0
  33. package/dist/commands/generate.d.ts.map +1 -1
  34. package/dist/commands/generate.js +36 -267
  35. package/dist/commands/generate.js.map +1 -1
  36. package/dist/commands/serve.d.ts +1 -0
  37. package/dist/commands/serve.d.ts.map +1 -0
  38. package/dist/commands/serve.js +2 -0
  39. package/dist/commands/serve.js.map +1 -0
  40. package/dist/commands/terseCliTheme.d.ts +28 -0
  41. package/dist/commands/terseCliTheme.d.ts.map +1 -0
  42. package/dist/commands/terseCliTheme.js +68 -0
  43. package/dist/commands/terseCliTheme.js.map +1 -0
  44. package/dist/commands/tool.d.ts +6 -0
  45. package/dist/commands/tool.d.ts.map +1 -0
  46. package/dist/commands/tool.js +34 -0
  47. package/dist/commands/tool.js.map +1 -0
  48. package/dist/commands/toolRun.js +1 -1
  49. package/dist/commands/toolRun.js.map +1 -1
  50. package/dist/data/standardSlackEmoji.d.ts +2 -0
  51. package/dist/data/standardSlackEmoji.d.ts.map +1 -0
  52. package/dist/data/standardSlackEmoji.js +1978 -0
  53. package/dist/data/standardSlackEmoji.js.map +1 -0
  54. package/dist/data/standardSlackEmoji.json +1974 -0
  55. package/dist/deploy.d.ts +2 -1
  56. package/dist/deploy.d.ts.map +1 -1
  57. package/dist/deploy.js +61 -38
  58. package/dist/deploy.js.map +1 -1
  59. package/dist/generate.d.ts +2 -1
  60. package/dist/generate.d.ts.map +1 -1
  61. package/dist/generate.js +67 -69
  62. package/dist/generate.js.map +1 -1
  63. package/dist/index.js +1 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/init.d.ts +2 -1
  66. package/dist/init.d.ts.map +1 -1
  67. package/dist/init.js +45 -96
  68. package/dist/init.js.map +1 -1
  69. package/dist/integrate.d.ts +1 -0
  70. package/dist/integrate.d.ts.map +1 -1
  71. package/dist/integrate.js +191 -11
  72. package/dist/integrate.js.map +1 -1
  73. package/dist/nonInteractive.d.ts +4 -2
  74. package/dist/nonInteractive.d.ts.map +1 -1
  75. package/dist/nonInteractive.js +5 -2
  76. package/dist/nonInteractive.js.map +1 -1
  77. package/dist/perf.d.ts +9 -0
  78. package/dist/perf.d.ts.map +1 -0
  79. package/dist/perf.js +59 -0
  80. package/dist/perf.js.map +1 -0
  81. package/dist/providers/LanguageProvider.d.ts +6 -2
  82. package/dist/providers/LanguageProvider.d.ts.map +1 -1
  83. package/dist/providers/codegen.test.d.ts +2 -0
  84. package/dist/providers/codegen.test.d.ts.map +1 -0
  85. package/dist/providers/codegen.test.js +45 -0
  86. package/dist/providers/codegen.test.js.map +1 -0
  87. package/dist/providers/codegenTypes.d.ts +16 -134
  88. package/dist/providers/codegenTypes.d.ts.map +1 -1
  89. package/dist/providers/python/PythonProvider.js +1 -0
  90. package/dist/providers/python/PythonProvider.js.map +1 -1
  91. package/dist/providers/python/PythonProvider.test.d.ts +2 -0
  92. package/dist/providers/python/PythonProvider.test.d.ts.map +1 -0
  93. package/dist/providers/python/PythonProvider.test.js +169 -0
  94. package/dist/providers/python/PythonProvider.test.js.map +1 -0
  95. package/dist/providers/typescript/TypeScriptProvider.d.ts +2 -2
  96. package/dist/providers/typescript/TypeScriptProvider.d.ts.map +1 -1
  97. package/dist/providers/typescript/TypeScriptProvider.js +53 -4
  98. package/dist/providers/typescript/TypeScriptProvider.js.map +1 -1
  99. package/dist/providers/typescript/attioProjection.d.ts +50 -0
  100. package/dist/providers/typescript/attioProjection.d.ts.map +1 -0
  101. package/dist/providers/typescript/attioProjection.js +358 -0
  102. package/dist/providers/typescript/attioProjection.js.map +1 -0
  103. package/dist/providers/typescript/modules/IntegrationModule.d.ts +82 -0
  104. package/dist/providers/typescript/modules/IntegrationModule.d.ts.map +1 -0
  105. package/dist/providers/typescript/modules/IntegrationModule.js +184 -0
  106. package/dist/providers/typescript/modules/IntegrationModule.js.map +1 -0
  107. package/dist/providers/typescript/modules/attio/AttioModule.d.ts +55 -0
  108. package/dist/providers/typescript/modules/attio/AttioModule.d.ts.map +1 -0
  109. package/dist/providers/typescript/modules/attio/AttioModule.js +163 -0
  110. package/dist/providers/typescript/modules/attio/AttioModule.js.map +1 -0
  111. package/dist/providers/typescript/modules/attio/attioProjection.d.ts +50 -0
  112. package/dist/providers/typescript/modules/attio/attioProjection.d.ts.map +1 -0
  113. package/dist/providers/typescript/modules/attio/attioProjection.js +358 -0
  114. package/dist/providers/typescript/modules/attio/attioProjection.js.map +1 -0
  115. package/dist/providers/typescript/modules/attio/attioToolMethods.d.ts +4 -0
  116. package/dist/providers/typescript/modules/attio/attioToolMethods.d.ts.map +1 -0
  117. package/dist/providers/typescript/modules/attio/attioToolMethods.js +295 -0
  118. package/dist/providers/typescript/modules/attio/attioToolMethods.js.map +1 -0
  119. package/dist/providers/typescript/modules/attio/attioTypes.d.ts +36 -0
  120. package/dist/providers/typescript/modules/attio/attioTypes.d.ts.map +1 -0
  121. package/dist/providers/typescript/modules/attio/attioTypes.js +2 -0
  122. package/dist/providers/typescript/modules/attio/attioTypes.js.map +1 -0
  123. package/dist/providers/typescript/modules/datadog/DatadogModule.d.ts +25 -0
  124. package/dist/providers/typescript/modules/datadog/DatadogModule.d.ts.map +1 -0
  125. package/dist/providers/typescript/modules/datadog/DatadogModule.js +33 -0
  126. package/dist/providers/typescript/modules/datadog/DatadogModule.js.map +1 -0
  127. package/dist/providers/typescript/modules/github/GithubModule.d.ts +44 -0
  128. package/dist/providers/typescript/modules/github/GithubModule.d.ts.map +1 -0
  129. package/dist/providers/typescript/modules/github/GithubModule.js +111 -0
  130. package/dist/providers/typescript/modules/github/GithubModule.js.map +1 -0
  131. package/dist/providers/typescript/modules/gmail/GmailModule.d.ts +17 -0
  132. package/dist/providers/typescript/modules/gmail/GmailModule.d.ts.map +1 -0
  133. package/dist/providers/typescript/modules/gmail/GmailModule.js +30 -0
  134. package/dist/providers/typescript/modules/gmail/GmailModule.js.map +1 -0
  135. package/dist/providers/typescript/modules/hey_reach/HeyReachModule.d.ts +25 -0
  136. package/dist/providers/typescript/modules/hey_reach/HeyReachModule.d.ts.map +1 -0
  137. package/dist/providers/typescript/modules/hey_reach/HeyReachModule.js +33 -0
  138. package/dist/providers/typescript/modules/hey_reach/HeyReachModule.js.map +1 -0
  139. package/dist/providers/typescript/modules/launchdarkly/LaunchDarklyModule.d.ts +26 -0
  140. package/dist/providers/typescript/modules/launchdarkly/LaunchDarklyModule.d.ts.map +1 -0
  141. package/dist/providers/typescript/modules/launchdarkly/LaunchDarklyModule.js +34 -0
  142. package/dist/providers/typescript/modules/launchdarkly/LaunchDarklyModule.js.map +1 -0
  143. package/dist/providers/typescript/modules/linear/LinearModule.d.ts +35 -0
  144. package/dist/providers/typescript/modules/linear/LinearModule.d.ts.map +1 -0
  145. package/dist/providers/typescript/modules/linear/LinearModule.js +48 -0
  146. package/dist/providers/typescript/modules/linear/LinearModule.js.map +1 -0
  147. package/dist/providers/typescript/modules/moduleHelpers.d.ts +23 -0
  148. package/dist/providers/typescript/modules/moduleHelpers.d.ts.map +1 -0
  149. package/dist/providers/typescript/modules/moduleHelpers.js +74 -0
  150. package/dist/providers/typescript/modules/moduleHelpers.js.map +1 -0
  151. package/dist/providers/typescript/modules/notion/NotionModule.d.ts +33 -0
  152. package/dist/providers/typescript/modules/notion/NotionModule.d.ts.map +1 -0
  153. package/dist/providers/typescript/modules/notion/NotionModule.js +44 -0
  154. package/dist/providers/typescript/modules/notion/NotionModule.js.map +1 -0
  155. package/dist/providers/typescript/modules/posthog/PosthogModule.d.ts +30 -0
  156. package/dist/providers/typescript/modules/posthog/PosthogModule.d.ts.map +1 -0
  157. package/dist/providers/typescript/modules/posthog/PosthogModule.js +60 -0
  158. package/dist/providers/typescript/modules/posthog/PosthogModule.js.map +1 -0
  159. package/dist/providers/typescript/modules/registry.d.ts +11 -0
  160. package/dist/providers/typescript/modules/registry.d.ts.map +1 -0
  161. package/dist/providers/typescript/modules/registry.js +37 -0
  162. package/dist/providers/typescript/modules/registry.js.map +1 -0
  163. package/dist/providers/typescript/modules/resend/ResendModule.d.ts +32 -0
  164. package/dist/providers/typescript/modules/resend/ResendModule.d.ts.map +1 -0
  165. package/dist/providers/typescript/modules/resend/ResendModule.js +71 -0
  166. package/dist/providers/typescript/modules/resend/ResendModule.js.map +1 -0
  167. package/dist/providers/typescript/modules/slack/SlackModule.d.ts +32 -0
  168. package/dist/providers/typescript/modules/slack/SlackModule.d.ts.map +1 -0
  169. package/dist/providers/typescript/modules/slack/SlackModule.js +51 -0
  170. package/dist/providers/typescript/modules/slack/SlackModule.js.map +1 -0
  171. package/dist/providers/typescript/modules/snowflake/SnowflakeModule.d.ts +20 -0
  172. package/dist/providers/typescript/modules/snowflake/SnowflakeModule.d.ts.map +1 -0
  173. package/dist/providers/typescript/modules/snowflake/SnowflakeModule.js +27 -0
  174. package/dist/providers/typescript/modules/snowflake/SnowflakeModule.js.map +1 -0
  175. package/dist/providers/typescript/modules/templateRenderer.d.ts +17 -0
  176. package/dist/providers/typescript/modules/templateRenderer.d.ts.map +1 -0
  177. package/dist/providers/typescript/modules/templateRenderer.js +64 -0
  178. package/dist/providers/typescript/modules/templateRenderer.js.map +1 -0
  179. package/dist/providers/typescript/modules/terse/TerseModule.d.ts +20 -0
  180. package/dist/providers/typescript/modules/terse/TerseModule.d.ts.map +1 -0
  181. package/dist/providers/typescript/modules/terse/TerseModule.js +61 -0
  182. package/dist/providers/typescript/modules/terse/TerseModule.js.map +1 -0
  183. package/dist/providers/typescript/modules/workos/WorkOSModule.d.ts +17 -0
  184. package/dist/providers/typescript/modules/workos/WorkOSModule.d.ts.map +1 -0
  185. package/dist/providers/typescript/modules/workos/WorkOSModule.js +30 -0
  186. package/dist/providers/typescript/modules/workos/WorkOSModule.js.map +1 -0
  187. package/dist/providers/typescript/prepareCodegenData.test.d.ts +2 -0
  188. package/dist/providers/typescript/prepareCodegenData.test.d.ts.map +1 -0
  189. package/dist/providers/typescript/prepareCodegenData.test.js +54 -0
  190. package/dist/providers/typescript/prepareCodegenData.test.js.map +1 -0
  191. package/dist/providers/typescript/projectedTypes.d.ts +11 -0
  192. package/dist/providers/typescript/projectedTypes.d.ts.map +1 -0
  193. package/dist/providers/typescript/projectedTypes.js +53 -0
  194. package/dist/providers/typescript/projectedTypes.js.map +1 -0
  195. package/dist/providers/typescript/projectionPrinter.d.ts +26 -0
  196. package/dist/providers/typescript/projectionPrinter.d.ts.map +1 -0
  197. package/dist/providers/typescript/projectionPrinter.js +110 -0
  198. package/dist/providers/typescript/projectionPrinter.js.map +1 -0
  199. package/dist/providers/typescript/replayLogDedupe.d.ts +6 -0
  200. package/dist/providers/typescript/replayLogDedupe.d.ts.map +1 -0
  201. package/dist/providers/typescript/replayLogDedupe.js +156 -0
  202. package/dist/providers/typescript/replayLogDedupe.js.map +1 -0
  203. package/dist/providers/typescript/templateEngine.d.ts +8 -2
  204. package/dist/providers/typescript/templateEngine.d.ts.map +1 -1
  205. package/dist/providers/typescript/templateEngine.js +241 -29
  206. package/dist/providers/typescript/templateEngine.js.map +1 -1
  207. package/dist/providers/typescript/triggerPayloads.d.ts +7 -0
  208. package/dist/providers/typescript/triggerPayloads.d.ts.map +1 -0
  209. package/dist/providers/typescript/triggerPayloads.js +60 -0
  210. package/dist/providers/typescript/triggerPayloads.js.map +1 -0
  211. package/dist/providers/typescript/triggerTypeDeclarations.d.ts +7 -0
  212. package/dist/providers/typescript/triggerTypeDeclarations.d.ts.map +1 -0
  213. package/dist/providers/typescript/triggerTypeDeclarations.js +42 -0
  214. package/dist/providers/typescript/triggerTypeDeclarations.js.map +1 -0
  215. package/dist/providers/typescript/triggerTypeRegistry.d.ts +7 -0
  216. package/dist/providers/typescript/triggerTypeRegistry.d.ts.map +1 -0
  217. package/dist/providers/typescript/triggerTypeRegistry.js +198 -0
  218. package/dist/providers/typescript/triggerTypeRegistry.js.map +1 -0
  219. package/dist/providers/typescript/typePrinter.d.ts +23 -0
  220. package/dist/providers/typescript/typePrinter.d.ts.map +1 -0
  221. package/dist/providers/typescript/typePrinter.js +123 -0
  222. package/dist/providers/typescript/typePrinter.js.map +1 -0
  223. package/dist/run.d.ts +2 -11
  224. package/dist/run.d.ts.map +1 -1
  225. package/dist/run.js +42 -153
  226. package/dist/run.js.map +1 -1
  227. package/dist/sampleEventId.d.ts +0 -4
  228. package/dist/sampleEventId.d.ts.map +1 -1
  229. package/dist/sampleEventId.js +0 -4
  230. package/dist/sampleEventId.js.map +1 -1
  231. package/dist/shared/ApiRoutes.d.ts +19 -0
  232. package/dist/shared/ApiRoutes.d.ts.map +1 -1
  233. package/dist/shared/ApiRoutes.js +17 -1
  234. package/dist/shared/ApiRoutes.js.map +1 -1
  235. package/dist/shared/Configs.d.ts +24 -2
  236. package/dist/shared/Configs.d.ts.map +1 -1
  237. package/dist/shared/Configs.js +32 -2
  238. package/dist/shared/Configs.js.map +1 -1
  239. package/dist/shared/Integrations.d.ts +18 -1
  240. package/dist/shared/Integrations.d.ts.map +1 -1
  241. package/dist/shared/Integrations.js +10 -1
  242. package/dist/shared/Integrations.js.map +1 -1
  243. package/dist/shared/InvalidationKeys.d.ts +1 -0
  244. package/dist/shared/InvalidationKeys.d.ts.map +1 -1
  245. package/dist/shared/InvalidationKeys.js +3 -0
  246. package/dist/shared/InvalidationKeys.js.map +1 -1
  247. package/dist/shared/ModelEvents.d.ts +9 -0
  248. package/dist/shared/ModelEvents.d.ts.map +1 -1
  249. package/dist/shared/ModelEvents.js +15 -0
  250. package/dist/shared/ModelEvents.js.map +1 -1
  251. package/dist/shared/ToolDisplayUtils.d.ts.map +1 -1
  252. package/dist/shared/ToolDisplayUtils.js +107 -11
  253. package/dist/shared/ToolDisplayUtils.js.map +1 -1
  254. package/dist/shared/types.d.ts +1013 -108
  255. package/dist/shared/types.d.ts.map +1 -1
  256. package/dist/shared/types.js.map +1 -1
  257. package/dist/test.d.ts +2 -1
  258. package/dist/test.d.ts.map +1 -1
  259. package/dist/test.js +43 -23
  260. package/dist/test.js.map +1 -1
  261. package/dist/triggerParseDetail.d.ts +8 -0
  262. package/dist/triggerParseDetail.d.ts.map +1 -0
  263. package/dist/triggerParseDetail.js +30 -0
  264. package/dist/triggerParseDetail.js.map +1 -0
  265. package/dist/util.d.ts +2 -3
  266. package/dist/util.d.ts.map +1 -1
  267. package/dist/util.js +3 -3
  268. package/dist/util.js.map +1 -1
  269. package/package.json +7 -5
  270. package/src/providers/typescript/modules/attio/attio.schemas.hbs +150 -0
  271. package/src/providers/typescript/modules/attio/attio.tools.hbs +192 -0
  272. package/src/providers/typescript/modules/attio/attio.triggers.hbs +130 -0
  273. package/src/providers/typescript/modules/datadog/datadog.tools.hbs +16 -0
  274. package/src/providers/typescript/modules/github/github.tools.hbs +68 -0
  275. package/src/providers/typescript/modules/github/github.triggers.hbs +40 -0
  276. package/src/providers/typescript/modules/gmail/gmail.tools.hbs +17 -0
  277. package/src/providers/typescript/modules/gmail/gmail.triggers.hbs +16 -0
  278. package/src/providers/typescript/modules/hey_reach/hey_reach.tools.hbs +9 -0
  279. package/src/providers/typescript/modules/hey_reach/hey_reach.triggers.hbs +56 -0
  280. package/src/providers/typescript/modules/launchdarkly/launchdarkly.tools.hbs +16 -0
  281. package/src/providers/typescript/modules/linear/linear.tools.hbs +23 -0
  282. package/src/providers/typescript/modules/linear/linear.triggers.hbs +24 -0
  283. package/src/providers/typescript/modules/notion/notion.tools.hbs +20 -0
  284. package/src/providers/typescript/modules/posthog/posthog.tools.hbs +28 -0
  285. package/{templates/typescript/codegen/partials/resend-section.hbs → src/providers/typescript/modules/resend/resend.tools.hbs} +17 -5
  286. package/src/providers/typescript/modules/slack/slack.tools.hbs +18 -0
  287. package/src/providers/typescript/modules/slack/slack.triggers.hbs +28 -0
  288. package/src/providers/typescript/modules/snowflake/snowflake.tools.hbs +12 -0
  289. package/src/providers/typescript/modules/terse/terse.tools.hbs +22 -0
  290. package/src/providers/typescript/modules/terse/terse.triggers.hbs +33 -0
  291. package/src/providers/typescript/modules/workos/workos.tools.hbs +12 -0
  292. package/src/providers/typescript/modules/workos/workos.triggers.hbs +64 -0
  293. package/templates/typescript/codegen/.impeccable/hook.cache.json +1 -0
  294. package/templates/typescript/codegen/common.hbs +6 -0
  295. package/templates/typescript/codegen/partials/tools-slice.hbs +18 -0
  296. package/templates/typescript/codegen/root.hbs +72 -0
  297. package/templates/typescript/codegen/sdk-primitives.hbs +42 -0
  298. package/dist/jsonOutput.d.ts +0 -19
  299. package/dist/jsonOutput.d.ts.map +0 -1
  300. package/dist/jsonOutput.js +0 -25
  301. package/dist/jsonOutput.js.map +0 -1
  302. package/dist/providers/typescript/parkSignals.d.ts +0 -7
  303. package/dist/providers/typescript/parkSignals.d.ts.map +0 -1
  304. package/dist/providers/typescript/parkSignals.js +0 -45
  305. package/dist/providers/typescript/parkSignals.js.map +0 -1
  306. package/dist/replay.d.ts +0 -3
  307. package/dist/replay.d.ts.map +0 -1
  308. package/dist/replay.js +0 -20
  309. package/dist/replay.js.map +0 -1
  310. package/dist/testRelay.d.ts +0 -6
  311. package/dist/testRelay.d.ts.map +0 -1
  312. package/dist/testRelay.js +0 -91
  313. package/dist/testRelay.js.map +0 -1
  314. package/dist/urls.d.ts +0 -3
  315. package/dist/urls.d.ts.map +0 -1
  316. package/dist/urls.js +0 -27
  317. package/dist/urls.js.map +0 -1
  318. package/templates/typescript/codegen/generated.hbs +0 -15
  319. package/templates/typescript/codegen/partials/attio-section.hbs +0 -86
  320. package/templates/typescript/codegen/partials/datadog-section.hbs +0 -3
  321. package/templates/typescript/codegen/partials/github-section.hbs +0 -30
  322. package/templates/typescript/codegen/partials/header.hbs +0 -17
  323. package/templates/typescript/codegen/partials/hey-reach-section.hbs +0 -3
  324. package/templates/typescript/codegen/partials/launchdarkly-section.hbs +0 -3
  325. package/templates/typescript/codegen/partials/linear-section.hbs +0 -5
  326. package/templates/typescript/codegen/partials/notion-section.hbs +0 -5
  327. package/templates/typescript/codegen/partials/posthog-section.hbs +0 -15
  328. package/templates/typescript/codegen/partials/skills-section.hbs +0 -105
  329. package/templates/typescript/codegen/partials/slack-section.hbs +0 -5
  330. package/templates/typescript/codegen/partials/tools-section.hbs +0 -94
  331. package/templates/typescript/codegen/partials/triggers-section.hbs +0 -353
@@ -0,0 +1,28 @@
1
+ {{sectionHeader "PostHog resources"}}
2
+
3
+ {{> resource-class section.projectClass}}
4
+
5
+ {{#if section.eventNames.length}}
6
+ /**
7
+ * Custom event names observed in your PostHog project over the last 180 days.
8
+ * Built-in $-prefixed events (e.g. "$pageview") are always accepted alongside these.
9
+ * Terse supports US PostHog Cloud (us.posthog.com) only; EU-hosted PostHog is not supported.
10
+ */
11
+ export type PosthogEventName =
12
+ {{#each section.eventNames}}
13
+ | "{{escape this}}"
14
+ {{/each}}
15
+
16
+ {{/if}}
17
+ {{#if toolFile}}
18
+ {{sectionHeader "PostHog tools"}}
19
+
20
+ {{> tools-slice toolFile}}
21
+
22
+ {{/if}}
23
+ {{sectionHeader "PostHog skill"}}
24
+
25
+ /** PostHog — query analytics for a specific project */
26
+ export function posthogSkill(opts: { project: PosthogProject }): TypedSkill<{{{section.skillToolType}}}> {
27
+ return new PosthogConfig("{{escape section.id}}", opts.project.projectId, opts.project.name)
28
+ }
@@ -1,4 +1,4 @@
1
- {{sectionHeader "Resend Templates"}}
1
+ {{sectionHeader "Resend templates"}}
2
2
 
3
3
  export type ResendTemplateVariableValue = string | number
4
4
 
@@ -10,7 +10,7 @@ export interface GeneratedResendTemplate {
10
10
  }
11
11
 
12
12
  export const ResendTemplates = {
13
- {{#each templates}}
13
+ {{#each section.templates}}
14
14
  {{staticName}}: {
15
15
  templateId: "{{escape id}}",
16
16
  alias: {{#if alias}}"{{escape alias}}"{{else}}null{{/if}},
@@ -21,14 +21,26 @@ export const ResendTemplates = {
21
21
  } as const satisfies Record<string, GeneratedResendTemplate>
22
22
 
23
23
  export type ResendTemplate = (typeof ResendTemplates)[keyof typeof ResendTemplates]
24
- {{#if templates.length}}
24
+ {{#if section.templates.length}}
25
25
 
26
- type ResendSendTemplateBaseParams = Omit<ToolInputByName["resend_send_template"], "integrationId" | "templateId" | "variables">
26
+ {{{section.baseParamsDeclaration}}}
27
27
 
28
28
  /** Send a published Resend email template. `variables` is typed per template, keyed by `templateId`. */
29
29
  export type ResendSendTemplateParams =
30
- {{#each templates}}
30
+ {{#each section.templates}}
31
31
  | (ResendSendTemplateBaseParams & { templateId: typeof ResendTemplates.{{staticName}}.templateId; variables: {{{variablesType}}} })
32
32
  {{/each}}
33
+
33
34
  {{/if}}
35
+ {{#if toolFile}}
36
+ {{sectionHeader "Resend tools"}}
37
+
38
+ {{> tools-slice toolFile}}
34
39
 
40
+ {{/if}}
41
+ {{sectionHeader "Resend skill"}}
42
+
43
+ /** Resend — send transactional email using generated published templates */
44
+ export function resendSkill(): TypedSkill<{{{section.skillToolType}}}> {
45
+ return new ResendOutputConfig("{{escape section.id}}")
46
+ }
@@ -0,0 +1,18 @@
1
+ {{sectionHeader "Slack resources"}}
2
+
3
+ {{> resource-class section.channelClass}}
4
+
5
+ {{> resource-class section.userClass}}
6
+
7
+ {{#if toolFile}}
8
+ {{sectionHeader "Slack tools"}}
9
+
10
+ {{> tools-slice toolFile}}
11
+
12
+ {{/if}}
13
+ {{sectionHeader "Slack skill"}}
14
+
15
+ /** Slack — send messages and manage threads in a specific channel */
16
+ export function slackSkill(opts: { channel: SlackChannel; userIds?: string[]; userNames?: string[]; listenToUserDms?: boolean }): TypedSkill<{{{section.skillToolType}}}> {
17
+ return new SlackOutputConfig("{{escape section.id}}", opts.channel.channelId ?? null, opts.channel.name ?? null, opts.userIds ?? [], opts.userNames ?? null, opts.listenToUserDms)
18
+ }
@@ -0,0 +1,28 @@
1
+ {{sectionHeader "Slack triggers"}}
2
+
3
+ {{#each triggerDeclarations}}
4
+ {{{this}}}
5
+
6
+ {{/each}}
7
+ export const slackTriggers = {
8
+ /** Trigger on any message in a channel */
9
+ onMessage(opts: { channel: SlackChannel; userIds?: string[] }): TypedTrigger<SlackMessageTrigger> {
10
+ return new SlackConfig("{{escape section.id}}", opts.channel.channelId, opts.channel.name, false, opts.userIds ?? [], [SlackEventType.MESSAGE])
11
+ },
12
+ /** Trigger on direct messages to the bot */
13
+ onDm(opts?: { userIds?: string[] }): TypedTrigger<SlackMessageTrigger> {
14
+ return new SlackConfig("{{escape section.id}}", undefined, undefined, true, opts?.userIds ?? [], [SlackEventType.MESSAGE])
15
+ },
16
+ /** Trigger when the Slack app is directly mentioned */
17
+ onAppMention(opts: { channel: SlackChannel; userIds?: string[] }): TypedTrigger<SlackAppMentionTrigger> {
18
+ return new SlackConfig("{{escape section.id}}", opts.channel.channelId, opts.channel.name, false, opts.userIds ?? [], [SlackEventType.APP_MENTION])
19
+ },
20
+ /** Trigger when a reaction is added to a message in a channel */
21
+ onReactionAdded(opts: { channel: SlackChannel; userIds?: string[] }): TypedTrigger<SlackReactionAddedTrigger> {
22
+ return new SlackConfig("{{escape section.id}}", opts.channel.channelId, opts.channel.name, false, opts.userIds ?? [], [SlackEventType.REACTION_ADDED])
23
+ },
24
+ /** Trigger on all Slack events (messages + DMs) for a channel */
25
+ trigger(opts?: { channel?: SlackChannel; listenToUserDms?: boolean; userIds?: string[]; eventTypes?: SlackEventType[] }): TypedTrigger<SlackTrigger> {
26
+ return new SlackConfig("{{escape section.id}}", opts?.channel?.channelId, opts?.channel?.name, opts?.listenToUserDms, opts?.userIds ?? [], opts?.eventTypes)
27
+ },
28
+ }
@@ -0,0 +1,12 @@
1
+ {{#if toolFile}}
2
+ {{sectionHeader "Snowflake tools"}}
3
+
4
+ {{> tools-slice toolFile}}
5
+
6
+ {{/if}}
7
+ {{sectionHeader "Snowflake skill"}}
8
+
9
+ /** Snowflake — run SQL queries against your warehouse */
10
+ export function snowflakeSkill(): TypedSkill<{{{section.skillToolType}}}> {
11
+ return new SnowflakeOutputConfig("{{escape section.id}}")
12
+ }
@@ -0,0 +1,22 @@
1
+ {{#if toolFile}}
2
+ {{sectionHeader "Terse built-in tools"}}
3
+
4
+ {{> tools-slice toolFile}}
5
+
6
+ {{/if}}
7
+ {{sectionHeader "Built-in skills"}}
8
+
9
+ /** Web — built-in web search, page extraction, and multi-source research. Pass `allowedDomains` to restrict search and page extraction to specific sites (and their subdomains). */
10
+ export function webSkill(opts: { allowedDomains?: string[] } = {}): TypedSkill<"web_search" | "web_extract" | "web_research"> {
11
+ return new WebConfig(opts)
12
+ }
13
+
14
+ /** ImageEdit — edit and generate images */
15
+ export function imageEditSkill(): TypedSkill<"image_edit"> {
16
+ return new ImageEditConfig()
17
+ }
18
+
19
+ /** Memory — built-in persistent memory the agent reads and writes under /memories, scoped to this job and surviving across runs. */
20
+ export function memorySkill(): TypedSkill<"memory"> {
21
+ return new MemoryConfig()
22
+ }
@@ -0,0 +1,33 @@
1
+ {{sectionHeader "Built-in triggers"}}
2
+
3
+ {{#each triggerDeclarations}}
4
+ {{{this}}}
5
+
6
+ {{/each}}
7
+ export const scheduleTriggers = {
8
+ /** Run on a cron schedule (5-field cron expression, evaluated in UTC) */
9
+ cron(opts: { expression: string }): TypedTrigger<CronTrigger> {
10
+ return new TimeTriggerConfig(opts.expression)
11
+ },
12
+ }
13
+
14
+ export const webhookTriggers = {
15
+ /** Trigger via an external HTTP request to a generated URL */
16
+ onRequest<TBody = unknown>(): TypedTrigger<WebhookTrigger<TBody>> {
17
+ return new WebhookInputConfig()
18
+ },
19
+ }
20
+
21
+ /** Bind a web-monitor event to a Zod schema: the `payload` field types as the schema's output */
22
+ export type WebMonitorTriggerFor<TSchema> = WebMonitorTrigger<InferStructuredOutput<TSchema>>
23
+
24
+ export const webMonitorTriggers = {
25
+ /** Trigger when a query against the live web matches the given schema */
26
+ onEvent<const TSchema>(opts: {
27
+ query: string
28
+ frequency: { number: number; unit: FrequencyUnit }
29
+ outputSchema?: TSchema
30
+ }): TypedTrigger<WebMonitorTrigger<InferStructuredOutput<TSchema>>> {
31
+ return new WebMonitorConfig(opts.query, opts.frequency, opts.outputSchema)
32
+ },
33
+ }
@@ -0,0 +1,12 @@
1
+ {{#if toolFile}}
2
+ {{sectionHeader "WorkOS tools"}}
3
+
4
+ {{> tools-slice toolFile}}
5
+
6
+ {{/if}}
7
+ {{sectionHeader "WorkOS skill"}}
8
+
9
+ /** WorkOS — manage users, organizations and invitations */
10
+ export function workOSSkill(): TypedSkill<{{{section.skillToolType}}}> {
11
+ return new WorkOSOutputConfig("{{escape section.id}}")
12
+ }
@@ -0,0 +1,64 @@
1
+ {{sectionHeader "WorkOS triggers"}}
2
+
3
+ {{#each triggerDeclarations}}
4
+ {{{this}}}
5
+
6
+ {{/each}}
7
+ export const workOSTriggers = {
8
+ /** Trigger on user creation */
9
+ onUserCreated(): TypedTrigger<WorkOSUserCreatedTrigger> {
10
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.USER_CREATED])
11
+ },
12
+ /** Trigger on user update */
13
+ onUserUpdated(): TypedTrigger<WorkOSUserUpdatedTrigger> {
14
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.USER_UPDATED])
15
+ },
16
+ /** Trigger on user deletion */
17
+ onUserDeleted(): TypedTrigger<WorkOSUserDeletedTrigger> {
18
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.USER_DELETED])
19
+ },
20
+ /** Trigger on organization membership creation */
21
+ onMembershipCreated(): TypedTrigger<WorkOSOrganizationMembershipCreatedTrigger> {
22
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.ORGANIZATION_MEMBERSHIP_CREATED])
23
+ },
24
+ /** Trigger on organization membership update */
25
+ onMembershipUpdated(): TypedTrigger<WorkOSOrganizationMembershipUpdatedTrigger> {
26
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.ORGANIZATION_MEMBERSHIP_UPDATED])
27
+ },
28
+ /** Trigger on organization membership deletion */
29
+ onMembershipDeleted(): TypedTrigger<WorkOSOrganizationMembershipDeletedTrigger> {
30
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.ORGANIZATION_MEMBERSHIP_DELETED])
31
+ },
32
+ /** Trigger on any organization membership change */
33
+ onMembershipChanged(): TypedTrigger<WorkOSMembershipTrigger> {
34
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.ORGANIZATION_MEMBERSHIP_CREATED, WorkOSEventType.ORGANIZATION_MEMBERSHIP_UPDATED, WorkOSEventType.ORGANIZATION_MEMBERSHIP_DELETED])
35
+ },
36
+ /** Trigger when an invitation is sent (created or resent) */
37
+ onInvitationSent(): TypedTrigger<WorkOSInvitationTrigger> {
38
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.INVITATION_CREATED, WorkOSEventType.INVITATION_RESENT])
39
+ },
40
+ /** Trigger when an invitation is first created */
41
+ onInvitationCreated(): TypedTrigger<WorkOSInvitationCreatedTrigger> {
42
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.INVITATION_CREATED])
43
+ },
44
+ /** Trigger when an invitation is resent */
45
+ onInvitationResent(): TypedTrigger<WorkOSInvitationResentTrigger> {
46
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.INVITATION_RESENT])
47
+ },
48
+ /** Trigger on invitation accepted */
49
+ onInvitationAccepted(): TypedTrigger<WorkOSInvitationAcceptedTrigger> {
50
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.INVITATION_ACCEPTED])
51
+ },
52
+ /** Trigger when an invitation is revoked */
53
+ onInvitationRevoked(): TypedTrigger<WorkOSInvitationRevokedTrigger> {
54
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.INVITATION_REVOKED])
55
+ },
56
+ /** Trigger on organization creation */
57
+ onOrganizationCreated(): TypedTrigger<WorkOSOrganizationTrigger> {
58
+ return new WorkOSInputConfig("{{escape section.id}}", [WorkOSEventType.ORGANIZATION_CREATED])
59
+ },
60
+ /** Trigger on specific WorkOS event types */
61
+ trigger(opts?: { eventTypes?: WorkOSEventType[] }): TypedTrigger<WorkOSTrigger | WorkOSUserTrigger | WorkOSMembershipTrigger | WorkOSInvitationTrigger | WorkOSOrganizationTrigger> {
62
+ return new WorkOSInputConfig("{{escape section.id}}", opts?.eventTypes)
63
+ },
64
+ }
@@ -0,0 +1 @@
1
+ {"version":1,"sessions":{"9819a905-dfd0-4796-9ebb-35ebffe9e823":{"updatedAt":1783680440916,"files":{"/Users/olimorissette/Desktop/projects/Terse/packages/terse-cli/src/providers/typescript/templateEngine.ts":{"editCount":1,"findings":[]},"/Users/olimorissette/Desktop/projects/Terse/packages/terse-cli/src/providers/typescript/prepareCodegenData.ts":{"editCount":2,"findings":[]}}},"880affde-d725-41e0-945d-5d13f7843af7":{"updatedAt":1783982109807,"files":{"/Users/olimorissette/Desktop/projects/Terse/packages/terse-cli/src/providers/typescript/templateEngine.ts":{"editCount":1,"findings":[]},"/Users/olimorissette/Desktop/projects/Terse/packages/terse-cli/src/commands/generate.ts":{"editCount":2,"findings":[]}}}}}
@@ -0,0 +1,6 @@
1
+ {{sectionHeader "Shared types"}}
2
+
3
+ {{#each commonToolDeclarations}}
4
+ {{{this}}}
5
+
6
+ {{/each}}
@@ -0,0 +1,18 @@
1
+ {{#each declarations}}
2
+ {{{this}}}
3
+
4
+ {{/each}}
5
+ export type {{typeName}} = {
6
+ {{#each methods}}
7
+ {{#if description}} /** {{description}} */
8
+ {{/if}} {{{generatedSignature}}}
9
+ {{/each}}
10
+ }
11
+
12
+ export const {{constName}}: {{typeName}} = {
13
+ {{#each methods}}
14
+ {{#each runtimeLines}}
15
+ {{{this}}}
16
+ {{/each}}
17
+ {{/each}}
18
+ }
@@ -0,0 +1,72 @@
1
+ {{sectionHeader "Triggers"}}
2
+
3
+ /**
4
+ * Triggers available in your workspace.
5
+ *
6
+ * Type `Triggers.` in your editor to see every connected integration with triggers.
7
+ * Use these in `createJob({ triggers: [...] })`.
8
+ */
9
+ export const Triggers = {
10
+ {{#each triggersAggregateLines}}
11
+ {{{this}}}
12
+ {{/each}}
13
+ }
14
+
15
+ {{sectionHeader "Skills"}}
16
+
17
+ /**
18
+ * Skills available in your workspace.
19
+ *
20
+ * Type `Skills.` in your editor to see every connected integration's skill at a glance.
21
+ * Use these in `generateText({ skills: [...] })` (or `TerseAgent.create({ skills: [...] })`).
22
+ */
23
+ export const Skills = {
24
+ {{#each skillsAggregateLines}}
25
+ {{{this}}}
26
+ {{/each}}
27
+ }
28
+
29
+ {{sectionHeader "Typed Tools"}}
30
+
31
+ export type GeneratedTools = {
32
+ {{#each toolboxEntries}}
33
+ {{key}}: {{typeName}}
34
+ {{/each}}
35
+ }
36
+
37
+ declare module "terse-sdk" {
38
+ interface TerseAgent {
39
+ readonly tools: GeneratedTools
40
+ }
41
+ }
42
+
43
+ function createTools(agent: TerseAgent): GeneratedTools {
44
+ const allowed: Set<string> = new Set(agent.skills.map(config => config.integrationType))
45
+ return {
46
+ {{#each toolboxEntries}}
47
+ ...(allowed.has("{{escape integrationType}}") ? { {{key}}: {{constName}} } : {}),
48
+ {{/each}}
49
+ } as GeneratedTools
50
+ }
51
+
52
+ ;(globalThis as any).__terse_createTools = createTools
53
+
54
+ /**
55
+ * Deterministic tool calls without an agent.
56
+ *
57
+ * `toolbox` exposes every connected integration tool as a typed function. Unlike
58
+ * `agent.tools`, it does not require constructing a `TerseAgent` and is not
59
+ * filtered by `skills`. Use it when you know exactly which tool to call and
60
+ * don't need an LLM in the loop.
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * import { toolbox } from "./terse.generated"
65
+ * await toolbox.slack.sendMessage({ channelId: "...", message: "hi" })
66
+ * ```
67
+ */
68
+ export const toolbox: GeneratedTools = {
69
+ {{#each toolboxEntries}}
70
+ {{key}}: {{constName}},
71
+ {{/each}}
72
+ }
@@ -0,0 +1,42 @@
1
+ // ── Platform primitives (from "terse-sdk") ────────────────────
2
+ //
3
+ // Everything below ships with the terse-sdk package. This summary is the
4
+ // reference for job code — do not read the terse-sdk dist to rediscover it.
5
+ //
6
+ // Defining jobs:
7
+ // createJob({ name, triggers: [...], states?, filter?, onTrigger, durable? })
8
+ // Registers a workflow. `filter` and `onTrigger` receive (event, state);
9
+ // `filter` returns boolean to decide whether the run proceeds.
10
+ // Every trigger event has event.formatForAgentRunner(): string — the
11
+ // canonical way to inline the triggering event into an agent prompt.
12
+ //
13
+ // Agentic execution:
14
+ // generateText({ prompt, skills: [...], toolApprovals?, outputSchema? })
15
+ // One-shot agent run. Returns Promise<string>, or Promise<z.infer<schema>>
16
+ // when `outputSchema` (a zod schema) is given. Skills come from the
17
+ // generated `Skills` export below; the agent can only touch integrations
18
+ // whose skills are passed.
19
+ // TerseAgent.create({ prompt, skills, toolApprovals? })
20
+ // Streaming variant: `for await (const result of agent.run(message))`.
21
+ // `agent.tools` is typed to the generated tools of the passed skills.
22
+ //
23
+ // Per-job state (typed key/value store):
24
+ // states: [{ key: "runCount", value: z.number().default(0) }]
25
+ // then `await state.get("runCount")` / `await state.set("runCount", n)`
26
+ // in `filter`/`onTrigger`. Keys and value types come from the declaration.
27
+ //
28
+ // Durability (all of these require `durable: true` on the job):
29
+ // step(client.method(args)) Journals a single wrapped call; arguments and
30
+ // result must be serializable.
31
+ // jobStep({ run, input?, inputSchema?, outputSchema? })
32
+ // Journals a code block as one step.
33
+ // sleep("2h" | ms | Date) Suspends the run; resumes after the duration.
34
+ // await log(...args) Replay-safe console.log (prints exactly once).
35
+ // waitForInput({ via: slack({ channel: SlackChannel.X.channelId }), prompt, options })
36
+ // Suspends until a human answers; resolves to
37
+ // { choice, text?, respondent }. `options` is
38
+ // [{ id, label, description?, freeText? }].
39
+ //
40
+ // Secrets:
41
+ // Write with `terse secrets add`; read in job code via process.env.MY_SECRET.
42
+ // There is no value-returning secrets API — env vars are the read side.
@@ -1,19 +0,0 @@
1
- import type { Ora } from "ora";
2
- export type JsonErrorPayload = {
3
- error: {
4
- code: string;
5
- message: string;
6
- [key: string]: unknown;
7
- };
8
- };
9
- export declare function emitJsonError(code: string, message: string, details?: Record<string, unknown>): void;
10
- export declare function bailJsonError(code: string, message: string, details?: Record<string, unknown>, exitCode?: number): never;
11
- export type GuardOptions = {
12
- spinner?: Ora | null;
13
- json?: boolean;
14
- failMessage: string;
15
- code: string;
16
- details?: Record<string, unknown>;
17
- };
18
- export declare function withJsonError<T>(fn: () => Promise<T>, opts: GuardOptions): Promise<T>;
19
- //# sourceMappingURL=jsonOutput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonOutput.d.ts","sourceRoot":"","sources":["../src/jsonOutput.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAK9B,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACzB,CAAA;CACJ,CAAA;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAGxG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,KAAK,CAG/H;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAKD,wBAAsB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAU3F"}
@@ -1,25 +0,0 @@
1
- import chalk from "chalk";
2
- export function emitJsonError(code, message, details = {}) {
3
- const payload = { error: { code, message, ...details } };
4
- process.stdout.write(JSON.stringify(payload, null, 2) + "\n");
5
- }
6
- export function bailJsonError(code, message, details = {}, exitCode = 1) {
7
- emitJsonError(code, message, details);
8
- process.exit(exitCode);
9
- }
10
- // Wraps an async call so that failures (a) stop the spinner with a red label in TTY mode,
11
- // (b) emit a structured JSON error and exit 1 in --json mode, and (c) re-throw otherwise so
12
- // the top-level error handler can surface the trace.
13
- export async function withJsonError(fn, opts) {
14
- try {
15
- return await fn();
16
- }
17
- catch (error) {
18
- opts.spinner?.fail(chalk.red(opts.failMessage));
19
- if (opts.json) {
20
- bailJsonError(opts.code, error instanceof Error ? error.message : String(error), opts.details);
21
- }
22
- throw error;
23
- }
24
- }
25
- //# sourceMappingURL=jsonOutput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonOutput.js","sourceRoot":"","sources":["../src/jsonOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmC,EAAE;IAC9F,MAAM,OAAO,GAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CAAA;IAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmC,EAAE,EAAE,WAAmB,CAAC;IACpH,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACrC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC1B,CAAC;AAUD,0FAA0F;AAC1F,4FAA4F;AAC5F,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,EAAoB,EAAE,IAAkB;IAC3E,IAAI,CAAC;QACD,OAAO,MAAM,EAAE,EAAE,CAAA;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;QAC/C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAClG,CAAC;QACD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC"}
@@ -1,7 +0,0 @@
1
- type Handler = (request: Request) => Promise<Response>;
2
- export declare function noteEnqueue(): void;
3
- export declare function setParkListener(listener: (() => void) | undefined): void;
4
- export declare function trackStepHandler(handler: Handler): Handler;
5
- export declare function trackWorkflowHandler(handler: Handler, dataDir: string): Handler;
6
- export {};
7
- //# sourceMappingURL=parkSignals.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parkSignals.d.ts","sourceRoot":"","sources":["../../../src/providers/typescript/parkSignals.ts"],"names":[],"mappings":"AAYA,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAOtD,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAExE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAS1D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAY/E"}
@@ -1,45 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- let enqueueCount = 0;
4
- let inFlightSteps = 0;
5
- let onParked;
6
- // terseWorld calls this for every queue() call, delayed or not.
7
- export function noteEnqueue() {
8
- enqueueCount++;
9
- }
10
- export function setParkListener(listener) {
11
- onParked = listener;
12
- }
13
- export function trackStepHandler(handler) {
14
- return async (request) => {
15
- inFlightSteps++;
16
- try {
17
- return await handler(request);
18
- }
19
- finally {
20
- inFlightSteps--;
21
- }
22
- };
23
- }
24
- export function trackWorkflowHandler(handler, dataDir) {
25
- return async (request) => {
26
- const enqueuesBefore = enqueueCount;
27
- try {
28
- return await handler(request);
29
- }
30
- finally {
31
- const scheduledNothing = enqueueCount === enqueuesBefore;
32
- if (scheduledNothing && inFlightSteps === 0 && hasUnresolvedHooks(dataDir)) {
33
- onParked?.();
34
- }
35
- }
36
- };
37
- }
38
- // helpers
39
- function hasUnresolvedHooks(dataDir) {
40
- const hooksDir = path.join(dataDir, "hooks");
41
- if (!fs.existsSync(hooksDir))
42
- return false;
43
- return fs.readdirSync(hooksDir).some(file => file.endsWith(".json"));
44
- }
45
- //# sourceMappingURL=parkSignals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parkSignals.js","sourceRoot":"","sources":["../../../src/providers/typescript/parkSignals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAa5B,IAAI,YAAY,GAAG,CAAC,CAAA;AACpB,IAAI,aAAa,GAAG,CAAC,CAAA;AACrB,IAAI,QAAkC,CAAA;AAEtC,gEAAgE;AAChE,MAAM,UAAU,WAAW;IACvB,YAAY,EAAE,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAkC;IAC9D,QAAQ,GAAG,QAAQ,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC7C,OAAO,KAAK,EAAC,OAAO,EAAC,EAAE;QACnB,aAAa,EAAE,CAAA;QACf,IAAI,CAAC;YACD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;gBAAS,CAAC;YACP,aAAa,EAAE,CAAA;QACnB,CAAC;IACL,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,OAAe;IAClE,OAAO,KAAK,EAAC,OAAO,EAAC,EAAE;QACnB,MAAM,cAAc,GAAG,YAAY,CAAA;QACnC,IAAI,CAAC;YACD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;gBAAS,CAAC;YACP,MAAM,gBAAgB,GAAG,YAAY,KAAK,cAAc,CAAA;YACxD,IAAI,gBAAgB,IAAI,aAAa,KAAK,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzE,QAAQ,EAAE,EAAE,CAAA;YAChB,CAAC;QACL,CAAC;IACL,CAAC,CAAA;AACL,CAAC;AAED,UAAU;AAEV,SAAS,kBAAkB,CAAC,OAAe;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1C,OAAO,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;AACxE,CAAC"}
package/dist/replay.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import type { LanguageProvider } from "./providers/LanguageProvider.js";
2
- export declare function replay(runId: string, provider?: LanguageProvider): Promise<void>;
3
- //# sourceMappingURL=replay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAGvE,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,gBAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzG"}
package/dist/replay.js DELETED
@@ -1,20 +0,0 @@
1
- import chalk from "chalk";
2
- import { readApiKeyOrBail, resolveEventFromRunId } from "./api.js";
3
- import { loadJob } from "./loadJob.js";
4
- import { resolveProvider } from "./providers/resolveProvider.js";
5
- export async function replay(runId, provider = resolveProvider()) {
6
- const apiKey = readApiKeyOrBail();
7
- if (!runId) {
8
- console.error(chalk.red("Error: --run-id is required.\n"));
9
- console.error(chalk.dim(" Usage: terse replay --run-id <run-id>"));
10
- process.exit(1);
11
- }
12
- const runHistoryRecord = await resolveEventFromRunId(runId, apiKey);
13
- if (!runHistoryRecord) {
14
- console.error(chalk.red("Error: Could not fetch the trigger event for run ${runId}.\n"));
15
- process.exit(1);
16
- }
17
- const { job } = await loadJob(provider, runHistoryRecord.agentName);
18
- await provider.executeJob(job, null, runHistoryRecord.event, { verbose: true });
19
- }
20
- //# sourceMappingURL=replay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEhE,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAa,EAAE,WAA6B,eAAe,EAAE;IACtF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAA;QAC1D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAA;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACnE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAA;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAEnE,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AACnF,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare function shouldRelayTestResults(relay: boolean | undefined, nonInteractive?: boolean): boolean;
2
- export declare function emitTestRelay(jobName: string, error: unknown): void;
3
- export declare function emitRememberedTestRelay(jobName: string): void;
4
- export declare function clearRememberedTestRelay(jobName: string): void;
5
- export declare function testDiagnostics(error: unknown): string[];
6
- //# sourceMappingURL=testRelay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testRelay.d.ts","sourceRoot":"","sources":["../src/testRelay.ts"],"names":[],"mappings":"AAQA,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,cAAc,GAAE,OAA4B,GAAG,OAAO,CAExH;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAMnE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAO7D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAM9D;AAiCD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAWxD"}