@oonacode/win32-x64 0.3.228 → 0.3.232

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/oona.exe CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/oona.exe
3
- size: 113223168 bytes
4
- sha256: 21cb6b2fc072913c069c5fc03fd2e77e28ad060f2d390e619f79c1d5a8ad6fbd
3
+ size: 112301056 bytes
4
+ sha256: edd7bbfaa7d9bd906422e1bf68160bc3c19671734b54b2bc7e5e9c72917ce158
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "oonacode",
3
- "version": "0.3.228",
3
+ "version": "0.3.232",
4
4
  "channel": "stable",
5
5
  "platform": "win32",
6
6
  "arch": "x64",
7
7
  "mode": "bun",
8
8
  "launcherRuntime": "bun 1.4.1",
9
- "commit": "e6613212",
10
- "builtAt": "2026-10-11T03:40:15.7527093Z",
9
+ "commit": "b02fb4a3",
10
+ "builtAt": "2026-10-12T13:47:41.2360719Z",
11
11
  "engine": "engine-store",
12
- "engineVersion": "0.3.280",
12
+ "engineVersion": "0.3.296",
13
13
  "siteOrigin": "https://oonacode.oonak.ai",
14
14
  "gatewayOrigin": "https://api.oonacode.oonak.ai"
15
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oonacode/win32-x64",
3
- "version": "0.3.228",
3
+ "version": "0.3.232",
4
4
  "description": "OonaCode native binaries for Windows x64: oona.exe (CLI + headless host service), the pinned oonaclaude.exe engine sidecar, local web UI assets. Installed automatically as an optional dependency of `oonacode`.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://oonacode.oonak.ai",
package/registry.json CHANGED
@@ -179,8 +179,8 @@
179
179
  "keyFormat": "sk-ant-oat01-...",
