dexto 1.8.0 → 1.8.2

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 (33) hide show
  1. package/dist/cli/commands/connect.d.ts +9 -0
  2. package/dist/cli/commands/connect.d.ts.map +1 -0
  3. package/dist/cli/commands/connect.js +244 -0
  4. package/dist/cli/commands/index.d.ts +1 -0
  5. package/dist/cli/commands/index.d.ts.map +1 -1
  6. package/dist/cli/commands/index.js +1 -0
  7. package/dist/cli/commands/init-app.d.ts +1 -1
  8. package/dist/cli/commands/init-app.d.ts.map +1 -1
  9. package/dist/cli/commands/init-app.js +1 -1
  10. package/dist/cli/commands/setup.d.ts.map +1 -1
  11. package/dist/cli/commands/setup.js +31 -394
  12. package/dist/cli/utils/api-key-setup.d.ts +1 -1
  13. package/dist/cli/utils/api-key-setup.d.ts.map +1 -1
  14. package/dist/cli/utils/api-key-verification.d.ts +1 -1
  15. package/dist/cli/utils/api-key-verification.d.ts.map +1 -1
  16. package/dist/cli/utils/config-validation.d.ts.map +1 -1
  17. package/dist/cli/utils/config-validation.js +3 -1
  18. package/dist/cli/utils/options.js +1 -1
  19. package/dist/cli/utils/project-utils.d.ts +1 -1
  20. package/dist/cli/utils/project-utils.d.ts.map +1 -1
  21. package/dist/cli/utils/project-utils.js +2 -1
  22. package/dist/cli/utils/provider-setup.d.ts +1 -1
  23. package/dist/cli/utils/provider-setup.d.ts.map +1 -1
  24. package/dist/cli/utils/provider-setup.js +1 -1
  25. package/dist/config/cli-overrides.d.ts +2 -1
  26. package/dist/config/cli-overrides.d.ts.map +1 -1
  27. package/dist/config/cli-overrides.js +2 -1
  28. package/dist/config/effective-llm.d.ts +1 -1
  29. package/dist/config/effective-llm.d.ts.map +1 -1
  30. package/dist/index-main.js +27 -2
  31. package/dist/webui/assets/{index-M9d4U7k5.js → index-CpolTCmd.js} +173 -173
  32. package/dist/webui/index.html +1 -1
  33. package/package.json +13 -12
