@dsh-enhanced/assistant-evaluation 0.1.66 → 0.1.67

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.
@@ -1,173 +0,0 @@
1
- var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
- if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
- return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
- return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
- });
6
- }
7
- return path;
8
- };
9
- import { LlmAdapter } from '@deepseek-ai/dsh-llm';
10
- const packageName = '@dsh-enhanced/assistant-super-relay-budget';
11
- const provider = 'super-relay';
12
- const models = Object.freeze(['auto_model/alwaysday1']);
13
- // 与生产包 contract.ts 中的保守 fail-closed 上界保持字面一致;runtime() 会交叉断言。
14
- const inputTokenUpperBound = 200_000;
15
- function assertCurrentContract(expiresAt, now = Date.now()) {
16
- const contractExpiry = Date.parse(expiresAt);
17
- if (!Number.isFinite(now) || !Number.isFinite(contractExpiry) || now >= contractExpiry) {
18
- throw new Error('assistant-evaluation: Super Relay protocol contract has expired');
19
- }
20
- }
21
- function runtime(value) {
22
- if (value === null || typeof value !== 'object')
23
- throw new Error('assistant-evaluation: Super Relay adapter runtime is unavailable');
24
- const candidate = value;
25
- if (typeof candidate.SuperRelayGoalMeteredAdapter !== 'function' || candidate.SUPER_RELAY_PROVIDER !== provider
26
- || !Array.isArray(candidate.SUPER_RELAY_MODELS) || candidate.SUPER_RELAY_MODELS.length !== models.length
27
- || !candidate.SUPER_RELAY_MODELS.every((item, index) => item === models[index])
28
- || typeof candidate.SUPER_RELAY_INPUT_TOKEN_UPPER_BOUND !== 'number' || !Number.isSafeInteger(candidate.SUPER_RELAY_INPUT_TOKEN_UPPER_BOUND)
29
- || candidate.SUPER_RELAY_INPUT_TOKEN_UPPER_BOUND !== inputTokenUpperBound || candidate.SUPER_RELAY_RESPONSES_CONTRACT === null
30
- || typeof candidate.SUPER_RELAY_RESPONSES_CONTRACT !== 'object' || typeof candidate.SUPER_RELAY_RESPONSES_CONTRACT.expiresAt !== 'string') {
31
- throw new Error('assistant-evaluation: Super Relay adapter runtime is incompatible');
32
- }
33
- return candidate;
34
- }
35
- function validateModel(model) {
36
- if (model.provider !== provider)
37
- throw new Error('assistant-evaluation: invalid Super Relay provider');
38
- if (!models.includes(model.model))
39
- throw new Error('assistant-evaluation: invalid Super Relay model');
40
- if ((model.inputLimitMode ?? 'upper-bound') !== 'upper-bound' || (model.outputLimitMode ?? 'provider') !== 'provider') {
41
- throw new Error('assistant-evaluation: Super Relay benchmark requires upper-bound input and provider output limits');
42
- }
43
- if (model.temperature !== null && (!Number.isFinite(model.temperature) || model.temperature < 0 || model.temperature > 2)) {
44
- throw new Error('assistant-evaluation: invalid Super Relay temperature');
45
- }
46
- if (!Number.isSafeInteger(model.maxOutputTokens) || model.maxOutputTokens < 1 || model.maxOutputTokens > 32_768) {
47
- throw new Error('assistant-evaluation: invalid Super Relay max output tokens');
48
- }
49
- // 网关无公开定价:任何非空费率都视为未核验,拒绝而不是默默套用。
50
- for (const field of ['inputUsdMicrosPerMillionTokens', 'outputUsdMicrosPerMillionTokens', 'cacheReadUsdMicrosPerMillionTokens', 'cacheWriteUsdMicrosPerMillionTokens']) {
51
- const value = model[field];
52
- if (value !== null && value !== undefined)
53
- throw new Error('assistant-evaluation: Super Relay tariff is unverified');
54
- }
55
- }
56
- function validateRequest(model, expiresAt, options, disposed) {
57
- if (disposed)
58
- throw new Error('assistant-evaluation: Super Relay benchmark adapter is disposed');
59
- assertCurrentContract(expiresAt);
60
- if (options.provider !== model.provider || options.model !== model.model || options.maxTokens !== model.maxOutputTokens
61
- || options.temperature !== (model.temperature ?? undefined))
62
- throw new Error('assistant-evaluation: Super Relay benchmark request drift');
63
- }
64
- function validateProvider(model, expiresAt, requestedProvider, disposed) {
65
- if (disposed)
66
- throw new Error('assistant-evaluation: Super Relay benchmark adapter is disposed');
67
- assertCurrentContract(expiresAt);
68
- if (requestedProvider !== model.provider)
69
- throw new Error('assistant-evaluation: Super Relay benchmark request drift');
70
- }
71
- function validateRoute(model, expiresAt, requestedProvider, requestedModel, disposed) {
72
- validateProvider(model, expiresAt, requestedProvider, disposed);
73
- if (requestedModel !== model.model)
74
- throw new Error('assistant-evaluation: Super Relay benchmark request drift');
75
- }
76
- class FrozenSuperRelayAdapter extends LlmAdapter {
77
- model;
78
- expiresAt;
79
- production;
80
- #disposed = false;
81
- constructor(model, expiresAt, production) {
82
- super();
83
- this.model = model;
84
- this.expiresAt = expiresAt;
85
- this.production = production;
86
- }
87
- async *stream(options) {
88
- validateRequest(this.model, this.expiresAt, options, this.#disposed);
89
- for await (const chunk of this.production.stream(options))
90
- yield chunk;
91
- }
92
- providerInfo(requestedProvider) {
93
- validateProvider(this.model, this.expiresAt, requestedProvider, this.#disposed);
94
- return this.production.providerInfo(requestedProvider);
95
- }
96
- providerRetryPolicy(requestedProvider) {
97
- validateProvider(this.model, this.expiresAt, requestedProvider, this.#disposed);
98
- return this.production.providerRetryPolicy(requestedProvider);
99
- }
100
- async listModels(requestedProvider) {
101
- validateProvider(this.model, this.expiresAt, requestedProvider, this.#disposed);
102
- const available = await this.production.listModels(requestedProvider);
103
- return available.filter(candidate => candidate.id === this.model.model);
104
- }
105
- async resolveModel(requestedProvider, requestedModel, signal) {
106
- validateRoute(this.model, this.expiresAt, requestedProvider, requestedModel, this.#disposed);
107
- return this.production.resolveModel(requestedProvider, requestedModel, signal);
108
- }
109
- dispose() {
110
- if (this.#disposed)
111
- return;
112
- this.#disposed = true;
113
- this.production.shutdown();
114
- }
115
- }
116
- /** Freeze the transport deadline before creating any source or comparison cell. */
117
- export function createSuperRelayNativeAdapterFactory(options = {}) {
118
- if (options === null || typeof options !== 'object' || ![Object.prototype, null].includes(Object.getPrototypeOf(options))) {
119
- throw new Error('assistant-evaluation: invalid Super Relay adapter options');
120
- }
121
- for (const key of Reflect.ownKeys(options)) {
122
- const descriptor = Object.getOwnPropertyDescriptor(options, key);
123
- if (key !== 'timeoutMs' || !('value' in descriptor))
124
- throw new Error('assistant-evaluation: invalid Super Relay adapter options');
125
- }
126
- const configuredTimeout = Object.getOwnPropertyDescriptor(options, 'timeoutMs')?.value;
127
- const timeoutMs = configuredTimeout === undefined ? 60_000 : configuredTimeout;
128
- if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1_000 || timeoutMs > 300_000) {
129
- throw new Error('assistant-evaluation: invalid Super Relay request timeout');
130
- }
131
- return (model, environment) => createConfiguredAdapter(model, environment, timeoutMs);
132
- }
133
- /** Default CLI binding retains the production 60-second request deadline. */
134
- export async function createNativeAdapter(model, environment) {
135
- return createConfiguredAdapter(model, environment, 60_000);
136
- }
137
- async function createConfiguredAdapter(model, environment, timeoutMs) {
138
- // 变量 import 避免 evaluation→super-relay-budget 的声明期构建环;真实包由操作者
139
- // 在跑 run 前安装并经 `dsh-benchmark doctor` 探测,工程层/类型层不依赖其已链接。
140
- // moduleId 显式宽化为 string,使 tsc 不做字面量模块解析(包尚未链接时不报 TS2307),
141
- // 运行时形态由上面的 runtime() 结构校验严格把关。
142
- const moduleId = packageName;
143
- const relay = runtime(await import(__rewriteRelativeImportExtension(moduleId)));
144
- validateModel(model);
145
- assertCurrentContract(relay.SUPER_RELAY_RESPONSES_CONTRACT.expiresAt);
146
- const frozenModel = Object.freeze({ ...model });
147
- // 请求时限由可信 Host 在工厂创建前固定;4MiB 响应上限仍取生产默认值。
148
- // 此处不暴露任何 fetch/now/endpoint/
149
- // 环境覆写,也绝不接受明文 key,凭证只经 dsh-credentials 按 SUPER_RELAY_API_KEY 引用解析。
150
- // 其余配置项由生产 normalizeConfig 补默认,enabled 仅在 cordis
151
- // apply 入口门控、adapter 本身不读取。
152
- const production = new relay.SuperRelayGoalMeteredAdapter({ defaultMaxTokens: frozenModel.maxOutputTokens, timeoutMs }, {
153
- credentialResolver: () => environment.ctx.get('credentials'),
154
- });
155
- if (!(production instanceof LlmAdapter) || typeof production.shutdown !== 'function')
156
- throw new Error('assistant-evaluation: Super Relay adapter runtime is incompatible');
157
- const adapter = new FrozenSuperRelayAdapter(frozenModel, relay.SUPER_RELAY_RESPONSES_CONTRACT.expiresAt, production);
158
- let disposed = false;
159
- return Object.freeze({
160
- adapter,
161
- inputTokenUpperBound(options) {
162
- validateRequest(frozenModel, relay.SUPER_RELAY_RESPONSES_CONTRACT.expiresAt, options, disposed);
163
- return relay.SUPER_RELAY_INPUT_TOKEN_UPPER_BOUND;
164
- },
165
- dispose() {
166
- if (disposed)
167
- return;
168
- disposed = true;
169
- adapter.dispose();
170
- },
171
- });
172
- }
173
- //# sourceMappingURL=super-relay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"super-relay.js","sourceRoot":"","sources":["../../src/benchmark/super-relay.ts"],"names":[],"mappings":"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"}