@cartanova/qgrid-ai-sdk 2.9.9 → 2.10.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/README.ko.md +5 -1
- package/README.md +6 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -0
- package/package.json +1 -1
package/README.ko.md
CHANGED
|
@@ -300,6 +300,8 @@ const result = await generateText({
|
|
|
300
300
|
|
|
301
301
|
## Telemetry Logger
|
|
302
302
|
|
|
303
|
+
서버와 AI SDK 2.10.0부터 qgrid provider의 `generateText` 결과에서는 `result.providerMetadata?.qgrid?.requestLogId`로 요청 로그 ID를 확인할 수 있습니다. `streamText`는 스트림 소비 후 `(await result.providerMetadata)?.qgrid?.requestLogId`로 확인합니다. 직접 API를 호출하면 `query` 응답과 스트림 `done` 이벤트의 최상위 `requestLogId`에 같은 값이 담깁니다. `logger: false` 또는 구버전 서버에서는 이 필드가 없으며, 툴 호출 후속 단계는 같은 요청 로그 ID를 공유합니다. 이 ID는 후속 요청 연결 상태가 아니며, 아래 telemetry logger를 쓰는 외부 provider에는 이 metadata가 추가되지 않습니다.
|
|
304
|
+
|
|
303
305
|
qgrid provider가 아닌 모델(google, openai 직접 호출)에서도 같은 request log 대시보드를 사용하려면 `createQgridLogger`를 `experimental_telemetry`에 넣으면 됩니다.
|
|
304
306
|
|
|
305
307
|
```typescript
|
|
@@ -368,6 +370,7 @@ AI SDK response metadata로 실제 serving 모델을 다르게 보고하면 step
|
|
|
368
370
|
type QgridSupportedModel =
|
|
369
371
|
// OpenAI (direct private Codex Responses backend)
|
|
370
372
|
| "openai/gpt-6-astra"
|
|
373
|
+
| "openai/gpt-6.1-sol"
|
|
371
374
|
| "openai/gpt-6-sol"
|
|
372
375
|
| "openai/gpt-6-luna"
|
|
373
376
|
| "openai/gpt-5.6-sol"
|
|
@@ -406,10 +409,11 @@ type QgridSupportedModel =
|
|
|
406
409
|
| 모델 | Context (Codex 카탈로그) | 최대 출력 (공개 API) | 1M tokens당 input / cached input / cache write / output |
|
|
407
410
|
|---|---:|---:|---:|
|
|
408
411
|
| `openai/gpt-6-astra` | 272K | 128K | $10 / $1 / $12.50 / $50 |
|
|
412
|
+
| `openai/gpt-6.1-sol` | 272K | 128K | $2 / $0.10 / $2.50 / $10 |
|
|
409
413
|
| `openai/gpt-6-sol` | 272K | 128K | $2 / $0.20 / $2.50 / $10 |
|
|
410
414
|
| `openai/gpt-6-luna` | 272K | 128K | $0.10 / $0.01 / $0.125 / $0.50 |
|
|
411
415
|
|
|
412
|
-
2026-09-23에 조회한 Codex 카탈로그는
|
|
416
|
+
2026-09-23에 조회한 Codex 카탈로그는 Astra, Sol, Luna 모두 272K context window를 제공합니다. Astra와 Sol은 `ultra`까지, Luna는 `max`까지 reasoning effort를 지원합니다. 백엔드 기본값은 세 모델 모두 `medium`이며, qgrid SDK의 기본값은 기존대로 `low`이니 다른 깊이가 필요하면 effort를 명시하세요. [Astra](https://developers.openai.com/api/docs/models/gpt-6-astra), [Sol](https://developers.openai.com/api/docs/models/gpt-6-sol), [Luna](https://developers.openai.com/api/docs/models/gpt-6-luna)의 공개 API 문서는 별도로 1.05M context, 최대 입력 922K, 최대 출력 128K와 `max`까지의 effort를 명시하며 `ultra`는 포함하지 않습니다. 이 공개 API 한도를 구독 경로의 한도로 간주하지 않습니다. Qgrid 비용 추정에는 [표준 API 단가](https://developers.openai.com/api/docs/pricing)를 사용합니다. Cache write는 uncached input 단가의 1.25x이며, 입력이 272K tokens를 넘으면 요청 전체에 input/cache 2x, output 1.5x 단가가 적용됩니다. GPT-6 Sol과 Luna(2026-09-22 출시)는 GPT-5.6 Sol/Luna의 절반 단가이며, 기존 모델 단가는 2026-09-23에 재확인했고 변동이 없습니다. [GPT-6.1 Sol](https://developers.openai.com/api/docs/models/gpt-6.1-sol)(2026-09-29 출시)은 GPT-6 Sol과 단가가 같고 cached input만 $0.10입니다. 2026-09-30에 조회한 Codex 카탈로그는 272K context window, `ultra`까지의 effort, 백엔드 기본값 `low`를 명시하며, 같은 날 qgrid 요청 형태로 라이브 생성에 성공했습니다. `openai/gpt-5.5`는 2026-10-14에 Codex/ChatGPT 경로에서 은퇴하므로 `openai/gpt-6.1-sol` 또는 `openai/gpt-6-luna`로 옮기세요.
|
|
413
417
|
|
|
414
418
|
### GPT-5.6 사양
|
|
415
419
|
|
package/README.md
CHANGED
|
@@ -314,7 +314,7 @@ import { generateText } from "ai";
|
|
|
314
314
|
import { qgrid, type QgridProviderOptions } from "@cartanova/qgrid-ai-sdk";
|
|
315
315
|
|
|
316
316
|
const result = await generateText({
|
|
317
|
-
model: qgrid("openai/gpt-
|
|
317
|
+
model: qgrid("openai/gpt-6.1-sol", { projectName: "deti" }),
|
|
318
318
|
prompt: "An isolated character. Everything outside the character must be transparent, with no backdrop or checkerboard.",
|
|
319
319
|
providerOptions: {
|
|
320
320
|
qgrid: {
|
|
@@ -335,6 +335,8 @@ Remove green-screen or other background instructions when requesting transparenc
|
|
|
335
335
|
|
|
336
336
|
## Telemetry Logger
|
|
337
337
|
|
|
338
|
+
With qgrid server and SDK 2.10.0+, read the parent request-log ID from `result.providerMetadata?.qgrid?.requestLogId` after `generateText`. For `streamText`, consume the stream first, then read `(await result.providerMetadata)?.qgrid?.requestLogId`. Raw API query responses and stream `done` events expose the same ID as top-level `requestLogId`. The field is omitted with `logger: false` or an older server. Tool-run steps share the parent ID; it is not continuation state. This metadata applies to the qgrid provider, not external providers using the telemetry logger below.
|
|
339
|
+
|
|
338
340
|
To use the same request log dashboard with models that don't go through the qgrid provider (direct google/openai calls), pass `createQgridLogger` to `experimental_telemetry`.
|
|
339
341
|
|
|
340
342
|
```typescript
|
|
@@ -404,6 +406,7 @@ The `qgrid()` provider has its own lifecycle, so the logger automatically suppre
|
|
|
404
406
|
type QgridSupportedModel =
|
|
405
407
|
// OpenAI (direct private Codex Responses backend)
|
|
406
408
|
| "openai/gpt-6-astra"
|
|
409
|
+
| "openai/gpt-6.1-sol"
|
|
407
410
|
| "openai/gpt-6-sol"
|
|
408
411
|
| "openai/gpt-6-luna"
|
|
409
412
|
| "openai/gpt-5.6-sol"
|
|
@@ -442,10 +445,11 @@ type QgridSupportedModel =
|
|
|
442
445
|
| Model | Context (Codex catalog) | Max output (public API) | Input / cached input / cache write / output per 1M tokens |
|
|
443
446
|
|---|---:|---:|---:|
|
|
444
447
|
| `openai/gpt-6-astra` | 272K | 128K | $10 / $1 / $12.50 / $50 |
|
|
448
|
+
| `openai/gpt-6.1-sol` | 272K | 128K | $2 / $0.10 / $2.50 / $10 |
|
|
445
449
|
| `openai/gpt-6-sol` | 272K | 128K | $2 / $0.20 / $2.50 / $10 |
|
|
446
450
|
| `openai/gpt-6-luna` | 272K | 128K | $0.10 / $0.01 / $0.125 / $0.50 |
|
|
447
451
|
|
|
448
|
-
The Codex catalog fetched on 2026-09-23 advertises a 272K context window for
|
|
452
|
+
The Codex catalog fetched on 2026-09-23 advertises a 272K context window for Astra, Sol, and Luna. Astra and Sol support reasoning effort through `ultra`; Luna supports it through `max`. The backend default is `medium` for all three, while qgrid's SDK defaults to `low`; select an effort explicitly to override it. The public API model pages for [Astra](https://developers.openai.com/api/docs/models/gpt-6-astra), [Sol](https://developers.openai.com/api/docs/models/gpt-6-sol), and [Luna](https://developers.openai.com/api/docs/models/gpt-6-luna) separately list a 1.05M context window, 922K maximum input, 128K maximum output, and reasoning effort through `max` (no `ultra`). Those public limits do not establish the subscription route's limits. [Standard API pricing](https://developers.openai.com/api/docs/pricing) is used for qgrid's cost estimate: cache writes cost 1.25x the uncached input rate, and input over 272K tokens applies 2x input/cache and 1.5x output rates to the full request. GPT-6 Sol and Luna (released 2026-09-22) are priced at half of GPT-5.6 Sol and Luna; existing model prices were re-verified on 2026-09-23 and did not change. [GPT-6.1 Sol](https://developers.openai.com/api/docs/models/gpt-6.1-sol) (released 2026-09-29) keeps GPT-6 Sol's prices except cached input at $0.10; the Codex catalog fetched on 2026-09-30 lists a 272K context window, effort through `ultra`, and a `low` backend default, and a live generation through qgrid's request shape succeeded the same day. `openai/gpt-5.5` retires from the Codex/ChatGPT route on 2026-10-14; migrate to `openai/gpt-6.1-sol` or `openai/gpt-6-luna`.
|
|
449
453
|
|
|
450
454
|
### GPT-5.6 specifications
|
|
451
455
|
|
package/dist/index.d.ts
CHANGED
|
@@ -96,7 +96,7 @@ type QgridAnthropicProviderOptions = QgridCommonProviderOptions & {
|
|
|
96
96
|
* `QgridOpenAIProviderOptions` / `QgridAnthropicProviderOptions` 를 직접 쓰는 편이 정확하다.
|
|
97
97
|
*/
|
|
98
98
|
type QgridProviderOptions = QgridOpenAIProviderOptions | QgridAnthropicProviderOptions;
|
|
99
|
-
type QgridSupportedModel = "openai/gpt-6-astra" | "openai/gpt-6-sol" | "openai/gpt-6-luna" | "openai/gpt-5.6-sol" | "openai/gpt-5.6-terra" | "openai/gpt-5.6-luna" | "openai/gpt-5.5" | "openai/gpt-5.4" | "openai/gpt-5.2" | "openai/gpt-5.4-mini" | "openai/gpt-5.3-codex" | "openai/gpt-5.3-codex-spark" | "anthropic/claude-fable-5-1" | "anthropic/claude-fable-5" | "anthropic/claude-haiku-4-5" | "anthropic/claude-sonnet-4" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-sonnet-4-6" | "anthropic/claude-sonnet-4-7" | "anthropic/claude-sonnet-5" | "anthropic/claude-opus-4" | "anthropic/claude-opus-4-1" | "anthropic/claude-opus-4-5" | "anthropic/claude-opus-4-6" | "anthropic/claude-opus-4-7" | "anthropic/claude-opus-4-8" | "anthropic/claude-opus-5" | "anthropic/claude-opus-5-5" | "anthropic/claude-sonnet-5-5";
|
|
99
|
+
type QgridSupportedModel = "openai/gpt-6-astra" | "openai/gpt-6.1-sol" | "openai/gpt-6-sol" | "openai/gpt-6-luna" | "openai/gpt-5.6-sol" | "openai/gpt-5.6-terra" | "openai/gpt-5.6-luna" | "openai/gpt-5.5" | "openai/gpt-5.4" | "openai/gpt-5.2" | "openai/gpt-5.4-mini" | "openai/gpt-5.3-codex" | "openai/gpt-5.3-codex-spark" | "anthropic/claude-fable-5-1" | "anthropic/claude-fable-5" | "anthropic/claude-haiku-4-5" | "anthropic/claude-sonnet-4" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-sonnet-4-6" | "anthropic/claude-sonnet-4-7" | "anthropic/claude-sonnet-5" | "anthropic/claude-opus-4" | "anthropic/claude-opus-4-1" | "anthropic/claude-opus-4-5" | "anthropic/claude-opus-4-6" | "anthropic/claude-opus-4-7" | "anthropic/claude-opus-4-8" | "anthropic/claude-opus-5" | "anthropic/claude-opus-5-5" | "anthropic/claude-sonnet-5-5";
|
|
100
100
|
/** Observed image response values. Usage is response-level and appears on the first image only. */
|
|
101
101
|
type QgridImageGenerationMetadata = {
|
|
102
102
|
route: "codex-images";
|
package/dist/index.js
CHANGED
|
@@ -1081,6 +1081,7 @@ function qgridProviderMetadata(data) {
|
|
|
1081
1081
|
...item.generation
|
|
1082
1082
|
}] : []);
|
|
1083
1083
|
return { qgrid: {
|
|
1084
|
+
...data.requestLogId !== void 0 ? { requestLogId: data.requestLogId } : {},
|
|
1084
1085
|
model: data.model,
|
|
1085
1086
|
requestedModel: data.requestedModel ?? data.model,
|
|
1086
1087
|
modelFallbacks: data.modelFallbacks ?? [],
|