@@ -0,0 +1,9 @@
1
+ export type ConnectCommandAction = 'use' | 'replace' | 'delete';
2
+ export type ConnectCommandOptions = {
3
+ provider?: string;
4
+ method?: string;
5
+ action?: string;
6
+ interactive?: boolean;
7
+ };
8
+ export declare function handleConnectCommand(options?: ConnectCommandOptions): Promise<void>;
9
+ //# sourceMappingURL=connect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AA0OF,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2E7F"}
@@ -0,0 +1,244 @@
1
+ import chalk from 'chalk';
2
+ import * as p from '@clack/prompts';
3
+ import open from 'open';
4
+ import { getDefaultModelForProvider, LLM_PROVIDERS } from '@dexto/llm';
5
+ import { deleteModelAuthProfile, getDefaultModelAuthProfileIdForProvider, getModelAuthProfileId, getProviderAuthDefinition, getProviderAuthDefinitions, listSavedModelAuthProfiles, markModelAuthProviderConnected, saveApiKeyModelAuthProfile, setDefaultModelAuthProfile, startModelAuthBrowserLogin, } from '@dexto/agent-management';
6
+ import { interactiveApiKeySetup } from '../utils/api-key-setup.js';
7
+ import { getProviderDisplayName } from '../utils/provider-setup.js';
8
+ const CHATGPT_LOGIN_TIMEOUT_MS = 5 * 60 * 1000;
9
+ function getSelectableProviderDefinitions() {
10
+ return getProviderAuthDefinitions().filter((provider) => provider.methods.length > 0);
11
+ }
12
+ function toLlmProvider(providerId) {
13
+ const provider = LLM_PROVIDERS.find((candidate) => candidate === providerId);
14
+ if (!provider) {
15
+ throw new Error(`API-key auth is not implemented for provider: ${providerId}`);
16
+ }
17
+ return provider;
18
+ }
19
+ function parseConnectAction(action) {
20
+ if (!action) {
21
+ return undefined;
22
+ }
23
+ if (action === 'use' || action === 'replace' || action === 'delete') {
24
+ return action;
25
+ }
26
+ throw new Error(`Unsupported connect action: ${action}`);
27
+ }
28
+ function methodHint(method, profile, defaultProfileId) {
29
+ const parts = [
30
+ profile
31
+ ? profile.id === defaultProfileId
32
+ ? 'Connected (default)'
33
+ : 'Connected'
34
+ : undefined,
35
+ method.hint,
36
+ ].filter((part) => Boolean(part));
37
+ return parts.length ? parts.join(' - ') : undefined;
38
+ }
39
+ async function selectProvider(input) {
40
+ const providers = getSelectableProviderDefinitions();
41
+ if (input) {
42
+ const provider = providers.find((candidate) => candidate.providerId === input);
43
+ if (!provider) {
44
+ throw new Error(`Unsupported model auth provider: ${input}`);
45
+ }
46
+ return provider;
47
+ }
48
+ const selected = await p.select({
49
+ message: 'Choose a model provider to connect',
50
+ options: providers.map((provider) => ({
51
+ value: provider.providerId,
52
+ label: provider.label,
53
+ })),
54
+ });
55
+ return p.isCancel(selected) ? null : (getProviderAuthDefinition(selected) ?? null);
56
+ }
57
+ async function selectMethod(input) {
58
+ if (input.methodId) {
59
+ const method = input.provider.methods.find((candidate) => candidate.id === input.methodId);
60
+ if (!method) {
61
+ throw new Error(`Unsupported auth method for ${input.provider.providerId}: ${input.methodId}`);
62
+ }
63
+ return method;
64
+ }
65
+ const selected = await p.select({
66
+ message: `How do you want to connect ${input.provider.label}?`,
67
+ options: input.provider.methods.map((method) => {
68
+ const profile = input.profiles.find((item) => item.id === getModelAuthProfileId(input.provider.providerId, method.id));
69
+ const hint = methodHint(method, profile, input.defaultProfileId);
70
+ return {
71
+ value: method.id,
72
+ label: method.label,
73
+ ...(hint ? { hint } : {}),
74
+ };
75
+ }),
76
+ });
77
+ return p.isCancel(selected)
78
+ ? null
79
+ : (input.provider.methods.find((method) => method.id === selected) ?? null);
80
+ }
81
+ async function selectExistingAction(input) {
82
+ if (input.action) {
83
+ return input.action;
84
+ }
85
+ if (!input.interactive) {
86
+ return 'use';
87
+ }
88
+ const isDefault = input.profile.id === input.defaultProfileId;
89
+ const selected = await p.select({
90
+ message: `${input.provider.label} ${input.method.label} is already connected.`,
91
+ options: [
92
+ {
93
+ value: 'use',
94
+ label: isDefault ? 'Keep as default' : 'Use existing',
95
+ hint: isDefault ? 'No changes' : 'Set as provider default',
96
+ },
97
+ {
98
+ value: 'replace',
99
+ label: 'Replace credentials',
100
+ hint: 'Reconnect this method',
101
+ },
102
+ {
103
+ value: 'delete',
104
+ label: 'Delete credentials',
105
+ ...(isDefault ? { hint: 'Also clears the provider default' } : {}),
106
+ },
107
+ ],
108
+ });
109
+ return p.isCancel(selected) ? null : selected;
110
+ }
111
+ async function connectApiKey(providerId) {
112
+ const defaultModel = getDefaultModelForProvider(providerId);
113
+ const result = await interactiveApiKeySetup(providerId, {
114
+ exitOnCancel: false,
115
+ ...(defaultModel ? { model: defaultModel } : {}),
116
+ });
117
+ if (result.cancelled || result.skipped || !result.success) {
118
+ p.log.warn('Connection cancelled');
119
+ return false;
120
+ }
121
+ await saveApiKeyModelAuthProfile(providerId);
122
+ await markModelAuthProviderConnected(providerId);
123
+ p.log.success(`${getProviderDisplayName(providerId)} API key connected`);
124
+ return true;
125
+ }
126
+ async function connectBrowserOAuth(input) {
127
+ const spinner = p.spinner();
128
+ let login = null;
129
+ let timeout = null;
130
+ try {
131
+ spinner.start(`Starting ${input.method.label}`);
132
+ login = await startModelAuthBrowserLogin({
133
+ providerId: input.provider.providerId,
134
+ methodId: input.method.id,
135
+ });
136
+ spinner.stop(`${input.provider.label} authorization ready`);
137
+ const openedBrowser = await open(login.authUrl)
138
+ .then(() => true)
139
+ .catch(() => false);
140
+ if (openedBrowser) {
141
+ p.note('Complete authorization in your browser.', input.method.label);
142
+ }
143
+ else {
144
+ p.note(`Open this URL in your browser:\n\n${chalk.cyan(login.authUrl)}`, input.method.label);
145
+ }
146
+ spinner.start('Waiting for authorization');
147
+ await Promise.race([
148
+ login.waitForProfile(),
149
+ new Promise((_, reject) => {
150
+ timeout = setTimeout(() => reject(new Error(`${input.method.label} timed out`)), CHATGPT_LOGIN_TIMEOUT_MS);
151
+ }),
152
+ ]);
153
+ await markModelAuthProviderConnected(input.provider.providerId);
154
+ spinner.stop(`${input.method.label} connected`);
155
+ p.log.success(`${input.provider.label} ${input.method.label} connected`);
156
+ }
157
+ catch (error) {
158
+ spinner.stop(`${input.method.label} failed`);
159
+ throw error;
160
+ }
161
+ finally {
162
+ if (timeout) {
163
+ clearTimeout(timeout);
164
+ }
165
+ await login?.cancel();
166
+ }
167
+ }
168
+ async function connectProviderMethod(input) {
169
+ if (input.method.kind === 'api_key') {
170
+ return connectApiKey(toLlmProvider(input.provider.providerId));
171
+ }
172
+ if (input.method.kind === 'oauth') {
173
+ await connectBrowserOAuth(input);
174
+ return true;
175
+ }
176
+ return false;
177
+ }
178
+ export async function handleConnectCommand(options = {}) {
179
+ const interactive = options.interactive !== false;
180
+ if (!interactive && (!options.provider || !options.method)) {
181
+ throw new Error('Non-interactive connect requires --provider and --method');
182
+ }
183
+ const requestedAction = parseConnectAction(options.action);
184
+ p.intro(chalk.inverse('Connect Model Provider'));
185
+ const provider = await selectProvider(options.provider);
186
+ if (!provider) {
187
+ p.cancel('Connection cancelled');
188
+ return;
189
+ }
190
+ const [profiles, defaultProfileId] = await Promise.all([
191
+ listSavedModelAuthProfiles(provider.providerId),
192
+ getDefaultModelAuthProfileIdForProvider(provider.providerId),
193
+ ]);
194
+ const method = await selectMethod({
195
+ provider,
196
+ methodId: options.method,
197
+ profiles,
198
+ defaultProfileId,
199
+ });
200
+ if (!method) {
201
+ p.cancel('Connection cancelled');
202
+ return;
203
+ }
204
+ const profileId = getModelAuthProfileId(provider.providerId, method.id);
205
+ const existingProfile = profiles.find((profile) => profile.id === profileId);
206
+ if (existingProfile) {
207
+ const action = await selectExistingAction({
208
+ provider,
209
+ method,
210
+ profile: existingProfile,
211
+ defaultProfileId,
212
+ action: requestedAction,
213
+ interactive,
214
+ });
215
+ if (!action) {
216
+ p.cancel('Connection cancelled');
217
+ return;
218
+ }
219
+ if (action === 'use') {
220
+ await setDefaultModelAuthProfile({ providerId: provider.providerId, profileId });
221
+ p.outro(chalk.green(`Using ${provider.label} ${method.label}`));
222
+ return;
223
+ }
224
+ if (action === 'delete') {
225
+ const confirmed = interactive
226
+ ? await p.confirm({
227
+ message: `Delete ${provider.label} ${method.label} credentials?`,
228
+ initialValue: false,
229
+ })
230
+ : true;
231
+ if (p.isCancel(confirmed) || !confirmed) {
232
+ p.cancel('Connection cancelled');
233
+ return;
234
+ }
235
+ await deleteModelAuthProfile(profileId);
236
+ p.outro(chalk.green(`Deleted ${provider.label} ${method.label}`));
237
+ return;
238
+ }
239
+ }
240
+ const connected = await connectProviderMethod({ provider, method });
241
+ if (connected) {
242
+ p.outro(chalk.green('Connection saved'));
243
+ }
244
+ }
@@ -3,6 +3,7 @@ export { createImage } from './create-image.js';
3
3
  export { handleInitCommand, handleInitAgentCommand, handleInitPrimaryCommand, handleInitSkillCommand, } from './init.js';
