@sogni-ai/sogni-intelligence-client 3.7.2 → 3.9.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.
Files changed (59) hide show
  1. package/dist/contracts/backboneDurableWorkflow.d.ts +2 -2
  2. package/dist/contracts/backboneDurableWorkflow.js +2 -2
  3. package/dist/contracts/data/promptContracts.d.ts.map +1 -1
  4. package/dist/contracts/data/promptContracts.js +32 -4
  5. package/dist/contracts/data/promptContracts.js.map +1 -1
  6. package/dist/contracts/hostedToolValidation.d.ts.map +1 -1
  7. package/dist/contracts/hostedToolValidation.js +14 -1
  8. package/dist/contracts/hostedToolValidation.js.map +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/media/gptImage.js +2 -2
  13. package/dist/media/gptImage.js.map +1 -1
  14. package/dist/public-skill-runtime/index.d.ts +28 -4
  15. package/dist/public-skill-runtime/index.d.ts.map +1 -1
  16. package/dist/public-skill-runtime/index.js +78 -8
  17. package/dist/public-skill-runtime/index.js.map +1 -1
  18. package/dist/skills/asset_reference_management/modelRefRegistry.d.ts.map +1 -1
  19. package/dist/skills/asset_reference_management/modelRefRegistry.js +25 -5
  20. package/dist/skills/asset_reference_management/modelRefRegistry.js.map +1 -1
  21. package/dist/skills/asset_reference_management/types.d.ts +1 -1
  22. package/dist/skills/asset_reference_management/types.d.ts.map +1 -1
  23. package/dist/tools/definitions/edit-image/definition.d.ts.map +1 -1
  24. package/dist/tools/definitions/edit-image/definition.js +14 -5
  25. package/dist/tools/definitions/edit-image/definition.js.map +1 -1
  26. package/dist/tools/definitions/generate-image/definition.d.ts.map +1 -1
  27. package/dist/tools/definitions/generate-image/definition.js +22 -7
  28. package/dist/tools/definitions/generate-image/definition.js.map +1 -1
  29. package/dist/tools/shared/modelRegistry.d.ts.map +1 -1
  30. package/dist/tools/shared/modelRegistry.js +6 -0
  31. package/dist/tools/shared/modelRegistry.js.map +1 -1
  32. package/dist/types/index.d.ts +2 -2
  33. package/dist/types/index.d.ts.map +1 -1
  34. package/dist/types/index.js.map +1 -1
  35. package/dist/utils/helpers.d.ts.map +1 -1
  36. package/dist/utils/helpers.js +4 -0
  37. package/dist/utils/helpers.js.map +1 -1
  38. package/dist-esm/contracts/backboneDurableWorkflow.js +2 -2
  39. package/dist-esm/contracts/data/promptContracts.js +32 -4
  40. package/dist-esm/contracts/data/promptContracts.js.map +1 -1
  41. package/dist-esm/contracts/hostedToolValidation.js +14 -1
  42. package/dist-esm/contracts/hostedToolValidation.js.map +1 -1
  43. package/dist-esm/index.js.map +1 -1
  44. package/dist-esm/media/gptImage.js +2 -2
  45. package/dist-esm/media/gptImage.js.map +1 -1
  46. package/dist-esm/public-skill-runtime/index.js +75 -7
  47. package/dist-esm/public-skill-runtime/index.js.map +1 -1
  48. package/dist-esm/skills/asset_reference_management/modelRefRegistry.js +25 -5
  49. package/dist-esm/skills/asset_reference_management/modelRefRegistry.js.map +1 -1
  50. package/dist-esm/tools/definitions/edit-image/definition.js +14 -5
  51. package/dist-esm/tools/definitions/edit-image/definition.js.map +1 -1
  52. package/dist-esm/tools/definitions/generate-image/definition.js +22 -7
  53. package/dist-esm/tools/definitions/generate-image/definition.js.map +1 -1
  54. package/dist-esm/tools/shared/modelRegistry.js +6 -0
  55. package/dist-esm/tools/shared/modelRegistry.js.map +1 -1
  56. package/dist-esm/types/index.js.map +1 -1
  57. package/dist-esm/utils/helpers.js +4 -0
  58. package/dist-esm/utils/helpers.js.map +1 -1
  59. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STORYBOARD_DEFAULT_MAX_FRAMES = exports.STORYBOARD_DEFAULT_MIN_FRAMES = exports.STORYBOARD_PLANNING_CONTRACT_JSON_SCHEMA = exports.STORYBOARD_PLANNING_CONTRACT_SCHEMA_VERSION = exports.QUALITY_TIERS = exports.VIDEO_MODEL_ALIASES = exports.VIDEO_WORKFLOW_DEFAULT_MODELS = exports.EXPANDED_VIDEO_MODEL_REGISTRY = exports.VIDEO_MODEL_REGISTRY = exports.HAPPYHORSE_WORKFLOW_MODELS = exports.SEEDANCE_WORKFLOW_MODELS = exports.LTX23_DEV_WORKFLOW_MODELS = exports.LTX23_WORKFLOW_MODELS = exports.DEFAULT_STORYBOARD_CANVAS_HINT_MARKER = exports.GPT_IMAGE_STORYBOARD_DEFAULTS = exports.SEEDANCE_V2V_REFERENCE_MAX_DURATION_SECONDS = exports.SEEDANCE_STORYBOARD_REFERENCE_PROMPT = exports.storyboardAdapterRegistry = exports.SkillRegistry = exports.StoryboardAdapterUnsupportedStageError = exports.ALL_BUILT_IN_SKILLS = exports.COMPOSITION_PLANNING_SKILL = exports.APP_SETTINGS_SKILL = exports.PERSONA_MANAGEMENT_SKILL = exports.MEDIA_ANALYSIS_SKILL = exports.MUSIC_GENERATION_SKILL = exports.VIDEO_EDITING_SKILL = exports.VIDEO_GENERATION_SKILL = exports.IMAGE_EDITING_SKILL = exports.IMAGE_GENERATION_SKILL = exports.QUALITY_AUDIT_SKILL = exports.ASSET_REFERENCE_MANAGEMENT_SKILL = exports.SESSION_CONTROL_SKILL = exports.TOOL_RESULT_DELIMITERS = exports.PUBLIC_SKILL_DEFAULT_TOOL_DEFINITIONS = exports.PUBLIC_SKILL_DEFAULT_TOOL_NAMES = exports.PUBLIC_SKILL_DEFAULT_REPAIR_RECIPES = exports.PUBLIC_SKILL_DEFAULT_PROMPT_CONTRACTS = exports.PUBLIC_SKILL_DEFAULT_POLICIES = exports.SKILL_RUNTIME_VERSION = void 0;
