terse-cli 0.3.8 → 0.4.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 (247) hide show
  1. package/package.json +3 -3
  2. package/dist/_tmp_create_project.d.ts +0 -2
  3. package/dist/_tmp_create_project.d.ts.map +0 -1
  4. package/dist/_tmp_create_project.js +0 -17
  5. package/dist/_tmp_create_project.js.map +0 -1
  6. package/dist/_tmp_delete_agent.d.ts +0 -2
  7. package/dist/_tmp_delete_agent.d.ts.map +0 -1
  8. package/dist/_tmp_delete_agent.js +0 -14
  9. package/dist/_tmp_delete_agent.js.map +0 -1
  10. package/dist/_tmp_manual_trigger.d.ts +0 -2
  11. package/dist/_tmp_manual_trigger.d.ts.map +0 -1
  12. package/dist/_tmp_manual_trigger.js +0 -17
  13. package/dist/_tmp_manual_trigger.js.map +0 -1
  14. package/dist/_tmp_patch_active.d.ts +0 -2
  15. package/dist/_tmp_patch_active.d.ts.map +0 -1
  16. package/dist/_tmp_patch_active.js +0 -21
  17. package/dist/_tmp_patch_active.js.map +0 -1
  18. package/dist/attach.d.ts +0 -3
  19. package/dist/attach.d.ts.map +0 -1
  20. package/dist/attach.js +0 -61
  21. package/dist/attach.js.map +0 -1
  22. package/dist/auth.d.ts +0 -15
  23. package/dist/auth.d.ts.map +0 -1
  24. package/dist/auth.js +0 -169
  25. package/dist/auth.js.map +0 -1
  26. package/dist/codegen.d.ts +0 -135
  27. package/dist/codegen.d.ts.map +0 -1
  28. package/dist/codegen.js +0 -1196
  29. package/dist/codegen.js.map +0 -1
  30. package/dist/commands/deployTheme.d.ts +0 -28
  31. package/dist/commands/deployTheme.d.ts.map +0 -1
  32. package/dist/commands/deployTheme.js +0 -68
  33. package/dist/commands/deployTheme.js.map +0 -1
  34. package/dist/commands/dev.d.ts +0 -3
  35. package/dist/commands/dev.d.ts.map +0 -1
  36. package/dist/commands/dev.js +0 -47
  37. package/dist/commands/dev.js.map +0 -1
  38. package/dist/commands/fsExec.d.ts +0 -8
  39. package/dist/commands/fsExec.d.ts.map +0 -1
  40. package/dist/commands/fsExec.js +0 -46
  41. package/dist/commands/fsExec.js.map +0 -1
  42. package/dist/commands/metaAdsScope.d.ts +0 -12
  43. package/dist/commands/metaAdsScope.d.ts.map +0 -1
  44. package/dist/commands/metaAdsScope.js +0 -120
  45. package/dist/commands/metaAdsScope.js.map +0 -1
  46. package/dist/commands/serve.d.ts +0 -1
  47. package/dist/commands/serve.d.ts.map +0 -1
  48. package/dist/commands/serve.js +0 -2
  49. package/dist/commands/serve.js.map +0 -1
  50. package/dist/commands/terseCliTheme.d.ts +0 -28
  51. package/dist/commands/terseCliTheme.d.ts.map +0 -1
  52. package/dist/commands/terseCliTheme.js +0 -68
  53. package/dist/commands/terseCliTheme.js.map +0 -1
  54. package/dist/commands/tool.d.ts +0 -6
  55. package/dist/commands/tool.d.ts.map +0 -1
  56. package/dist/commands/tool.js +0 -34
  57. package/dist/commands/tool.js.map +0 -1
  58. package/dist/data/standardSlackEmoji.d.ts +0 -2
  59. package/dist/data/standardSlackEmoji.d.ts.map +0 -1
  60. package/dist/data/standardSlackEmoji.js +0 -1978
  61. package/dist/data/standardSlackEmoji.js.map +0 -1
  62. package/dist/data/standardSlackEmoji.json +0 -1974
  63. package/dist/deploy.d.ts +0 -3
  64. package/dist/deploy.d.ts.map +0 -1
  65. package/dist/deploy.js +0 -124
  66. package/dist/deploy.js.map +0 -1
  67. package/dist/generate.d.ts +0 -3
  68. package/dist/generate.d.ts.map +0 -1
  69. package/dist/generate.js +0 -282
  70. package/dist/generate.js.map +0 -1
  71. package/dist/init.d.ts +0 -3
  72. package/dist/init.d.ts.map +0 -1
  73. package/dist/init.js +0 -98
  74. package/dist/init.js.map +0 -1
  75. package/dist/integrate.d.ts +0 -3
  76. package/dist/integrate.d.ts.map +0 -1
  77. package/dist/integrate.js +0 -214
  78. package/dist/integrate.js.map +0 -1
  79. package/dist/nonInteractive.d.ts +0 -20
  80. package/dist/nonInteractive.d.ts.map +0 -1
  81. package/dist/nonInteractive.js +0 -60
  82. package/dist/nonInteractive.js.map +0 -1
  83. package/dist/perf.d.ts +0 -9
  84. package/dist/perf.d.ts.map +0 -1
  85. package/dist/perf.js +0 -59
  86. package/dist/perf.js.map +0 -1
  87. package/dist/providers/codegen.test.d.ts +0 -2
  88. package/dist/providers/codegen.test.d.ts.map +0 -1
  89. package/dist/providers/codegen.test.js +0 -45
  90. package/dist/providers/codegen.test.js.map +0 -1
  91. package/dist/providers/python/PythonProvider.d.ts +0 -51
  92. package/dist/providers/python/PythonProvider.d.ts.map +0 -1
  93. package/dist/providers/python/PythonProvider.js +0 -414
  94. package/dist/providers/python/PythonProvider.js.map +0 -1
  95. package/dist/providers/python/PythonProvider.test.d.ts +0 -2
  96. package/dist/providers/python/PythonProvider.test.d.ts.map +0 -1
  97. package/dist/providers/python/PythonProvider.test.js +0 -169
  98. package/dist/providers/python/PythonProvider.test.js.map +0 -1
  99. package/dist/providers/python/preparePythonCodegenData.d.ts +0 -139
  100. package/dist/providers/python/preparePythonCodegenData.d.ts.map +0 -1
  101. package/dist/providers/python/preparePythonCodegenData.js +0 -452
  102. package/dist/providers/python/preparePythonCodegenData.js.map +0 -1
  103. package/dist/providers/python/pythonTemplateEngine.d.ts +0 -3
  104. package/dist/providers/python/pythonTemplateEngine.d.ts.map +0 -1
  105. package/dist/providers/python/pythonTemplateEngine.js +0 -30
  106. package/dist/providers/python/pythonTemplateEngine.js.map +0 -1
  107. package/dist/providers/shared/shellUtils.d.ts +0 -2
  108. package/dist/providers/shared/shellUtils.d.ts.map +0 -1
  109. package/dist/providers/shared/shellUtils.js +0 -25
  110. package/dist/providers/shared/shellUtils.js.map +0 -1
  111. package/dist/providers/typescript/attioProjection.d.ts +0 -50
  112. package/dist/providers/typescript/attioProjection.d.ts.map +0 -1
  113. package/dist/providers/typescript/attioProjection.js +0 -358
  114. package/dist/providers/typescript/attioProjection.js.map +0 -1
  115. package/dist/providers/typescript/modules/cursor/CursorModule.d.ts +0 -20
  116. package/dist/providers/typescript/modules/cursor/CursorModule.d.ts.map +0 -1
  117. package/dist/providers/typescript/modules/cursor/CursorModule.js +0 -27
  118. package/dist/providers/typescript/modules/cursor/CursorModule.js.map +0 -1
  119. package/dist/providers/typescript/prepareCodegenData.d.ts +0 -166
  120. package/dist/providers/typescript/prepareCodegenData.d.ts.map +0 -1
  121. package/dist/providers/typescript/prepareCodegenData.js +0 -1431
  122. package/dist/providers/typescript/prepareCodegenData.js.map +0 -1
  123. package/dist/providers/typescript/prepareCodegenData.test.d.ts +0 -2
  124. package/dist/providers/typescript/prepareCodegenData.test.d.ts.map +0 -1
  125. package/dist/providers/typescript/prepareCodegenData.test.js +0 -54
  126. package/dist/providers/typescript/prepareCodegenData.test.js.map +0 -1
  127. package/dist/providers/typescript/projectedTypes.d.ts +0 -11
  128. package/dist/providers/typescript/projectedTypes.d.ts.map +0 -1
  129. package/dist/providers/typescript/projectedTypes.js +0 -53
  130. package/dist/providers/typescript/projectedTypes.js.map +0 -1
  131. package/dist/providers/typescript/projectionPrinter.d.ts +0 -26
  132. package/dist/providers/typescript/projectionPrinter.d.ts.map +0 -1
  133. package/dist/providers/typescript/projectionPrinter.js +0 -110
  134. package/dist/providers/typescript/projectionPrinter.js.map +0 -1
  135. package/dist/providers/typescript/replayLogDedupe.d.ts +0 -6
  136. package/dist/providers/typescript/replayLogDedupe.d.ts.map +0 -1
  137. package/dist/providers/typescript/replayLogDedupe.js +0 -156
  138. package/dist/providers/typescript/replayLogDedupe.js.map +0 -1
  139. package/dist/providers/typescript/triggerPayloads.d.ts +0 -7
  140. package/dist/providers/typescript/triggerPayloads.d.ts.map +0 -1
  141. package/dist/providers/typescript/triggerPayloads.js +0 -60
  142. package/dist/providers/typescript/triggerPayloads.js.map +0 -1
  143. package/dist/providers/typescript/triggerTypeRegistry.d.ts +0 -7
  144. package/dist/providers/typescript/triggerTypeRegistry.d.ts.map +0 -1
  145. package/dist/providers/typescript/triggerTypeRegistry.js +0 -198
  146. package/dist/providers/typescript/triggerTypeRegistry.js.map +0 -1
  147. package/dist/run.d.ts +0 -3
  148. package/dist/run.d.ts.map +0 -1
  149. package/dist/run.js +0 -72
  150. package/dist/run.js.map +0 -1
  151. package/dist/sampleEventCache.d.ts +0 -9
  152. package/dist/sampleEventCache.d.ts.map +0 -1
  153. package/dist/sampleEventCache.js +0 -47
  154. package/dist/sampleEventCache.js.map +0 -1
  155. package/dist/sampleEventId.d.ts +0 -9
  156. package/dist/sampleEventId.d.ts.map +0 -1
  157. package/dist/sampleEventId.js +0 -16
  158. package/dist/sampleEventId.js.map +0 -1
  159. package/dist/shared/ApiRoutes.d.ts +0 -348
  160. package/dist/shared/ApiRoutes.d.ts.map +0 -1
  161. package/dist/shared/ApiRoutes.js +0 -325
  162. package/dist/shared/ApiRoutes.js.map +0 -1
  163. package/dist/shared/ApprovalTypes.d.ts +0 -29
  164. package/dist/shared/ApprovalTypes.d.ts.map +0 -1
  165. package/dist/shared/ApprovalTypes.js +0 -8
  166. package/dist/shared/ApprovalTypes.js.map +0 -1
  167. package/dist/shared/ClientBoundTools.d.ts +0 -37
  168. package/dist/shared/ClientBoundTools.d.ts.map +0 -1
  169. package/dist/shared/ClientBoundTools.js +0 -37
  170. package/dist/shared/ClientBoundTools.js.map +0 -1
  171. package/dist/shared/Configs.d.ts +0 -488
  172. package/dist/shared/Configs.d.ts.map +0 -1
  173. package/dist/shared/Configs.js +0 -785
  174. package/dist/shared/Configs.js.map +0 -1
  175. package/dist/shared/DonatedState.d.ts +0 -5
  176. package/dist/shared/DonatedState.d.ts.map +0 -1
  177. package/dist/shared/DonatedState.js +0 -13
  178. package/dist/shared/DonatedState.js.map +0 -1
  179. package/dist/shared/Entities.d.ts +0 -8
  180. package/dist/shared/Entities.d.ts.map +0 -1
  181. package/dist/shared/Entities.js +0 -9
  182. package/dist/shared/Entities.js.map +0 -1
  183. package/dist/shared/FrontendRoutes.d.ts +0 -54
  184. package/dist/shared/FrontendRoutes.d.ts.map +0 -1
  185. package/dist/shared/FrontendRoutes.js +0 -54
  186. package/dist/shared/FrontendRoutes.js.map +0 -1
  187. package/dist/shared/Integrations.d.ts +0 -235
  188. package/dist/shared/Integrations.d.ts.map +0 -1
  189. package/dist/shared/Integrations.js +0 -143
  190. package/dist/shared/Integrations.js.map +0 -1
  191. package/dist/shared/InvalidationKeys.d.ts +0 -53
  192. package/dist/shared/InvalidationKeys.d.ts.map +0 -1
  193. package/dist/shared/InvalidationKeys.js +0 -166
  194. package/dist/shared/InvalidationKeys.js.map +0 -1
  195. package/dist/shared/ModelEvents.d.ts +0 -176
  196. package/dist/shared/ModelEvents.d.ts.map +0 -1
  197. package/dist/shared/ModelEvents.js +0 -29
  198. package/dist/shared/ModelEvents.js.map +0 -1
  199. package/dist/shared/Notifications.d.ts +0 -43
  200. package/dist/shared/Notifications.d.ts.map +0 -1
  201. package/dist/shared/Notifications.js +0 -6
  202. package/dist/shared/Notifications.js.map +0 -1
  203. package/dist/shared/RunHistoryTypes.d.ts +0 -95
  204. package/dist/shared/RunHistoryTypes.d.ts.map +0 -1
  205. package/dist/shared/RunHistoryTypes.js +0 -11
  206. package/dist/shared/RunHistoryTypes.js.map +0 -1
  207. package/dist/shared/SentNotifications.d.ts +0 -30
  208. package/dist/shared/SentNotifications.d.ts.map +0 -1
  209. package/dist/shared/SentNotifications.js +0 -13
  210. package/dist/shared/SentNotifications.js.map +0 -1
  211. package/dist/shared/SocketEvents.d.ts +0 -49
  212. package/dist/shared/SocketEvents.d.ts.map +0 -1
  213. package/dist/shared/SocketEvents.js +0 -53
  214. package/dist/shared/SocketEvents.js.map +0 -1
  215. package/dist/shared/Survey.d.ts +0 -10
  216. package/dist/shared/Survey.d.ts.map +0 -1
  217. package/dist/shared/Survey.js +0 -2
  218. package/dist/shared/Survey.js.map +0 -1
  219. package/dist/shared/TicketSystem.d.ts +0 -154
  220. package/dist/shared/TicketSystem.d.ts.map +0 -1
  221. package/dist/shared/TicketSystem.js +0 -21
  222. package/dist/shared/TicketSystem.js.map +0 -1
  223. package/dist/shared/ToolDisplayUtils.d.ts +0 -30
  224. package/dist/shared/ToolDisplayUtils.d.ts.map +0 -1
  225. package/dist/shared/ToolDisplayUtils.js +0 -1163
  226. package/dist/shared/ToolDisplayUtils.js.map +0 -1
  227. package/dist/shared/ToolsTypes.d.ts +0 -18
  228. package/dist/shared/ToolsTypes.d.ts.map +0 -1
  229. package/dist/shared/ToolsTypes.js +0 -2
  230. package/dist/shared/ToolsTypes.js.map +0 -1
  231. package/dist/shared/types.d.ts +0 -1732
  232. package/dist/shared/types.d.ts.map +0 -1
  233. package/dist/shared/types.js +0 -17
  234. package/dist/shared/types.js.map +0 -1
  235. package/dist/test.d.ts +0 -3
  236. package/dist/test.d.ts.map +0 -1
  237. package/dist/test.js +0 -82
  238. package/dist/test.js.map +0 -1
  239. package/dist/triggerParseDetail.d.ts +0 -8
  240. package/dist/triggerParseDetail.d.ts.map +0 -1
  241. package/dist/triggerParseDetail.js +0 -30
  242. package/dist/triggerParseDetail.js.map +0 -1
  243. package/dist/util.d.ts +0 -3
  244. package/dist/util.d.ts.map +0 -1
  245. package/dist/util.js +0 -5
  246. package/dist/util.js.map +0 -1
  247. package/templates/typescript/codegen/.impeccable/hook.cache.json +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "terse-cli",
