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.
- package/dist/codegen.d.ts +0 -15
- package/dist/codegen.d.ts.map +1 -1
- package/dist/codegen.js +81 -466
- package/dist/codegen.js.map +1 -1
- package/dist/deploy.d.ts +1 -2
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +38 -61
- package/dist/deploy.js.map +1 -1
- package/dist/generate.d.ts +1 -2
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +69 -67
- package/dist/generate.js.map +1 -1
- package/dist/init.d.ts +1 -2
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +96 -45
- package/dist/init.js.map +1 -1
- package/dist/integrate.d.ts +0 -1
- package/dist/integrate.d.ts.map +1 -1
- package/dist/integrate.js +11 -191
- package/dist/integrate.js.map +1 -1
- package/dist/jsonOutput.d.ts +19 -0
- package/dist/jsonOutput.d.ts.map +1 -0
- package/dist/jsonOutput.js +25 -0
- package/dist/jsonOutput.js.map +1 -0
- package/dist/nonInteractive.d.ts +2 -4
- package/dist/nonInteractive.d.ts.map +1 -1
- package/dist/nonInteractive.js +2 -5
- package/dist/nonInteractive.js.map +1 -1
- package/dist/providers/python/PythonProvider.js +0 -1
- package/dist/providers/python/PythonProvider.js.map +1 -1
- package/dist/providers/typescript/parkSignals.d.ts +7 -0
- package/dist/providers/typescript/parkSignals.d.ts.map +1 -0
- package/dist/providers/typescript/parkSignals.js +45 -0
- package/dist/providers/typescript/parkSignals.js.map +1 -0
- package/dist/replay.d.ts +3 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/replay.js +20 -0
- package/dist/replay.js.map +1 -0
- package/dist/run.d.ts +11 -2
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +153 -42
- package/dist/run.js.map +1 -1
- package/dist/sampleEventId.d.ts +4 -0
- package/dist/sampleEventId.d.ts.map +1 -1
- package/dist/sampleEventId.js +4 -0
- package/dist/sampleEventId.js.map +1 -1
- package/dist/shared/ApiRoutes.d.ts +0 -19
- package/dist/shared/ApiRoutes.d.ts.map +1 -1
- package/dist/shared/ApiRoutes.js +1 -17
- package/dist/shared/ApiRoutes.js.map +1 -1
- package/dist/shared/Configs.d.ts +2 -24
- package/dist/shared/Configs.d.ts.map +1 -1
- package/dist/shared/Configs.js +2 -32
- package/dist/shared/Configs.js.map +1 -1
- package/dist/shared/Integrations.d.ts +1 -18
- package/dist/shared/Integrations.d.ts.map +1 -1
- package/dist/shared/Integrations.js +1 -10
- package/dist/shared/Integrations.js.map +1 -1
- package/dist/shared/InvalidationKeys.d.ts +0 -1
- package/dist/shared/InvalidationKeys.d.ts.map +1 -1
- package/dist/shared/InvalidationKeys.js +0 -3
- package/dist/shared/InvalidationKeys.js.map +1 -1
- package/dist/shared/ModelEvents.d.ts +0 -9
- package/dist/shared/ModelEvents.d.ts.map +1 -1
- package/dist/shared/ModelEvents.js +0 -15
- package/dist/shared/ModelEvents.js.map +1 -1
- package/dist/shared/ToolDisplayUtils.d.ts.map +1 -1
- package/dist/shared/ToolDisplayUtils.js +11 -107
- package/dist/shared/ToolDisplayUtils.js.map +1 -1
- package/dist/shared/types.d.ts +108 -1013
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js.map +1 -1
- package/dist/test.d.ts +1 -2
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +23 -43
- package/dist/test.js.map +1 -1
- package/dist/testRelay.d.ts +6 -0
- package/dist/testRelay.d.ts.map +1 -0
- package/dist/testRelay.js +91 -0
- package/dist/testRelay.js.map +1 -0
- package/dist/urls.d.ts +3 -0
- package/dist/urls.d.ts.map +1 -0
- package/dist/urls.js +27 -0
- package/dist/urls.js.map +1 -0
- package/dist/util.d.ts +3 -2
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +3 -3
- package/dist/util.js.map +1 -1
- package/package.json +3 -3
- package/src/providers/typescript/modules/github/github.triggers.hbs +9 -1
- package/dist/_tmp_create_project.d.ts +0 -2
- package/dist/_tmp_create_project.d.ts.map +0 -1
- package/dist/_tmp_create_project.js +0 -17
- package/dist/_tmp_create_project.js.map +0 -1
- package/dist/_tmp_delete_agent.d.ts +0 -2
- package/dist/_tmp_delete_agent.d.ts.map +0 -1
- package/dist/_tmp_delete_agent.js +0 -14
- package/dist/_tmp_delete_agent.js.map +0 -1
- package/dist/_tmp_manual_trigger.d.ts +0 -2
- package/dist/_tmp_manual_trigger.d.ts.map +0 -1
- package/dist/_tmp_manual_trigger.js +0 -17
- package/dist/_tmp_manual_trigger.js.map +0 -1
- package/dist/_tmp_patch_active.d.ts +0 -2
- package/dist/_tmp_patch_active.d.ts.map +0 -1
- package/dist/_tmp_patch_active.js +0 -21
- package/dist/_tmp_patch_active.js.map +0 -1
- package/dist/commands/deployTheme.d.ts +0 -28
- package/dist/commands/deployTheme.d.ts.map +0 -1
- package/dist/commands/deployTheme.js +0 -68
- package/dist/commands/deployTheme.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -3
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -47
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/fsExec.d.ts +0 -8
- package/dist/commands/fsExec.d.ts.map +0 -1
- package/dist/commands/fsExec.js +0 -46
- package/dist/commands/fsExec.js.map +0 -1
- package/dist/commands/metaAdsScope.d.ts +0 -12
- package/dist/commands/metaAdsScope.d.ts.map +0 -1
- package/dist/commands/metaAdsScope.js +0 -120
- package/dist/commands/metaAdsScope.js.map +0 -1
- package/dist/commands/serve.d.ts +0 -1
- package/dist/commands/serve.d.ts.map +0 -1
- package/dist/commands/serve.js +0 -2
- package/dist/commands/serve.js.map +0 -1
- package/dist/commands/terseCliTheme.d.ts +0 -28
- package/dist/commands/terseCliTheme.d.ts.map +0 -1
- package/dist/commands/terseCliTheme.js +0 -68
- package/dist/commands/terseCliTheme.js.map +0 -1
- package/dist/commands/tool.d.ts +0 -6
- package/dist/commands/tool.d.ts.map +0 -1
- package/dist/commands/tool.js +0 -34
- package/dist/commands/tool.js.map +0 -1
- package/dist/data/standardSlackEmoji.d.ts +0 -2
- package/dist/data/standardSlackEmoji.d.ts.map +0 -1
- package/dist/data/standardSlackEmoji.js +0 -1978
- package/dist/data/standardSlackEmoji.js.map +0 -1
- package/dist/data/standardSlackEmoji.json +0 -1974
- package/dist/perf.d.ts +0 -9
- package/dist/perf.d.ts.map +0 -1
- package/dist/perf.js +0 -59
- package/dist/perf.js.map +0 -1
- package/dist/providers/codegen.test.d.ts +0 -2
- package/dist/providers/codegen.test.d.ts.map +0 -1
- package/dist/providers/codegen.test.js +0 -45
- package/dist/providers/codegen.test.js.map +0 -1
- package/dist/providers/python/PythonProvider.test.d.ts +0 -2
- package/dist/providers/python/PythonProvider.test.d.ts.map +0 -1
- package/dist/providers/python/PythonProvider.test.js +0 -169
- package/dist/providers/python/PythonProvider.test.js.map +0 -1
- package/dist/providers/typescript/attioProjection.d.ts +0 -50
- package/dist/providers/typescript/attioProjection.d.ts.map +0 -1
- package/dist/providers/typescript/attioProjection.js +0 -358
- package/dist/providers/typescript/attioProjection.js.map +0 -1
- package/dist/providers/typescript/modules/cursor/CursorModule.d.ts +0 -20
- package/dist/providers/typescript/modules/cursor/CursorModule.d.ts.map +0 -1
- package/dist/providers/typescript/modules/cursor/CursorModule.js +0 -27
- package/dist/providers/typescript/modules/cursor/CursorModule.js.map +0 -1
- package/dist/providers/typescript/prepareCodegenData.test.d.ts +0 -2
- package/dist/providers/typescript/prepareCodegenData.test.d.ts.map +0 -1
- package/dist/providers/typescript/prepareCodegenData.test.js +0 -54
- package/dist/providers/typescript/prepareCodegenData.test.js.map +0 -1
- package/dist/providers/typescript/projectedTypes.d.ts +0 -11
- package/dist/providers/typescript/projectedTypes.d.ts.map +0 -1
- package/dist/providers/typescript/projectedTypes.js +0 -53
- package/dist/providers/typescript/projectedTypes.js.map +0 -1
- package/dist/providers/typescript/projectionPrinter.d.ts +0 -26
- package/dist/providers/typescript/projectionPrinter.d.ts.map +0 -1
- package/dist/providers/typescript/projectionPrinter.js +0 -110
- package/dist/providers/typescript/projectionPrinter.js.map +0 -1
- package/dist/providers/typescript/replayLogDedupe.d.ts +0 -6
- package/dist/providers/typescript/replayLogDedupe.d.ts.map +0 -1
- package/dist/providers/typescript/replayLogDedupe.js +0 -156
- package/dist/providers/typescript/replayLogDedupe.js.map +0 -1
- package/dist/providers/typescript/triggerPayloads.d.ts +0 -7
- package/dist/providers/typescript/triggerPayloads.d.ts.map +0 -1
- package/dist/providers/typescript/triggerPayloads.js +0 -60
- package/dist/providers/typescript/triggerPayloads.js.map +0 -1
- package/dist/providers/typescript/triggerTypeRegistry.d.ts +0 -7
- package/dist/providers/typescript/triggerTypeRegistry.d.ts.map +0 -1
- package/dist/providers/typescript/triggerTypeRegistry.js +0 -198
- package/dist/providers/typescript/triggerTypeRegistry.js.map +0 -1
- package/dist/triggerParseDetail.d.ts +0 -8
- package/dist/triggerParseDetail.d.ts.map +0 -1
- package/dist/triggerParseDetail.js +0 -30
- package/dist/triggerParseDetail.js.map +0 -1
- 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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"}
|
package/dist/commands/dev.d.ts
DELETED
|
@@ -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"}
|
package/dist/commands/dev.js
DELETED
|
@@ -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
|
package/dist/commands/dev.js.map
DELETED
|
@@ -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"}
|
package/dist/commands/fsExec.js
DELETED
|
@@ -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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"}
|
package/dist/commands/serve.d.ts
DELETED
|
@@ -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":""}
|
package/dist/commands/serve.js
DELETED
|
@@ -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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"}
|
package/dist/commands/tool.d.ts
DELETED
|
@@ -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"}
|
package/dist/commands/tool.js
DELETED
|
@@ -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 +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"}
|