3
+ exports.STORYBOARD_DEFAULT_MAX_FRAMES = exports.STORYBOARD_DEFAULT_MIN_FRAMES = exports.STORYBOARD_PLANNING_CONTRACT_JSON_SCHEMA = exports.STORYBOARD_PLANNING_CONTRACT_SCHEMA_VERSION = exports.IMAGE_MODEL_ALIASES = exports.IMAGE_MODEL_DEFAULTS = exports.QUALITY_TIERS = exports.VIDEO_MODEL_ALIASES = exports.VIDEO_WORKFLOW_DEFAULT_MODELS = exports.EXPANDED_VIDEO_MODEL_REGISTRY = exports.VIDEO_MODEL_REGISTRY = exports.HAPPYHORSE_WORKFLOW_MODELS = exports.SEEDANCE_WORKFLOW_MODELS = exports.LTX23_DEV_WORKFLOW_MODELS = exports.LTX23_WORKFLOW_MODELS = exports.DEFAULT_STORYBOARD_CANVAS_HINT_MARKER = exports.GPT_IMAGE_STORYBOARD_DEFAULTS = exports.SEEDANCE_V2V_REFERENCE_MAX_DURATION_SECONDS = exports.SEEDANCE_STORYBOARD_REFERENCE_PROMPT = exports.storyboardAdapterRegistry = exports.SkillRegistry = exports.StoryboardAdapterUnsupportedStageError = exports.ALL_BUILT_IN_SKILLS = exports.COMPOSITION_PLANNING_SKILL = exports.APP_SETTINGS_SKILL = exports.PERSONA_MANAGEMENT_SKILL = exports.MEDIA_ANALYSIS_SKILL = exports.MUSIC_GENERATION_SKILL = exports.VIDEO_EDITING_SKILL = exports.VIDEO_GENERATION_SKILL = exports.IMAGE_EDITING_SKILL = exports.IMAGE_GENERATION_SKILL = exports.QUALITY_AUDIT_SKILL = exports.ASSET_REFERENCE_MANAGEMENT_SKILL = exports.SESSION_CONTROL_SKILL = exports.TOOL_RESULT_DELIMITERS = exports.PUBLIC_SKILL_DEFAULT_TOOL_DEFINITIONS = exports.PUBLIC_SKILL_DEFAULT_TOOL_NAMES = exports.PUBLIC_SKILL_DEFAULT_REPAIR_RECIPES = exports.PUBLIC_SKILL_DEFAULT_PROMPT_CONTRACTS = exports.PUBLIC_SKILL_DEFAULT_POLICIES = exports.SKILL_RUNTIME_VERSION = void 0;
4
4
  exports.createPublicSkillContractRuntime = createPublicSkillContractRuntime;