3
- "version": "0.3.8",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "repository": {
@@ -40,8 +40,8 @@
40
40
  "typescript": "^5.0.0",
41
41
  "workflow": "5.0.0-beta.19",
42
42
  "zod": "^4.3.6",
43
- "terse-types": "0.1.8",
44
- "terse-sdk": "0.3.8"
43
+ "terse-sdk": "0.4.0",
44
+ "terse-types": "0.4.0"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/luxon": "^3.7.1",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=_tmp_create_project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_tmp_create_project.d.ts","sourceRoot":"","sources":["../src/_tmp_create_project.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- import { readApiKeyOrBail } from "./api.js";
2
- import { createRemoteProject, writeProjectConfig } from "./projectConfig.js";
3
- async function main() {
4
- const name = process.argv[2];
5
- const dir = process.argv[3];
6
- const apiKey = readApiKeyOrBail();
7
- const config = await createRemoteProject(apiKey, name);
8
- writeProjectConfig(dir, config);
9
- console.log("CREATED " + JSON.stringify(config));
10
- }
11
- main()
12
- .then(() => process.exit(0))
13
- .catch((e) => {
14
- console.error("CAUGHT", e instanceof Error ? e.message : String(e));
15
- process.exit(1);
16
- });
17
- //# sourceMappingURL=_tmp_create_project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_tmp_create_project.js","sourceRoot":"","sources":["../src/_tmp_create_project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5E,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAW,CAAA;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAW,CAAA;IACrC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,IAAI,EAAE;KACD,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC3B,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACT,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=_tmp_delete_agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_tmp_delete_agent.d.ts","sourceRoot":"","sources":["../src/_tmp_delete_agent.ts"],"names":[],"mappings":""}
@@ -1,14 +0,0 @@
1
- import { fetchWithAuth, readApiKeyOrBail } from "./api.js";
2
- async function main() {
3
- const id = process.argv[2];
4
- const apiKey = readApiKeyOrBail();
5
- const resp = await fetchWithAuth(`/agents/${id}`, apiKey, {}, "DELETE");
6
- console.log("DELETED " + JSON.stringify(resp));
7
- }
8
- main()
9
- .then(() => process.exit(0))
10
- .catch((e) => {
11
- console.error("CAUGHT", e instanceof Error ? e.message : String(e));
12
- process.exit(1);
13
- });
14
- //# sourceMappingURL=_tmp_delete_agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_tmp_delete_agent.js","sourceRoot":"","sources":["../src/_tmp_delete_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE1D,KAAK,UAAU,IAAI;IACf,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAW,CAAA;IACpC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IACvE,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,IAAI,EAAE;KACD,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC3B,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACT,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=_tmp_manual_trigger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_tmp_manual_trigger.d.ts","sourceRoot":"","sources":["../src/_tmp_manual_trigger.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- import { ApiRoutes, buildRoute } from "terse-types";
2
- import { fetchWithAuth, readApiKeyOrBail } from "./api.js";
3
- async function main() {
4
- const inputId = process.argv[2];
5
- const context = process.argv[3];
6
- const apiKey = readApiKeyOrBail();
7
- const route = buildRoute(ApiRoutes.SCHEDULE.TRIGGER_BY_INPUT_ID, { inputId });
8
- const resp = await fetchWithAuth(route, apiKey, context ? { context } : {}, "POST");
9
- console.log("TRIGGERED " + JSON.stringify(resp));
10
- }
11
- main()
12
- .then(() => process.exit(0))
13
- .catch((e) => {
14
- console.error("CAUGHT", e instanceof Error ? e.message : String(e));
15
- process.exit(1);
16
- });
17
- //# sourceMappingURL=_tmp_manual_trigger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_tmp_manual_trigger.js","sourceRoot":"","sources":["../src/_tmp_manual_trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE1D,KAAK,UAAU,IAAI;IACf,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAW,CAAA;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IAC7E,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACnF,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,IAAI,EAAE;KACD,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC3B,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACT,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=_tmp_patch_active.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_tmp_patch_active.d.ts","sourceRoot":"","sources":["../src/_tmp_patch_active.ts"],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- import { readApiKeyOrBail } from "./api.js";
2
- import { BACKEND_URL } from "./config.js";
3
- async function main() {
4
- const id = process.argv[2];
5
- const active = process.argv[3] === "true";
6
- const apiKey = readApiKeyOrBail();
7
- const res = await fetch(`${BACKEND_URL}/agents/${id}`, {
8
- method: "PATCH",
9
- headers: { Authorization: `Bearer ${apiKey}`, "Content-Type": "application/json" },
10
- body: JSON.stringify({ isActive: active })
11
- });
12
- const text = await res.text();
13
- console.log("PATCH " + res.status + " active=" + active + " " + text.slice(0, 160));
14
- }
15
- main()
16
- .then(() => process.exit(0))
17
- .catch((e) => {
18
- console.error("CAUGHT", e instanceof Error ? e.message : String(e));
19
- process.exit(1);
20
- });
21
- //# sourceMappingURL=_tmp_patch_active.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_tmp_patch_active.js","sourceRoot":"","sources":["../src/_tmp_patch_active.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,KAAK,UAAU,IAAI;IACf,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAW,CAAA;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;IACzC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,WAAW,EAAE,EAAE,EAAE;QACnD,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAClF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;KAC7C,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AACvF,CAAC;AAED,IAAI,EAAE;KACD,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC3B,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACT,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
package/dist/attach.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import type { LanguageProvider } from "./providers/LanguageProvider.js";
2
- export declare function attach(provider?: LanguageProvider): Promise<void>;
3
- //# sourceMappingURL=attach.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../src/attach.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAGvE,wBAAsB,MAAM,CAAC,QAAQ,GAAE,gBAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD1F"}
package/dist/attach.js DELETED
@@ -1,61 +0,0 @@
1
- import chalk from "chalk";
2
- import fs from "node:fs";
3
- import path from "node:path";
4
- import ora from "ora";
5
- import { getExistingAuthenticatedUserName, login } from "./auth.js";
6
- import { generate } from "./generate.js";
7
- import { listAndPromptIntegrations } from "./integrate.js";
8
- import { resolveProvider } from "./providers/resolveProvider.js";
9
- export async function attach(provider = resolveProvider()) {
10
- const cwd = process.cwd();
11
- const projectName = path.basename(cwd);
12
- const existingUserName = await getExistingAuthenticatedUserName(cwd);
13
- if (existingUserName) {
14
- console.log(`\n ${chalk.green.bold("Already set up")} for ${chalk.bold(existingUserName)}.\n`);
15
- console.log(chalk.dim(" This project already has a valid TERSE_API_KEY, so attach does not need to run again.\n"));
16
- console.log(" Next steps:\n");
17
- console.log(` 1. Run ${chalk.cyan("terse integrate")} to connect or review integrations`);
18
- console.log(` 2. Run ${chalk.cyan("terse generate")} to refresh generated helpers`);
19
- console.log(` 3. Run ${chalk.cyan("terse deploy")} when you're ready to sync jobs`);
20
- console.log("");
21
- return;
22
- }
23
- console.log(`\n Attaching Terse to existing project ${chalk.bold(projectName)}\n`);
24
- console.log(chalk.dim(" Your jobs will run on your own infrastructure via TERSE_REMOTE_SERVER_URL. No source code is uploaded to Terse.\n"));
25
- const result = await login();
26
- if (result?.apiKey) {
27
- console.log(`\n Add this to your ${chalk.bold(".env")} file:\n`);
28
- console.log(`TERSE_API_KEY=${result.apiKey}`);
29
- console.log("");
30
- }
31
- else {
32
- console.log(chalk.dim(" You can run `terse login` later to authenticate."));
33
- }
34
- await listAndPromptIntegrations();
35
- if (canGenerateFromCurrentDirectory(provider, cwd)) {
36
- const spinner = ora("Generating code").start();
37
- try {
38
- await generate(provider);
39
- spinner.succeed("Generated code");
40
- }
41
- catch {
42
- spinner.warn(`Failed to generate code. Run ${chalk.cyan("terse generate")} manually.`);
43
- }
44
- }
45
- else {
46
- console.log(chalk.yellow(`\n Skipped code generation because this repo is missing ${provider.detectionMarkers.requiredFiles.join(", ")}.`));
47
- console.log(chalk.dim(` Add your job entrypoint at ${provider.entryFile}, then run ${chalk.cyan("terse generate")} manually.\n`));
48
- }
49
- console.log(`\n ${chalk.green.bold("Done!")} Terse is attached to your existing project.\n`);
50
- console.log(" Next steps:\n");
51
- console.log(` 1. Install ${chalk.cyan("terse-sdk")} in this repo if you haven't already`);
52
- console.log(` 2. Add your Terse job definitions to ${chalk.cyan(provider.entryFile)} and import that file from your app startup path`);
53
- console.log(chalk.dim(` If your self-hosted app keeps jobs in another file, use ${chalk.cyan("--entry-file")} with terse test, terse run, and terse deploy.`));
54
- console.log(` 3. Set ${chalk.cyan("TERSE_REMOTE_SERVER_URL")} in ${chalk.cyan(".env")} before running ${chalk.cyan("terse deploy")}`);
55
- console.log(` 4. Run ${chalk.cyan("terse integrate")} to connect integrations`);
56
- console.log("");
57
- }
58
- function canGenerateFromCurrentDirectory(provider, cwd) {
59
- return provider.detectionMarkers.requiredFiles.every(relativePath => fs.existsSync(path.join(cwd, relativePath)));
60
- }
61
- //# sourceMappingURL=attach.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attach.js","sourceRoot":"","sources":["../src/attach.ts"],"names":[],"mappings":"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"}
package/dist/auth.d.ts DELETED
@@ -1,15 +0,0 @@
1
- /**
2
- * Run the full device authorization login flow.
3
- * Returns the API key on success, or null if the user cancels.
4
- */
5
- export declare function login(): Promise<{
6
- apiKey: string;
7
- displayName: string | null;
8
- } | null>;
9
- /**
10
- * Run login and write the API key to .env in the given directory.
11
- * If a valid key already exists, prompts the user to confirm before re-authenticating.
12
- */
13
- export declare function loginAndWriteEnv(targetDir: string): Promise<boolean>;
14
- export declare function getExistingAuthenticatedUserName(targetDir?: string): Promise<string | null>;
15
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAqHA;;;GAGG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CA0C5F;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiC1E;AAED,wBAAsB,gCAAgC,CAAC,SAAS,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYhH"}
package/dist/auth.js DELETED
@@ -1,169 +0,0 @@
1
- import { confirm } from "@inquirer/prompts";
2
- import chalk from "chalk";
3
- import { exec } from "node:child_process";
4
- import fs from "node:fs";
5
- import path from "node:path";
6
- import process from "node:process";
7
- import ora from "ora";
8
- import { fetchWithAuth, readApiKeyFromDir } from "./api.js";
9
- import { BACKEND_URL, WORKOS_CLIENT_ID } from "./config.js";
10
- const DEVICE_AUTH_URL = "https://api.workos.com/user_management/authorize/device";
11
- const TOKEN_URL = "https://api.workos.com/user_management/authenticate";
12
- const DEVICE_CODE_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:device_code";
13
- function sleep(ms) {
14
- return new Promise(resolve => setTimeout(resolve, ms));
15
- }
16
- function openInBrowser(url) {
17
- const platform = process.platform;
18
- const cmd = platform === "darwin" ? "open" : platform === "win32" ? "start" : "xdg-open";
19
- exec(`${cmd} "${url}"`);
20
- }
21
- async function requestDeviceCode() {
22
- const res = await fetch(DEVICE_AUTH_URL, {
23
- method: "POST",
24
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
25
- body: new URLSearchParams({ client_id: WORKOS_CLIENT_ID })
26
- });
27
- if (!res.ok) {
28
- const body = await res.text();
29
- throw new Error(`Failed to request device code: ${res.status} ${body}`);
30
- }
31
- return res.json();
32
- }
33
- async function pollForTokens(deviceCode, expiresIn, interval) {
34
- const deadline = Date.now() + expiresIn * 1000;
35
- let pollInterval = interval;
36
- while (Date.now() < deadline) {
37
- await sleep(pollInterval * 1000);
38
- const res = await fetch(TOKEN_URL, {
39
- method: "POST",
40
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
41
- body: new URLSearchParams({
42
- grant_type: DEVICE_CODE_GRANT_TYPE,
43
- device_code: deviceCode,
44
- client_id: WORKOS_CLIENT_ID
45
- })
46
- });
47
- if (res.ok) {
48
- return res.json();
49
- }
50
- const data = (await res.json());
51
- switch (data.error) {
52
- case "authorization_pending":
53
- break;
54
- case "slow_down":
55
- pollInterval += 1;
56
- break;
57
- case "access_denied":
58
- throw new Error("Authorization was denied");
59
- case "expired_token":
60
- throw new Error("Authorization expired — please try again");
61
- default:
62
- throw new Error(`Authorization failed: ${data.error}`);
63
- }
64
- }
65
- throw new Error("Authorization timed out — please try again");
66
- }
67
- async function exchangeForApiKey(accessToken) {
68
- const res = await fetch(`${BACKEND_URL}/sdk/auth/device-token-exchange`, {
69
- method: "POST",
70
- headers: { "Content-Type": "application/json" },
71
- body: JSON.stringify({ accessToken })
72
- });
73
- if (!res.ok) {
74
- const body = (await res.json().catch(() => ({})));
75
- throw new Error(`${res.status} — ${body.error || "Failed to exchange token"}`);
76
- }
77
- return res.json();
78
- }
79
- /**
80
- * Run the full device authorization login flow.
81
- * Returns the API key on success, or null if the user cancels.
82
- */
83
- export async function login() {
84
- const spinner = ora("Requesting login code").start();
85
- let deviceData;
86
- try {
87
- deviceData = await requestDeviceCode();
88
- spinner.stop();
89
- }
90
- catch (err) {
91
- spinner.fail("Failed to start login flow");
92
- console.error(chalk.red(` ${err.message}`));
93
- return null;
94
- }
95
- console.log(`\n ${chalk.bold("To sign in, open this URL in your browser:")}\n`);
96
- console.log(` ${chalk.cyan(deviceData.verification_uri_complete)}\n`);
97
- console.log(` Or visit ${chalk.cyan(deviceData.verification_uri)} and enter code: ${chalk.bold(deviceData.user_code)}\n`);
98
- openInBrowser(deviceData.verification_uri_complete);
99
- const pollSpinner = ora("Waiting for authentication in browser").start();
100
- let tokenData;
101
- try {
102
- tokenData = await pollForTokens(deviceData.device_code, deviceData.expires_in, deviceData.interval);
103
- pollSpinner.text = "Exchanging token";
104
- }
105
- catch (err) {
106
- pollSpinner.fail("Login failed");
107
- console.error(chalk.red(` ${err.message}`));
108
- return null;
109
- }
110
- let exchangeData;
111
- try {
112
- exchangeData = await exchangeForApiKey(tokenData.access_token);
113
- pollSpinner.succeed(`Logged in as ${chalk.bold(exchangeData.user.displayName || exchangeData.user.email)}`);
114
- }
115
- catch (err) {
116
- pollSpinner.fail("Failed to create API key");
117
- console.error(chalk.red(` ${err.message}`));
118
- return null;
119
- }
120
- return { apiKey: exchangeData.apiKey, displayName: exchangeData.user.displayName };
121
- }
122
- /**
123
- * Run login and write the API key to .env in the given directory.
124
- * If a valid key already exists, prompts the user to confirm before re-authenticating.
125
- */
126
- export async function loginAndWriteEnv(targetDir) {
127
- const existingUserName = await getExistingAuthenticatedUserName(targetDir);
128
- if (existingUserName) {
129
- const spinner = ora("Checking existing API key").start();
130
- spinner.succeed(`Already logged in as ${chalk.bold(existingUserName)}`);
131
- const shouldContinue = await confirm({ message: "Log in again with a different account?", default: false });
132
- if (!shouldContinue)
133
- return true;
134
- }
135
- if (readApiKeyFromDir(targetDir)) {
136
- const spinner = ora("Checking existing API key").start();
137
- spinner.warn("Existing API key is invalid or expired");
138
- }
139
- const result = await login();
140
- if (!result?.apiKey) {
141
- console.log(chalk.dim(" You can run `terse login` later to authenticate."));
142
- return false;
143
- }
144
- const apiKey = result.apiKey;
145
- const envPath = path.resolve(targetDir, ".env");
146
- const envContent = fs.existsSync(envPath) ? fs.readFileSync(envPath, "utf-8") : "";
147
- if (envContent.includes("TERSE_API_KEY=")) {
148
- const updated = envContent.replace(/^TERSE_API_KEY=.*$/m, `TERSE_API_KEY=${apiKey}`);
149
- fs.writeFileSync(envPath, updated);
150
- }
151
- else {
152
- fs.writeFileSync(envPath, envContent ? `${envContent.trimEnd()}\nTERSE_API_KEY=${apiKey}\n` : `TERSE_API_KEY=${apiKey}\n`);
153
- }
154
- return true;
155
- }
156
- export async function getExistingAuthenticatedUserName(targetDir = process.cwd()) {
157
- const existingKey = readApiKeyFromDir(targetDir);
158
- if (!existingKey) {
159
- return null;
160
- }
161
- try {
162
- const me = await fetchWithAuth("/sdk/me", existingKey);
163
- return me.displayName || me.firstName || me.email || "Unknown user";
164
- }
165
- catch {
166
- return null;
167
- }
168
- }
169
- //# sourceMappingURL=auth.js.map
package/dist/auth.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/codegen.d.ts DELETED
@@ -1,135 +0,0 @@
1
- /**
2
- * Pure codegen function: integration data → TypeScript source text.
3
- * No I/O — all side effects live in generate.ts.
4
- */
5
- import type { GithubIntegration } from "./shared/Integrations.js";
6
- export interface GitHubRepo {
7
- id: number;
8
- name: string;
9
- owner: string;
10
- fullName?: string;
11
- }
12
- export interface GitHubInstanceData {
13
- integration: GithubIntegration;
14
- repositories: GitHubRepo[];
15
- }
16
- export interface IntegrationInstanceData {
17
- id: string;
18
- displayName: string;
19
- }
20
- export interface SlackChannelData {
21
- id: string;
22
- name: string;
23
- }
24
- export interface LinearTeamData {
25
- id: string;
26
- name: string;
27
- key: string;
28
- }
29
- export interface NotionResourceData {
30
- id: string;
31
- title: string;
32
- type: string;
33
- }
34
- export interface JiraProjectData {
35
- id: string;
36
- key: string;
37
- name: string;
38
- }
39
- export interface ConfluencePageData {
40
- id: string;
41
- title: string;
42
- spaceId: string;
43
- spaceName: string;
44
- }
45
- export interface PosthogProjectData {
46
- id: string;
47
- name: string;
48
- }
49
- export interface DatadogIndexData {
50
- name: string;
51
- }
52
- export interface LaunchDarklyProjectData {
53
- key: string;
54
- name: string;
55
- }
56
- export interface SnowflakeInstanceData {
57
- id: string;
58
- name: string;
59
- }
60
- export interface AttioAttributeData {
61
- api_slug?: string;
62
- title?: string;
63
- type?: string;
64
- is_required?: boolean;
65
- is_unique?: boolean;
66
- }
67
- export interface AttioObjectData {
68
- api_slug: string;
69
- singular_noun: string;
70
- plural_noun?: string;
71
- attributes?: AttioAttributeData[];
72
- }
73
- export interface SlackInstanceData extends IntegrationInstanceData {
74
- channels: SlackChannelData[];
75
- }
76
- export interface LinearInstanceData extends IntegrationInstanceData {
77
- teams: LinearTeamData[];
78
- }
79
- export interface NotionInstanceData extends IntegrationInstanceData {
80
- databases: NotionResourceData[];
81
- pages: NotionResourceData[];
82
- }
83
- export interface AtlassianInstanceData extends IntegrationInstanceData {
84
- jiraProjects: JiraProjectData[];
85
- confluencePages: ConfluencePageData[];
86
- }
87
- export interface PosthogInstanceData extends IntegrationInstanceData {
88
- projects: PosthogProjectData[];
89
- }
90
- export interface DatadogInstanceData extends IntegrationInstanceData {
91
- indexes: DatadogIndexData[];
92
- }
93
- export interface LaunchDarklyInstanceData extends IntegrationInstanceData {
94
- projects: LaunchDarklyProjectData[];
95
- }
96
- export interface AttioInstanceData extends IntegrationInstanceData {
97
- objects: AttioObjectData[];
98
- }
99
- export interface ToolDefinition {
100
- name: string;
101
- displayName: string;
102
- description: string;
103
- integration: string;
104
- isReadOnly: boolean;
105
- supportsApproval: boolean;
106
- parameters: JsonSchema;
107
- }
108
- export interface JsonSchema {
109
- type?: string;
110
- properties?: Record<string, JsonSchema>;
111
- required?: string[];
112
- items?: JsonSchema;
113
- enum?: (string | number | boolean)[];
114
- anyOf?: JsonSchema[];
115
- description?: string;
116
- [key: string]: unknown;
117
- }
118
- export interface CodegenInput {
119
- github: GitHubInstanceData[];
120
- slack: SlackInstanceData[];
121
- gmail: IntegrationInstanceData[];
122
- figma: IntegrationInstanceData[];
123
- linear: LinearInstanceData[];
124
- atlassian: AtlassianInstanceData[];
125
- notion: NotionInstanceData[];
126
- posthog: PosthogInstanceData[];
127
- datadog: DatadogInstanceData[];
128
- launchdarkly: LaunchDarklyInstanceData[];
129
- workos: IntegrationInstanceData[];
130
- attio: AttioInstanceData[];
131
- snowflake: SnowflakeInstanceData[];
132
- tools: ToolDefinition[];
133
- }
134
- export declare function generateCode(input: CodegenInput): string;
135
- //# sourceMappingURL=codegen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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"}