@noodleseed/one 0.7.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/banner.d.ts +11 -0
- package/dist/banner.d.ts.map +1 -0
- package/dist/banner.js +183 -0
- package/dist/banner.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/author-loop.d.ts.map +1 -1
- package/dist/commands/author-loop.js +78 -3
- package/dist/commands/author-loop.js.map +1 -1
- package/dist/commands/deploy-ops.d.ts +1 -30
- package/dist/commands/deploy-ops.d.ts.map +1 -1
- package/dist/commands/deploy-ops.js +79 -88
- package/dist/commands/deploy-ops.js.map +1 -1
- package/dist/commands/deploy-output.d.ts +31 -0
- package/dist/commands/deploy-output.d.ts.map +1 -0
- package/dist/commands/deploy-output.js +86 -0
- package/dist/commands/deploy-output.js.map +1 -0
- package/dist/commands/deploy-version-resolution.d.ts +20 -0
- package/dist/commands/deploy-version-resolution.d.ts.map +1 -0
- package/dist/commands/deploy-version-resolution.js +77 -0
- package/dist/commands/deploy-version-resolution.js.map +1 -0
- package/dist/commands/docs-mcp.d.ts +32 -0
- package/dist/commands/docs-mcp.d.ts.map +1 -0
- package/dist/commands/docs-mcp.js +66 -0
- package/dist/commands/docs-mcp.js.map +1 -0
- package/dist/commands/mcp-apps.d.ts.map +1 -1
- package/dist/commands/mcp-apps.js +38 -37
- package/dist/commands/mcp-apps.js.map +1 -1
- package/dist/commands/project-setup.d.ts +1 -1
- package/dist/commands/project-setup.d.ts.map +1 -1
- package/dist/commands/project-setup.js +36 -2
- package/dist/commands/project-setup.js.map +1 -1
- package/dist/commands/shared.d.ts +1 -0
- package/dist/commands/shared.d.ts.map +1 -1
- package/dist/commands/shared.js +10 -4
- package/dist/commands/shared.js.map +1 -1
- package/dist/deploy-version.d.ts +3 -0
- package/dist/deploy-version.d.ts.map +1 -0
- package/dist/deploy-version.js +28 -0
- package/dist/deploy-version.js.map +1 -0
- package/dist/deploy.d.ts +5 -1
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +27 -3
- package/dist/deploy.js.map +1 -1
- package/dist/dev.d.ts.map +1 -1
- package/dist/dev.js +9 -1
- package/dist/dev.js.map +1 -1
- package/dist/devtools-chat.d.ts +76 -0
- package/dist/devtools-chat.d.ts.map +1 -0
- package/dist/devtools-chat.js +114 -0
- package/dist/devtools-chat.js.map +1 -0
- package/dist/devtools-env.d.ts +16 -0
- package/dist/devtools-env.d.ts.map +1 -0
- package/dist/devtools-env.js +71 -0
- package/dist/devtools-env.js.map +1 -0
- package/dist/devtools-harness.d.ts +28 -0
- package/dist/devtools-harness.d.ts.map +1 -0
- package/dist/devtools-harness.js +387 -0
- package/dist/devtools-harness.js.map +1 -0
- package/dist/devtools-preview.d.ts +42 -0
- package/dist/devtools-preview.d.ts.map +1 -0
- package/dist/devtools-preview.js +394 -0
- package/dist/devtools-preview.js.map +1 -0
- package/dist/first-run-entry.d.ts +2 -0
- package/dist/first-run-entry.d.ts.map +1 -0
- package/dist/first-run-entry.js +36 -0
- package/dist/first-run-entry.js.map +1 -0
- package/dist/first-run.d.ts +26 -0
- package/dist/first-run.d.ts.map +1 -0
- package/dist/first-run.js +439 -0
- package/dist/first-run.js.map +1 -0
- package/dist/gradient.d.ts +46 -0
- package/dist/gradient.d.ts.map +1 -0
- package/dist/gradient.js +87 -0
- package/dist/gradient.js.map +1 -0
- package/dist/openapi-import.d.ts.map +1 -1
- package/dist/openapi-import.js +47 -8
- package/dist/openapi-import.js.map +1 -1
- package/dist/preview-session.d.ts +46 -0
- package/dist/preview-session.d.ts.map +1 -0
- package/dist/preview-session.js +132 -0
- package/dist/preview-session.js.map +1 -0
- package/dist/project.d.ts +2 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +2 -0
- package/dist/project.js.map +1 -1
- package/dist/prompts.d.ts +61 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +209 -0
- package/dist/prompts.js.map +1 -0
- package/dist/react-widget-build.js +3 -1
- package/dist/react-widget-build.js.map +1 -1
- package/dist/status.d.ts +58 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +106 -0
- package/dist/status.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js +4 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.d.ts +23 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.d.ts.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.js +41 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.js.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts +2 -6
- package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile.js +10 -32
- package/node_modules/@noodle-borg/connector-defs/dist/compile.js.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts +16 -0
- package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/schema.js +6 -0
- package/node_modules/@noodle-borg/connector-defs/dist/schema.js.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts +7 -0
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.js +14 -5
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.js.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.d.ts +12 -0
- package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.js +41 -0
- package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
- package/node_modules/@noodle-borg/openapi-import/dist/index.d.ts +4 -0
- package/node_modules/@noodle-borg/openapi-import/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/openapi-import/dist/index.js +27 -1
- package/node_modules/@noodle-borg/openapi-import/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/openapi-import/dist/response-schema.d.ts +50 -0
- package/node_modules/@noodle-borg/openapi-import/dist/response-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/openapi-import/dist/response-schema.js +227 -0
- package/node_modules/@noodle-borg/openapi-import/dist/response-schema.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +20 -2
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +37 -2
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/deployment-versioning.d.ts +18 -0
- package/node_modules/@noodle-borg/service/dist/deployment-versioning.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/deployment-versioning.js +29 -0
- package/node_modules/@noodle-borg/service/dist/deployment-versioning.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/main.js +7 -0
- package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/app.js +2 -1
- package/node_modules/@noodle-borg/service/dist/oauth/app.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/branding.d.ts +30 -0
- package/node_modules/@noodle-borg/service/dist/oauth/branding.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/branding.js +224 -0
- package/node_modules/@noodle-borg/service/dist/oauth/branding.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/consent.d.ts +0 -6
- package/node_modules/@noodle-borg/service/dist/oauth/consent.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/consent.js +23 -34
- package/node_modules/@noodle-borg/service/dist/oauth/consent.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/customer-bridge.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/customer-bridge.js +13 -28
- package/node_modules/@noodle-borg/service/dist/oauth/customer-bridge.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-helpers.js +5 -3
- package/node_modules/@noodle-borg/service/dist/registry-helpers.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-targets.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/registry-targets.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-targets.js +4 -0
- package/node_modules/@noodle-borg/service/dist/registry-targets.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-types.d.ts +59 -0
- package/node_modules/@noodle-borg/service/dist/registry-types.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/registry-types.js +2 -0
- package/node_modules/@noodle-borg/service/dist/registry-types.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/registry.d.ts +8 -65
- package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry.js +100 -82
- package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.d.ts +4 -0
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.js +15 -0
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +34 -21
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/rollback.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/rollback.js +4 -6
- package/node_modules/@noodle-borg/service/dist/routes/rollback.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.js +72 -32
- package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/server-auth-bindings.d.ts +7 -0
- package/node_modules/@noodle-borg/service/dist/server-auth-bindings.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/server-auth-bindings.js +14 -0
- package/node_modules/@noodle-borg/service/dist/server-auth-bindings.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.js +32 -3
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +13 -2
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts +3 -2
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.js +41 -9
- package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.d.ts +9 -3
- package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.js +29 -27
- package/node_modules/@noodle-borg/service/dist/store.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts +1 -0
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.js +37 -0
- package/node_modules/@noodle-borg/transport-http/dist/handler.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.d.ts +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/prompts.js
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal, dependency-free prompt layer for the guided `noodle start` wizard:
|
|
3
|
+
* a warm-styled select / text / confirm on `node:readline`, adaptive to the terminal
|
|
4
|
+
* (truecolor / 256-color / none, Unicode / ASCII glyphs). Pure renderers are exported
|
|
5
|
+
* for tests; the interactive runners are a thin keypress shell on top.
|
|
6
|
+
*
|
|
7
|
+
* Non-interactive callers (agents, `--json`, CI) never reach the readline layer —
|
|
8
|
+
* `resolveAnswer` pulls from a supplied answer map and throws `MissingAnswerError`
|
|
9
|
+
* (with the flag that would supply it) instead of blocking on a prompt.
|
|
10
|
+
*/
|
|
11
|
+
import { emitKeypressEvents } from 'node:readline';
|
|
12
|
+
import { CLEAR_EOL, cursorUp, detectColorMode, detectGlyphMode, HIDE_CURSOR, paint, SHOW_CURSOR, } from './gradient.js';
|
|
13
|
+
const CR = String.fromCharCode(13);
|
|
14
|
+
const NL = String.fromCharCode(10);
|
|
15
|
+
const ORANGE = [249, 115, 22];
|
|
16
|
+
const AMBER = [245, 158, 11];
|
|
17
|
+
const GREEN = [34, 197, 94];
|
|
18
|
+
const INK = [230, 230, 230];
|
|
19
|
+
const DIM = [125, 125, 125];
|
|
20
|
+
const FAINT = [90, 90, 90];
|
|
21
|
+
const ROSE = [244, 63, 94];
|
|
22
|
+
/** Choose a glyph by terminal capability. */
|
|
23
|
+
const g = (unicode, ascii, glyph) => glyph === 'unicode' ? unicode : ascii;
|
|
24
|
+
/**
|
|
25
|
+
* A prompt is interactive on a real TTY that isn't CI. Interactivity is independent
|
|
26
|
+
* of color — `NO_COLOR` on a TTY still runs the prompts, just uncolored (the runners
|
|
27
|
+
* pick color via `detectColorMode`). Only a non-TTY or CI disables interaction.
|
|
28
|
+
*/
|
|
29
|
+
export function isInteractive(input = process.stdin, output = process.stdout) {
|
|
30
|
+
return input.isTTY === true && output.isTTY === true && process.env.CI === undefined;
|
|
31
|
+
}
|
|
32
|
+
/** Raised when a required answer is not supplied in non-interactive mode. Carries the flag that would. */
|
|
33
|
+
export class MissingAnswerError extends Error {
|
|
34
|
+
key;
|
|
35
|
+
flag;
|
|
36
|
+
constructor(key, flag) {
|
|
37
|
+
super(`missing answer for "${key}" — supply ${flag}`);
|
|
38
|
+
this.key = key;
|
|
39
|
+
this.flag = flag;
|
|
40
|
+
this.name = 'MissingAnswerError';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** Raised when the user aborts a prompt (Esc / Ctrl+C). */
|
|
44
|
+
export class AbortPromptError extends Error {
|
|
45
|
+
constructor() {
|
|
46
|
+
super('aborted');
|
|
47
|
+
this.name = 'AbortPromptError';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolve an answer without prompting: return the supplied value, else the default,
|
|
52
|
+
* else throw MissingAnswerError. This is the seam the interactive runners and the
|
|
53
|
+
* non-interactive (`--json`/agent) path share, so both honor the same answer map.
|
|
54
|
+
*/
|
|
55
|
+
export function resolveAnswer(answers, key, flag, fallback) {
|
|
56
|
+
const supplied = answers?.[key];
|
|
57
|
+
if (supplied !== undefined)
|
|
58
|
+
return supplied;
|
|
59
|
+
if (fallback !== undefined)
|
|
60
|
+
return fallback;
|
|
61
|
+
throw new MissingAnswerError(key, flag);
|
|
62
|
+
}
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
// Pure renderers (unit-tested)
|
|
65
|
+
// ---------------------------------------------------------------------------
|
|
66
|
+
/** Render a select menu to its lines: a message line + one line per option. */
|
|
67
|
+
export function renderSelect(message, options, index, color, glyph = 'unicode') {
|
|
68
|
+
const head = `${paint(AMBER, '?', color)} ${paint(INK, message, color)}`;
|
|
69
|
+
const rows = options.map((opt, i) => {
|
|
70
|
+
const active = i === index;
|
|
71
|
+
const pointer = active ? paint(ORANGE, g('❯', '>', glyph), color) : ' ';
|
|
72
|
+
const label = paint(active ? INK : DIM, opt.label, color);
|
|
73
|
+
const hint = opt.hint ? ` ${paint(FAINT, opt.hint, color)}` : '';
|
|
74
|
+
return ` ${pointer} ${label}${hint}`;
|
|
75
|
+
});
|
|
76
|
+
return [head, ...rows];
|
|
77
|
+
}
|
|
78
|
+
/** Render the settled select line (after a choice): `✔ message · label`. */
|
|
79
|
+
export function renderSelectResult(message, label, color, glyph = 'unicode') {
|
|
80
|
+
return `${paint(GREEN, g('✔', '+', glyph), color)} ${paint(DIM, message, color)} ${paint(INK, label, color)}`;
|
|
81
|
+
}
|
|
82
|
+
/** Render a text/confirm prompt line. `value` is the current buffer (may be empty). */
|
|
83
|
+
export function renderText(message, value, color, glyph = 'unicode') {
|
|
84
|
+
const arrow = paint(FAINT, g('›', '>', glyph), color);
|
|
85
|
+
return `${paint(AMBER, '?', color)} ${paint(INK, message, color)} ${arrow} ${paint(INK, value, color)}`;
|
|
86
|
+
}
|
|
87
|
+
/** Render the settled text/confirm result line. */
|
|
88
|
+
export function renderTextResult(message, value, color, glyph = 'unicode') {
|
|
89
|
+
return `${paint(GREEN, g('✔', '+', glyph), color)} ${paint(DIM, message, color)} ${paint(INK, value, color)}`;
|
|
90
|
+
}
|
|
91
|
+
/** Interactive arrow-key select. Resolves the chosen value; rejects AbortPromptError on Esc/Ctrl+C. */
|
|
92
|
+
export function select(message, options, opts = {}) {
|
|
93
|
+
if (options.length === 0) {
|
|
94
|
+
return Promise.reject(new RangeError('select requires at least one option'));
|
|
95
|
+
}
|
|
96
|
+
const input = opts.input ?? process.stdin;
|
|
97
|
+
const output = opts.output ?? process.stdout;
|
|
98
|
+
const color = detectColorMode(output);
|
|
99
|
+
const glyph = detectGlyphMode();
|
|
100
|
+
return new Promise((resolve, reject) => {
|
|
101
|
+
let index = Math.max(0, Math.min(options.length - 1, opts.initial ?? 0));
|
|
102
|
+
let drawn = 0;
|
|
103
|
+
emitKeypressEvents(input);
|
|
104
|
+
const wasRaw = input.isRaw === true;
|
|
105
|
+
if (input.isTTY)
|
|
106
|
+
input.setRawMode(true);
|
|
107
|
+
output.write(HIDE_CURSOR);
|
|
108
|
+
const draw = () => {
|
|
109
|
+
if (drawn > 0)
|
|
110
|
+
output.write(cursorUp(drawn));
|
|
111
|
+
const lines = renderSelect(message, options, index, color, glyph);
|
|
112
|
+
output.write(lines.map((l) => `${CR}${l}${CLEAR_EOL}`).join(NL) + NL);
|
|
113
|
+
drawn = lines.length;
|
|
114
|
+
};
|
|
115
|
+
const cleanup = () => {
|
|
116
|
+
input.off('keypress', onKey);
|
|
117
|
+
if (input.isTTY)
|
|
118
|
+
input.setRawMode(wasRaw);
|
|
119
|
+
output.write(SHOW_CURSOR);
|
|
120
|
+
};
|
|
121
|
+
const onKey = (_s, key = {}) => {
|
|
122
|
+
if (key.name === 'up' || key.name === 'k')
|
|
123
|
+
index = (index - 1 + options.length) % options.length;
|
|
124
|
+
else if (key.name === 'down' || key.name === 'j')
|
|
125
|
+
index = (index + 1) % options.length;
|
|
126
|
+
else if (key.name === 'return' || key.name === 'enter') {
|
|
127
|
+
cleanup();
|
|
128
|
+
const chosen = options[index];
|
|
129
|
+
output.write(cursorUp(drawn) +
|
|
130
|
+
CR +
|
|
131
|
+
renderSelectResult(message, chosen.label, color, glyph) +
|
|
132
|
+
CLEAR_EOL +
|
|
133
|
+
NL);
|
|
134
|
+
resolve(chosen.value);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
else if (key.name === 'escape' || (key.ctrl === true && key.name === 'c')) {
|
|
138
|
+
cleanup();
|
|
139
|
+
reject(new AbortPromptError());
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
draw();
|
|
143
|
+
};
|
|
144
|
+
input.on('keypress', onKey);
|
|
145
|
+
draw();
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
/** Interactive free-text prompt with a default. Rejects AbortPromptError on Ctrl+C. */
|
|
149
|
+
export function text(message, opts = {}) {
|
|
150
|
+
const input = opts.input ?? process.stdin;
|
|
151
|
+
const output = opts.output ?? process.stdout;
|
|
152
|
+
const color = detectColorMode(output);
|
|
153
|
+
const glyph = detectGlyphMode();
|
|
154
|
+
return new Promise((resolve, reject) => {
|
|
155
|
+
let buf = opts.initial ?? '';
|
|
156
|
+
emitKeypressEvents(input);
|
|
157
|
+
const wasRaw = input.isRaw === true;
|
|
158
|
+
if (input.isTTY)
|
|
159
|
+
input.setRawMode(true);
|
|
160
|
+
const redraw = () => {
|
|
161
|
+
output.write(`${CR}${renderText(message, buf, color, glyph)}${CLEAR_EOL}`);
|
|
162
|
+
};
|
|
163
|
+
const cleanup = () => {
|
|
164
|
+
input.off('keypress', onKey);
|
|
165
|
+
if (input.isTTY)
|
|
166
|
+
input.setRawMode(wasRaw);
|
|
167
|
+
};
|
|
168
|
+
const onKey = (s, key = {}) => {
|
|
169
|
+
if (key.name === 'return' || key.name === 'enter') {
|
|
170
|
+
const err = opts.validate?.(buf);
|
|
171
|
+
if (err) {
|
|
172
|
+
// Keep the error on its own line; redraw the prompt on the next line, not over it.
|
|
173
|
+
output.write(`${NL} ${paint(ROSE, err, color)}${CLEAR_EOL}${NL}`);
|
|
174
|
+
redraw();
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
cleanup();
|
|
178
|
+
output.write(`${CR}${renderTextResult(message, buf || '(empty)', color, glyph)}${CLEAR_EOL}${NL}`);
|
|
179
|
+
resolve(buf);
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
if (key.ctrl === true && key.name === 'c') {
|
|
183
|
+
cleanup();
|
|
184
|
+
reject(new AbortPromptError());
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
if (key.name === 'backspace')
|
|
188
|
+
buf = buf.slice(0, -1);
|
|
189
|
+
else if (s && !key.ctrl && s.length === 1 && s >= ' ')
|
|
190
|
+
buf += s;
|
|
191
|
+
redraw();
|
|
192
|
+
};
|
|
193
|
+
input.on('keypress', onKey);
|
|
194
|
+
redraw();
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
/** Interactive yes/no confirm. */
|
|
198
|
+
export async function confirm(message, opts = {}) {
|
|
199
|
+
const options = [
|
|
200
|
+
{ value: true, label: 'Yes' },
|
|
201
|
+
{ value: false, label: 'No' },
|
|
202
|
+
];
|
|
203
|
+
return select(message, options, {
|
|
204
|
+
initial: opts.initial === false ? 1 : 0,
|
|
205
|
+
...(opts.input ? { input: opts.input } : {}),
|
|
206
|
+
...(opts.output ? { output: opts.output } : {}),
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,7 +69,9 @@ async function buildReactWidgetHtml(input) {
|
|
|
69
69
|
input: generatedEntry,
|
|
70
70
|
output: {
|
|
71
71
|
format: 'es',
|
|
72
|
-
|
|
72
|
+
// Single self-contained widget bundle. `codeSplitting: false` is the current Rolldown spelling
|
|
73
|
+
// of the deprecated `inlineDynamicImports: true` (which logged a warning below Vite's logger).
|
|
74
|
+
codeSplitting: false,
|
|
73
75
|
entryFileNames: 'widget.js',
|
|
74
76
|
assetFileNames: 'widget.[ext]',
|
|
75
77
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-widget-build.js","sourceRoot":"","sources":["../src/react-widget-build.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"react-widget-build.js","sourceRoot":"","sources":["../src/react-widget-build.ts"],"names":[],"mappings":"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"}
|
package/dist/status.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TTY-aware progress status for the CLI: a warm-gradient spinner for the active
|
|
3
|
+
* step, and semantic step glyphs (done / fail / warn / pending) for the settled
|
|
4
|
+
* ones. Adapts to the terminal — truecolor where advertised, a 256-color fallback
|
|
5
|
+
* elsewhere (so macOS Terminal.app and bare xterm stay warm), and ASCII glyphs when
|
|
6
|
+
* Unicode isn't safe. Under `--json` (the caller gates), pipes, CI, and `NO_COLOR`
|
|
7
|
+
* it degrades to plain, escape-free lines so scripting/agent output stays clean.
|
|
8
|
+
*/
|
|
9
|
+
import { type ColorMode, type GlyphMode } from './gradient.js';
|
|
10
|
+
/** Semantic step glyphs (Unicode + ASCII fallback) and their colors. */
|
|
11
|
+
declare const SYMBOLS_UNICODE: {
|
|
12
|
+
readonly done: "✔";
|
|
13
|
+
readonly fail: "✗";
|
|
14
|
+
readonly warn: "⚠";
|
|
15
|
+
readonly pending: "◦";
|
|
16
|
+
};
|
|
17
|
+
export declare const SYMBOLS: {
|
|
18
|
+
readonly done: "✔";
|
|
19
|
+
readonly fail: "✗";
|
|
20
|
+
readonly warn: "⚠";
|
|
21
|
+
readonly pending: "◦";
|
|
22
|
+
};
|
|
23
|
+
export type StepKind = keyof typeof SYMBOLS_UNICODE;
|
|
24
|
+
/** One spinner frame: `<glyph> <label>`, warm-tinted (flowing hue by index) per color mode. */
|
|
25
|
+
export declare function renderSpinnerFrame(index: number, label: string, color: ColorMode, glyph?: GlyphMode): string;
|
|
26
|
+
/** One settled step line: `<symbol> <text>`, semantic color per color mode. */
|
|
27
|
+
export declare function renderStep(kind: StepKind, text: string, color: ColorMode, glyph?: GlyphMode): string;
|
|
28
|
+
export interface Spinner {
|
|
29
|
+
/** Change the label shown next to the spinner. */
|
|
30
|
+
update(label: string): void;
|
|
31
|
+
/** Stop and print a green ✔ line (defaults to the current label). */
|
|
32
|
+
succeed(text?: string): void;
|
|
33
|
+
/** Stop and print a rose ✗ line (defaults to the current label). */
|
|
34
|
+
fail(text?: string): void;
|
|
35
|
+
/** Stop and print an amber ⚠ line (defaults to the current label). */
|
|
36
|
+
warn(text?: string): void;
|
|
37
|
+
/** Stop and clear the line, printing nothing. */
|
|
38
|
+
stop(): void;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Start a progress spinner on `stream` (stdout by default). Animates on any colored
|
|
42
|
+
* TTY (truecolor or 256-color); on a plain/non-color stream it prints nothing until
|
|
43
|
+
* it settles, then emits a single escape-free line.
|
|
44
|
+
*/
|
|
45
|
+
export declare function startSpinner(label: string, stream?: NodeJS.WriteStream): Spinner;
|
|
46
|
+
/** Print a standalone settled step line (no spinner), TTY/terminal-aware. */
|
|
47
|
+
export declare function printStep(kind: StepKind, text: string, stream?: NodeJS.WriteStream): void;
|
|
48
|
+
/**
|
|
49
|
+
* Run `fn` under a spinner: settle to ✔ on success (optionally with a summary line)
|
|
50
|
+
* or ✗ on throw, then re-throw. The one canonical way to wrap an awaited step.
|
|
51
|
+
*/
|
|
52
|
+
export declare function withSpinner<T>(label: string, fn: () => Promise<T>, opts?: {
|
|
53
|
+
stream?: NodeJS.WriteStream;
|
|
54
|
+
success?: (value: T) => string;
|
|
55
|
+
failure?: (err: unknown) => string;
|
|
56
|
+
}): Promise<T>;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAEL,KAAK,SAAS,EAId,KAAK,SAAS,EAKf,MAAM,eAAe,CAAC;AASvB,wEAAwE;AACxE,QAAA,MAAM,eAAe;;;;;CAA6D,CAAC;AAEnF,eAAO,MAAM,OAAO;;;;;CAAkB,CAAC;AACvC,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,eAAe,CAAC;AAQpD,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,EAChB,KAAK,GAAE,SAAqB,GAC3B,MAAM,CAIR;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,KAAK,GAAE,SAAqB,GAC3B,MAAM,CAGR;AAED,MAAM,WAAW,OAAO;IACtB,kDAAkD;IAClD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oEAAoE;IACpE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sEAAsE;IACtE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iDAAiD;IACjD,IAAI,IAAI,IAAI,CAAC;CACd;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,WAA4B,GAAG,OAAO,CAgDhG;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CACvB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAM,CAAC,WAA4B,GAC1C,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,GAAE;IACJ,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;CAC/B,GACL,OAAO,CAAC,CAAC,CAAC,CAUZ"}
|
package/dist/status.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TTY-aware progress status for the CLI: a warm-gradient spinner for the active
|
|
3
|
+
* step, and semantic step glyphs (done / fail / warn / pending) for the settled
|
|
4
|
+
* ones. Adapts to the terminal — truecolor where advertised, a 256-color fallback
|
|
5
|
+
* elsewhere (so macOS Terminal.app and bare xterm stay warm), and ASCII glyphs when
|
|
6
|
+
* Unicode isn't safe. Under `--json` (the caller gates), pipes, CI, and `NO_COLOR`
|
|
7
|
+
* it degrades to plain, escape-free lines so scripting/agent output stays clean.
|
|
8
|
+
*/
|
|
9
|
+
import { CLEAR_EOL, cyclic, detectColorMode, detectGlyphMode, HIDE_CURSOR, paint, SHOW_CURSOR, } from './gradient.js';
|
|
10
|
+
const CR = String.fromCharCode(13); // carriage return (avoid a literal CR in source)
|
|
11
|
+
const NL = String.fromCharCode(10); // line feed
|
|
12
|
+
/** Spinner frames: braille where Unicode is safe, a classic ASCII spinner otherwise. */
|
|
13
|
+
const FRAMES_UNICODE = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
14
|
+
const FRAMES_ASCII = ['|', '/', '-', '\\'];
|
|
15
|
+
/** Semantic step glyphs (Unicode + ASCII fallback) and their colors. */
|
|
16
|
+
const SYMBOLS_UNICODE = { done: '✔', fail: '✗', warn: '⚠', pending: '◦' };
|
|
17
|
+
const SYMBOLS_ASCII = { done: '+', fail: 'x', warn: '!', pending: '.' };
|
|
18
|
+
export const SYMBOLS = SYMBOLS_UNICODE;
|
|
19
|
+
const SYMBOL_COLOR = {
|
|
20
|
+
done: [34, 197, 94], // green
|
|
21
|
+
fail: [244, 63, 94], // rose
|
|
22
|
+
warn: [245, 158, 11], // amber
|
|
23
|
+
pending: [115, 115, 115], // dim grey
|
|
24
|
+
};
|
|
25
|
+
/** One spinner frame: `<glyph> <label>`, warm-tinted (flowing hue by index) per color mode. */
|
|
26
|
+
export function renderSpinnerFrame(index, label, color, glyph = 'unicode') {
|
|
27
|
+
const frames = glyph === 'ascii' ? FRAMES_ASCII : FRAMES_UNICODE;
|
|
28
|
+
const ch = frames[((index % frames.length) + frames.length) % frames.length];
|
|
29
|
+
return `${paint(cyclic(index / frames.length), ch, color)} ${label}`;
|
|
30
|
+
}
|
|
31
|
+
/** One settled step line: `<symbol> <text>`, semantic color per color mode. */
|
|
32
|
+
export function renderStep(kind, text, color, glyph = 'unicode') {
|
|
33
|
+
const symbol = (glyph === 'ascii' ? SYMBOLS_ASCII : SYMBOLS_UNICODE)[kind];
|
|
34
|
+
return `${paint(SYMBOL_COLOR[kind], symbol, color)} ${text}`;
|
|
35
|
+
}
|
|
36
|
+
const FRAME_MS = 80;
|
|
37
|
+
/**
|
|
38
|
+
* Start a progress spinner on `stream` (stdout by default). Animates on any colored
|
|
39
|
+
* TTY (truecolor or 256-color); on a plain/non-color stream it prints nothing until
|
|
40
|
+
* it settles, then emits a single escape-free line.
|
|
41
|
+
*/
|
|
42
|
+
export function startSpinner(label, stream = process.stdout) {
|
|
43
|
+
const color = detectColorMode(stream);
|
|
44
|
+
const glyph = detectGlyphMode();
|
|
45
|
+
let current = label;
|
|
46
|
+
if (color === 'none') {
|
|
47
|
+
const settle = (kind, text) => {
|
|
48
|
+
stream.write(`${renderStep(kind, text ?? current, color, glyph)}${NL}`);
|
|
49
|
+
};
|
|
50
|
+
return {
|
|
51
|
+
update: (l) => {
|
|
52
|
+
current = l;
|
|
53
|
+
},
|
|
54
|
+
succeed: (t) => settle('done', t),
|
|
55
|
+
fail: (t) => settle('fail', t),
|
|
56
|
+
warn: (t) => settle('warn', t),
|
|
57
|
+
stop: () => { },
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
let i = 0;
|
|
61
|
+
stream.write(HIDE_CURSOR);
|
|
62
|
+
const paintFrame = () => {
|
|
63
|
+
stream.write(`${CR}${renderSpinnerFrame(i, current, color, glyph)}${CLEAR_EOL}`);
|
|
64
|
+
i += 1;
|
|
65
|
+
};
|
|
66
|
+
paintFrame();
|
|
67
|
+
const timer = setInterval(paintFrame, FRAME_MS);
|
|
68
|
+
timer.unref?.();
|
|
69
|
+
const settle = (kind, text) => {
|
|
70
|
+
clearInterval(timer);
|
|
71
|
+
stream.write(`${CR}${renderStep(kind, text ?? current, color, glyph)}${CLEAR_EOL}${SHOW_CURSOR}${NL}`);
|
|
72
|
+
};
|
|
73
|
+
return {
|
|
74
|
+
update: (l) => {
|
|
75
|
+
current = l;
|
|
76
|
+
},
|
|
77
|
+
succeed: (t) => settle('done', t),
|
|
78
|
+
fail: (t) => settle('fail', t),
|
|
79
|
+
warn: (t) => settle('warn', t),
|
|
80
|
+
stop: () => {
|
|
81
|
+
clearInterval(timer);
|
|
82
|
+
stream.write(`${CR}${CLEAR_EOL}${SHOW_CURSOR}`);
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/** Print a standalone settled step line (no spinner), TTY/terminal-aware. */
|
|
87
|
+
export function printStep(kind, text, stream = process.stdout) {
|
|
88
|
+
stream.write(`${renderStep(kind, text, detectColorMode(stream), detectGlyphMode())}${NL}`);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Run `fn` under a spinner: settle to ✔ on success (optionally with a summary line)
|
|
92
|
+
* or ✗ on throw, then re-throw. The one canonical way to wrap an awaited step.
|
|
93
|
+
*/
|
|
94
|
+
export async function withSpinner(label, fn, opts = {}) {
|
|
95
|
+
const spinner = startSpinner(label, opts.stream ?? process.stdout);
|
|
96
|
+
try {
|
|
97
|
+
const value = await fn();
|
|
98
|
+
spinner.succeed(opts.success ? opts.success(value) : undefined);
|
|
99
|
+
return value;
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
spinner.fail(opts.failure ? opts.failure(err) : undefined);
|
|
103
|
+
throw err;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-groups.d.ts","sourceRoot":"","sources":["../../src/curated/command-groups.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAShD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"command-groups.d.ts","sourceRoot":"","sources":["../../src/curated/command-groups.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAShD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAiJ5D,CAAC"}
|
|
@@ -16,6 +16,10 @@ export const COMMAND_GROUP_ORDER = [
|
|
|
16
16
|
'Deprecated',
|
|
17
17
|
];
|
|
18
18
|
export const COMMAND_GROUPS = {
|
|
19
|
+
start: {
|
|
20
|
+
group: 'Authoring & validation',
|
|
21
|
+
summary: 'Guided first-run: sign in, scaffold, then deploy or run locally (`--json` for headless).',
|
|
22
|
+
},
|
|
19
23
|
init: { group: 'Authoring & validation', summary: 'Create a local Noodle project.' },
|
|
20
24
|
setup: {
|
|
21
25
|
group: 'Authoring & validation',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-groups.js","sourceRoot":"","sources":["../../src/curated/command-groups.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-groups.js","sourceRoot":"","sources":["../../src/curated/command-groups.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAIA,8FAA8F;AAC9F,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAIA,8FAA8F;AAC9F,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EA4CzC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAgBxC,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAwChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,6EAA6E;AAC7E,iGAAiG;AAEjG,8FAA8F;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,MAAM;IACN,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,WAAW;IACX,SAAS;IACT,KAAK;IACL,UAAU;IACV,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,WAAW;CACZ,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,aAAa;IACb,OAAO;IACP,WAAW;IACX,gBAAgB;IAChB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,eAAe;IACf,gBAAgB;IAChB,UAAU;IACV,MAAM;IACN,QAAQ;IACR,GAAG;CACJ,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,8BAA8B;IAC9B,uBAAuB;IACvB,cAAc;IACd,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;IACxB,0BAA0B;IAC1B,kBAAkB;IAClB,qBAAqB;IACrB,4BAA4B;IAC5B,uBAAuB;IACvB,wBAAwB;IACxB,6BAA6B;IAC7B,eAAe;IACf,gCAAgC;IAChC,oBAAoB;IACpB,yBAAyB;IACzB,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;CACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,6EAA6E;AAC7E,iGAAiG;AAEjG,8FAA8F;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,WAAW;IACX,SAAS;IACT,KAAK;IACL,UAAU;IACV,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,WAAW;CACZ,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,aAAa;IACb,OAAO;IACP,WAAW;IACX,gBAAgB;IAChB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,eAAe;IACf,gBAAgB;IAChB,UAAU;IACV,MAAM;IACN,QAAQ;IACR,GAAG;CACJ,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,8BAA8B;IAC9B,uBAAuB;IACvB,cAAc;IACd,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;IACxB,0BAA0B;IAC1B,kBAAkB;IAClB,qBAAqB;IACrB,4BAA4B;IAC5B,uBAAuB;IACvB,wBAAwB;IACxB,6BAA6B;IAC7B,eAAe;IACf,gCAAgC;IAChC,oBAAoB;IACpB,yBAAyB;IACzB,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;CACf,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Low-level expression helpers shared by the connector catalog compiler: parse mapping values into
|
|
3
|
+
* expression ASTs (collecting parse errors) and evaluate a compiled map against a scope. Split out of
|
|
4
|
+
* `compile.ts` so that file stays one concern per file; `compile.ts` re-exports `ConnectorCompileError` to
|
|
5
|
+
* preserve the package's public API.
|
|
6
|
+
*/
|
|
7
|
+
import { type ExprNode } from '@noodle-borg/compiler';
|
|
8
|
+
import { type EvalScope } from '@noodle-borg/runtime';
|
|
9
|
+
/** A connector-definition compile error (structurally compatible with the compiler's `CompileError`). */
|
|
10
|
+
export interface ConnectorCompileError {
|
|
11
|
+
readonly code: string;
|
|
12
|
+
readonly path: string;
|
|
13
|
+
readonly message: string;
|
|
14
|
+
}
|
|
15
|
+
export type ArgsRecord = Readonly<Record<string, unknown>>;
|
|
16
|
+
export type OutputRecord = Readonly<Record<string, unknown>>;
|
|
17
|
+
/** Parse a single mapping value into an expression AST under the given roots; collect parse errors. */
|
|
18
|
+
export declare function compileExpr(value: unknown, roots: ReadonlySet<string>, path: string, errors: ConnectorCompileError[]): ExprNode;
|
|
19
|
+
/** Parse each field of a mapping into an expression AST under the given roots; collect parse errors. */
|
|
20
|
+
export declare function compileExprMap(map: Readonly<Record<string, unknown>>, roots: ReadonlySet<string>, prefix: string, errors: ConnectorCompileError[]): Record<string, ExprNode>;
|
|
21
|
+
/** Evaluate every value in a compiled expression map against the scope; omit `undefined` results. */
|
|
22
|
+
export declare function evalMap(map: Record<string, ExprNode>, scope: EvalScope): Record<string, unknown>;
|
|
23
|
+
//# sourceMappingURL=compile-expr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-expr.d.ts","sourceRoot":"","sources":["../src/compile-expr.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAErE,yGAAyG;AACzG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7D,uGAAuG;AACvG,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,qBAAqB,EAAE,GAC9B,QAAQ,CAMV;AAED,wGAAwG;AACxG,wBAAgB,cAAc,CAC5B,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACtC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,qBAAqB,EAAE,GAC9B,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAa1B;AAED,qGAAqG;AACrG,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOhG"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Low-level expression helpers shared by the connector catalog compiler: parse mapping values into
|
|
3
|
+
* expression ASTs (collecting parse errors) and evaluate a compiled map against a scope. Split out of
|
|
4
|
+
* `compile.ts` so that file stays one concern per file; `compile.ts` re-exports `ConnectorCompileError` to
|
|
5
|
+
* preserve the package's public API.
|
|
6
|
+
*/
|
|
7
|
+
import { parseValue } from '@noodle-borg/compiler';
|
|
8
|
+
import { evaluateValue } from '@noodle-borg/runtime';
|
|
9
|
+
/** Parse a single mapping value into an expression AST under the given roots; collect parse errors. */
|
|
10
|
+
export function compileExpr(value, roots, path, errors) {
|
|
11
|
+
const result = parseValue(value, path, roots);
|
|
12
|
+
if (result.errors.length > 0) {
|
|
13
|
+
errors.push(...result.errors.map((e) => ({ code: e.code, path: e.path, message: e.message })));
|
|
14
|
+
}
|
|
15
|
+
return result.node;
|
|
16
|
+
}
|
|
17
|
+
/** Parse each field of a mapping into an expression AST under the given roots; collect parse errors. */
|
|
18
|
+
export function compileExprMap(map, roots, prefix, errors) {
|
|
19
|
+
const out = {};
|
|
20
|
+
for (const [field, value] of Object.entries(map)) {
|
|
21
|
+
const result = parseValue(value, `${prefix}.${field}`, roots);
|
|
22
|
+
if (result.errors.length > 0) {
|
|
23
|
+
errors.push(...result.errors.map((e) => ({ code: e.code, path: e.path, message: e.message })));
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
out[field] = result.node;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
/** Evaluate every value in a compiled expression map against the scope; omit `undefined` results. */
|
|
32
|
+
export function evalMap(map, scope) {
|
|
33
|
+
const out = {};
|
|
34
|
+
for (const [field, node] of Object.entries(map)) {
|
|
35
|
+
const value = evaluateValue(node, scope, field);
|
|
36
|
+
if (value !== undefined)
|
|
37
|
+
out[field] = value;
|
|
38
|
+
}
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=compile-expr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-expr.js","sourceRoot":"","sources":["../src/compile-expr.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAiB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAkB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAYrE,uGAAuG;AACvG,MAAM,UAAU,WAAW,CACzB,KAAc,EACd,KAA0B,EAC1B,IAAY,EACZ,MAA+B;IAE/B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,cAAc,CAC5B,GAAsC,EACtC,KAA0B,EAC1B,MAAc,EACd,MAA+B;IAE/B,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,MAAM,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAClF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,OAAO,CAAC,GAA6B,EAAE,KAAgB;IACrE,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { type CatalogConnector } from '@noodle-borg/compiler';
|
|
2
2
|
import { type Connector } from '@noodle-borg/runtime';
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
readonly code: string;
|
|
6
|
-
readonly path: string;
|
|
7
|
-
readonly message: string;
|
|
8
|
-
}
|
|
3
|
+
import { type ConnectorCompileError } from './compile-expr.js';
|
|
4
|
+
export type { ConnectorCompileError } from './compile-expr.js';
|
|
9
5
|
/**
|
|
10
6
|
* A binding from a connector operation to the *named* secret its auth scheme needs. It carries the
|
|
11
7
|
* reference only — never a value. The deploy plane joins these with out-of-band secret values to build a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAMtB,MAAM,uBAAuB,CAAC;AAiB/B,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAGrE,OAAO,EAEL,KAAK,qBAAqB,EAK3B,MAAM,mBAAmB,CAAC;AAkB3B,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,kGAAkG;IAClG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EACd,QAAQ,GACR,yBAAyB,GACzB,gBAAgB,GAChB,wBAAwB,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,8BAA8B,CAAC;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC;CAC5C;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,oBAAoB,CAAC;CACnE;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,CAAC;IACnE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IACjC,mGAAmG;IACnG,QAAQ,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC;IACzC,+EAA+E;IAC/E,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAC;AAErE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CA6DzB"}
|