@paradigma-inc/flywheel 0.1.108 → 0.1.115
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/README.md +23 -8
- package/package.json +1 -1
- package/skills/flywheel/getting-started/flywheel-tutorial-overview.md +1 -1
- package/skills/flywheel/setting-up-flywheel/how-can-i-get-an-authorized-client_id-for-the-oauth-flow.md +31 -40
- package/skills/flywheel/setting-up-flywheel/other-hosts-installation.md +8 -1
- package/skills/flywheel-llm-proof-paper/scripts/__pycache__/check_paper.cpython-312.pyc +0 -0
- package/src/runtime/required-runtime-commands.json +3 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.js +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/auth/login.js +2 -2
- package/src/runtime/vendor/flywheel-cli-dist/auth/login.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/_browser-handoff.d.ts +16 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/_browser-handoff.js +36 -14
- package/src/runtime/vendor/flywheel-cli-dist/commands/_browser-handoff.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/_open-url.d.ts +2 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/_open-url.js +15 -6
- package/src/runtime/vendor/flywheel-cli-dist/commands/_open-url.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-create.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-create.js +9 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-create.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-delete.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-delete.js +11 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-delete.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-login.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-login.js +20 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-login.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/index.d.ts +21 -21
- package/src/runtime/vendor/flywheel-cli-dist/commands/index.js +268 -262
- package/src/runtime/vendor/flywheel-cli-dist/commands/index.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/admin.d.ts +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/admin.js +206 -66
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/admin.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/utils.js +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/utils.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/generatedProductTelemetryContract.js +2 -2
- package/src/runtime/vendor/flywheel-cli-dist/generatedProductTelemetryContract.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/http/client.js +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/client.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/http/poll.js +1 -2
- package/src/runtime/vendor/flywheel-cli-dist/http/poll.js.map +1 -1
- package/src/runtime/vendor/manifest.json +10 -1
- package/src/update/cache.mjs +17 -2
- package/skills/flywheel-llm-proof-paper/scripts/__pycache__/check_paper.cpython-311.pyc +0 -0
package/README.md
CHANGED
|
@@ -144,10 +144,11 @@ curl -fsSL https://flywheel.paradigma.inc/uninstall | sh
|
|
|
144
144
|
|
|
145
145
|
The script removes Flywheel MCP entries, bundled skills, the managed-prefix
|
|
146
146
|
`@paradigma-inc/flywheel` package, the `flywheel` binary, installer-owned PATH
|
|
147
|
-
block,
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
block, and only the configuration/cache files named by the validated installer
|
|
148
|
+
manifest. The update cache uses the platform cache directory, never a
|
|
149
|
+
repository's `.flywheel` directory. The uninstaller does not recursively remove
|
|
150
|
+
repository state or delete remote Flywheel account data, nodes, artifacts,
|
|
151
|
+
billing data, GitHub connections, or other remote resources.
|
|
151
152
|
|
|
152
153
|
Manual fallback:
|
|
153
154
|
|
|
@@ -155,9 +156,12 @@ Manual fallback:
|
|
|
155
156
|
FLYWHEEL_INSTALL_PREFIX="${FLYWHEEL_INSTALL_PREFIX:-$HOME/.local}"
|
|
156
157
|
"$FLYWHEEL_INSTALL_PREFIX/bin/flywheel" uninstall --yes --scope all
|
|
157
158
|
npm uninstall -g --prefix "$FLYWHEEL_INSTALL_PREFIX" @paradigma-inc/flywheel
|
|
158
|
-
rm -rf "$HOME/.config/flywheel-cli" "$HOME/.flywheel"
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
+
Run the one-shot uninstaller when installer-owned configuration and cache files
|
|
162
|
+
must also be removed; its manifest prevents a manual broad-delete fallback from
|
|
163
|
+
crossing into repository data.
|
|
164
|
+
|
|
161
165
|
With `--yes --scope all` and no host selectors, `flywheel uninstall` targets
|
|
162
166
|
every supported host.
|
|
163
167
|
|
|
@@ -333,9 +337,20 @@ The resulting `.mcp.json`:
|
|
|
333
337
|
The IDE must support MCP 2.0 OAuth discovery (Claude Code, Cursor, and
|
|
334
338
|
Gemini CLI currently do). On the first MCP tool call the IDE hits
|
|
335
339
|
`/mcp-server`, follows the `WWW-Authenticate` hint to
|
|
336
|
-
`/.well-known/oauth-protected-resource`,
|
|
337
|
-
|
|
338
|
-
its
|
|
340
|
+
`/.well-known/oauth-protected-resource`, reads the authorization-server
|
|
341
|
+
metadata advertising `client_id_metadata_document_supported`, and presents
|
|
342
|
+
its public HTTPS Client ID Metadata Document as `client_id`. There is no public
|
|
343
|
+
registration endpoint and no private enrollment step. Flywheel validates the
|
|
344
|
+
exact client identity, complete redirect set, selected redirect, PKCE, and
|
|
345
|
+
requested scopes before issuing credentials after authenticated consent.
|
|
346
|
+
|
|
347
|
+
The IDE manages and persists its own access and single-use refresh credentials.
|
|
348
|
+
It should reuse a valid access credential and rotate the refresh credential
|
|
349
|
+
without opening a browser. Flywheel can also skip repeat consent when the same
|
|
350
|
+
user, exact client identity and redirect, active grant, and equal-or-narrower
|
|
351
|
+
scopes still match. A new or changed identity or redirect, scope expansion,
|
|
352
|
+
expiry, revocation, or disconnect requires consent again. No API key ever
|
|
353
|
+
touches the user's filesystem.
|
|
339
354
|
|
|
340
355
|
`--api-key` and `--oauth` are mutually exclusive; passing both produces a
|
|
341
356
|
usage error (`exit 2`).
|
package/package.json
CHANGED
|
@@ -26,6 +26,6 @@ While in SWE we use git to manage changes to code, in research we are interested
|
|
|
26
26
|
- [Credits and billing](../compute/credits-and-billing.md)
|
|
27
27
|
- [Using local hardware with Flywheel](../usage-and-workflows/using-local-hardware-with-flywheel.md)
|
|
28
28
|
- [Participating in a Campaign](../campaigns/participating-in-a-campaign.md)
|
|
29
|
-
- [OAuth
|
|
29
|
+
- [OAuth Client ID Metadata FAQ](../setting-up-flywheel/how-can-i-get-an-authorized-client_id-for-the-oauth-flow.md)
|
|
30
30
|
- [Flywheel MCP tool map](../references/flywheel-mcp-tool-map.md)
|
|
31
31
|
- [Example workflows](../example-workflows/)
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
# FAQ: How Can I
|
|
1
|
+
# FAQ: How Can I Use a `client_id` for the OAuth Flow?
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Flywheel uses [OAuth Client ID Metadata Documents](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration).
|
|
4
|
+
Your public HTTPS metadata-document URL is the OAuth `client_id`. There is no
|
|
5
|
+
Dynamic Client Registration endpoint and no private enrollment or allowlist.
|
|
4
6
|
|
|
5
7
|
First, query our OAuth authorization-server metadata:
|
|
6
8
|
|
|
@@ -8,43 +10,32 @@ First, query our OAuth authorization-server metadata:
|
|
|
8
10
|
curl -sS https://flywheel.paradigma.inc/mcp-server/.well-known/oauth-authorization-server | jq
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
`
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"client_name":"Flywheel MCP Host",
|
|
26
|
-
"redirect_uris":["http://localhost:3333/callback"],
|
|
27
|
-
"grant_types":["authorization_code","refresh_token"],
|
|
28
|
-
"response_types":["code"]
|
|
29
|
-
}' | jq
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
The response returns a `client_id` and no `client_secret`.
|
|
33
|
-
|
|
34
|
-
## Confidential client (optional)
|
|
35
|
-
|
|
36
|
-
Use this when your app has a trusted backend that can securely store secrets.
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
curl -sS -X POST https://flywheel.paradigma.inc/mcp-server/register \
|
|
40
|
-
-H "content-type: application/json" \
|
|
41
|
-
-d '{
|
|
42
|
-
"client_name":"Flywheel MCP Connector Backend",
|
|
43
|
-
"redirect_uris":["https://YOUR_CALLBACK_URL"],
|
|
44
|
-
"grant_types":["authorization_code","refresh_token"],
|
|
45
|
-
"response_types":["code"],
|
|
46
|
-
"token_endpoint_auth_method":"client_secret_post"
|
|
47
|
-
}' | jq
|
|
13
|
+
Confirm it advertises `client_id_metadata_document_supported: true`. Then host a
|
|
14
|
+
JSON object at a public HTTPS URL on port 443, with a non-root path, such as
|
|
15
|
+
`https://example.com/mcp/client.json`:
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"client_id": "https://example.com/mcp/client.json",
|
|
20
|
+
"client_name": "Example MCP Host",
|
|
21
|
+
"redirect_uris": ["https://example.com/oauth/callback"],
|
|
22
|
+
"grant_types": ["authorization_code", "refresh_token"],
|
|
23
|
+
"response_types": ["code"],
|
|
24
|
+
"scope": "read write compute",
|
|
25
|
+
"token_endpoint_auth_method": "none"
|
|
26
|
+
}
|
|
48
27
|
```
|
|
49
28
|
|
|
50
|
-
|
|
29
|
+
Configure your MCP host to use that exact URL as `client_id`. The server fetches
|
|
30
|
+
and validates the document during authorization and token exchange. The requested
|
|
31
|
+
redirect URI must exactly match one listed value; it may be omitted only when the
|
|
32
|
+
document lists exactly one redirect URI. Do not put a client secret in the
|
|
33
|
+
document.
|
|
34
|
+
|
|
35
|
+
The first connection requires authenticated consent and PKCE. Persist the issued
|
|
36
|
+
access and single-use refresh credentials. Reuse the access credential while it
|
|
37
|
+
is valid and rotate the refresh credential instead of restarting authorization.
|
|
38
|
+
Flywheel skips repeat consent only for the same user, exact client identity and
|
|
39
|
+
selected redirect, active grant, and equal-or-narrower scopes. A new or changed
|
|
40
|
+
client identity or redirect, scope expansion, expiry, revocation, or disconnect
|
|
41
|
+
requires consent again.
|
|
@@ -37,4 +37,11 @@ Authorization = "Bearer <YOUR_MCP_API_KEY>"
|
|
|
37
37
|
|
|
38
38
|
Different hosts use different field names (`mcpServers`, `mcp_servers`, `mcp.servers`, etc.), but the server URL and `Authorization` bearer header are the key pieces.
|
|
39
39
|
|
|
40
|
-
Alternative: for any host that supports MCP OAuth,
|
|
40
|
+
Alternative: for any host that supports MCP OAuth, use its OAuth connector
|
|
41
|
+
install flow and set the MCP URL to
|
|
42
|
+
`https://flywheel.paradigma.inc/mcp-server`. Web connector hosts (for example
|
|
43
|
+
ChatGPT.com and Claude.ai) commonly use this path. A host that persists access
|
|
44
|
+
and refresh credentials should authorize once, reuse the access credential, and
|
|
45
|
+
rotate the refresh credential without another browser prompt. Reauthorization
|
|
46
|
+
is needed when the host loses its credentials or the grant expires, is revoked,
|
|
47
|
+
or requests changed authority.
|
|
Binary file
|
|
@@ -10,7 +10,7 @@ async function loadKeytar() {
|
|
|
10
10
|
}
|
|
11
11
|
catch (err) {
|
|
12
12
|
cached = null;
|
|
13
|
-
throw new Error(`keytar could not be loaded; native module likely failed to build on this platform. Original error: ${err.message}
|
|
13
|
+
throw new Error(`keytar could not be loaded; native module likely failed to build on this platform. Original error: ${err.message}`, { cause: err });
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
export async function getKey(service, account) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../src/auth/keychain.ts"],"names":[],"mappings":"AAMA,IAAI,MAAuC,CAAC;AAE5C,KAAK,UAAU,UAAU;IACvB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,QAAkB,CAAC,CAEhB,CAAC;QAC9B,MAAM,GAAG,SAAS,IAAI,GAAG,CAAC,CAAC,CAAE,GAAiC,CAAC,OAAO,CAAC,CAAC,CAAE,GAAoB,CAAC;QAC/F,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,IAAI,KAAK,CACb,sGAAuG,GAAa,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../src/auth/keychain.ts"],"names":[],"mappings":"AAMA,IAAI,MAAuC,CAAC;AAE5C,KAAK,UAAU,UAAU;IACvB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,QAAkB,CAAC,CAEhB,CAAC;QAC9B,MAAM,GAAG,SAAS,IAAI,GAAG,CAAC,CAAC,CAAE,GAAiC,CAAC,OAAO,CAAC,CAAC,CAAE,GAAoB,CAAC;QAC/F,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,IAAI,KAAK,CACb,sGAAuG,GAAa,CAAC,OAAO,EAAE,EAC9H,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe,EAAE,OAAe;IAC3D,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,OAAO,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,KAAa;IAC1E,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,OAAe;IAC9D,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,OAAO,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,SAAS,CAAC;AACrB,CAAC"}
|
|
@@ -230,7 +230,7 @@ export async function runAuthLogin(args) {
|
|
|
230
230
|
const deviceFlowError = extractDeviceFlowError(error);
|
|
231
231
|
if (deviceFlowError === 'capacity_reached') {
|
|
232
232
|
throw new Error('Flywheel capacity reached. Please try `flywheel auth:login` again ' +
|
|
233
|
-
'in a few minutes.');
|
|
233
|
+
'in a few minutes.', { cause: error });
|
|
234
234
|
}
|
|
235
235
|
throw error;
|
|
236
236
|
}
|
|
@@ -301,7 +301,7 @@ export async function runAuthLogin(args) {
|
|
|
301
301
|
}
|
|
302
302
|
if (deviceFlowError === 'capacity_reached') {
|
|
303
303
|
throw new Error('Flywheel capacity reached. Please try `flywheel auth:login` ' +
|
|
304
|
-
'again in a few minutes.');
|
|
304
|
+
'again in a few minutes.', { cause: error });
|
|
305
305
|
}
|
|
306
306
|
// Server returns 404 when the session row is missing — most
|
|
307
307
|
// commonly because `expires_at` has just elapsed (the SELECT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,24 @@
|
|
|
1
|
-
import type { CliGlobals } from
|
|
1
|
+
import type { CliGlobals } from "../grammar/globals.js";
|
|
2
2
|
export interface BrowserHandoffResult {
|
|
3
|
-
status:
|
|
3
|
+
status: "browser_flow_required";
|
|
4
4
|
command: string;
|
|
5
5
|
url: string;
|
|
6
6
|
opened: boolean;
|
|
7
7
|
next_action: string;
|
|
8
8
|
}
|
|
9
|
+
export interface PrivateBrowserHandoffResult {
|
|
10
|
+
status: "private_browser_handoff_started";
|
|
11
|
+
command: string;
|
|
12
|
+
opened: true;
|
|
13
|
+
next_action: string;
|
|
14
|
+
}
|
|
9
15
|
/**
|
|
10
16
|
* Normalizes route-specific browser URLs into the CLI's stable handoff result.
|
|
11
17
|
* Billing routes expose Stripe-shaped checkout/portal fields, while OAuth and
|
|
12
18
|
* generic handoffs use open_url/url.
|
|
13
19
|
*/
|
|
14
20
|
export declare function extractOpenUrl(payload: Record<string, unknown>): string;
|
|
21
|
+
export declare function requirePrivateBrowserHandoff(globals: CliGlobals | undefined): void;
|
|
15
22
|
export declare function buildBrowserHandoffResult({ command, url, globals, stderr, nextAction, }: {
|
|
16
23
|
command: string;
|
|
17
24
|
url: string;
|
|
@@ -19,3 +26,10 @@ export declare function buildBrowserHandoffResult({ command, url, globals, stder
|
|
|
19
26
|
stderr?: (chunk: string) => void;
|
|
20
27
|
nextAction: string;
|
|
21
28
|
}): Promise<BrowserHandoffResult>;
|
|
29
|
+
export declare function buildPrivateBrowserHandoffResult({ command, url, globals, stderr, nextAction, }: {
|
|
30
|
+
command: string;
|
|
31
|
+
url: string;
|
|
32
|
+
globals: CliGlobals | undefined;
|
|
33
|
+
stderr?: (chunk: string) => void;
|
|
34
|
+
nextAction: string;
|
|
35
|
+
}): Promise<PrivateBrowserHandoffResult>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { CliUsageError } from "../errors.js";
|
|
2
|
+
import { EXIT_TRANSPORT } from "../exit-codes.js";
|
|
3
|
+
import { CliHttpError } from "../http/client.js";
|
|
4
|
+
import { maybeOpenUrl } from "./_open-url.js";
|
|
4
5
|
const BROWSER_HANDOFF_URL_KEYS = [
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
"open_url",
|
|
7
|
+
"url",
|
|
8
|
+
"checkout_url",
|
|
9
|
+
"portal_url",
|
|
9
10
|
];
|
|
10
11
|
/**
|
|
11
12
|
* Normalizes route-specific browser URLs into the CLI's stable handoff result.
|
|
@@ -15,37 +16,58 @@ const BROWSER_HANDOFF_URL_KEYS = [
|
|
|
15
16
|
export function extractOpenUrl(payload) {
|
|
16
17
|
for (const key of BROWSER_HANDOFF_URL_KEYS) {
|
|
17
18
|
const value = payload[key];
|
|
18
|
-
if (typeof value ===
|
|
19
|
+
if (typeof value === "string")
|
|
19
20
|
return value;
|
|
20
21
|
}
|
|
21
|
-
return
|
|
22
|
+
return "";
|
|
22
23
|
}
|
|
23
24
|
function validatedBrowserHandoffUrl(url) {
|
|
24
25
|
const trimmed = url.trim();
|
|
25
26
|
if (!trimmed) {
|
|
26
|
-
throw new CliHttpError(
|
|
27
|
+
throw new CliHttpError("browser handoff response missing browser URL", EXIT_TRANSPORT);
|
|
27
28
|
}
|
|
28
29
|
let parsed;
|
|
29
30
|
try {
|
|
30
31
|
parsed = new URL(trimmed);
|
|
31
32
|
}
|
|
32
33
|
catch {
|
|
33
|
-
throw new CliHttpError(
|
|
34
|
+
throw new CliHttpError("browser handoff response included an invalid browser URL", EXIT_TRANSPORT);
|
|
34
35
|
}
|
|
35
|
-
if (parsed.protocol !==
|
|
36
|
-
throw new CliHttpError(
|
|
36
|
+
if (parsed.protocol !== "https:" && parsed.protocol !== "http:") {
|
|
37
|
+
throw new CliHttpError("browser handoff response included a non-HTTP browser URL", EXIT_TRANSPORT);
|
|
37
38
|
}
|
|
38
39
|
return trimmed;
|
|
39
40
|
}
|
|
41
|
+
export function requirePrivateBrowserHandoff(globals) {
|
|
42
|
+
if (!globals?.open) {
|
|
43
|
+
throw new CliUsageError("admin:test-users:login requires --open for private browser handoff");
|
|
44
|
+
}
|
|
45
|
+
if (!process.stdout.isTTY) {
|
|
46
|
+
throw new CliUsageError("admin:test-users:login requires an interactive terminal for private browser handoff");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
40
49
|
export async function buildBrowserHandoffResult({ command, url, globals, stderr, nextAction, }) {
|
|
41
50
|
const handoffUrl = validatedBrowserHandoffUrl(url);
|
|
42
51
|
const opened = await maybeOpenUrl(handoffUrl, globals, stderr);
|
|
43
52
|
return {
|
|
44
|
-
status:
|
|
53
|
+
status: "browser_flow_required",
|
|
45
54
|
command,
|
|
46
55
|
url: handoffUrl,
|
|
47
56
|
opened,
|
|
48
57
|
next_action: nextAction,
|
|
49
58
|
};
|
|
50
59
|
}
|
|
60
|
+
export async function buildPrivateBrowserHandoffResult({ command, url, globals, stderr, nextAction, }) {
|
|
61
|
+
requirePrivateBrowserHandoff(globals);
|
|
62
|
+
const opened = await maybeOpenUrl(validatedBrowserHandoffUrl(url), globals, stderr, true);
|
|
63
|
+
if (!opened) {
|
|
64
|
+
throw new CliHttpError("private browser handoff could not be opened", EXIT_TRANSPORT);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
status: "private_browser_handoff_started",
|
|
68
|
+
command,
|
|
69
|
+
opened: true,
|
|
70
|
+
next_action: nextAction,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
51
73
|
//# sourceMappingURL=_browser-handoff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_browser-handoff.js","sourceRoot":"","sources":["../../src/commands/_browser-handoff.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"_browser-handoff.js","sourceRoot":"","sources":["../../src/commands/_browser-handoff.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAiB9C,MAAM,wBAAwB,GAAG;IAC/B,UAAU;IACV,KAAK;IACL,cAAc;IACd,YAAY;CACJ,CAAC;AAEX;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgC;IAC7D,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CACpB,8CAA8C,EAC9C,cAAc,CACf,CAAC;IACJ,CAAC;IACD,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CACpB,0DAA0D,EAC1D,cAAc,CACf,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChE,MAAM,IAAI,YAAY,CACpB,0DAA0D,EAC1D,cAAc,CACf,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAA+B;IAE/B,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,aAAa,CACrB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CACrB,qFAAqF,CACtF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC9C,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,UAAU,GAOX;IACC,MAAM,UAAU,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO;QACL,MAAM,EAAE,uBAAuB;QAC/B,OAAO;QACP,GAAG,EAAE,UAAU;QACf,MAAM;QACN,WAAW,EAAE,UAAU;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,EACrD,OAAO,EACP,GAAG,EACH,OAAO,EACP,MAAM,EACN,UAAU,GAOX;IACC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,0BAA0B,CAAC,GAAG,CAAC,EAC/B,OAAO,EACP,MAAM,EACN,IAAI,CACL,CAAC;IACF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACpB,6CAA6C,EAC7C,cAAc,CACf,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,iCAAiC;QACzC,OAAO;QACP,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,UAAU;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { CliGlobals } from
|
|
2
|
-
export declare function maybeOpenUrl(url: string | undefined, globals: CliGlobals | undefined, stderr?: (chunk: string) => void): Promise<boolean>;
|
|
1
|
+
import type { CliGlobals } from "../grammar/globals.js";
|
|
2
|
+
export declare function maybeOpenUrl(url: string | undefined, globals: CliGlobals | undefined, stderr?: (chunk: string) => void, privateBrowser?: boolean): Promise<boolean>;
|
|
@@ -1,24 +1,33 @@
|
|
|
1
|
-
export async function maybeOpenUrl(url, globals, stderr) {
|
|
1
|
+
export async function maybeOpenUrl(url, globals, stderr, privateBrowser = false) {
|
|
2
2
|
if (!url || !globals?.open)
|
|
3
3
|
return false;
|
|
4
4
|
if (!process.stdout.isTTY)
|
|
5
5
|
return false;
|
|
6
6
|
try {
|
|
7
|
-
const mod = (await import(
|
|
7
|
+
const mod = (await import("open"));
|
|
8
8
|
let open;
|
|
9
|
-
if (typeof mod ===
|
|
9
|
+
if (typeof mod === "function") {
|
|
10
10
|
open = mod;
|
|
11
11
|
}
|
|
12
|
-
else if (mod &&
|
|
12
|
+
else if (mod &&
|
|
13
|
+
typeof mod.default === "function") {
|
|
13
14
|
open = mod.default;
|
|
14
15
|
}
|
|
15
16
|
if (open) {
|
|
16
|
-
|
|
17
|
+
if (privateBrowser) {
|
|
18
|
+
const browserPrivate = mod.apps?.browserPrivate;
|
|
19
|
+
if (!browserPrivate)
|
|
20
|
+
return false;
|
|
21
|
+
await open(url, { app: { name: browserPrivate } });
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
await open(url);
|
|
25
|
+
}
|
|
17
26
|
return true;
|
|
18
27
|
}
|
|
19
28
|
}
|
|
20
29
|
catch {
|
|
21
|
-
const msg =
|
|
30
|
+
const msg = "--open skipped: install the `open` package to enable browser launch\n";
|
|
22
31
|
if (stderr)
|
|
23
32
|
stderr(msg);
|
|
24
33
|
else
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_open-url.js","sourceRoot":"","sources":["../../src/commands/_open-url.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_open-url.js","sourceRoot":"","sources":["../../src/commands/_open-url.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAuB,EACvB,OAA+B,EAC/B,MAAgC,EAChC,cAAc,GAAG,KAAK;IAEtB,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,MAAgB,CAAC,CAAY,CAAC;QACxD,IAAI,IAAwB,CAAC;QAC7B,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,IAAI,GAAG,GAAa,CAAC;QACvB,CAAC;aAAM,IACL,GAAG;YACH,OAAQ,GAA6B,CAAC,OAAO,KAAK,UAAU,EAC5D,CAAC;YACD,IAAI,GAAI,GAA2B,CAAC,OAAO,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,cAAc,GAClB,GACD,CAAC,IAAI,EAAE,cAAc,CAAC;gBACvB,IAAI,CAAC,cAAc;oBAAE,OAAO,KAAK,CAAC;gBAClC,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,GACP,uEAAuE,CAAC;QAC1E,IAAI,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { adminAuthRequestOptions, requireAdminCredential, } from "./_admin-auth.js";
|
|
2
|
+
export const adminTestUsersCreateCommand = async (context) => {
|
|
3
|
+
requireAdminCredential(context, "admin:test-users:create");
|
|
4
|
+
const options = {
|
|
5
|
+
...adminAuthRequestOptions(context.apiKey),
|
|
6
|
+
};
|
|
7
|
+
return context.requestJson("POST", "/admin/test-users", options);
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=admin-test-users-create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-test-users-create.js","sourceRoot":"","sources":["../../src/commands/admin-test-users-create.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,CAAC,MAAM,2BAA2B,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC3E,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAmB;QAC9B,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC;KAC3C,CAAC;IACF,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { adminAuthRequestOptions, requireAdminCredential, } from "./_admin-auth.js";
|
|
2
|
+
import { requiredString } from "./utils.js";
|
|
3
|
+
export const adminTestUsersDeleteCommand = async (context) => {
|
|
4
|
+
requireAdminCredential(context, "admin:test-users:delete");
|
|
5
|
+
const userId = requiredString(context.params, "user_id");
|
|
6
|
+
const options = {
|
|
7
|
+
...adminAuthRequestOptions(context.apiKey),
|
|
8
|
+
};
|
|
9
|
+
return context.requestJson("DELETE", `/admin/test-users/${encodeURIComponent(userId)}`, options);
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=admin-test-users-delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-test-users-delete.js","sourceRoot":"","sources":["../../src/commands/admin-test-users-delete.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,2BAA2B,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC3E,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,OAAO,GAAmB;QAC9B,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC;KAC3C,CAAC;IACF,OAAO,OAAO,CAAC,WAAW,CACxB,QAAQ,EACR,qBAAqB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EACjD,OAAO,CACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { adminAuthRequestOptions, requireAdminCredential, } from "./_admin-auth.js";
|
|
2
|
+
import { buildPrivateBrowserHandoffResult, requirePrivateBrowserHandoff, } from "./_browser-handoff.js";
|
|
3
|
+
import { requiredString } from "./utils.js";
|
|
4
|
+
export const adminTestUsersLoginCommand = async (context) => {
|
|
5
|
+
requireAdminCredential(context, "admin:test-users:login");
|
|
6
|
+
requirePrivateBrowserHandoff(context.globals);
|
|
7
|
+
const userId = requiredString(context.params, "user_id");
|
|
8
|
+
const options = {
|
|
9
|
+
...adminAuthRequestOptions(context.apiKey),
|
|
10
|
+
};
|
|
11
|
+
const payload = (await context.requestJson("POST", `/admin/test-users/${encodeURIComponent(userId)}/login-link`, options)) ?? {};
|
|
12
|
+
return buildPrivateBrowserHandoffResult({
|
|
13
|
+
command: "admin:test-users:login",
|
|
14
|
+
url: typeof payload.action_link === "string" ? payload.action_link : "",
|
|
15
|
+
globals: context.globals,
|
|
16
|
+
stderr: context.stderr,
|
|
17
|
+
nextAction: "Test-user browser session opened.",
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=admin-test-users-login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-test-users-login.js","sourceRoot":"","sources":["../../src/commands/admin-test-users-login.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GAAmB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC1E,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAC1D,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,OAAO,GAAmB;QAC9B,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC;KAC3C,CAAC;IACF,MAAM,OAAO,GACX,CAAC,MAAM,OAAO,CAAC,WAAW,CACxB,MAAM,EACN,qBAAqB,kBAAkB,CAAC,MAAM,CAAC,aAAa,EAC5D,OAAO,CACR,CAAC,IAAI,EAAE,CAAC;IACX,OAAO,gCAAgC,CAAC;QACtC,OAAO,EAAE,wBAAwB;QACjC,GAAG,EAAE,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;QACvE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,mCAAmC;KAChD,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { artifactsGetCommand } from
|
|
2
|
-
import { artifactsListCommand } from
|
|
3
|
-
import { authLoginCommand } from
|
|
4
|
-
import { authStatusCommand } from
|
|
5
|
-
import { computeStatusCommand } from
|
|
6
|
-
import { exportSubgraphCommand } from
|
|
7
|
-
import { nodesChildrenCommand } from
|
|
8
|
-
import { nodesCommitCommand } from
|
|
9
|
-
import { nodesCommitNewCommand } from
|
|
10
|
-
import { nodesDeleteCommand } from
|
|
11
|
-
import { nodesGetCommand } from
|
|
12
|
-
import { nodesListCommand } from
|
|
13
|
-
import { nodesParentsCommand } from
|
|
14
|
-
import { nodesRenderTreeCommand } from
|
|
15
|
-
import { nodesStageLeaseAcquireCommand } from
|
|
16
|
-
import { profileListCommand } from
|
|
17
|
-
import { profileShowCommand } from
|
|
18
|
-
import { profileSetCommand } from
|
|
19
|
-
import { profileUnsetCommand } from
|
|
20
|
-
import { graphGetCommand } from
|
|
21
|
-
import type { CommandHandler } from
|
|
1
|
+
import { artifactsGetCommand } from "./artifacts-get.js";
|
|
2
|
+
import { artifactsListCommand } from "./artifacts-list.js";
|
|
3
|
+
import { authLoginCommand } from "./auth-login.js";
|
|
4
|
+
import { authStatusCommand } from "./auth-status.js";
|
|
5
|
+
import { computeStatusCommand } from "./compute-status.js";
|
|
6
|
+
import { exportSubgraphCommand } from "./export-subgraph.js";
|
|
7
|
+
import { nodesChildrenCommand } from "./nodes-children.js";
|
|
8
|
+
import { nodesCommitCommand } from "./nodes-commit.js";
|
|
9
|
+
import { nodesCommitNewCommand } from "./nodes-commit-new.js";
|
|
10
|
+
import { nodesDeleteCommand } from "./nodes-delete.js";
|
|
11
|
+
import { nodesGetCommand } from "./nodes-get.js";
|
|
12
|
+
import { nodesListCommand } from "./nodes-list.js";
|
|
13
|
+
import { nodesParentsCommand } from "./nodes-parents.js";
|
|
14
|
+
import { nodesRenderTreeCommand } from "./nodes-render-tree.js";
|
|
15
|
+
import { nodesStageLeaseAcquireCommand } from "./nodes-stage-lease-acquire.js";
|
|
16
|
+
import { profileListCommand } from "./profile-list.js";
|
|
17
|
+
import { profileShowCommand } from "./profile-show.js";
|
|
18
|
+
import { profileSetCommand } from "./profile-set.js";
|
|
19
|
+
import { profileUnsetCommand } from "./profile-unset.js";
|
|
20
|
+
import { graphGetCommand } from "./graph-get.js";
|
|
21
|
+
import type { CommandHandler } from "./types.js";
|
|
22
22
|
export { artifactsGetCommand, artifactsListCommand, authLoginCommand, authStatusCommand, computeStatusCommand, exportSubgraphCommand, graphGetCommand, nodesChildrenCommand, nodesCommitCommand, nodesCommitNewCommand, nodesDeleteCommand, nodesGetCommand, nodesListCommand, nodesParentsCommand, nodesRenderTreeCommand, nodesStageLeaseAcquireCommand, profileListCommand, profileShowCommand, profileSetCommand, profileUnsetCommand, };
|
|
23
23
|
export declare const MVP_COMMAND_HANDLERS: Record<string, CommandHandler>;
|