@sogni-ai/sogni-intelligence-client 3.3.0 → 3.5.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 (107) hide show
  1. package/dist/client/SogniClientWrapper.d.ts +1 -0
  2. package/dist/client/SogniClientWrapper.d.ts.map +1 -1
  3. package/dist/client/SogniClientWrapper.js +13 -5
  4. package/dist/client/SogniClientWrapper.js.map +1 -1
  5. package/dist/contracts/imagePrompt.d.ts +1 -1
  6. package/dist/contracts/imagePrompt.d.ts.map +1 -1
  7. package/dist/contracts/imagePrompt.js +7 -0
  8. package/dist/contracts/imagePrompt.js.map +1 -1
  9. package/dist/contracts/index.d.ts +1 -1
  10. package/dist/contracts/index.d.ts.map +1 -1
  11. package/dist/contracts/index.js +3 -1
  12. package/dist/contracts/index.js.map +1 -1
  13. package/dist/contracts/toolPromptMarkers.d.ts +2 -0
  14. package/dist/contracts/toolPromptMarkers.d.ts.map +1 -1
  15. package/dist/contracts/toolPromptMarkers.js +4 -1
  16. package/dist/contracts/toolPromptMarkers.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/media/vendorModelPremium.d.ts +1 -1
  22. package/dist/media/vendorModelPremium.d.ts.map +1 -1
  23. package/dist/media/vendorModelPremium.js +3 -1
  24. package/dist/media/vendorModelPremium.js.map +1 -1
  25. package/dist/media/videoSettings.d.ts +22 -1
  26. package/dist/media/videoSettings.d.ts.map +1 -1
  27. package/dist/media/videoSettings.js +92 -1
  28. package/dist/media/videoSettings.js.map +1 -1
  29. package/dist/openai-tools/_manifests.generated.d.ts.map +1 -1
  30. package/dist/openai-tools/_manifests.generated.js +1 -0
  31. package/dist/openai-tools/_manifests.generated.js.map +1 -1
  32. package/dist/openai-tools/generation-tools.json +1 -0
  33. package/dist/public-skill-runtime/index.d.ts +7 -0
  34. package/dist/public-skill-runtime/index.d.ts.map +1 -1
  35. package/dist/public-skill-runtime/index.js +19 -1
  36. package/dist/public-skill-runtime/index.js.map +1 -1
  37. package/dist/schemas/tools/generate_image.schema.json +1 -0
  38. package/dist/skills/asset_reference_management/modelRefRegistry.d.ts.map +1 -1
  39. package/dist/skills/asset_reference_management/modelRefRegistry.js +24 -0
  40. package/dist/skills/asset_reference_management/modelRefRegistry.js.map +1 -1
  41. package/dist/skills/asset_reference_management/types.d.ts +1 -1
  42. package/dist/skills/asset_reference_management/types.d.ts.map +1 -1
  43. package/dist/tools/definitions/edit-image/definition.js +2 -2
  44. package/dist/tools/definitions/edit-image/definition.js.map +1 -1
  45. package/dist/tools/definitions/generate-image/definition.js +4 -4
  46. package/dist/tools/definitions/generate-image/definition.js.map +1 -1
  47. package/dist/tools/definitions/generate-video/definition.d.ts.map +1 -1
  48. package/dist/tools/definitions/generate-video/definition.js +13 -2
  49. package/dist/tools/definitions/generate-video/definition.js.map +1 -1
  50. package/dist/tools/index.d.ts +4 -0
  51. package/dist/tools/index.d.ts.map +1 -1
  52. package/dist/tools/index.js +11 -2
  53. package/dist/tools/index.js.map +1 -1
  54. package/dist/tools/shared/happyhorsePolicyErrors.d.ts +30 -0
  55. package/dist/tools/shared/happyhorsePolicyErrors.d.ts.map +1 -0
  56. package/dist/tools/shared/happyhorsePolicyErrors.js +175 -0
  57. package/dist/tools/shared/happyhorsePolicyErrors.js.map +1 -0
  58. package/dist/tools/shared/happyhorseReferences.d.ts +24 -0
  59. package/dist/tools/shared/happyhorseReferences.d.ts.map +1 -0
  60. package/dist/tools/shared/happyhorseReferences.js +52 -0
  61. package/dist/tools/shared/happyhorseReferences.js.map +1 -0
  62. package/dist/tools/shared/modelRegistry.d.ts.map +1 -1
  63. package/dist/tools/shared/modelRegistry.js +4 -0
  64. package/dist/tools/shared/modelRegistry.js.map +1 -1
  65. package/dist/utils/helpers.d.ts +1 -0
  66. package/dist/utils/helpers.d.ts.map +1 -1
  67. package/dist/utils/helpers.js +30 -0
  68. package/dist/utils/helpers.js.map +1 -1
  69. package/dist-esm/client/SogniClientWrapper.js +13 -5
  70. package/dist-esm/client/SogniClientWrapper.js.map +1 -1
  71. package/dist-esm/contracts/imagePrompt.js +7 -0
  72. package/dist-esm/contracts/imagePrompt.js.map +1 -1
  73. package/dist-esm/contracts/index.js +1 -1
  74. package/dist-esm/contracts/index.js.map +1 -1
  75. package/dist-esm/contracts/toolPromptMarkers.js +3 -0
  76. package/dist-esm/contracts/toolPromptMarkers.js.map +1 -1
  77. package/dist-esm/index.js +1 -1
  78. package/dist-esm/index.js.map +1 -1
  79. package/dist-esm/media/vendorModelPremium.js +3 -1
  80. package/dist-esm/media/vendorModelPremium.js.map +1 -1
  81. package/dist-esm/media/videoSettings.js +90 -0
  82. package/dist-esm/media/videoSettings.js.map +1 -1
  83. package/dist-esm/openai-tools/_manifests.generated.js +1 -0
  84. package/dist-esm/openai-tools/_manifests.generated.js.map +1 -1
  85. package/dist-esm/openai-tools/generation-tools.json +1 -0
  86. package/dist-esm/public-skill-runtime/index.js +16 -0
  87. package/dist-esm/public-skill-runtime/index.js.map +1 -1
  88. package/dist-esm/schemas/tools/generate_image.schema.json +1 -0
  89. package/dist-esm/skills/asset_reference_management/modelRefRegistry.js +24 -0
  90. package/dist-esm/skills/asset_reference_management/modelRefRegistry.js.map +1 -1
  91. package/dist-esm/tools/definitions/edit-image/definition.js +2 -2
  92. package/dist-esm/tools/definitions/edit-image/definition.js.map +1 -1
  93. package/dist-esm/tools/definitions/generate-image/definition.js +4 -4
  94. package/dist-esm/tools/definitions/generate-image/definition.js.map +1 -1
  95. package/dist-esm/tools/definitions/generate-video/definition.js +14 -3
  96. package/dist-esm/tools/definitions/generate-video/definition.js.map +1 -1
  97. package/dist-esm/tools/index.js +3 -0
  98. package/dist-esm/tools/index.js.map +1 -1
  99. package/dist-esm/tools/shared/happyhorsePolicyErrors.js +168 -0
  100. package/dist-esm/tools/shared/happyhorsePolicyErrors.js.map +1 -0
  101. package/dist-esm/tools/shared/happyhorseReferences.js +46 -0
  102. package/dist-esm/tools/shared/happyhorseReferences.js.map +1 -0
  103. package/dist-esm/tools/shared/modelRegistry.js +4 -0
  104. package/dist-esm/tools/shared/modelRegistry.js.map +1 -1
  105. package/dist-esm/utils/helpers.js +29 -0
  106. package/dist-esm/utils/helpers.js.map +1 -1
  107. package/package.json +3 -3
@@ -17,6 +17,7 @@
17
17
  "gpt-image-2",
18
18
  "z-turbo",
19
19
  "z-image",
20
+ "krea-2-turbo",
20
21
  "chroma-v46-flash",
21
22
  "chroma-detail",
22
23
  "flux1-krea",
@@ -1 +1 @@
1
- {"version":3,"file":"modelRefRegistry.d.ts","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/modelRefRegistry.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,cAAc;IAE7B,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAE5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;CACpB;AA8ED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAEjE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,CAoCrF;AAED,wBAAgB,wBAAwB,IAAI,aAAa,CAAC;IACxD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC,CASD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAEtF;AAED,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,CAE5D"}
1
+ {"version":3,"file":"modelRefRegistry.d.ts","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/modelRefRegistry.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,cAAc;IAE7B,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAE5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;CACpB;AAwGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAEjE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,CAqCrF;AAED,wBAAgB,wBAAwB,IAAI,aAAa,CAAC;IACxD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC,CASD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAEtF;AAED,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,CAE5D"}
@@ -25,6 +25,27 @@ const SEEDANCE_FORMAT = {
25
25
  },
