@nodaro/shared 1.15.0 → 1.16.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/index.cjs CHANGED
@@ -1662,9 +1662,9 @@ var VIDEO_MODELS = {
1662
1662
  kind: "video",
1663
1663
  modes: ["video-analysis"],
1664
1664
  family: "Nodaro",
1665
- label: "Video Analysis (Fast)",
1665
+ label: "Video Analysis (Fast \u2014 legacy)",
1666
1666
  series: "Video Analysis",
1667
- description: "Analyze a video into a structured shot list (scenes, camera, audio) \u2014 fast, economy tier. Billed per duration bucket.",
1667
+ description: "Legacy fast-tier analysis model (pre-2026-07). Kept so stored raw-model configs keep running and pricing unchanged; new fast-tier runs use the current fast model.",
1668
1668
  useCases: ["video-analysis", "shot-list", "fast"],
1669
1669
  pricing: [
1670
1670
  { identifier: "video-analysis:gemini-3-flash", credits: 3, note: "10-min ceiling (no duration given)" },
@@ -1674,6 +1674,23 @@ var VIDEO_MODELS = {
1674
1674
  { identifier: "video-analysis:gemini-3-flash:600s", credits: 3, note: "10-min ceiling" }
1675
1675
  ]
1676
1676
  },
1677
+ "gemini-3.6-flash-video-analysis": {
1678
+ id: "gemini-3.6-flash-video-analysis",
1679
+ kind: "video",
1680
+ modes: ["video-analysis"],
1681
+ family: "Nodaro",
1682
+ label: "Video Analysis (Fast)",
1683
+ series: "Video Analysis",
1684
+ description: "Analyze a video into a structured shot list (scenes, camera, audio) \u2014 fast, economy tier. Billed per duration bucket.",
1685
+ useCases: ["video-analysis", "shot-list", "fast"],
1686
+ pricing: [
1687
+ { identifier: "video-analysis:gemini-3.6-flash", credits: 9, note: "10-min ceiling (no duration given)" },
1688
+ { identifier: "video-analysis:gemini-3.6-flash:60s", credits: 2 },
1689
+ { identifier: "video-analysis:gemini-3.6-flash:180s", credits: 2 },
1690
+ { identifier: "video-analysis:gemini-3.6-flash:360s", credits: 5 },
1691
+ { identifier: "video-analysis:gemini-3.6-flash:600s", credits: 9, note: "10-min ceiling" }
1692
+ ]
1693
+ },
1677
1694
  "gemini-3.1-pro-video-analysis": {
1678
1695
  id: "gemini-3.1-pro-video-analysis",
1679
1696
  kind: "video",
@@ -4266,6 +4283,24 @@ var LLM_MODELS = [
4266
4283
  supportsImages: true,
4267
4284
  maxOutputTokens: 8192
4268
4285
  },
4286
+ {
4287
+ id: "gemini-3.6-flash",
4288
+ displayName: "Gemini 3.6 Flash",
4289
+ desc: "Latest fast Gemini, sharper reasoning",
4290
+ tier: "economy",
4291
+ kieFormat: "chat-completions",
4292
+ // KIE serves Gemini 3.6 Flash on the OpenAI-compatible dialect under this
4293
+ // slug (docs.kie.ai/market/gemini/gemini-3-6-flash-openai.md) — same
4294
+ // chat-completions path shape as gemini-3-flash, different slug prefix.
4295
+ kieSlugOrModel: "gemini-3-6-flash-openai",
4296
+ vendor: "google",
4297
+ structuredOutputMode: "kie-response-format",
4298
+ supportsImages: true,
4299
+ maxOutputTokens: 8192,
4300
+ // KIE's 3.6 endpoint accepts `reasoning_effort: low | high` (thinking
4301
+ // level) — exactly the chat-completions wire mapping deriveParams sends.
4302
+ reasoningEfforts: ["low", "high"]
4303
+ },
4269
4304
  {
4270
4305
  id: "claude-haiku-4.5",
4271
4306
  displayName: "Claude Haiku 4.5",
@@ -4433,6 +4468,22 @@ var LLM_MODELS = [
4433
4468
  reasoningEfforts: ["low", "medium", "high", "xhigh", "max"],
4434
4469
  supportsTemperature: false,
4435
4470
  preferKie: true
4471
+ },
4472
+ {
4473
+ id: "claude-fable-5",
4474
+ displayName: "Claude Fable 5",
4475
+ desc: "Frontier Claude above Opus, hardest problems",
4476
+ tier: "premium",
4477
+ kieFormat: "messages",
4478
+ kieSlugOrModel: "claude-fable-5",
4479
+ vendor: "anthropic",
4480
+ structuredOutputMode: "anthropic-tool",
4481
+ supportsImages: true,
4482
+ maxOutputTokens: 16384,
4483
+ directFallbackModel: "claude-fable-5",
4484
+ reasoningEfforts: ["low", "medium", "high", "xhigh", "max"],
4485
+ supportsTemperature: false,
4486
+ preferKie: true
4436
4487
  }
4437
4488
  ];
4438
4489
  var LLM_MODEL_IDS = LLM_MODELS.map((m) => m.id);
@@ -4444,8 +4495,8 @@ function motionGraphicsFeature(engine) {
4444
4495
  }
4445
4496
  var LLM_FEATURE_DEFAULTS = {
4446
4497
  "ai-writer": "claude-sonnet-4.6",
4447
- "llm-chat": "gemini-3-flash",
4448
- "prompt-helper": "gemini-3-flash",
4498
+ "llm-chat": "gemini-3.6-flash",
4499
+ "prompt-helper": "gemini-3.6-flash",
4449
4500
  "scene-graph-ai": "claude-sonnet-4.6",
4450
4501
  "after-effects": "claude-sonnet-4.6",
4451
4502
  "motion-graphics": "claude-sonnet-4.6",
@@ -4455,12 +4506,13 @@ var LLM_FEATURE_DEFAULTS = {
4455
4506
  "image-to-text": "claude-sonnet-4.6",
4456
4507
  "describe-to-picker": "claude-opus-4.7",
4457
4508
  "qa-check": "claude-sonnet-4.6",
4458
- "generate-script": "gemini-3-flash",
4459
- "translate": "gemini-3-flash",
4509
+ "generate-script": "gemini-3.6-flash",
4510
+ "translate": "gemini-3.6-flash",
4460
4511
  "image-critic": "claude-sonnet-4.6"
4461
4512
  };
4462
4513
  var LLM_MODALITY_CAPS = {
4463
4514
  "gemini-3-flash": { image: true, video: true, audio: true },
4515
+ "gemini-3.6-flash": { image: true, video: true, audio: true },
4464
4516
  "gemini-3.1-pro": { image: true, video: true, audio: true },
4465
4517
  "claude-haiku-4.5": { image: true, video: false, audio: false },
4466
4518
  "claude-sonnet-4.6": { image: true, video: false, audio: false },
@@ -4472,7 +4524,8 @@ var LLM_MODALITY_CAPS = {
4472
4524
  "gpt-5.6-terra": { image: true, video: false, audio: false },
4473
4525
  "gpt-5.6-sol": { image: true, video: false, audio: false },
4474
4526
  "claude-sonnet-5": { image: true, video: false, audio: false },
4475
- "claude-opus-4.8": { image: true, video: false, audio: false }
4527
+ "claude-opus-4.8": { image: true, video: false, audio: false },
4528
+ "claude-fable-5": { image: true, video: false, audio: false }
4476
4529
  };
4477
4530
  function getLlmModalityCaps(modelId) {
4478
4531
  if (!modelId) return { image: true, video: false, audio: false };
@@ -4521,7 +4574,11 @@ function resolveLlmCreditId(feature, body) {
4521
4574
  return buildLlmCreditIdentifier(feature, b?.llmModel, b?.reasoningEffort);
4522
4575
  }
4523
4576
  var VIDEO_ANALYSIS_LLM_MODELS = LLM_MODELS.filter((m) => getLlmModalityCaps(m.id).video && getLlmModalityCaps(m.id).audio).map((m) => m.id);
4524
- var VIDEO_ANALYSIS_TIERS = { fast: "gemini-3-flash", pro: "gemini-3.1-pro" };
4577
+ var VIDEO_ANALYSIS_TIERS = { fast: "gemini-3.6-flash", pro: "gemini-3.1-pro" };
4578
+ var VIDEO_ANALYSIS_LEGACY_MODELS = {
4579
+ // fast tier's backing model until 2026-07 (superseded by gemini-3.6-flash)
4580
+ "gemini-3-flash": "fast"
4581
+ };
4525
4582
  var VIDEO_ANALYSIS_MIXED_TIERS = ["mixed", "mixed-fast"];
4526
4583
  var VIDEO_ANALYSIS_TIER_ORDER = ["pro", "fast", "mixed", "mixed-fast"];
4527
4584
  var DEFAULT_VIDEO_ANALYSIS_TIER = "pro";
@@ -12225,10 +12282,17 @@ var WINDOW_STRIDE = 145;
12225
12282
  var WINDOW_OVERLAP = 5;
12226
12283
  var VIDEO_ANALYSIS_WINDOW = { LEN: WINDOW_LEN, STRIDE: WINDOW_STRIDE, OVERLAP: WINDOW_OVERLAP, SINGLE_MAX: 180 };
12227
12284
  var VIDEO_ANALYSIS_BUCKET_CREDITS = {
12285
+ // Legacy fast-tier model (pre-2026-07) — kept for stored raw-id configs.
12228
12286
  "video-analysis:gemini-3-flash:60s": 1,
12229
12287
  "video-analysis:gemini-3-flash:180s": 1,
12230
12288
  "video-analysis:gemini-3-flash:360s": 2,
12231
12289
  "video-analysis:gemini-3-flash:600s": 3,
12290
+ // Current fast tier — regenerated from the private formula for its backing
12291
+ // model; higher than the legacy fast schedule but still ≤ pro per bucket.
12292
+ "video-analysis:gemini-3.6-flash:60s": 2,
12293
+ "video-analysis:gemini-3.6-flash:180s": 2,
12294
+ "video-analysis:gemini-3.6-flash:360s": 5,
12295
+ "video-analysis:gemini-3.6-flash:600s": 9,
12232
12296
  "video-analysis:gemini-3.1-pro:60s": 2,
12233
12297
  "video-analysis:gemini-3.1-pro:180s": 3,
12234
12298
  "video-analysis:gemini-3.1-pro:360s": 7,
@@ -12624,6 +12688,7 @@ exports.VIDEO_ANALYSIS_DEFAULT_VARIATION = VIDEO_ANALYSIS_DEFAULT_VARIATION;
12624
12688
  exports.VIDEO_ANALYSIS_DURATION_BUCKETS = VIDEO_ANALYSIS_DURATION_BUCKETS;
12625
12689
  exports.VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC = VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC;
12626
12690
  exports.VIDEO_ANALYSIS_ENTITY_SOURCES = VIDEO_ANALYSIS_ENTITY_SOURCES;
12691
+ exports.VIDEO_ANALYSIS_LEGACY_MODELS = VIDEO_ANALYSIS_LEGACY_MODELS;
12627
12692
  exports.VIDEO_ANALYSIS_LLM_MODELS = VIDEO_ANALYSIS_LLM_MODELS;
12628
12693
  exports.VIDEO_ANALYSIS_MAX_DURATION_SEC = VIDEO_ANALYSIS_MAX_DURATION_SEC;
12629
12694
  exports.VIDEO_ANALYSIS_MAX_SCENE_SEC = VIDEO_ANALYSIS_MAX_SCENE_SEC;