@venturekit-pro/ai 0.0.12 → 0.0.14
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/cost/types.d.ts +10 -0
- package/dist/cost/types.d.ts.map +1 -1
- package/dist/cost-ledger/migrations/vk_ai_cost_0003_llm_models_default_timeout.sql +37 -0
- package/dist/image/google.d.ts +5 -5
- package/dist/image/google.d.ts.map +1 -1
- package/dist/image/google.js +11 -8
- package/dist/image/google.js.map +1 -1
- package/dist/model-catalog/crud.d.ts.map +1 -1
- package/dist/model-catalog/crud.js +5 -2
- package/dist/model-catalog/crud.js.map +1 -1
- package/dist/model-catalog/types.d.ts +8 -0
- package/dist/model-catalog/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/cost-ledger/migrations/vk_ai_cost_0003_llm_models_default_timeout.sql +37 -0
package/dist/cost/types.d.ts
CHANGED
|
@@ -68,6 +68,16 @@ export interface ModelDescriptor extends Partial<ChatModelPricing> {
|
|
|
68
68
|
* where the token budget covers internal reasoning + visible output.
|
|
69
69
|
*/
|
|
70
70
|
defaultMaxTokens?: number;
|
|
71
|
+
/**
|
|
72
|
+
* Call-time request timeout in milliseconds, fed straight into the
|
|
73
|
+
* chat adapter's `request.timeoutMs`. When unset the adapter's own
|
|
74
|
+
* built-in default applies (60s for chat). Reasoning models (GPT-5,
|
|
75
|
+
* o3) routinely exceed 60s on long-output tasks (e.g. a full-body SEO
|
|
76
|
+
* rewrite), so give them explicit headroom here — otherwise the
|
|
77
|
+
* adapter aborts the in-flight call and the caller sees a spurious
|
|
78
|
+
* "This operation was aborted" mid-run.
|
|
79
|
+
*/
|
|
80
|
+
defaultTimeoutMs?: number;
|
|
71
81
|
/** Context window size (input + output) in tokens. */
|
|
72
82
|
contextWindow?: number;
|
|
73
83
|
/** When the row was first introduced. */
|
package/dist/cost/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cost/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAElE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAgB,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAChE,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,QAAQ,EAAE,YAAY,CAAC;IACvB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,MAAM,EAAE,WAAW,CAAC;IACpB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cost/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAElE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAgB,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAChE,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,QAAQ,EAAE,YAAY,CAAC;IACvB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,MAAM,EAAE,WAAW,CAAC;IACpB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
-- @venturekit-pro/ai — add `default_timeout_ms` to the LLM catalog (SCHEMA ONLY).
|
|
2
|
+
--
|
|
3
|
+
-- Companion to `src/cost/types.ts:ModelDescriptor.defaultTimeoutMs` and the
|
|
4
|
+
-- `model-catalog` CRUD. Keeps the table mirroring the descriptor field-for-
|
|
5
|
+
-- field (see the shape-alignment note in vk_ai_cost_0002_llm_models.sql).
|
|
6
|
+
--
|
|
7
|
+
-- # Why
|
|
8
|
+
--
|
|
9
|
+
-- The chat adapters (`src/chat/*.ts`) bound each vendor call with an
|
|
10
|
+
-- `AbortController` timeout that defaults to 60s. Reasoning models
|
|
11
|
+
-- (GPT-5, o3) routinely take 40-60s+ on a long-output task — e.g. a
|
|
12
|
+
-- full-body SEO rewrite — so a call can tip past 60s and get aborted
|
|
13
|
+
-- mid-flight, surfacing to the caller as the opaque "This operation was
|
|
14
|
+
-- aborted". A per-model timeout lets the catalog give slow models the
|
|
15
|
+
-- headroom they need without loosening the tight default for fast ones.
|
|
16
|
+
--
|
|
17
|
+
-- The value flows: catalog row -> `ModelDescriptor.defaultTimeoutMs` ->
|
|
18
|
+
-- the chat request's `timeoutMs`. `NULL` means "use the adapter's
|
|
19
|
+
-- built-in default" (60s), so this column is additive and backwards-
|
|
20
|
+
-- compatible: existing rows keep their current behaviour until a value
|
|
21
|
+
-- is set.
|
|
22
|
+
--
|
|
23
|
+
-- # No seed
|
|
24
|
+
--
|
|
25
|
+
-- As with `default_max_tokens`, catalog CONTENTS are the consumer's
|
|
26
|
+
-- responsibility. Apps that run reasoning models ship their own seed
|
|
27
|
+
-- (the CMS: apps/api/db/migrations/zz_seed_llm_models_reasoning_timeout.sql).
|
|
28
|
+
--
|
|
29
|
+
-- # Idempotency
|
|
30
|
+
--
|
|
31
|
+
-- `ADD COLUMN IF NOT EXISTS` so a re-run (or a fresh DB that already got
|
|
32
|
+
-- the column via a future consolidated init) is a no-op. Migrations are
|
|
33
|
+
-- hash-locked (`__vk_migrations`), so this ships as a new additive file
|
|
34
|
+
-- rather than editing vk_ai_cost_0002_llm_models.sql.
|
|
35
|
+
|
|
36
|
+
ALTER TABLE vk_llm_models
|
|
37
|
+
ADD COLUMN IF NOT EXISTS default_timeout_ms integer;
|
package/dist/image/google.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Google Imagen adapter (Generative Language REST API).
|
|
3
3
|
*
|
|
4
|
-
* Talks to the `:
|
|
5
|
-
* `generativelanguage.googleapis.com` — the
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Talks to the `:predict` endpoint on
|
|
5
|
+
* `generativelanguage.googleapis.com` — the documented Imagen REST
|
|
6
|
+
* surface: an `{ instances, parameters }` request that returns
|
|
7
|
+
* `predictions[]`. We request one image per call and loop `count`
|
|
8
|
+
* times, collecting the bytes.
|
|
9
9
|
*
|
|
10
10
|
* Auth is via the `?key=` query param (the documented REST form for
|
|
11
11
|
* Generative Language API keys), escaped through `encodeURIComponent`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/image/google.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAEV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/image/google.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAEV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CA4DhC"}
|
package/dist/image/google.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Google Imagen adapter (Generative Language REST API).
|
|
3
3
|
*
|
|
4
|
-
* Talks to the `:
|
|
5
|
-
* `generativelanguage.googleapis.com` — the
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Talks to the `:predict` endpoint on
|
|
5
|
+
* `generativelanguage.googleapis.com` — the documented Imagen REST
|
|
6
|
+
* surface: an `{ instances, parameters }` request that returns
|
|
7
|
+
* `predictions[]`. We request one image per call and loop `count`
|
|
8
|
+
* times, collecting the bytes.
|
|
9
9
|
*
|
|
10
10
|
* Auth is via the `?key=` query param (the documented REST form for
|
|
11
11
|
* Generative Language API keys), escaped through `encodeURIComponent`.
|
|
@@ -19,7 +19,7 @@ export async function generateWithGoogleImagen(config, request) {
|
|
|
19
19
|
// upper cap appropriate to its quota.
|
|
20
20
|
const count = Math.max(1, request.count ?? 1);
|
|
21
21
|
const aspectRatio = request.aspectRatio ?? '16:9';
|
|
22
|
-
const url = `${baseUrl}/${apiVersion}/models/${encodeURIComponent(request.model)}:
|
|
22
|
+
const url = `${baseUrl}/${apiVersion}/models/${encodeURIComponent(request.model)}:predict?key=${encodeURIComponent(config.apiKey)}`;
|
|
23
23
|
const images = [];
|
|
24
24
|
for (let i = 0; i < count; i++) {
|
|
25
25
|
const controller = new AbortController();
|
|
@@ -29,7 +29,10 @@ export async function generateWithGoogleImagen(config, request) {
|
|
|
29
29
|
response = await fetch(url, {
|
|
30
30
|
method: 'POST',
|
|
31
31
|
headers: { 'Content-Type': 'application/json' },
|
|
32
|
-
body: JSON.stringify({
|
|
32
|
+
body: JSON.stringify({
|
|
33
|
+
instances: [{ prompt: request.prompt }],
|
|
34
|
+
parameters: { sampleCount: 1, aspectRatio },
|
|
35
|
+
}),
|
|
33
36
|
signal: controller.signal,
|
|
34
37
|
});
|
|
35
38
|
}
|
|
@@ -41,7 +44,7 @@ export async function generateWithGoogleImagen(config, request) {
|
|
|
41
44
|
throw new Error(`[ai/image/google] ${response.status} ${response.statusText}: ${text}`);
|
|
42
45
|
}
|
|
43
46
|
const json = (await response.json());
|
|
44
|
-
const im = json.
|
|
47
|
+
const im = json.predictions?.[0];
|
|
45
48
|
if (!im?.bytesBase64Encoded) {
|
|
46
49
|
throw new Error('[ai/image/google] No image bytes returned');
|
|
47
50
|
}
|
package/dist/image/google.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/image/google.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAsBH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAgC,EAChC,OAA+B;IAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,2CAA2C,CAAC,CAAC,OAAO,CACrF,MAAM,EACN,EAAE,CACH,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC;IACnE,qEAAqE;IACrE,sCAAsC;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;IAElD,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,UAAU,WAAW,kBAAkB,CAC/D,OAAO,CAAC,KAAK,CACd,
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/image/google.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../src/model-catalog/crud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB,4DAA4D;AAC5D,wBAAsB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAIzE;AAED,gEAAgE;AAChE,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAM7B;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../src/model-catalog/crud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB,4DAA4D;AAC5D,wBAAsB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAIzE;AAED,gEAAgE;AAChE,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAM7B;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,WAAW,CAAC,CAgDtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAkD7B;AAID,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMvD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAK3D"}
|
|
@@ -35,7 +35,7 @@ export async function createModel(querier, input) {
|
|
|
35
35
|
context_window, max_output_tokens,
|
|
36
36
|
supports_json_mode, supports_image_input,
|
|
37
37
|
default_max_tokens, default_temperature,
|
|
38
|
-
tags, notes,
|
|
38
|
+
tags, notes, default_timeout_ms,
|
|
39
39
|
deprecated_at, disabled_at
|
|
40
40
|
) VALUES (
|
|
41
41
|
$1, $2, $3, $4, $5, $6::llm_model_status, $7,
|
|
@@ -43,7 +43,7 @@ export async function createModel(querier, input) {
|
|
|
43
43
|
$10, $11,
|
|
44
44
|
$12, $13,
|
|
45
45
|
$14, $15,
|
|
46
|
-
$16, $17,
|
|
46
|
+
$16, $17, $18,
|
|
47
47
|
${deprecatedAt}, ${disabledAt}
|
|
48
48
|
)
|
|
49
49
|
RETURNING *`, [
|
|
@@ -64,6 +64,7 @@ export async function createModel(querier, input) {
|
|
|
64
64
|
input.defaultTemperature ?? 0.7,
|
|
65
65
|
input.tags ?? [],
|
|
66
66
|
input.notes ?? null,
|
|
67
|
+
input.defaultTimeoutMs ?? null,
|
|
67
68
|
]);
|
|
68
69
|
const row = rows[0];
|
|
69
70
|
if (!row)
|
|
@@ -112,6 +113,8 @@ export async function patchModel(querier, key, input) {
|
|
|
112
113
|
setField('default_max_tokens', input.defaultMaxTokens);
|
|
113
114
|
if (input.defaultTemperature !== undefined)
|
|
114
115
|
setField('default_temperature', input.defaultTemperature);
|
|
116
|
+
if (input.defaultTimeoutMs !== undefined)
|
|
117
|
+
setField('default_timeout_ms', input.defaultTimeoutMs);
|
|
115
118
|
if (input.tags !== undefined)
|
|
116
119
|
setField('tags', input.tags);
|
|
117
120
|
if (input.notes !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../src/model-catalog/crud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAgB;IAC/C,OAAO,OAAO,CACZ,4DAA4D,CAC7D,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,GAAW;IAEX,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,oDAAoD,EACpD,CAAC,GAAG,CAAC,CACN,CAAC;IACF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,KAA0B;IAE1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,UAAU,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAE5D,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB;;;;;;;;;;;;;;;SAeK,YAAY,KAAK,UAAU;;iBAEnB,EACb;QACE,KAAK,CAAC,GAAG;QACT,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,WAAW,IAAI,IAAI;QACzB,MAAM;QACN,KAAK,CAAC,cAAc,IAAI,IAAI;QAC5B,KAAK,CAAC,cAAc,IAAI,IAAI;QAC5B,KAAK,CAAC,eAAe,IAAI,IAAI;QAC7B,KAAK,CAAC,aAAa,IAAI,IAAI;QAC3B,KAAK,CAAC,eAAe,IAAI,IAAI;QAC7B,KAAK,CAAC,gBAAgB,IAAI,KAAK;QAC/B,KAAK,CAAC,kBAAkB,IAAI,KAAK;QACjC,KAAK,CAAC,gBAAgB,IAAI,IAAI;QAC9B,KAAK,CAAC,kBAAkB,IAAI,GAAG;QAC/B,KAAK,CAAC,IAAI,IAAI,EAAE;QAChB,KAAK,CAAC,KAAK,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../src/model-catalog/crud.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,12 @@ export interface LlmModelRow {
|
|
|
43
43
|
defaultMaxTokens: number;
|
|
44
44
|
/** Stored as numeric(4,3); arrives as a string. */
|
|
45
45
|
defaultTemperature: string;
|
|
46
|
+
/**
|
|
47
|
+
* Per-model call-time request timeout in milliseconds. `NULL` means
|
|
48
|
+
* "use the chat adapter's built-in default" (60s). Set on slow
|
|
49
|
+
* reasoning models (GPT-5, o3) so long completions aren't aborted.
|
|
50
|
+
*/
|
|
51
|
+
defaultTimeoutMs: number | null;
|
|
46
52
|
tags: string[];
|
|
47
53
|
introducedAt: Date;
|
|
48
54
|
deprecatedAt: Date | null;
|
|
@@ -67,6 +73,7 @@ export interface CreateLlmModelInput {
|
|
|
67
73
|
supportsImageInput?: boolean;
|
|
68
74
|
defaultMaxTokens?: number;
|
|
69
75
|
defaultTemperature?: number;
|
|
76
|
+
defaultTimeoutMs?: number | null;
|
|
70
77
|
tags?: string[];
|
|
71
78
|
notes?: string;
|
|
72
79
|
}
|
|
@@ -85,6 +92,7 @@ export interface PatchLlmModelInput {
|
|
|
85
92
|
supportsImageInput?: boolean;
|
|
86
93
|
defaultMaxTokens?: number;
|
|
87
94
|
defaultTemperature?: number;
|
|
95
|
+
defaultTimeoutMs?: number | null;
|
|
88
96
|
tags?: string[];
|
|
89
97
|
notes?: string | null;
|
|
90
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model-catalog/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model-catalog/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venturekit-pro/ai",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"description": "AI utilities for VentureKit - embeddings, RAG, agents, chat completion, and image generation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"licenseHeader": "VentureKit Pro Commercial License — production use requires a valid VentureKit Pro license key. See https://venturekit.dev/pricing.",
|
|
26
26
|
"exports": {
|
|
27
27
|
".": {
|
|
28
|
-
"
|
|
29
|
-
"
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"import": "./dist/index.js"
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"keywords": [
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"rag"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@venturekit/core": "0.0.
|
|
40
|
+
"@venturekit/core": "0.0.14"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"@aws-sdk/client-bedrock-runtime": "^3.0.0",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@pinecone-database/pinecone": "^4.0.0",
|
|
60
|
-
"@types/node": "^
|
|
60
|
+
"@types/node": "^26.1.0",
|
|
61
61
|
"typescript": "^5.3.0"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
-- @venturekit-pro/ai — add `default_timeout_ms` to the LLM catalog (SCHEMA ONLY).
|
|
2
|
+
--
|
|
3
|
+
-- Companion to `src/cost/types.ts:ModelDescriptor.defaultTimeoutMs` and the
|
|
4
|
+
-- `model-catalog` CRUD. Keeps the table mirroring the descriptor field-for-
|
|
5
|
+
-- field (see the shape-alignment note in vk_ai_cost_0002_llm_models.sql).
|
|
6
|
+
--
|
|
7
|
+
-- # Why
|
|
8
|
+
--
|
|
9
|
+
-- The chat adapters (`src/chat/*.ts`) bound each vendor call with an
|
|
10
|
+
-- `AbortController` timeout that defaults to 60s. Reasoning models
|
|
11
|
+
-- (GPT-5, o3) routinely take 40-60s+ on a long-output task — e.g. a
|
|
12
|
+
-- full-body SEO rewrite — so a call can tip past 60s and get aborted
|
|
13
|
+
-- mid-flight, surfacing to the caller as the opaque "This operation was
|
|
14
|
+
-- aborted". A per-model timeout lets the catalog give slow models the
|
|
15
|
+
-- headroom they need without loosening the tight default for fast ones.
|
|
16
|
+
--
|
|
17
|
+
-- The value flows: catalog row -> `ModelDescriptor.defaultTimeoutMs` ->
|
|
18
|
+
-- the chat request's `timeoutMs`. `NULL` means "use the adapter's
|
|
19
|
+
-- built-in default" (60s), so this column is additive and backwards-
|
|
20
|
+
-- compatible: existing rows keep their current behaviour until a value
|
|
21
|
+
-- is set.
|
|
22
|
+
--
|
|
23
|
+
-- # No seed
|
|
24
|
+
--
|
|
25
|
+
-- As with `default_max_tokens`, catalog CONTENTS are the consumer's
|
|
26
|
+
-- responsibility. Apps that run reasoning models ship their own seed
|
|
27
|
+
-- (the CMS: apps/api/db/migrations/zz_seed_llm_models_reasoning_timeout.sql).
|
|
28
|
+
--
|
|
29
|
+
-- # Idempotency
|
|
30
|
+
--
|
|
31
|
+
-- `ADD COLUMN IF NOT EXISTS` so a re-run (or a fresh DB that already got
|
|
32
|
+
-- the column via a future consolidated init) is a no-op. Migrations are
|
|
33
|
+
-- hash-locked (`__vk_migrations`), so this ships as a new additive file
|
|
34
|
+
-- rather than editing vk_ai_cost_0002_llm_models.sql.
|
|
35
|
+
|
|
36
|
+
ALTER TABLE vk_llm_models
|
|
37
|
+
ADD COLUMN IF NOT EXISTS default_timeout_ms integer;
|