@equinor/fusion-framework-cli-plugin-ai-base 3.0.0 → 4.0.1
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/CHANGELOG.md +20 -0
- package/dist/esm/options/options.js +5 -0
- package/dist/esm/options/options.js.map +1 -1
- package/dist/esm/options/schema.js +1 -0
- package/dist/esm/options/schema.js.map +1 -1
- package/dist/esm/options/with-options.js +2 -1
- package/dist/esm/options/with-options.js.map +1 -1
- package/dist/esm/setup-framework.js +22 -49
- package/dist/esm/setup-framework.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/options/options.d.ts +17 -14
- package/dist/types/options/schema.d.ts +1 -0
- package/dist/types/options/types.d.ts +2 -0
- package/dist/types/setup-framework.d.ts +4 -4
- package/dist/types/version.d.ts +1 -1
- package/package.json +7 -7
- package/src/options/options.ts +6 -0
- package/src/options/schema.ts +1 -0
- package/src/options/types.ts +2 -0
- package/src/options/with-options.ts +2 -0
- package/src/setup-framework.ts +25 -56
- package/src/version.ts +1 -1
- package/tsconfig.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @equinor/fusion-framework-cli-plugin-ai-base
|
|
2
2
|
|
|
3
|
+
## 4.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- f045ac0: Internal: upgrade `zod` from 4.3.6 to 4.4.3 to resolve validation issues; no public API changes.
|
|
8
|
+
|
|
9
|
+
## 4.0.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 4711dbc: Add `-d, --debug` option to all AI CLI commands, with automatic activation via the `RUNNER_DEBUG` environment variable.
|
|
14
|
+
|
|
15
|
+
When GitHub Actions debug logging is enabled (`RUNNER_DEBUG=1`), all `ffc ai` commands now start in debug mode automatically. Debug output includes environment, auth mode, AI service URL, scopes, and token acquisition status.
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [8d7b8a1]
|
|
20
|
+
- Updated dependencies [4711dbc]
|
|
21
|
+
- @equinor/fusion-framework-cli@15.0.0
|
|
22
|
+
|
|
3
23
|
## 3.0.0
|
|
4
24
|
|
|
5
25
|
### Major Changes
|
|
@@ -30,6 +30,10 @@ export const embedModelOption = createOption('--embed-model <name>', 'Azure Open
|
|
|
30
30
|
.default(DEFAULT_MODEL_EMBED);
|
|
31
31
|
/** `--index-name` | `FUSION_AI_INDEX_NAME` */
|
|
32
32
|
export const indexNameOption = createOption('--index-name <name>', 'Azure AI Search index name').env('FUSION_AI_INDEX_NAME');
|
|
33
|
+
/** `-d, --debug` | `RUNNER_DEBUG` — enable verbose logging */
|
|
34
|
+
export const debugOption = createOption('-d, --debug', 'Enable debug mode for verbose logging')
|
|
35
|
+
.env('RUNNER_DEBUG')
|
|
36
|
+
.default(false);
|
|
33
37
|
export default {
|
|
34
38
|
envOption,
|
|
35
39
|
tokenOption,
|
|
@@ -38,5 +42,6 @@ export default {
|
|
|
38
42
|
chatModelOption,
|
|
39
43
|
embedModelOption,
|
|
40
44
|
indexNameOption,
|
|
45
|
+
debugOption,
|
|
41
46
|
};
|
|
42
47
|
//# sourceMappingURL=options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,2EAA2E;AAC3E,MAAM,iBAAiB,GAAG,sCAA+C,CAAC;AAC1E,MAAM,iBAAiB,GAAG,sCAA+C,CAAC;AAC1E,MAAM,kBAAkB,GAAG,cAAuB,CAAC;AACnD,MAAM,mBAAmB,GAAG,wBAAiC,CAAC;AAE9D,wEAAwE;AACxE,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,EAAE,0CAA0C,CAAC;KAC7F,GAAG,CAAC,YAAY,CAAC;KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjB,yDAAyD;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CACrC,iBAAiB,EACjB,4DAA4D,CAC7D;KACE,GAAG,CAAC,cAAc,CAAC;KACnB,OAAO,CAAC,SAAS,CAAC,CAAC;AAEtB,yCAAyC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;KACjF,GAAG,CAAC,kBAAkB,CAAC;KACvB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE9B,yCAAyC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,kBAAkB,EAAE,gCAAgC,CAAC;KAC7F,GAAG,CAAC,kBAAkB,CAAC;KACvB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE9B,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CACzC,qBAAqB,EACrB,yCAAyC,CAC1C;KACE,GAAG,CAAC,sBAAsB,CAAC;KAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAE/B,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAC1C,sBAAsB,EACtB,8CAA8C,CAC/C;KACE,GAAG,CAAC,uBAAuB,CAAC;KAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEhC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CACzC,qBAAqB,EACrB,4BAA4B,CAC7B,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAE9B,eAAe;IACb,SAAS;IACT,WAAW;IACX,cAAc;IACd,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,eAAe;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/options/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,2EAA2E;AAC3E,MAAM,iBAAiB,GAAG,sCAA+C,CAAC;AAC1E,MAAM,iBAAiB,GAAG,sCAA+C,CAAC;AAC1E,MAAM,kBAAkB,GAAG,cAAuB,CAAC;AACnD,MAAM,mBAAmB,GAAG,wBAAiC,CAAC;AAE9D,wEAAwE;AACxE,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,EAAE,0CAA0C,CAAC;KAC7F,GAAG,CAAC,YAAY,CAAC;KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjB,yDAAyD;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CACrC,iBAAiB,EACjB,4DAA4D,CAC7D;KACE,GAAG,CAAC,cAAc,CAAC;KACnB,OAAO,CAAC,SAAS,CAAC,CAAC;AAEtB,yCAAyC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;KACjF,GAAG,CAAC,kBAAkB,CAAC;KACvB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE9B,yCAAyC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,kBAAkB,EAAE,gCAAgC,CAAC;KAC7F,GAAG,CAAC,kBAAkB,CAAC;KACvB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE9B,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CACzC,qBAAqB,EACrB,yCAAyC,CAC1C;KACE,GAAG,CAAC,sBAAsB,CAAC;KAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAE/B,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAC1C,sBAAsB,EACtB,8CAA8C,CAC/C;KACE,GAAG,CAAC,uBAAuB,CAAC;KAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEhC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CACzC,qBAAqB,EACrB,4BAA4B,CAC7B,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAE9B,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,EAAE,uCAAuC,CAAC;KAC5F,GAAG,CAAC,cAAc,CAAC;KACnB,OAAO,CAAC,KAAK,CAAC,CAAC;AAElB,eAAe;IACb,SAAS;IACT,WAAW;IACX,cAAc;IACd,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,WAAW;CACZ,CAAC"}
|
|
@@ -20,6 +20,7 @@ export const AiOptionsSchema = z
|
|
|
20
20
|
chatModel: z.string().min(1).optional(),
|
|
21
21
|
embedModel: z.string().min(1).optional(),
|
|
22
22
|
indexName: z.string().min(1).optional(),
|
|
23
|
+
debug: z.coerce.boolean().default(false),
|
|
23
24
|
})
|
|
24
25
|
.describe('Base Fusion AI command options');
|
|
25
26
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/options/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/options/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACzC,CAAC;KACD,QAAQ,CAAC,gCAAgC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InvalidOptionArgumentError } from 'commander';
|
|
2
|
-
import { chatModelOption, clientIdOption, embedModelOption, envOption, indexNameOption, tenantIdOption, tokenOption, } from './options.js';
|
|
2
|
+
import { chatModelOption, clientIdOption, debugOption, embedModelOption, envOption, indexNameOption, tenantIdOption, tokenOption, } from './options.js';
|
|
3
3
|
/**
|
|
4
4
|
* Enhances a Commander command with Fusion AI options and validation.
|
|
5
5
|
*
|
|
@@ -22,6 +22,7 @@ export const withOptions = (command, args) => {
|
|
|
22
22
|
command.addOption(tokenOption);
|
|
23
23
|
command.addOption(tenantIdOption);
|
|
24
24
|
command.addOption(clientIdOption);
|
|
25
|
+
command.addOption(debugOption);
|
|
25
26
|
if (args?.includeChat)
|
|
26
27
|
command.addOption(chatModelOption);
|
|
27
28
|
if (args?.includeEmbedding)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-options.js","sourceRoot":"","sources":["../../../src/options/with-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EACL,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,cAAc,EACd,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAgB,EAChB,IAIE,EACO,EAAE;IACX,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/B,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAClC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"with-options.js","sourceRoot":"","sources":["../../../src/options/with-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,cAAc,EACd,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAgB,EAChB,IAIE,EACO,EAAE;IACX,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/B,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAClC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAClC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE/B,IAAI,IAAI,EAAE,WAAW;QAAE,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1D,IAAI,IAAI,EAAE,gBAAgB;QAAE,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAChE,IAAI,IAAI,EAAE,aAAa;QAAE,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAE5D,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAEhC,IAAI,IAAI,EAAE,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,0BAA0B,CAClC,gFAAgF,CACjF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,0BAA0B,CAClC,uFAAuF,CACxF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,EAAE,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,0BAA0B,CAClC,2EAA2E,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,49 +1,34 @@
|
|
|
1
1
|
import { enableAI } from '@equinor/fusion-framework-module-ai';
|
|
2
2
|
import { initializeFramework, FusionEnv } from '@equinor/fusion-framework-cli/bin';
|
|
3
|
-
import { execFileSync } from 'node:child_process';
|
|
4
|
-
/**
|
|
5
|
-
* Check whether an error (possibly wrapped in a cause chain) is an
|
|
6
|
-
* authentication-related failure that may be recoverable via interactive login.
|
|
7
|
-
*
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
const isAuthError = (error) => {
|
|
11
|
-
let current = error;
|
|
12
|
-
while (current) {
|
|
13
|
-
if (current instanceof Error) {
|
|
14
|
-
if (current.name === 'NoAccountsError' ||
|
|
15
|
-
current.name === 'SilentTokenAcquisitionError' ||
|
|
16
|
-
current.message.includes('No accounts found')) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
current = current.cause;
|
|
21
|
-
}
|
|
22
|
-
return false;
|
|
23
|
-
};
|
|
24
3
|
/**
|
|
25
4
|
* Creates a Fusion Framework instance with the AI module enabled.
|
|
26
5
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
6
|
+
* Uses Azure Identity's `DefaultAzureCredential` by default, which resolves
|
|
7
|
+
* credentials from the environment (OIDC, managed identity, Azure CLI, etc.).
|
|
8
|
+
* When an explicit token is provided via `--token` or `FUSION_TOKEN`, that
|
|
9
|
+
* token is used directly instead.
|
|
31
10
|
*
|
|
32
11
|
* @param options - CLI options resolved by {@link withOptions}.
|
|
33
12
|
* @returns A fully initialised framework instance with the AI module.
|
|
34
13
|
* @throws {Error} When authentication fails after the interactive retry.
|
|
35
14
|
*/
|
|
36
15
|
export const setupFramework = async (options) => {
|
|
37
|
-
|
|
16
|
+
const debug = options.debug ?? false;
|
|
17
|
+
// Auth strategy:
|
|
18
|
+
// 1. Explicit token (--token / FUSION_TOKEN) → direct token passthrough
|
|
19
|
+
// 2. Everything else → Azure Identity (DefaultAzureCredential)
|
|
38
20
|
const auth = options.token
|
|
39
21
|
? { token: options.token }
|
|
40
|
-
: {
|
|
41
|
-
tenantId: options.tenantId ?? '3aa4a235-b6e2-48d5-9195-7fcf05b459b0',
|
|
42
|
-
clientId: options.clientId ?? 'a318b8e1-0295-4e17-98d5-35f67dfeba14',
|
|
43
|
-
};
|
|
22
|
+
: { defaultCredential: true };
|
|
44
23
|
const env = options.env ?? FusionEnv.ContinuesIntegration;
|
|
24
|
+
if (debug) {
|
|
25
|
+
console.debug('[debug] Environment:', env);
|
|
26
|
+
console.debug('[debug] Auth mode:', options.token ? 'static-token' : 'azure-identity');
|
|
27
|
+
}
|
|
45
28
|
/** Initialise the framework, resolve the AI service, and pre-cache tokens. */
|
|
46
29
|
const initAndSetup = async () => {
|
|
30
|
+
if (debug)
|
|
31
|
+
console.debug('[debug] Initializing framework with AI module…');
|
|
47
32
|
const framework = await initializeFramework({ env, auth }, (configurator) => {
|
|
48
33
|
enableAI(configurator);
|
|
49
34
|
});
|
|
@@ -51,32 +36,20 @@ export const setupFramework = async (options) => {
|
|
|
51
36
|
// NoAccountsError if the user has never logged in.
|
|
52
37
|
const service = await framework.serviceDiscovery.resolveService('ai');
|
|
53
38
|
const scopes = service.scopes ?? service.defaultScopes ?? [];
|
|
39
|
+
if (debug) {
|
|
40
|
+
console.debug('[debug] AI service URL:', service.uri);
|
|
41
|
+
console.debug('[debug] AI service scopes:', scopes);
|
|
42
|
+
}
|
|
54
43
|
// Pre-cache a token for the AI service scopes so strategy callbacks
|
|
55
44
|
// don't attempt (and fail) a silent acquisition later.
|
|
56
45
|
const token = await framework.auth.acquireAccessToken({ request: { scopes } });
|
|
57
46
|
if (!token)
|
|
58
47
|
throw new Error('Failed to acquire access token for the AI service.');
|
|
48
|
+
if (debug)
|
|
49
|
+
console.debug('[debug] Token acquired successfully');
|
|
59
50
|
return framework;
|
|
60
51
|
};
|
|
61
|
-
|
|
62
|
-
return await initAndSetup();
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
// If the failure is auth-related and we're not using a static token,
|
|
66
|
-
// spawn the CLI's own `auth login` (starts local server + browser)
|
|
67
|
-
// and retry the full init sequence.
|
|
68
|
-
if (!isAuthError(error) || options.token)
|
|
69
|
-
throw error;
|
|
70
|
-
const cliEntry = process.argv[1];
|
|
71
|
-
if (!cliEntry) {
|
|
72
|
-
throw new Error('Failed to acquire access token and could not determine CLI path for interactive login.');
|
|
73
|
-
}
|
|
74
|
-
console.log('No cached credentials — launching interactive login…');
|
|
75
|
-
execFileSync(process.execPath, [cliEntry, 'auth', 'login'], {
|
|
76
|
-
stdio: 'inherit',
|
|
77
|
-
});
|
|
78
|
-
return await initAndSetup();
|
|
79
|
-
}
|
|
52
|
+
return await initAndSetup();
|
|
80
53
|
};
|
|
81
54
|
export default setupFramework;
|
|
82
55
|
//# sourceMappingURL=setup-framework.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-framework.js","sourceRoot":"","sources":["../../src/setup-framework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAG/D,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-framework.js","sourceRoot":"","sources":["../../src/setup-framework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAG/D,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAOnF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAAkB,EAAwC,EAAE;IAC/F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IAErC,iBAAiB;IACjB,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,IAAI,GAAoC,OAAO,CAAC,KAAK;QACzD,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;QAC1B,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAEhC,MAAM,GAAG,GAAI,OAAO,CAAC,GAAiB,IAAI,SAAS,CAAC,oBAAoB,CAAC;IAEzE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACzF,CAAC;IAED,8EAA8E;IAC9E,MAAM,YAAY,GAAG,KAAK,IAA0C,EAAE;QACpE,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAE3E,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAa,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE;YACtF,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,+DAA+D;QAC/D,mDAAmD;QACnD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QAE7D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,oEAAoE;QACpE,uDAAuD;QACvD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAElF,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAEhE,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,MAAM,YAAY,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
package/dist/esm/version.js
CHANGED