terse-cli 0.3.6 → 0.3.7

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 (188) hide show
  1. package/dist/codegen.d.ts +0 -15
  2. package/dist/codegen.d.ts.map +1 -1
  3. package/dist/codegen.js +81 -466
  4. package/dist/codegen.js.map +1 -1
  5. package/dist/deploy.d.ts +1 -2
  6. package/dist/deploy.d.ts.map +1 -1
  7. package/dist/deploy.js +38 -61
  8. package/dist/deploy.js.map +1 -1
  9. package/dist/generate.d.ts +1 -2
  10. package/dist/generate.d.ts.map +1 -1
  11. package/dist/generate.js +69 -67
  12. package/dist/generate.js.map +1 -1
  13. package/dist/init.d.ts +1 -2
  14. package/dist/init.d.ts.map +1 -1
  15. package/dist/init.js +96 -45
  16. package/dist/init.js.map +1 -1
  17. package/dist/integrate.d.ts +0 -1
  18. package/dist/integrate.d.ts.map +1 -1
  19. package/dist/integrate.js +11 -191
  20. package/dist/integrate.js.map +1 -1
  21. package/dist/jsonOutput.d.ts +19 -0
  22. package/dist/jsonOutput.d.ts.map +1 -0
  23. package/dist/jsonOutput.js +25 -0
  24. package/dist/jsonOutput.js.map +1 -0
  25. package/dist/nonInteractive.d.ts +2 -4
  26. package/dist/nonInteractive.d.ts.map +1 -1
  27. package/dist/nonInteractive.js +2 -5
  28. package/dist/nonInteractive.js.map +1 -1
  29. package/dist/providers/python/PythonProvider.js +0 -1
  30. package/dist/providers/python/PythonProvider.js.map +1 -1
  31. package/dist/providers/typescript/parkSignals.d.ts +7 -0
  32. package/dist/providers/typescript/parkSignals.d.ts.map +1 -0
  33. package/dist/providers/typescript/parkSignals.js +45 -0
  34. package/dist/providers/typescript/parkSignals.js.map +1 -0
  35. package/dist/replay.d.ts +3 -0
  36. package/dist/replay.d.ts.map +1 -0
  37. package/dist/replay.js +20 -0
  38. package/dist/replay.js.map +1 -0
  39. package/dist/run.d.ts +11 -2
  40. package/dist/run.d.ts.map +1 -1
  41. package/dist/run.js +153 -42
  42. package/dist/run.js.map +1 -1
  43. package/dist/sampleEventId.d.ts +4 -0
  44. package/dist/sampleEventId.d.ts.map +1 -1
  45. package/dist/sampleEventId.js +4 -0
  46. package/dist/sampleEventId.js.map +1 -1
  47. package/dist/shared/ApiRoutes.d.ts +0 -19
  48. package/dist/shared/ApiRoutes.d.ts.map +1 -1
  49. package/dist/shared/ApiRoutes.js +1 -17
  50. package/dist/shared/ApiRoutes.js.map +1 -1
  51. package/dist/shared/Configs.d.ts +2 -24
  52. package/dist/shared/Configs.d.ts.map +1 -1
  53. package/dist/shared/Configs.js +2 -32
  54. package/dist/shared/Configs.js.map +1 -1
  55. package/dist/shared/Integrations.d.ts +1 -18
  56. package/dist/shared/Integrations.d.ts.map +1 -1
  57. package/dist/shared/Integrations.js +1 -10
  58. package/dist/shared/Integrations.js.map +1 -1
  59. package/dist/shared/InvalidationKeys.d.ts +0 -1
  60. package/dist/shared/InvalidationKeys.d.ts.map +1 -1
  61. package/dist/shared/InvalidationKeys.js +0 -3
  62. package/dist/shared/InvalidationKeys.js.map +1 -1
  63. package/dist/shared/ModelEvents.d.ts +0 -9
  64. package/dist/shared/ModelEvents.d.ts.map +1 -1
  65. package/dist/shared/ModelEvents.js +0 -15
  66. package/dist/shared/ModelEvents.js.map +1 -1
  67. package/dist/shared/ToolDisplayUtils.d.ts.map +1 -1
  68. package/dist/shared/ToolDisplayUtils.js +11 -107
  69. package/dist/shared/ToolDisplayUtils.js.map +1 -1
  70. package/dist/shared/types.d.ts +108 -1013
  71. package/dist/shared/types.d.ts.map +1 -1
  72. package/dist/shared/types.js.map +1 -1
  73. package/dist/test.d.ts +1 -2
  74. package/dist/test.d.ts.map +1 -1
  75. package/dist/test.js +23 -43
  76. package/dist/test.js.map +1 -1
  77. package/dist/testRelay.d.ts +6 -0
  78. package/dist/testRelay.d.ts.map +1 -0
  79. package/dist/testRelay.js +91 -0
  80. package/dist/testRelay.js.map +1 -0
  81. package/dist/urls.d.ts +3 -0
  82. package/dist/urls.d.ts.map +1 -0
  83. package/dist/urls.js +27 -0
  84. package/dist/urls.js.map +1 -0
  85. package/dist/util.d.ts +3 -2
  86. package/dist/util.d.ts.map +1 -1
  87. package/dist/util.js +3 -3
  88. package/dist/util.js.map +1 -1
  89. package/package.json +3 -3
  90. package/src/providers/typescript/modules/github/github.triggers.hbs +9 -1
  91. package/dist/_tmp_create_project.d.ts +0 -2
  92. package/dist/_tmp_create_project.d.ts.map +0 -1
  93. package/dist/_tmp_create_project.js +0 -17
  94. package/dist/_tmp_create_project.js.map +0 -1
  95. package/dist/_tmp_delete_agent.d.ts +0 -2
  96. package/dist/_tmp_delete_agent.d.ts.map +0 -1
  97. package/dist/_tmp_delete_agent.js +0 -14
  98. package/dist/_tmp_delete_agent.js.map +0 -1
  99. package/dist/_tmp_manual_trigger.d.ts +0 -2
  100. package/dist/_tmp_manual_trigger.d.ts.map +0 -1
  101. package/dist/_tmp_manual_trigger.js +0 -17
  102. package/dist/_tmp_manual_trigger.js.map +0 -1
  103. package/dist/_tmp_patch_active.d.ts +0 -2
  104. package/dist/_tmp_patch_active.d.ts.map +0 -1
  105. package/dist/_tmp_patch_active.js +0 -21
  106. package/dist/_tmp_patch_active.js.map +0 -1
  107. package/dist/commands/deployTheme.d.ts +0 -28
  108. package/dist/commands/deployTheme.d.ts.map +0 -1
  109. package/dist/commands/deployTheme.js +0 -68
  110. package/dist/commands/deployTheme.js.map +0 -1
  111. package/dist/commands/dev.d.ts +0 -3
  112. package/dist/commands/dev.d.ts.map +0 -1
  113. package/dist/commands/dev.js +0 -47
  114. package/dist/commands/dev.js.map +0 -1
  115. package/dist/commands/fsExec.d.ts +0 -8
  116. package/dist/commands/fsExec.d.ts.map +0 -1
  117. package/dist/commands/fsExec.js +0 -46
  118. package/dist/commands/fsExec.js.map +0 -1
  119. package/dist/commands/metaAdsScope.d.ts +0 -12
  120. package/dist/commands/metaAdsScope.d.ts.map +0 -1
  121. package/dist/commands/metaAdsScope.js +0 -120
  122. package/dist/commands/metaAdsScope.js.map +0 -1
  123. package/dist/commands/serve.d.ts +0 -1
  124. package/dist/commands/serve.d.ts.map +0 -1
  125. package/dist/commands/serve.js +0 -2
  126. package/dist/commands/serve.js.map +0 -1
  127. package/dist/commands/terseCliTheme.d.ts +0 -28
  128. package/dist/commands/terseCliTheme.d.ts.map +0 -1
  129. package/dist/commands/terseCliTheme.js +0 -68
  130. package/dist/commands/terseCliTheme.js.map +0 -1
  131. package/dist/commands/tool.d.ts +0 -6
  132. package/dist/commands/tool.d.ts.map +0 -1
  133. package/dist/commands/tool.js +0 -34
  134. package/dist/commands/tool.js.map +0 -1
  135. package/dist/data/standardSlackEmoji.d.ts +0 -2
  136. package/dist/data/standardSlackEmoji.d.ts.map +0 -1
  137. package/dist/data/standardSlackEmoji.js +0 -1978
  138. package/dist/data/standardSlackEmoji.js.map +0 -1
  139. package/dist/data/standardSlackEmoji.json +0 -1974
  140. package/dist/perf.d.ts +0 -9
  141. package/dist/perf.d.ts.map +0 -1
  142. package/dist/perf.js +0 -59
  143. package/dist/perf.js.map +0 -1
  144. package/dist/providers/codegen.test.d.ts +0 -2
  145. package/dist/providers/codegen.test.d.ts.map +0 -1
  146. package/dist/providers/codegen.test.js +0 -45
  147. package/dist/providers/codegen.test.js.map +0 -1
  148. package/dist/providers/python/PythonProvider.test.d.ts +0 -2
  149. package/dist/providers/python/PythonProvider.test.d.ts.map +0 -1
  150. package/dist/providers/python/PythonProvider.test.js +0 -169
  151. package/dist/providers/python/PythonProvider.test.js.map +0 -1
  152. package/dist/providers/typescript/attioProjection.d.ts +0 -50
  153. package/dist/providers/typescript/attioProjection.d.ts.map +0 -1
  154. package/dist/providers/typescript/attioProjection.js +0 -358
  155. package/dist/providers/typescript/attioProjection.js.map +0 -1
  156. package/dist/providers/typescript/modules/cursor/CursorModule.d.ts +0 -20
  157. package/dist/providers/typescript/modules/cursor/CursorModule.d.ts.map +0 -1
  158. package/dist/providers/typescript/modules/cursor/CursorModule.js +0 -27
  159. package/dist/providers/typescript/modules/cursor/CursorModule.js.map +0 -1
  160. package/dist/providers/typescript/prepareCodegenData.test.d.ts +0 -2
  161. package/dist/providers/typescript/prepareCodegenData.test.d.ts.map +0 -1
  162. package/dist/providers/typescript/prepareCodegenData.test.js +0 -54
  163. package/dist/providers/typescript/prepareCodegenData.test.js.map +0 -1
  164. package/dist/providers/typescript/projectedTypes.d.ts +0 -11
  165. package/dist/providers/typescript/projectedTypes.d.ts.map +0 -1
  166. package/dist/providers/typescript/projectedTypes.js +0 -53
  167. package/dist/providers/typescript/projectedTypes.js.map +0 -1
  168. package/dist/providers/typescript/projectionPrinter.d.ts +0 -26
  169. package/dist/providers/typescript/projectionPrinter.d.ts.map +0 -1
  170. package/dist/providers/typescript/projectionPrinter.js +0 -110
  171. package/dist/providers/typescript/projectionPrinter.js.map +0 -1
  172. package/dist/providers/typescript/replayLogDedupe.d.ts +0 -6
  173. package/dist/providers/typescript/replayLogDedupe.d.ts.map +0 -1
  174. package/dist/providers/typescript/replayLogDedupe.js +0 -156
  175. package/dist/providers/typescript/replayLogDedupe.js.map +0 -1
  176. package/dist/providers/typescript/triggerPayloads.d.ts +0 -7
  177. package/dist/providers/typescript/triggerPayloads.d.ts.map +0 -1
  178. package/dist/providers/typescript/triggerPayloads.js +0 -60
  179. package/dist/providers/typescript/triggerPayloads.js.map +0 -1
  180. package/dist/providers/typescript/triggerTypeRegistry.d.ts +0 -7
  181. package/dist/providers/typescript/triggerTypeRegistry.d.ts.map +0 -1
  182. package/dist/providers/typescript/triggerTypeRegistry.js +0 -198
  183. package/dist/providers/typescript/triggerTypeRegistry.js.map +0 -1
  184. package/dist/triggerParseDetail.d.ts +0 -8
  185. package/dist/triggerParseDetail.d.ts.map +0 -1
  186. package/dist/triggerParseDetail.js +0 -30
  187. package/dist/triggerParseDetail.js.map +0 -1
  188. package/templates/typescript/codegen/.impeccable/hook.cache.json +0 -1