4
4
  export { getUserInputToInitDextoApp, initDexto, postInitDexto } from './init-app.js';
5
5
  export { handleSetupCommand, type CLISetupOptions, type CLISetupOptionsInput } from './setup.js';
6
+ export { handleConnectCommand, type ConnectCommandOptions } from './connect.js';
6
7
  export { handleInstallCommand, type InstallCommandOptions } from './agents/install.js';
7
8
  export { handleUninstallCommand, type UninstallCommandOptions } from './agents/uninstall.js';
8
9
  export { handleUpgradeCommand, type UpgradeCommandOptions } from './upgrade.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACH,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACzB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,0BAA0B,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EACH,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,GACrC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EACH,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,wBAAwB,GAChC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACH,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,GACvC,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EACH,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAE3B,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EAEtC,KAAK,iCAAiC,EACtC,KAAK,oCAAoC,EACzC,KAAK,oCAAoC,EACzC,KAAK,kCAAkC,EACvC,KAAK,qCAAqC,GAC7C,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACH,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACzB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,0BAA0B,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EACH,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,GACrC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EACH,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,wBAAwB,GAChC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACH,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,GACvC,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EACH,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAE3B,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EAEtC,KAAK,iCAAiC,EACtC,KAAK,oCAAoC,EACzC,KAAK,oCAAoC,EACzC,KAAK,kCAAkC,EACvC,KAAK,qCAAqC,GAC7C,MAAM,aAAa,CAAC"}
