terse-cli 0.3.8 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/cliUi.js +1 -1
  2. package/dist/cliUi.js.map +1 -1
  3. package/dist/commands/deploy.d.ts.map +1 -1
  4. package/dist/commands/deploy.js +138 -22
  5. package/dist/commands/deploy.js.map +1 -1
  6. package/dist/providers/typescript/TypeScriptProvider.js +2 -2
  7. package/dist/providers/typescript/TypeScriptProvider.js.map +1 -1
  8. package/dist/providers/typescript/durableRuntime.d.ts +1 -1
  9. package/dist/providers/typescript/durableRuntime.d.ts.map +1 -1
  10. package/dist/providers/typescript/durableRuntime.js +7 -6
  11. package/dist/providers/typescript/durableRuntime.js.map +1 -1
  12. package/dist/providers/typescript/workflowShim.d.ts +2 -0
  13. package/dist/providers/typescript/workflowShim.d.ts.map +1 -0
  14. package/dist/providers/typescript/workflowShim.js +51 -0
  15. package/dist/providers/typescript/workflowShim.js.map +1 -0
  16. package/package.json +5 -5
  17. package/templates/typescript/init/package.json.hbs +1 -1
  18. package/templates/typescript/workflow-shim/api.js +5 -0
  19. package/templates/typescript/workflow-shim/index.js +2 -0
  20. package/templates/typescript/workflow-shim/internal/builtins.js +83 -0
  21. package/templates/typescript/workflow-shim/internal/class-serialization.js +1 -0
  22. package/templates/typescript/workflow-shim/runtime.js +1 -0
  23. package/templates/typescript/workflow-shim/stdlib.js +18 -0
  24. package/templates/typescript/workflow-shim/workflow.js +2 -0
  25. package/dist/_tmp_create_project.d.ts +0 -2
  26. package/dist/_tmp_create_project.d.ts.map +0 -1
  27. package/dist/_tmp_create_project.js +0 -17
  28. package/dist/_tmp_create_project.js.map +0 -1
  29. package/dist/_tmp_delete_agent.d.ts +0 -2
  30. package/dist/_tmp_delete_agent.d.ts.map +0 -1
  31. package/dist/_tmp_delete_agent.js +0 -14
  32. package/dist/_tmp_delete_agent.js.map +0 -1
  33. package/dist/_tmp_manual_trigger.d.ts +0 -2
  34. package/dist/_tmp_manual_trigger.d.ts.map +0 -1
  35. package/dist/_tmp_manual_trigger.js +0 -17
  36. package/dist/_tmp_manual_trigger.js.map +0 -1
  37. package/dist/_tmp_patch_active.d.ts +0 -2
  38. package/dist/_tmp_patch_active.d.ts.map +0 -1
  39. package/dist/_tmp_patch_active.js +0 -21
  40. package/dist/_tmp_patch_active.js.map +0 -1
  41. package/dist/attach.d.ts +0 -3
  42. package/dist/attach.d.ts.map +0 -1
  43. package/dist/attach.js +0 -61
  44. package/dist/attach.js.map +0 -1
  45. package/dist/auth.d.ts +0 -15
  46. package/dist/auth.d.ts.map +0 -1
  47. package/dist/auth.js +0 -169
  48. package/dist/auth.js.map +0 -1
  49. package/dist/codegen.d.ts +0 -135
  50. package/dist/codegen.d.ts.map +0 -1
  51. package/dist/codegen.js +0 -1196
  52. package/dist/codegen.js.map +0 -1
  53. package/dist/commands/deployTheme.d.ts +0 -28
  54. package/dist/commands/deployTheme.d.ts.map +0 -1
  55. package/dist/commands/deployTheme.js +0 -68
  56. package/dist/commands/deployTheme.js.map +0 -1
  57. package/dist/commands/dev.d.ts +0 -3
  58. package/dist/commands/dev.d.ts.map +0 -1
  59. package/dist/commands/dev.js +0 -47
  60. package/dist/commands/dev.js.map +0 -1
  61. package/dist/commands/fsExec.d.ts +0 -8
  62. package/dist/commands/fsExec.d.ts.map +0 -1
  63. package/dist/commands/fsExec.js +0 -46
  64. package/dist/commands/fsExec.js.map +0 -1
  65. package/dist/commands/metaAdsScope.d.ts +0 -12
  66. package/dist/commands/metaAdsScope.d.ts.map +0 -1
  67. package/dist/commands/metaAdsScope.js +0 -120
  68. package/dist/commands/metaAdsScope.js.map +0 -1
  69. package/dist/commands/serve.d.ts +0 -1
  70. package/dist/commands/serve.d.ts.map +0 -1
  71. package/dist/commands/serve.js +0 -2
  72. package/dist/commands/serve.js.map +0 -1
  73. package/dist/commands/terseCliTheme.d.ts +0 -28
  74. package/dist/commands/terseCliTheme.d.ts.map +0 -1
  75. package/dist/commands/terseCliTheme.js +0 -68
  76. package/dist/commands/terseCliTheme.js.map +0 -1
  77. package/dist/commands/tool.d.ts +0 -6
  78. package/dist/commands/tool.d.ts.map +0 -1
  79. package/dist/commands/tool.js +0 -34
  80. package/dist/commands/tool.js.map +0 -1
  81. package/dist/data/standardSlackEmoji.d.ts +0 -2
  82. package/dist/data/standardSlackEmoji.d.ts.map +0 -1
  83. package/dist/data/standardSlackEmoji.js +0 -1978
  84. package/dist/data/standardSlackEmoji.js.map +0 -1
  85. package/dist/data/standardSlackEmoji.json +0 -1974
  86. package/dist/deploy.d.ts +0 -3
  87. package/dist/deploy.d.ts.map +0 -1
  88. package/dist/deploy.js +0 -124
  89. package/dist/deploy.js.map +0 -1
  90. package/dist/generate.d.ts +0 -3
  91. package/dist/generate.d.ts.map +0 -1
  92. package/dist/generate.js +0 -282
  93. package/dist/generate.js.map +0 -1
  94. package/dist/init.d.ts +0 -3
  95. package/dist/init.d.ts.map +0 -1
  96. package/dist/init.js +0 -98
  97. package/dist/init.js.map +0 -1
  98. package/dist/integrate.d.ts +0 -3
  99. package/dist/integrate.d.ts.map +0 -1
  100. package/dist/integrate.js +0 -214
  101. package/dist/integrate.js.map +0 -1
  102. package/dist/nonInteractive.d.ts +0 -20
  103. package/dist/nonInteractive.d.ts.map +0 -1
  104. package/dist/nonInteractive.js +0 -60
  105. package/dist/nonInteractive.js.map +0 -1
  106. package/dist/perf.d.ts +0 -9
  107. package/dist/perf.d.ts.map +0 -1
  108. package/dist/perf.js +0 -59
  109. package/dist/perf.js.map +0 -1
  110. package/dist/providers/codegen.test.d.ts +0 -2
  111. package/dist/providers/codegen.test.d.ts.map +0 -1
  112. package/dist/providers/codegen.test.js +0 -45
  113. package/dist/providers/codegen.test.js.map +0 -1
  114. package/dist/providers/python/PythonProvider.d.ts +0 -51
  115. package/dist/providers/python/PythonProvider.d.ts.map +0 -1
  116. package/dist/providers/python/PythonProvider.js +0 -414
  117. package/dist/providers/python/PythonProvider.js.map +0 -1
  118. package/dist/providers/python/PythonProvider.test.d.ts +0 -2
  119. package/dist/providers/python/PythonProvider.test.d.ts.map +0 -1
  120. package/dist/providers/python/PythonProvider.test.js +0 -169
  121. package/dist/providers/python/PythonProvider.test.js.map +0 -1
  122. package/dist/providers/python/preparePythonCodegenData.d.ts +0 -139
  123. package/dist/providers/python/preparePythonCodegenData.d.ts.map +0 -1
  124. package/dist/providers/python/preparePythonCodegenData.js +0 -452
  125. package/dist/providers/python/preparePythonCodegenData.js.map +0 -1
  126. package/dist/providers/python/pythonTemplateEngine.d.ts +0 -3
  127. package/dist/providers/python/pythonTemplateEngine.d.ts.map +0 -1
  128. package/dist/providers/python/pythonTemplateEngine.js +0 -30
  129. package/dist/providers/python/pythonTemplateEngine.js.map +0 -1
  130. package/dist/providers/shared/shellUtils.d.ts +0 -2
  131. package/dist/providers/shared/shellUtils.d.ts.map +0 -1
  132. package/dist/providers/shared/shellUtils.js +0 -25
  133. package/dist/providers/shared/shellUtils.js.map +0 -1
  134. package/dist/providers/typescript/attioProjection.d.ts +0 -50
  135. package/dist/providers/typescript/attioProjection.d.ts.map +0 -1
  136. package/dist/providers/typescript/attioProjection.js +0 -358
  137. package/dist/providers/typescript/attioProjection.js.map +0 -1
  138. package/dist/providers/typescript/modules/cursor/CursorModule.d.ts +0 -20
  139. package/dist/providers/typescript/modules/cursor/CursorModule.d.ts.map +0 -1
  140. package/dist/providers/typescript/modules/cursor/CursorModule.js +0 -27
  141. package/dist/providers/typescript/modules/cursor/CursorModule.js.map +0 -1
  142. package/dist/providers/typescript/prepareCodegenData.d.ts +0 -166
  143. package/dist/providers/typescript/prepareCodegenData.d.ts.map +0 -1
  144. package/dist/providers/typescript/prepareCodegenData.js +0 -1431
  145. package/dist/providers/typescript/prepareCodegenData.js.map +0 -1
  146. package/dist/providers/typescript/prepareCodegenData.test.d.ts +0 -2
  147. package/dist/providers/typescript/prepareCodegenData.test.d.ts.map +0 -1
  148. package/dist/providers/typescript/prepareCodegenData.test.js +0 -54
  149. package/dist/providers/typescript/prepareCodegenData.test.js.map +0 -1
  150. package/dist/providers/typescript/projectedTypes.d.ts +0 -11
  151. package/dist/providers/typescript/projectedTypes.d.ts.map +0 -1
  152. package/dist/providers/typescript/projectedTypes.js +0 -53
  153. package/dist/providers/typescript/projectedTypes.js.map +0 -1
  154. package/dist/providers/typescript/projectionPrinter.d.ts +0 -26
  155. package/dist/providers/typescript/projectionPrinter.d.ts.map +0 -1
  156. package/dist/providers/typescript/projectionPrinter.js +0 -110
  157. package/dist/providers/typescript/projectionPrinter.js.map +0 -1
  158. package/dist/providers/typescript/replayLogDedupe.d.ts +0 -6
  159. package/dist/providers/typescript/replayLogDedupe.d.ts.map +0 -1
  160. package/dist/providers/typescript/replayLogDedupe.js +0 -156
  161. package/dist/providers/typescript/replayLogDedupe.js.map +0 -1
  162. package/dist/providers/typescript/triggerPayloads.d.ts +0 -7
  163. package/dist/providers/typescript/triggerPayloads.d.ts.map +0 -1
  164. package/dist/providers/typescript/triggerPayloads.js +0 -60
  165. package/dist/providers/typescript/triggerPayloads.js.map +0 -1
  166. package/dist/providers/typescript/triggerTypeRegistry.d.ts +0 -7
  167. package/dist/providers/typescript/triggerTypeRegistry.d.ts.map +0 -1
  168. package/dist/providers/typescript/triggerTypeRegistry.js +0 -198
  169. package/dist/providers/typescript/triggerTypeRegistry.js.map +0 -1
  170. package/dist/run.d.ts +0 -3
  171. package/dist/run.d.ts.map +0 -1
  172. package/dist/run.js +0 -72
  173. package/dist/run.js.map +0 -1
  174. package/dist/sampleEventCache.d.ts +0 -9
  175. package/dist/sampleEventCache.d.ts.map +0 -1
  176. package/dist/sampleEventCache.js +0 -47
  177. package/dist/sampleEventCache.js.map +0 -1
  178. package/dist/sampleEventId.d.ts +0 -9
  179. package/dist/sampleEventId.d.ts.map +0 -1
  180. package/dist/sampleEventId.js +0 -16
  181. package/dist/sampleEventId.js.map +0 -1
  182. package/dist/shared/ApiRoutes.d.ts +0 -348
  183. package/dist/shared/ApiRoutes.d.ts.map +0 -1
  184. package/dist/shared/ApiRoutes.js +0 -325
  185. package/dist/shared/ApiRoutes.js.map +0 -1
  186. package/dist/shared/ApprovalTypes.d.ts +0 -29
  187. package/dist/shared/ApprovalTypes.d.ts.map +0 -1
  188. package/dist/shared/ApprovalTypes.js +0 -8
  189. package/dist/shared/ApprovalTypes.js.map +0 -1
  190. package/dist/shared/ClientBoundTools.d.ts +0 -37
  191. package/dist/shared/ClientBoundTools.d.ts.map +0 -1
  192. package/dist/shared/ClientBoundTools.js +0 -37
  193. package/dist/shared/ClientBoundTools.js.map +0 -1
  194. package/dist/shared/Configs.d.ts +0 -488
  195. package/dist/shared/Configs.d.ts.map +0 -1
  196. package/dist/shared/Configs.js +0 -785
  197. package/dist/shared/Configs.js.map +0 -1
  198. package/dist/shared/DonatedState.d.ts +0 -5
  199. package/dist/shared/DonatedState.d.ts.map +0 -1
  200. package/dist/shared/DonatedState.js +0 -13
  201. package/dist/shared/DonatedState.js.map +0 -1
  202. package/dist/shared/Entities.d.ts +0 -8
  203. package/dist/shared/Entities.d.ts.map +0 -1
  204. package/dist/shared/Entities.js +0 -9
  205. package/dist/shared/Entities.js.map +0 -1
  206. package/dist/shared/FrontendRoutes.d.ts +0 -54
  207. package/dist/shared/FrontendRoutes.d.ts.map +0 -1
  208. package/dist/shared/FrontendRoutes.js +0 -54
  209. package/dist/shared/FrontendRoutes.js.map +0 -1
  210. package/dist/shared/Integrations.d.ts +0 -235
  211. package/dist/shared/Integrations.d.ts.map +0 -1
  212. package/dist/shared/Integrations.js +0 -143
  213. package/dist/shared/Integrations.js.map +0 -1
  214. package/dist/shared/InvalidationKeys.d.ts +0 -53
  215. package/dist/shared/InvalidationKeys.d.ts.map +0 -1
  216. package/dist/shared/InvalidationKeys.js +0 -166
  217. package/dist/shared/InvalidationKeys.js.map +0 -1
  218. package/dist/shared/ModelEvents.d.ts +0 -176
  219. package/dist/shared/ModelEvents.d.ts.map +0 -1
  220. package/dist/shared/ModelEvents.js +0 -29
  221. package/dist/shared/ModelEvents.js.map +0 -1
  222. package/dist/shared/Notifications.d.ts +0 -43
  223. package/dist/shared/Notifications.d.ts.map +0 -1
  224. package/dist/shared/Notifications.js +0 -6
  225. package/dist/shared/Notifications.js.map +0 -1
  226. package/dist/shared/RunHistoryTypes.d.ts +0 -95
  227. package/dist/shared/RunHistoryTypes.d.ts.map +0 -1
  228. package/dist/shared/RunHistoryTypes.js +0 -11
  229. package/dist/shared/RunHistoryTypes.js.map +0 -1
  230. package/dist/shared/SentNotifications.d.ts +0 -30
  231. package/dist/shared/SentNotifications.d.ts.map +0 -1
  232. package/dist/shared/SentNotifications.js +0 -13
  233. package/dist/shared/SentNotifications.js.map +0 -1
  234. package/dist/shared/SocketEvents.d.ts +0 -49
  235. package/dist/shared/SocketEvents.d.ts.map +0 -1
  236. package/dist/shared/SocketEvents.js +0 -53
  237. package/dist/shared/SocketEvents.js.map +0 -1
  238. package/dist/shared/Survey.d.ts +0 -10
  239. package/dist/shared/Survey.d.ts.map +0 -1
  240. package/dist/shared/Survey.js +0 -2
  241. package/dist/shared/Survey.js.map +0 -1
  242. package/dist/shared/TicketSystem.d.ts +0 -154
  243. package/dist/shared/TicketSystem.d.ts.map +0 -1
  244. package/dist/shared/TicketSystem.js +0 -21
  245. package/dist/shared/TicketSystem.js.map +0 -1
  246. package/dist/shared/ToolDisplayUtils.d.ts +0 -30
  247. package/dist/shared/ToolDisplayUtils.d.ts.map +0 -1
  248. package/dist/shared/ToolDisplayUtils.js +0 -1163
  249. package/dist/shared/ToolDisplayUtils.js.map +0 -1
  250. package/dist/shared/ToolsTypes.d.ts +0 -18
  251. package/dist/shared/ToolsTypes.d.ts.map +0 -1
  252. package/dist/shared/ToolsTypes.js +0 -2
  253. package/dist/shared/ToolsTypes.js.map +0 -1
  254. package/dist/shared/types.d.ts +0 -1732
  255. package/dist/shared/types.d.ts.map +0 -1
  256. package/dist/shared/types.js +0 -17
  257. package/dist/shared/types.js.map +0 -1
  258. package/dist/test.d.ts +0 -3
  259. package/dist/test.d.ts.map +0 -1
  260. package/dist/test.js +0 -82
  261. package/dist/test.js.map +0 -1
  262. package/dist/triggerParseDetail.d.ts +0 -8
  263. package/dist/triggerParseDetail.d.ts.map +0 -1
  264. package/dist/triggerParseDetail.js +0 -30
  265. package/dist/triggerParseDetail.js.map +0 -1
  266. package/dist/util.d.ts +0 -3
  267. package/dist/util.d.ts.map +0 -1
  268. package/dist/util.js +0 -5
  269. package/dist/util.js.map +0 -1
  270. package/templates/typescript/codegen/.impeccable/hook.cache.json +0 -1
