@skaile/forge-settings 1.3.2 → 1.4.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/CHANGELOG.md +19 -0
- package/README.md +20 -0
- package/dist/module.json +1 -1
- package/dist/runtime/components/ForgeProvidersPanel.d.vue.ts +13 -0
- package/dist/runtime/components/ForgeProvidersPanel.vue +461 -78
- package/dist/runtime/components/ForgeProvidersPanel.vue.d.ts +13 -0
- package/dist/runtime/server/harness-settings.d.ts +50 -12
- package/dist/runtime/server/harness-settings.js +93 -9
- package/dist/runtime/server/index.d.ts +2 -0
- package/dist/runtime/server/index.js +2 -0
- package/dist/runtime/server/provider-service.d.ts +26 -2
- package/dist/runtime/server/provider-service.js +16 -1
- package/dist/runtime/server/provider-write.d.ts +25 -9
- package/dist/runtime/server/provider-write.js +72 -4
- package/dist/runtime/shared/data-zone.d.ts +66 -0
- package/dist/runtime/shared/data-zone.js +79 -0
- package/dist/runtime/shared/harness-providers.d.ts +41 -2
- package/dist/runtime/shared/harness-providers.js +31 -8
- package/dist/runtime/shared/harnesses.d.ts +7 -0
- package/dist/runtime/shared/harnesses.js +18 -0
- package/dist/runtime/shared/provider-accounts.d.ts +215 -0
- package/dist/runtime/shared/provider-accounts.js +255 -0
- package/dist/runtime/shared/provider-registry.d.ts +38 -0
- package/dist/runtime/shared/provider-registry.js +16 -0
- package/dist/runtime/shared/settings-types.d.ts +7 -0
- package/dist/runtime/vue/index.d.ts +2 -0
- package/dist/runtime/vue/index.js +2 -0
- package/dist/runtime/vue/providers-panel-model.d.ts +98 -5
- package/dist/runtime/vue/providers-panel-model.js +13 -1
- package/dist/runtime/vue/useProvidersPanel.d.ts +66 -5
- package/dist/runtime/vue/useProvidersPanel.js +417 -29
- package/package.json +2 -2
- package/src/runtime/components/ForgeProvidersPanel.vue +477 -78
- package/src/runtime/server/harness-settings.ts +165 -21
- package/src/runtime/server/index.ts +2 -0
- package/src/runtime/server/provider-service.ts +53 -1
- package/src/runtime/server/provider-write.ts +129 -15
- package/src/runtime/shared/data-zone.ts +172 -0
- package/src/runtime/shared/harness-providers.ts +77 -6
- package/src/runtime/shared/harnesses.ts +25 -0
- package/src/runtime/shared/provider-accounts.ts +526 -0
- package/src/runtime/shared/provider-registry.ts +58 -0
- package/src/runtime/shared/settings-types.ts +7 -0
- package/src/runtime/vue/index.ts +2 -0
- package/src/runtime/vue/providers-panel-model.ts +123 -5
- package/src/runtime/vue/useProvidersPanel.ts +586 -37
|
@@ -15,11 +15,21 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { type ComputedRef, type Ref, type WritableComputedRef } from "vue";
|
|
17
17
|
import { type EnvSettingsDocument } from "../shared/env-vars.js";
|
|
18
|
+
import { type ProviderSignInId, type ProviderSignInOption } from "../shared/provider-accounts.js";
|
|
18
19
|
import { type AIProviderSurface } from "../shared/provider-registry.js";
|
|
19
20
|
import { type ProvidersPanelTestResult } from "./providers-client.js";
|
|
20
|
-
import { type ProvidersPanelEmit, type ProvidersPanelEntry, type ProvidersPanelForm, type ProvidersPanelPreset, type ProvidersPanelProps, type ProvidersPanelRow } from "./providers-panel-model.js";
|
|
21
|
-
export type { ProvidersPanelCredentialOption, ProvidersPanelEmit, ProvidersPanelEntry, ProvidersPanelForm, ProvidersPanelLayer, ProvidersPanelPreset, ProvidersPanelProps, ProvidersPanelRow, ProvidersPanelRowState, } from "./providers-panel-model.js";
|
|
22
|
-
export { CREDENTIAL_ENTER_KEY, CREDENTIAL_OTHER_REF, CUSTOM_PRESET } from "./providers-panel-model.js";
|
|
21
|
+
import { type ProvidersPanelAzureForm, type ProvidersPanelDialogStep, type ProvidersPanelEmit, type ProvidersPanelEntry, type ProvidersPanelForm, type ProvidersPanelModelsForm, type ProvidersPanelModelsMode, type ProvidersPanelPreset, type ProvidersPanelProps, type ProvidersPanelRow } from "./providers-panel-model.js";
|
|
22
|
+
export type { ProvidersPanelAzureForm, ProvidersPanelCredentialOption, ProvidersPanelDialogStep, ProvidersPanelEmit, ProvidersPanelEntry, ProvidersPanelForm, ProvidersPanelLayer, ProvidersPanelModelsForm, ProvidersPanelModelsMode, ProvidersPanelPreset, ProvidersPanelProps, ProvidersPanelRow, ProvidersPanelRowState, } from "./providers-panel-model.js";
|
|
23
|
+
export { AZURE_ACCOUNT, CREDENTIAL_ENTER_KEY, CREDENTIAL_OTHER_REF, CUSTOM_PRESET, providerModelChoices, providerModelsChip, } from "./providers-panel-model.js";
|
|
24
|
+
/** One parameter field of the add/edit dialog. */
|
|
25
|
+
export interface ProvidersPanelParamField {
|
|
26
|
+
key: string;
|
|
27
|
+
label: string;
|
|
28
|
+
/** The preset requires it. */
|
|
29
|
+
required: boolean;
|
|
30
|
+
/** Editable; expert-only parameters are read-only outside expert mode. */
|
|
31
|
+
editable: boolean;
|
|
32
|
+
}
|
|
23
33
|
/** What both `ForgeProvidersPanel` variants bind to. */
|
|
24
34
|
export interface ProvidersPanelState {
|
|
25
35
|
/** The scope's entries, disabled ones included, in registry order. */
|
|
@@ -51,13 +61,45 @@ export interface ProvidersPanelState {
|
|
|
51
61
|
baseUrlPlaceholder: ComputedRef<string>;
|
|
52
62
|
/** "Set value now" is offered: the scope has an `.env` route. */
|
|
53
63
|
canSetValue: ComputedRef<boolean>;
|
|
54
|
-
/** The dialog shows the env name and secret fields:
|
|
64
|
+
/** The dialog shows the env name and secret fields: the chosen sign-in takes a key. */
|
|
55
65
|
showCredentialFields: ComputedRef<boolean>;
|
|
56
66
|
idError: ComputedRef<string | null>;
|
|
67
|
+
/** Open the add dialog: on the library, or on `presetId`'s account step. */
|
|
57
68
|
openAdd: (presetId?: string) => void;
|
|
58
69
|
openEdit: (row: ProvidersPanelEntry) => void;
|
|
59
70
|
selectPreset: (value: string) => void;
|
|
71
|
+
/** Create (Add) or save (Edit). Adding with an explicit client then tests what it created. */
|
|
60
72
|
saveProvider: () => Promise<void>;
|
|
73
|
+
dialogStep: Ref<ProvidersPanelDialogStep>;
|
|
74
|
+
/** The library's presets, catalog order; the Azure OpenAI and Foundry presets sit behind the Azure card. */
|
|
75
|
+
libraryPresets: ComputedRef<ProvidersPanelPreset[]>;
|
|
76
|
+
/** Pick a library card: a preset id, {@link CUSTOM_PRESET} or {@link AZURE_ACCOUNT}. */
|
|
77
|
+
chooseLibrary: (value: string) => void;
|
|
78
|
+
/** From the account step of an add back to the library. */
|
|
79
|
+
backToLibrary: () => void;
|
|
80
|
+
/** The account step is the Microsoft Azure card. */
|
|
81
|
+
isAzureAccount: ComputedRef<boolean>;
|
|
82
|
+
/** "How do you sign in?": the kinds the chosen preset accepts (the reference form only in expert mode). */
|
|
83
|
+
signInOptions: ComputedRef<ProviderSignInOption[]>;
|
|
84
|
+
signInOption: ComputedRef<ProviderSignInOption | undefined>;
|
|
85
|
+
selectSignIn: (id: ProviderSignInId) => void;
|
|
86
|
+
/** The sign-in step is shown; editing an entry whose credential none of the options expresses keeps it as is. */
|
|
87
|
+
showSignIn: ComputedRef<boolean>;
|
|
88
|
+
/** The reference field is shown: the chosen sign-in is a typed reference. */
|
|
89
|
+
showReferenceField: ComputedRef<boolean>;
|
|
90
|
+
/** The variable a blank key name falls back to: the preset's (the Azure card: Azure OpenAI's). */
|
|
91
|
+
defaultEnvName: ComputedRef<string | undefined>;
|
|
92
|
+
/** Parameter fields of the chosen preset (required ones, plus any the edited entry holds). */
|
|
93
|
+
paramFields: ComputedRef<ProvidersPanelParamField[]>;
|
|
94
|
+
azureForm: ProvidersPanelAzureForm;
|
|
95
|
+
addDeploymentRow: () => void;
|
|
96
|
+
removeDeploymentRow: (index: number) => void;
|
|
97
|
+
/** Ids the last add created; the done step lists them with their test results. */
|
|
98
|
+
createdIds: Ref<string[]>;
|
|
99
|
+
/** Close the dialog from the done step. */
|
|
100
|
+
finishDialog: () => void;
|
|
101
|
+
/** "Renew" on a row: re-open its sign-in (the edit dialog, else the row's key or reference editor). */
|
|
102
|
+
openSignIn: (row: ProvidersPanelRow) => void;
|
|
61
103
|
deleteTarget: Ref<ProvidersPanelEntry | null>;
|
|
62
104
|
/** The confirmation dialog's `v-model`; closing it cancels. */
|
|
63
105
|
deleteOpen: WritableComputedRef<boolean>;
|
|
@@ -77,6 +119,8 @@ export interface ProvidersPanelState {
|
|
|
77
119
|
setEnabled: (row: ProvidersPanelRow, enabled: boolean) => Promise<void>;
|
|
78
120
|
/** Delete the workspace patch of an inherited entry. */
|
|
79
121
|
resetPatch: (row: ProvidersPanelRow) => Promise<void>;
|
|
122
|
+
/** "EU processing is on for this account": writes the entry's `eu_processing`. */
|
|
123
|
+
setEuProcessing: (row: ProvidersPanelRow, on: boolean) => Promise<void>;
|
|
80
124
|
/** Row id with a write in flight. */
|
|
81
125
|
rowBusy: Ref<string | null>;
|
|
82
126
|
rowError: Ref<{
|
|
@@ -89,7 +133,7 @@ export interface ProvidersPanelState {
|
|
|
89
133
|
testBusy: Ref<string | null>;
|
|
90
134
|
/** The last test result per row id. */
|
|
91
135
|
testResults: Record<string, ProvidersPanelTestResult>;
|
|
92
|
-
testProvider: (row: ProvidersPanelEntry) => Promise<void>;
|
|
136
|
+
testProvider: (row: Pick<ProvidersPanelEntry, "id">) => Promise<void>;
|
|
93
137
|
/** "Enter a key…" is offered: the scope has an editable `.env` route. */
|
|
94
138
|
canEnterKey: ComputedRef<boolean>;
|
|
95
139
|
/** Row id whose key editor is open. */
|
|
@@ -111,6 +155,23 @@ export interface ProvidersPanelState {
|
|
|
111
155
|
openRefEditor: (row: ProvidersPanelRow) => void;
|
|
112
156
|
cancelRefEditor: () => void;
|
|
113
157
|
saveRefEditor: () => Promise<void>;
|
|
158
|
+
/** Row id whose model filter is open. */
|
|
159
|
+
modelsEditing: Ref<string | null>;
|
|
160
|
+
modelsForm: ProvidersPanelModelsForm;
|
|
161
|
+
/** The models offered: the entry's `model_map` ids, else what `client.models` lists. */
|
|
162
|
+
modelsKnown: Ref<string[]>;
|
|
163
|
+
modelsLoading: Ref<boolean>;
|
|
164
|
+
/** Why the entry's models could not be listed (the checklist then holds only allowed ids). */
|
|
165
|
+
modelsListMessage: Ref<string | null>;
|
|
166
|
+
/** The checklist after the search. */
|
|
167
|
+
modelChoices: ComputedRef<string[]>;
|
|
168
|
+
modelsError: Ref<string | null>;
|
|
169
|
+
openModelsEditor: (row: ProvidersPanelRow) => Promise<void>;
|
|
170
|
+
setModelsMode: (mode: ProvidersPanelModelsMode) => void;
|
|
171
|
+
toggleModel: (id: string, on: boolean) => void;
|
|
172
|
+
cancelModelsEditor: () => void;
|
|
173
|
+
/** Write `allowed_models`: `null` for All models, else the ticked ids in checklist order. */
|
|
174
|
+
saveModelsEditor: () => Promise<void>;
|
|
114
175
|
envDocument: Ref<EnvSettingsDocument | null>;
|
|
115
176
|
/** The environment document says the caller may write its layer. */
|
|
116
177
|
envEditable: ComputedRef<boolean>;
|