5
5
  exports.createPublicSkillDefaultContractRuntime = createPublicSkillDefaultContractRuntime;
6
6
  exports.classifyPublicSkillTurn = classifyPublicSkillTurn;
@@ -28,7 +28,9 @@ exports.isSeedanceModel = isSeedanceModel;
28
28
  exports.isHappyHorseModel = isHappyHorseModel;
29
29
  exports.resolveVideoControlNetStrength = resolveVideoControlNetStrength;
30
30
  exports.resolveVideoModelAlias = resolveVideoModelAlias;
31
+ exports.resolveImageModelAlias = resolveImageModelAlias;
31
32
  exports.getBuiltinVideoModelConfig = getBuiltinVideoModelConfig;
33
+ exports.getBuiltinImageModelDefaults = getBuiltinImageModelDefaults;
32
34
  exports.normalizeVideoWorkflow = normalizeVideoWorkflow;
33
35
  exports.inferVideoWorkflowFromModel = inferVideoWorkflowFromModel;
34
36
  exports.promptExplicitlyDisablesSpeech = promptExplicitlyDisablesSpeech;
@@ -105,7 +107,7 @@ const turnPolicy_js_1 = require("../contracts/turnPolicy.js");
105
107
  function isLtxWorkflow(workflow) {
106
108
  return workflow === 't2v' || workflow === 'i2v' || workflow === 'ia2v' || workflow === 'a2v' || workflow === 'v2v';
107
109
  }
