dsh-llm-ustc 0.2.0 → 0.2.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/README.md +9 -6
- package/lib/adapter.js +23 -16
- package/lib/adapter.js.map +1 -1
- package/lib/client.js +107 -120
- package/lib/config.js +6 -4
- package/lib/config.js.map +1 -1
- package/lib/constants.js +2 -2
- package/lib/constants.js.map +1 -1
- package/lib/index.js +9 -14
- package/lib/index.js.map +1 -1
- package/lib/state.js +3 -7
- package/lib/state.js.map +1 -1
- package/lib/types/adapter.d.ts +1 -0
- package/lib/types/adapter.d.ts.map +1 -1
- package/lib/types/client/index.d.ts +2 -5
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/config.d.ts +13 -3
- package/lib/types/config.d.ts.map +1 -1
- package/lib/types/constants.d.ts +2 -2
- package/lib/types/constants.d.ts.map +1 -1
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/state.d.ts +0 -1
- package/lib/types/state.d.ts.map +1 -1
- package/lib/types/web.d.ts +4 -1
- package/lib/types/web.d.ts.map +1 -1
- package/lib/web.js +45 -50
- package/lib/web.js.map +1 -1
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +63 -43
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,aAAa,EAA+B,MAAM,aAAa,CAAA;AAChF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAErD,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAA;AAClC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAY,EAAE,MAAoB;IAC5D,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IAC/G,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,IAAI,WAAW,CAAA;IAC7D,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;IAC9B,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;IAClB,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5D,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IACpD,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YACvD,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC,CAAA;IACH,GAAG,CAAC,EAAE,CAAC,2BAA2B,EAAE,EAAE,CAAC,EAAE;QACvC,IAAI,EAAE,KAAK,UAAU;YAAE,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IACF,UAAU,CAAC,GAAG,EAAE,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/F,OAAO,KAAK,IAAI,EAAE;QAChB,SAAS,EAAE,CAAA;QACX,YAAY,EAAE,CAAA;QACd,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC,CAAA;AACH,CAAC"}
|
package/lib/state.js
CHANGED
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
|
|
2
|
-
import { dirname
|
|
3
|
-
import {
|
|
2
|
+
import { dirname } from 'node:path';
|
|
3
|
+
import { dshCachePath, resolveDshHome } from '@deepseek-ai/dsh-home-paths';
|
|
4
4
|
import { DEFAULT_MODEL } from "./constants.js";
|
|
5
5
|
const FALLBACK = {
|
|
6
6
|
models: [{ id: DEFAULT_MODEL, name: DEFAULT_MODEL }],
|
|
7
7
|
};
|
|
8
|
-
export function resolveDshHome() {
|
|
9
|
-
const configured = process.env.DSH_HOME?.trim();
|
|
10
|
-
return configured === undefined || configured.length === 0 ? join(homedir(), '.dsh') : configured;
|
|
11
|
-
}
|
|
12
8
|
export class StateStore {
|
|
13
9
|
filename;
|
|
14
10
|
current = structuredClone(FALLBACK);
|
|
15
11
|
writes = Promise.resolve();
|
|
16
12
|
constructor(dshHome = resolveDshHome()) {
|
|
17
|
-
this.filename =
|
|
13
|
+
this.filename = dshCachePath({ dshHome }, 'dsh-llm-ustc', 'models.json');
|
|
18
14
|
}
|
|
19
15
|
async load() {
|
|
20
16
|
try {
|
package/lib/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/lib/types/adapter.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare class UstcAdapter extends LlmAdapter {
|
|
|
7
7
|
private readonly helper;
|
|
8
8
|
private readonly catalog;
|
|
9
9
|
private delegate;
|
|
10
|
+
private readonly auth;
|
|
10
11
|
constructor(ctx: Context, helper: HelperManager, catalog: ModelCatalog);
|
|
11
12
|
providerInfo(provider: string): {
|
|
12
13
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAEL,UAAU,EAIV,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAW7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAatD,qBAAa,WAAY,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAEL,UAAU,EAIV,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAW7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAatD,qBAAa,WAAY,SAAQ,UAAU;IAKvC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAAmD;IACnE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4F;gBAG9F,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,YAAY;IAK/B,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAK5D,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB;IAKpD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAa9D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAe3E,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC;IAY5E,UAAU,IAAI,IAAI;YAIJ,eAAe;IAwB7B,OAAO,CAAC,cAAc;CAGvB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOtE"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import type { ClientContext } from '@deepseek-ai/
|
|
1
|
+
import type { Context as ClientContext } from '@deepseek-ai/cordis';
|
|
2
2
|
declare const en: {
|
|
3
|
-
readonly title: "USTC LLM";
|
|
4
|
-
readonly intro: "Manage the USTC API credential, model catalog, and iWAN access.";
|
|
5
|
-
readonly expand: "Show settings";
|
|
6
|
-
readonly collapse: "Hide settings";
|
|
7
3
|
readonly apiKeyLabel: "USTC API Key";
|
|
8
4
|
readonly apiKeyPlaceholder: "Enter a new key";
|
|
9
5
|
readonly configured: "Configured";
|
|
@@ -82,6 +78,7 @@ interface ViewState {
|
|
|
82
78
|
oidc?: OidcBegin | undefined;
|
|
83
79
|
action?: Action | undefined;
|
|
84
80
|
error?: string | undefined;
|
|
81
|
+
errorAction?: Action | undefined;
|
|
85
82
|
}
|
|
86
83
|
export declare class UstcSettingsController {
|
|
87
84
|
private current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"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"}
|
package/lib/types/config.d.ts
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
import type { Volatile } from '@deepseek-ai/cordis';
|
|
1
2
|
import z from '@deepseek-ai/schemastery';
|
|
2
3
|
export interface Config {
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
apiKeyEnv: Volatile<string>;
|
|
5
|
+
selectedServerId: Volatile<string | undefined>;
|
|
6
|
+
directRecoverySeconds: Volatile<number>;
|
|
5
7
|
}
|
|
6
|
-
export declare const Config: z<
|
|
8
|
+
export declare const Config: z<Schemastery.ObjectS<NoInfer<{
|
|
9
|
+
apiKeyEnv: z<string, string, "volatile-defined">;
|
|
10
|
+
selectedServerId: z<string, string, "volatile">;
|
|
11
|
+
directRecoverySeconds: z<number, number, "volatile-defined">;
|
|
12
|
+
}>>, Schemastery.ObjectT<NoInfer<{
|
|
13
|
+
apiKeyEnv: z<string, string, "volatile-defined">;
|
|
14
|
+
selectedServerId: z<string, string, "volatile">;
|
|
15
|
+
directRecoverySeconds: z<number, number, "volatile-defined">;
|
|
16
|
+
}>>, "plain">;
|
|
7
17
|
export interface ResolvedConfig {
|
|
8
18
|
selectedServerId?: string;
|
|
9
19
|
directRecoverySeconds: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAGxC,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC3B,gBAAgB,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAC9C,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;CACxC;AAED,eAAO,MAAM,MAAM;;;;;;;;aAIjB,CAAA;AAEF,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qBAAqB,EAAE,MAAM,CAAA;CAC9B;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAU5D"}
|
package/lib/types/constants.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ export declare const PROVIDER_NAME = "USTC LLM";
|
|
|
3
3
|
export declare const SETTINGS_NS = "llm-ustc";
|
|
4
4
|
export declare const API_KEY_REF = "USTC_LLM_API_KEY";
|
|
5
5
|
export declare const IWAN_CONFIG_REF = "USTC_LLM_IWAN_CONFIG";
|
|
6
|
-
export declare const DEFAULT_MODEL = "deepseek-
|
|
6
|
+
export declare const DEFAULT_MODEL = "deepseek-flash";
|
|
7
7
|
export declare const DEFAULT_CONTEXT_WINDOW = 262144;
|
|
8
8
|
export declare const DEFAULT_MAX_TOKENS = 32768;
|
|
9
9
|
export declare const HELPER_PROTOCOL = "v2";
|
|
10
|
-
export declare const SETTINGS_ROUTE = "/
|
|
10
|
+
export declare const SETTINGS_ROUTE = "/api/llm-ustc/settings";
|
|
11
11
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,SAAS,CAAA;AAC9B,eAAO,MAAM,aAAa,aAAa,CAAA;AACvC,eAAO,MAAM,WAAW,aAAa,CAAA;AACrC,eAAO,MAAM,WAAW,qBAAqB,CAAA;AAC7C,eAAO,MAAM,eAAe,yBAAyB,CAAA;AACrD,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,SAAS,CAAA;AAC9B,eAAO,MAAM,aAAa,aAAa,CAAA;AACvC,eAAO,MAAM,WAAW,aAAa,CAAA;AACrC,eAAO,MAAM,WAAW,qBAAqB,CAAA;AAC7C,eAAO,MAAM,eAAe,yBAAyB,CAAA;AACrD,eAAO,MAAM,aAAa,mBAAmB,CAAA;AAC7C,eAAO,MAAM,sBAAsB,SAAU,CAAA;AAC7C,eAAO,MAAM,kBAAkB,QAAS,CAAA;AACxC,eAAO,MAAM,eAAe,OAAO,CAAA;AACnC,eAAO,MAAM,cAAc,2BAA2B,CAAA"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ import { Config, type Config as PluginConfig } from './config.ts';
|
|
|
3
3
|
export declare const name = "dsh-llm-ustc";
|
|
4
4
|
export declare const inject: string[];
|
|
5
5
|
export { Config };
|
|
6
|
-
export declare function apply(ctx: Context, config
|
|
6
|
+
export declare function apply(ctx: Context, config: PluginConfig): Promise<() => Promise<void>>;
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAMlD,OAAO,EAAE,MAAM,EAAiB,KAAK,MAAM,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AAOhF,eAAO,MAAM,IAAI,iBAAiB,CAAA;AAClC,eAAO,MAAM,MAAM,UAAqC,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAMlD,OAAO,EAAE,MAAM,EAAiB,KAAK,MAAM,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AAOhF,eAAO,MAAM,IAAI,iBAAiB,CAAA;AAClC,eAAO,MAAM,MAAM,UAAqC,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAyB5F"}
|
package/lib/types/state.d.ts
CHANGED
package/lib/types/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM1D,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM1D,qBAAa,UAAU;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,MAAM,CAAmC;gBAErC,OAAO,SAAmB;IAIhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B,QAAQ,IAAI,WAAW;IAIvB,MAAM,IAAI,WAAW,EAAE;IAIjB,SAAS,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAUhD,OAAO;CAUtB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,CAc7E"}
|
package/lib/types/web.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { Config } from './config.ts';
|
|
2
3
|
import type { HelperManager } from './helper.ts';
|
|
3
4
|
import type { ModelCatalog } from './model-catalog.ts';
|
|
4
5
|
import { IwanAuthenticator } from './oidc.ts';
|
|
@@ -54,7 +55,9 @@ export declare class UstcWebBackend {
|
|
|
54
55
|
private readonly catalog;
|
|
55
56
|
private readonly store;
|
|
56
57
|
private readonly iwanAuth;
|
|
57
|
-
|
|
58
|
+
private readonly settingsId;
|
|
59
|
+
private readonly config?;
|
|
60
|
+
constructor(ctx: Context, helper: HelperManager, catalog: ModelCatalog, store: StateStore, iwanAuth?: IwanAuthenticator, settingsId?: string, config?: Config | undefined);
|
|
58
61
|
snapshot(): Promise<SettingsSnapshot>;
|
|
59
62
|
handle(request: WebRequest): Promise<unknown>;
|
|
60
63
|
}
|
package/lib/types/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAA;IACnE,IAAI,EAAE;QACJ,UAAU,EAAE,OAAO,CAAA;QACnB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,OAAO,CAAA;QACjB,OAAO,EAAE,YAAY,EAAE,CAAA;KACxB,CAAA;IACD,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACtC,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,KAAK,UAAU,GACX;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,GACzB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,GAC1B;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,CAAA;AAE5B,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBANP,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,iBAA2C,EACrD,UAAU,SAAc,EACxB,MAAM,CAAC,EAAE,MAAM,YAAA;IAG5B,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAyBrC,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;CAoDpD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAkBtE;AA8DD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMpD"}
|
package/lib/web.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { credentialRef } from '@deepseek-ai/dsh-credentials';
|
|
2
|
-
import { SettingsConflictError
|
|
2
|
+
import { SettingsConflictError } from '@deepseek-ai/dsh-settings';
|
|
3
3
|
import { API_KEY_REF, IWAN_CONFIG_REF, SETTINGS_NS, SETTINGS_ROUTE } from "./constants.js";
|
|
4
|
+
import { resolveConfig } from "./config.js";
|
|
4
5
|
import { parseIwanConfig, publicIwanServers } from "./iwan.js";
|
|
5
6
|
import { IwanAuthenticator } from "./oidc.js";
|
|
6
7
|
export class UstcWebBackend {
|
|
@@ -9,15 +10,19 @@ export class UstcWebBackend {
|
|
|
9
10
|
catalog;
|
|
10
11
|
store;
|
|
11
12
|
iwanAuth;
|
|
12
|
-
|
|
13
|
+
settingsId;
|
|
14
|
+
config;
|
|
15
|
+
constructor(ctx, helper, catalog, store, iwanAuth = new IwanAuthenticator(), settingsId = SETTINGS_NS, config) {
|
|
13
16
|
this.ctx = ctx;
|
|
14
17
|
this.helper = helper;
|
|
15
18
|
this.catalog = catalog;
|
|
16
19
|
this.store = store;
|
|
17
20
|
this.iwanAuth = iwanAuth;
|
|
21
|
+
this.settingsId = settingsId;
|
|
22
|
+
this.config = config;
|
|
18
23
|
}
|
|
19
24
|
async snapshot() {
|
|
20
|
-
const descriptor = this.ctx.settings.describe({ redactSecrets: true }).find(row => row.ns ===
|
|
25
|
+
const descriptor = this.ctx.settings.describe({ redactSecrets: true }).find(row => row.ns === this.settingsId);
|
|
21
26
|
if (descriptor === undefined)
|
|
22
27
|
throw new Error('llm-ustc settings namespace is not registered');
|
|
23
28
|
const value = descriptor.value;
|
|
@@ -64,8 +69,10 @@ export class UstcWebBackend {
|
|
|
64
69
|
return { servers: publicIwanServers(JSON.stringify(config)), snapshot: await this.snapshot() };
|
|
65
70
|
}
|
|
66
71
|
case 'logoutIwan':
|
|
67
|
-
await this.ctx.settings.mutate(
|
|
72
|
+
await this.ctx.settings.mutate(this.settingsId, [{ op: 'unset', path: ['selectedServerId'] }], request.expectedRevision);
|
|
68
73
|
await this.ctx.credentials.unset(credentialRef(IWAN_CONFIG_REF));
|
|
74
|
+
if (this.config !== undefined)
|
|
75
|
+
this.helper.reconfigure(resolveConfig(this.config));
|
|
69
76
|
await this.helper.stop();
|
|
70
77
|
return this.snapshot();
|
|
71
78
|
case 'refreshRoute': {
|
|
@@ -79,12 +86,14 @@ export class UstcWebBackend {
|
|
|
79
86
|
}
|
|
80
87
|
const rollback = this.helper.stageSelectedServer(request.serverId);
|
|
81
88
|
try {
|
|
82
|
-
await this.ctx.settings.update(
|
|
89
|
+
await this.ctx.settings.update(this.settingsId, { selectedServerId: request.serverId }, request.expectedRevision);
|
|
83
90
|
}
|
|
84
91
|
catch (error) {
|
|
85
92
|
rollback();
|
|
86
93
|
throw error;
|
|
87
94
|
}
|
|
95
|
+
if (this.config !== undefined)
|
|
96
|
+
this.helper.reconfigure(resolveConfig(this.config));
|
|
88
97
|
await this.helper.refreshRoute();
|
|
89
98
|
return this.snapshot();
|
|
90
99
|
}
|
|
@@ -95,72 +104,58 @@ export class UstcWebBackend {
|
|
|
95
104
|
}
|
|
96
105
|
}
|
|
97
106
|
export function installWeb(ctx, backend) {
|
|
98
|
-
ctx.inject(['
|
|
99
|
-
|
|
100
|
-
kind: 'exact',
|
|
107
|
+
ctx.inject(['connection'], connectionCtx => {
|
|
108
|
+
connectionCtx.connection.fetch.register({
|
|
101
109
|
path: SETTINGS_ROUTE,
|
|
102
|
-
|
|
110
|
+
methods: ['GET', 'POST'],
|
|
111
|
+
requestBody: 'buffered',
|
|
112
|
+
fetch: async (request) => {
|
|
103
113
|
try {
|
|
104
|
-
if (
|
|
105
|
-
return responseJson(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
if (!sameOriginPost(req))
|
|
109
|
-
return responseError(res, 403, 'CROSS_ORIGIN', 'cross-origin request refused');
|
|
110
|
-
const request = parseWebRequest(await readJson(req));
|
|
111
|
-
responseJson(res, 200, { ok: true, value: await backend.handle(request) });
|
|
114
|
+
if (request.method === 'GET')
|
|
115
|
+
return responseJson(200, { ok: true, value: await backend.snapshot() });
|
|
116
|
+
const input = parseWebRequest(await readJson(request));
|
|
117
|
+
return responseJson(200, { ok: true, value: await backend.handle(input) });
|
|
112
118
|
}
|
|
113
119
|
catch (error) {
|
|
114
120
|
const status = error instanceof SettingsConflictError ? 409 : error instanceof TypeError ? 400 : 500;
|
|
115
|
-
responseError(
|
|
121
|
+
return responseError(status, error instanceof SettingsConflictError ? 'SETTINGS_CONFLICT' : 'REQUEST_FAILED', publicMessage(error));
|
|
116
122
|
}
|
|
117
123
|
},
|
|
118
124
|
});
|
|
119
|
-
webCtx.effect(() => dispose, 'dsh-llm-ustc: web settings route');
|
|
120
125
|
});
|
|
121
126
|
}
|
|
122
127
|
function publicCredential(info) {
|
|
123
128
|
return { configured: info.configured, ...(info.source === undefined ? {} : { source: info.source }), writable: info.writable };
|
|
124
129
|
}
|
|
125
|
-
function responseJson(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
res.writeHead(status);
|
|
133
|
-
res.end(bytes);
|
|
130
|
+
function responseJson(status, body) {
|
|
131
|
+
return new Response(JSON.stringify(body), { status, headers: {
|
|
132
|
+
'content-type': 'application/json; charset=utf-8',
|
|
133
|
+
'cache-control': 'no-store',
|
|
134
|
+
'x-content-type-options': 'nosniff',
|
|
135
|
+
'content-security-policy': "default-src 'none'; frame-ancestors 'none'",
|
|
136
|
+
} });
|
|
134
137
|
}
|
|
135
|
-
function responseError(
|
|
136
|
-
responseJson(
|
|
137
|
-
}
|
|
138
|
-
function sameOriginPost(req) {
|
|
139
|
-
if (req.headers['sec-fetch-site'] === 'cross-site')
|
|
140
|
-
return false;
|
|
141
|
-
const origin = req.headers.origin;
|
|
142
|
-
if (origin === undefined)
|
|
143
|
-
return ['same-origin', 'same-site', 'none'].includes(req.headers['sec-fetch-site'] ?? '');
|
|
144
|
-
if (req.headers.host === undefined)
|
|
145
|
-
return false;
|
|
146
|
-
try {
|
|
147
|
-
const parsed = new URL(origin);
|
|
148
|
-
return ['http:', 'https:'].includes(parsed.protocol) && parsed.host === req.headers.host;
|
|
149
|
-
}
|
|
150
|
-
catch {
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
138
|
+
function responseError(status, code, message) {
|
|
139
|
+
return responseJson(status, { ok: false, error: { code, message } });
|
|
153
140
|
}
|
|
154
141
|
async function readJson(req) {
|
|
155
|
-
if (req.headers
|
|
142
|
+
if (req.headers.get('content-type')?.split(';', 1)[0]?.trim().toLowerCase() !== 'application/json')
|
|
156
143
|
throw new TypeError('Content-Type must be application/json');
|
|
144
|
+
const reader = req.body?.getReader();
|
|
145
|
+
if (reader === undefined)
|
|
146
|
+
throw new TypeError('request body is empty');
|
|
157
147
|
const parts = [];
|
|
158
148
|
let size = 0;
|
|
159
|
-
|
|
160
|
-
const
|
|
149
|
+
while (true) {
|
|
150
|
+
const { done, value } = await reader.read();
|
|
151
|
+
if (done)
|
|
152
|
+
break;
|
|
153
|
+
const bytes = Buffer.from(value);
|
|
161
154
|
size += bytes.length;
|
|
162
|
-
if (size > 64 * 1024)
|
|
155
|
+
if (size > 64 * 1024) {
|
|
156
|
+
await reader.cancel();
|
|
163
157
|
throw new TypeError('request body exceeds 65536 bytes');
|
|
158
|
+
}
|
|
164
159
|
parts.push(bytes);
|
|
165
160
|
}
|
|
166
161
|
if (parts.length === 0)
|
package/lib/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
|
package/locale/en.json
ADDED
package/locale/zh.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-llm-ustc",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "USTC LLM provider for DeepSeek Harness with a provider-scoped iWAN tunnel",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,11 +22,13 @@
|
|
|
22
22
|
"default": "./lib/client.js"
|
|
23
23
|
},
|
|
24
24
|
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
25
|
+
"./locale/*.json": "./locale/*.json",
|
|
25
26
|
"./package.json": "./package.json"
|
|
26
27
|
},
|
|
27
28
|
"files": [
|
|
28
29
|
"lib",
|
|
29
30
|
"cordis.patch.yml",
|
|
31
|
+
"locale/*.json",
|
|
30
32
|
"README.md",
|
|
31
33
|
"LICENSE"
|
|
32
34
|
],
|
|
@@ -36,67 +38,85 @@
|
|
|
36
38
|
},
|
|
37
39
|
"client": {
|
|
38
40
|
"inject": [
|
|
39
|
-
"@deepseek-ai/dsh-client-
|
|
40
|
-
"@deepseek-ai/dsh-client-ui-settings",
|
|
41
|
-
"@deepseek-ai/dsh-client-ui-settings-plugins",
|
|
41
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager",
|
|
42
42
|
"@deepseek-ai/dsh-client-ui-slots",
|
|
43
43
|
"@deepseek-ai/dsh-client-ui-primitives",
|
|
44
|
+
"@deepseek-ai/dsh-client-ui-renderer",
|
|
45
|
+
"@deepseek-ai/dsh-client-connection",
|
|
44
46
|
"@deepseek-ai/dsh-client-locale"
|
|
45
47
|
],
|
|
46
48
|
"platform": "web"
|
|
47
49
|
}
|
|
48
50
|
},
|
|
49
51
|
"peerDependencies": {
|
|
50
|
-
"@deepseek-ai/cordis": "
|
|
51
|
-
"@deepseek-ai/
|
|
52
|
-
"@deepseek-ai/dsh
|
|
53
|
-
"@deepseek-ai/dsh-client-
|
|
54
|
-
"@deepseek-ai/dsh-client-
|
|
55
|
-
"@deepseek-ai/dsh-client-ui-
|
|
56
|
-
"@deepseek-ai/dsh-client-ui-
|
|
57
|
-
"@deepseek-ai/dsh-
|
|
58
|
-
"@deepseek-ai/dsh-
|
|
59
|
-
"@deepseek-ai/dsh-
|
|
60
|
-
"@deepseek-ai/dsh-
|
|
61
|
-
"@deepseek-ai/dsh-
|
|
62
|
-
"@deepseek-ai/
|
|
63
|
-
"@
|
|
52
|
+
"@deepseek-ai/cordis": "~4.0.4",
|
|
53
|
+
"@deepseek-ai/cordis-plugin-loader": "~1.0.5",
|
|
54
|
+
"@deepseek-ai/dsh": "0.2.0-rc.2",
|
|
55
|
+
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
|
|
56
|
+
"@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
|
|
57
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.0-rc.2",
|
|
58
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2",
|
|
59
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
|
|
60
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
|
|
61
|
+
"@deepseek-ai/dsh-credentials": "0.2.0-rc.2",
|
|
62
|
+
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.2",
|
|
63
|
+
"@deepseek-ai/dsh-llm": "0.2.0-rc.2",
|
|
64
|
+
"@deepseek-ai/dsh-llm-pi-ai": "0.2.0-rc.2",
|
|
65
|
+
"@deepseek-ai/dsh-settings": "0.2.0-rc.2",
|
|
66
|
+
"@deepseek-ai/schemastery": "~3.18.4",
|
|
67
|
+
"@earendil-works/pi-ai": "^0.87.1",
|
|
64
68
|
"react": "^18.2.0"
|
|
65
69
|
},
|
|
66
70
|
"peerDependenciesMeta": {
|
|
67
|
-
"@deepseek-ai/dsh
|
|
71
|
+
"@deepseek-ai/dsh": {
|
|
72
|
+
"optional": true
|
|
73
|
+
},
|
|
74
|
+
"@deepseek-ai/dsh-client-connection": {
|
|
68
75
|
"optional": true
|
|
69
76
|
}
|
|
70
77
|
},
|
|
71
78
|
"optionalDependencies": {
|
|
72
|
-
"@dsh-llm-ustc/helper-darwin-arm64": "0.2.
|
|
73
|
-
"@dsh-llm-ustc/helper-
|
|
74
|
-
"@dsh-llm-ustc/helper-linux-
|
|
75
|
-
"@dsh-llm-ustc/helper-
|
|
76
|
-
"@dsh-llm-ustc/helper-
|
|
77
|
-
"@dsh-llm-ustc/helper-win32-
|
|
79
|
+
"@dsh-llm-ustc/helper-darwin-arm64": "0.2.1",
|
|
80
|
+
"@dsh-llm-ustc/helper-linux-arm64": "0.2.1",
|
|
81
|
+
"@dsh-llm-ustc/helper-linux-x64": "0.2.1",
|
|
82
|
+
"@dsh-llm-ustc/helper-win32-x64": "0.2.1",
|
|
83
|
+
"@dsh-llm-ustc/helper-darwin-x64": "0.2.1",
|
|
84
|
+
"@dsh-llm-ustc/helper-win32-arm64": "0.2.1"
|
|
78
85
|
},
|
|
79
86
|
"devDependencies": {
|
|
80
|
-
"@deepseek-ai/cordis": "
|
|
81
|
-
"@deepseek-ai/
|
|
82
|
-
"@deepseek-ai/
|
|
83
|
-
"@deepseek-ai/
|
|
84
|
-
"@deepseek-ai/dsh-
|
|
85
|
-
"@deepseek-ai/dsh-
|
|
86
|
-
"@deepseek-ai/dsh-
|
|
87
|
-
"@deepseek-ai/dsh-
|
|
88
|
-
"@deepseek-ai/dsh-
|
|
89
|
-
"@deepseek-ai/dsh-
|
|
90
|
-
"@deepseek-ai/dsh-
|
|
91
|
-
"@deepseek-ai/dsh-
|
|
92
|
-
"@deepseek-ai/
|
|
93
|
-
"@
|
|
94
|
-
"@
|
|
87
|
+
"@deepseek-ai/cordis": "4.0.4",
|
|
88
|
+
"@deepseek-ai/cordis-plugin-group": "1.0.4",
|
|
89
|
+
"@deepseek-ai/cordis-plugin-include": "1.0.9",
|
|
90
|
+
"@deepseek-ai/cordis-plugin-loader": "1.0.5",
|
|
91
|
+
"@deepseek-ai/dsh-app-boot": "0.2.0-rc.2",
|
|
92
|
+
"@deepseek-ai/dsh-attachment": "0.2.0-rc.2",
|
|
93
|
+
"@deepseek-ai/dsh-authorization": "0.2.0-rc.2",
|
|
94
|
+
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
|
|
95
|
+
"@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
|
|
96
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.0-rc.2",
|
|
97
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2",
|
|
98
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
|
|
99
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
|
|
100
|
+
"@deepseek-ai/dsh-credentials": "0.2.0-rc.2",
|
|
101
|
+
"@deepseek-ai/dsh-fs": "0.2.0-rc.2",
|
|
102
|
+
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.2",
|
|
103
|
+
"@deepseek-ai/dsh-host-webserver": "0.2.0-rc.2",
|
|
104
|
+
"@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
|
|
105
|
+
"@deepseek-ai/dsh-launch-environment": "0.2.0-rc.2",
|
|
106
|
+
"@deepseek-ai/dsh-llm": "0.2.0-rc.2",
|
|
107
|
+
"@deepseek-ai/dsh-llm-pi-ai": "0.2.0-rc.2",
|
|
108
|
+
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.2",
|
|
109
|
+
"@deepseek-ai/dsh-scope": "0.2.0-rc.2",
|
|
110
|
+
"@deepseek-ai/dsh-session": "0.2.0-rc.2",
|
|
111
|
+
"@deepseek-ai/dsh-settings": "0.2.0-rc.2",
|
|
112
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
|
|
113
|
+
"@deepseek-ai/schemastery": "3.18.4",
|
|
114
|
+
"@earendil-works/pi-ai": "0.87.1",
|
|
115
|
+
"@types/node": "^24.19.0",
|
|
95
116
|
"@types/react": "~18.3.31",
|
|
96
|
-
"
|
|
97
|
-
"rolldown": "^1.2.4",
|
|
117
|
+
"rolldown": "^1.2.11",
|
|
98
118
|
"typescript": "^6.0.3",
|
|
99
|
-
"vitest": "^4.1.
|
|
119
|
+
"vitest": "^4.1.11"
|
|
100
120
|
},
|
|
101
121
|
"license": "MIT",
|
|
102
122
|
"scripts": {
|