180
180
  "claudeCodeShape": {
181
181
  "betas": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,prompt-caching-scope-2026-01-05,effort-2025-11-24",
182
- "userAgent": "claude-cli/2.1.280 (external, sdk-ts)",
183
- "billingHeader": "x-anthropic-billing-header: cc_version=2.1.280; cc_entrypoint=sdk-ts;",
182
+ "userAgent": "claude-cli/2.1.296 (external, sdk-ts)",
183
+ "billingHeader": "x-anthropic-billing-header: cc_version=2.1.296; cc_entrypoint=sdk-ts;",
184
184
  "headers": {
185
185
  "x-app": "cli"
186
186
  }
@@ -268,74 +268,61 @@
268
268
  {
269
269
  "id": "openai-subscription",
270
270
  "displayName": "ChatGPT Subscription (Codex)",
271
- "effortLevels": ["low", "medium", "high", "xhigh"],
271
+ "effortLevels": ["low", "medium", "high", "xhigh", "max"],
272
272
  "kind": "openai-compatible",
273
273
  "route": "direct",
274
274
  "credentialClass": "subscription",
275
275
  "baseUrl": "https://chatgpt.com/backend-api/codex",
276
276
  "messagesPath": "/responses",
277
- "defaultModel": "gpt-5.5",
277
+ "defaultModel": "gpt-6-luna",
278
278
  "auth": {
279
279
  "header": "authorization-bearer",
280
280
  "extraHeaders": {
281
- "originator": "codex_cli_rs",
281
+ "originator": "codex_exec",
282
+ "user-agent": "codex_exec/0.162.1",
282
283
  "OpenAI-Beta": "responses=experimental"
283
284
  }
284
285
  },
285
286
  "models": [
286
287
  {
287
- "id": "gpt-6-astra",
288
- "displayName": "GPT-6 Astra",
289
- "contextWindow": 400000,
290
- "supportsTools": true,
291
- "supportsThinking": true,
292
- "supportsVision": true,
293
- "notes": "Served from the ChatGPT plan through the Codex backend; no per-token price - the plan's 5-hour and weekly windows are what it costs."
294
- },
295
- {
296
- "id": "gpt-5.6-sol",
297
- "displayName": "GPT-5.6 Sol",
298
- "contextWindow": 400000,
288
+ "id": "gpt-6-luna",
289
+ "displayName": "GPT-6 Luna",
290
+ "contextWindow": 272000,
299
291
  "supportsTools": true,
300
292
  "supportsThinking": true,
301
293
  "supportsVision": true,
302
- "notes": "Served from the ChatGPT plan through the Codex backend; no per-token price - the plan's 5-hour and weekly windows are what it costs."
294
+ "effortLevels": ["low", "medium", "high", "xhigh", "max"],
295
+ "notes": "Codex's first choice (priority 4 in its model list). Served from the person's own ChatGPT plan through the Codex backend; no per-token price - the plan's 5-hour and weekly windows are what it costs."
303
296
  },
304
297
  {
305
298
  "id": "gpt-5.6-terra",
306
299
  "displayName": "GPT-5.6 Terra",
307
- "contextWindow": 400000,
300
+ "contextWindow": 272000,
308
301
  "supportsTools": true,
309
302
  "supportsThinking": true,
310
303
  "supportsVision": true,
311
- "notes": "Served from the ChatGPT plan through the Codex backend; no per-token price - the plan's 5-hour and weekly windows are what it costs."
304
+ "effortLevels": ["low", "medium", "high", "xhigh", "max"],
305
+ "notes": "Served from the person's own ChatGPT plan through the Codex backend; no per-token price - the plan's 5-hour and weekly windows are what it costs."
312
306
  },
313
307
  {
314
308
  "id": "gpt-5.6-luna",
315
309
  "displayName": "GPT-5.6 Luna",
316
- "contextWindow": 400000,
310
+ "contextWindow": 272000,
317
311
  "supportsTools": true,
318
312
  "supportsThinking": true,
319
313
  "supportsVision": true,
320
- "notes": "Served from the ChatGPT plan through the Codex backend; no per-token price - the plan's 5-hour and weekly windows are what it costs."
314
+ "effortLevels": ["low", "medium", "high", "xhigh", "max"],
315
+ "notes": "Served from the person's own ChatGPT plan through the Codex backend; no per-token price - the plan's 5-hour and weekly windows are what it costs."
321
316
  },
322
317
  {
323
318
  "id": "gpt-5.5",
324
319
  "displayName": "GPT-5.5",
325
- "contextWindow": 400000,
326
- "supportsTools": true,
327
- "supportsThinking": true,
328
- "supportsVision": true,
329
- "notes": "Served from the ChatGPT plan through the Codex backend; no per-token price - the plan's 5-hour and weekly windows are what it costs."
330
- },
331
- {
332
- "id": "gpt-5.2",
333
- "displayName": "GPT-5.2",
334
- "contextWindow": 400000,
320
+ "contextWindow": 272000,
335
321
  "supportsTools": true,
336
322
  "supportsThinking": true,
337
323
  "supportsVision": true,
338
- "notes": "Served from the ChatGPT plan through the Codex backend; no per-token price - the plan's 5-hour and weekly windows are what it costs."
324
+ "effortLevels": ["low", "medium", "high", "xhigh"],
325
+ "notes": "Legacy: Codex hides it from its picker but the backend still serves it, and older chats are on it. No max effort. Served from the person's own ChatGPT plan through the Codex backend; no per-token price - the plan's 5-hour and weekly windows are what it costs."
339
326
  }
340
327
  ],
341
328
  "rateLimits": {
@@ -372,7 +359,133 @@
372
359
  "signInLabel": "Sign in with ChatGPT"
373
360
  },
374
361
  "docsUrl": "https://developers.openai.com/codex",
375
- "notes": "The user's OWN ChatGPT plan (Plus, Pro, Team), signed in with OpenAI's device flow as `codex login --device-auth` runs it (docs/codex-engine.md section 6, 2026-09-19): the host asks auth.openai.com for a code, the person types it at auth.openai.com/codex/device, the host polls, exchanges the code with the verifier OpenAI's server minted, and keeps the access + refresh pair in the vault, refreshed two minutes before expiry. The backend a ChatGPT token belongs to is chatgpt.com/backend-api/codex, which speaks ONLY the Responses API (translate.wire = responses) and wants the chatgpt-account-id header (a claim of the id token, kept beside the pair), an originator and the responses=experimental beta - so the engine reaches it through the host's loopback upstream, which translates every request. route=direct: the token never reaches the gateway (guardrail 4) and this entry seeds no server rows. The client id is Codex's PUBLIC one; OpenAI names third-party harnesses (OpenCode, pi) as tolerated users of a ChatGPT plan and the owner accepted that standing on 2026-09-19 - the residual risk is OpenAI changing its mind. Models are what Codex's own model/list answered on 2026-09-17; a plan is flat-rate, so no prices. Its x-codex-primary/secondary-used-percent answer headers are the plan's usage."
362
+ "notes": "The user's OWN ChatGPT plan (Plus, Pro, Team), signed in with OpenAI's device flow as `codex login --device-auth` runs it (docs/codex-engine.md section 6, 2026-09-19): the host asks auth.openai.com for a code, the person types it at auth.openai.com/codex/device, the host polls, exchanges the code with the verifier OpenAI's server minted, and keeps the access + refresh pair in the vault, refreshed two minutes before expiry. The backend a ChatGPT token belongs to is chatgpt.com/backend-api/codex, which speaks ONLY the Responses API (translate.wire = responses) and wants the chatgpt-account-id header (a claim of the id token, kept beside the pair), an originator and the responses=experimental beta - so the engine reaches it through the host's loopback upstream, which translates every request. route=direct: the token never reaches the gateway (guardrail 4) and this entry seeds no server rows. The client id is Codex's PUBLIC one; OpenAI names third-party harnesses (OpenCode, pi) as tolerated users of a ChatGPT plan and the owner accepted that standing on 2026-09-19 - the residual risk is OpenAI changing its mind. Models, context windows and effort levels are what Codex 0.162.1's own model list answered for a ChatGPT account on 2026-10-11 (gpt-6-astra, gpt-5.6-sol and gpt-5.2, listed before, answer 'not supported when using Codex with a ChatGPT account'); each level was sent and answered 200, and minimal and Codex's own ultra are refused by every model. A plan is flat-rate, so no prices. Its x-codex-primary/secondary-used-percent answer headers are the plan's usage."
363
+ },
364
+ {
365
+ "id": "openai-codex",
366
+ "displayName": "OpenAI Codex (ChatGPT plan)",
367
+ "effortLevels": ["low", "medium", "high", "xhigh", "max"],
368
+ "kind": "openai-compatible",
369
+ "route": "gateway",
370
+ "credentialClass": "api_key",
371
+ "poolOnly": true,
372
+ "baseUrl": "https://chatgpt.com/backend-api/codex",
373
+ "messagesPath": "/responses",
374
+ "auth": {
375
+ "header": "authorization-bearer",
376
+ "extraHeaders": {
377
+ "originator": "codex_exec",
378
+ "user-agent": "codex_exec/0.162.1",
379
+ "OpenAI-Beta": "responses=experimental"
380
+ }
381
+ },
382
+ "defaultModel": "gpt-6-luna",
383
+ "models": [
384
+ {
385
+ "id": "gpt-6-luna",
386
+ "displayName": "GPT-6 Luna",
387
+ "contextWindow": 272000,
388
+ "supportsTools": true,
389
+ "supportsThinking": true,
390
+ "supportsVision": true,
391
+ "effortLevels": ["low", "medium", "high", "xhigh", "max"],
392
+ "maxOutputTokens": 128000,
393
+ "notes": "Codex's default (priority 4 in its model list). OpenAI API list price $0.10 / $0.01 cached / $0.50 per 1M (developers.openai.com/api/docs/models/gpt-6-luna, 2026-10-12) — the catalogue cost cells. The Codex backend takes 272k of its 1.05M window."
394
+ },
395
+ {
396
+ "id": "gpt-5.6-terra",
397
+ "displayName": "GPT-5.6 Terra",
398
+ "contextWindow": 272000,
399
+ "supportsTools": true,
400
+ "supportsThinking": true,
401
+ "supportsVision": true,
402
+ "effortLevels": ["low", "medium", "high", "xhigh", "max"],
403
+ "maxOutputTokens": 128000,
404
+ "notes": "OpenAI API list price $2 / $0.20 cached / $12 per 1M (developers.openai.com/api/docs/models/gpt-5.6-terra, 2026-10-12). The Codex backend takes 272k."
405
+ },
406
+ {
407
+ "id": "gpt-5.6-luna",
408
+ "displayName": "GPT-5.6 Luna",
409
+ "contextWindow": 272000,
410
+ "supportsTools": true,
411
+ "supportsThinking": true,
412
+ "supportsVision": true,
413
+ "effortLevels": ["low", "medium", "high", "xhigh", "max"],
414
+ "maxOutputTokens": 128000,
415
+ "notes": "OpenAI API list price $0.20 / $0.02 cached / $1.20 per 1M (developers.openai.com/api/docs/models/gpt-5.6-luna, 2026-10-12). The Codex backend takes 272k."
416
+ },
417
+ {
418
+ "id": "gpt-5.5",
419
+ "displayName": "GPT-5.5",
420
+ "contextWindow": 272000,
421
+ "supportsTools": true,
422
+ "supportsThinking": true,
423
+ "supportsVision": true,
424
+ "effortLevels": ["low", "medium", "high", "xhigh"],
425
+ "maxOutputTokens": 128000,
426
+ "notes": "Legacy: Codex hides it from its picker, the backend still serves it. No max effort. OpenAI API list price $5 / $0.50 cached / $30 per 1M (developers.openai.com/api/docs/models/gpt-5.5, 2026-10-12)."
427
+ }
428
+ ],
429
+ "modelAliases": {
430
+ "opus": "gpt-5.6-terra",
431
+ "sonnet": "gpt-5.6-terra",
432
+ "haiku": "gpt-6-luna"
433
+ },
434
+ "rateLimits": {
435
+ "maxConcurrent": 4,
436
+ "requestsPerMinute": 60
437
+ },
438
+ "capabilities": {
439
+ "streaming": true,
440
+ "tools": true,
441
+ "thinking": true,
442
+ "vision": true,
443
+ "countTokens": false,
444
+ "promptCaching": true
445
+ },
446
+ "translate": {
447
+ "wire": "responses",
448
+ "systemRole": "developer",
449
+ "reasoningEffortFromBudget": true,
450
+ "supportsParallelToolCalls": true
451
+ },
452
+ "phase": 1,
453
+ "enabled": true,
454
+ "adminGroup": "openai",
455
+ "recordLabel": "Subscription",
456
+ "docsUrl": "https://developers.openai.com/codex",
457
+ "references": [
458
+ {
459
+ "label": "Codex CLI (open source, Apache-2.0)",
460
+ "url": "https://github.com/openai/codex",
461
+ "kind": "docs"
462
+ },
463
+ {
464
+ "label": "OpenAI API model pages (the cost cells)",
465
+ "url": "https://developers.openai.com/api/docs/models",
466
+ "kind": "pricing"
467
+ },
468
+ {
469
+ "label": "OpenAI terms of use",
470
+ "url": "https://openai.com/policies/terms-of-use/",
471
+ "kind": "other"
472
+ }
473
+ ],
474
+ "notes": "OPERATOR POOL ONLY (owner, 2026-10-12: \"in the admin we need to add subscription tab … install codex cli on server like supergrok and use native login flow. but the user requests not goes to codex cli they already translated and proxy to openai\"). The operator's own ChatGPT plan, signed in from Admin → Providers → OpenAI → Subscription by a REAL Codex CLI on the server (`codex login --device-auth` in a private CODEX_HOME; packages/gateway/src/codex/*). The credential row is a POINTER; the access token and the account id are read from Codex's own auth.json per request, and only Codex refreshes them (app-server getAuthStatus refreshToken:true). Chats are NOT run through Codex: the engine's Anthropic request is translated to the Responses wire (@oonacode/translate responses-*.ts) and sent to chatgpt.com/backend-api/codex with Codex's identity headers and chatgpt-account-id. A ChatGPT plan is a consumer subscription and serving other people from it is against OpenAI's terms — the owner's call, as for the Claude and SuperGrok subscriptions. Administered under OpenAI (adminGroup): its record is the OpenAI page's Subscription tab. A user's OWN ChatGPT plan is openai-subscription, direct from their PC. docs/codex-engine.md §8.",
475
+ "credentialVariants": [
476
+ {
477
+ "id": "token-plan",
478
+ "label": "ChatGPT subscription (Codex on the server)",
479
+ "header": "authorization-bearer",
480
+ "operatorOnly": true,
481
+ "baseUrl": "https://chatgpt.com/backend-api/codex",
482
+ "codexLogin": {
483
+ "type": "codex-server",
484
+ "signInLabel": "Sign in with ChatGPT (Codex on the server)"
485
+ },
486
+ "notes": "Signed in by the server's own Codex CLI (version pinned in @oonacode/shared CODEX_TESTED_VERSION, installed at boot from OpenAI's npm package into the codexdata volume, sha512-verified). The identity headers are the ones the real Codex sends (recorded 2026-10-11, docs/codex-engine.md §7) — bump the user-agent version with Codex."
487
+ }
488
+ ]
376
489
  },
377
490
  {
378
491
  "id": "xai",
@@ -1371,7 +1484,7 @@
1371
1484
  "operatorOnly": true,
1372
1485
  "baseUrl": "https://daily-cloudcode-pa.googleapis.com",
1373
1486
  "extraHeaders": {
1374
- "user-agent": "antigravity/cli/1.3.1 (aidev_client; os_type=linux; arch=amd64; cl=994719654; auth_method=consumer)"
1487
+ "user-agent": "antigravity/cli/1.3.3 (aidev_client; os_type=linux; arch=amd64; cl=996823801; auth_method=consumer)"
1375
1488
  },
1376
1489
  "agyLogin": {
1377
1490
  "type": "agy-server",
@@ -1398,6 +1511,144 @@
1398
1511
  }
1399
1512
  ],
1400
1513
  "effortLevels": ["low", "medium", "high"]
1514
+ },
1515
+ {
1516
+ "id": "nvidia",
1517
+ "displayName": "NVIDIA NIM (cloud)",
1518
+ "kind": "openai-compatible",
1519
+ "route": "gateway",
1520
+ "credentialClass": "api_key",
1521
+ "baseUrl": "https://integrate.api.nvidia.com",
1522
+ "messagesPath": "/v1/chat/completions",
1523
+ "modelsPath": "/v1/models",
1524
+ "auth": {
1525
+ "header": "authorization-bearer"
1526
+ },
1527
+ "models": [
1528
+ {
1529
+ "id": "nvidia/nemotron-3-ultra-550b-a55b",
1530
+ "displayName": "Nemotron 3 Ultra 550B (NIM)",
1531
+ "contextWindow": 262144,
1532
+ "supportsTools": true,
1533
+ "supportsThinking": true,
1534
+ "supportsVision": false
1535
+ },
1536
+ {
1537
+ "id": "nvidia/nemotron-3-super-120b-a12b",
1538
+ "displayName": "Nemotron 3 Super 120B (NIM)",
1539
+ "supportsTools": true,
1540
+ "supportsThinking": true,
1541
+ "supportsVision": false
1542
+ },
1543
+ {
1544
+ "id": "nvidia/nemotron-3.5-lightning-30b-a3b",
1545
+ "displayName": "Nemotron 3.5 Lightning 30B (NIM)",
1546
+ "supportsTools": true,
1547
+ "supportsThinking": true,
1548
+ "supportsVision": false
1549
+ },
1550
+ {
1551
+ "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
1552
+ "displayName": "Nemotron 3 Nano Omni 30B (NIM)",
1553
+ "contextWindow": 262144,
1554
+ "supportsTools": true,
1555
+ "supportsThinking": true,
1556
+ "supportsVision": true
1557
+ },
1558
+ {
1559
+ "id": "moonshotai/kimi-k3",
1560
+ "displayName": "Kimi K3 (NIM)",
1561
+ "contextWindow": 1048576,
1562
+ "supportsTools": true,
1563
+ "supportsThinking": true,
1564
+ "supportsVision": true,
1565
+ "notes": "NVIDIA's card says a multi-turn tool conversation must send back the earlier reasoning_content; the translator drops thinking blocks on replay, so long tool loops may degrade. Unverified."
1566
+ },
1567
+ {
1568
+ "id": "z-ai/glm-5.3",
1569
+ "displayName": "GLM-5.3 (NIM)",
1570
+ "contextWindow": 1048576,
1571
+ "supportsTools": true,
1572
+ "supportsThinking": true,
1573
+ "supportsVision": false
1574
+ },
1575
+ {
1576
+ "id": "z-ai/glm-5.3-flash",
1577
+ "displayName": "GLM-5.3 Flash (NIM)",
1578
+ "contextWindow": 1048576,
1579
+ "supportsTools": true,
1580
+ "supportsThinking": true,
1581
+ "supportsVision": true
1582
+ },
1583
+ {
1584
+ "id": "deepseek-ai/deepseek-v4.1-flash",
1585
+ "displayName": "DeepSeek V4.1 Flash (NIM)",
1586
+ "supportsTools": true,
1587
+ "supportsThinking": true,
1588
+ "supportsVision": false,
1589
+ "notes": "NVIDIA's card was not readable (404), so no context window is set: the engine assumes 200k."
1590
+ },
1591
+ {
1592
+ "id": "poolside/laguna-xs-2.1",
1593
+ "displayName": "Poolside Laguna XS 2.1 (NIM)",
1594
+ "contextWindow": 262144,
1595
+ "supportsTools": true,
1596
+ "supportsThinking": true,
1597
+ "supportsVision": false
1598
+ },
1599
+ {
1600
+ "id": "meta/muse-glimmer-30b",
1601
+ "displayName": "Meta Muse Glimmer 30B (NIM)",
1602
+ "contextWindow": 131072,
1603
+ "supportsTools": true,
1604
+ "supportsThinking": true,
1605
+ "supportsVision": true
1606
+ },
1607
+ {
1608
+ "id": "google/gemma-4-31b-it",
1609
+ "displayName": "Gemma 4 31B (NIM)",
1610
+ "contextWindow": 262144,
1611
+ "supportsTools": true,
1612
+ "supportsThinking": false,
1613
+ "supportsVision": true,
1614
+ "notes": "Thinking is switched by a token in the system prompt, which the translator does not send, so it runs without."
1615
+ },
1616
+ {
1617
+ "id": "openai/gpt-oss-20b",
1618
+ "displayName": "GPT-OSS 20B (NIM)",
1619
+ "contextWindow": 128000,
1620
+ "supportsTools": true,
1621
+ "supportsThinking": true,
1622
+ "supportsVision": false
1623
+ }
1624
+ ],
1625
+ "defaultModel": "nvidia/nemotron-3-ultra-550b-a55b",
1626
+ "modelAliases": {
1627
+ "opus": "nvidia/nemotron-3-ultra-550b-a55b",
1628
+ "sonnet": "nvidia/nemotron-3-ultra-550b-a55b",
1629
+ "haiku": "nvidia/nemotron-3-super-120b-a12b"
1630
+ },
1631
+ "capabilities": {
1632
+ "streaming": true,
1633
+ "tools": true,
1634
+ "thinking": true,
1635
+ "vision": false,
1636
+ "countTokens": false,
1637
+ "promptCaching": false
1638
+ },
1639
+ "translate": {
1640
+ "maxTokensParam": "max_tokens",
1641
+ "reasoningEffortFromBudget": false,
1642
+ "reasoningContentField": "reasoning_content",
1643
+ "supportsParallelToolCalls": false,
1644
+ "systemRole": "system",
1645
+ "streamIncludeUsage": true
1646
+ },
1647
+ "userBaseUrl": true,
1648
+ "phase": 1,
1649
+ "enabled": true,
1650
+ "notes": "A user's OWN key only (owner, 2026-10-12: \"bring back the nvidia for local only, i have apikey want to use it now\"). The host translates it on the PC (engine/local-upstream.ts) and the key never reaches the gateway; the server never calls NVIDIA (SERVER_EXCLUDED_PROVIDER_IDS: no pool rows, no admin page). Models are NVIDIA's current hosted catalogue that call tools (build.nvidia.com, 2026-10-12); a context window is set only where the model card states one, otherwise the engine's 200k default applies. Left out: embeddings, safety filters, parsers, DiffusionGemma and the two Llama 3.2 vision models (no tool calling).",
1651
+ "docsUrl": "https://docs.api.nvidia.com/nim/"
1401
1652
  }
1402
1653
  ]
1403
1654
  }