@@ -5,6 +5,7 @@ export { createImage } from './create-image.js';
5
5
  export { handleInitCommand, handleInitAgentCommand, handleInitPrimaryCommand, handleInitSkillCommand, } from './init.js';
6
6
  export { getUserInputToInitDextoApp, initDexto, postInitDexto } from './init-app.js';
7
7
  export { handleSetupCommand } from './setup.js';
8
+ export { handleConnectCommand } from './connect.js';
8
9
  export { handleInstallCommand } from './agents/install.js';
9
10
  export { handleUninstallCommand } from './agents/uninstall.js';
10
11
  export { handleUpgradeCommand } from './upgrade.js';
@@ -1,4 +1,4 @@
1
- import { type LLMProvider } from '@dexto/core';
1
+ import { type LLMProvider } from '@dexto/llm';
2
2
  /**
3
3
  * Get user preferences needed to initialize a Dexto app
4
4
  * @returns The user preferences
@@ -1 +1 @@
1
- {"version":3,"file":"init-app.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init-app.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAA8B,MAAM,aAAa,CAAC;AAe3E;;;GAGG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC;IACxD,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;CAC9B,CAAC,CA2ED;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC3B,SAAS,EAAE,MAAM,EACjB,iBAAiB,UAAO,EACxB,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA6Ff;AAED,mFAAmF;AACnF,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,iBAQpD;AACD;;;;GAIG;AACH,wBAAsB,sBAAsB,CACxC,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC,CAWxD;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,GAChE,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
1
+ {"version":3,"file":"init-app.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init-app.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAA8B,MAAM,YAAY,CAAC;AAe1E;;;GAGG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC;IACxD,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;CAC9B,CAAC,CA2ED;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC3B,SAAS,EAAE,MAAM,EACjB,iBAAiB,UAAO,EACxB,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA6Ff;AAED,mFAAmF;AACnF,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,iBAQpD;AACD;;;;GAIG;AACH,wBAAsB,sBAAsB,CACxC,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC,CAWxD;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,GAChE,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
@@ -5,7 +5,7 @@ import fsExtra from 'fs-extra';
5
5
  import path from 'node:path';
6
6
  import { getPackageManager, getPackageManagerInstallCommand } from '../utils/package-mgmt.js';
7
7
  import { executeWithTimeout } from '../utils/execute.js';
8
- import { getDefaultModelForProvider } from '@dexto/core';
8
+ import { getDefaultModelForProvider } from '@dexto/llm';
9
9
  import { saveProviderApiKey } from '@dexto/agent-management';
10
10
  import { getProviderDisplayName, isValidApiKeyFormat, PROVIDER_OPTIONS, } from '../utils/provider-setup.js';
11
11
  import { generateIndexForCodeFirstDI } from '../utils/template-engine.js';
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+DxB,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8ClB,CAAC;AAEP,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAClE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAsKtE;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC9F"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuDxB,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8ClB,CAAC;AAEP,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAClE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AA2KtE;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC9F"}