package/dist/integrate.js DELETED
@@ -1,214 +0,0 @@
1
- import { confirm, input, password, select } from "@inquirer/prompts";
2
- import chalk from "chalk";
3
- import { spawn } from "node:child_process";
4
- import ora from "ora";
5
- import { INTEGRATION_METADATA, IntegrationType } from "terse-types";
6
- import { readApiKey, readApiKeyOrBail } from "./api.js";
7
- import { generate } from "./generate.js";
8
- import { fetchInstallationUrl, fetchIntegrationFields, fetchIntegrations, pollForConnection, submitIntegrationForm } from "./integrationApi.js";
9
- export async function integrate() {
10
- const apiKey = readApiKeyOrBail();
11
- let didChangeAnyIntegration = false;
12
- let continueLoop = true;
13
- while (continueLoop) {
14
- const result = await connectOneIntegration(apiKey);
15
- didChangeAnyIntegration = didChangeAnyIntegration || result.status !== "unchanged";
16
- console.log("");
17
- continueLoop = await confirm({ message: "Connect another integration?", default: false });
18
- }
19
- if (didChangeAnyIntegration) {
20
- await generate();
21
- }
22
- }
23
- export async function listAndPromptIntegrations() {
24
- const apiKey = readApiKey();
25
- if (!apiKey)
26
- return;
27
- let integrations;
28
- try {
29
- integrations = await fetchIntegrations(apiKey);
30
- }
31
- catch {
32
- console.error(chalk.red("Failed to fetch integrations"));
33
- return;
34
- }
35
- const active = integrations.filter(i => i.isActive && i.integrationType !== IntegrationType.TERSE && i.integrationType !== IntegrationType.CRON_JOB);
36
- if (active.length > 0) {
37
- console.log("\n Connected integrations:\n");
38
- for (const i of active) {
39
- const meta = INTEGRATION_METADATA[i.integrationType];
40
- console.log(` ${chalk.green("✓")} ${meta?.name || i.integrationType}`);
41
- }
42
- console.log("");
43
- const addMore = await confirm({ message: "Connect another integration?", default: false });
44
- if (addMore)
45
- await integrate();
46
- }
47
- else {
48
- console.log(chalk.dim("\n No integrated tools yet.\n"));
49
- await integrate();
50
- }
51
- }
52
- async function connectOneIntegration(apiKey) {
53
- const spinner = ora("Fetching integrations").start();
54
- let integrations;
55
- try {
56
- integrations = await fetchIntegrations(apiKey);
57
- spinner.stop();
58
- }
59
- catch (err) {
60
- spinner.fail("Failed to fetch integrations");
61
- console.error(chalk.red(` ${err.message}`));
62
- process.exit(1);
63
- }
64
- // Filter out system integrations
65
- const userFacing = integrations.filter(i => i.integrationType !== IntegrationType.TERSE && i.integrationType !== IntegrationType.CRON_JOB);
66
- if (userFacing.length === 0) {
67
- console.log(chalk.yellow("\n No integrations available.\n"));
68
- return { status: "unchanged" };
69
- }
70
- const selected = await select({
71
- message: "Select an integration to connect",
72
- choices: userFacing.map(i => {
73
- const meta = INTEGRATION_METADATA[i.integrationType];
74
- const name = meta?.name || i.integrationType;
75
- const status = i.isActive ? chalk.green(" ✓ connected") : chalk.dim(" not connected");
76
- return {
77
- name: `${name}${status}`,
78
- value: i.integrationType,
79
- description: meta?.description
80
- };
81
- })
82
- });
83
- const selectedIntegration = userFacing.find(i => i.integrationType === selected);
84
- // Fetch fields for the selected integration
85
- const fieldsSpinner = ora("Loading integration details").start();
86
- let fieldsResponse;
87
- try {
88
- fieldsResponse = await fetchIntegrationFields(apiKey, selected);
89
- fieldsSpinner.stop();
90
- }
91
- catch (err) {
92
- fieldsSpinner.fail("Failed to load integration details");
93
- console.error(chalk.red(` ${err.message}`));
94
- process.exit(1);
95
- }
96
- if (fieldsResponse.installationType === "form") {
97
- const didUpdate = await handleFormIntegration(apiKey, selected, fieldsResponse.fields);
98
- return {
99
- status: didUpdate ? (selectedIntegration?.isActive ? "modified" : "added") : "unchanged",
100
- integrationType: selected
101
- };
102
- }
103
- else if (fieldsResponse.installationType === "oauth") {
104
- const didUpdate = await handleOAuthIntegration(apiKey, selected, fieldsResponse.fields);
105
- return {
106
- status: didUpdate ? (selectedIntegration?.isActive ? "modified" : "added") : "unchanged",
107
- integrationType: selected
108
- };
109
- }
110
- else {
111
- console.log(chalk.yellow(`\n Integration '${selected}' has an unsupported installation type.\n`));
112
- return {
113
- status: "unchanged",
114
- integrationType: selected
115
- };
116
- }
117
- }
118
- // ─── Form-based integrations (Datadog, PostHog, Snowflake, etc.) ─────────────
119
- async function handleFormIntegration(apiKey, integrationType, fields) {
120
- console.log("");
121
- const formValues = {};
122
- for (const field of fields) {
123
- const hint = field.hint ? chalk.dim(` (${field.hint})`) : "";
124
- if (field.type === "password") {
125
- formValues[field.name] = await password({
126
- message: `${field.label}${hint}`,
127
- validate: field.required ? v => (v.length > 0 ? true : `${field.label} is required`) : undefined
128
- });
129
- }
130
- else {
131
- formValues[field.name] = await input({
132
- message: `${field.label}${hint}`,
133
- default: field.placeholder,
134
- validate: field.required ? v => (v.length > 0 ? true : `${field.label} is required`) : undefined
135
- });
136
- }
137
- }
138
- const spinner = ora("Connecting integration").start();
139
- try {
140
- const result = await submitIntegrationForm(apiKey, integrationType, formValues);
141
- if (result.success) {
142
- spinner.succeed(chalk.green("Integration connected successfully"));
143
- return true;
144
- }
145
- else {
146
- spinner.fail(`Failed to connect: ${result.error || "Unknown error"}`);
147
- return false;
148
- }
149
- }
150
- catch (err) {
151
- spinner.fail("Failed to connect integration");
152
- console.error(chalk.red(` ${err.message}`));
153
- return false;
154
- }
155
- }
156
- // ─── OAuth-based integrations (Slack, GitHub, Gmail, etc.) ───────────────────
157
- async function handleOAuthIntegration(apiKey, integrationType, configFields) {
158
- // Prompt for configuration fields if any (e.g. Slack's bot vs user choice)
159
- let options;
160
- if (configFields.length > 0) {
161
- console.log("");
162
- options = {};
163
- for (const field of configFields) {
164
- const value = await select({
165
- message: field.label,
166
- choices: field.options.map(o => ({ name: o.label, value: o.value }))
167
- });
168
- options[field.name] = value;
169
- }
170
- }
171
- const spinner = ora("Getting authorization URL").start();
172
- let installationDetails;
173
- try {
174
- installationDetails = await fetchInstallationUrl(apiKey, integrationType, options);
175
- spinner.stop();
176
- }
177
- catch (err) {
178
- spinner.fail("Failed to get authorization URL");
179
- console.error(chalk.red(` ${err.message}`));
180
- return false;
181
- }
182
- console.log(`\n ${chalk.bold("Complete authorization in your browser:")}\n`);
183
- console.log(` ${chalk.cyan(installationDetails.oauthUrl)}\n`);
184
- openInBrowser(installationDetails.oauthUrl);
185
- const pollSpinner = ora("Waiting for authorization to complete").start();
186
- const connected = await pollForConnection(apiKey, integrationType);
187
- if (connected) {
188
- pollSpinner.succeed(chalk.green("Integration connected successfully"));
189
- return true;
190
- }
191
- else {
192
- pollSpinner.fail("Authorization timed out — please try again");
193
- return false;
194
- }
195
- }
196
- // ─── Helpers ─────────────────────────────────────────────────────────────────
197
- function openInBrowser(url) {
198
- try {
199
- if (process.platform === "darwin") {
200
- spawn("open", [url], { detached: true, stdio: "ignore" }).unref();
201
- return true;
202
- }
203
- if (process.platform === "win32") {
204
- spawn("cmd", ["/c", "start", "", url], { detached: true, stdio: "ignore" }).unref();
205
- return true;
206
- }
207
- spawn("xdg-open", [url], { detached: true, stdio: "ignore" }).unref();
208
- return true;
209
- }
210
- catch {
211
- return false;
212
- }
213
- }
214
- //# sourceMappingURL=integrate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integrate.js","sourceRoot":"","sources":["../src/integrate.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- export type NonInteractiveOpts = {
2
- nonInteractive?: boolean;
3
- };
4
- /**
5
- * True when the CLI should avoid any interactive prompt. Honors the explicit
6
- * flag first, falls back to TTY detection so subprocess / piped invocations
7
- * behave non-interactively without the caller needing to pass `--non-interactive`.
8
- */
9
- export declare function isNonInteractive(opts?: NonInteractiveOpts): boolean;
10
- /**
11
- * Supports parsing a series of key=value flags from the CLI.
12
- */
13
- export declare function parseKeyValueFlags(values: string[] | undefined): Record<string, string>;
14
- /**
15
- * Read a JSON object from stdin and return it as a string map. Used by
16
- * `terse integrate connect --fields-stdin` so passwords and tokens never touch
17
- * argv.
18
- */
19
- export declare function readFieldsFromStdin(): Promise<Record<string, string>>;
20
- //# sourceMappingURL=nonInteractive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nonInteractive.d.ts","sourceRoot":"","sources":["../src/nonInteractive.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAGnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUvF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA6B3E"}
@@ -1,60 +0,0 @@
1
- import { CliError } from "./cliError.js";
2
- /**
3
- * True when the CLI should avoid any interactive prompt. Honors the explicit
4
- * flag first, falls back to TTY detection so subprocess / piped invocations
5
- * behave non-interactively without the caller needing to pass `--non-interactive`.
6
- */
7
- export function isNonInteractive(opts) {
8
- if (opts?.nonInteractive)
9
- return true;
10
- return !process.stdin.isTTY || !process.stdout.isTTY;
11
- }
12
- /**
13
- * Supports parsing a series of key=value flags from the CLI.
14
- */
15
- export function parseKeyValueFlags(values) {
16
- const out = {};
17
- for (const raw of values ?? []) {
18
- const eq = raw.indexOf("=");
19
- if (eq <= 0) {
20
- throw new CliError("invalid_field", `Invalid --field value "${raw}"`, { detail: "Expected key=value" });
21
- }
22
- out[raw.slice(0, eq)] = raw.slice(eq + 1);
23
- }
24
- return out;
25
- }
26
- /**
27
- * Read a JSON object from stdin and return it as a string map. Used by
28
- * `terse integrate connect --fields-stdin` so passwords and tokens never touch
29
- * argv.
30
- */
31
- export async function readFieldsFromStdin() {
32
- const chunks = [];
33
- for await (const chunk of process.stdin) {
34
- chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
35
- }
36
- const raw = Buffer.concat(chunks).toString("utf-8").trim();
37
- if (!raw)
38
- return {};
39
- let parsed;
40
- try {
41
- parsed = JSON.parse(raw);
42
- }
43
- catch (err) {
44
- throw new CliError("invalid_fields_stdin", "Could not parse JSON from stdin", {
45
- detail: err instanceof Error ? err.message : String(err)
46
- });
47
- }
48
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
49
- throw new CliError("invalid_fields_stdin", "Expected a JSON object on stdin", { detail: 'Example: {"password":"..."}' });
50
- }
51
- const out = {};
52
- for (const [k, v] of Object.entries(parsed)) {
53
- if (typeof v !== "string") {
54
- throw new CliError("invalid_fields_stdin", `Field "${k}" must be a string`);
55
- }
56
- out[k] = v;
57
- }
58
- return out;
59
- }
60
- //# sourceMappingURL=nonInteractive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nonInteractive.js","sourceRoot":"","sources":["../src/nonInteractive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAMxC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACtD,IAAI,IAAI,EAAE,cAAc;QAAE,OAAO,IAAI,CAAA;IACrC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA4B;IAC3D,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACV,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,0BAA0B,GAAG,GAAG,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAA;QAC3G,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IAEnB,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,iCAAiC,EAAE;YAC1E,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAC3D,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,iCAAiC,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAA;IAC5H,CAAC;IAED,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;QACrE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAA;QAC/E,CAAC;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC"}
package/dist/perf.d.ts DELETED
@@ -1,9 +0,0 @@
1
- type PerfAttributes = Record<string, unknown>;
2
- export declare function enableCliPerfLogging(): void;
3
- export declare function startCliPerfStep(step: string, attributes?: PerfAttributes): {
4
- complete: (extra?: PerfAttributes) => void;
5
- fail: (error: unknown, extra?: PerfAttributes) => void;
6
- };
7
- export declare function withCliPerfStep<T>(step: string, attributes: PerfAttributes, fn: () => Promise<T>): Promise<T>;
8
- export {};
9
- //# sourceMappingURL=perf.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../src/perf.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAiC7C,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,cAAmB,GAAG;IAC7E,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,cAAc,KAAK,IAAI,CAAA;IAC1C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,cAAc,KAAK,IAAI,CAAA;CACzD,CAqBA;AAED,wBAAsB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAWnH"}
package/dist/perf.js DELETED
@@ -1,59 +0,0 @@
1
- import chalk from "chalk";
2
- function isPerfLoggingEnabled() {
3
- const value = process.env.TERSE_PERF_LOGS;
4
- if (value === undefined) {
5
- return false;
6
- }
7
- return !["0", "false", "off", "no"].includes(value.toLowerCase());
8
- }
9
- function serializeAttributes(attributes) {
10
- return JSON.stringify(Object.fromEntries(Object.entries(attributes).filter(([, value]) => value !== undefined)), (_key, value) => {
11
- if (value instanceof Error) {
12
- return { message: value.message, name: value.name };
13
- }
14
- return value;
15
- });
16
- }
17
- function logPerf(step, phase, attributes = {}) {
18
- if (!isPerfLoggingEnabled()) {
19
- return;
20
- }
21
- console.log(chalk.dim(`[terse:perf] ${serializeAttributes({ step, phase, ...attributes })}`));
22
- }
23
- export function enableCliPerfLogging() {
24
- process.env.TERSE_PERF_LOGS ??= "1";
25
- }
26
- export function startCliPerfStep(step, attributes = {}) {
27
- const start = performance.now();
28
- logPerf(step, "started", attributes);
29
- return {
30
- complete(extra = {}) {
31
- logPerf(step, "completed", {
32
- ...attributes,
33
- ...extra,
34
- duration_ms: Math.round(performance.now() - start)
35
- });
36
- },
37
- fail(error, extra = {}) {
38
- logPerf(step, "failed", {
39
- ...attributes,
40
- ...extra,
41
- duration_ms: Math.round(performance.now() - start),
42
- error: error instanceof Error ? error.message : String(error)
43
- });
44
- }
45
- };
46
- }
47
- export async function withCliPerfStep(step, attributes, fn) {
48
- const timer = startCliPerfStep(step, attributes);
49
- try {
50
- const result = await fn();
51
- timer.complete();
52
- return result;
53
- }
54
- catch (error) {
55
- timer.fail(error);
56
- throw error;
57
- }
58
- }
59
- //# sourceMappingURL=perf.js.map
package/dist/perf.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"perf.js","sourceRoot":"","sources":["../src/perf.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=codegen.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codegen.test.d.ts","sourceRoot":"","sources":["../../src/providers/codegen.test.ts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import test from "node:test";
3
- import { preparePythonTemplateContext } from "./python/preparePythonCodegenData.js";
4
- import { renderPythonGeneratedCode } from "./python/pythonTemplateEngine.js";
5
- import { prepareTemplateContext } from "./typescript/prepareCodegenData.js";
6
- import { renderGeneratedCode } from "./typescript/templateEngine.js";
7
- function buildCodegenInput() {
8
- return {
9
- github: [
10
- {
11
- integration: { id: "github_int" },
12
- repositories: [{ id: 1, name: "terse", owner: "acme", fullName: "acme/terse" }]
13
- }
14
- ],
15
- slack: [{ id: "slack_int", displayName: "Slack", channels: [{ id: "C123", name: "alerts" }] }],
16
- gmail: [{ id: "gmail_int", displayName: "Gmail" }],
17
- linear: [{ id: "linear_int", displayName: "Linear", teams: [] }],
18
- notion: [],
19
- posthog: [],
20
- datadog: [],
21
- launchdarkly: [],
22
- workos: [{ id: "workos_int", displayName: "WorkOS" }],
23
- attio: [],
24
- snowflake: [],
25
- tools: []
26
- };
27
- }
28
- test("typescript codegen narrows supported trigger helpers", () => {
29
- const output = renderGeneratedCode(prepareTemplateContext(buildCodegenInput()));
30
- assert.match(output, /onPRSynchronized\(opts: \{ repo: Repos \}\): TypedTrigger<GitHubPullRequestSynchronizedTriggerEvent>/);
31
- assert.match(output, /onIssueCreated\(opts\?: \{ projectId\?: string; projectName\?: string \}\): TypedTrigger<LinearIssueCreatedTriggerEvent>/);
32
- assert.match(output, /onMembershipCreated\(\): TypedTrigger<WorkOSOrganizationMembershipCreatedTriggerEvent>/);
33
- assert.doesNotMatch(output, /onAppMention/);
34
- assert.doesNotMatch(output, /onReactionAdded/);
35
- });
36
- test("python codegen emits precise trigger helper annotations", () => {
37
- const output = renderPythonGeneratedCode(preparePythonTemplateContext(buildCodegenInput()));
38
- assert.match(output, /def on_pr_synchronized\(\*, repo: GitHubRepo\) -> TriggerConfig\[GitHubPullRequestSynchronizedTriggerEvent\]:/);
39
- assert.match(output, /def on_issue_created\(\*, project_id: str \| None = None, project_name: str \| None = None\) -> TriggerConfig\[LinearIssueCreatedTriggerEvent\]:/);
40
- assert.match(output, /def on_membership_created\(\) -> TriggerConfig\[WorkOSOrganizationMembershipCreatedTriggerEvent\]:/);
41
- assert.match(output, /class Webhook:/);
42
- assert.doesNotMatch(output, /def on_app_mention/);
43
- assert.doesNotMatch(output, /def on_reaction_added/);
44
- });
45
- //# sourceMappingURL=codegen.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codegen.test.js","sourceRoot":"","sources":["../../src/providers/codegen.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,IAAI,MAAM,WAAW,CAAA;AAG5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEpE,SAAS,iBAAiB;IACtB,OAAO;QACH,MAAM,EAAE;YACJ;gBACI,WAAW,EAAE,EAAE,EAAE,EAAE,YAAY,EAAS;gBACxC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;aAClF;SACJ;QACD,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC9F,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QAClD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAChE,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACrD,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;KACZ,CAAA;AACL,CAAC;AAED,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;IAC9D,MAAM,MAAM,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;IAE/E,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,sGAAsG,CAAC,CAAA;IAC5H,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,0HAA0H,CAAC,CAAA;IAChJ,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,wFAAwF,CAAC,CAAA;IAC9G,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC3C,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAClD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACjE,MAAM,MAAM,GAAG,yBAAyB,CAAC,4BAA4B,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;IAE3F,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,+GAA+G,CAAC,CAAA;IACrI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,kJAAkJ,CAAC,CAAA;IACxK,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,oGAAoG,CAAC,CAAA;IAC1H,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACtC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACjD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AACxD,CAAC,CAAC,CAAA"}
@@ -1,51 +0,0 @@
1
- import type { CreateJobParameters } from "terse-sdk";
2
- import type { SerializedEvent } from "terse-types";
3
- import type { LanguageProvider } from "../LanguageProvider.js";
4
- import type { CodegenInput } from "../codegenTypes.js";
5
- export declare class PythonProvider implements LanguageProvider {
6
- readonly language: "python";
7
- readonly displayName = "Python";
8
- readonly detectionMarkers: {
9
- requiredFiles: string[];
10
- description: string;
11
- };
12
- readonly projectMarkers: {
13
- requiredFiles: string[];
14
- description: string;
15
- };
16
- readonly entryFile = "src/main.py";
17
- readonly generatedCodePath = "src/terse_generated.py";
18
- readonly deployExclusions: {
19
- dirs: Set<string>;
20
- files: Set<string>;
21
- };
22
- scaffoldFiles(): Array<{
23
- template: string;
24
- output: string;
25
- }>;
26
- buildInitTemplateContext(projectName: string, sdkVersion: string): Record<string, unknown>;
27
- getPostInitSteps(_packageManager: string): string[];
28
- detectPackageManager(): string;
29
- installDependencies(targetDir: string): Promise<void>;
30
- resolveGeneratedCodePath(cwd: string): string;
31
- renderGeneratedCode(input: CodegenInput): string;
32
- loadJobRegistry(entryFile?: string): Promise<Map<string, CreateJobParameters>>;
33
- executeJob(job: CreateJobParameters, runId: string | null, event: SerializedEvent, opts?: {
34
- verbose?: boolean;
35
- entryFile?: string;
36
- }): Promise<void>;
37
- protected buildPythonEnv(cwd: string): NodeJS.ProcessEnv;
38
- protected execUvCommand(args: string[], opts: {
39
- cwd: string;
40
- env?: NodeJS.ProcessEnv;
41
- }): Promise<{
42
- stdout: string;
43
- stderr: string;
44
- }>;
45
- protected withTempPythonScript<T>(source: string, fn: (scriptPath: string) => Promise<T>): Promise<T>;
46
- protected ensureUvAvailable(cwd: string): Promise<void>;
47
- protected buildLoadRegistryScript(entryFile: string): string;
48
- protected buildExecuteJobScript(entryFile: string): string;
49
- }
50
- export declare const pythonProvider: PythonProvider;
51
- //# sourceMappingURL=PythonProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PythonProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/python/PythonProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAgB,MAAM,WAAW,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AA+BtD,qBAAa,cAAe,YAAW,gBAAgB;IACnD,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAS;IACrC,QAAQ,CAAC,WAAW,YAAW;IAC/B,QAAQ,CAAC,gBAAgB;;;MAGxB;IACD,QAAQ,CAAC,cAAc;;;MAGtB;IACD,QAAQ,CAAC,SAAS,iBAAgB;IAClC,QAAQ,CAAC,iBAAiB,4BAA2B;IACrD,QAAQ,CAAC,gBAAgB;;;MAGxB;IAED,aAAa,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAW5D,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAO1F,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE;IAInD,oBAAoB,IAAI,MAAM;IAIxB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI7C,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM;IAM1C,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IA+C9E,UAAU,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCzJ,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,UAAU;cAexC,aAAa,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE;QACF,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;KAC1B,GACF,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;cAI9B,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;cAI3F,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,SAAS,CAAC,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI5D,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAG7D;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAA"}