@cogenta/agents 0.4.0 → 0.5.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/dist/agents/orchestrator.d.ts +3 -0
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +1 -0
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/progress/job-store.d.ts +41 -0
- package/dist/progress/job-store.d.ts.map +1 -0
- package/dist/progress/job-store.js +44 -0
- package/dist/progress/job-store.js.map +1 -0
- package/dist/progress/types.d.ts +21 -0
- package/dist/progress/types.d.ts.map +1 -0
- package/dist/progress/types.js +3 -0
- package/dist/progress/types.js.map +1 -0
- package/dist/providers/anthropic.d.ts +9 -4
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +10 -10
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/defaults.d.ts +41 -12
- package/dist/providers/defaults.d.ts.map +1 -1
- package/dist/providers/defaults.js +70 -13
- package/dist/providers/defaults.js.map +1 -1
- package/dist/providers/google.d.ts +7 -3
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +9 -10
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/openai.d.ts +7 -3
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +9 -10
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/registry.d.ts +8 -2
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +18 -4
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/request-signal.d.ts +12 -17
- package/dist/providers/request-signal.d.ts.map +1 -1
- package/dist/providers/request-signal.js +12 -17
- package/dist/providers/request-signal.js.map +1 -1
- package/dist/providers/types.d.ts +19 -10
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/runtime/loop.d.ts.map +1 -1
- package/dist/runtime/loop.js +13 -6
- package/dist/runtime/loop.js.map +1 -1
- package/dist/runtime/retry.d.ts +2 -0
- package/dist/runtime/retry.d.ts.map +1 -1
- package/dist/runtime/retry.js +1 -0
- package/dist/runtime/retry.js.map +1 -1
- package/dist/runtime/types.d.ts +12 -2
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/site-plan/analyse-brief.d.ts.map +1 -1
- package/dist/site-plan/analyse-brief.js +1 -3
- package/dist/site-plan/analyse-brief.js.map +1 -1
- package/dist/site-plan/content-model.d.ts.map +1 -1
- package/dist/site-plan/content-model.js +1 -3
- package/dist/site-plan/content-model.js.map +1 -1
- package/dist/site-plan/demo-content.d.ts.map +1 -1
- package/dist/site-plan/demo-content.js +1 -3
- package/dist/site-plan/demo-content.js.map +1 -1
- package/dist/site-plan/skin-candidates.d.ts +6 -1
- package/dist/site-plan/skin-candidates.d.ts.map +1 -1
- package/dist/site-plan/skin-candidates.js +9 -0
- package/dist/site-plan/skin-candidates.js.map +1 -1
- package/dist/skin/generate.d.ts +12 -1
- package/dist/skin/generate.d.ts.map +1 -1
- package/dist/skin/generate.js +28 -12
- package/dist/skin/generate.js.map +1 -1
- package/dist/theme-creator/propose-theme.d.ts +12 -6
- package/dist/theme-creator/propose-theme.d.ts.map +1 -1
- package/dist/theme-creator/propose-theme.js +9 -3
- package/dist/theme-creator/propose-theme.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,15 +1,72 @@
|
|
|
1
|
+
import { CogentaError } from '@cogenta/core';
|
|
2
|
+
import { SITE_SETTINGS_SITE_SCOPE, siteSettingByKey } from '@cogenta/schema';
|
|
3
|
+
const MAX_OUTPUT_TOKENS_KEY = 'assistant.defaultMaxOutputTokens';
|
|
4
|
+
const REQUEST_TIMEOUT_SECONDS_KEY = 'assistant.defaultRequestTimeoutSeconds';
|
|
5
|
+
const MAX_CORRECTION_ATTEMPTS_KEY = 'assistant.defaultMaxCorrectionAttempts';
|
|
1
6
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
* The registry's own declared default for a numeric setting
|
|
8
|
+
* (`SITE_SETTINGS_REGISTRY`'s own `defaultValue`) — the single place either
|
|
9
|
+
* reader below gets a fallback number from, never a second copy kept in this
|
|
10
|
+
* package. Throwing here is not reachable in practice (the three keys this
|
|
11
|
+
* file reads are declared with a numeric `defaultValue` in
|
|
12
|
+
* `site-settings-registry.ts`); it exists because neither caller has any way
|
|
13
|
+
* to prove that from its own call site, and a silent fallback to some other
|
|
14
|
+
* literal here would be exactly the hardcoding this file exists to avoid.
|
|
15
|
+
*/
|
|
16
|
+
function registryDefaultValue(key) {
|
|
17
|
+
const definition = siteSettingByKey(key);
|
|
18
|
+
if (definition !== undefined && typeof definition.defaultValue === 'number') {
|
|
19
|
+
return definition.defaultValue;
|
|
20
|
+
}
|
|
21
|
+
throw new CogentaError({
|
|
22
|
+
code: 'SITE_SETTING_INVALID',
|
|
23
|
+
message: `Site setting "${key}" has no numeric default registered.`,
|
|
24
|
+
hint: 'This is a registry bug — check the entry in SITE_SETTINGS_REGISTRY.',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A row exists only once an admin has actually written this key
|
|
29
|
+
* (`SiteSettingsStore`'s own contract) — absent means "use the registry's
|
|
30
|
+
* own `defaultValue`" (`registryDefaultValue` above).
|
|
31
|
+
*/
|
|
32
|
+
async function resolveNumberSetting(store, key) {
|
|
33
|
+
const row = await store.get(key, SITE_SETTINGS_SITE_SCOPE);
|
|
34
|
+
return row !== null && typeof row.value === 'number' ? row.value : registryDefaultValue(key);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Reads the three `assistant.*` site settings and turns them into the shape
|
|
38
|
+
* every resolved provider client needs — the CLI wiring layer's own
|
|
39
|
+
* responsibility (`cogenta serve`, `packages/cli/src/commands/agent-runtime
|
|
40
|
+
* .ts`), exposed here so it never has to re-derive the key names or the
|
|
41
|
+
* seconds-to-milliseconds conversion itself.
|
|
42
|
+
*/
|
|
43
|
+
export async function resolveProviderTuningDefaults(store) {
|
|
44
|
+
const [maxOutputTokens, requestTimeoutSeconds, maxCorrectionAttempts] = await Promise.all([
|
|
45
|
+
resolveNumberSetting(store, MAX_OUTPUT_TOKENS_KEY),
|
|
46
|
+
resolveNumberSetting(store, REQUEST_TIMEOUT_SECONDS_KEY),
|
|
47
|
+
resolveNumberSetting(store, MAX_CORRECTION_ATTEMPTS_KEY),
|
|
48
|
+
]);
|
|
49
|
+
return {
|
|
50
|
+
maxOutputTokens,
|
|
51
|
+
requestTimeoutMs: requestTimeoutSeconds * 1000,
|
|
52
|
+
maxCorrectionAttempts,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The registry's own defaults with no live per-site override consulted at
|
|
57
|
+
* all — for the one caller with no `SiteSettingsStore` to read from in the
|
|
58
|
+
* first place: `cogenta skin generate`, a one-shot CLI command that works
|
|
59
|
+
* straight off `cogenta.config.mjs` and already bypasses every other
|
|
60
|
+
* admin-configured override (`ProviderConfigStore`'s own per-provider
|
|
61
|
+
* tuning included) rather than a running site's database. Still the single
|
|
62
|
+
* declared number (`SITE_SETTINGS_REGISTRY`'s own `defaultValue`), never a
|
|
63
|
+
* second constant duplicated for this one caller.
|
|
64
|
+
*/
|
|
65
|
+
export function staticProviderTuningDefaults() {
|
|
66
|
+
return {
|
|
67
|
+
maxOutputTokens: registryDefaultValue(MAX_OUTPUT_TOKENS_KEY),
|
|
68
|
+
requestTimeoutMs: registryDefaultValue(REQUEST_TIMEOUT_SECONDS_KEY) * 1000,
|
|
69
|
+
maxCorrectionAttempts: registryDefaultValue(MAX_CORRECTION_ATTEMPTS_KEY),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
15
72
|
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/providers/defaults.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/providers/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAA0B,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AA0BpG,MAAM,qBAAqB,GAAG,kCAAkC,CAAA;AAChE,MAAM,2BAA2B,GAAG,wCAAwC,CAAA;AAC5E,MAAM,2BAA2B,GAAG,wCAAwC,CAAA;AAE5E;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,UAAU,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC5E,OAAO,UAAU,CAAC,YAAY,CAAA;IAChC,CAAC;IACD,MAAM,IAAI,YAAY,CAAC;QACrB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,iBAAiB,GAAG,sCAAsC;QACnE,IAAI,EAAE,qEAAqE;KAC5E,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CAAC,KAAwB,EAAE,GAAW;IACvE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAA;IAC1D,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;AAC9F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,KAAwB;IAExB,MAAM,CAAC,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxF,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC;QAClD,oBAAoB,CAAC,KAAK,EAAE,2BAA2B,CAAC;QACxD,oBAAoB,CAAC,KAAK,EAAE,2BAA2B,CAAC;KACzD,CAAC,CAAA;IACF,OAAO;QACL,eAAe;QACf,gBAAgB,EAAE,qBAAqB,GAAG,IAAI;QAC9C,qBAAqB;KACtB,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,eAAe,EAAE,oBAAoB,CAAC,qBAAqB,CAAC;QAC5D,gBAAgB,EAAE,oBAAoB,CAAC,2BAA2B,CAAC,GAAG,IAAI;QAC1E,qBAAqB,EAAE,oBAAoB,CAAC,2BAA2B,CAAC;KACzE,CAAA;AACH,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ProviderTuningDefaults } from './defaults.js';
|
|
1
2
|
import type { ChatRequest, ChatResponse, ProviderClient } from './types.js';
|
|
2
3
|
type GooglePart = {
|
|
3
4
|
readonly text: string;
|
|
@@ -54,10 +55,11 @@ interface GoogleResponseBody {
|
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* Pure — no network. `fallbackMaxTokens` is the client's own resolved
|
|
57
|
-
* `maxOutputTokens` (the admin's per-provider value, or the
|
|
58
|
-
* — applied only when `request.maxTokens` itself is absent.
|
|
58
|
+
* `maxOutputTokens` (the admin's per-provider value, or the site-wide
|
|
59
|
+
* default) — applied only when `request.maxTokens` itself is absent.
|
|
60
|
+
* Required, not defaulted — see `buildAnthropicRequest`'s own doc comment.
|
|
59
61
|
*/
|
|
60
|
-
export declare function buildGoogleRequest(request: ChatRequest, fallbackMaxTokens
|
|
62
|
+
export declare function buildGoogleRequest(request: ChatRequest, fallbackMaxTokens: number): GoogleRequestBody;
|
|
61
63
|
/** Pure — no network. */
|
|
62
64
|
export declare function parseGoogleResponse(body: GoogleResponseBody, decodeToolName?: (wire: string) => string): ChatResponse;
|
|
63
65
|
export interface GoogleClientConfig {
|
|
@@ -69,6 +71,8 @@ export interface GoogleClientConfig {
|
|
|
69
71
|
readonly maxOutputTokens?: number;
|
|
70
72
|
readonly requestTimeoutMs?: number;
|
|
71
73
|
readonly maxCorrectionAttempts?: number;
|
|
74
|
+
/** The site-wide floor (`resolveProviderTuningDefaults`, `assistant.*` site settings) — always required, never a built-in constant. */
|
|
75
|
+
readonly defaults: ProviderTuningDefaults;
|
|
72
76
|
}
|
|
73
77
|
/** API key injected at the runtime boundary — never in a prompt or tool input (rule R7). */
|
|
74
78
|
export declare function createGoogleClient(config: GoogleClientConfig): ProviderClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/google.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { CogentaError } from '@cogenta/core';
|
|
2
2
|
import { textOnlyContent } from './content-parts.js';
|
|
3
|
-
import {
|
|
4
|
-
import { DEFAULT_PROVIDER_REQUEST_TIMEOUT_MS, requestSignalWithTimeout } from './request-signal.js';
|
|
3
|
+
import { requestSignalWithTimeout } from './request-signal.js';
|
|
5
4
|
import { createToolNameDecoder, encodeToolName } from './tool-names.js';
|
|
6
5
|
const DEFAULT_BASE_URL = 'https://generativelanguage.googleapis.com/v1beta/models';
|
|
7
6
|
const STOP_REASON = {
|
|
@@ -61,10 +60,11 @@ function toGoogleContent(message) {
|
|
|
61
60
|
}
|
|
62
61
|
/**
|
|
63
62
|
* Pure — no network. `fallbackMaxTokens` is the client's own resolved
|
|
64
|
-
* `maxOutputTokens` (the admin's per-provider value, or the
|
|
65
|
-
* — applied only when `request.maxTokens` itself is absent.
|
|
63
|
+
* `maxOutputTokens` (the admin's per-provider value, or the site-wide
|
|
64
|
+
* default) — applied only when `request.maxTokens` itself is absent.
|
|
65
|
+
* Required, not defaulted — see `buildAnthropicRequest`'s own doc comment.
|
|
66
66
|
*/
|
|
67
|
-
export function buildGoogleRequest(request, fallbackMaxTokens
|
|
67
|
+
export function buildGoogleRequest(request, fallbackMaxTokens) {
|
|
68
68
|
return {
|
|
69
69
|
contents: request.messages.map(toGoogleContent),
|
|
70
70
|
...(request.system === undefined
|
|
@@ -129,17 +129,16 @@ export function createGoogleClient(config) {
|
|
|
129
129
|
const doFetch = config.fetchImpl ?? fetch;
|
|
130
130
|
const base = config.baseUrl ?? DEFAULT_BASE_URL;
|
|
131
131
|
const url = `${base}/${config.model}:generateContent?key=${config.apiKey}`;
|
|
132
|
-
const maxOutputTokens = config.maxOutputTokens ??
|
|
133
|
-
const requestTimeoutMs = config.requestTimeoutMs ??
|
|
132
|
+
const maxOutputTokens = config.maxOutputTokens ?? config.defaults.maxOutputTokens;
|
|
133
|
+
const requestTimeoutMs = config.requestTimeoutMs ?? config.defaults.requestTimeoutMs;
|
|
134
|
+
const maxCorrectionAttempts = config.maxCorrectionAttempts ?? config.defaults.maxCorrectionAttempts;
|
|
134
135
|
return {
|
|
135
136
|
name: 'google',
|
|
136
137
|
model: config.model,
|
|
137
138
|
supportsVision: true,
|
|
138
139
|
maxOutputTokens,
|
|
139
140
|
requestTimeoutMs,
|
|
140
|
-
|
|
141
|
-
? {}
|
|
142
|
-
: { maxCorrectionAttempts: config.maxCorrectionAttempts }),
|
|
141
|
+
maxCorrectionAttempts,
|
|
143
142
|
async chat(request, options) {
|
|
144
143
|
const signal = requestSignalWithTimeout(options?.signal, requestTimeoutMs);
|
|
145
144
|
const response = await doFetch(url, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ProviderTuningDefaults } from './defaults.js';
|
|
1
2
|
import type { ChatRequest, ChatResponse, ProviderClient } from './types.js';
|
|
2
3
|
interface OpenAiToolCall {
|
|
3
4
|
readonly id: string;
|
|
@@ -51,10 +52,11 @@ interface OpenAiResponseBody {
|
|
|
51
52
|
}
|
|
52
53
|
/**
|
|
53
54
|
* Pure — no network. `fallbackMaxTokens` is the client's own resolved
|
|
54
|
-
* `maxOutputTokens` (the admin's per-provider value, or the
|
|
55
|
-
* — applied only when `request.maxTokens` itself is absent.
|
|
55
|
+
* `maxOutputTokens` (the admin's per-provider value, or the site-wide
|
|
56
|
+
* default) — applied only when `request.maxTokens` itself is absent.
|
|
57
|
+
* Required, not defaulted — see `buildAnthropicRequest`'s own doc comment.
|
|
56
58
|
*/
|
|
57
|
-
export declare function buildOpenAiRequest(request: ChatRequest, fallbackMaxTokens
|
|
59
|
+
export declare function buildOpenAiRequest(request: ChatRequest, fallbackMaxTokens: number): OpenAiRequestBody;
|
|
58
60
|
/** Pure — no network. */
|
|
59
61
|
export declare function parseOpenAiResponse(body: OpenAiResponseBody, decodeToolName?: (wire: string) => string): ChatResponse;
|
|
60
62
|
export interface OpenAiClientConfig {
|
|
@@ -77,6 +79,8 @@ export interface OpenAiClientConfig {
|
|
|
77
79
|
readonly maxOutputTokens?: number;
|
|
78
80
|
readonly requestTimeoutMs?: number;
|
|
79
81
|
readonly maxCorrectionAttempts?: number;
|
|
82
|
+
/** The site-wide floor (`resolveProviderTuningDefaults`, `assistant.*` site settings) — always required, never a built-in constant. */
|
|
83
|
+
readonly defaults: ProviderTuningDefaults;
|
|
80
84
|
}
|
|
81
85
|
/** API key injected at the runtime boundary — never in a prompt or tool input (rule R7). */
|
|
82
86
|
export declare function createOpenAiClient(config: OpenAiClientConfig): ProviderClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/openai.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { CogentaError } from '@cogenta/core';
|
|
2
2
|
import { textOnlyContent } from './content-parts.js';
|
|
3
|
-
import {
|
|
4
|
-
import { DEFAULT_PROVIDER_REQUEST_TIMEOUT_MS, requestSignalWithTimeout } from './request-signal.js';
|
|
3
|
+
import { requestSignalWithTimeout } from './request-signal.js';
|
|
5
4
|
import { createToolNameDecoder, encodeToolName } from './tool-names.js';
|
|
6
5
|
const DEFAULT_BASE_URL = 'https://api.openai.com/v1/chat/completions';
|
|
7
6
|
const STOP_REASON = {
|
|
@@ -61,10 +60,11 @@ function toOpenAiMessage(message) {
|
|
|
61
60
|
}
|
|
62
61
|
/**
|
|
63
62
|
* Pure — no network. `fallbackMaxTokens` is the client's own resolved
|
|
64
|
-
* `maxOutputTokens` (the admin's per-provider value, or the
|
|
65
|
-
* — applied only when `request.maxTokens` itself is absent.
|
|
63
|
+
* `maxOutputTokens` (the admin's per-provider value, or the site-wide
|
|
64
|
+
* default) — applied only when `request.maxTokens` itself is absent.
|
|
65
|
+
* Required, not defaulted — see `buildAnthropicRequest`'s own doc comment.
|
|
66
66
|
*/
|
|
67
|
-
export function buildOpenAiRequest(request, fallbackMaxTokens
|
|
67
|
+
export function buildOpenAiRequest(request, fallbackMaxTokens) {
|
|
68
68
|
const messages = [];
|
|
69
69
|
if (request.system !== undefined) {
|
|
70
70
|
messages.push({ role: 'system', content: request.system });
|
|
@@ -167,17 +167,16 @@ export function createOpenAiClient(config) {
|
|
|
167
167
|
const doFetch = config.fetchImpl ?? fetch;
|
|
168
168
|
const url = config.baseUrl ?? DEFAULT_BASE_URL;
|
|
169
169
|
const name = config.name ?? 'openai';
|
|
170
|
-
const maxOutputTokens = config.maxOutputTokens ??
|
|
171
|
-
const requestTimeoutMs = config.requestTimeoutMs ??
|
|
170
|
+
const maxOutputTokens = config.maxOutputTokens ?? config.defaults.maxOutputTokens;
|
|
171
|
+
const requestTimeoutMs = config.requestTimeoutMs ?? config.defaults.requestTimeoutMs;
|
|
172
|
+
const maxCorrectionAttempts = config.maxCorrectionAttempts ?? config.defaults.maxCorrectionAttempts;
|
|
172
173
|
return {
|
|
173
174
|
name,
|
|
174
175
|
model: config.model,
|
|
175
176
|
supportsVision: true,
|
|
176
177
|
maxOutputTokens,
|
|
177
178
|
requestTimeoutMs,
|
|
178
|
-
|
|
179
|
-
? {}
|
|
180
|
-
: { maxCorrectionAttempts: config.maxCorrectionAttempts }),
|
|
179
|
+
maxCorrectionAttempts,
|
|
181
180
|
async chat(request, options) {
|
|
182
181
|
const signal = requestSignalWithTimeout(options?.signal, requestTimeoutMs);
|
|
183
182
|
const response = await doFetch(url, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ProviderTuningDefaults } from './defaults.js';
|
|
1
2
|
import type { ProviderClient } from './types.js';
|
|
2
3
|
/**
|
|
3
4
|
* Fiche 56: `provider` used to be a closed 3-literal union
|
|
@@ -21,7 +22,7 @@ export interface ProviderEntryConfig {
|
|
|
21
22
|
* `buildClient` below).
|
|
22
23
|
*/
|
|
23
24
|
readonly baseUrl?: string;
|
|
24
|
-
/** See `ProviderClient.maxOutputTokens` — the admin's value for this provider, or absent
|
|
25
|
+
/** See `ProviderClient.maxOutputTokens` — the admin's value for this provider, or absent to fall back to the registry's own `defaults`. */
|
|
25
26
|
readonly maxOutputTokens?: number;
|
|
26
27
|
/** See `ProviderClient.requestTimeoutMs`. */
|
|
27
28
|
readonly requestTimeoutMs?: number;
|
|
@@ -34,8 +35,13 @@ export type ProviderRegistryConfig = Readonly<Record<string, ProviderEntryConfig
|
|
|
34
35
|
* simply has an empty registry, which is exactly what rule R2 requires ("le
|
|
35
36
|
* CMS fonctionne sans IA"): nothing here fails to construct, `get()` is what
|
|
36
37
|
* refuses, and only once an agent actually tries to run.
|
|
38
|
+
*
|
|
39
|
+
* `defaults` is the site-wide tuning floor (`resolveProviderTuningDefaults`,
|
|
40
|
+
* `assistant.*` site settings) every entry's own per-provider override falls
|
|
41
|
+
* back to — required, so no adapter this registry builds can ever fall back
|
|
42
|
+
* to a hardcoded constant instead.
|
|
37
43
|
*/
|
|
38
|
-
export declare function createProviderRegistry(config: ProviderRegistryConfig): {
|
|
44
|
+
export declare function createProviderRegistry(config: ProviderRegistryConfig, defaults: ProviderTuningDefaults): {
|
|
39
45
|
readonly get: (name: string) => ProviderClient;
|
|
40
46
|
readonly has: (name: string) => boolean;
|
|
41
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,2IAA2I;IAC3I,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,6CAA6C;IAC7C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,kDAAkD;IAClD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CACxC;AAED,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAA;AA+DlF;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,sBAAsB,GAC/B;IACD,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,CAAA;IAC9C,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CACxC,CAoBA"}
|
|
@@ -10,7 +10,7 @@ import { createOpenAiClient } from './openai.js';
|
|
|
10
10
|
* endpoint" means structurally, not a separate `custom: true` flag to keep
|
|
11
11
|
* in sync with this lookup.
|
|
12
12
|
*/
|
|
13
|
-
function buildClient(name, entry) {
|
|
13
|
+
function buildClient(name, entry, defaults) {
|
|
14
14
|
const catalogEntry = findProviderCatalogEntry(name);
|
|
15
15
|
const tuning = {
|
|
16
16
|
...(entry.maxOutputTokens === undefined ? {} : { maxOutputTokens: entry.maxOutputTokens }),
|
|
@@ -25,6 +25,7 @@ function buildClient(name, entry) {
|
|
|
25
25
|
model: entry.model,
|
|
26
26
|
...(entry.baseUrl === undefined ? {} : { baseUrl: entry.baseUrl }),
|
|
27
27
|
...tuning,
|
|
28
|
+
defaults,
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
31
|
if (catalogEntry?.wireFormat === 'google') {
|
|
@@ -33,6 +34,7 @@ function buildClient(name, entry) {
|
|
|
33
34
|
model: entry.model,
|
|
34
35
|
...(entry.baseUrl === undefined ? {} : { baseUrl: entry.baseUrl }),
|
|
35
36
|
...tuning,
|
|
37
|
+
defaults,
|
|
36
38
|
});
|
|
37
39
|
}
|
|
38
40
|
// `wireFormat: 'openai-compatible'` (OpenAI itself, OpenRouter, DeepSeek,
|
|
@@ -46,18 +48,30 @@ function buildClient(name, entry) {
|
|
|
46
48
|
hint: 'Set a baseUrl for a custom OpenAI-compatible endpoint, or use a catalog provider id.',
|
|
47
49
|
});
|
|
48
50
|
}
|
|
49
|
-
return createOpenAiClient({
|
|
51
|
+
return createOpenAiClient({
|
|
52
|
+
apiKey: entry.apiKey,
|
|
53
|
+
model: entry.model,
|
|
54
|
+
baseUrl,
|
|
55
|
+
name,
|
|
56
|
+
...tuning,
|
|
57
|
+
defaults,
|
|
58
|
+
});
|
|
50
59
|
}
|
|
51
60
|
/**
|
|
52
61
|
* One client per configured vendor — a site with no LLM provider configured
|
|
53
62
|
* simply has an empty registry, which is exactly what rule R2 requires ("le
|
|
54
63
|
* CMS fonctionne sans IA"): nothing here fails to construct, `get()` is what
|
|
55
64
|
* refuses, and only once an agent actually tries to run.
|
|
65
|
+
*
|
|
66
|
+
* `defaults` is the site-wide tuning floor (`resolveProviderTuningDefaults`,
|
|
67
|
+
* `assistant.*` site settings) every entry's own per-provider override falls
|
|
68
|
+
* back to — required, so no adapter this registry builds can ever fall back
|
|
69
|
+
* to a hardcoded constant instead.
|
|
56
70
|
*/
|
|
57
|
-
export function createProviderRegistry(config) {
|
|
71
|
+
export function createProviderRegistry(config, defaults) {
|
|
58
72
|
const clients = new Map();
|
|
59
73
|
for (const [name, entry] of Object.entries(config)) {
|
|
60
|
-
clients.set(name, buildClient(name, entry));
|
|
74
|
+
clients.set(name, buildClient(name, entry, defaults));
|
|
61
75
|
}
|
|
62
76
|
return {
|
|
63
77
|
has: (name) => clients.has(name),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAoChD;;;;;;GAMG;AACH,SAAS,WAAW,CAClB,IAAY,EACZ,KAA0B,EAC1B,QAAgC;IAEhC,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1F,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC7F,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC;KAC5D,CAAA;IAED,IAAI,YAAY,EAAE,UAAU,KAAK,WAAW,EAAE,CAAC;QAC7C,OAAO,qBAAqB,CAAC;YAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAClE,GAAG,MAAM;YACT,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,YAAY,EAAE,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,kBAAkB,CAAC;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAClE,GAAG,MAAM;YACT,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,0EAA0E;IAC1E,wEAAwE;IACxE,0DAA0D;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE,cAAc,CAAA;IAC7D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,YAAY,CAAC;YACrB,IAAI,EAAE,mCAAmC;YACzC,OAAO,EAAE,IAAI,IAAI,+DAA+D;YAChF,IAAI,EAAE,sFAAsF;SAC7F,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,kBAAkB,CAAC;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO;QACP,IAAI;QACJ,GAAG,MAAM;QACT,QAAQ;KACT,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAA8B,EAC9B,QAAgC;IAKhC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAA;IACjD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,OAAO;QACL,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAChC,GAAG,CAAC,IAAI;YACN,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC;oBACrB,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,sBAAsB,IAAI,gCAAgC;oBACnE,IAAI,EAAE,sEAAsE;iBAC7E,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Every default-`false` timeout: none of the three adapters ever bounded a
|
|
3
|
-
* model call on their own — `ChatOptions.signal` only cancels when a caller
|
|
4
|
-
* (the run loop's own cancellation, task 2) supplies one, and the run loop
|
|
5
|
-
* never does for a single chat turn triggered by `POST
|
|
6
|
-
* .../conversation/messages`. Reproduced live: a stalled DeepSeek response
|
|
7
|
-
* left that request (and the browser tab awaiting it) hung for minutes with
|
|
8
|
-
* no error, nothing in the server log, and no way to recover short of
|
|
9
|
-
* killing the process. This is the floor every adapter now falls back to
|
|
10
|
-
* when the caller supplies no signal of its own — a stalled vendor fails
|
|
11
|
-
* with a named error instead of hanging the caller forever.
|
|
12
|
-
*/
|
|
13
|
-
export declare const DEFAULT_PROVIDER_REQUEST_TIMEOUT_MS = 180000;
|
|
14
1
|
/**
|
|
15
2
|
* The caller's own signal (if any) combined with a timeout floor, so a
|
|
16
3
|
* cancellation the run loop already wants (budget exceeded, kill switch)
|
|
17
4
|
* still works exactly as before, and an otherwise-uncancelled call still
|
|
18
|
-
* gives up eventually.
|
|
19
|
-
*
|
|
20
|
-
*
|
|
5
|
+
* gives up eventually.
|
|
6
|
+
*
|
|
7
|
+
* `timeoutMs` is required — every real caller (the three provider adapters)
|
|
8
|
+
* always resolves a concrete `requestTimeoutMs` before calling this
|
|
9
|
+
* (`ProviderClient.requestTimeoutMs`, itself always a number: the admin's
|
|
10
|
+
* per-provider override or the site-wide `assistant.defaultRequestTimeoutSeconds`
|
|
11
|
+
* floor, `SITE_SETTINGS_REGISTRY` in `@cogenta/schema`). This function used
|
|
12
|
+
* to default it to a `DEFAULT_PROVIDER_REQUEST_TIMEOUT_MS` constant — fiche
|
|
13
|
+
* feedback: that hid a real site behaviour (what happens when a call to a
|
|
14
|
+
* stalled vendor never returns — reproduced live once, see the changeset
|
|
15
|
+
* history) behind a number nothing but this file's own comment ever named.
|
|
21
16
|
*/
|
|
22
|
-
export declare function requestSignalWithTimeout(callerSignal: AbortSignal | undefined, timeoutMs
|
|
17
|
+
export declare function requestSignalWithTimeout(callerSignal: AbortSignal | undefined, timeoutMs: number): AbortSignal;
|
|
23
18
|
//# sourceMappingURL=request-signal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-signal.d.ts","sourceRoot":"","sources":["../../src/providers/request-signal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"request-signal.d.ts","sourceRoot":"","sources":["../../src/providers/request-signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,WAAW,GAAG,SAAS,EACrC,SAAS,EAAE,MAAM,GAChB,WAAW,CAGb"}
|
|
@@ -1,25 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Every default-`false` timeout: none of the three adapters ever bounded a
|
|
3
|
-
* model call on their own — `ChatOptions.signal` only cancels when a caller
|
|
4
|
-
* (the run loop's own cancellation, task 2) supplies one, and the run loop
|
|
5
|
-
* never does for a single chat turn triggered by `POST
|
|
6
|
-
* .../conversation/messages`. Reproduced live: a stalled DeepSeek response
|
|
7
|
-
* left that request (and the browser tab awaiting it) hung for minutes with
|
|
8
|
-
* no error, nothing in the server log, and no way to recover short of
|
|
9
|
-
* killing the process. This is the floor every adapter now falls back to
|
|
10
|
-
* when the caller supplies no signal of its own — a stalled vendor fails
|
|
11
|
-
* with a named error instead of hanging the caller forever.
|
|
12
|
-
*/
|
|
13
|
-
export const DEFAULT_PROVIDER_REQUEST_TIMEOUT_MS = 180_000;
|
|
14
1
|
/**
|
|
15
2
|
* The caller's own signal (if any) combined with a timeout floor, so a
|
|
16
3
|
* cancellation the run loop already wants (budget exceeded, kill switch)
|
|
17
4
|
* still works exactly as before, and an otherwise-uncancelled call still
|
|
18
|
-
* gives up eventually.
|
|
19
|
-
*
|
|
20
|
-
*
|
|
5
|
+
* gives up eventually.
|
|
6
|
+
*
|
|
7
|
+
* `timeoutMs` is required — every real caller (the three provider adapters)
|
|
8
|
+
* always resolves a concrete `requestTimeoutMs` before calling this
|
|
9
|
+
* (`ProviderClient.requestTimeoutMs`, itself always a number: the admin's
|
|
10
|
+
* per-provider override or the site-wide `assistant.defaultRequestTimeoutSeconds`
|
|
11
|
+
* floor, `SITE_SETTINGS_REGISTRY` in `@cogenta/schema`). This function used
|
|
12
|
+
* to default it to a `DEFAULT_PROVIDER_REQUEST_TIMEOUT_MS` constant — fiche
|
|
13
|
+
* feedback: that hid a real site behaviour (what happens when a call to a
|
|
14
|
+
* stalled vendor never returns — reproduced live once, see the changeset
|
|
15
|
+
* history) behind a number nothing but this file's own comment ever named.
|
|
21
16
|
*/
|
|
22
|
-
export function requestSignalWithTimeout(callerSignal, timeoutMs
|
|
17
|
+
export function requestSignalWithTimeout(callerSignal, timeoutMs) {
|
|
23
18
|
const timeoutSignal = AbortSignal.timeout(timeoutMs);
|
|
24
19
|
return callerSignal === undefined ? timeoutSignal : AbortSignal.any([callerSignal, timeoutSignal]);
|
|
25
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-signal.js","sourceRoot":"","sources":["../../src/providers/request-signal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"request-signal.js","sourceRoot":"","sources":["../../src/providers/request-signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAqC,EACrC,SAAiB;IAEjB,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACpD,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAA;AACpG,CAAC"}
|
|
@@ -107,22 +107,28 @@ export interface ProviderClient {
|
|
|
107
107
|
* caller — a real, reproduced bug (`docs`/changeset history: DeepSeek's
|
|
108
108
|
* `deepseek-v4-flash` hitting `finish_reason: "length"` with empty
|
|
109
109
|
* content at a too-low hardcoded ceiling) is exactly what a per-call
|
|
110
|
-
* hardcoded number cannot adapt to.
|
|
110
|
+
* hardcoded number cannot adapt to.
|
|
111
|
+
*
|
|
112
|
+
* **Always a concrete number, never `undefined`** — fiche feedback: this
|
|
113
|
+
* used to be optional, with the site-wide floor a resolved adapter falls
|
|
114
|
+
* back to (when an admin never set a per-provider override) living as a
|
|
115
|
+
* TypeScript constant (`FALLBACK_MAX_OUTPUT_TOKENS`), invisible and
|
|
116
|
+
* unreachable from the admin. That floor is now itself a real site
|
|
117
|
+
* setting (`assistant.defaultMaxOutputTokens`, `SITE_SETTINGS_REGISTRY`
|
|
118
|
+
* in `@cogenta/schema`) a resolved adapter
|
|
111
119
|
* (`createAnthropicClient`/`createOpenAiClient`/`createGoogleClient`)
|
|
112
|
-
* always
|
|
113
|
-
*
|
|
120
|
+
* always merges in before ever returning a client — so a caller never
|
|
121
|
+
* needs its own `?? literal`, and the type now says so.
|
|
114
122
|
*/
|
|
115
|
-
readonly maxOutputTokens
|
|
123
|
+
readonly maxOutputTokens: number;
|
|
116
124
|
/**
|
|
117
125
|
* How many times a generate-validate-correct loop (skin generation, brief
|
|
118
126
|
* analysis, content-model/demo-content proposals, the base-theme choice)
|
|
119
127
|
* retries this client before giving up. Same reasoning as
|
|
120
|
-
* `maxOutputTokens
|
|
121
|
-
*
|
|
122
|
-
* the model, set by the admin who chose it — not a number a given call
|
|
123
|
-
* site should be guessing at.
|
|
128
|
+
* `maxOutputTokens`, site-wide floor included:
|
|
129
|
+
* `assistant.defaultMaxCorrectionAttempts` — always a concrete number.
|
|
124
130
|
*/
|
|
125
|
-
readonly maxCorrectionAttempts
|
|
131
|
+
readonly maxCorrectionAttempts: number;
|
|
126
132
|
/**
|
|
127
133
|
* How long a single HTTP call to this provider is allowed to run before
|
|
128
134
|
* being aborted — both the raw request timeout each adapter applies via
|
|
@@ -131,8 +137,11 @@ export interface ProviderClient {
|
|
|
131
137
|
* (often reasoning-tier) model genuinely needs more wall-clock time, not
|
|
132
138
|
* just more tokens; a fixed timeout picked without knowing which model an
|
|
133
139
|
* admin configured is the same class of mistake as a fixed token budget.
|
|
140
|
+
* Site-wide floor: `assistant.defaultRequestTimeoutSeconds` — always a
|
|
141
|
+
* concrete number, in milliseconds here (the setting itself is seconds,
|
|
142
|
+
* matching what the admin form shows).
|
|
134
143
|
*/
|
|
135
|
-
readonly requestTimeoutMs
|
|
144
|
+
readonly requestTimeoutMs: number;
|
|
136
145
|
chat(request: ChatRequest, options?: ChatOptions): Promise<ChatResponse>;
|
|
137
146
|
}
|
|
138
147
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAA;AAEpD,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAClD;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,aAAa,CAAA;AAE1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,eAAe,EAAE,CAAA;IACtD,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAChD,iEAAiE;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,oJAAoJ;AACpJ,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACxD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAA;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC5C;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,CAAA;AAEjF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC/C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,yHAAyH;IACzH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED,wHAAwH;AACxH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/runtime/loop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/runtime/loop.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,gBAAgB,EAAc,MAAM,uBAAuB,CAAA;AAGtF,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,SAAS,EAGT,eAAe,EAChB,MAAM,YAAY,CAAA;AAkBnB;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,OAAO,CAC3B,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,eAAe,CAAC,CAU1B;AAyND;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CAyC/E"}
|