@stigmer/cli 3.13.0 → 3.14.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/auth/login.d.ts.map +1 -1
- package/auth/login.js +30 -5
- package/auth/login.js.map +1 -1
- package/auth/token.d.ts +10 -5
- package/auth/token.d.ts.map +1 -1
- package/auth/token.js +30 -21
- package/auth/token.js.map +1 -1
- package/commands/apikey/index.d.ts.map +1 -1
- package/commands/apikey/index.js +11 -5
- package/commands/apikey/index.js.map +1 -1
- package/commands/auth/index.d.ts.map +1 -1
- package/commands/auth/index.js +19 -8
- package/commands/auth/index.js.map +1 -1
- package/commands/config/backend.d.ts.map +1 -1
- package/commands/config/backend.js +134 -12
- package/commands/config/backend.js.map +1 -1
- package/commands/connect.d.ts.map +1 -1
- package/commands/connect.js +6 -3
- package/commands/connect.js.map +1 -1
- package/commands/share.d.ts.map +1 -1
- package/commands/share.js +8 -6
- package/commands/share.js.map +1 -1
- package/config/config.d.ts +56 -7
- package/config/config.d.ts.map +1 -1
- package/config/config.js +115 -16
- package/config/config.js.map +1 -1
- package/config/index.d.ts +1 -1
- package/config/index.d.ts.map +1 -1
- package/config/index.js +1 -1
- package/config/index.js.map +1 -1
- package/config/keys.d.ts +1 -1
- package/config/keys.d.ts.map +1 -1
- package/config/keys.js +29 -6
- package/config/keys.js.map +1 -1
- package/config/resolve.d.ts +28 -20
- package/config/resolve.d.ts.map +1 -1
- package/config/resolve.js +74 -36
- package/config/resolve.js.map +1 -1
- package/local/seedpack/content.d.ts +3 -3
- package/local/seedpack/content.d.ts.map +1 -1
- package/local/seedpack/content.js +19 -13
- package/local/seedpack/content.js.map +1 -1
- package/package.json +5 -5
- package/resources/connect/connect.d.ts +4 -3
- package/resources/connect/connect.d.ts.map +1 -1
- package/resources/connect/connect.js +17 -5
- package/resources/connect/connect.js.map +1 -1
- package/resources/connect/oauth.d.ts +5 -2
- package/resources/connect/oauth.d.ts.map +1 -1
- package/resources/connect/oauth.js +5 -4
- package/resources/connect/oauth.js.map +1 -1
- package/src/auth/login.ts +54 -9
- package/src/auth/token.test.ts +69 -13
- package/src/auth/token.ts +46 -22
- package/src/client/client.test.ts +10 -2
- package/src/commands/apikey/index.ts +42 -11
- package/src/commands/auth/index.ts +52 -14
- package/src/commands/config/backend.test.ts +122 -0
- package/src/commands/config/backend.ts +195 -14
- package/src/commands/connect.test.ts +22 -4
- package/src/commands/connect.ts +37 -13
- package/src/commands/share.ts +36 -16
- package/src/config/config.test.ts +62 -6
- package/src/config/config.ts +165 -24
- package/src/config/index.ts +6 -0
- package/src/config/keys.test.ts +27 -4
- package/src/config/keys.ts +46 -9
- package/src/config/resolve.test.ts +135 -34
- package/src/config/resolve.ts +83 -36
- package/src/local/seedpack/content.ts +52 -21
- package/src/resources/connect/connect.integration.test.ts +79 -26
- package/src/resources/connect/connect.ts +72 -19
- package/src/resources/connect/oauth.test.ts +38 -12
- package/src/resources/connect/oauth.ts +27 -11
package/config/resolve.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
// Effective-value resolution with env > config > default precedence. These are
|
|
2
2
|
// the settings the backend client and read verbs depend on; centralizing the
|
|
3
3
|
// precedence keeps every call site consistent (mirrors the Go CLI's Resolve*).
|
|
4
|
+
//
|
|
5
|
+
// All resolvers read the ACTIVE named backend (config.ts): local is the
|
|
6
|
+
// managed daemon (fixed endpoint, never requires auth), cloud entries carry
|
|
7
|
+
// the OAuth token set, selfhost entries carry an endpoint + api_key.
|
|
4
8
|
import { CliExitError, ExitCode } from "../errors/index.js";
|
|
5
9
|
import { SERVER_PORT } from "../local/constants.js";
|
|
6
|
-
import { isCloudMode } from "./config.js";
|
|
10
|
+
import { activeBackend, isCloudMode } from "./config.js";
|
|
7
11
|
const DEFAULT_CLOUD_ENDPOINT = "api.stigmer.ai:443";
|
|
8
12
|
const DEFAULT_LOCAL_ENDPOINT = "localhost:7234";
|
|
9
13
|
/** Well-known URL for the Stigmer Cloud web console. */
|
|
@@ -11,42 +15,61 @@ export const DEFAULT_CLOUD_CONSOLE_URL = "https://app.stigmer.ai";
|
|
|
11
15
|
// Local mode is single-tenant: the seedpack bootstraps resources into the
|
|
12
16
|
// "stigmer" org (see client-apps/cli/src/local/seedpack/apply.ts DEFAULT_ORG).
|
|
13
17
|
// Org-scoped getByReference now requires an org, so bare-slug `get`/`run`/`apply`
|
|
14
|
-
// in local mode fall back to this default when nothing else is configured.
|
|
15
|
-
//
|
|
18
|
+
// in local mode fall back to this default when nothing else is configured. The
|
|
19
|
+
// same holds for selfhost backends — they ARE the OSS server. Cloud mode has no
|
|
20
|
+
// implicit org — the caller must select one (flag/env/context/login).
|
|
16
21
|
const DEFAULT_LOCAL_ORG = "stigmer";
|
|
17
22
|
/**
|
|
18
23
|
* Resolve the server endpoint.
|
|
19
|
-
* STIGMER_SERVER_ADDRESS
|
|
20
|
-
* >
|
|
21
|
-
* >
|
|
24
|
+
* STIGMER_SERVER_ADDRESS (explicit override, any backend)
|
|
25
|
+
* > the active entry's endpoint (cloud falls back to api.stigmer.ai:443)
|
|
26
|
+
* > localhost:7234 (the local daemon)
|
|
27
|
+
*
|
|
28
|
+
* A selfhost entry without an endpoint is a loud configuration error —
|
|
29
|
+
* `config backend add` requires one, so this only happens to hand-edited
|
|
30
|
+
* files, and guessing an address for a self-hosted server helps nobody.
|
|
22
31
|
*/
|
|
23
32
|
export function resolveEndpoint(config) {
|
|
24
33
|
const override = process.env.STIGMER_SERVER_ADDRESS;
|
|
25
34
|
if (override !== undefined && override !== "") {
|
|
26
35
|
return override;
|
|
27
36
|
}
|
|
28
|
-
|
|
29
|
-
|
|
37
|
+
const { name, entry } = activeBackend(config);
|
|
38
|
+
if (entry === undefined) {
|
|
39
|
+
return DEFAULT_LOCAL_ENDPOINT;
|
|
40
|
+
}
|
|
41
|
+
if (entry.endpoint !== undefined && entry.endpoint !== "") {
|
|
42
|
+
return entry.endpoint;
|
|
43
|
+
}
|
|
44
|
+
if (entry.type === "cloud") {
|
|
45
|
+
return DEFAULT_CLOUD_ENDPOINT;
|
|
30
46
|
}
|
|
31
|
-
|
|
47
|
+
throw new CliExitError(`backend "${name}" has no endpoint configured`, ExitCode.Usage, [
|
|
48
|
+
`Re-add it with one:`,
|
|
49
|
+
` stigmer config backend add ${name} --endpoint <host:port>`,
|
|
50
|
+
]);
|
|
32
51
|
}
|
|
33
52
|
/**
|
|
34
53
|
* Resolve the auth token.
|
|
35
|
-
* STIGMER_API_KEY
|
|
36
|
-
* > cloud
|
|
37
|
-
* > ""
|
|
54
|
+
* STIGMER_API_KEY (env, also where the --api-key global is bridged)
|
|
55
|
+
* > the active entry's credential (cloud: login token; selfhost: api_key)
|
|
56
|
+
* > "" (unauthenticated)
|
|
38
57
|
*/
|
|
39
58
|
export function resolveToken(config) {
|
|
40
59
|
const env = process.env.STIGMER_API_KEY;
|
|
41
60
|
if (env !== undefined && env !== "") {
|
|
42
61
|
return env;
|
|
43
62
|
}
|
|
44
|
-
|
|
63
|
+
const { entry } = activeBackend(config);
|
|
64
|
+
if (entry === undefined) {
|
|
65
|
+
return "";
|
|
66
|
+
}
|
|
67
|
+
return (entry.type === "cloud" ? entry.token : entry.api_key) ?? "";
|
|
45
68
|
}
|
|
46
69
|
/**
|
|
47
70
|
* Resolve the active organization.
|
|
48
71
|
* --org flag override > STIGMER_ORG_ID env > context.organization
|
|
49
|
-
* >
|
|
72
|
+
* > the active entry's org_id (legacy fallback)
|
|
50
73
|
*/
|
|
51
74
|
export function resolveOrganization(config, flagOrg) {
|
|
52
75
|
if (flagOrg !== undefined && flagOrg !== "") {
|
|
@@ -60,59 +83,74 @@ export function resolveOrganization(config, flagOrg) {
|
|
|
60
83
|
if (context !== "") {
|
|
61
84
|
return context;
|
|
62
85
|
}
|
|
63
|
-
// Nothing configured: local
|
|
64
|
-
// so bare-slug operations resolve without ceremony; cloud
|
|
65
|
-
// caller must select an org, e.g. apply raises a clear
|
|
86
|
+
// Nothing configured: local and selfhost fall back to the single-tenant
|
|
87
|
+
// default org so bare-slug operations resolve without ceremony; cloud
|
|
88
|
+
// stays empty (the caller must select an org, e.g. apply raises a clear
|
|
89
|
+
// "organization not set").
|
|
66
90
|
return isCloudMode(config) ? "" : DEFAULT_LOCAL_ORG;
|
|
67
91
|
}
|
|
68
92
|
/**
|
|
69
93
|
* Resolve the web console URL:
|
|
70
94
|
* 1. `STIGMER_CONSOLE_URL` (explicit override)
|
|
71
|
-
* 2. local
|
|
95
|
+
* 2. local daemon → `http://localhost:{SERVER_PORT}` — the server's own
|
|
72
96
|
* unified port serves the console since DD-012 (one origin for UI and
|
|
73
97
|
* API; the Go-era separate 8234 listener is retired)
|
|
74
|
-
* 3.
|
|
98
|
+
* 3. selfhost → the entry's endpoint on the same one-origin rule
|
|
99
|
+
* (https for :443, http otherwise)
|
|
100
|
+
* 4. cloud → {@link DEFAULT_CLOUD_CONSOLE_URL}
|
|
75
101
|
*
|
|
76
102
|
* The console origin is also the app origin that serves the hosted chat
|
|
77
103
|
* page (`/chat/<org>/<slug>`) and the embed loader (`/embed.js`), so
|
|
78
104
|
* share-link builders use this same resolver — both routes live in the
|
|
79
105
|
* same static export the server serves.
|
|
80
106
|
*/
|
|
81
|
-
export function resolveConsoleURL(
|
|
107
|
+
export function resolveConsoleURL(config, env = process.env) {
|
|
82
108
|
const override = env.STIGMER_CONSOLE_URL;
|
|
83
109
|
if (override !== undefined && override !== "")
|
|
84
110
|
return override;
|
|
85
|
-
|
|
111
|
+
const { entry } = activeBackend(config);
|
|
112
|
+
if (entry === undefined)
|
|
86
113
|
return `http://localhost:${SERVER_PORT}`;
|
|
114
|
+
if (entry.type === "selfhost") {
|
|
115
|
+
const endpoint = entry.endpoint ?? "";
|
|
116
|
+
const scheme = endpoint.endsWith(":443") ? "https" : "http";
|
|
117
|
+
return `${scheme}://${endpoint.replace(/:443$/, "")}`;
|
|
118
|
+
}
|
|
87
119
|
return DEFAULT_CLOUD_CONSOLE_URL;
|
|
88
120
|
}
|
|
89
121
|
/**
|
|
90
|
-
* The configured organization, with the
|
|
91
|
-
* only what is explicitly set (no implicit local default) so
|
|
92
|
-
* display can faithfully show "(not set)".
|
|
122
|
+
* The configured organization, with the active entry's org_id fallback.
|
|
123
|
+
* Reports only what is explicitly set (no implicit local default) so
|
|
124
|
+
* config/context display can faithfully show "(not set)".
|
|
93
125
|
*/
|
|
94
126
|
export function resolveContextOrganization(config) {
|
|
95
|
-
if (config.context?.organization !== undefined &&
|
|
127
|
+
if (config.context?.organization !== undefined &&
|
|
128
|
+
config.context.organization !== "") {
|
|
96
129
|
return config.context.organization;
|
|
97
130
|
}
|
|
98
|
-
return config.
|
|
131
|
+
return activeBackend(config).entry?.org_id ?? "";
|
|
99
132
|
}
|
|
100
133
|
/**
|
|
101
|
-
* Fail fast with a clear "please log in" error when a
|
|
102
|
-
* usable credential.
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
134
|
+
* Fail fast with a clear "please log in" error when a CLOUD command has no
|
|
135
|
+
* usable credential. The local daemon never requires auth. Selfhost
|
|
136
|
+
* backends are deliberately not gated client-side: an unauthenticated
|
|
137
|
+
* self-host (no issuer configured) is a legitimate posture, and an
|
|
138
|
+
* authenticated one answers UNAUTHENTICATED with a clear message — the
|
|
139
|
+
* server owns that decision. A credential is any of: the STIGMER_API_KEY
|
|
140
|
+
* env (or bridged --api-key), a persisted access token, or a refresh token
|
|
141
|
+
* (which the token provider can exchange for a fresh access token).
|
|
107
142
|
*/
|
|
108
143
|
export function ensureAuthenticated(config) {
|
|
109
|
-
|
|
144
|
+
const { entry } = activeBackend(config);
|
|
145
|
+
if (entry?.type !== "cloud")
|
|
110
146
|
return;
|
|
111
147
|
if (process.env.STIGMER_API_KEY)
|
|
112
148
|
return;
|
|
113
|
-
|
|
114
|
-
if (cloud?.token || cloud?.refresh_token)
|
|
149
|
+
if (entry.token || entry.refresh_token)
|
|
115
150
|
return;
|
|
116
|
-
throw new CliExitError("Not authenticated", ExitCode.Auth, [
|
|
151
|
+
throw new CliExitError("Not authenticated", ExitCode.Auth, [
|
|
152
|
+
"Please sign in:",
|
|
153
|
+
" stigmer auth login",
|
|
154
|
+
]);
|
|
117
155
|
}
|
|
118
156
|
//# sourceMappingURL=resolve.js.map
|
package/config/resolve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,EAAE;AACF,wEAAwE;AACxE,4EAA4E;AAC5E,qEAAqE;AAErE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAe,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEhD,wDAAwD;AACxD,MAAM,CAAC,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;AAElE,0EAA0E;AAC1E,+EAA+E;AAC/E,kFAAkF;AAClF,+EAA+E;AAC/E,gFAAgF;AAChF,sEAAsE;AACtE,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAEpC;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,YAAY,CACpB,YAAY,IAAI,8BAA8B,EAC9C,QAAQ,CAAC,KAAK,EACd;QACE,qBAAqB;QACrB,gCAAgC,IAAI,yBAAyB;KAC9D,CACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,OAAgB;IAClE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,2BAA2B;IAC3B,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,QAAQ,GAAG,GAAG,CAAC,mBAAmB,CAAC;IACzC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,oBAAoB,WAAW,EAAE,CAAC;IAClE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,OAAO,GAAG,MAAM,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAc;IACvD,IACE,MAAM,CAAC,OAAO,EAAE,YAAY,KAAK,SAAS;QAC1C,MAAM,CAAC,OAAO,CAAC,YAAY,KAAK,EAAE,EAClC,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;IACrC,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO;QAAE,OAAO;IACpC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO;IACxC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO;IAC/C,MAAM,IAAI,YAAY,CAAC,mBAAmB,EAAE,QAAQ,CAAC,IAAI,EAAE;QACzD,iBAAiB;QACjB,sBAAsB;KACvB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The canonical seedpack entries, in apply-safe order. Kept in sync with
|
|
3
|
-
* `SEEDPACK_ENTRIES` in `@stigmer/seedpack`
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* `SEEDPACK_ENTRIES` in `@stigmer/seedpack` (`seedpack/src/index.ts`, the one
|
|
4
|
+
* definition) — `tools/`, `icons/`, and `canary/` (CI canary metadata, not a
|
|
5
|
+
* resource) are deliberately excluded so the content set (and thus the
|
|
6
6
|
* idempotency hash) is identical across delivery paths.
|
|
7
7
|
*/
|
|
8
8
|
export declare const SEEDPACK_ENTRIES: readonly ["stigmer.yaml", "organizations", "skills", "agents", "workflows", "mcp-servers"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/local/seedpack/content.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/local/seedpack/content.ts"],"names":[],"mappings":"AAyCA;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,4FAOnB,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,WAAW,2BAA2B,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,GAAE,sBAA2B,GAChC,eAAe,CAIjB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,sBAA2B,GAAG,MAAM,CA0CzE;AA8BD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAOrE;AAID,gGAAgG;AAChG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBvD;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM3D;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAGjE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Resolution and on-demand acquisition of the seedpack content.
|
|
2
2
|
//
|
|
3
3
|
// The seedpack (system agents, skills, MCP servers, workflows under the
|
|
4
|
-
// "stigmer" org) is the
|
|
4
|
+
// "stigmer" org) is the system content every backend is bootstrapped with.
|
|
5
5
|
// A lean `npx @stigmer/cli` must not carry ~300 content files (DD-002), so the
|
|
6
6
|
// content ships as `@stigmer/seedpack` and is acquired on demand — the same
|
|
7
7
|
// pattern as `@stigmer/runner-slim` and the managed Temporal binary.
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
// ~/.stigmer/runtimes/<version>/ and read from
|
|
13
13
|
// node_modules/@stigmer/seedpack.
|
|
14
14
|
//
|
|
15
|
-
// The content-hash and extract logic mirror `@stigmer/seedpack` exactly
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
15
|
+
// The content-hash and extract logic mirror `@stigmer/seedpack` exactly; the CLI
|
|
16
|
+
// reimplements them over a resolved directory so it stays decoupled from the
|
|
17
|
+
// package in the lean install (where the package is not a dependency, only an
|
|
18
|
+
// on-demand artifact). `seedpack/src/index.ts` is the one definition both follow.
|
|
19
19
|
import { execFileSync } from "node:child_process";
|
|
20
20
|
import { createHash } from "node:crypto";
|
|
21
|
-
import { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
|
|
21
|
+
import { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync, } from "node:fs";
|
|
22
22
|
import { homedir } from "node:os";
|
|
23
23
|
import { dirname, join, posix, relative, sep } from "node:path";
|
|
24
24
|
import { fileURLToPath } from "node:url";
|
|
@@ -30,9 +30,9 @@ import { runtimesDir } from "../paths.js";
|
|
|
30
30
|
const SEEDPACK_PACKAGE = "@stigmer/seedpack";
|
|
31
31
|
/**
|
|
32
32
|
* The canonical seedpack entries, in apply-safe order. Kept in sync with
|
|
33
|
-
* `SEEDPACK_ENTRIES` in `@stigmer/seedpack`
|
|
34
|
-
*
|
|
35
|
-
*
|
|
33
|
+
* `SEEDPACK_ENTRIES` in `@stigmer/seedpack` (`seedpack/src/index.ts`, the one
|
|
34
|
+
* definition) — `tools/`, `icons/`, and `canary/` (CI canary metadata, not a
|
|
35
|
+
* resource) are deliberately excluded so the content set (and thus the
|
|
36
36
|
* idempotency hash) is identical across delivery paths.
|
|
37
37
|
*/
|
|
38
38
|
export const SEEDPACK_ENTRIES = [
|
|
@@ -87,9 +87,7 @@ export function acquireSeedpack(opts = {}) {
|
|
|
87
87
|
install(installDir, `${SEEDPACK_PACKAGE}@${version}`);
|
|
88
88
|
}
|
|
89
89
|
if (!existsSync(marker)) {
|
|
90
|
-
throw new CliExitError(`${SEEDPACK_PACKAGE} install did not produce ${marker}`, ExitCode.General, [
|
|
91
|
-
`Remove ${installDir} and retry.`,
|
|
92
|
-
]);
|
|
90
|
+
throw new CliExitError(`${SEEDPACK_PACKAGE} install did not produce ${marker}`, ExitCode.General, [`Remove ${installDir} and retry.`]);
|
|
93
91
|
}
|
|
94
92
|
return pkgDir;
|
|
95
93
|
}
|
|
@@ -97,7 +95,15 @@ export function acquireSeedpack(opts = {}) {
|
|
|
97
95
|
// the user sees the one-time download progress.
|
|
98
96
|
function installSeedpack(installDir, spec) {
|
|
99
97
|
try {
|
|
100
|
-
execFileSync("npm", [
|
|
98
|
+
execFileSync("npm", [
|
|
99
|
+
"install",
|
|
100
|
+
spec,
|
|
101
|
+
"--prefix",
|
|
102
|
+
installDir,
|
|
103
|
+
"--omit=dev",
|
|
104
|
+
"--no-audit",
|
|
105
|
+
"--no-fund",
|
|
106
|
+
], {
|
|
101
107
|
stdio: "inherit",
|
|
102
108
|
});
|
|
103
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/local/seedpack/content.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,wEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/local/seedpack/content.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.14.0",
|
|
4
4
|
"description": "Stigmer command-line interface — manage agents, workflows, MCP servers, skills, and executions from the terminal",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"@connectrpc/connect": "^2.0.0",
|
|
36
36
|
"@connectrpc/connect-node": "^2.1.1",
|
|
37
37
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
38
|
-
"@stigmer/ink": "3.
|
|
39
|
-
"@stigmer/mcp-server": "3.
|
|
40
|
-
"@stigmer/protos": "3.
|
|
41
|
-
"@stigmer/sdk": "3.
|
|
38
|
+
"@stigmer/ink": "3.14.0",
|
|
39
|
+
"@stigmer/mcp-server": "3.14.0",
|
|
40
|
+
"@stigmer/protos": "3.14.0",
|
|
41
|
+
"@stigmer/sdk": "3.14.0",
|
|
42
42
|
"commander": "^12.1.0",
|
|
43
43
|
"fflate": "^0.8.3",
|
|
44
44
|
"ink": "^7.0.0",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
|
|
2
2
|
import type { DiscoveredCapabilities } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/status_pb";
|
|
3
3
|
import type { Stigmer } from "@stigmer/sdk";
|
|
4
|
-
import type { BackendType } from "../../config/config.js";
|
|
5
4
|
export interface ConnectOptions {
|
|
6
5
|
readonly reference: string;
|
|
7
6
|
readonly org: string;
|
|
@@ -17,8 +16,10 @@ export interface ConnectOptions {
|
|
|
17
16
|
readonly pushTimeoutMs?: number;
|
|
18
17
|
readonly dryRun: boolean;
|
|
19
18
|
readonly envOverrides: readonly string[];
|
|
20
|
-
/**
|
|
21
|
-
readonly
|
|
19
|
+
/** The web console origin for the OAuth flow (resolveConsoleURL). */
|
|
20
|
+
readonly consoleURL: string;
|
|
21
|
+
/** Probe the console before opening the browser (local daemon only). */
|
|
22
|
+
readonly probeLocalConsole: boolean;
|
|
22
23
|
/** Whether an interactive terminal is available to run the OAuth flow. */
|
|
23
24
|
readonly interactive: boolean;
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/resources/connect/connect.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/resources/connect/connect.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAMxF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAExG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAa5C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,qEAAqE;IACrE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC1D,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,gFAAgF;AAChF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,aAAa,CAAC,CAqCxB"}
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
// pipes) we stop with actionable guidance instead of blocking for 5 minutes.
|
|
12
12
|
// Audit identity (reviewer) and token acquisition stay server-side by design.
|
|
13
13
|
import { create } from "@bufbuild/protobuf";
|
|
14
|
-
import { ConnectInputSchema, GetOAuthGrantStatusInputSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
|
|
15
|
-
import { connectAndWait, ConnectStillRunningError, CONNECT_SETTLE_BOUND_MS } from "@stigmer/sdk";
|
|
14
|
+
import { ConnectInputSchema, GetOAuthGrantStatusInputSchema, } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
|
|
15
|
+
import { connectAndWait, ConnectStillRunningError, CONNECT_SETTLE_BOUND_MS, } from "@stigmer/sdk";
|
|
16
16
|
import { CliExitError, ExitCode, UsageError } from "../../errors/index.js";
|
|
17
17
|
import { defaultRegistry } from "../../registry/index.js";
|
|
18
18
|
import { PlaceholderResolutionError } from "../mcp/placeholder-resolver.js";
|
|
@@ -100,7 +100,10 @@ async function resolveMcpServer(client, reference, org) {
|
|
|
100
100
|
const parsed = parseReference(reference, org, idPrefix);
|
|
101
101
|
if (parsed.kind === "id")
|
|
102
102
|
return client.mcpServer.get(parsed.id);
|
|
103
|
-
return client.mcpServer.getByReference({
|
|
103
|
+
return client.mcpServer.getByReference({
|
|
104
|
+
org: parsed.org,
|
|
105
|
+
slug: parsed.slug,
|
|
106
|
+
});
|
|
104
107
|
}
|
|
105
108
|
// Ensure an OAuth grant exists before connecting an auth-configured server that
|
|
106
109
|
// was given no --env credentials. On an interactive terminal, run the browser
|
|
@@ -128,14 +131,23 @@ async function ensureOAuthSatisfied(client, server, opts) {
|
|
|
128
131
|
if (!opts.interactive)
|
|
129
132
|
throw oauthGuidanceError(server, opts.reference, oauthOnly);
|
|
130
133
|
const { runOAuthFlow } = await import("./oauth.js");
|
|
131
|
-
await runOAuthFlow({
|
|
134
|
+
await runOAuthFlow({
|
|
135
|
+
client,
|
|
136
|
+
server,
|
|
137
|
+
org: opts.org,
|
|
138
|
+
consoleURL: opts.consoleURL,
|
|
139
|
+
probeLocalConsole: opts.probeLocalConsole,
|
|
140
|
+
});
|
|
132
141
|
}
|
|
133
142
|
// Turn a strict-resolution failure into actionable guidance. A declared-but-unset
|
|
134
143
|
// variable is the user's to provide; an undeclared one is a bug in the server
|
|
135
144
|
// definition. Both are far clearer than the cryptic subprocess crash (ENOENT on a
|
|
136
145
|
// literal "${VAR}" path) that motivated issue #141.
|
|
137
146
|
function unresolvedEnvError(server, err) {
|
|
138
|
-
const slug = server.metadata?.slug ??
|
|
147
|
+
const slug = server.metadata?.slug ??
|
|
148
|
+
server.metadata?.name ??
|
|
149
|
+
server.metadata?.id ??
|
|
150
|
+
"this server";
|
|
139
151
|
const decl = server.spec?.env?.[err.variableName];
|
|
140
152
|
if (decl) {
|
|
141
153
|
const hint = decl.description !== "" ? ` (${decl.description})` : "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/resources/connect/connect.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,uEAAuE;AACvE,6EAA6E;AAC7E,yEAAyE;AACzE,cAAc;AACd,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/resources/connect/connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
|
|
2
2
|
import type { Stigmer } from "@stigmer/sdk";
|
|
3
|
-
import type { BackendType } from "../../config/config.js";
|
|
4
3
|
/** Injectable side effects + inputs for {@link runOAuthFlow}. */
|
|
5
4
|
export interface OAuthFlowDeps {
|
|
6
5
|
readonly client: Stigmer;
|
|
7
6
|
readonly server: McpServer;
|
|
8
7
|
readonly org: string;
|
|
9
|
-
|
|
8
|
+
/** The web console origin (resolveConsoleURL over the caller's config). */
|
|
9
|
+
readonly consoleURL: string;
|
|
10
|
+
/** Probe the console before opening the browser (the local daemon's
|
|
11
|
+
* console may simply not be running; remote consoles answer or 404). */
|
|
12
|
+
readonly probeLocalConsole: boolean;
|
|
10
13
|
/** Opens the page URL in the user's browser. Defaults to the OS opener. */
|
|
11
14
|
readonly openBrowser?: (url: string) => Promise<void>;
|
|
12
15
|
/** Probes whether the local web console is reachable. Defaults to a 2s GET. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/resources/connect/oauth.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAExF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/resources/connect/oauth.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAExF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAO5C,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;4EACwE;IACxE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,oEAAoE;IACpE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,gFAAgF;IAChF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BrE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB1E;AAED,kEAAkE;AAClE,wBAAsB,eAAe,CACnC,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAKlB;AAkDD,wEAAwE;AACxE,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,GAAG,EAAE,MAAM,GACV,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,CAWhC"}
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
// real browser, network, or wall-clock delay.
|
|
13
13
|
import { create } from "@bufbuild/protobuf";
|
|
14
14
|
import { GetOAuthGrantStatusInputSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
|
|
15
|
-
import { resolveConsoleURL } from "../../config/index.js";
|
|
16
15
|
import { UsageError } from "../../errors/index.js";
|
|
17
16
|
const POLL_INTERVAL_MS = 3000;
|
|
18
17
|
const POLL_TIMEOUT_MS = 5 * 60 * 1000;
|
|
@@ -24,8 +23,8 @@ const CONSOLE_PROBE_TIMEOUT_MS = 2000;
|
|
|
24
23
|
*/
|
|
25
24
|
export async function runOAuthFlow(deps) {
|
|
26
25
|
const log = deps.log ?? stderrLog;
|
|
27
|
-
const consoleURL =
|
|
28
|
-
if (deps.
|
|
26
|
+
const consoleURL = deps.consoleURL;
|
|
27
|
+
if (deps.probeLocalConsole) {
|
|
29
28
|
const probe = deps.probeConsole ?? probeWebConsole;
|
|
30
29
|
if (!(await probe(consoleURL)))
|
|
31
30
|
throw consoleUnavailableError(deps.server.metadata?.slug ?? "<slug>");
|
|
@@ -76,7 +75,9 @@ export async function checkOAuthGrant(client, mcpServerId, org) {
|
|
|
76
75
|
// an error status) means it's serving; a network/timeout failure means it isn't.
|
|
77
76
|
async function probeWebConsole(url) {
|
|
78
77
|
try {
|
|
79
|
-
const response = await fetch(url, {
|
|
78
|
+
const response = await fetch(url, {
|
|
79
|
+
signal: AbortSignal.timeout(CONSOLE_PROBE_TIMEOUT_MS),
|
|
80
|
+
});
|
|
80
81
|
// Drain the body so the socket can close promptly.
|
|
81
82
|
await response.body?.cancel();
|
|
82
83
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/resources/connect/oauth.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,8BAA8B;AAC9B,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,8CAA8C;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/resources/connect/oauth.ts"],"names":[],"mappings":"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"}
|