@vertesia/cli 1.3.0 → 1.4.0-dev.20260615.042549Z

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.
Files changed (218) hide show
  1. package/lib/agent-context.d.ts +8 -2
  2. package/lib/agent-context.d.ts.map +1 -1
  3. package/lib/agent-context.js +9 -13
  4. package/lib/agent-context.js.map +1 -1
  5. package/lib/agents/index.d.ts +3 -0
  6. package/lib/agents/index.d.ts.map +1 -0
  7. package/lib/agents/index.js +555 -0
  8. package/lib/agents/index.js.map +1 -0
  9. package/lib/apps/commands.d.ts +25 -10
  10. package/lib/apps/commands.d.ts.map +1 -1
  11. package/lib/apps/commands.js +34 -26
  12. package/lib/apps/commands.js.map +1 -1
  13. package/lib/apps/index.d.ts +1 -1
  14. package/lib/apps/index.d.ts.map +1 -1
  15. package/lib/apps/index.js +40 -41
  16. package/lib/apps/index.js.map +1 -1
  17. package/lib/artifacts/commands.d.ts +13 -5
  18. package/lib/artifacts/commands.d.ts.map +1 -1
  19. package/lib/artifacts/commands.js +10 -10
  20. package/lib/artifacts/commands.js.map +1 -1
  21. package/lib/artifacts/index.d.ts +1 -1
  22. package/lib/artifacts/index.d.ts.map +1 -1
  23. package/lib/artifacts/index.js +22 -17
  24. package/lib/artifacts/index.js.map +1 -1
  25. package/lib/client.d.ts +2 -2
  26. package/lib/client.d.ts.map +1 -1
  27. package/lib/client.js +45 -21
  28. package/lib/client.js.map +1 -1
  29. package/lib/data/commands.d.ts +16 -3
  30. package/lib/data/commands.d.ts.map +1 -1
  31. package/lib/data/commands.js +36 -43
  32. package/lib/data/commands.js.map +1 -1
  33. package/lib/data/index.d.ts +1 -1
  34. package/lib/data/index.d.ts.map +1 -1
  35. package/lib/data/index.js +14 -15
  36. package/lib/data/index.js.map +1 -1
  37. package/lib/envs/index.d.ts +2 -2
  38. package/lib/envs/index.d.ts.map +1 -1
  39. package/lib/envs/index.js +12 -10
  40. package/lib/envs/index.js.map +1 -1
  41. package/lib/iam/commands.d.ts +15 -3
  42. package/lib/iam/commands.d.ts.map +1 -1
  43. package/lib/iam/commands.js +27 -9
  44. package/lib/iam/commands.js.map +1 -1
  45. package/lib/iam/index.d.ts +1 -1
  46. package/lib/iam/index.d.ts.map +1 -1
  47. package/lib/iam/index.js +2 -3
  48. package/lib/iam/index.js.map +1 -1
  49. package/lib/index.js +157 -122
  50. package/lib/index.js.map +1 -1
  51. package/lib/interactions/index.d.ts +2 -2
  52. package/lib/interactions/index.d.ts.map +1 -1
  53. package/lib/interactions/index.js +20 -14
  54. package/lib/interactions/index.js.map +1 -1
  55. package/lib/objects/commands.d.ts +49 -14
  56. package/lib/objects/commands.d.ts.map +1 -1
  57. package/lib/objects/commands.js +185 -32
  58. package/lib/objects/commands.js.map +1 -1
  59. package/lib/objects/index.d.ts +1 -1
  60. package/lib/objects/index.d.ts.map +1 -1
  61. package/lib/objects/index.js +46 -13
  62. package/lib/objects/index.js.map +1 -1
  63. package/lib/package.d.ts +7 -3
  64. package/lib/package.d.ts.map +1 -1
  65. package/lib/package.js +25 -13
  66. package/lib/package.js.map +1 -1
  67. package/lib/profiles/auth.d.ts +14 -0
  68. package/lib/profiles/auth.d.ts.map +1 -0
  69. package/lib/profiles/auth.js +65 -0
  70. package/lib/profiles/auth.js.map +1 -0
  71. package/lib/profiles/commands.d.ts +15 -4
  72. package/lib/profiles/commands.d.ts.map +1 -1
  73. package/lib/profiles/commands.js +384 -57
  74. package/lib/profiles/commands.js.map +1 -1
  75. package/lib/profiles/git.d.ts +9 -0
  76. package/lib/profiles/git.d.ts.map +1 -0
  77. package/lib/profiles/git.js +211 -0
  78. package/lib/profiles/git.js.map +1 -0
  79. package/lib/profiles/index.d.ts +17 -7
  80. package/lib/profiles/index.d.ts.map +1 -1
  81. package/lib/profiles/index.js +215 -66
  82. package/lib/profiles/index.js.map +1 -1
  83. package/lib/profiles/keyring.d.ts +23 -0
  84. package/lib/profiles/keyring.d.ts.map +1 -0
  85. package/lib/profiles/keyring.js +111 -0
  86. package/lib/profiles/keyring.js.map +1 -0
  87. package/lib/profiles/oauth.d.ts +17 -0
  88. package/lib/profiles/oauth.d.ts.map +1 -0
  89. package/lib/profiles/oauth.js +414 -0
  90. package/lib/profiles/oauth.js.map +1 -0
  91. package/lib/profiles/server/cors.d.ts +1 -1
  92. package/lib/profiles/server/cors.d.ts.map +1 -1
  93. package/lib/profiles/server/cors.js +1 -1
  94. package/lib/profiles/server/cors.js.map +1 -1
  95. package/lib/profiles/server/index.d.ts +9 -1
  96. package/lib/profiles/server/index.d.ts.map +1 -1
  97. package/lib/profiles/server/index.js +111 -47
  98. package/lib/profiles/server/index.js.map +1 -1
  99. package/lib/profiles/server/server.d.ts +1 -1
  100. package/lib/profiles/server/server.d.ts.map +1 -1
  101. package/lib/profiles/server/server.js +10 -13
  102. package/lib/profiles/server/server.js.map +1 -1
  103. package/lib/projects/index.d.ts +2 -1
  104. package/lib/projects/index.d.ts.map +1 -1
  105. package/lib/projects/index.js +53 -5
  106. package/lib/projects/index.js.map +1 -1
  107. package/lib/run/executor.d.ts +11 -7
  108. package/lib/run/executor.d.ts.map +1 -1
  109. package/lib/run/executor.js +30 -23
  110. package/lib/run/executor.js.map +1 -1
  111. package/lib/run/index.d.ts +14 -2
  112. package/lib/run/index.d.ts.map +1 -1
  113. package/lib/run/index.js +14 -12
  114. package/lib/run/index.js.map +1 -1
  115. package/lib/runs/index.d.ts +18 -2
  116. package/lib/runs/index.d.ts.map +1 -1
  117. package/lib/runs/index.js +9 -7
  118. package/lib/runs/index.js.map +1 -1
  119. package/lib/utils/console.d.ts +1 -1
  120. package/lib/utils/console.d.ts.map +1 -1
  121. package/lib/utils/console.js +24 -33
  122. package/lib/utils/console.js.map +1 -1
  123. package/lib/utils/options.d.ts +8 -0
  124. package/lib/utils/options.d.ts.map +1 -0
  125. package/lib/utils/options.js +19 -0
  126. package/lib/utils/options.js.map +1 -0
  127. package/lib/utils/stdio.js +3 -2
  128. package/lib/utils/stdio.js.map +1 -1
  129. package/lib/workflows/commands.d.ts +44 -13
  130. package/lib/workflows/commands.d.ts.map +1 -1
  131. package/lib/workflows/commands.js +69 -50
  132. package/lib/workflows/commands.js.map +1 -1
  133. package/lib/workflows/index.d.ts +1 -1
  134. package/lib/workflows/index.d.ts.map +1 -1
  135. package/lib/workflows/index.js +56 -56
  136. package/lib/workflows/index.js.map +1 -1
  137. package/lib/workflows/json-loader.d.ts +1 -1
  138. package/lib/workflows/json-loader.d.ts.map +1 -1
  139. package/lib/workflows/json-loader.js +5 -4
  140. package/lib/workflows/json-loader.js.map +1 -1
  141. package/lib/workflows/streams.d.ts +8 -1
  142. package/lib/workflows/streams.d.ts.map +1 -1
  143. package/lib/workflows/streams.js +107 -84
  144. package/lib/workflows/streams.js.map +1 -1
  145. package/lib/workflows/ts-loader.d.ts +1 -1
  146. package/lib/workflows/ts-loader.d.ts.map +1 -1
  147. package/lib/workflows/ts-loader.js +21 -20
  148. package/lib/workflows/ts-loader.js.map +1 -1
  149. package/lib/workflows/validation.d.ts +1 -1
  150. package/lib/workflows/validation.d.ts.map +1 -1
  151. package/lib/workflows/validation.js +11 -11
  152. package/lib/workflows/validation.js.map +1 -1
  153. package/package.json +21 -24
  154. package/bin/docker-credential-vertesia.js +0 -3
  155. package/lib/codegen/CodeBuilder.d.ts +0 -16
  156. package/lib/codegen/CodeBuilder.d.ts.map +0 -1
  157. package/lib/codegen/CodeBuilder.js +0 -99
  158. package/lib/codegen/CodeBuilder.js.map +0 -1
  159. package/lib/codegen/InteractionVersion.d.ts +0 -29
  160. package/lib/codegen/InteractionVersion.d.ts.map +0 -1
  161. package/lib/codegen/InteractionVersion.js +0 -80
  162. package/lib/codegen/InteractionVersion.js.map +0 -1
  163. package/lib/codegen/index.d.ts +0 -3
  164. package/lib/codegen/index.d.ts.map +0 -1
  165. package/lib/codegen/index.js +0 -30
  166. package/lib/codegen/index.js.map +0 -1
  167. package/lib/codegen/template.d.ts +0 -3
  168. package/lib/codegen/template.d.ts.map +0 -1
  169. package/lib/codegen/template.js +0 -28
  170. package/lib/codegen/template.js.map +0 -1
  171. package/lib/codegen/utils.d.ts +0 -2
  172. package/lib/codegen/utils.d.ts.map +0 -1
  173. package/lib/codegen/utils.js +0 -4
  174. package/lib/codegen/utils.js.map +0 -1
  175. package/lib/datagen/index.d.ts +0 -3
  176. package/lib/datagen/index.d.ts.map +0 -1
  177. package/lib/datagen/index.js +0 -81
  178. package/lib/datagen/index.js.map +0 -1
  179. package/lib/memory/index.d.ts +0 -3
  180. package/lib/memory/index.d.ts.map +0 -1
  181. package/lib/memory/index.js +0 -15
  182. package/lib/memory/index.js.map +0 -1
  183. package/lib/worker/commands.d.ts +0 -11
  184. package/lib/worker/commands.d.ts.map +0 -1
  185. package/lib/worker/commands.js +0 -173
  186. package/lib/worker/commands.js.map +0 -1
  187. package/lib/worker/connect.d.ts +0 -7
  188. package/lib/worker/connect.d.ts.map +0 -1
  189. package/lib/worker/connect.js +0 -68
  190. package/lib/worker/connect.js.map +0 -1
  191. package/lib/worker/docker-credential.d.ts +0 -2
  192. package/lib/worker/docker-credential.d.ts.map +0 -1
  193. package/lib/worker/docker-credential.js +0 -51
  194. package/lib/worker/docker-credential.js.map +0 -1
  195. package/lib/worker/docker.d.ts +0 -10
  196. package/lib/worker/docker.d.ts.map +0 -1
  197. package/lib/worker/docker.js +0 -93
  198. package/lib/worker/docker.js.map +0 -1
  199. package/lib/worker/index.d.ts +0 -3
  200. package/lib/worker/index.d.ts.map +0 -1
  201. package/lib/worker/index.js +0 -90
  202. package/lib/worker/index.js.map +0 -1
  203. package/lib/worker/project.d.ts +0 -58
  204. package/lib/worker/project.d.ts.map +0 -1
  205. package/lib/worker/project.js +0 -125
  206. package/lib/worker/project.js.map +0 -1
  207. package/lib/worker/refresh.d.ts +0 -6
  208. package/lib/worker/refresh.d.ts.map +0 -1
  209. package/lib/worker/refresh.js +0 -47
  210. package/lib/worker/refresh.js.map +0 -1
  211. package/lib/worker/registry.d.ts +0 -7
  212. package/lib/worker/registry.d.ts.map +0 -1
  213. package/lib/worker/registry.js +0 -47
  214. package/lib/worker/registry.js.map +0 -1
  215. package/lib/worker/version.d.ts +0 -2
  216. package/lib/worker/version.d.ts.map +0 -1
  217. package/lib/worker/version.js +0 -4
  218. package/lib/worker/version.js.map +0 -1