26
26
  scanRegex: /@(?:Image|Video|Audio)\d+/g,
27
27
  };
28
+ const HAPPYHORSE_FORMAT = {
29
+ format(index, type) {
30
+ if (type === 'video')
31
+ return `[Video ${index}]`;
32
+ if (type === 'audio')
33
+ return `[Audio ${index}]`;
34
+ return `[Image ${index}]`;
35
+ },
36
+ parse(token) {
37
+ const m = /^\[(Image|Video|Audio)\s+(\d+)\]$/.exec(token.trim());
38
+ if (!m)
39
+ return null;
40
+ const kind = m[1];
41
+ const idx = Number.parseInt(m[2], 10);
42
+ if (!Number.isFinite(idx) || idx < 1)
43
+ return null;
44
+ const t = kind === 'Video' ? 'video' : kind === 'Audio' ? 'audio' : 'image';
45
+ return { index: idx, type: t };
46
+ },
47
+ scanRegex: /\[(?:Image|Video|Audio)\s+\d+\]/g,
48
+ };
28
49
  const GPT_IMAGE_2_FORMAT = {
29
50
  format(index, type) {
30
51
  if (type === 'video')
@@ -71,6 +92,7 @@ const CONTEXT_FORMAT = {
71
92
  };
72
93
  const MODEL_REF_FORMATS = {
73
94
  seedance: SEEDANCE_FORMAT,
95
+ happyhorse: HAPPYHORSE_FORMAT,
74
96
  'gpt-image-2': GPT_IMAGE_2_FORMAT,
75
97
  ltx23: CONTEXT_FORMAT,
76
98
  wan: CONTEXT_FORMAT,
@@ -94,6 +116,8 @@ function getModelRefFormatResolution(modelId) {
94
116
  }
95
117
  if (trimmed.startsWith('seedance'))
96
118
  return { format: SEEDANCE_FORMAT, model_id: 'seedance', fell_back: false };
119
+ if (trimmed.startsWith('happyhorse'))
120
+ return { format: HAPPYHORSE_FORMAT, model_id: 'happyhorse', fell_back: false };
97
121
  if (trimmed.startsWith('gpt-image') || trimmed.startsWith('flux')) {
98
122
  return {
99
123
  format: GPT_IMAGE_2_FORMAT,
@@ -1 +1 @@
1
- {"version":3,"file":"modelRefRegistry.js","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/modelRefRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modelRefRegistry.js","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/modelRefRegistry.ts"],"names":[],"mappings":";;AA2IA,8CAEC;AAED,kEAqCC;AAED,4DAYC;AAED,wCAEC;AAED,wDAEC;AArKD,MAAM,eAAe,GAAmB;IACtC,MAAM,CAAC,KAAK,EAAE,IAAI;QAChB,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,SAAS,KAAK,EAAE,CAAC;QAC9C,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,SAAS,KAAK,EAAE,CAAC;QAC9C,OAAO,SAAS,KAAK,EAAE,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,KAAK;QACT,MAAM,CAAC,GAAG,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,MAAM,CAAC,GAAc,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACvF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC;IACD,SAAS,EAAE,4BAA4B;CACxC,CAAC;AASF,MAAM,iBAAiB,GAAmB;IACxC,MAAM,CAAC,KAAK,EAAE,IAAI;QAChB,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,UAAU,KAAK,GAAG,CAAC;QAChD,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,UAAU,KAAK,GAAG,CAAC;QAChD,OAAO,UAAU,KAAK,GAAG,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,KAAK;QACT,MAAM,CAAC,GAAG,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,MAAM,CAAC,GAAc,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACvF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC;IACD,SAAS,EAAE,kCAAkC;CAC9C,CAAC;AAEF,MAAM,kBAAkB,GAAmB;IACzC,MAAM,CAAC,KAAK,EAAE,IAAI;QAChB,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,SAAS,KAAK,EAAE,CAAC;QAC9C,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,SAAS,KAAK,EAAE,CAAC;QAC9C,OAAO,SAAS,KAAK,EAAE,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,KAAK;QACT,MAAM,CAAC,GAAG,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,MAAM,CAAC,GAAc,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACvF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC;IACD,SAAS,EAAE,iGAAiG;CAC7G,CAAC;AAMF,MAAM,cAAc,GAAmB;IACrC,MAAM,CAAC,KAAK,EAAE,IAAI;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,iBAAiB,IAAI,EAAE,CAAC;QACrD,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,iBAAiB,IAAI,EAAE,CAAC;QACrD,OAAO,iBAAiB,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,KAAK,CAAC,KAAK;QACT,MAAM,CAAC,GAAG,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,OAAO;YACL,KAAK,EAAE,IAAI,GAAG,CAAC;YACf,IAAI,EAAE,CAAC,CAAC,CAAC,CAAc;SACxB,CAAC;IACJ,CAAC;IACD,SAAS,EAAE,oCAAoC;CAChD,CAAC;AAEF,MAAM,iBAAiB,GAA8C;IACnE,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,iBAAiB;IAC7B,aAAa,EAAE,kBAAkB;IACjC,KAAK,EAAE,cAAc;IACrB,GAAG,EAAE,cAAc;IACnB,iBAAiB,EAAE,cAAc;IACjC,IAAI,EAAE,kBAAkB;CACzB,CAAC;AAEF,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAC/F,CAAC;AAMD,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AACrD,CAAC;AAED,SAAgB,2BAA2B,CAAC,OAAe;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACjC,OAAO;YACL,MAAM,EAAE,iBAAiB,CAAC,OAA4B,CAAC;YACvD,QAAQ,EAAE,OAA4B;YACtC,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAGD,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC/G,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACrH,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;YAC7D,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QACzB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QACzB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAChC,CAAC;QACD,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO;YAC5G,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,iCAAiC,OAAO,8CAA8C,CAAC,CAAC;IACrG,OAAO;QACL,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB;IAItC,OAAQ,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAgD;SACrF,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,QAAQ;QACR,MAAM,EAAE;YACN,GAAG,MAAM;YACT,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC;SAC9C;KACF,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAgB,cAAc,CAAC,OAAe,EAAE,KAAa,EAAE,IAAe;IAC5E,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,sBAAsB;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAwB,CAAC;AAC/D,CAAC"}
@@ -14,7 +14,7 @@ export interface AssetManifest {
14
14
  next_index: number;
15
15
  updated_at: string;
16
16
  }
17
- export type KnownAssetModelId = 'seedance' | 'ltx23' | 'gpt-image-2' | 'wan' | 'qwen-image-edit' | 'flux';
17
+ export type KnownAssetModelId = 'seedance' | 'happyhorse' | 'ltx23' | 'gpt-image-2' | 'wan' | 'qwen-image-edit' | 'flux';
18
18
  export interface AssetReferenceValidationResult {
19
19
  resolved: ReadonlyArray<{
20
20
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/types.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAGpD,MAAM,WAAW,WAAW;IAE1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,EAAE,SAAS,CAAC;IAEhB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;AAGD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAE/B,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,OAAO,GACP,aAAa,GACb,KAAK,GACL,iBAAiB,GACjB,MAAM,CAAC;AAOX,MAAM,WAAW,8BAA8B;IAE7C,QAAQ,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,QAAQ,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,eAAe,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;QAChG,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC,CAAC;IAOH,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/types.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAGpD,MAAM,WAAW,WAAW;IAE1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,EAAE,SAAS,CAAC;IAEhB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;AAGD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAE/B,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,YAAY,GACZ,OAAO,GACP,aAAa,GACb,KAAK,GACL,iBAAiB,GACjB,MAAM,CAAC;AAOX,MAAM,WAAW,8BAA8B;IAE7C,QAAQ,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,QAAQ,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,eAAe,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;QAChG,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC,CAAC;IAOH,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC"}
@@ -7,7 +7,7 @@ exports.definition = {
7
7
  type: 'function',
8
8
  function: {
9
9
  name: 'edit_image',
10
- description: 'Generate images guided by reference photos. Supports GPT Image 2 up to 16 images, Flux.2 up to 6 images, and Qwen up to 3 images. Best for style-guided generation, combining elements from multiple images, persona image creation, and uploaded brand asset reuse — logos, brand marks, mascots, product shots, photos, screenshots, sketches, or character designs the user expects to appear in or guide the result. Use this instead of generate_image when persona photos or uploaded image assets are meant to be reused in context, even if a specific model is requested. Exception: explicit Z-image/Z-image Turbo uploaded-image enhancement uses generate_image with sourceImageIndex and starting_image_strength because edit_image does not expose Z-image models. If a previous edit_image attempt did not preserve the uploaded asset well, stay on edit_image and tighten the prompt or switch model; generate_image has no access to the upload. For direct edits (remove objects, enhance), use restore_photo or refine_result unless the user explicitly requested Z-image.',
10
+ description: 'Generate images guided by reference photos. Supports GPT Image 2 up to 16 images, Flux.2 up to 6 images, and Qwen up to 3 images. Best for style-guided generation, combining elements from multiple images, persona image creation, and uploaded brand asset reuse — logos, brand marks, mascots, product shots, photos, screenshots, sketches, or character designs the user expects to appear in or guide the result. Use this instead of generate_image when persona photos or uploaded image assets are meant to be reused in context, even if a specific model is requested. Exception: explicit Z-image/Z-image Turbo/Krea 2 Turbo uploaded-image enhancement uses generate_image with sourceImageIndex and starting_image_strength because edit_image does not expose those models. If a previous edit_image attempt did not preserve the uploaded asset well, stay on edit_image and tighten the prompt or switch model; generate_image has no access to the upload. For direct edits (remove objects, enhance), use restore_photo or refine_result unless the user explicitly requested Z-image or Krea 2 Turbo.',
11
11
  parameters: {
12
12
  type: 'object',
13
13
  properties: {
@@ -82,7 +82,7 @@ COMPOSITE GPT IMAGE 2 STORYBOARD SHEETS: When numberOfVariations=1 and the user
82
82
  model: {
83
83
  type: 'string',
84
84
  enum: ['gpt-image-2', 'qwen-lightning', 'qwen', 'flux2'],
85
- description: 'The app auto-selects the edit model from the Default Media Quality setting (Fast→Qwen Lightning, HQ→full Qwen, Pro→Flux.2) as a FALLBACK for ordinary edits. That default is a floor, not a cap: set this parameter to override it whenever the task needs more fidelity than the fallback gives, and do not let a Fast default downgrade a fidelity-critical edit. Set "gpt-image-2" when the user names a ChatGPT, OpenAI, GPT, GPT-2, GPT Image, or gpt-image-2 model, OR for any detail-critical render or edit — dense labels, crisp or legible typography, fine text, multi-panel composition, timing notes, foley notes, professional storyboard-sheet/contact-sheet/panel layout, or a character/mascot/model sheet with turnarounds, expressions, accessories, palette swatches, and brand notes — INCLUDING editing an uploaded image that is itself a storyboard, contact sheet, multi-panel layout, or text-dense graphic. Choose "gpt-image-2" for these even when the Default Media Quality is Fast. If "gpt-image-2" is unavailable (for example insufficient credits), fall back to "qwen" (full Qwen Image Edit), never "qwen-lightning", for such fine-detail or legible-text edits. For ordinary single-subject edits with no fine text or panels, omit this parameter and let the quality default apply. Z-image and Z-image Turbo are not edit_image models; route those explicit uploaded-image enhancement requests to generate_image with sourceImageIndex and starting_image_strength. If the user names another edit/image model, honor that requested model instead. GPT Image 2 always processes input images at high fidelity; do not set input_fidelity.',
85
+ description: 'The app auto-selects the edit model from the Default Media Quality setting (Fast→Qwen Lightning, HQ→full Qwen, Pro→Flux.2) as a FALLBACK for ordinary edits. That default is a floor, not a cap: set this parameter to override it whenever the task needs more fidelity than the fallback gives, and do not let a Fast default downgrade a fidelity-critical edit. Set "gpt-image-2" when the user names a ChatGPT, OpenAI, GPT, GPT-2, GPT Image, or gpt-image-2 model, OR for any detail-critical render or edit — dense labels, crisp or legible typography, fine text, multi-panel composition, timing notes, foley notes, professional storyboard-sheet/contact-sheet/panel layout, or a character/mascot/model sheet with turnarounds, expressions, accessories, palette swatches, and brand notes — INCLUDING editing an uploaded image that is itself a storyboard, contact sheet, multi-panel layout, or text-dense graphic. Choose "gpt-image-2" for these even when the Default Media Quality is Fast. If "gpt-image-2" is unavailable (for example insufficient credits), fall back to "qwen" (full Qwen Image Edit), never "qwen-lightning", for such fine-detail or legible-text edits. For ordinary single-subject edits with no fine text or panels, omit this parameter and let the quality default apply. Z-image, Z-image Turbo, and Krea 2 Turbo are not edit_image models; route those explicit uploaded-image enhancement requests to generate_image with sourceImageIndex and starting_image_strength. If the user names another edit/image model, honor that requested model instead. GPT Image 2 always processes input images at high fidelity; do not set input_fidelity.',
86
86
  },
87
87
  sourceImageIndex: {
88
88
  type: 'number',
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/edit-image/definition.ts"],"names":[],"mappings":";;;AAMA,wFAAqF;AACrF,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,iiCAAiiC;QACniC,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,iDAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+oBA8DsnB;iBACtoB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC;oBACxD,WAAW,EACT,wlDAAwlD;iBAC3lD;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,kiBAAkiB;iBACriB;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wrBAAwrB;oBAC1rB,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qzBAAqzB;iBACxzB;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,uzBAAuzB;iBAC1zB;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,GAAG,mCAAwB,imBAAimB;iBAC/nB;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;oBAC/B,WAAW,EACT,4QAA4Q;iBAC/Q;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;oBACpC,WAAW,EACT,uLAAuL;iBAC1L;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2jBAA2jB;iBAC9jB;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/edit-image/definition.ts"],"names":[],"mappings":";;;AAMA,wFAAqF;AACrF,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,4jCAA4jC;QAC9jC,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,iDAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+oBA8DsnB;iBACtoB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC;oBACxD,WAAW,EACT,umDAAumD;iBAC1mD;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,kiBAAkiB;iBACriB;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wrBAAwrB;oBAC1rB,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qzBAAqzB;iBACxzB;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,uzBAAuzB;iBAC1zB;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,GAAG,mCAAwB,imBAAimB;iBAC/nB;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;oBAC/B,WAAW,EACT,4QAA4Q;iBAC/Q;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;oBACpC,WAAW,EACT,uLAAuL;iBAC1L;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2jBAA2jB;iBAC9jB;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
@@ -7,7 +7,7 @@ exports.definition = {
7
7
  type: 'function',
8
8
  function: {
9
9
  name: 'generate_image',
10
- description: 'Generate a new image from a text description. Usually this is text-only: do NOT use this tool when the user expects an existing image to be reused or preserved in the result. That includes (a) people from My Personas, and (b) uploaded assets such as logos, brand marks, mascots, product shots, photos, screenshots, sketches, character designs, or other reference images they want carried through. Use edit_image with sourceImageIndex=-1 (or the appropriate generated index) instead. Exception: when the user explicitly requests Z-image, Z Image, or Z-image Turbo for an uploaded-image enhancement/image-to-image request, use this tool with model="z-turbo" or model="z-image", sourceImageIndex=-1, and starting_image_strength because edit_image does not expose Z-image models.',
10
+ description: 'Generate a new image from a text description. Usually this is text-only: do NOT use this tool when the user expects an existing image to be reused or preserved in the result. That includes (a) people from My Personas, and (b) uploaded assets such as logos, brand marks, mascots, product shots, photos, screenshots, sketches, character designs, or other reference images they want carried through. Use edit_image with sourceImageIndex=-1 (or the appropriate generated index) instead. Exception: when the user explicitly requests Z-image, Z Image, Z-image Turbo, or Krea 2 Turbo for an uploaded-image enhancement/image-to-image request, use this tool with model="z-turbo", model="z-image", or model="krea-2-turbo", sourceImageIndex=-1, and starting_image_strength because edit_image does not expose those models.',
11
11
  parameters: {
12
12
  type: 'object',
13
13
  properties: {
@@ -43,13 +43,13 @@ VIDEO KEYFRAMES: When generating images intended as first+last frames for video
43
43
  type: 'string',
44
44
  enum: [
45
45
  'gpt-image-2',
46
- 'z-turbo', 'z-image', 'chroma-v46-flash', 'chroma-detail', 'flux1-krea', 'flux2', 'pony-v7',
46
+ 'z-turbo', 'z-image', 'krea-2-turbo', 'chroma-v46-flash', 'chroma-detail', 'flux1-krea', 'flux2', 'pony-v7',
47
47
  'qwen-2512', 'qwen-2512-lightning',
48
48
  'albedo-xl', 'animagine-xl', 'anima-pencil-xl', 'art-universe-xl', 'hyphoria-real',
49
49
  'analog-madness-xl', 'cyberrealistic-xl', 'real-dream-xl', 'faetastic-xl',
50
50
  'zavychroma-xl', 'pony-faetality', 'dreamshaper-xl',
51
51
  ],
52
- description: 'DO NOT SET THIS PARAMETER unless the user names a specific model, asks for a very complex image render, asks for a video storyboard/storyboard sheet/contact sheet/panel layout image, or explicitly asks for Z-image/Z-image Turbo image-to-image. The app auto-selects based on quality settings. Set "gpt-image-2" when the user asks for a ChatGPT, OpenAI, GPT, GPT-2, GPT Image, or gpt-image-2 image/model, when they explicitly request very strong text rendering, or by default for complex single-image renders that need dense labels, crisp typography, multi-panel composition, timing notes, foley notes, professional storyboard-sheet layout, or a comprehensive character/mascot/model sheet with turnarounds, expressions, accessories, palette swatches, and brand notes. Set "z-turbo" when the user asks for Z-image Turbo; set "z-image" when they ask for Z-image without Turbo. If the user names another image model, honor that requested model instead. A model preference usually does not change which tool to use; the Z-image image-to-image exception uses sourceImageIndex plus starting_image_strength on this tool. NSFW rule: "gpt-image-2"/"flux2"/"flux1-krea" CANNOT do nudity — use "pony-v7", "chroma-detail", "chroma-v46-flash", or "z-turbo" instead.',
52
+ description: 'DO NOT SET THIS PARAMETER unless the user names a specific model, asks for a very complex image render, asks for a video storyboard/storyboard sheet/contact sheet/panel layout image, or explicitly asks for Z-image/Z-image Turbo/Krea 2 Turbo image-to-image. The app auto-selects based on quality settings. Set "gpt-image-2" when the user asks for a ChatGPT, OpenAI, GPT, GPT-2, GPT Image, or gpt-image-2 image/model, when they explicitly request very strong text rendering, or by default for complex single-image renders that need dense labels, crisp typography, multi-panel composition, timing notes, foley notes, professional storyboard-sheet layout, or a comprehensive character/mascot/model sheet with turnarounds, expressions, accessories, palette swatches, and brand notes. Set "z-turbo" when the user asks for Z-image Turbo; set "z-image" when they ask for Z-image without Turbo. Set "krea-2-turbo" when the user asks for Krea 2 Turbo. If the user names another image model, honor that requested model instead. A model preference usually does not change which tool to use; the Z-image and Krea 2 Turbo image-to-image exception uses sourceImageIndex plus starting_image_strength on this tool. NSFW rule: "gpt-image-2"/"flux2"/"flux1-krea" CANNOT do nudity — use "pony-v7", "chroma-detail", "chroma-v46-flash", or "z-turbo" instead.',
53
53
  },
54
54
  width: {
55
55
  type: 'number',
@@ -71,7 +71,7 @@ VIDEO KEYFRAMES: When generating images intended as first+last frames for video
71
71
  },
72
72
  starting_image_strength: {
73
73
  type: 'number',
74
- description: 'Image-to-image strength (0.0-1.0). Only used when a source image is available and model supports img2img. Higher values = more deviation from the source image. 0.35 = conservative enhancement, 0.5 = balanced, 0.8 = creative. Set this with sourceImageIndex when the user explicitly requests Z-image/Z-image Turbo enhancement or any supported img2img starting-image workflow.',
74
+ description: 'Image-to-image strength (0.0-1.0). Only used when a source image is available and model supports img2img. Higher values = more deviation from the source image. 0.35 = conservative enhancement, 0.5 = balanced, 0.8 = creative. Set this with sourceImageIndex when the user explicitly requests Z-image/Z-image Turbo/Krea 2 Turbo enhancement or any supported img2img starting-image workflow.',
75
75
  },
76
76
  sourceImageIndex: {
77
77
  type: 'number',
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-image/definition.ts"],"names":[],"mappings":";;;AAMA,wFAAqF;AACrF,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,ywBAAywB;QAC3wB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,iDAAuB;;;;;;;;;;;;;;;;;;;;;;siBAsB6gB;iBAC7hB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,aAAa;wBACb,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS;wBAC3F,WAAW,EAAE,qBAAqB;wBAClC,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe;wBAClF,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc;wBACzE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB;qBACpD;oBACD,WAAW,EACT,ouCAAouC;iBACvuC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2yBAA2yB;iBAC9yB;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4yBAA4yB;iBAC/yB;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,s9CAAs9C;oBACx9C,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,oJAAoJ;iBACvJ;gBACD,uBAAuB,EAAE;oBACvB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,uXAAuX;iBAC1X;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,sLAAsL;iBACzL;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,uIAAuI;iBAC1I;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2KAA2K;iBAC9K;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;oBAC/B,WAAW,EACT,4QAA4Q;iBAC/Q;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;oBACpC,WAAW,EACT,uLAAuL;iBAC1L;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,GAAG,mCAAwB,glBAAglB;iBAC9mB;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-image/definition.ts"],"names":[],"mappings":";;;AAMA,wFAAqF;AACrF,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,4yBAA4yB;QAC9yB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,iDAAuB;;;;;;;;;;;;;;;;;;;;;;siBAsB6gB;iBAC7hB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,aAAa;wBACb,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS;wBAC3G,WAAW,EAAE,qBAAqB;wBAClC,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe;wBAClF,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc;wBACzE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB;qBACpD;oBACD,WAAW,EACT,0zCAA0zC;iBAC7zC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2yBAA2yB;iBAC9yB;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4yBAA4yB;iBAC/yB;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,s9CAAs9C;oBACx9C,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,oJAAoJ;iBACvJ;gBACD,uBAAuB,EAAE;oBACvB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,oYAAoY;iBACvY;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,sLAAsL;iBACzL;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,uIAAuI;iBAC1I;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2KAA2K;iBAC9K;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;oBAC/B,WAAW,EACT,4QAA4Q;iBAC/Q;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;oBACpC,WAAW,EACT,uLAAuL;iBAC1L;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,GAAG,mCAAwB,glBAAglB;iBAC9mB;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-video/definition.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,eAAO,MAAM,UAAU,EAAE,cAgIxB,CAAC"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-video/definition.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUlD,eAAO,MAAM,UAAU,EAAE,cA2IxB,CAAC"}
@@ -65,9 +65,20 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax. This i
65
65
  },
66
66
  videoModel: {
67
67
  type: "string",
68
- enum: ["ltx23", "wan22", "seedance2", "seedance2-mini", "seedance2-fast"],
68
+ enum: [
69
+ "ltx23",
70
+ "wan22",
71
+ "seedance2",
72
+ "seedance2-mini",
73
+ "seedance2-fast",
74
+ "happyhorse-1.1-t2v",
75
+ "happyhorse-1.1-i2v",
76
+ "happyhorse-1.1-r2v",
77
+ ],
69
78
  description: 'Video model. "ltx23" (default): LTX 2.3 with native audio; Fast/HQ use the distilled 8-step worker and Default Media Quality Pro uses the non-distilled dev worker. "wan22": Fast 4-step, simple motion, no audio. Default: "ltx23". Seedance quality is selected only by model: use "seedance2-mini" for Seedance 2.0 Mini or faster/lower-cost 720p iteration, use "seedance2-fast" only when the user explicitly asks for Seedance Fast / seedance-fast, and use "seedance2" for the full Seedance 2.0 model, explicit non-fast/full-quality requests, 1080p/4K requests, or generated/uploaded storyboard images unless the user explicitly asks for a draft, Mini, or the fast model. Do not use Default Media Quality Fast/HQ/Pro or targetResolution to represent Seedance quality. ' +
70
- toolPromptMarkers_js_1.SEEDANCE_TOOL_MULTIMODAL_REFERENCE_GUIDANCE,
79
+ toolPromptMarkers_js_1.SEEDANCE_TOOL_MULTIMODAL_REFERENCE_GUIDANCE +
80
+ ' ' +
81
+ toolPromptMarkers_js_1.HAPPYHORSE_GENERATE_VIDEO_MODEL_DESCRIPTION,
71
82
  },
72
83
  generateAudio: {
73
84
  type: "boolean",
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-video/definition.ts"],"names":[],"mappings":";;;AAMA,kFAKiD;AACjD,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,g5IAAg5I;QACl5I,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,oDAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;kcA4Bma;iBACzb;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,yDAAkC;iBAChD;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,wEAAiD;iBAC/D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8GAA8G;oBAChH,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mVAAmV;iBACtV;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;oBACzE,WAAW,EACT,6vBAA6vB;wBAC7vB,kEAA2C;iBAC9C;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,oKAAoK;iBACvK;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,w0BAAw0B;iBAC30B;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,mfAAmf;iBACtf;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,yvBAAyvB;iBAC5vB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,i/BAAi/B;iBACp/B;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,urBAAurB;iBAC1rB;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,o1BAAo1B;iBACv1B;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4XAA4X;oBAC9X,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAwB;iBACtC;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8jBAA8jB;iBACjkB;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-video/definition.ts"],"names":[],"mappings":";;;AAMA,kFAMiD;AACjD,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,g5IAAg5I;QACl5I,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,oDAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;kcA4Bma;iBACzb;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,yDAAkC;iBAChD;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,wEAAiD;iBAC/D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8GAA8G;oBAChH,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mVAAmV;iBACtV;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,OAAO;wBACP,OAAO;wBACP,WAAW;wBACX,gBAAgB;wBAChB,gBAAgB;wBAChB,oBAAoB;wBACpB,oBAAoB;wBACpB,oBAAoB;qBACrB;oBACD,WAAW,EACT,6vBAA6vB;wBAC7vB,kEAA2C;wBAC3C,GAAG;wBACH,kEAA2C;iBAC9C;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,oKAAoK;iBACvK;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,w0BAAw0B;iBAC30B;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,mfAAmf;iBACtf;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,yvBAAyvB;iBAC5vB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,i/BAAi/B;iBACp/B;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,urBAAurB;iBAC1rB;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,o1BAAo1B;iBACv1B;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4XAA4X;oBAC9X,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAwB;iBACtC;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8jBAA8jB;iBACjkB;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
@@ -5,8 +5,12 @@ export { MODELS_BY_TOOL, getAlternativeModels, getModelArgKey, getModelOptions,
5
5
  export type { ModelOption } from './shared/modelRegistry.js';
6
6
  export * from './shared/policyChecks.js';
7
7
  export * from './shared/seedancePolicyErrors.js';
8
+ export * from './shared/happyhorsePolicyErrors.js';
8
9
  export { SEEDANCE_REFERENCE_LIMITS, SeedanceReferenceLimitError, validateSeedanceReferenceCounts, } from './shared/seedanceReferences.js';
9
10
  export type { SeedanceReferenceLimits, SeedanceReferenceLimitKind, SeedanceReferenceCounts, } from './shared/seedanceReferences.js';
11
+ export { HAPPYHORSE_REFERENCE_LIMITS, HappyHorseReferenceLimitError, getHappyHorseReferenceLimits, validateHappyHorseReferenceCounts, } from './shared/happyhorseReferences.js';
12
+ export type { HappyHorseReferenceLimits, HappyHorseReferenceLimitKind, HappyHorseReferenceCounts, } from './shared/happyhorseReferences.js';
13
+ export { HAPPYHORSE_GENERATE_VIDEO_MODEL_DESCRIPTION, HAPPYHORSE_TOOL_REFERENCE_GUIDANCE, } from '../contracts/toolPromptMarkers.js';
10
14
  export * from './shared/llmHelpers.js';
11
15
  export * from './shared/promptRefinementCache.js';
12
16
  export * from './shared/imageEncoding.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,aAAa,EACb,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,eAAe,EACf,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,aAAa,EACb,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EACL,eAAe,EACf,cAAc,EACd,0BAA0B,EAC1B,OAAO,EACP,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mDAAmD,EACnD,yCAAyC,GAC1C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0CAA0C,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,gDAAgD,EAAE,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,aAAa,EACb,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,eAAe,EACf,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EACL,2CAA2C,EAC3C,kCAAkC,GACnC,MAAM,mCAAmC,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,aAAa,EACb,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EACL,eAAe,EACf,cAAc,EACd,0BAA0B,EAC1B,OAAO,EACP,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mDAAmD,EACnD,yCAAyC,GAC1C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0CAA0C,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,gDAAgD,EAAE,MAAM,yCAAyC,CAAC"}
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.isStoryboardKeyframeBatchPrompt = exports.promptHasLinkedVariantBatchLanguage = exports.promptHasStoryboardBatchLanguage = exports.validateSingleDynamicPromptBranch = exports.validateSceneDynamicPromptBatch = exports.buildDynamicPromptSlotPrompts = exports.isolateDynamicPromptSlot = exports.extractDynamicPromptBranches = exports.expandSingleSourceFanOutForPerClipPrompts = exports.collapseSingleSourceFanOutToDynamicPromptVariations = exports.toolOk = exports.toolErr = exports.mapLegacyToolErrorCategory = exports.isToolResultOk = exports.isToolResultErr = exports.resolveDancePresetForRequest = exports.DANCE_PRESETS = exports.SUBTITLE_VERTICAL_POSITIONS = exports.STITCH_TRANSITION_TYPES = exports.OVERLAY_POSITIONS = exports.videoToVideoDefinition = exports.stitchVideoDefinition = exports.soundToVideoDefinition = exports.restorePhotoDefinition = exports.replaceVideoSegmentDefinition = exports.refineResultDefinition = exports.overlayVideoDefinition = exports.orbitVideoDefinition = exports.generationToolDefinitions = exports.generateVideoDefinition = exports.generateMusicDefinition = exports.generateImageDefinition = exports.extendVideoDefinition = exports.editImageDefinition = exports.danceMontageDefinition = exports.changeAngleDefinition = exports.applyStyleDefinition = exports.animatePhotoDefinition = exports.addSubtitlesDefinition = exports.validateSeedanceReferenceCounts = exports.SeedanceReferenceLimitError = exports.SEEDANCE_REFERENCE_LIMITS = exports.isQualityTierTool = exports.getModelOptions = exports.getModelArgKey = exports.getAlternativeModels = exports.MODELS_BY_TOOL = exports.parseResultForError = exports.classifyError = exports.sanitizeBatchPrompt = void 0;
18
- exports.maybeAlignNumberOfVariationsToDynamicBranchCount = exports.textExplicitlyRequestsMultipleImageOutputs = void 0;
17
+ exports.isolateDynamicPromptSlot = exports.extractDynamicPromptBranches = exports.expandSingleSourceFanOutForPerClipPrompts = exports.collapseSingleSourceFanOutToDynamicPromptVariations = exports.toolOk = exports.toolErr = exports.mapLegacyToolErrorCategory = exports.isToolResultOk = exports.isToolResultErr = exports.resolveDancePresetForRequest = exports.DANCE_PRESETS = exports.SUBTITLE_VERTICAL_POSITIONS = exports.STITCH_TRANSITION_TYPES = exports.OVERLAY_POSITIONS = exports.videoToVideoDefinition = exports.stitchVideoDefinition = exports.soundToVideoDefinition = exports.restorePhotoDefinition = exports.replaceVideoSegmentDefinition = exports.refineResultDefinition = exports.overlayVideoDefinition = exports.orbitVideoDefinition = exports.generationToolDefinitions = exports.generateVideoDefinition = exports.generateMusicDefinition = exports.generateImageDefinition = exports.extendVideoDefinition = exports.editImageDefinition = exports.danceMontageDefinition = exports.changeAngleDefinition = exports.applyStyleDefinition = exports.animatePhotoDefinition = exports.addSubtitlesDefinition = exports.HAPPYHORSE_TOOL_REFERENCE_GUIDANCE = exports.HAPPYHORSE_GENERATE_VIDEO_MODEL_DESCRIPTION = exports.validateHappyHorseReferenceCounts = exports.getHappyHorseReferenceLimits = exports.HappyHorseReferenceLimitError = exports.HAPPYHORSE_REFERENCE_LIMITS = exports.validateSeedanceReferenceCounts = exports.SeedanceReferenceLimitError = exports.SEEDANCE_REFERENCE_LIMITS = exports.isQualityTierTool = exports.getModelOptions = exports.getModelArgKey = exports.getAlternativeModels = exports.MODELS_BY_TOOL = exports.parseResultForError = exports.classifyError = exports.sanitizeBatchPrompt = void 0;
18
+ exports.maybeAlignNumberOfVariationsToDynamicBranchCount = exports.textExplicitlyRequestsMultipleImageOutputs = exports.isStoryboardKeyframeBatchPrompt = exports.promptHasLinkedVariantBatchLanguage = exports.promptHasStoryboardBatchLanguage = exports.validateSingleDynamicPromptBranch = exports.validateSceneDynamicPromptBatch = exports.buildDynamicPromptSlotPrompts = void 0;
19
19
  var promptSanitizer_js_1 = require("./shared/promptSanitizer.js");
20
20
  Object.defineProperty(exports, "sanitizeBatchPrompt", { enumerable: true, get: function () { return promptSanitizer_js_1.sanitizeBatchPrompt; } });
21
21
  var errorClassification_js_1 = require("./shared/errorClassification.js");
@@ -29,10 +29,19 @@ Object.defineProperty(exports, "getModelOptions", { enumerable: true, get: funct
29
29
  Object.defineProperty(exports, "isQualityTierTool", { enumerable: true, get: function () { return modelRegistry_js_1.isQualityTierTool; } });
30
30
  __exportStar(require("./shared/policyChecks.js"), exports);
31
31
  __exportStar(require("./shared/seedancePolicyErrors.js"), exports);
32
+ __exportStar(require("./shared/happyhorsePolicyErrors.js"), exports);
32
33
  var seedanceReferences_js_1 = require("./shared/seedanceReferences.js");
33
34
  Object.defineProperty(exports, "SEEDANCE_REFERENCE_LIMITS", { enumerable: true, get: function () { return seedanceReferences_js_1.SEEDANCE_REFERENCE_LIMITS; } });
34
35
  Object.defineProperty(exports, "SeedanceReferenceLimitError", { enumerable: true, get: function () { return seedanceReferences_js_1.SeedanceReferenceLimitError; } });
35
36
  Object.defineProperty(exports, "validateSeedanceReferenceCounts", { enumerable: true, get: function () { return seedanceReferences_js_1.validateSeedanceReferenceCounts; } });
37
+ var happyhorseReferences_js_1 = require("./shared/happyhorseReferences.js");
38
+ Object.defineProperty(exports, "HAPPYHORSE_REFERENCE_LIMITS", { enumerable: true, get: function () { return happyhorseReferences_js_1.HAPPYHORSE_REFERENCE_LIMITS; } });
39
+ Object.defineProperty(exports, "HappyHorseReferenceLimitError", { enumerable: true, get: function () { return happyhorseReferences_js_1.HappyHorseReferenceLimitError; } });
40
+ Object.defineProperty(exports, "getHappyHorseReferenceLimits", { enumerable: true, get: function () { return happyhorseReferences_js_1.getHappyHorseReferenceLimits; } });
41
+ Object.defineProperty(exports, "validateHappyHorseReferenceCounts", { enumerable: true, get: function () { return happyhorseReferences_js_1.validateHappyHorseReferenceCounts; } });
42
+ var toolPromptMarkers_js_1 = require("../contracts/toolPromptMarkers.js");
43
+ Object.defineProperty(exports, "HAPPYHORSE_GENERATE_VIDEO_MODEL_DESCRIPTION", { enumerable: true, get: function () { return toolPromptMarkers_js_1.HAPPYHORSE_GENERATE_VIDEO_MODEL_DESCRIPTION; } });
44
+ Object.defineProperty(exports, "HAPPYHORSE_TOOL_REFERENCE_GUIDANCE", { enumerable: true, get: function () { return toolPromptMarkers_js_1.HAPPYHORSE_TOOL_REFERENCE_GUIDANCE; } });
36
45
  __exportStar(require("./shared/llmHelpers.js"), exports);
37
46
  __exportStar(require("./shared/promptRefinementCache.js"), exports);
38
47
  __exportStar(require("./shared/imageEncoding.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,kEAAkE;AAAzD,yHAAA,mBAAmB,OAAA;AAC5B,0EAGyC;AAFvC,uHAAA,aAAa,OAAA;AACb,6HAAA,mBAAmB,OAAA;AAMrB,8DAMmC;AALjC,kHAAA,cAAc,OAAA;AACd,wHAAA,oBAAoB,OAAA;AACpB,kHAAA,cAAc,OAAA;AACd,mHAAA,eAAe,OAAA;AACf,qHAAA,iBAAiB,OAAA;AAGnB,2DAAyC;AACzC,mEAAiD;AACjD,wEAIwC;AAHtC,kIAAA,yBAAyB,OAAA;AACzB,oIAAA,2BAA2B,OAAA;AAC3B,wIAAA,+BAA+B,OAAA;AAOjC,yDAAuC;AACvC,oEAAkD;AAClD,4DAA0C;AAC1C,iEAA+C;AAC/C,qEAAmD;AACnD,+DAA6C;AAC7C,mDAyBgC;AAxB9B,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AACrB,mHAAA,uBAAuB,OAAA;AACvB,mHAAA,uBAAuB,OAAA;AACvB,mHAAA,uBAAuB,OAAA;AACvB,qHAAA,yBAAyB,OAAA;AACzB,gHAAA,oBAAoB,OAAA;AACpB,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AACtB,yHAAA,6BAA6B,OAAA;AAC7B,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AACtB,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,6GAAA,iBAAiB,OAAA;AACjB,mHAAA,uBAAuB,OAAA;AACvB,uHAAA,2BAA2B,OAAA;AAC3B,yGAAA,aAAa,OAAA;AACb,wHAAA,4BAA4B,OAAA;AAG9B,yCAMqB;AALnB,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,uHAAA,0BAA0B,OAAA;AAC1B,oGAAA,OAAO,OAAA;AACP,mGAAA,MAAM,OAAA;AAWR,uDAG4B;AAF1B,uJAAA,mDAAmD,OAAA;AACnD,6IAAA,yCAAyC,OAAA;AAE3C,8EAW2C;AARzC,wIAAA,4BAA4B,OAAA;AAC5B,oIAAA,wBAAwB,OAAA;AACxB,yIAAA,6BAA6B,OAAA;AAC7B,2IAAA,+BAA+B,OAAA;AAC/B,6IAAA,iCAAiC,OAAA;AACjC,4IAAA,gCAAgC,OAAA;AAChC,+IAAA,mCAAmC,OAAA;AACnC,2IAAA,+BAA+B,OAAA;AAEjC,oEAA0F;AAAjF,iJAAA,0CAA0C,OAAA;AACnD,0FAA2G;AAAlG,kKAAA,gDAAgD,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,kEAAkE;AAAzD,yHAAA,mBAAmB,OAAA;AAC5B,0EAGyC;AAFvC,uHAAA,aAAa,OAAA;AACb,6HAAA,mBAAmB,OAAA;AAMrB,8DAMmC;AALjC,kHAAA,cAAc,OAAA;AACd,wHAAA,oBAAoB,OAAA;AACpB,kHAAA,cAAc,OAAA;AACd,mHAAA,eAAe,OAAA;AACf,qHAAA,iBAAiB,OAAA;AAGnB,2DAAyC;AACzC,mEAAiD;AACjD,qEAAmD;AACnD,wEAIwC;AAHtC,kIAAA,yBAAyB,OAAA;AACzB,oIAAA,2BAA2B,OAAA;AAC3B,wIAAA,+BAA+B,OAAA;AAOjC,4EAK0C;AAJxC,sIAAA,2BAA2B,OAAA;AAC3B,wIAAA,6BAA6B,OAAA;AAC7B,uIAAA,4BAA4B,OAAA;AAC5B,4IAAA,iCAAiC,OAAA;AAUnC,0EAG2C;AAFzC,mJAAA,2CAA2C,OAAA;AAC3C,0IAAA,kCAAkC,OAAA;AAEpC,yDAAuC;AACvC,oEAAkD;AAClD,4DAA0C;AAC1C,iEAA+C;AAC/C,qEAAmD;AACnD,+DAA6C;AAC7C,mDAyBgC;AAxB9B,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AACrB,mHAAA,uBAAuB,OAAA;AACvB,mHAAA,uBAAuB,OAAA;AACvB,mHAAA,uBAAuB,OAAA;AACvB,qHAAA,yBAAyB,OAAA;AACzB,gHAAA,oBAAoB,OAAA;AACpB,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AACtB,yHAAA,6BAA6B,OAAA;AAC7B,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AACtB,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,6GAAA,iBAAiB,OAAA;AACjB,mHAAA,uBAAuB,OAAA;AACvB,uHAAA,2BAA2B,OAAA;AAC3B,yGAAA,aAAa,OAAA;AACb,wHAAA,4BAA4B,OAAA;AAG9B,yCAMqB;AALnB,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,uHAAA,0BAA0B,OAAA;AAC1B,oGAAA,OAAO,OAAA;AACP,mGAAA,MAAM,OAAA;AAWR,uDAG4B;AAF1B,uJAAA,mDAAmD,OAAA;AACnD,6IAAA,yCAAyC,OAAA;AAE3C,8EAW2C;AARzC,wIAAA,4BAA4B,OAAA;AAC5B,oIAAA,wBAAwB,OAAA;AACxB,yIAAA,6BAA6B,OAAA;AAC7B,2IAAA,+BAA+B,OAAA;AAC/B,6IAAA,iCAAiC,OAAA;AACjC,4IAAA,gCAAgC,OAAA;AAChC,+IAAA,mCAAmC,OAAA;AACnC,2IAAA,+BAA+B,OAAA;AAEjC,oEAA0F;AAAjF,iJAAA,0CAA0C,OAAA;AACnD,0FAA2G;AAAlG,kKAAA,gDAAgD,OAAA"}
@@ -0,0 +1,30 @@
1
+ import { type VendorModelPremiumRequiredPayload } from '../../media/index.js';
2
+ export declare const HAPPYHORSE_PROVIDER_CONTENT_POLICY_MESSAGE = "HappyHorse's content check didn't pass this one, so no video came back this time. We can adjust the prompt or try a different look and give it another go.";
3
+ export declare const HAPPYHORSE_VENDOR_GENERATION_FAILED_MESSAGE = "HappyHorse hit a snag partway through this one, so no media was generated. The provider did not return a specific reason \u2014 a quick retry usually clears it up. If it happens again, you can report the issue right from this message.";
4
+ export declare const HAPPYHORSE_VENDOR_TIMEOUT_MESSAGE = "HappyHorse took a bit too long on this one and timed out, so no media was generated. A quick retry usually does the trick; if it times out again, you can report the issue right from this message.";
5
+ export declare const HAPPYHORSE_INPUT_DOWNLOAD_FAILED_MESSAGE = "HappyHorse couldn't fetch one of the images for this video, so no media was generated. Make sure each reference image is a publicly reachable URL (or send it inline) and we'll try again.";
6
+ export interface HappyHorseTerminalPolicyPayload {
7
+ error: 'happyhorse_content_policy';
8
+ message: typeof HAPPYHORSE_PROVIDER_CONTENT_POLICY_MESSAGE;
9
+ retryPolicy: 'manual_user_confirmation';
10
+ nextAction: 'wait_for_user';
11
+ vendorErrorCode: string;
12
+ }
13
+ export interface HappyHorseTerminalGenerationFailurePayload {
14
+ error: 'happyhorse_generation_failed' | 'happyhorse_input_download_failed';
15
+ message: string;
16
+ retryPolicy: 'manual_user_confirmation';
17
+ nextAction: 'wait_for_user';
18
+ reportIssue?: true;
19
+ reportIssueReason?: string;
20
+ vendorError?: string;
21
+ vendorErrorCode?: string;
22
+ }
23
+ export declare class HappyHorseTerminalPolicyError extends Error {
24
+ readonly payload: HappyHorseTerminalPolicyPayload;
25
+ constructor(payload: HappyHorseTerminalPolicyPayload);
26
+ }
27
+ export declare function happyhorseTerminalPolicyPayloadFromError(error: unknown): HappyHorseTerminalPolicyPayload | null;
28
+ export declare function happyhorseTerminalPolicyErrorFromError(error: unknown): HappyHorseTerminalPolicyError | null;
29
+ export declare function happyhorseTerminalGenerationFailurePayloadFromError(error: unknown): HappyHorseTerminalGenerationFailurePayload | VendorModelPremiumRequiredPayload | null;
30
+ //# sourceMappingURL=happyhorsePolicyErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"happyhorsePolicyErrors.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/happyhorsePolicyErrors.ts"],"names":[],"mappings":"AAoBA,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,0CAA0C,+JACuG,CAAC;AAE/J,eAAO,MAAM,2CAA2C,+OACiL,CAAC;AAE1O,eAAO,MAAM,iCAAiC,wMACyJ,CAAC;AAExM,eAAO,MAAM,wCAAwC,+LACyI,CAAC;AAE/L,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,2BAA2B,CAAC;IACnC,OAAO,EAAE,OAAO,0CAA0C,CAAC;IAC3D,WAAW,EAAE,0BAA0B,CAAC;IACxC,UAAU,EAAE,eAAe,CAAC;IAE5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0CAA0C;IACzD,KAAK,EAAE,8BAA8B,GAAG,kCAAkC,CAAC;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,0BAA0B,CAAC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC;gBAEtC,OAAO,EAAE,+BAA+B;CAKrD;AA0FD,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,OAAO,GACb,+BAA+B,GAAG,IAAI,CAmBxC;AAED,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,OAAO,GACb,6BAA6B,GAAG,IAAI,CAGtC;AAED,wBAAgB,mDAAmD,CACjE,KAAK,EAAE,OAAO,GACb,0CAA0C,GAAG,iCAAiC,GAAG,IAAI,CAiEvF"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HappyHorseTerminalPolicyError = exports.HAPPYHORSE_INPUT_DOWNLOAD_FAILED_MESSAGE = exports.HAPPYHORSE_VENDOR_TIMEOUT_MESSAGE = exports.HAPPYHORSE_VENDOR_GENERATION_FAILED_MESSAGE = exports.HAPPYHORSE_PROVIDER_CONTENT_POLICY_MESSAGE = void 0;
4
+ exports.happyhorseTerminalPolicyPayloadFromError = happyhorseTerminalPolicyPayloadFromError;
5
+ exports.happyhorseTerminalPolicyErrorFromError = happyhorseTerminalPolicyErrorFromError;
6
+ exports.happyhorseTerminalGenerationFailurePayloadFromError = happyhorseTerminalGenerationFailurePayloadFromError;
7
+ const index_js_1 = require("../../media/index.js");
8
+ exports.HAPPYHORSE_PROVIDER_CONTENT_POLICY_MESSAGE = "HappyHorse's content check didn't pass this one, so no video came back this time. We can adjust the prompt or try a different look and give it another go.";
9
+ exports.HAPPYHORSE_VENDOR_GENERATION_FAILED_MESSAGE = "HappyHorse hit a snag partway through this one, so no media was generated. The provider did not return a specific reason — a quick retry usually clears it up. If it happens again, you can report the issue right from this message.";
10
+ exports.HAPPYHORSE_VENDOR_TIMEOUT_MESSAGE = "HappyHorse took a bit too long on this one and timed out, so no media was generated. A quick retry usually does the trick; if it times out again, you can report the issue right from this message.";
11
+ exports.HAPPYHORSE_INPUT_DOWNLOAD_FAILED_MESSAGE = "HappyHorse couldn't fetch one of the images for this video, so no media was generated. Make sure each reference image is a publicly reachable URL (or send it inline) and we'll try again.";
12
+ class HappyHorseTerminalPolicyError extends Error {
13
+ constructor(payload) {
14
+ super(payload.message);
15
+ this.name = 'HappyHorseTerminalPolicyError';
16
+ this.payload = payload;
17
+ }
18
+ }
19
+ exports.HappyHorseTerminalPolicyError = HappyHorseTerminalPolicyError;
20
+ function collectErrorText(value, seen = new WeakSet()) {
21
+ if (value === null || value === undefined)
22
+ return '';
23
+ if (typeof value === 'string')
24
+ return value;
25
+ if (typeof value === 'number' || typeof value === 'boolean') {
26
+ return String(value);
27
+ }
28
+ if (value instanceof Error) {
29
+ const cause = value.cause;
30
+ return [
31
+ value.name,
32
+ value.message,
33
+ cause ? collectErrorText(cause, seen) : '',
34
+ ].filter(Boolean).join(' ');
35
+ }
36
+ if (typeof value !== 'object')
37
+ return String(value);
38
+ if (seen.has(value))
39
+ return '';
40
+ seen.add(value);
41
+ const record = value;
42
+ const nested = Object.values(record)
43
+ .map((nestedValue) => collectErrorText(nestedValue, seen))
44
+ .filter(Boolean)
45
+ .join(' ');
46
+ try {
47
+ return `${JSON.stringify(value)} ${nested}`.trim();
48
+ }
49
+ catch {
50
+ return nested;
51
+ }
52
+ }
53
+ function extractHappyHorseFailureFields(value, seen = new WeakSet()) {
54
+ if (value && typeof value === 'object' && !seen.has(value)) {
55
+ seen.add(value);
56
+ const record = value;
57
+ const output = record.output;
58
+ if (output && typeof output === 'object') {
59
+ const out = output;
60
+ const code = typeof out.code === 'string' ? out.code : null;
61
+ const message = typeof out.message === 'string' ? out.message : null;
62
+ if (code || message)
63
+ return { code, message };
64
+ }
65
+ for (const nested of Object.values(record)) {
66
+ if (nested && typeof nested === 'object') {
67
+ const found = extractHappyHorseFailureFields(nested, seen);
68
+ if (found.code || found.message)
69
+ return found;
70
+ }
71
+ }
72
+ }
73
+ const text = collectErrorText(value);
74
+ const code = text.match(/"code"\s*:\s*"([^"]+)"/i)?.[1] ?? null;
75
+ const messageRaw = text.match(/"(?:message|Message)"\s*:\s*"((?:[^"\\]|\\.)*)"/)?.[1] ?? null;
76
+ let message = null;
77
+ if (messageRaw) {
78
+ let parsed = messageRaw;
79
+ try {
80
+ parsed = JSON.parse(`"${messageRaw}"`);
81
+ }
82
+ catch {
83
+ }
84
+ message = parsed.replace(/\s*Request id:\s*[A-Za-z0-9._-]+/i, '').trim() || null;
85
+ }
86
+ return { code, message };
87
+ }
88
+ function textHasHappyHorseContentPolicySignal(text) {
89
+ return (/\bcontent[_\s-]?policy\b/i.test(text) ||
90
+ /\bmoderation\b/i.test(text) ||
91
+ /\bsafety\s+(?:system|review|violation|violations)\b/i.test(text) ||
92
+ /\bsafety[_\s-]?violations?\b/i.test(text) ||
93
+ /\bSensitiveContentDetected\b/i.test(text) ||
94
+ /\bsensitive\s+content\b/i.test(text) ||
95
+ /\bnsfw\b/i.test(text) ||
96
+ /\bDataInspection(?:Failed|Exception)?\b/i.test(text));
97
+ }
98
+ function happyhorseTerminalPolicyPayloadFromError(error) {
99
+ if (error instanceof HappyHorseTerminalPolicyError)
100
+ return error.payload;
101
+ const text = collectErrorText(error);
102
+ if (!textHasHappyHorseContentPolicySignal(text))
103
+ return null;
104
+ if (!/\bhappy\s*horse\b/i.test(text) && !/\bhappyhorse\b/i.test(text))
105
+ return null;
106
+ const { code } = extractHappyHorseFailureFields(error);
107
+ return {
108
+ error: 'happyhorse_content_policy',
109
+ message: exports.HAPPYHORSE_PROVIDER_CONTENT_POLICY_MESSAGE,
110
+ retryPolicy: 'manual_user_confirmation',
111
+ nextAction: 'wait_for_user',
112
+ vendorErrorCode: code ?? 'HAPPYHORSE_CONTENT_POLICY',
113
+ };
114
+ }
115
+ function happyhorseTerminalPolicyErrorFromError(error) {
116
+ const payload = happyhorseTerminalPolicyPayloadFromError(error);
117
+ return payload ? new HappyHorseTerminalPolicyError(payload) : null;
118
+ }
119
+ function happyhorseTerminalGenerationFailurePayloadFromError(error) {
120
+ const premiumPayload = (0, index_js_1.vendorModelPremiumPayloadFromError)(error);
121
+ if (premiumPayload)
122
+ return premiumPayload;
123
+ const text = collectErrorText(error);
124
+ if (!/\bAll\s+\d+\s+(?:video generation|sound-to-video|video-to-video)\s+jobs failed\b/i.test(text)
125
+ && !/\bVendor task\b[\s\S]{0,140}\bstatus=failed\b/i.test(text)
126
+ && !/\bVendor (?:job|dispatch) failed\b/i.test(text)
127
+ && !/\bhappyhorse\b/i.test(text)
128
+ && !/\bhappy\s*horse\b/i.test(text)) {
129
+ return null;
130
+ }
131
+ const { code, message } = extractHappyHorseFailureFields(error);
132
+ if (message && /\bfailed to download\b/i.test(message)) {
133
+ return {
134
+ error: 'happyhorse_input_download_failed',
135
+ message: exports.HAPPYHORSE_INPUT_DOWNLOAD_FAILED_MESSAGE,
136
+ retryPolicy: 'manual_user_confirmation',
137
+ nextAction: 'wait_for_user',
138
+ vendorErrorCode: code ?? 'InvalidParameter',
139
+ vendorError: message.slice(0, 500),
140
+ };
141
+ }
142
+ if (/\b(?:timed?\s*out|timeout|deadline\s+exceeded)\b/i.test(text)) {
143
+ return {
144
+ error: 'happyhorse_generation_failed',
145
+ message: exports.HAPPYHORSE_VENDOR_TIMEOUT_MESSAGE,
146
+ retryPolicy: 'manual_user_confirmation',
147
+ nextAction: 'wait_for_user',
148
+ reportIssue: true,
149
+ reportIssueReason: 'HappyHorse provider job timed out after starting.',
150
+ vendorErrorCode: code ?? 'PROVIDER_TIMEOUT',
151
+ ...(text ? { vendorError: text.slice(0, 500) } : {}),
152
+ };
153
+ }
154
+ if (message) {
155
+ return {
156
+ error: 'happyhorse_generation_failed',
157
+ message: `HappyHorse rejected the request: ${message}`,
158
+ retryPolicy: 'manual_user_confirmation',
159
+ nextAction: 'wait_for_user',
160
+ ...(code ? { vendorErrorCode: code } : {}),
161
+ vendorError: message.slice(0, 500),
162
+ };
163
+ }
164
+ return {
165
+ error: 'happyhorse_generation_failed',
166
+ message: exports.HAPPYHORSE_VENDOR_GENERATION_FAILED_MESSAGE,
167
+ retryPolicy: 'manual_user_confirmation',
168
+ nextAction: 'wait_for_user',
169
+ reportIssue: true,
170
+ reportIssueReason: 'HappyHorse provider job failed after starting without a specific provider reason.',
171
+ ...(code ? { vendorErrorCode: code } : {}),
172
+ ...(text ? { vendorError: text.slice(0, 500) } : {}),
173
+ };
174
+ }
175
+ //# sourceMappingURL=happyhorsePolicyErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"happyhorsePolicyErrors.js","sourceRoot":"","sources":["../../../src/tools/shared/happyhorsePolicyErrors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export interface HappyHorseReferenceLimits {
2
+ readonly images: number;
3
+ readonly videos: number;
4
+ readonly audios: number;
5
+ readonly assets: number;
6
+ }
7
+ export declare const HAPPYHORSE_REFERENCE_LIMITS: Readonly<Record<string, HappyHorseReferenceLimits>>;
8
+ export type HappyHorseReferenceLimitKind = keyof HappyHorseReferenceLimits;
9
+ export declare function getHappyHorseReferenceLimits(modelId: string | null | undefined): HappyHorseReferenceLimits | null;
10
+ export declare class HappyHorseReferenceLimitError extends Error {
11
+ readonly code: "happyhorse_reference_limit_exceeded";
12
+ readonly modelId: string;
13
+ readonly limitKind: HappyHorseReferenceLimitKind;
14
+ readonly requestedCount: number;
15
+ readonly maxCount: number;
16
+ constructor(modelId: string, limitKind: HappyHorseReferenceLimitKind, requestedCount: number, maxCount: number);
17
+ }
18
+ export interface HappyHorseReferenceCounts {
19
+ readonly images: number;
20
+ readonly videos: number;
21
+ readonly audios: number;
22
+ }
23
+ export declare function validateHappyHorseReferenceCounts(modelId: string, counts: HappyHorseReferenceCounts): void;
24
+ //# sourceMappingURL=happyhorseReferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"happyhorseReferences.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/happyhorseReferences.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAKxF,CAAC;AAEL,MAAM,MAAM,4BAA4B,GAAG,MAAM,yBAAyB,CAAC;AAM3E,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,yBAAyB,GAAG,IAAI,CAGlC;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,QAAQ,CAAC,IAAI,EAAG,qCAAqC,CAAU;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,4BAA4B,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAGxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,4BAA4B,EACvC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM;CAanB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAQD,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,yBAAyB,GAChC,IAAI,CAuBN"}