108
- exports.SKILL_RUNTIME_VERSION = '2026-05-13.1';
110
+ exports.SKILL_RUNTIME_VERSION = '2026-07-18.1';
109
111
  function publicSkillPromptContractFragment(contract) {
110
112
  const parameterDocs = Object.entries(contract.parameterDocs ?? {})
111
113
  .map(([name, description]) => `${name}: ${description}`);
@@ -614,13 +616,21 @@ const CONTEXT_MODEL_REF_FORMAT = {
614
616
  scanRegex: /context_(?:image|video|audio)_\d+/g,
615
617
  };
616
618
  function getModelRefFormat(modelId) {
617
- const trimmed = modelId.trim().toLowerCase();
619
+ const trimmed = modelId.trim().toLowerCase().replace(/[_.\s]+/g, '-').replace(/-+/g, '-');
618
620
  if (trimmed.startsWith('seedance'))
619
621
  return SEEDANCE_MODEL_REF_FORMAT;
620
622
  if (trimmed.startsWith('gpt-image') || trimmed.startsWith('flux'))
621
623
  return GPT_IMAGE_MODEL_REF_FORMAT;
622
- if (trimmed.startsWith('ltx') || trimmed.startsWith('wan') || trimmed.startsWith('qwen-image'))
624
+ if (trimmed.startsWith('ltx') ||
625
+ trimmed.startsWith('wan') ||
626
+ trimmed.startsWith('qwen-image') ||
627
+ trimmed === 'krea-identity-edit' ||
628
+ trimmed.startsWith('krea-2-identity-edit') ||
629
+ trimmed.startsWith('krea2-identity-edit') ||
630
+ trimmed.startsWith('dark-beast-krea2-identity-edit') ||
631
+ trimmed.startsWith('dark-beast-krea-2-identity-edit')) {
623
632
  return CONTEXT_MODEL_REF_FORMAT;
633
+ }
624
634
  console.warn(`[SOGNI RUNTIME] Unknown model_id "${modelId}" fell back to GPT Image model_ref format.`);
625
635
  return GPT_IMAGE_MODEL_REF_FORMAT;
626
636
  }
@@ -657,7 +667,7 @@ exports.QUALITY_AUDIT_SKILL = {
657
667
  exports.IMAGE_GENERATION_SKILL = {
658
668
  id: 'image_generation',
659
669
  name: 'Image generation',
660
- description: 'Text-to-image synthesis (Flux). Use when the user wants a new image generated from a prompt with no source asset.',
670
+ description: 'Text-to-image synthesis with Sogni image models including Z-Image, Krea 2 Turbo, Dark Beast Krea 2, Chroma, Flux, Qwen image, and GPT Image 2. Use when the user wants a new image generated from a prompt with no source asset.',
661
671
  toolNames: ['generate_image'],
662
672
  constraints: [
663
673
  'For persona-driven requests, defer to image_editing — personas must be conditioned on reference photos, never generated from scratch.',
@@ -666,10 +676,11 @@ exports.IMAGE_GENERATION_SKILL = {
666
676
  exports.IMAGE_EDITING_SKILL = {
667
677
  id: 'image_editing',
668
678
  name: 'Image editing',
669
- description: 'Edit, restore, restyle, refine, or change the camera angle of an existing image. Includes persona-conditioned edits — persona images should use edit_image and reference photos rather than text-to-image.',
679
+ description: 'Edit, restore, restyle, refine, or change the camera angle of an existing image. Includes persona-conditioned edits and Krea 2 Identity Edit models — persona images should use edit_image and reference photos rather than text-to-image.',
670
680
  toolNames: ['edit_image', 'restore_photo', 'apply_style', 'change_angle', 'refine_result'],
671
681
  constraints: [
672
682
  'For persona image output, use edit_image with a reference photo rather than generate_image.',
683
+ 'Krea 2 Identity Edit and Dark Beast Krea 2 Identity Edit use edit_image with 1-2 context images, context_image_N refs, 512-2048 px output, default steps=10, guidance=1, sampler=euler, and scheduler=simple.',
673
684
  'refine_result acts on a prior generation in the session; do not call it before any image has been produced or uploaded.',
674
685
  ],
675
686
  };
@@ -1496,6 +1507,47 @@ exports.QUALITY_TIERS = Object.freeze({
1496
1507
  video: { steps: 20, shortSide: 1920 }
1497
1508
  }
1498
1509
  });
1510
+ exports.IMAGE_MODEL_DEFAULTS = Object.freeze({
1511
+ krea2_identity_edit_v1_2: {
1512
+ family: 'krea2-identity-edit',
1513
+ defaultWidth: 1024,
1514
+ defaultHeight: 1024,
1515
+ minDimension: 512,
1516
+ maxDimension: 2048,
1517
+ dimensionMultiple: 16,
1518
+ steps: 10,
1519
+ guidance: 1.0,
1520
+ sampler: 'euler',
1521
+ scheduler: 'simple'
1522
+ },
1523
+ dark_beast_krea2_identity_edit_v1_2: {
1524
+ family: 'krea2-identity-edit',
1525
+ defaultWidth: 1024,
1526
+ defaultHeight: 1024,
1527
+ minDimension: 512,
1528
+ maxDimension: 2048,
1529
+ dimensionMultiple: 16,
1530
+ steps: 10,
1531
+ guidance: 1.0,
1532
+ sampler: 'euler',
1533
+ scheduler: 'simple'
1534
+ }
1535
+ });
1536
+ exports.IMAGE_MODEL_ALIASES = Object.freeze({
1537
+ 'krea-identity-edit': 'krea2_identity_edit_v1_2',
1538
+ 'krea-2-identity-edit': 'krea2_identity_edit_v1_2',
1539
+ 'krea2-identity-edit': 'krea2_identity_edit_v1_2',
1540
+ 'krea2-identity-edit-v1-2': 'krea2_identity_edit_v1_2',
1541
+ 'krea-2-identity-edit-v1-2': 'krea2_identity_edit_v1_2',
1542
+ 'krea-2-identity-edit-lora': 'krea2_identity_edit_v1_2',
1543
+ 'krea-2-identity-edit-lora-v1-2': 'krea2_identity_edit_v1_2',
1544
+ 'dark-beast-krea2-identity-edit': 'dark_beast_krea2_identity_edit_v1_2',
1545
+ 'dark-beast-krea-2-identity-edit': 'dark_beast_krea2_identity_edit_v1_2',
1546
+ 'dark-beast-krea2-identity-edit-v1-2': 'dark_beast_krea2_identity_edit_v1_2',
1547
+ 'dark-beast-krea-2-identity-edit-v1-2': 'dark_beast_krea2_identity_edit_v1_2',
1548
+ 'dark-beast-krea-2-identity-edit-lora': 'dark_beast_krea2_identity_edit_v1_2',
1549
+ 'dark-beast-krea-2-identity-edit-lora-v1-2': 'dark_beast_krea2_identity_edit_v1_2'
1550
+ });
1499
1551
  function isLtx2Model(modelId) {
1500
1552
  return modelId?.startsWith('ltx2-') || modelId?.startsWith('ltx23-') || false;
1501
1553
  }
@@ -1529,6 +1581,15 @@ function resolveVideoModelAlias(modelId, workflow) {
1529
1581
  }
1530
1582
  return exports.VIDEO_MODEL_ALIASES[key] || modelId;
1531
1583
  }
1584
+ function resolveImageModelAlias(modelId) {
1585
+ if (!modelId)
1586
+ return modelId;
1587
+ const key = String(modelId).trim().toLowerCase();
1588
+ if (exports.IMAGE_MODEL_DEFAULTS[key])
1589
+ return key;
1590
+ const aliasKey = key.replace(/[_.\s]+/g, '-').replace(/-+/g, '-');
1591
+ return exports.IMAGE_MODEL_ALIASES[key] || exports.IMAGE_MODEL_ALIASES[aliasKey] || modelId;
1592
+ }
1532
1593
  function getBuiltinVideoModelConfig(modelId) {
1533
1594
  if (!modelId)
1534
1595
  return null;
@@ -1585,6 +1646,14 @@ function getBuiltinVideoModelConfig(modelId) {
1585
1646
  }
1586
1647
  return null;
1587
1648
  }
1649
+ function getBuiltinImageModelDefaults(modelId) {
1650
+ if (!modelId)
1651
+ return null;
1652
+ const id = resolveImageModelAlias(modelId);
1653
+ if (!id)
1654
+ return null;
1655
+ return exports.IMAGE_MODEL_DEFAULTS[id] || null;
1656
+ }
1588
1657
  function normalizeVideoWorkflow(value) {
1589
1658
  if (!value)
1590
1659
  return null;
@@ -1780,8 +1849,9 @@ function workflowRequiresImage(workflow) {
1780
1849
  function getModelDefaults(modelId, config) {
1781
1850
  if (!modelId)
1782
1851
  return null;
1783
- const normalizedModelId = resolveVideoModelAlias(modelId) || modelId;
1784
- const builtin = getBuiltinVideoModelConfig(normalizedModelId);
1852
+ const normalizedModelId = resolveImageModelAlias(resolveVideoModelAlias(modelId) || modelId) || modelId;
1853
+ const builtin = getBuiltinVideoModelConfig(normalizedModelId) ||
1854
+ getBuiltinImageModelDefaults(normalizedModelId);
1785
1855
  const entry = config?.modelDefaults?.[normalizedModelId] || config?.modelDefaults?.[modelId];
1786
1856
  if (!entry || typeof entry !== 'object')
1787
1857
  return builtin;