@@ -0,0 +1,211 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import process from 'node:process';
3
+ import { ensureProfileAccessToken } from './auth.js';
4
+ import { config } from './index.js';
5
+ import { getAccessTokenExpiry } from './keyring.js';
6
+ export async function configureGitAuth(options = {}) {
7
+ const profile = getRequestedProfile(options.profile);
8
+ const gitBaseUrl = normalizeGitBaseUrl(options.url || gitServerUrlForProfile(profile));
9
+ const helper = `!vertesia auth git credential --profile ${shellQuote(profile.name)}`;
10
+ gitConfig('--global', `credential.${gitBaseUrl}.helper`, helper);
11
+ gitConfig('--global', `credential.${gitBaseUrl}.useHttpPath`, 'true');
12
+ if (options.alias !== false) {
13
+ removeKnownVertesiaAliases();
14
+ gitConfig('--global', `url.${gitBaseUrl}/.insteadOf`, 'vertesia:');
15
+ }
16
+ console.log(`Configured Git authentication for ${gitBaseUrl}`);
17
+ console.log(`Clone with: git clone ${gitBaseUrl}/<app-slug>.git`);
18
+ if (options.alias !== false) {
19
+ console.log('Short alias: git clone vertesia:<app-slug>.git');
20
+ }
21
+ }
22
+ export async function serveGitCredential(action, options = {}) {
23
+ if (!action || action === 'get') {
24
+ const envToken = process.env.VERTESIA_AUTH_TOKEN || process.env.VERTESIA_TOKEN;
25
+ // Serve the ambient sandbox/env token, but NOT if it's a JWT we can see has
26
+ // already expired. The git server answers a rejected token with
27
+ // `401 WWW-Authenticate: Basic`, and git responds by calling this helper
28
+ // again — `store`/`erase` are no-ops, so a verbatim re-serve of the same
29
+ // dead token produces an endless 401→get→401 credential loop. When the env
30
+ // token is expired we skip it and fall through to profile-based refresh
31
+ // (or a clear error) instead of feeding git a token it can only reject.
32
+ if (envToken && !isExpiredToken(envToken)) {
33
+ writeCredential(envToken);
34
+ return;
35
+ }
36
+ const input = await readCredentialInput();
37
+ const profile = pickProfileForCredential(input, options.profile);
38
+ if (!profile) {
39
+ if (options.profile) {
40
+ throw new Error(`Vertesia profile '${options.profile}' was not found. Run \`vertesia auth git\` from an active profile.`);
41
+ }
42
+ if (envToken) {
43
+ // We reached here only because the env token is expired (the serve
44
+ // branch above handles a valid one) and there's no profile to refresh
45
+ // from. Fail clearly rather than letting git retry the dead token.
46
+ throw new Error('VERTESIA_AUTH_TOKEN/VERTESIA_TOKEN is expired and no Vertesia profile is available to refresh it. ' +
47
+ 'Provide a fresh token or run `vertesia auth refresh`.');
48
+ }
49
+ throw new Error(`No Vertesia profile matches git host ${input.host || '<unknown>'}. Run \`vertesia auth git\`.`);
50
+ }
51
+ const token = await ensureProfileAccessToken(profile);
52
+ if (!token) {
53
+ throw new Error(`Profile ${profile.name} has no usable auth token. Run \`vertesia auth refresh\`.`);
54
+ }
55
+ writeCredential(token);
56
+ return;
57
+ }
58
+ // Git may call helpers with store/erase. Tokens are managed by Vertesia CLI
59
+ // profile auth, so there is nothing useful to persist from Git.
60
+ }
61
+ function getRequestedProfile(profileName) {
62
+ if (profileName) {
63
+ const profile = config.getProfile(profileName);
64
+ if (!profile)
65
+ throw new Error(`Profile ${profileName} not found.`);
66
+ return profile;
67
+ }
68
+ if (!config.current) {
69
+ throw new Error('No Vertesia profile is selected. Run `vertesia auth login` or `vertesia profiles use <name>`.');
70
+ }
71
+ return config.current;
72
+ }
73
+ function pickProfileForCredential(input, profileName) {
74
+ if (profileName) {
75
+ return config.getProfile(profileName);
76
+ }
77
+ const host = input.host?.toLowerCase();
78
+ if (!host)
79
+ return config.current;
80
+ if (config.current && gitHostForProfile(config.current) === host) {
81
+ return config.current;
82
+ }
83
+ return config.profiles.find((profile) => gitHostForProfile(profile) === host);
84
+ }
85
+ function gitHostForProfile(profile) {
86
+ try {
87
+ return new URL(gitServerUrlForProfile(profile)).hostname.toLowerCase();
88
+ }
89
+ catch {
90
+ return undefined;
91
+ }
92
+ }
93
+ function gitServerUrlForProfile(profile) {
94
+ const override = process.env.VERTESIA_GIT_SERVER_URL || process.env.APP_GIT_SERVER_URL || process.env.APPGEN_GIT_SERVER_URL;
95
+ if (override)
96
+ return normalizeGitBaseUrl(override);
97
+ const sourceUrl = profile.studio_server_url || profile.zeno_server_url || profile.config_url;
98
+ try {
99
+ const url = new URL(sourceUrl);
100
+ const host = url.hostname.toLowerCase();
101
+ if (host === 'localhost' || host === '127.0.0.1' || host.endsWith('.local')) {
102
+ return 'https://git.dev1.vertesia.io';
103
+ }
104
+ if (host === 'api.vertesia.io' || host === 'api-preview.vertesia.io') {
105
+ return 'https://git.vertesia.io';
106
+ }
107
+ if (host.startsWith('api-preview.')) {
108
+ return `https://${host.replace(/^api-preview\./, 'git.')}`;
109
+ }
110
+ if (host.startsWith('api.')) {
111
+ return `https://${host.replace(/^api\./, 'git.')}`;
112
+ }
113
+ const parts = host.split('.');
114
+ const apiIndex = parts.indexOf('api');
115
+ const region = apiIndex >= 0 ? parts[apiIndex + 1] : undefined;
116
+ if (region && parts[apiIndex + 2] === 'vertesia') {
117
+ return `https://git.${region}.vertesia.io`;
118
+ }
119
+ }
120
+ catch {
121
+ // Fall through to profile region/default below.
122
+ }
123
+ if (profile.region)
124
+ return `https://git.${profile.region}.vertesia.io`;
125
+ return 'https://git.dev1.vertesia.io';
126
+ }
127
+ function normalizeGitBaseUrl(value) {
128
+ const normalized = value.replace(/\/+$/, '');
129
+ if (!normalized.startsWith('http://') && !normalized.startsWith('https://')) {
130
+ throw new Error(`Git server URL must be an http(s) URL: ${value}`);
131
+ }
132
+ return normalized;
133
+ }
134
+ function gitConfig(...args) {
135
+ execFileSync('git', ['config', ...args], { stdio: 'pipe' });
136
+ }
137
+ function removeKnownVertesiaAliases() {
138
+ let raw;
139
+ try {
140
+ raw = execFileSync('git', ['config', '--global', '--get-regexp', '^url\\..*\\.insteadOf$'], {
141
+ stdio: ['ignore', 'pipe', 'ignore'],
142
+ encoding: 'utf8',
143
+ });
144
+ }
145
+ catch {
146
+ // No matching keys, or no global config — nothing to clean up.
147
+ return;
148
+ }
149
+ for (const line of raw.split('\n')) {
150
+ const space = line.indexOf(' ');
151
+ if (space < 0)
152
+ continue;
153
+ const key = line.slice(0, space);
154
+ const value = line.slice(space + 1);
155
+ if (value !== 'vertesia:')
156
+ continue;
157
+ try {
158
+ execFileSync('git', ['config', '--global', '--unset-all', key, '^vertesia:$'], { stdio: 'ignore' });
159
+ }
160
+ catch {
161
+ // Best-effort; ignore if the key disappears between read and unset.
162
+ }
163
+ }
164
+ }
165
+ function shellQuote(value) {
166
+ return `'${value.replace(/'/g, `'\\''`)}'`;
167
+ }
168
+ /**
169
+ * True only when the token is a JWT we can decode AND its `exp` is in the past
170
+ * (with a 30s skew so we don't hand git a token about to die mid-operation).
171
+ * Opaque (non-JWT) tokens and JWTs without `exp` return false — we can't judge
172
+ * them, so they're served as before.
173
+ */
174
+ function isExpiredToken(token) {
175
+ const expiresAtMs = getAccessTokenExpiry(token);
176
+ if (expiresAtMs === undefined) {
177
+ return false;
178
+ }
179
+ return expiresAtMs - 30_000 < Date.now();
180
+ }
181
+ async function readCredentialInput() {
182
+ const text = await readStdin();
183
+ const input = {};
184
+ for (const line of text.split(/\r?\n/)) {
185
+ if (!line)
186
+ break;
187
+ const separator = line.indexOf('=');
188
+ if (separator < 0)
189
+ continue;
190
+ input[line.slice(0, separator)] = line.slice(separator + 1);
191
+ }
192
+ return input;
193
+ }
194
+ function readStdin() {
195
+ return new Promise((resolve, reject) => {
196
+ let text = '';
197
+ process.stdin.setEncoding('utf8');
198
+ process.stdin.on('data', (chunk) => {
199
+ text += chunk;
200
+ });
201
+ process.stdin.on('end', () => resolve(text));
202
+ process.stdin.on('error', reject);
203
+ if (process.stdin.isTTY) {
204
+ resolve('');
205
+ }
206
+ });
207
+ }
208
+ function writeCredential(token) {
209
+ process.stdout.write(`username=vertesia\npassword=${token}\n`);
210
+ }
211
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/profiles/git.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,26 @@
1
- import { ConfigPayload, ConfigResult } from "./server/index.js";
2
- import { OnResultCallback } from "./commands.js";
1
+ import type { OnResultCallback } from './commands.js';
2
+ import { type ConfigPayload, type ConfigResult } from './server/index.js';
3
3
  export declare function getConfigFile(path?: string): string;
4
4
  export type Region = 'us1' | 'eu1' | 'jp1';
5
5
  export declare const DEFAULT_REGION: Region;
6
6
  export declare const AVAILABLE_REGIONS: Region[];
7
- export type ConfigUrlRef = "local" | "dev-main" | "dev-preview" | "preview" | "prod" | string;
7
+ export type ConfigUrlRef = 'local' | 'dev-main' | 'dev-preview' | 'preview' | 'prod' | string;
8
8
  export declare function getConfigUrl(value: ConfigUrlRef, region?: Region): string;
9
9
  export declare function getServerUrls(value: ConfigUrlRef, region?: Region): {
10
10
  studio_server_url: string;
11
11
  zeno_server_url: string;
12
+ oauth_server_url?: string;
12
13
  };
13
- export declare function getCloudTypeFromConfigUrl(url: string): "preview" | "production" | "staging";
14
+ export declare function getCloudTypeFromConfigUrl(url: string): "preview" | "staging" | "production";
14
15
  export interface Profile {
15
16
  name: string;
16
17
  config_url: string;
17
- apikey: string;
18
+ apikey?: string;
18
19
  account: string;
19
20
  project: string;
20
21
  studio_server_url: string;
21
22
  zeno_server_url: string;
23
+ oauth_server_url?: string;
22
24
  region?: Region;
23
25
  session_tags?: string;
24
26
  }
@@ -34,17 +36,25 @@ export declare class ConfigureProfile {
34
36
  onResultCallback?: OnResultCallback;
35
37
  constructor(config: Config, data: Partial<Profile>, isNew: boolean);
36
38
  getConfigPayload(): ConfigPayload;
37
- applyConfigResult(result: ConfigResult | undefined): Promise<void>;
39
+ persistConfigResult(result: ConfigResult | undefined): Promise<void>;
40
+ applyConfigResult(result: ConfigResult | undefined, options?: {
41
+ logCompletion?: boolean;
42
+ exitOnComplete?: boolean;
43
+ }): Promise<void>;
44
+ private startLegacySession;
38
45
  start(onResult?: OnResultCallback, signal?: AbortSignal): Promise<void>;
39
46
  }
40
47
  export declare class Config {
41
48
  current?: Profile;
42
49
  profiles: Profile[];
43
50
  isDevMode: boolean;
51
+ explicitProfile: boolean;
44
52
  constructor(data?: ProfilesData);
45
53
  hasProfile(name: string): boolean;
46
54
  getProfile(name: string): Profile | undefined;
47
- use(name: string): this;
55
+ use(name: string, options?: {
56
+ explicit?: boolean;
57
+ }): this;
48
58
  add(profile: Profile): this;
49
59
  update(profile: Profile): this;
50
60
  replace(existingProfile: Profile, newProfile: Profile): this;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/profiles/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/profiles/index.ts"],"names":[],"mappings":"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"}