@@ -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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Brand-colored wrappers for @clack/prompts.
3
- *
4
- * Clack uses hardcoded named ANSI colors with no theme API. We replicate its
5
- * chrome here using chalk true-color (24-bit RGB) derived from the design
6
- * token OKLCH values:
7
- *
8
- * primary: oklch(65% .16 155) → rgb(4, 171, 98) teal-green
9
- * secondary: oklch(65% .12 145) → rgb(93, 162, 96) muted green
10
- * tertiary: oklch(65% .15 30) → rgb(219, 102, 86) warm orange
11
- * destructive: oklch(60% .22 25) → rgb(230, 43, 52) red
12
- */
13
- export declare const primary: import("chalk").ChalkInstance;
14
- export declare const secondary: import("chalk").ChalkInstance;
15
- export declare const tertiary: import("chalk").ChalkInstance;
16
- export declare const destructive: import("chalk").ChalkInstance;
17
- /** Pass as the `styleFrame` option to `spinner()`. */
18
- export declare const spinnerStyle: (frame: string) => string;
19
- export declare const brandLog: {
20
- step: (msg: string) => void;
21
- info: (msg: string) => void;
22
- warn: (msg: string) => void;
23
- error: (msg: string) => void;
24
- };
25
- export declare function brandIntro(title?: string): void;
26
- export declare function brandOutro(message?: string): void;
27
- export declare function brandNote(message: string, title?: string): void;
28
- //# sourceMappingURL=deployTheme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deployTheme.d.ts","sourceRoot":"","sources":["../../src/commands/deployTheme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,eAAO,MAAM,OAAO,+BAA+B,CAAA;AACnD,eAAO,MAAM,SAAS,+BAA6B,CAAA;AACnD,eAAO,MAAM,QAAQ,+BAA8B,CAAA;AACnD,eAAO,MAAM,WAAW,+BAA2B,CAAA;AAInD,sDAAsD;AACtD,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,WAAmB,CAAA;AAW7D,eAAO,MAAM,QAAQ;gBACJ,MAAM;gBACN,MAAM;gBACN,MAAM;iBACN,MAAM;CACtB,CAAA;AAUD,wBAAgB,UAAU,CAAC,KAAK,SAAK,QAEpC;AAED,wBAAgB,UAAU,CAAC,OAAO,SAAK,QAEtC;AAWD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAK,QAepD"}
@@ -1,68 +0,0 @@
1
- /**
2
- * Brand-colored wrappers for @clack/prompts.
3
- *
4
- * Clack uses hardcoded named ANSI colors with no theme API. We replicate its
5
- * chrome here using chalk true-color (24-bit RGB) derived from the design
6
- * token OKLCH values:
7
- *
8
- * primary: oklch(65% .16 155) → rgb(4, 171, 98) teal-green
9
- * secondary: oklch(65% .12 145) → rgb(93, 162, 96) muted green
10
- * tertiary: oklch(65% .15 30) → rgb(219, 102, 86) warm orange
11
- * destructive: oklch(60% .22 25) → rgb(230, 43, 52) red
12
- */
13
- import { log } from "@clack/prompts";
14
- import chalk from "chalk";
15
- // ── Color tokens ──────────────────────────────────────────────────────────────
16
- export const primary = chalk.rgb(4, 171, 98);
17
- export const secondary = chalk.rgb(93, 162, 96);
18
- export const tertiary = chalk.rgb(219, 102, 86);
19
- export const destructive = chalk.rgb(230, 43, 52);
20
- // ── Spinner ───────────────────────────────────────────────────────────────────
21
- /** Pass as the `styleFrame` option to `spinner()`. */
22
- export const spinnerStyle = (frame) => primary(frame);
23
- // ── Log helpers ───────────────────────────────────────────────────────────────
24
- // Clack's log.step / log.info / log.warn / log.error hardcode their symbol
25
- // colors. We call log.message() directly with a branded symbol instead.
26
- const S_STEP = "◇";
27
- const S_INFO = "●";
28
- const S_WARN = "▲";
29
- const S_ERROR = "■";
30
- export const brandLog = {
31
- step: (msg) => log.message(msg, { symbol: primary(S_STEP) }),
32
- info: (msg) => log.message(msg, { symbol: secondary(S_INFO) }),
33
- warn: (msg) => log.message(msg, { symbol: tertiary(S_WARN) }),
34
- error: (msg) => log.message(msg, { symbol: destructive(S_ERROR) })
35
- };
36
- // ── Intro / Outro ─────────────────────────────────────────────────────────────
37
- // Clack's intro/outro output a gray guide bar. We replicate the same chrome
38
- // using our secondary color.
39
- const S_BAR_START = "┌";
40
- const S_BAR = "│";
41
- const S_BAR_END = "└";
42
- export function brandIntro(title = "") {
43
- process.stdout.write(`${secondary(S_BAR_START)} ${title}\n`);
44
- }
45
- export function brandOutro(message = "") {
46
- process.stdout.write(`${secondary(S_BAR)}\n${secondary(S_BAR_END)} ${message}\n\n`);
47
- }
48
- // ── Note ─────────────────────────────────────────────────────────────────────
49
- // Clack's note() hardcodes green for the title symbol and gray for borders.
50
- // We replicate the layout using our primary/secondary colors.
51
- const S_BAR_H = "─";
52
- const S_CORNER_TR = "╮";
53
- const S_TEE_L = "├";
54
- const S_CORNER_BR = "┴";
55
- export function brandNote(message, title = "") {
56
- const lines = message.split("\n");
57
- const width = Math.max(...lines.map(l => l.length), title.length) + 4;
58
- const pad = (s) => s + " ".repeat(width - s.length - 2);
59
- const border = S_BAR_H.repeat(width - title.length - 1);
60
- process.stdout.write([
61
- `${secondary(S_BAR)}`,
62
- `${primary(S_STEP)} ${chalk.reset(title)} ${secondary(border + S_CORNER_TR)}`,
63
- ...lines.map(l => `${secondary(S_BAR)} ${chalk.dim(pad(l))}${secondary(S_BAR)}`),
64
- `${secondary(S_TEE_L + S_BAR_H.repeat(width + 2) + S_CORNER_BR)}`,
65
- ""
66
- ].join("\n"));
67
- }
68
- //# sourceMappingURL=deployTheme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deployTheme.js","sourceRoot":"","sources":["../../src/commands/deployTheme.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare function devLink(repoFlag?: string): void;
2
- export declare function devUnlink(): void;
3
- //# sourceMappingURL=dev.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AA2CA,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED,wBAAgB,SAAS,IAAI,IAAI,CAGhC"}
@@ -1,47 +0,0 @@
1
- import { execFileSync } from "node:child_process";
2
- import fs from "node:fs";
3
- import path from "node:path";
4
- import chalk from "chalk";
5
- /** Walk upward from startDir until packages/terse-cli/package.json and pnpm-workspace.yaml exist. */
6
- function findTerseMonorepoRoot(startDir) {
7
- let dir = path.resolve(startDir);
8
- for (;;) {
9
- const cliPkg = path.join(dir, "packages", "terse-cli", "package.json");
10
- const workspace = path.join(dir, "pnpm-workspace.yaml");
11
- if (fs.existsSync(cliPkg) && fs.existsSync(workspace)) {
12
- return dir;
13
- }
14
- const parent = path.dirname(dir);
15
- if (parent === dir) {
16
- return null;
17
- }
18
- dir = parent;
19
- }
20
- }
21
- function resolveRepo(repoFlag) {
22
- const fromFlag = repoFlag?.trim();
23
- const fromEnv = process.env.TERSE_REPO?.trim();
24
- const fromWalk = findTerseMonorepoRoot(process.cwd());
25
- const repo = fromFlag || fromEnv || fromWalk;
26
- if (!repo) {
27
- console.error(chalk.red("Could not find Terse monorepo root. Set TERSE_REPO, pass --repo <path>, or run from inside the repo."));
28
- process.exit(1);
29
- }
30
- const resolved = path.resolve(repo);
31
- const cliPkg = path.join(resolved, "packages", "terse-cli", "package.json");
32
- if (!fs.existsSync(cliPkg)) {
33
- console.error(chalk.red(`Not a Terse monorepo (missing packages/terse-cli): ${resolved}`));
34
- process.exit(1);
35
- }
36
- return resolved;
37
- }
38
- export function devLink(repoFlag) {
39
- const repo = resolveRepo(repoFlag);
40
- console.log(chalk.dim(`Using repo: ${repo}`));
41
- execFileSync("pnpm", ["run", "install-global"], { cwd: repo, stdio: "inherit" });
42
- }
43
- export function devUnlink() {
44
- execFileSync("npm", ["unlink", "-g", "terse-cli"], { stdio: "inherit" });
45
- execFileSync("npm", ["unlink", "-g", "terse-sdk"], { stdio: "inherit" });
46
- }
47
- //# sourceMappingURL=dev.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,qGAAqG;AACrG,SAAS,qBAAqB,CAAC,QAAgB;IAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAChC,SAAS,CAAC;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;QACvD,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,OAAO,GAAG,CAAA;QACd,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,OAAO,IAAI,CAAA;QACf,CAAC;QACD,GAAG,GAAG,MAAM,CAAA;IAChB,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,QAAiB;IAClC,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACrD,MAAM,IAAI,GAAG,QAAQ,IAAI,OAAO,IAAI,QAAQ,CAAA;IAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,CAAC,sGAAsG,CAAC,CACpH,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;IAC3E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAsD,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IACD,OAAO,QAAQ,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,QAAiB;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7C,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;AACpF,CAAC;AAED,MAAM,UAAU,SAAS;IACrB,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IACxE,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;AAC5E,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Hidden subcommand invoked by the backend (Path A reach-back) via `sb.exec` to run a
3
- * memory/filesystem command against the sandbox's co-located volume. The payload is a
4
- * base64-encoded JSON `{ tool, input }`. The only thing written to stdout is a single JSON
5
- * envelope so the backend can parse it; everything diagnostic goes to stderr.
6
- */
7
- export declare function fsExec(payload?: string): Promise<void>;
8
- //# sourceMappingURL=fsExec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fsExec.d.ts","sourceRoot":"","sources":["../../src/commands/fsExec.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB5D"}
@@ -1,46 +0,0 @@
1
- import { isMemoryFsTool, runMemoryFsCommand } from "terse-sdk";
2
- /**
3
- * Hidden subcommand invoked by the backend (Path A reach-back) via `sb.exec` to run a
4
- * memory/filesystem command against the sandbox's co-located volume. The payload is a
5
- * base64-encoded JSON `{ tool, input }`. The only thing written to stdout is a single JSON
6
- * envelope so the backend can parse it; everything diagnostic goes to stderr.
7
- */
8
- export async function fsExec(payload) {
9
- let request;
10
- try {
11
- const raw = payload ? Buffer.from(payload, "base64").toString("utf8") : await readStdin();
12
- request = JSON.parse(raw);
13
- }
14
- catch (error) {
15
- emit({ success: false, error: `Invalid __fs-exec payload: ${messageOf(error)}` });
16
- process.exitCode = 1;
17
- return;
18
- }
19
- if (!isMemoryFsTool(request.tool)) {
20
- emit({ success: false, error: `Unknown memory/fs tool: ${request.tool}` });
21
- process.exitCode = 1;
22
- return;
23
- }
24
- try {
25
- const result = await runMemoryFsCommand({ tool: request.tool, input: request.input });
26
- emit({ success: true, result });
27
- }
28
- catch (error) {
29
- emit({ success: false, error: messageOf(error) });
30
- process.exitCode = 1;
31
- }
32
- }
33
- function emit(envelope) {
34
- process.stdout.write(JSON.stringify(envelope));
35
- }
36
- function messageOf(error) {
37
- return error instanceof Error ? error.message : String(error);
38
- }
39
- async function readStdin() {
40
- const chunks = [];
41
- for await (const chunk of process.stdin) {
42
- chunks.push(chunk);
43
- }
44
- return Buffer.concat(chunks).toString("utf8");
45
- }
46
- //# sourceMappingURL=fsExec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fsExec.js","sourceRoot":"","sources":["../../src/commands/fsExec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAgB;IACzC,IAAI,OAAyC,CAAA;IAC7C,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAA;QACzF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqC,CAAA;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;QACjF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAc,EAAE,CAAC,CAAA;QAC9F,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACxB,CAAC;AACL,CAAC;AAED,SAAS,IAAI,CAAC,QAAgF;IAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC7B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC;AAED,KAAK,UAAU,SAAS;IACpB,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACjD,CAAC"}
@@ -1,12 +0,0 @@
1
- export declare function metaAdsScopeShow(opts: {
2
- json?: boolean;
3
- }): Promise<void>;
4
- export declare function metaAdsPinAdAccount(opts: {
5
- adAccountId?: string;
6
- clear?: boolean;
7
- }): Promise<void>;
8
- export declare function metaAdsPinPage(opts: {
9
- pageId?: string;
10
- clear?: boolean;
11
- }): Promise<void>;
12
- //# sourceMappingURL=metaAdsScope.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metaAdsScope.d.ts","sourceRoot":"","sources":["../../src/commands/metaAdsScope.ts"],"names":[],"mappings":"AAWA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9E;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBxG;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB9F"}
@@ -1,120 +0,0 @@
1
- import { select } from "@clack/prompts";
2
- import chalk from "chalk";
3
- import { ApiRoutes, buildRoute } from "terse-types";
4
- import { fetchWithAuth, readApiKeyOrBail } from "../api.js";
5
- import { CliError, ErrorCode } from "../cliError.js";
6
- import { isNonInteractive } from "../cliHelpers.js";
7
- import { abortIfCancelled } from "./integrate.js";
8
- export async function metaAdsScopeShow(opts) {
9
- const apiKey = readApiKeyOrBail();
10
- const connection = await requireConnection(apiKey);
11
- const [adAccounts, pages] = await Promise.all([listAdAccounts(apiKey, connection.id), listPages(apiKey, connection.id)]);
12
- if (opts.json) {
13
- const payload = {
14
- integrationId: connection.id,
15
- adAccountId: connection.adAccountId,
16
- pageId: connection.pageId,
17
- adAccounts: adAccounts.map(account => ({ ...account, pinned: account.id === connection.adAccountId })),
18
- pages: pages.map(page => ({ ...page, pinned: page.id === connection.pageId }))
19
- };
20
- process.stdout.write(JSON.stringify(payload, null, 2) + "\n");
21
- return;
22
- }
23
- process.stdout.write(`Meta Ads connection ${chalk.cyan(connection.id)}\n`);
24
- process.stdout.write(`\nAd accounts${connection.adAccountId ? "" : chalk.dim(" (none pinned: adAccountId is required on every call)")}\n`);
25
- for (const account of adAccounts) {
26
- const pin = account.id === connection.adAccountId ? chalk.dim(" (pinned)") : "";
27
- process.stdout.write(` ${chalk.cyan(account.id)} ${account.name}${pin}\n`);
28
- }
29
- process.stdout.write(`\nPages${connection.pageId ? "" : chalk.dim(" (none pinned: pageId is required on meta_ads_create_ad)")}\n`);
30
- for (const page of pages) {
31
- const pin = page.id === connection.pageId ? chalk.dim(" (pinned)") : "";
32
- process.stdout.write(` ${chalk.cyan(page.id)} ${page.name}${pin}\n`);
33
- }
34
- }
35
- export async function metaAdsPinAdAccount(opts) {
36
- const apiKey = readApiKeyOrBail();
37
- const connection = await requireConnection(apiKey);
38
- if (opts.clear) {
39
- await writeScope(apiKey, connection.id, { adAccountId: null });
40
- process.stdout.write("Cleared the pinned Meta ad account\n");
41
- return;
42
- }
43
- const adAccounts = await listAdAccounts(apiKey, connection.id);
44
- const adAccountId = await resolveChoice({
45
- requested: opts.adAccountId,
46
- options: adAccounts.map(account => ({ id: account.id, label: `${account.name} (${account.accountId})` })),
47
- noun: "ad account",
48
- listCommand: "terse integrate meta-ads scope --json",
49
- pinCommand: "terse integrate meta-ads pin-ad-account <ad-account-id>"
50
- });
51
- const updated = await writeScope(apiKey, connection.id, { adAccountId });
52
- process.stdout.write(`Pinned Meta ad account → ${updated.adAccountId}\n`);
53
- process.stdout.write(chalk.dim("Every Meta Ads tool call on this connection is now scoped to that ad account, and adAccountId can be omitted.\n"));
54
- }
55
- export async function metaAdsPinPage(opts) {
56
- const apiKey = readApiKeyOrBail();
57
- const connection = await requireConnection(apiKey);
58
- if (opts.clear) {
59
- await writeScope(apiKey, connection.id, { pageId: null });
60
- process.stdout.write("Cleared the pinned Facebook Page\n");
61
- return;
62
- }
63
- const pages = await listPages(apiKey, connection.id);
64
- const pageId = await resolveChoice({
65
- requested: opts.pageId,
66
- options: pages.map(page => ({ id: page.id, label: page.name })),
67
- noun: "Page",
68
- listCommand: "terse integrate meta-ads scope --json",
69
- pinCommand: "terse integrate meta-ads pin-page <page-id>"
70
- });
71
- const updated = await writeScope(apiKey, connection.id, { pageId });
72
- process.stdout.write(`Pinned Facebook Page → ${updated.pageId}\n`);
73
- }
74
- async function requireConnection(apiKey) {
75
- const integrations = await fetchWithAuth(ApiRoutes.META_ADS.INTEGRATIONS, apiKey);
76
- const connection = integrations[0];
77
- if (!connection) {
78
- throw new CliError("integration_not_connected", "Meta Ads is not connected.", {
79
- detail: "Run `terse integrate connect meta-ads` first.",
80
- actionRequired: true
81
- });
82
- }
83
- return connection;
84
- }
85
- function listAdAccounts(apiKey, integrationId) {
86
- return fetchWithAuth(buildRoute(ApiRoutes.META_ADS.AD_ACCOUNTS, { integrationId }), apiKey);
87
- }
88
- function listPages(apiKey, integrationId) {
89
- return fetchWithAuth(buildRoute(ApiRoutes.META_ADS.PAGES, { integrationId }), apiKey);
90
- }
91
- function writeScope(apiKey, integrationId, scope) {
92
- return fetchWithAuth(buildRoute(ApiRoutes.META_ADS.SCOPE, { integrationId }), apiKey, scope, "PATCH");
93
- }
94
- async function resolveChoice(args) {
95
- if (args.requested) {
96
- const match = args.options.find(option => option.id === args.requested);
97
- if (!match) {
98
- throw new CliError("unknown_meta_ads_target", `No Meta ${args.noun} with ID '${args.requested}' is reachable from this connection.`, {
99
- detail: `Available: ${args.options.map(option => `${option.id} (${option.label})`).join(", ") || "(none)"}`,
100
- exitCode: ErrorCode.BAD_ARGUMENTS
101
- });
102
- }
103
- return match.id;
104
- }
105
- if (args.options.length === 0) {
106
- throw new CliError("no_meta_ads_targets", `This Meta connection cannot reach any ${args.noun}.`, { actionRequired: true });
107
- }
108
- if (isNonInteractive()) {
109
- throw new CliError("meta_ads_target_required", `Pass a Meta ${args.noun} ID when running non-interactively.`, {
110
- detail: `List them with \`${args.listCommand}\`, then run \`${args.pinCommand}\`.`,
111
- exitCode: ErrorCode.BAD_ARGUMENTS
112
- });
113
- }
114
- const picked = abortIfCancelled(await select({
115
- message: `Select the Meta ${args.noun} to scope this connection to`,
116
- options: args.options.map(option => ({ value: option.id, label: option.label }))
117
- }));
118
- return String(picked);
119
- }
120
- //# sourceMappingURL=metaAdsScope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metaAdsScope.js","sourceRoot":"","sources":["../../src/commands/metaAdsScope.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=serve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=serve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":""}
@@ -1,28 +0,0 @@
1
- /**
2
- * Brand-colored wrappers for @clack/prompts.
3
- *
4
- * Clack uses hardcoded named ANSI colors with no theme API. We replicate its
5
- * chrome here using chalk true-color (24-bit RGB) derived from the design
6
- * token OKLCH values:
7
- *
8
- * primary: oklch(65% .16 155) → rgb(4, 171, 98) teal-green
9
- * secondary: oklch(65% .12 145) → rgb(93, 162, 96) muted green
10
- * tertiary: oklch(65% .15 30) → rgb(219, 102, 86) warm orange
11
- * destructive: oklch(60% .22 25) → rgb(230, 43, 52) red
12
- */
13
- export declare const primary: import("chalk").ChalkInstance;
14
- export declare const secondary: import("chalk").ChalkInstance;
15
- export declare const tertiary: import("chalk").ChalkInstance;
16
- export declare const destructive: import("chalk").ChalkInstance;
17
- /** Pass as the `styleFrame` option to `spinner()`. */
18
- export declare const spinnerStyle: (frame: string) => string;
19
- export declare const brandLog: {
20
- step: (msg: string) => void;
21
- info: (msg: string) => void;
22
- warn: (msg: string) => void;
23
- error: (msg: string) => void;
24
- };
25
- export declare function brandIntro(title?: string): void;
26
- export declare function brandOutro(message?: string): void;
27
- export declare function brandNote(message: string, title?: string): void;
28
- //# sourceMappingURL=terseCliTheme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terseCliTheme.d.ts","sourceRoot":"","sources":["../../src/commands/terseCliTheme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,eAAO,MAAM,OAAO,+BAA+B,CAAA;AACnD,eAAO,MAAM,SAAS,+BAA6B,CAAA;AACnD,eAAO,MAAM,QAAQ,+BAA8B,CAAA;AACnD,eAAO,MAAM,WAAW,+BAA2B,CAAA;AAInD,sDAAsD;AACtD,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,WAAmB,CAAA;AAW7D,eAAO,MAAM,QAAQ;gBACJ,MAAM;gBACN,MAAM;gBACN,MAAM;iBACN,MAAM;CACtB,CAAA;AAUD,wBAAgB,UAAU,CAAC,KAAK,SAAK,QAEpC;AAED,wBAAgB,UAAU,CAAC,OAAO,SAAK,QAEtC;AAWD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAK,QAepD"}
@@ -1,68 +0,0 @@
1
- /**
2
- * Brand-colored wrappers for @clack/prompts.
3
- *
4
- * Clack uses hardcoded named ANSI colors with no theme API. We replicate its
5
- * chrome here using chalk true-color (24-bit RGB) derived from the design
6
- * token OKLCH values:
7
- *
8
- * primary: oklch(65% .16 155) → rgb(4, 171, 98) teal-green
9
- * secondary: oklch(65% .12 145) → rgb(93, 162, 96) muted green
10
- * tertiary: oklch(65% .15 30) → rgb(219, 102, 86) warm orange
11
- * destructive: oklch(60% .22 25) → rgb(230, 43, 52) red
12
- */
13
- import { log } from "@clack/prompts";
14
- import chalk from "chalk";
15
- // ── Color tokens ──────────────────────────────────────────────────────────────
16
- export const primary = chalk.rgb(4, 171, 98);
17
- export const secondary = chalk.rgb(93, 162, 96);
18
- export const tertiary = chalk.rgb(219, 102, 86);
19
- export const destructive = chalk.rgb(230, 43, 52);
20
- // ── Spinner ───────────────────────────────────────────────────────────────────
21
- /** Pass as the `styleFrame` option to `spinner()`. */
22
- export const spinnerStyle = (frame) => primary(frame);
23
- // ── Log helpers ───────────────────────────────────────────────────────────────
24
- // Clack's log.step / log.info / log.warn / log.error hardcode their symbol
25
- // colors. We call log.message() directly with a branded symbol instead.
26
- const S_STEP = "◇";
27
- const S_INFO = "●";
28
- const S_WARN = "▲";
29
- const S_ERROR = "■";
30
- export const brandLog = {
31
- step: (msg) => log.message(msg, { symbol: primary(S_STEP) }),
32
- info: (msg) => log.message(msg, { symbol: secondary(S_INFO) }),
33
- warn: (msg) => log.message(msg, { symbol: tertiary(S_WARN) }),
34
- error: (msg) => log.message(msg, { symbol: destructive(S_ERROR) })
35
- };
36
- // ── Intro / Outro ─────────────────────────────────────────────────────────────
37
- // Clack's intro/outro output a gray guide bar. We replicate the same chrome
38
- // using our secondary color.
39
- const S_BAR_START = "┌";
40
- const S_BAR = "│";
41
- const S_BAR_END = "└";
42
- export function brandIntro(title = "") {
43
- process.stdout.write(`${secondary(S_BAR_START)} ${title}\n`);
44
- }
45
- export function brandOutro(message = "") {
46
- process.stdout.write(`${secondary(S_BAR)}\n${secondary(S_BAR_END)} ${message}\n\n`);
47
- }
48
- // ── Note ─────────────────────────────────────────────────────────────────────
49
- // Clack's note() hardcodes green for the title symbol and gray for borders.
50
- // We replicate the layout using our primary/secondary colors.
51
- const S_BAR_H = "─";
52
- const S_CORNER_TR = "╮";
53
- const S_TEE_L = "├";
54
- const S_CORNER_BR = "┴";
55
- export function brandNote(message, title = "") {
56
- const lines = message.split("\n");
57
- const width = Math.max(...lines.map(l => l.length), title.length) + 4;
58
- const pad = (s) => s + " ".repeat(width - s.length - 2);
59
- const border = S_BAR_H.repeat(width - title.length - 1);
60
- process.stdout.write([
61
- `${secondary(S_BAR)}`,
62
- `${primary(S_STEP)} ${chalk.reset(title)} ${secondary(border + S_CORNER_TR)}`,
63
- ...lines.map(l => `${secondary(S_BAR)} ${chalk.dim(pad(l))}${secondary(S_BAR)}`),
64
- `${secondary(S_TEE_L + S_BAR_H.repeat(width + 2) + S_CORNER_BR)}`,
65
- ""
66
- ].join("\n"));
67
- }
68
- //# sourceMappingURL=terseCliTheme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terseCliTheme.js","sourceRoot":"","sources":["../../src/commands/terseCliTheme.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export declare function toolDescribe(opts: ToolDescribeOpts): Promise<void>;
2
- export interface ToolDescribeOpts {
3
- readonly toolName: string;
4
- readonly json?: boolean;
5
- }
6
- //# sourceMappingURL=tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/commands/tool.ts"],"names":[],"mappings":"AAMA,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBxE;AAiBD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAC1B"}
@@ -1,34 +0,0 @@
1
- import chalk from "chalk";
2
- import { readApiKeyOrBail } from "../api.js";
3
- import { CliError } from "../cliError.js";
4
- import { fetchToolDetails } from "../toolCatalog.js";
5
- export async function toolDescribe(opts) {
6
- const apiKey = readApiKeyOrBail();
7
- const tools = await fetchToolDetails(apiKey);
8
- const match = tools.find(tool => tool.name === opts.toolName);
9
- if (!match) {
10
- throw new CliError("unknown_tool", `Unknown tool: ${opts.toolName}`, {
11
- detail: "Run `terse integrate describe <type> --json` to list the tools of an integration."
12
- });
13
- }
14
- if (opts.json) {
15
- process.stdout.write(JSON.stringify(match, null, 2) + "\n");
16
- return;
17
- }
18
- printToolDetails(match);
19
- }
20
- function printToolDetails(tool) {
21
- const readOnly = tool.isReadOnly ? chalk.dim(" (read-only)") : "";
22
- process.stdout.write(`${chalk.bold(tool.displayName)} ${chalk.dim(`[${tool.name}]`)}${readOnly}\n`);
23
- process.stdout.write(`Integration: ${tool.integration}\n`);
24
- process.stdout.write(`Supports approval: ${tool.supportsApproval ? "yes" : "no"}\n\n`);
25
- process.stdout.write(`${tool.description}\n`);
26
- process.stdout.write(`\nInput schema:\n${formatSchema(tool.inputSchema)}\n`);
27
- process.stdout.write(`\nOutput schema:\n${formatSchema(tool.outputSchema)}\n`);
28
- }
29
- function formatSchema(schema) {
30
- if (schema === null)
31
- return chalk.dim(" (not available in this CLI version — update terse-cli)");
32
- return JSON.stringify(schema, null, 2);
33
- }
34
- //# sourceMappingURL=tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/commands/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAoB,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEtE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAsB;IACrD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,iBAAiB,IAAI,CAAC,QAAQ,EAAE,EAAE;YACjE,MAAM,EAAE,mFAAmF;SAC9F,CAAC,CAAA;IACN,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAC3D,OAAM;IACV,CAAC;IAED,gBAAgB,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAiB;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAA;IACnG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,WAAW,IAAI,CAAC,CAAA;IAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAA;IACtF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAA;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;AAClF,CAAC;AAED,SAAS,YAAY,CAAC,MAAe;IACjC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;IACjG,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAC1C,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const STANDARD_SLACK_EMOJI: readonly string[];
2
- //# sourceMappingURL=standardSlackEmoji.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standardSlackEmoji.d.ts","sourceRoot":"","sources":["../../src/data/standardSlackEmoji.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAq7DjD,CAAA"}