@somewhere-tech/cli 0.31.6 → 0.31.8
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/commands/browser.js +1 -1
- package/dist/commands/browser.js.map +1 -1
- package/dist/commands/deploy.js +27 -8
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.js +239 -45
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/init.js +19 -13
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/project.js +54 -17
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/status.js +76 -18
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/verify.js +325 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/browser-actions.js +6 -2
- package/dist/lib/browser-actions.js.map +1 -1
- package/dist/lib/client.js +9 -2
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/init-green-template.js +192 -0
- package/dist/lib/init-green-template.js.map +1 -0
- package/dist/lib/init-install.js +32 -0
- package/dist/lib/init-install.js.map +1 -0
- package/dist/lib/promote-handoff.js +9 -1
- package/dist/lib/promote-handoff.js.map +1 -1
- package/dist/local/browser-run.js +9 -1
- package/dist/local/browser-run.js.map +1 -1
- package/dist/swpx/run-swpm.js +9 -4
- package/dist/swpx/run-swpm.js.map +1 -1
- package/dist/swpx/verdict-client.js +13 -8
- package/dist/swpx/verdict-client.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
const PACKAGE_JSON = `{
|
|
2
|
+
"name": "somewhere-starter",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "vite",
|
|
8
|
+
"typecheck": "tsc --noEmit"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"react": "19.2.7",
|
|
12
|
+
"react-dom": "19.2.7"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@types/react": "19.2.2",
|
|
16
|
+
"@types/react-dom": "19.2.2",
|
|
17
|
+
"typescript": "5.9.3",
|
|
18
|
+
"vite": "7.2.2"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
const TSCONFIG = `{
|
|
23
|
+
"compilerOptions": {
|
|
24
|
+
"target": "ES2022",
|
|
25
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
26
|
+
"strict": true,
|
|
27
|
+
"noEmit": true,
|
|
28
|
+
"skipLibCheck": true,
|
|
29
|
+
"module": "ESNext",
|
|
30
|
+
"moduleResolution": "Bundler",
|
|
31
|
+
"isolatedModules": true,
|
|
32
|
+
"jsx": "react-jsx"
|
|
33
|
+
},
|
|
34
|
+
"include": ["src", "api", "db", "types"]
|
|
35
|
+
}
|
|
36
|
+
`;
|
|
37
|
+
const APP_TYPES = `export interface GreetingResponse {
|
|
38
|
+
message: string;
|
|
39
|
+
}
|
|
40
|
+
`;
|
|
41
|
+
const RUNTIME_TYPES = `export interface QueryResult<T> {
|
|
42
|
+
data: T[];
|
|
43
|
+
count: number;
|
|
44
|
+
changes: number;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface SomewhereRuntime {
|
|
48
|
+
db: {
|
|
49
|
+
query<T>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
53
|
+
const SCHEMA_TYPES = `declare module 'somewhere/db' {
|
|
54
|
+
interface Column {}
|
|
55
|
+
interface Table {}
|
|
56
|
+
interface Scope {}
|
|
57
|
+
|
|
58
|
+
export function schema(tables: Record<string, Table>): unknown;
|
|
59
|
+
export function table(
|
|
60
|
+
columns: Record<string, Column>,
|
|
61
|
+
options: { scope: Scope },
|
|
62
|
+
): Table;
|
|
63
|
+
export function id(): Column;
|
|
64
|
+
export function text(options?: { default?: string; nullable?: boolean }): Column;
|
|
65
|
+
export function shared(): Scope;
|
|
66
|
+
}
|
|
67
|
+
`;
|
|
68
|
+
const SCHEMA = `import { id, schema, shared, table, text } from 'somewhere/db';
|
|
69
|
+
|
|
70
|
+
export default schema({
|
|
71
|
+
greetings: table({
|
|
72
|
+
id: id(),
|
|
73
|
+
message: text({ default: 'Your full-stack app is ready.' }),
|
|
74
|
+
}, {
|
|
75
|
+
scope: shared(),
|
|
76
|
+
}),
|
|
77
|
+
});
|
|
78
|
+
`;
|
|
79
|
+
const API = `import type { SomewhereRuntime } from '../types/runtime';
|
|
80
|
+
|
|
81
|
+
interface GreetingRow {
|
|
82
|
+
message: string;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export default async function greeting(
|
|
86
|
+
_req: Request,
|
|
87
|
+
sw: SomewhereRuntime,
|
|
88
|
+
): Promise<Response> {
|
|
89
|
+
const result = await sw.db.query<GreetingRow>(
|
|
90
|
+
'SELECT message FROM greetings ORDER BY id LIMIT 1',
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
return Response.json({
|
|
94
|
+
message: result.data[0]?.message ?? 'Your full-stack app is ready.',
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
`;
|
|
98
|
+
const SERVICE = `import type { GreetingResponse } from '../../types/app';
|
|
99
|
+
|
|
100
|
+
export async function loadGreeting(): Promise<GreetingResponse> {
|
|
101
|
+
const response = await fetch('/api/greeting');
|
|
102
|
+
if (!response.ok) throw new Error(\`Request failed (\${response.status})\`);
|
|
103
|
+
return response.json() as Promise<GreetingResponse>;
|
|
104
|
+
}
|
|
105
|
+
`;
|
|
106
|
+
const APP = `import { useEffect, useState } from 'react';
|
|
107
|
+
import { loadGreeting } from './services/greeting';
|
|
108
|
+
|
|
109
|
+
export function App() {
|
|
110
|
+
const [message, setMessage] = useState('Connecting frontend, function, and database…');
|
|
111
|
+
|
|
112
|
+
useEffect(() => {
|
|
113
|
+
void loadGreeting()
|
|
114
|
+
.then((result) => setMessage(result.message))
|
|
115
|
+
.catch((error: unknown) => {
|
|
116
|
+
setMessage(error instanceof Error ? error.message : 'Could not load the greeting.');
|
|
117
|
+
});
|
|
118
|
+
}, []);
|
|
119
|
+
|
|
120
|
+
return (
|
|
121
|
+
<main>
|
|
122
|
+
<p className="eyebrow">somewhere.tech starter</p>
|
|
123
|
+
<h1>Start with a working full-stack app.</h1>
|
|
124
|
+
<p className="message">{message}</p>
|
|
125
|
+
<p className="hint">Edit <code>src/App.tsx</code>, then deploy the raw source.</p>
|
|
126
|
+
</main>
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
`;
|
|
130
|
+
const MAIN = `import { StrictMode } from 'react';
|
|
131
|
+
import { createRoot } from 'react-dom/client';
|
|
132
|
+
import { App } from './App';
|
|
133
|
+
import './styles.css';
|
|
134
|
+
|
|
135
|
+
createRoot(document.getElementById('root')!).render(
|
|
136
|
+
<StrictMode>
|
|
137
|
+
<App />
|
|
138
|
+
</StrictMode>,
|
|
139
|
+
);
|
|
140
|
+
`;
|
|
141
|
+
const STYLES = `:root {
|
|
142
|
+
font-family: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
143
|
+
color: #17201c;
|
|
144
|
+
background: #edf4ef;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
* { box-sizing: border-box; }
|
|
148
|
+
body { margin: 0; min-width: 320px; }
|
|
149
|
+
main { width: min(720px, calc(100% - 32px)); margin: 14vh auto; }
|
|
150
|
+
h1 { max-width: 660px; margin: 12px 0 24px; font-size: clamp(2.7rem, 8vw, 5.5rem); line-height: .94; letter-spacing: -.06em; }
|
|
151
|
+
.eyebrow { color: #14734c; font-weight: 750; text-transform: uppercase; letter-spacing: .12em; }
|
|
152
|
+
.message { padding: 20px 22px; border: 1px solid #c6d8ce; border-radius: 16px; background: rgba(255, 255, 255, .82); }
|
|
153
|
+
.hint { color: #4f665b; }
|
|
154
|
+
code { color: #0e6542; }
|
|
155
|
+
`;
|
|
156
|
+
const README = `# somewhere.tech starter
|
|
157
|
+
|
|
158
|
+
This project starts green: a typed React page calls a typed server function,
|
|
159
|
+
and the function reads the table declared in \`db/schema.ts\`.
|
|
160
|
+
|
|
161
|
+
\`\`\`sh
|
|
162
|
+
npm run typecheck
|
|
163
|
+
somewhere deploy-check .
|
|
164
|
+
somewhere deploy
|
|
165
|
+
somewhere browser
|
|
166
|
+
\`\`\`
|
|
167
|
+
|
|
168
|
+
Deploy the raw source. The platform compiles it; do not create or deploy a
|
|
169
|
+
\`dist/\` or \`build/\` directory.
|
|
170
|
+
`;
|
|
171
|
+
export function createGreenTemplate() {
|
|
172
|
+
return [
|
|
173
|
+
{ path: '.gitignore', content: 'node_modules\ndist\nbuild\n.env\n' },
|
|
174
|
+
{ path: 'README.md', content: README },
|
|
175
|
+
{ path: 'package.json', content: PACKAGE_JSON },
|
|
176
|
+
{ path: 'tsconfig.json', content: TSCONFIG },
|
|
177
|
+
{
|
|
178
|
+
path: 'index.html',
|
|
179
|
+
content: '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="UTF-8" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <title>somewhere.tech starter</title>\n </head>\n <body>\n <div id="root"></div>\n <script type="module" src="/src/main.tsx"></script>\n </body>\n</html>\n',
|
|
180
|
+
},
|
|
181
|
+
{ path: 'src/App.tsx', content: APP },
|
|
182
|
+
{ path: 'src/main.tsx', content: MAIN },
|
|
183
|
+
{ path: 'src/services/greeting.ts', content: SERVICE },
|
|
184
|
+
{ path: 'src/styles.css', content: STYLES },
|
|
185
|
+
{ path: 'api/greeting.ts', content: API },
|
|
186
|
+
{ path: 'db/schema.ts', content: SCHEMA },
|
|
187
|
+
{ path: 'types/app.ts', content: APP_TYPES },
|
|
188
|
+
{ path: 'types/runtime.ts', content: RUNTIME_TYPES },
|
|
189
|
+
{ path: 'types/somewhere-db.d.ts', content: SCHEMA_TYPES },
|
|
190
|
+
];
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=init-green-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-green-template.js","sourceRoot":"","sources":["../../src/lib/init-green-template.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;CAoBpB,CAAC;AAEF,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;CAchB,CAAC;AAEF,MAAM,SAAS,GAAG;;;CAGjB,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;;;;;;CAWrB,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;CAcpB,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;CAUd,CAAC;AAEF,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;CAkBX,CAAC;AAEF,MAAM,OAAO,GAAG;;;;;;;CAOf,CAAC;AAEF,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBX,CAAC;AAEF,MAAM,IAAI,GAAG;;;;;;;;;;CAUZ,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;CAcd,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;CAcd,CAAC;AAEF,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,mCAAmC,EAAE;QACpE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE;QACtC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE;QAC/C,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC5C;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,mUAAmU;SAC7U;QACD,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE;QACrC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;QACvC,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,OAAO,EAAE;QACtD,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE;QAC3C,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE;QACzC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE;QACzC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE;QAC5C,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAE;QACpD,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,YAAY,EAAE;KAC3D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
/**
|
|
3
|
+
* Run the same guarded install exposed as `somewhere npm install`. Re-entering
|
|
4
|
+
* the current CLI keeps init on the swpm verdict path without assuming where a
|
|
5
|
+
* globally or locally installed `somewhere` binary lives.
|
|
6
|
+
*/
|
|
7
|
+
export function runInitInstall({ cwd, quiet }) {
|
|
8
|
+
return new Promise((resolve) => {
|
|
9
|
+
const child = spawn(process.execPath, [
|
|
10
|
+
...process.execArgv,
|
|
11
|
+
process.argv[1],
|
|
12
|
+
'npm',
|
|
13
|
+
'install',
|
|
14
|
+
'--no-audit',
|
|
15
|
+
'--no-fund',
|
|
16
|
+
], {
|
|
17
|
+
cwd,
|
|
18
|
+
shell: false,
|
|
19
|
+
stdio: quiet ? 'ignore' : 'inherit',
|
|
20
|
+
});
|
|
21
|
+
child.once('error', () => resolve(127));
|
|
22
|
+
child.once('exit', (code, signal) => resolve(signal ? 1 : code ?? 1));
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
export async function installInitDependencies(options, runner = runInitInstall) {
|
|
26
|
+
const exitCode = await runner(options);
|
|
27
|
+
if (exitCode !== 0) {
|
|
28
|
+
throw new Error(`Starter files were written, but dependency installation exited ${exitCode}. ` +
|
|
29
|
+
'Run `somewhere npm install` in this directory, then try again.');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=init-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-install.js","sourceRoot":"","sources":["../../src/lib/init-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAS3C;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,EAAsB;IAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB;YACE,GAAG,OAAO,CAAC,QAAQ;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,KAAK;YACL,SAAS;YACT,YAAY;YACZ,WAAW;SACZ,EACD;YACE,GAAG;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACpC,CACF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAA2B,EAC3B,SAA4B,cAAc;IAE1C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,kEAAkE,QAAQ,IAAI;YAC5E,gEAAgE,CACnE,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -31,11 +31,19 @@
|
|
|
31
31
|
* is scrolled back to from a script.
|
|
32
32
|
*/
|
|
33
33
|
export function promoteCommands(args) {
|
|
34
|
-
const
|
|
34
|
+
const project = shellArgument(args.projectRef);
|
|
35
|
+
const base = `somewhere promote ${args.previewSessionId} ${args.previewId} --project ${project}`;
|
|
35
36
|
if (!args.interactive)
|
|
36
37
|
return [`${base} --yes`];
|
|
37
38
|
return [base, `${base} --yes`];
|
|
38
39
|
}
|
|
40
|
+
/** Quote an opaque project ref so the printed command is safe to paste into a
|
|
41
|
+
* POSIX shell even when the ref is a project name rather than a UUID/slug. */
|
|
42
|
+
export function shellArgument(value) {
|
|
43
|
+
if (/^[A-Za-z0-9_./:@+-]+$/.test(value))
|
|
44
|
+
return value;
|
|
45
|
+
return `'${value.replace(/'/g, `'"'"'`)}'`;
|
|
46
|
+
}
|
|
39
47
|
/** The single command to print when only one line fits. Always runnable here. */
|
|
40
48
|
export function promoteCommandForShell(args) {
|
|
41
49
|
const commands = promoteCommands(args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promote-handoff.js","sourceRoot":"","sources":["../../src/lib/promote-handoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"promote-handoff.js","sourceRoot":"","sources":["../../src/lib/promote-handoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,IAK/B;IACC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,qBAAqB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,cAAc,OAAO,EAAE,CAAC;IACjG,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;8EAC8E;AAC9E,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,sBAAsB,CAAC,IAKtC;IACC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,IAKnC;IACC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,sBAAsB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1E,OAAO;QACL,sBAAsB,QAAQ,CAAC,CAAC,CAAC,IAAI;QACrC,iDAAiD,QAAQ,CAAC,CAAC,CAAC,IAAI;KACjE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAsB;IACtD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,OAAO,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;IACD,OAAO;QACL,8IAA8I;QAC9I,oGAAoG;KACrG,CAAC;AACJ,CAAC"}
|
|
@@ -200,12 +200,13 @@ export async function executeLocalAction(session, action, deadline) {
|
|
|
200
200
|
const state = await evaluate(session, `(() => {
|
|
201
201
|
const nodes = Array.from(document.querySelectorAll(${JSON.stringify(action.expect.selector)}));
|
|
202
202
|
const el = nodes[0];
|
|
203
|
-
if (!el) return { count: nodes.length, text: '', visible: false };
|
|
203
|
+
if (!el) return { count: nodes.length, text: '', value: '', visible: false };
|
|
204
204
|
const style = getComputedStyle(el);
|
|
205
205
|
const rect = el.getBoundingClientRect();
|
|
206
206
|
return {
|
|
207
207
|
count: nodes.length,
|
|
208
208
|
text: String(el.innerText || el.value || el.textContent || ''),
|
|
209
|
+
value: 'value' in el ? String(el.value ?? '') : '',
|
|
209
210
|
visible: !el.closest('[hidden]') && !el.closest('[aria-hidden="true"]')
|
|
210
211
|
&& style.display !== 'none' && style.visibility !== 'hidden'
|
|
211
212
|
&& !(rect.width === 0 && rect.height === 0),
|
|
@@ -221,6 +222,13 @@ export async function executeLocalAction(session, action, deadline) {
|
|
|
221
222
|
throw new Error(`expect failed at "${action.expect.selector}": text did not contain "${action.expect.text}". Got: "${state.text.trim().slice(0, 120)}".`);
|
|
222
223
|
}
|
|
223
224
|
}
|
|
225
|
+
if (action.expect.value !== undefined) {
|
|
226
|
+
if (state.count === 0)
|
|
227
|
+
throw new Error(`expect failed at "${action.expect.selector}": selector did not match any element.`);
|
|
228
|
+
if (state.value !== action.expect.value) {
|
|
229
|
+
throw new Error(`expect failed at "${action.expect.selector}": expected value "${action.expect.value}", got "${state.value.slice(0, 120)}".`);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
224
232
|
if (action.expect.visible !== undefined) {
|
|
225
233
|
if (state.count === 0)
|
|
226
234
|
throw new Error(`expect failed at "${action.expect.selector}": selector did not match any element.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-run.js","sourceRoot":"","sources":["../../src/local/browser-run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-run.js","sourceRoot":"","sources":["../../src/local/browser-run.ts"],"names":[],"mappings":"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"}
|
package/dist/swpx/run-swpm.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { parseSpec } from './registry.js';
|
|
12
12
|
import { renderTree } from './render.js';
|
|
13
13
|
import { bindDeps } from './run-common.js';
|
|
14
|
-
import { dim } from '../lib/output.js';
|
|
14
|
+
import { dim, yellow } from '../lib/output.js';
|
|
15
15
|
import { resolveEnforce, stripEnforceFlags, loudUnavailable, refused } from './enforce.js';
|
|
16
16
|
import { VerdictUnavailable } from './verdict-client.js';
|
|
17
17
|
/** npm's own install aliases (including its built-in typo aliases). */
|
|
@@ -41,8 +41,13 @@ export async function runSwpm(args, deps = {}) {
|
|
|
41
41
|
return { exitCode: await d.runReal('npm', clean), action: 'passthrough' };
|
|
42
42
|
}
|
|
43
43
|
// Couldn't verify the tree → LOUD, then fall back (default) or refuse (enforce).
|
|
44
|
-
const failOpen = async (rateLimited, cause) => {
|
|
45
|
-
|
|
44
|
+
const failOpen = async (rateLimited, cause, timedOut = false) => {
|
|
45
|
+
if (timedOut) {
|
|
46
|
+
d.errLog(`${yellow('⚠')} verdict pending — the check timed out; proceeding with npm install.`);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
loudUnavailable(d.errLog, 'this install', rateLimited, cause);
|
|
50
|
+
}
|
|
46
51
|
if (enforce) {
|
|
47
52
|
refused(d.errLog, 'this install', 'npm');
|
|
48
53
|
return { exitCode: 1, action: 'blocked' };
|
|
@@ -107,7 +112,7 @@ export async function runSwpm(args, deps = {}) {
|
|
|
107
112
|
verdicts = await d.getVerdictBatch(toCheck);
|
|
108
113
|
}
|
|
109
114
|
catch (err) {
|
|
110
|
-
return failOpen(err instanceof VerdictUnavailable && err.rateLimited, causeOf(err));
|
|
115
|
+
return failOpen(err instanceof VerdictUnavailable && err.rateLimited, causeOf(err), err instanceof VerdictUnavailable && err.timedOut);
|
|
111
116
|
}
|
|
112
117
|
const aligned = alignVerdicts(toCheck, verdicts);
|
|
113
118
|
const pendingIndexes = aligned
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-swpm.js","sourceRoot":"","sources":["../../src/swpx/run-swpm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;qFASqF;AAErF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-swpm.js","sourceRoot":"","sources":["../../src/swpx/run-swpm.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,9 @@ const VERDICT_BASE = process.env.SWPX_VERDICT_URL?.replace(/\/$/, '') || 'https:
|
|
|
14
14
|
* fail to fallback rather than stall — but 4s was too tight for the COLD path
|
|
15
15
|
* (fresh DNS/TLS from the client + a cold worker + a first-time uncached compute),
|
|
16
16
|
* which spuriously tripped the fail-open banner on the very first call while every
|
|
17
|
-
* warm call after was instant.
|
|
17
|
+
* warm call after was instant. 15s comfortably covers a cold uncached lookup;
|
|
18
18
|
* override with SWPX_VERDICT_TIMEOUT_MS (e.g. lower it for strict fail-fast in CI). */
|
|
19
|
-
const
|
|
19
|
+
export const verdictTimeoutMs = Number(process.env.SWPX_VERDICT_TIMEOUT_MS) || 15_000;
|
|
20
20
|
/** Summary generation is best-effort, but a missing narrative must never leave
|
|
21
21
|
* the user staring at a blank decision screen forever. Keep one overall budget
|
|
22
22
|
* across every enrich poll; env overrides make staging and tests tunable. */
|
|
@@ -29,10 +29,13 @@ const defaultFetch = (url, init) => fetch(url, init);
|
|
|
29
29
|
export class VerdictUnavailable extends Error {
|
|
30
30
|
/** True when the service answered 429 — a throttle, not an outage/tampering. */
|
|
31
31
|
rateLimited;
|
|
32
|
-
|
|
32
|
+
/** True when the client deadline elapsed before the service answered. */
|
|
33
|
+
timedOut;
|
|
34
|
+
constructor(message, rateLimited = false, timedOut = false) {
|
|
33
35
|
super(message);
|
|
34
36
|
this.name = 'VerdictUnavailable';
|
|
35
37
|
this.rateLimited = rateLimited;
|
|
38
|
+
this.timedOut = timedOut;
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
/** Accept either a bare verdict object or a `{ ok, data }` envelope. */
|
|
@@ -45,7 +48,7 @@ function unwrap(body) {
|
|
|
45
48
|
}
|
|
46
49
|
return body;
|
|
47
50
|
}
|
|
48
|
-
function timeoutSignal(timeoutMs =
|
|
51
|
+
function timeoutSignal(timeoutMs = verdictTimeoutMs) {
|
|
49
52
|
try {
|
|
50
53
|
return AbortSignal.timeout(timeoutMs);
|
|
51
54
|
}
|
|
@@ -53,7 +56,7 @@ function timeoutSignal(timeoutMs = VERDICT_TIMEOUT_MS) {
|
|
|
53
56
|
return undefined; // very old runtime — let the request run without our timeout
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
|
-
async function requestVerdict(name, version, fetchImpl, enrich, timeoutMs =
|
|
59
|
+
async function requestVerdict(name, version, fetchImpl, enrich, timeoutMs = verdictTimeoutMs) {
|
|
57
60
|
const suffix = enrich ? '?enrich=1' : '';
|
|
58
61
|
const url = `${VERDICT_BASE}/api/verdict/${encodeURIComponent(name)}/${encodeURIComponent(version)}${suffix}`;
|
|
59
62
|
let res;
|
|
@@ -67,7 +70,8 @@ async function requestVerdict(name, version, fetchImpl, enrich, timeoutMs = VERD
|
|
|
67
70
|
});
|
|
68
71
|
}
|
|
69
72
|
catch (err) {
|
|
70
|
-
|
|
73
|
+
const timedOut = err instanceof Error && (err.name === 'TimeoutError' || err.name === 'AbortError');
|
|
74
|
+
throw new VerdictUnavailable(err instanceof Error ? err.message : String(err), false, timedOut);
|
|
71
75
|
}
|
|
72
76
|
if (!res.ok)
|
|
73
77
|
throw new VerdictUnavailable(`verdict API returned ${res.status}`, res.status === 429);
|
|
@@ -102,7 +106,7 @@ export async function pollVerdictSummary(name, version, fetchImpl = defaultFetch
|
|
|
102
106
|
while (now() < deadline) {
|
|
103
107
|
const remaining = Math.max(1, deadline - now());
|
|
104
108
|
try {
|
|
105
|
-
const verdict = await requestVerdict(name, version, fetchImpl, true, Math.min(
|
|
109
|
+
const verdict = await requestVerdict(name, version, fetchImpl, true, Math.min(verdictTimeoutMs, remaining));
|
|
106
110
|
if (typeof verdict.summary === 'string' && verdict.summary.trim())
|
|
107
111
|
return verdict;
|
|
108
112
|
}
|
|
@@ -136,7 +140,8 @@ export async function getVerdictBatch(pkgs, fetchImpl = defaultFetch) {
|
|
|
136
140
|
});
|
|
137
141
|
}
|
|
138
142
|
catch (err) {
|
|
139
|
-
|
|
143
|
+
const timedOut = err instanceof Error && (err.name === 'TimeoutError' || err.name === 'AbortError');
|
|
144
|
+
throw new VerdictUnavailable(err instanceof Error ? err.message : String(err), false, timedOut);
|
|
140
145
|
}
|
|
141
146
|
if (!res.ok)
|
|
142
147
|
throw new VerdictUnavailable(`verdict API returned ${res.status}`, res.status === 429);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdict-client.js","sourceRoot":"","sources":["../../src/swpx/verdict-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;0DAU0D;AAK1D,MAAM,YAAY,GAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,4BAA4B,CAAC;AAEnF;;;;;wFAKwF;AACxF,MAAM,
|
|
1
|
+
{"version":3,"file":"verdict-client.js","sourceRoot":"","sources":["../../src/swpx/verdict-client.ts"],"names":[],"mappings":"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"}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@somewhere-tech/cli",
|
|
3
|
-
"version": "0.31.
|
|
3
|
+
"version": "0.31.8",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@somewhere-tech/cli",
|
|
9
|
-
"version": "0.31.
|
|
9
|
+
"version": "0.31.8",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"@modelcontextprotocol/sdk",
|
|
12
12
|
"chokidar",
|