@nlabs/reaktor 1.10.0 → 1.11.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 (41) hide show
  1. package/README.md +4 -0
  2. package/docs/GENERATION.md +86 -0
  3. package/lib/actions/contentGeneration.d.ts +22 -1
  4. package/lib/actions/contentGeneration.js +84 -16
  5. package/lib/actions/databaseAccounts.d.ts +14 -0
  6. package/lib/actions/databaseAccounts.js +211 -0
  7. package/lib/actions/databaseProvisioningLease.d.ts +6 -0
  8. package/lib/actions/databaseProvisioningLease.js +166 -0
  9. package/lib/actions/higgsfield.d.ts +2 -0
  10. package/lib/actions/higgsfield.js +7 -1
  11. package/lib/actions/imageGeneration.d.ts +5 -1
  12. package/lib/actions/imageGeneration.js +13 -2
  13. package/lib/actions/index.d.ts +2 -0
  14. package/lib/actions/index.js +3 -1
  15. package/lib/actions/videoGeneration.d.ts +5 -1
  16. package/lib/actions/videoGeneration.js +13 -2
  17. package/lib/adapters/higgsfieldAdapter.d.ts +21 -15
  18. package/lib/adapters/higgsfieldAdapter.js +24 -11
  19. package/lib/adapters/higgsfieldModelCatalog.d.ts +10 -0
  20. package/lib/adapters/higgsfieldModelCatalog.js +5363 -0
  21. package/lib/adapters/higgsfieldModels.d.ts +2 -0
  22. package/lib/adapters/higgsfieldModels.js +37 -0
  23. package/lib/index.d.ts +4 -0
  24. package/lib/index.js +4 -1
  25. package/lib/objectTypes/contentGeneration.js +26 -3
  26. package/lib/objectTypes/imageGeneration.js +3 -2
  27. package/lib/objectTypes/videoGeneration.js +2 -1
  28. package/lib/types/databaseCredentials.types.d.ts +30 -0
  29. package/lib/types/databaseCredentials.types.js +3 -0
  30. package/lib/types/index.d.ts +1 -0
  31. package/lib/types/index.js +2 -1
  32. package/lib/utils/databaseCredentials.d.ts +5 -0
  33. package/lib/utils/databaseCredentials.js +100 -0
  34. package/lib/utils/generationCallback.d.ts +23 -0
  35. package/lib/utils/generationCallback.js +49 -0
  36. package/lib/utils/index.d.ts +3 -0
  37. package/lib/utils/index.js +4 -1
  38. package/lib/utils/secretDatabase.d.ts +8 -0
  39. package/lib/utils/secretDatabase.js +153 -0
  40. package/lib/utils/testUtils.js +10 -2
  41. package/package.json +12 -10
@@ -1,10 +1,11 @@
1
1
  import { post } from '@nlabs/rip-hunter';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { validateGeminiImageInput } from '../adapters/geminiGenerationAdapter.js';
4
+ import { getHiggsfieldModel } from '../adapters/higgsfieldModelCatalog.js';
4
5
  import { validateOpenAIImageInput } from '../adapters/imageGenerationAdapter.js';
5
6
  import { Config } from '../config.js';
6
7
  import { ContentGenerationRejectedError, generateContent } from './contentGeneration.js';
7
- import { generateMarketingStudioImage, generateSoulImage } from './higgsfield.js';
8
+ import { generateHiggsfieldModel, generateMarketingStudioImage, generateSoulImage } from './higgsfield.js';
8
9
  /** Only an explicit provider rejection proves it is safe to release a reservation. */ export class ImageGenerationRejectedError extends Error {
9
10
  }
10
11
  export const generateOpenAIImage = async (_context, input, config)=>{
@@ -58,6 +59,16 @@ export const generateOpenAIImage = async (_context, input, config)=>{
58
59
  };
59
60
  };
60
61
  /** Provider selection is data; credentials and paid-job orchestration stay server-side. */ export const generateImage = async (context, input)=>{
62
+ if (input.provider === 'higgsfield' && 'modelInput' in input && typeof input.model === 'string') {
63
+ if (getHiggsfieldModel(input.model).kind !== 'image') {
64
+ throw new Error('Choose an image model.');
65
+ }
66
+ return {
67
+ ...await generateHiggsfieldModel(context, input.model, input.modelInput),
68
+ provider: 'higgsfield',
69
+ status: 'queued'
70
+ };
71
+ }
61
72
  const { provider, ...options } = input;
62
73
  if (provider === 'gemini') {
63
74
  return generateGeminiImage(context, options);
@@ -118,4 +129,4 @@ export const generateOpenAIImage = async (_context, input, config)=>{
118
129
  }
119
130
  };
120
131
 
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9pbWFnZUdlbmVyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwb3N0fSBmcm9tICdAbmxhYnMvcmlwLWh1bnRlcic7XG5pbXBvcnQge3JhbmRvbVVVSUR9IGZyb20gJ25vZGU6Y3J5cHRvJztcblxuaW1wb3J0IHt2YWxpZGF0ZUdlbWluaUltYWdlSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2dlbWluaUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB7dmFsaWRhdGVPcGVuQUlJbWFnZUlucHV0fSBmcm9tICcuLi9hZGFwdGVycy9pbWFnZUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuaW1wb3J0IHtDb250ZW50R2VuZXJhdGlvblJlamVjdGVkRXJyb3IsIGdlbmVyYXRlQ29udGVudH0gZnJvbSAnLi9jb250ZW50R2VuZXJhdGlvbi5qcyc7XG5pbXBvcnQge2dlbmVyYXRlTWFya2V0aW5nU3R1ZGlvSW1hZ2UsIGdlbmVyYXRlU291bEltYWdlfSBmcm9tICcuL2hpZ2dzZmllbGQuanMnO1xuXG5pbXBvcnQgdHlwZSB7R2VtaW5pSW1hZ2VJbnB1dH0gZnJvbSAnLi4vYWRhcHRlcnMvZ2VtaW5pR2VuZXJhdGlvbkFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUge01hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQsIFNvdWxJbWFnZUlucHV0fSBmcm9tICcuLi9hZGFwdGVycy9oaWdnc2ZpZWxkQWRhcHRlci5qcyc7XG5pbXBvcnQgdHlwZSB7T3BlbkFJSW1hZ2VJbnB1dH0gZnJvbSAnLi4vYWRhcHRlcnMvaW1hZ2VHZW5lcmF0aW9uQWRhcHRlci5qcyc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5cbi8qKiBPbmx5IGFuIGV4cGxpY2l0IHByb3ZpZGVyIHJlamVjdGlvbiBwcm92ZXMgaXQgaXMgc2FmZSB0byByZWxlYXNlIGEgcmVzZXJ2YXRpb24uICovXG5leHBvcnQgY2xhc3MgSW1hZ2VHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCB0eXBlIEdlbmVyYXRlSW1hZ2VJbnB1dCA9XG4gIHwgKEdlbWluaUltYWdlSW5wdXQgJiB7cHJvdmlkZXI6ICdnZW1pbmknfSlcbiAgfCAoT3BlbkFJSW1hZ2VJbnB1dCAmIHtwcm92aWRlcjogJ29wZW5haSd9KVxuICB8IChTb3VsSW1hZ2VJbnB1dCAmIHtwcm92aWRlcjogJ2hpZ2dzZmllbGQnOyBpbWFnZVVybHM/OiB1bmRlZmluZWR9KVxuICB8IChNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0ICYge3Byb3ZpZGVyOiAnaGlnZ3NmaWVsZCd9KTtcblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUdlbmVyYXRpb25SZXN1bHQge1xuICBjYW5jZWxVcmw/OiBzdHJpbmc7XG4gIGltYWdlQmFzZTY0Pzogc3RyaW5nO1xuICBtaW1lVHlwZT86ICdpbWFnZS9qcGVnJyB8ICdpbWFnZS9wbmcnO1xuICBwcm92aWRlcjogJ2dlbWluaScgfCAnaGlnZ3NmaWVsZCcgfCAnb3BlbmFpJztcbiAgcmVxdWVzdElkOiBzdHJpbmc7XG4gIHN0YXR1czogJ3F1ZXVlZCcgfCAnY29tcGxldGVkJztcbiAgc3RhdHVzVXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVPcGVuQUlJbWFnZSA9IGFzeW5jIChcbiAgX2NvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBPcGVuQUlJbWFnZUlucHV0LCBjb25maWc/OiB7a2V5Pzogc3RyaW5nOyBtb2RlbD86IHN0cmluZ31cbik6IFByb21pc2U8SW1hZ2VHZW5lcmF0aW9uUmVzdWx0PiA9PiB7XG4gIGNvbnN0IHZhbGlkYXRlZCA9IHZhbGlkYXRlT3BlbkFJSW1hZ2VJbnB1dChpbnB1dCk7XG4gIGNvbnN0IGtleSA9IGNvbmZpZz8ua2V5IHx8IENvbmZpZy5nZXQ8c3RyaW5nPignb3BlbmFpLmFwaUtleScpO1xuICBpZigha2V5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdPcGVuQUkgaW1hZ2UgZ2VuZXJhdGlvbiBpcyBub3QgY29uZmlndXJlZC4nKTtcbiAgfVxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3QoJ2h0dHBzOi8vYXBpLm9wZW5haS5jb20vdjEvaW1hZ2VzL2dlbmVyYXRpb25zJywge1xuICAgIG1vZGVsOiB2YWxpZGF0ZWQubW9kZWwgfHwgY29uZmlnPy5tb2RlbCB8fCBDb25maWcuZ2V0PHN0cmluZz4oJ29wZW5haS5pbWFnZU1vZGVsJykgfHwgJ2dwdC1pbWFnZS0xLjUnLFxuICAgIG46IDEsXG4gICAgb3V0cHV0X2Zvcm1hdDogJ3BuZycsXG4gICAgcHJvbXB0OiB2YWxpZGF0ZWQucHJvbXB0LFxuICAgIHF1YWxpdHk6IHZhbGlkYXRlZC5xdWFsaXR5LFxuICAgIHNpemU6IHZhbGlkYXRlZC5zaXplXG4gIH0sIHtjYWNoZTogZmFsc2UsIGhlYWRlcnM6IG5ldyBIZWFkZXJzKHtBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7a2V5fWB9KSwgdGltZW91dDogMTgwXzAwMH0pIGFzIHtcbiAgICBkYXRhPzoge2I2NF9qc29uPzogc3RyaW5nfVtdO1xuICAgIGVycm9yPzoge3R5cGU/OiBzdHJpbmd9O1xuICB9O1xuICBpZihyZXNwb25zZS5lcnJvciAmJiBbJ2ludmFsaWRfcmVxdWVzdF9lcnJvcicsICdhdXRoZW50aWNhdGlvbl9lcnJvcicsICdwZXJtaXNzaW9uX2Vycm9yJ10uaW5jbHVkZXMocmVzcG9uc2UuZXJyb3IudHlwZSB8fCAnJykpIHtcbiAgICB0aHJvdyBuZXcgSW1hZ2VHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvcignT3BlbkFJIHJlamVjdGVkIHRoZSBpbWFnZSByZXF1ZXN0LiBDaGVjayBtb2RlbCBhY2Nlc3MgYW5kIHByb21wdC4nKTtcbiAgfVxuICBjb25zdCBlbmNvZGVkID0gcmVzcG9uc2UuZGF0YT8uWzBdPy5iNjRfanNvbjtcbiAgaWYocmVzcG9uc2UuZXJyb3IgfHwgIWVuY29kZWQgfHwgZW5jb2RlZC5sZW5ndGggPiA0MCAqIDEwMjQgKiAxMDI0IHx8ICEvXltBLVphLXowLTkrL10rPXswLDJ9JC8udGVzdChlbmNvZGVkKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignT3BlbkFJIGltYWdlIG91dHB1dCBjb3VsZCBub3QgYmUgdmVyaWZpZWQuJyk7XG4gIH1cbiAgaWYoIUJ1ZmZlci5mcm9tKGVuY29kZWQsICdiYXNlNjQnKS5zdWJhcnJheSgwLCA4KS5lcXVhbHMoQnVmZmVyLmZyb20oWzEzNywgODAsIDc4LCA3MSwgMTMsIDEwLCAyNiwgMTBdKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ09wZW5BSSBkaWQgbm90IHJldHVybiBQTkcgaW1hZ2UgYnl0ZXMuJyk7XG4gIH1cbiAgcmV0dXJuIHtpbWFnZUJhc2U2NDogZW5jb2RlZCwgcHJvdmlkZXI6ICdvcGVuYWknLCByZXF1ZXN0SWQ6IGBvcGVuYWktJHtyYW5kb21VVUlEKCl9YCwgc3RhdHVzOiAnY29tcGxldGVkJ307XG59O1xuXG4vKiogUHJvdmlkZXIgc2VsZWN0aW9uIGlzIGRhdGE7IGNyZWRlbnRpYWxzIGFuZCBwYWlkLWpvYiBvcmNoZXN0cmF0aW9uIHN0YXkgc2VydmVyLXNpZGUuICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVJbWFnZSA9IGFzeW5jIChjb250ZXh0OiBBcGlDb250ZXh0LCBpbnB1dDogR2VuZXJhdGVJbWFnZUlucHV0KTogUHJvbWlzZTxJbWFnZUdlbmVyYXRpb25SZXN1bHQ+ID0+IHtcbiAgY29uc3Qge3Byb3ZpZGVyLCAuLi5vcHRpb25zfSA9IGlucHV0O1xuICBpZihwcm92aWRlciA9PT0gJ2dlbWluaScpIHtcbiAgICByZXR1cm4gZ2VuZXJhdGVHZW1pbmlJbWFnZShjb250ZXh0LCBvcHRpb25zIGFzIEdlbWluaUltYWdlSW5wdXQpO1xuICB9XG4gIGlmKHByb3ZpZGVyID09PSAnb3BlbmFpJykge1xuICAgIHJldHVybiBnZW5lcmF0ZU9wZW5BSUltYWdlKGNvbnRleHQsIG9wdGlvbnMgYXMgT3BlbkFJSW1hZ2VJbnB1dCk7XG4gIH1cbiAgaWYocHJvdmlkZXIgIT09ICdoaWdnc2ZpZWxkJykge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgaW1hZ2UgcHJvdmlkZXIuJyk7XG4gIH1cbiAgY29uc3QgcmVxdWVzdCA9ICdpbWFnZVVybHMnIGluIG9wdGlvbnMgJiYgb3B0aW9ucy5pbWFnZVVybHM/Lmxlbmd0aFxuICAgID8gYXdhaXQgZ2VuZXJhdGVNYXJrZXRpbmdTdHVkaW9JbWFnZShjb250ZXh0LCBvcHRpb25zIGFzIE1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQpXG4gICAgOiBhd2FpdCBnZW5lcmF0ZVNvdWxJbWFnZShjb250ZXh0LCBvcHRpb25zIGFzIFNvdWxJbWFnZUlucHV0KTtcbiAgcmV0dXJuIHsuLi5yZXF1ZXN0LCBwcm92aWRlciwgc3RhdHVzOiAncXVldWVkJ307XG59O1xuXG4vKiogUmV1c2VzIHRoZSBHZW1pbmkgY29udGVudCBwcm90b2NvbCB3aGlsZSBwcmVzZXJ2aW5nIHRoZSBnZW5lcmljIGltYWdlIHJlc3VsdCBzaGFwZS4gKi9cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUdlbWluaUltYWdlID0gYXN5bmMgKFxuICBfY29udGV4dDogQXBpQ29udGV4dCwgaW5wdXQ6IEdlbWluaUltYWdlSW5wdXQsIGNvbmZpZz86IHtrZXk/OiBzdHJpbmc7IG1vZGVsPzogc3RyaW5nfVxuKTogUHJvbWlzZTxJbWFnZUdlbmVyYXRpb25SZXN1bHQ+ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWRhdGVHZW1pbmlJbWFnZUlucHV0KGlucHV0KTtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZW5lcmF0ZUNvbnRlbnQoey4uLnZhbGlkYXRlZCwgbW9kYWxpdHk6ICdpbWFnZScsIHByb3ZpZGVyOiAnZ2VtaW5pJ30sIHtcbiAgICAgIGdlbWluaUltYWdlTW9kZWw6IGNvbmZpZz8ubW9kZWwgfHwgQ29uZmlnLmdldDxzdHJpbmc+KCdjb250ZW50R2VuZXJhdGlvbi5nZW1pbmlJbWFnZU1vZGVsJyksXG4gICAgICBnZW1pbmlLZXk6IGNvbmZpZz8ua2V5IHx8IENvbmZpZy5nZXQ8c3RyaW5nPignY29udGVudEdlbmVyYXRpb24uZ2VtaW5pS2V5JylcbiAgICB9KTtcbiAgICBjb25zdCB7aW1hZ2V9ID0gcmVzdWx0O1xuICAgIGlmKCFpbWFnZSB8fCAhKGltYWdlLm1pbWUgPT09ICdpbWFnZS9wbmcnXG4gICAgICA/IGltYWdlLmJ5dGVzLnN1YmFycmF5KDAsIDgpLmVxdWFscyhCdWZmZXIuZnJvbShbMTM3LCA4MCwgNzgsIDcxLCAxMywgMTAsIDI2LCAxMF0pKVxuICAgICAgOiBpbWFnZS5ieXRlcy5zdWJhcnJheSgwLCAzKS5lcXVhbHMoQnVmZmVyLmZyb20oWzI1NSwgMjE2LCAyNTVdKSkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0dlbWluaSBpbWFnZSBvdXRwdXQgY291bGQgbm90IGJlIHZlcmlmaWVkLicpO1xuICAgIH1cbiAgICByZXR1cm4ge2ltYWdlQmFzZTY0OiBpbWFnZS5ieXRlcy50b1N0cmluZygnYmFzZTY0JyksIG1pbWVUeXBlOiBpbWFnZS5taW1lLCBwcm92aWRlcjogJ2dlbWluaScsIHJlcXVlc3RJZDogYGdlbWluaS0ke3JhbmRvbVVVSUQoKX1gLCBzdGF0dXM6ICdjb21wbGV0ZWQnfTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgQ29udGVudEdlbmVyYXRpb25SZWplY3RlZEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW1hZ2VHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG4iXSwibmFtZXMiOlsicG9zdCIsInJhbmRvbVVVSUQiLCJ2YWxpZGF0ZUdlbWluaUltYWdlSW5wdXQiLCJ2YWxpZGF0ZU9wZW5BSUltYWdlSW5wdXQiLCJDb25maWciLCJDb250ZW50R2VuZXJhdGlvblJlamVjdGVkRXJyb3IiLCJnZW5lcmF0ZUNvbnRlbnQiLCJnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlIiwiZ2VuZXJhdGVTb3VsSW1hZ2UiLCJJbWFnZUdlbmVyYXRpb25SZWplY3RlZEVycm9yIiwiRXJyb3IiLCJnZW5lcmF0ZU9wZW5BSUltYWdlIiwiX2NvbnRleHQiLCJpbnB1dCIsImNvbmZpZyIsInZhbGlkYXRlZCIsImtleSIsImdldCIsInJlc3BvbnNlIiwibW9kZWwiLCJuIiwib3V0cHV0X2Zvcm1hdCIsInByb21wdCIsInF1YWxpdHkiLCJzaXplIiwiY2FjaGUiLCJoZWFkZXJzIiwiSGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJ0aW1lb3V0IiwiZXJyb3IiLCJpbmNsdWRlcyIsInR5cGUiLCJlbmNvZGVkIiwiZGF0YSIsImI2NF9qc29uIiwibGVuZ3RoIiwidGVzdCIsIkJ1ZmZlciIsImZyb20iLCJzdWJhcnJheSIsImVxdWFscyIsImltYWdlQmFzZTY0IiwicHJvdmlkZXIiLCJyZXF1ZXN0SWQiLCJzdGF0dXMiLCJnZW5lcmF0ZUltYWdlIiwiY29udGV4dCIsIm9wdGlvbnMiLCJnZW5lcmF0ZUdlbWluaUltYWdlIiwicmVxdWVzdCIsImltYWdlVXJscyIsInJlc3VsdCIsIm1vZGFsaXR5IiwiZ2VtaW5pSW1hZ2VNb2RlbCIsImdlbWluaUtleSIsImltYWdlIiwibWltZSIsImJ5dGVzIiwidG9TdHJpbmciLCJtaW1lVHlwZSIsIm1lc3NhZ2UiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLElBQUksUUFBTyxvQkFBb0I7QUFDdkMsU0FBUUMsVUFBVSxRQUFPLGNBQWM7QUFFdkMsU0FBUUMsd0JBQXdCLFFBQU8seUNBQXlDO0FBQ2hGLFNBQVFDLHdCQUF3QixRQUFPLHdDQUF3QztBQUMvRSxTQUFRQyxNQUFNLFFBQU8sZUFBZTtBQUNwQyxTQUFRQyw4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
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9pbWFnZUdlbmVyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwb3N0fSBmcm9tICdAbmxhYnMvcmlwLWh1bnRlcic7XG5pbXBvcnQge3JhbmRvbVVVSUR9IGZyb20gJ25vZGU6Y3J5cHRvJztcblxuaW1wb3J0IHt2YWxpZGF0ZUdlbWluaUltYWdlSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2dlbWluaUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB7Z2V0SGlnZ3NmaWVsZE1vZGVsfSBmcm9tICcuLi9hZGFwdGVycy9oaWdnc2ZpZWxkTW9kZWxDYXRhbG9nLmpzJztcbmltcG9ydCB7dmFsaWRhdGVPcGVuQUlJbWFnZUlucHV0fSBmcm9tICcuLi9hZGFwdGVycy9pbWFnZUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuaW1wb3J0IHtDb250ZW50R2VuZXJhdGlvblJlamVjdGVkRXJyb3IsIGdlbmVyYXRlQ29udGVudH0gZnJvbSAnLi9jb250ZW50R2VuZXJhdGlvbi5qcyc7XG5pbXBvcnQge2dlbmVyYXRlSGlnZ3NmaWVsZE1vZGVsLCBnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlLCBnZW5lcmF0ZVNvdWxJbWFnZX0gZnJvbSAnLi9oaWdnc2ZpZWxkLmpzJztcblxuaW1wb3J0IHR5cGUge0dlbWluaUltYWdlSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2dlbWluaUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB0eXBlIHtNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0LCBTb3VsSW1hZ2VJbnB1dH0gZnJvbSAnLi4vYWRhcHRlcnMvaGlnZ3NmaWVsZEFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUge09wZW5BSUltYWdlSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2ltYWdlR2VuZXJhdGlvbkFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG4vKiogT25seSBhbiBleHBsaWNpdCBwcm92aWRlciByZWplY3Rpb24gcHJvdmVzIGl0IGlzIHNhZmUgdG8gcmVsZWFzZSBhIHJlc2VydmF0aW9uLiAqL1xuZXhwb3J0IGNsYXNzIEltYWdlR2VuZXJhdGlvblJlamVjdGVkRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG5leHBvcnQgdHlwZSBHZW5lcmF0ZUltYWdlSW5wdXQgPVxuICB8IHttb2RlbDogc3RyaW5nOyBtb2RlbElucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgcHJvdmlkZXI6ICdoaWdnc2ZpZWxkJ31cbiAgfCAoR2VtaW5pSW1hZ2VJbnB1dCAmIHtwcm92aWRlcjogJ2dlbWluaSd9KVxuICB8IChPcGVuQUlJbWFnZUlucHV0ICYge3Byb3ZpZGVyOiAnb3BlbmFpJ30pXG4gIHwgKFNvdWxJbWFnZUlucHV0ICYge3Byb3ZpZGVyOiAnaGlnZ3NmaWVsZCc7IGltYWdlVXJscz86IHVuZGVmaW5lZH0pXG4gIHwgKE1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQgJiB7cHJvdmlkZXI6ICdoaWdnc2ZpZWxkJ30pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlR2VuZXJhdGlvblJlc3VsdCB7XG4gIGNhbmNlbFVybD86IHN0cmluZztcbiAgaW1hZ2VCYXNlNjQ/OiBzdHJpbmc7XG4gIG1pbWVUeXBlPzogJ2ltYWdlL2pwZWcnIHwgJ2ltYWdlL3BuZyc7XG4gIHByb3ZpZGVyOiAnZ2VtaW5pJyB8ICdoaWdnc2ZpZWxkJyB8ICdvcGVuYWknO1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgc3RhdHVzOiAncXVldWVkJyB8ICdjb21wbGV0ZWQnO1xuICBzdGF0dXNVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZU9wZW5BSUltYWdlID0gYXN5bmMgKFxuICBfY29udGV4dDogQXBpQ29udGV4dCwgaW5wdXQ6IE9wZW5BSUltYWdlSW5wdXQsIGNvbmZpZz86IHtrZXk/OiBzdHJpbmc7IG1vZGVsPzogc3RyaW5nfVxuKTogUHJvbWlzZTxJbWFnZUdlbmVyYXRpb25SZXN1bHQ+ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWRhdGVPcGVuQUlJbWFnZUlucHV0KGlucHV0KTtcbiAgY29uc3Qga2V5ID0gY29uZmlnPy5rZXkgfHwgQ29uZmlnLmdldDxzdHJpbmc+KCdvcGVuYWkuYXBpS2V5Jyk7XG4gIGlmKCFrZXkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ09wZW5BSSBpbWFnZSBnZW5lcmF0aW9uIGlzIG5vdCBjb25maWd1cmVkLicpO1xuICB9XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdCgnaHR0cHM6Ly9hcGkub3BlbmFpLmNvbS92MS9pbWFnZXMvZ2VuZXJhdGlvbnMnLCB7XG4gICAgbW9kZWw6IHZhbGlkYXRlZC5tb2RlbCB8fCBjb25maWc/Lm1vZGVsIHx8IENvbmZpZy5nZXQ8c3RyaW5nPignb3BlbmFpLmltYWdlTW9kZWwnKSB8fCAnZ3B0LWltYWdlLTEuNScsXG4gICAgbjogMSxcbiAgICBvdXRwdXRfZm9ybWF0OiAncG5nJyxcbiAgICBwcm9tcHQ6IHZhbGlkYXRlZC5wcm9tcHQsXG4gICAgcXVhbGl0eTogdmFsaWRhdGVkLnF1YWxpdHksXG4gICAgc2l6ZTogdmFsaWRhdGVkLnNpemVcbiAgfSwge2NhY2hlOiBmYWxzZSwgaGVhZGVyczogbmV3IEhlYWRlcnMoe0F1dGhvcml6YXRpb246IGBCZWFyZXIgJHtrZXl9YH0pLCB0aW1lb3V0OiAxODBfMDAwfSkgYXMge1xuICAgIGRhdGE/OiB7YjY0X2pzb24/OiBzdHJpbmd9W107XG4gICAgZXJyb3I/OiB7dHlwZT86IHN0cmluZ307XG4gIH07XG4gIGlmKHJlc3BvbnNlLmVycm9yICYmIFsnaW52YWxpZF9yZXF1ZXN0X2Vycm9yJywgJ2F1dGhlbnRpY2F0aW9uX2Vycm9yJywgJ3Blcm1pc3Npb25fZXJyb3InXS5pbmNsdWRlcyhyZXNwb25zZS5lcnJvci50eXBlIHx8ICcnKSkge1xuICAgIHRocm93IG5ldyBJbWFnZUdlbmVyYXRpb25SZWplY3RlZEVycm9yKCdPcGVuQUkgcmVqZWN0ZWQgdGhlIGltYWdlIHJlcXVlc3QuIENoZWNrIG1vZGVsIGFjY2VzcyBhbmQgcHJvbXB0LicpO1xuICB9XG4gIGNvbnN0IGVuY29kZWQgPSByZXNwb25zZS5kYXRhPy5bMF0/LmI2NF9qc29uO1xuICBpZihyZXNwb25zZS5lcnJvciB8fCAhZW5jb2RlZCB8fCBlbmNvZGVkLmxlbmd0aCA+IDQwICogMTAyNCAqIDEwMjQgfHwgIS9eW0EtWmEtejAtOSsvXSs9ezAsMn0kLy50ZXN0KGVuY29kZWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdPcGVuQUkgaW1hZ2Ugb3V0cHV0IGNvdWxkIG5vdCBiZSB2ZXJpZmllZC4nKTtcbiAgfVxuICBpZighQnVmZmVyLmZyb20oZW5jb2RlZCwgJ2Jhc2U2NCcpLnN1YmFycmF5KDAsIDgpLmVxdWFscyhCdWZmZXIuZnJvbShbMTM3LCA4MCwgNzgsIDcxLCAxMywgMTAsIDI2LCAxMF0pKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignT3BlbkFJIGRpZCBub3QgcmV0dXJuIFBORyBpbWFnZSBieXRlcy4nKTtcbiAgfVxuICByZXR1cm4ge2ltYWdlQmFzZTY0OiBlbmNvZGVkLCBwcm92aWRlcjogJ29wZW5haScsIHJlcXVlc3RJZDogYG9wZW5haS0ke3JhbmRvbVVVSUQoKX1gLCBzdGF0dXM6ICdjb21wbGV0ZWQnfTtcbn07XG5cbi8qKiBQcm92aWRlciBzZWxlY3Rpb24gaXMgZGF0YTsgY3JlZGVudGlhbHMgYW5kIHBhaWQtam9iIG9yY2hlc3RyYXRpb24gc3RheSBzZXJ2ZXItc2lkZS4gKi9cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUltYWdlID0gYXN5bmMgKGNvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBHZW5lcmF0ZUltYWdlSW5wdXQpOiBQcm9taXNlPEltYWdlR2VuZXJhdGlvblJlc3VsdD4gPT4ge1xuICBpZihpbnB1dC5wcm92aWRlciA9PT0gJ2hpZ2dzZmllbGQnICYmICdtb2RlbElucHV0JyBpbiBpbnB1dCAmJiB0eXBlb2YgaW5wdXQubW9kZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYoZ2V0SGlnZ3NmaWVsZE1vZGVsKGlucHV0Lm1vZGVsKS5raW5kICE9PSAnaW1hZ2UnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nob29zZSBhbiBpbWFnZSBtb2RlbC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHsuLi5hd2FpdCBnZW5lcmF0ZUhpZ2dzZmllbGRNb2RlbChjb250ZXh0LCBpbnB1dC5tb2RlbCwgaW5wdXQubW9kZWxJbnB1dCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiksIHByb3ZpZGVyOiAnaGlnZ3NmaWVsZCcsIHN0YXR1czogJ3F1ZXVlZCd9O1xuICB9XG4gIGNvbnN0IHtwcm92aWRlciwgLi4ub3B0aW9uc30gPSBpbnB1dDtcbiAgaWYocHJvdmlkZXIgPT09ICdnZW1pbmknKSB7XG4gICAgcmV0dXJuIGdlbmVyYXRlR2VtaW5pSW1hZ2UoY29udGV4dCwgb3B0aW9ucyBhcyBHZW1pbmlJbWFnZUlucHV0KTtcbiAgfVxuICBpZihwcm92aWRlciA9PT0gJ29wZW5haScpIHtcbiAgICByZXR1cm4gZ2VuZXJhdGVPcGVuQUlJbWFnZShjb250ZXh0LCBvcHRpb25zIGFzIE9wZW5BSUltYWdlSW5wdXQpO1xuICB9XG4gIGlmKHByb3ZpZGVyICE9PSAnaGlnZ3NmaWVsZCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGltYWdlIHByb3ZpZGVyLicpO1xuICB9XG4gIGNvbnN0IHJlcXVlc3QgPSAnaW1hZ2VVcmxzJyBpbiBvcHRpb25zICYmIG9wdGlvbnMuaW1hZ2VVcmxzPy5sZW5ndGhcbiAgICA/IGF3YWl0IGdlbmVyYXRlTWFya2V0aW5nU3R1ZGlvSW1hZ2UoY29udGV4dCwgb3B0aW9ucyBhcyBNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0KVxuICAgIDogYXdhaXQgZ2VuZXJhdGVTb3VsSW1hZ2UoY29udGV4dCwgb3B0aW9ucyBhcyBTb3VsSW1hZ2VJbnB1dCk7XG4gIHJldHVybiB7Li4ucmVxdWVzdCwgcHJvdmlkZXIsIHN0YXR1czogJ3F1ZXVlZCd9O1xufTtcblxuLyoqIFJldXNlcyB0aGUgR2VtaW5pIGNvbnRlbnQgcHJvdG9jb2wgd2hpbGUgcHJlc2VydmluZyB0aGUgZ2VuZXJpYyBpbWFnZSByZXN1bHQgc2hhcGUuICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVHZW1pbmlJbWFnZSA9IGFzeW5jIChcbiAgX2NvbnRleHQ6IEFwaUNvbnRleHQsIGlucHV0OiBHZW1pbmlJbWFnZUlucHV0LCBjb25maWc/OiB7a2V5Pzogc3RyaW5nOyBtb2RlbD86IHN0cmluZ31cbik6IFByb21pc2U8SW1hZ2VHZW5lcmF0aW9uUmVzdWx0PiA9PiB7XG4gIGNvbnN0IHZhbGlkYXRlZCA9IHZhbGlkYXRlR2VtaW5pSW1hZ2VJbnB1dChpbnB1dCk7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2VuZXJhdGVDb250ZW50KHsuLi52YWxpZGF0ZWQsIG1vZGFsaXR5OiAnaW1hZ2UnLCBwcm92aWRlcjogJ2dlbWluaSd9LCB7XG4gICAgICBnZW1pbmlJbWFnZU1vZGVsOiBjb25maWc/Lm1vZGVsIHx8IENvbmZpZy5nZXQ8c3RyaW5nPignY29udGVudEdlbmVyYXRpb24uZ2VtaW5pSW1hZ2VNb2RlbCcpLFxuICAgICAgZ2VtaW5pS2V5OiBjb25maWc/LmtleSB8fCBDb25maWcuZ2V0PHN0cmluZz4oJ2NvbnRlbnRHZW5lcmF0aW9uLmdlbWluaUtleScpXG4gICAgfSk7XG4gICAgY29uc3Qge2ltYWdlfSA9IHJlc3VsdDtcbiAgICBpZighaW1hZ2UgfHwgIShpbWFnZS5taW1lID09PSAnaW1hZ2UvcG5nJ1xuICAgICAgPyBpbWFnZS5ieXRlcy5zdWJhcnJheSgwLCA4KS5lcXVhbHMoQnVmZmVyLmZyb20oWzEzNywgODAsIDc4LCA3MSwgMTMsIDEwLCAyNiwgMTBdKSlcbiAgICAgIDogaW1hZ2UuYnl0ZXMuc3ViYXJyYXkoMCwgMykuZXF1YWxzKEJ1ZmZlci5mcm9tKFsyNTUsIDIxNiwgMjU1XSkpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdHZW1pbmkgaW1hZ2Ugb3V0cHV0IGNvdWxkIG5vdCBiZSB2ZXJpZmllZC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHtpbWFnZUJhc2U2NDogaW1hZ2UuYnl0ZXMudG9TdHJpbmcoJ2Jhc2U2NCcpLCBtaW1lVHlwZTogaW1hZ2UubWltZSwgcHJvdmlkZXI6ICdnZW1pbmknLCByZXF1ZXN0SWQ6IGBnZW1pbmktJHtyYW5kb21VVUlEKCl9YCwgc3RhdHVzOiAnY29tcGxldGVkJ307XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIENvbnRlbnRHZW5lcmF0aW9uUmVqZWN0ZWRFcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEltYWdlR2VuZXJhdGlvblJlamVjdGVkRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuIl0sIm5hbWVzIjpbInBvc3QiLCJyYW5kb21VVUlEIiwidmFsaWRhdGVHZW1pbmlJbWFnZUlucHV0IiwiZ2V0SGlnZ3NmaWVsZE1vZGVsIiwidmFsaWRhdGVPcGVuQUlJbWFnZUlucHV0IiwiQ29uZmlnIiwiQ29udGVudEdlbmVyYXRpb25SZWplY3RlZEVycm9yIiwiZ2VuZXJhdGVDb250ZW50IiwiZ2VuZXJhdGVIaWdnc2ZpZWxkTW9kZWwiLCJnZW5lcmF0ZU1hcmtldGluZ1N0dWRpb0ltYWdlIiwiZ2VuZXJhdGVTb3VsSW1hZ2UiLCJJbWFnZUdlbmVyYXRpb25SZWplY3RlZEVycm9yIiwiRXJyb3IiLCJnZW5lcmF0ZU9wZW5BSUltYWdlIiwiX2NvbnRleHQiLCJpbnB1dCIsImNvbmZpZyIsInZhbGlkYXRlZCIsImtleSIsImdldCIsInJlc3BvbnNlIiwibW9kZWwiLCJuIiwib3V0cHV0X2Zvcm1hdCIsInByb21wdCIsInF1YWxpdHkiLCJzaXplIiwiY2FjaGUiLCJoZWFkZXJzIiwiSGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJ0aW1lb3V0IiwiZXJyb3IiLCJpbmNsdWRlcyIsInR5cGUiLCJlbmNvZGVkIiwiZGF0YSIsImI2NF9qc29uIiwibGVuZ3RoIiwidGVzdCIsIkJ1ZmZlciIsImZyb20iLCJzdWJhcnJheSIsImVxdWFscyIsImltYWdlQmFzZTY0IiwicHJvdmlkZXIiLCJyZXF1ZXN0SWQiLCJzdGF0dXMiLCJnZW5lcmF0ZUltYWdlIiwiY29udGV4dCIsImtpbmQiLCJtb2RlbElucHV0Iiwib3B0aW9ucyIsImdlbmVyYXRlR2VtaW5pSW1hZ2UiLCJyZXF1ZXN0IiwiaW1hZ2VVcmxzIiwicmVzdWx0IiwibW9kYWxpdHkiLCJnZW1pbmlJbWFnZU1vZGVsIiwiZ2VtaW5pS2V5IiwiaW1hZ2UiLCJtaW1lIiwiYnl0ZXMiLCJ0b1N0cmluZyIsIm1pbWVUeXBlIiwibWVzc2FnZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsSUFBSSxRQUFPLG9CQUFvQjtBQUN2QyxTQUFRQyxVQUFVLFFBQU8sY0FBYztBQUV2QyxTQUFRQyx3QkFBd0IsUUFBTyx5Q0FBeUM7QUFDaEYsU0FBUUMsa0JBQWtCLFFBQU8sd0NBQXdDO0FBQ3pFLFNBQVFDLHdCQUF3QixRQUFPLHdDQUF3QztBQUMvRSxTQUFRQyxNQUFNLFFBQU8sZUFBZTtBQUNwQyxTQUFRQyw4QkFBOEIsRUFBRUMsZUFBZSxRQUFPLHlCQUF5QjtBQUN2RixTQUFRQyx1QkFBdUIsRUFBRUMsNEJBQTRCLEVBQUVDLGlCQUFpQixRQUFPLGtCQUFrQjtBQU96RyxvRkFBb0YsR0FDcEYsT0FBTyxNQUFNQyxxQ0FBcUNDO0FBQU87QUFtQnpELE9BQU8sTUFBTUMsc0JBQXNCLE9BQ2pDQyxVQUFzQkMsT0FBeUJDO0lBRS9DLE1BQU1DLFlBQVliLHlCQUF5Qlc7SUFDM0MsTUFBTUcsTUFBTUYsUUFBUUUsT0FBT2IsT0FBT2MsR0FB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
@@ -5,6 +5,8 @@
5
5
  export * from './apps.js';
6
6
  export * from './analytics.js';
7
7
  export * from './connections.js';
8
+ export * from './databaseProvisioningLease.js';
9
+ export * from './databaseAccounts.js';
8
10
  export * from './conversations.js';
9
11
  export * from './crm.js';
10
12
  export * from './dynamodb.js';
@@ -4,6 +4,8 @@
4
4
  */ export * from './apps.js';
5
5
  export * from './analytics.js';
6
6
  export * from './connections.js';
7
+ export * from './databaseProvisioningLease.js';
8
+ export * from './databaseAccounts.js';
7
9
  export * from './conversations.js';
8
10
  export * from './crm.js';
9
11
  export * from './dynamodb.js';
@@ -35,4 +37,4 @@ export * from './contentGeneration.js';
35
37
  export * from './videoGeneration.js';
36
38
  export * from './geminiVideo.js';
37
39
 
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBVc2UgaXMgc3ViamVjdCB0byB0aGUgYWNjb21wYW55aW5nIGNvbW1lcmNpYWwgTElDRU5TRS5cbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9hcHBzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYW5hbHl0aWNzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb252ZXJzYXRpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JtLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1vZGIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbWFpbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZmxhZ3MuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9oaWdnc2ZpZWxkLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2VzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vaW9zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYXRpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGF5bWVudHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9wb3N0cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3BlcnNvbmFzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcnVtLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vczMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2guanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zbXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0aXN0aWNzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3RhZ3MuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91c2Vycy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZGVvcy5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2VHZW5lcmF0aW9uLmpzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb250ZW50R2VuZXJhdGlvbi5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdmlkZW9HZW5lcmF0aW9uLmpzJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZW1pbmlWaWRlby5qcyc7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsY0FBYyxZQUFZO0FBQzFCLGNBQWMsaUJBQWlCO0FBQy9CLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsV0FBVztBQUN6QixjQUFjLGdCQUFnQjtBQUM5QixjQUFjLGFBQWE7QUFDM0IsY0FBYyxhQUFhO0FBQzNCLGNBQWMsYUFBYTtBQUMzQixjQUFjLGNBQWM7QUFDNUIsY0FBYyxrQkFBa0I7QUFDaEMsY0FBYyxjQUFjO0FBQzVCLGNBQWMsV0FBVztBQUN6QixjQUFjLGlCQUFpQjtBQUMvQixjQUFjLGdCQUFnQjtBQUM5QixjQUFjLHFCQUFxQjtBQUNuQyxjQUFjLGdCQUFnQjtBQUM5QixjQUFjLGFBQWE7QUFDM0IsY0FBYyxnQkFBZ0I7QUFDOUIsY0FBYyxpQkFBaUI7QUFDL0IsY0FBYyxXQUFXO0FBQ3pCLGNBQWMsVUFBVTtBQUN4QixjQUFjLGNBQWM7QUFDNUIsY0FBYyxXQUFXO0FBQ3pCLGNBQWMsa0JBQWtCO0FBQ2hDLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsWUFBWTtBQUMxQixjQUFjLGFBQWE7QUFDM0IsY0FBYyxjQUFjO0FBRTVCLGNBQWMsdUJBQXVCO0FBRXJDLGNBQWMseUJBQXlCO0FBRXZDLGNBQWMsdUJBQXVCO0FBRXJDLGNBQWMsbUJBQW1CIn0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBVc2UgaXMgc3ViamVjdCB0byB0aGUgYWNjb21wYW55aW5nIGNvbW1lcmNpYWwgTElDRU5TRS5cbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9hcHBzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYW5hbHl0aWNzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YWJhc2VBY2NvdW50cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnNhdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jcm0uanMnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbW9kYi5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2VtYWlsLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9mbGFncy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyb3Vwcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2hpZ2dzZmllbGQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9pb3MuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2NhdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXltZW50cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3Bvc3RzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGVyc29uYXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9ydW0uanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zMy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3Ntcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRpc3RpY3MuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFncy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXJzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdmlkZW9zLmpzJztcblxuZXhwb3J0ICogZnJvbSAnLi9pbWFnZUdlbmVyYXRpb24uanMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRlbnRHZW5lcmF0aW9uLmpzJztcblxuZXhwb3J0ICogZnJvbSAnLi92aWRlb0dlbmVyYXRpb24uanMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dlbWluaVZpZGVvLmpzJztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxjQUFjLFlBQVk7QUFDMUIsY0FBYyxpQkFBaUI7QUFDL0IsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyxpQ0FBaUM7QUFDL0MsY0FBYyx3QkFBd0I7QUFDdEMsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyxXQUFXO0FBQ3pCLGNBQWMsZ0JBQWdCO0FBQzlCLGNBQWMsYUFBYTtBQUMzQixjQUFjLGFBQWE7QUFDM0IsY0FBYyxhQUFhO0FBQzNCLGNBQWMsY0FBYztBQUM1QixjQUFjLGtCQUFrQjtBQUNoQyxjQUFjLGNBQWM7QUFDNUIsY0FBYyxXQUFXO0FBQ3pCLGNBQWMsaUJBQWlCO0FBQy9CLGNBQWMsZ0JBQWdCO0FBQzlCLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsZ0JBQWdCO0FBQzlCLGNBQWMsYUFBYTtBQUMzQixjQUFjLGdCQUFnQjtBQUM5QixjQUFjLGlCQUFpQjtBQUMvQixjQUFjLFdBQVc7QUFDekIsY0FBYyxVQUFVO0FBQ3hCLGNBQWMsY0FBYztBQUM1QixjQUFjLFdBQVc7QUFDekIsY0FBYyxrQkFBa0I7QUFDaEMsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyxZQUFZO0FBQzFCLGNBQWMsYUFBYTtBQUMzQixjQUFjLGNBQWM7QUFFNUIsY0FBYyx1QkFBdUI7QUFFckMsY0FBYyx5QkFBeUI7QUFFdkMsY0FBYyx1QkFBdUI7QUFFckMsY0FBYyxtQkFBbUIifQ==
@@ -1,8 +1,12 @@
1
1
  import type { GeminiVideoInput } from '../adapters/geminiGenerationAdapter.js';
2
2
  import type { SeedanceReferenceVideoInput, SeedanceVideoInput } from '../adapters/higgsfieldAdapter.js';
3
3
  import type { ApiContext } from '../types/auth.types.js';
4
- export type VideoGenerationInput = (GeminiVideoInput | SeedanceVideoInput | SeedanceReferenceVideoInput) & {
4
+ export type VideoGenerationInput = ((GeminiVideoInput | SeedanceVideoInput | SeedanceReferenceVideoInput) & {
5
5
  provider?: string;
6
+ }) | {
7
+ model: string;
8
+ modelInput: Record<string, unknown>;
9
+ provider: 'higgsfield';
6
10
  };
7
11
  export interface VideoGenerationResult {
8
12
  cancelUrl?: string;
@@ -1,6 +1,7 @@
1
+ import { getHiggsfieldModel } from '../adapters/higgsfieldModelCatalog.js';
1
2
  import { Config } from '../config.js';
2
3
  import { generateGeminiVideo } from './geminiVideo.js';
3
- import { generateSeedanceReferenceVideo, generateSeedanceVideo } from './higgsfield.js';
4
+ import { generateHiggsfieldModel, generateSeedanceReferenceVideo, generateSeedanceVideo } from './higgsfield.js';
4
5
  /** Generic video submission; providers must be explicitly selected in the input or configuration. */ export const generateVideo = async (context, input, config = context.config?.videoGeneration || Config.get('videoGeneration') || {}, webhookUrl)=>{
5
6
  const { provider = config.provider, ...options } = input;
6
7
  if (!provider) {
@@ -15,6 +16,16 @@ import { generateSeedanceReferenceVideo, generateSeedanceVideo } from './higgsfi
15
16
  if (provider !== 'higgsfield') {
16
17
  throw new Error('Unsupported video provider.');
17
18
  }
19
+ if ('modelInput' in input && typeof input.model === 'string') {
20
+ if (getHiggsfieldModel(input.model).kind !== 'video') {
21
+ throw new Error('Choose a video model.');
22
+ }
23
+ return {
24
+ ...await generateHiggsfieldModel(context, input.model, input.modelInput, webhookUrl),
25
+ provider,
26
+ status: 'queued'
27
+ };
28
+ }
18
29
  const mediaOptions = options;
19
30
  const references = [
20
31
  mediaOptions.imageUrls,
@@ -29,4 +40,4 @@ import { generateSeedanceReferenceVideo, generateSeedanceVideo } from './higgsfi
29
40
  };
30
41
  };
31
42
 
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy92aWRlb0dlbmVyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQge2dlbmVyYXRlR2VtaW5pVmlkZW99IGZyb20gJy4vZ2VtaW5pVmlkZW8uanMnO1xuaW1wb3J0IHtnZW5lcmF0ZVNlZWRhbmNlUmVmZXJlbmNlVmlkZW8sIGdlbmVyYXRlU2VlZGFuY2VWaWRlb30gZnJvbSAnLi9oaWdnc2ZpZWxkLmpzJztcblxuaW1wb3J0IHR5cGUge0dlbWluaVZpZGVvSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2dlbWluaUdlbmVyYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB0eXBlIHtTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQsIFNlZWRhbmNlVmlkZW9JbnB1dH0gZnJvbSAnLi4vYWRhcHRlcnMvaGlnZ3NmaWVsZEFkYXB0ZXIuanMnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG5leHBvcnQgdHlwZSBWaWRlb0dlbmVyYXRpb25JbnB1dCA9IChHZW1pbmlWaWRlb0lucHV0IHwgU2VlZGFuY2VWaWRlb0lucHV0IHwgU2VlZGFuY2VSZWZlcmVuY2VWaWRlb0lucHV0KSAmIHtcbiAgcHJvdmlkZXI/OiBzdHJpbmc7XG59O1xuZXhwb3J0IGludGVyZmFjZSBWaWRlb0dlbmVyYXRpb25SZXN1bHQge1xuICBjYW5jZWxVcmw/OiBzdHJpbmc7XG4gIHByb3ZpZGVyOiBzdHJpbmc7XG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICBzdGF0dXM6ICdxdWV1ZWQnO1xuICBzdGF0dXNVcmw6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVmlkZW9HZW5lcmF0aW9uQ29uZmlnIHtcbiAgZ2VtaW5pS2V5Pzogc3RyaW5nO1xuICBnZW1pbmlNb2RlbD86IHN0cmluZztcbiAgcHJvdmlkZXI/OiBzdHJpbmc7XG59XG5cbi8qKiBHZW5lcmljIHZpZGVvIHN1Ym1pc3Npb247IHByb3ZpZGVycyBtdXN0IGJlIGV4cGxpY2l0bHkgc2VsZWN0ZWQgaW4gdGhlIGlucHV0IG9yIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVWaWRlbyA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCwgaW5wdXQ6IFZpZGVvR2VuZXJhdGlvbklucHV0LFxuICBjb25maWc6IFZpZGVvR2VuZXJhdGlvbkNvbmZpZyA9IGNvbnRleHQuY29uZmlnPy52aWRlb0dlbmVyYXRpb24gfHwgQ29uZmlnLmdldCgndmlkZW9HZW5lcmF0aW9uJykgfHwge30sXG4gIHdlYmhvb2tVcmw/OiBzdHJpbmdcbik6IFByb21pc2U8VmlkZW9HZW5lcmF0aW9uUmVzdWx0PiA9PiB7XG4gIGNvbnN0IHtwcm92aWRlciA9IGNvbmZpZy5wcm92aWRlciwgLi4ub3B0aW9uc30gPSBpbnB1dDtcbiAgaWYoIXByb3ZpZGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIHZpZGVvIGdlbmVyYXRpb24gcHJvdmlkZXIgaXMgcmVxdWlyZWQuJyk7XG4gIH1cbiAgaWYocHJvdmlkZXIgPT09ICdnZW1pbmknKSB7XG4gICAgcmV0dXJuIGdlbmVyYXRlR2VtaW5pVmlkZW8oY29udGV4dCwgb3B0aW9ucyBhcyBHZW1pbmlWaWRlb0lucHV0LCB7XG4gICAgICBrZXk6IGNvbmZpZy5nZW1pbmlLZXksIG1vZGVsOiBjb25maWcuZ2VtaW5pTW9kZWxcbiAgICB9KTtcbiAgfVxuICBpZihwcm92aWRlciAhPT0gJ2hpZ2dzZmllbGQnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCB2aWRlbyBwcm92aWRlci4nKTtcbiAgfVxuICBjb25zdCBtZWRpYU9wdGlvbnMgPSBvcHRpb25zIGFzIFNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dDtcbiAgY29uc3QgcmVmZXJlbmNlcyA9IFttZWRpYU9wdGlvbnMuaW1hZ2VVcmxzLCBtZWRpYU9wdGlvbnMuYXVkaW9VcmxzLCBtZWRpYU9wdGlvbnMudmlkZW9VcmxzXVxuICAgIC5zb21lKCh1cmxzKSA9PiBBcnJheS5pc0FycmF5KHVybHMpICYmIHVybHMubGVuZ3RoID4gMCk7XG4gIGNvbnN0IHJlc3VsdCA9IHJlZmVyZW5jZXNcbiAgICA/IGF3YWl0IGdlbmVyYXRlU2VlZGFuY2VSZWZlcmVuY2VWaWRlbyhjb250ZXh0LCBvcHRpb25zIGFzIFNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dCwgd2ViaG9va1VybClcbiAgICA6IGF3YWl0IGdlbmVyYXRlU2VlZGFuY2VWaWRlbyhjb250ZXh0LCBvcHRpb25zIGFzIFNlZWRhbmNlVmlkZW9JbnB1dCwgd2ViaG9va1VybCk7XG4gIHJldHVybiB7Li4ucmVzdWx0LCBwcm92aWRlciwgc3RhdHVzOiAncXVldWVkJ307XG59O1xuIl0sIm5hbWVzIjpbIkNvbmZpZyIsImdlbmVyYXRlR2VtaW5pVmlkZW8iLCJnZW5lcmF0ZVNlZWRhbmNlUmVmZXJlbmNlVmlkZW8iLCJnZW5lcmF0ZVNlZWRhbmNlVmlkZW8iLCJnZW5lcmF0ZVZpZGVvIiwiY29udGV4dCIsImlucHV0IiwiY29uZmlnIiwidmlkZW9HZW5lcmF0aW9uIiwiZ2V0Iiwid2ViaG9va1VybCIsInByb3ZpZGVyIiwib3B0aW9ucyIsIkVycm9yIiwia2V5IiwiZ2VtaW5pS2V5IiwibW9kZWwiLCJnZW1pbmlNb2RlbCIsIm1lZGlhT3B0aW9ucyIsInJlZmVyZW5jZXMiLCJpbWFnZVVybHMiLCJhdWRpb1VybHMiLCJ2aWRlb1VybHMiLCJzb21lIiwidXJscyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsInJlc3VsdCIsInN0YXR1cyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsTUFBTSxRQUFPLGVBQWU7QUFDcEMsU0FBUUMsbUJBQW1CLFFBQU8sbUJBQW1CO0FBQ3JELFNBQVFDLDhCQUE4QixFQUFFQyxxQkFBcUIsUUFBTyxrQkFBa0I7QUFzQnRGLG1HQUFtRyxHQUNuRyxPQUFPLE1BQU1DLGdCQUFnQixPQUMzQkMsU0FBcUJDLE9BQ3JCQyxTQUFnQ0YsUUFBUUUsTUFBTSxFQUFFQyxtQkFBbUJSLE9BQU9TLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQ3RHQztJQUVBLE1BQU0sRUFBQ0MsV0FBV0osT0FBT0ksUUFBUSxFQUFFLEdBQUdDLFNBQVEsR0FBR047SUFDakQsSUFBRyxDQUFDSyxVQUFVO1FBQ1osTUFBTSxJQUFJRSxNQUFNO0lBQ2xCO0lBQ0EsSUFBR0YsYUFBYSxVQUFVO1FBQ3hCLE9BQU9WLG9CQUFvQkksU0FBU08sU0FBNkI7WUFDL0RFLEtBQUtQLE9BQU9RLFNBQVM7WUFBRUMsT0FBT1QsT0FBT1UsV0FBVztRQUNsRDtJQUNGO0lBQ0EsSUFBR04sYUFBYSxjQUFjO1FBQzVCLE1BQU0sSUFBSUUsTUFBTTtJQUNsQjtJQUNBLE1BQU1LLGVBQWVOO0lBQ3JCLE1BQU1PLGFBQWE7UUFBQ0QsYUFBYUUsU0FBUztRQUFFRixhQUFhRyxTQUFTO1FBQUVILGFBQWFJLFNBQVM7S0FBQyxDQUN4RkMsSUFBSSxDQUFDLENBQUNDLE9BQVNDLE1BQU1DLE9BQU8sQ0FBQ0YsU0FBU0EsS0FBS0csTUFBTSxHQUFHO0lBQ3ZELE1BQU1DLFNBQVNULGFBQ1gsTUFBTWpCLCtCQUErQkcsU0FBU08sU0FBd0NGLGNBQ3RGLE1BQU1QLHNCQUFzQkUsU0FBU08sU0FBK0JGO0lBQ3hFLE9BQU87UUFBQyxHQUFHa0IsTUFBTTtRQUFFakI7UUFBVWtCLFFBQVE7SUFBUTtBQUMvQyxFQUFFIn0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy92aWRlb0dlbmVyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRIaWdnc2ZpZWxkTW9kZWx9IGZyb20gJy4uL2FkYXB0ZXJzL2hpZ2dzZmllbGRNb2RlbENhdGFsb2cuanMnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQge2dlbmVyYXRlR2VtaW5pVmlkZW99IGZyb20gJy4vZ2VtaW5pVmlkZW8uanMnO1xuaW1wb3J0IHtnZW5lcmF0ZUhpZ2dzZmllbGRNb2RlbCwgZ2VuZXJhdGVTZWVkYW5jZVJlZmVyZW5jZVZpZGVvLCBnZW5lcmF0ZVNlZWRhbmNlVmlkZW99IGZyb20gJy4vaGlnZ3NmaWVsZC5qcyc7XG5cbmltcG9ydCB0eXBlIHtHZW1pbmlWaWRlb0lucHV0fSBmcm9tICcuLi9hZGFwdGVycy9nZW1pbmlHZW5lcmF0aW9uQWRhcHRlci5qcyc7XG5pbXBvcnQgdHlwZSB7U2VlZGFuY2VSZWZlcmVuY2VWaWRlb0lucHV0LCBTZWVkYW5jZVZpZGVvSW5wdXR9IGZyb20gJy4uL2FkYXB0ZXJzL2hpZ2dzZmllbGRBZGFwdGVyLmpzJztcbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcblxuZXhwb3J0IHR5cGUgVmlkZW9HZW5lcmF0aW9uSW5wdXQgPSAoR2VtaW5pVmlkZW9JbnB1dCB8IFNlZWRhbmNlVmlkZW9JbnB1dCB8IFNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dCkgJiB7XG4gIHByb3ZpZGVyPzogc3RyaW5nO1xufSB8IHttb2RlbDogc3RyaW5nOyBtb2RlbElucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgcHJvdmlkZXI6ICdoaWdnc2ZpZWxkJ307XG5leHBvcnQgaW50ZXJmYWNlIFZpZGVvR2VuZXJhdGlvblJlc3VsdCB7XG4gIGNhbmNlbFVybD86IHN0cmluZztcbiAgcHJvdmlkZXI6IHN0cmluZztcbiAgcmVxdWVzdElkOiBzdHJpbmc7XG4gIHN0YXR1czogJ3F1ZXVlZCc7XG4gIHN0YXR1c1VybDogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBWaWRlb0dlbmVyYXRpb25Db25maWcge1xuICBnZW1pbmlLZXk/OiBzdHJpbmc7XG4gIGdlbWluaU1vZGVsPzogc3RyaW5nO1xuICBwcm92aWRlcj86IHN0cmluZztcbn1cblxuLyoqIEdlbmVyaWMgdmlkZW8gc3VibWlzc2lvbjsgcHJvdmlkZXJzIG11c3QgYmUgZXhwbGljaXRseSBzZWxlY3RlZCBpbiB0aGUgaW5wdXQgb3IgY29uZmlndXJhdGlvbi4gKi9cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVZpZGVvID0gYXN5bmMgKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LCBpbnB1dDogVmlkZW9HZW5lcmF0aW9uSW5wdXQsXG4gIGNvbmZpZzogVmlkZW9HZW5lcmF0aW9uQ29uZmlnID0gY29udGV4dC5jb25maWc/LnZpZGVvR2VuZXJhdGlvbiB8fCBDb25maWcuZ2V0KCd2aWRlb0dlbmVyYXRpb24nKSB8fCB7fSxcbiAgd2ViaG9va1VybD86IHN0cmluZ1xuKTogUHJvbWlzZTxWaWRlb0dlbmVyYXRpb25SZXN1bHQ+ID0+IHtcbiAgY29uc3Qge3Byb3ZpZGVyID0gY29uZmlnLnByb3ZpZGVyLCAuLi5vcHRpb25zfSA9IGlucHV0O1xuICBpZighcHJvdmlkZXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0EgdmlkZW8gZ2VuZXJhdGlvbiBwcm92aWRlciBpcyByZXF1aXJlZC4nKTtcbiAgfVxuICBpZihwcm92aWRlciA9PT0gJ2dlbWluaScpIHtcbiAgICByZXR1cm4gZ2VuZXJhdGVHZW1pbmlWaWRlbyhjb250ZXh0LCBvcHRpb25zIGFzIEdlbWluaVZpZGVvSW5wdXQsIHtcbiAgICAgIGtleTogY29uZmlnLmdlbWluaUtleSwgbW9kZWw6IGNvbmZpZy5nZW1pbmlNb2RlbFxuICAgIH0pO1xuICB9XG4gIGlmKHByb3ZpZGVyICE9PSAnaGlnZ3NmaWVsZCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHZpZGVvIHByb3ZpZGVyLicpO1xuICB9XG4gIGlmKCdtb2RlbElucHV0JyBpbiBpbnB1dCAmJiB0eXBlb2YgaW5wdXQubW9kZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYoZ2V0SGlnZ3NmaWVsZE1vZGVsKGlucHV0Lm1vZGVsKS5raW5kICE9PSAndmlkZW8nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nob29zZSBhIHZpZGVvIG1vZGVsLicpO1xuICAgIH1cbiAgICByZXR1cm4gey4uLmF3YWl0IGdlbmVyYXRlSGlnZ3NmaWVsZE1vZGVsKGNvbnRleHQsIGlucHV0Lm1vZGVsLCBpbnB1dC5tb2RlbElucHV0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LCB3ZWJob29rVXJsKSwgcHJvdmlkZXIsIHN0YXR1czogJ3F1ZXVlZCd9O1xuICB9XG4gIGNvbnN0IG1lZGlhT3B0aW9ucyA9IG9wdGlvbnMgYXMgU2VlZGFuY2VSZWZlcmVuY2VWaWRlb0lucHV0O1xuICBjb25zdCByZWZlcmVuY2VzID0gW21lZGlhT3B0aW9ucy5pbWFnZVVybHMsIG1lZGlhT3B0aW9ucy5hdWRpb1VybHMsIG1lZGlhT3B0aW9ucy52aWRlb1VybHNdXG4gICAgLnNvbWUoKHVybHMpID0+IEFycmF5LmlzQXJyYXkodXJscykgJiYgdXJscy5sZW5ndGggPiAwKTtcbiAgY29uc3QgcmVzdWx0ID0gcmVmZXJlbmNlc1xuICAgID8gYXdhaXQgZ2VuZXJhdGVTZWVkYW5jZVJlZmVyZW5jZVZpZGVvKGNvbnRleHQsIG9wdGlvbnMgYXMgU2VlZGFuY2VSZWZlcmVuY2VWaWRlb0lucHV0LCB3ZWJob29rVXJsKVxuICAgIDogYXdhaXQgZ2VuZXJhdGVTZWVkYW5jZVZpZGVvKGNvbnRleHQsIG9wdGlvbnMgYXMgU2VlZGFuY2VWaWRlb0lucHV0LCB3ZWJob29rVXJsKTtcbiAgcmV0dXJuIHsuLi5yZXN1bHQsIHByb3ZpZGVyLCBzdGF0dXM6ICdxdWV1ZWQnfTtcbn07XG4iXSwibmFtZXMiOlsiZ2V0SGlnZ3NmaWVsZE1vZGVsIiwiQ29uZmlnIiwiZ2VuZXJhdGVHZW1pbmlWaWRlbyIsImdlbmVyYXRlSGlnZ3NmaWVsZE1vZGVsIiwiZ2VuZXJhdGVTZWVkYW5jZVJlZmVyZW5jZVZpZGVvIiwiZ2VuZXJhdGVTZWVkYW5jZVZpZGVvIiwiZ2VuZXJhdGVWaWRlbyIsImNvbnRleHQiLCJpbnB1dCIsImNvbmZpZyIsInZpZGVvR2VuZXJhdGlvbiIsImdldCIsIndlYmhvb2tVcmwiLCJwcm92aWRlciIsIm9wdGlvbnMiLCJFcnJvciIsImtleSIsImdlbWluaUtleSIsIm1vZGVsIiwiZ2VtaW5pTW9kZWwiLCJraW5kIiwibW9kZWxJbnB1dCIsInN0YXR1cyIsIm1lZGlhT3B0aW9ucyIsInJlZmVyZW5jZXMiLCJpbWFnZVVybHMiLCJhdWRpb1VybHMiLCJ2aWRlb1VybHMiLCJzb21lIiwidXJscyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsInJlc3VsdCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsa0JBQWtCLFFBQU8sd0NBQXdDO0FBQ3pFLFNBQVFDLE1BQU0sUUFBTyxlQUFlO0FBQ3BDLFNBQVFDLG1CQUFtQixRQUFPLG1CQUFtQjtBQUNyRCxTQUFRQyx1QkFBdUIsRUFBRUMsOEJBQThCLEVBQUVDLHFCQUFxQixRQUFPLGtCQUFrQjtBQXNCL0csbUdBQW1HLEdBQ25HLE9BQU8sTUFBTUMsZ0JBQWdCLE9BQzNCQyxTQUFxQkMsT0FDckJDLFNBQWdDRixRQUFRRSxNQUFNLEVBQUVDLG1CQUFtQlQsT0FBT1UsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFDdEdDO0lBRUEsTUFBTSxFQUFDQyxXQUFXSixPQUFPSSxRQUFRLEVBQUUsR0FBR0MsU0FBUSxHQUFHTjtJQUNqRCxJQUFHLENBQUNLLFVBQVU7UUFDWixNQUFNLElBQUlFLE1BQU07SUFDbEI7SUFDQSxJQUFHRixhQUFhLFVBQVU7UUFDeEIsT0FBT1gsb0JBQW9CSyxTQUFTTyxTQUE2QjtZQUMvREUsS0FBS1AsT0FBT1EsU0FBUztZQUFFQyxPQUFPVCxPQUFPVSxXQUFXO1FBQ2xEO0lBQ0Y7SUFDQSxJQUFHTixhQUFhLGNBQWM7UUFDNUIsTUFBTSxJQUFJRSxNQUFNO0lBQ2xCO0lBQ0EsSUFBRyxnQkFBZ0JQLFNBQVMsT0FBT0EsTUFBTVUsS0FBSyxLQUFLLFVBQVU7UUFDM0QsSUFBR2xCLG1CQUFtQlEsTUFBTVUsS0FBSyxFQUFFRSxJQUFJLEtBQUssU0FBUztZQUNuRCxNQUFNLElBQUlMLE1BQU07UUFDbEI7UUFDQSxPQUFPO1lBQUMsR0FBRyxNQUFNWix3QkFBd0JJLFNBQVNDLE1BQU1VLEtBQUssRUFBRVYsTUFBTWEsVUFBVSxFQUE2QlQsV0FBVztZQUFFQztZQUFVUyxRQUFRO1FBQVE7SUFDcko7SUFDQSxNQUFNQyxlQUFlVDtJQUNyQixNQUFNVSxhQUFhO1FBQUNELGFBQWFFLFNBQVM7UUFBRUYsYUFBYUcsU0FBUztRQUFFSCxhQUFhSSxTQUFTO0tBQUMsQ0FDeEZDLElBQUksQ0FBQyxDQUFDQyxPQUFTQyxNQUFNQyxPQUFPLENBQUNGLFNBQVNBLEtBQUtHLE1BQU0sR0FBRztJQUN2RCxNQUFNQyxTQUFTVCxhQUNYLE1BQU1wQiwrQkFBK0JHLFNBQVNPLFNBQXdDRixjQUN0RixNQUFNUCxzQkFBc0JFLFNBQVNPLFNBQStCRjtJQUN4RSxPQUFPO1FBQUMsR0FBR3FCLE1BQU07UUFBRXBCO1FBQVVTLFFBQVE7SUFBUTtBQUMvQyxFQUFFIn0=
@@ -101,20 +101,26 @@ export declare const validateSoulImageInput: (input: unknown) => SoulImageInput;
101
101
  export declare const validateSeedanceVideoInput: (input: unknown) => SeedanceVideoInput;
102
102
  export declare const validateSeedanceReferenceVideoInput: (input: unknown) => SeedanceReferenceVideoInput;
103
103
  export declare const validateMarketingStudioImageInput: (input: unknown) => MarketingStudioImageInput;
104
- export interface HiggsfieldWebhookPayload {
105
- error?: string | null;
106
- payload?: {
107
- images?: {
108
- url?: string;
109
- content_type?: string;
110
- }[];
111
- video?: {
112
- url?: string;
113
- content_type?: string;
114
- };
115
- };
116
- request_id: string;
117
- status: string;
118
- }
104
+ declare const HiggsfieldWebhookSchema: z.ZodObject<{
105
+ error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
106
+ payload: z.ZodOptional<z.ZodNullable<z.ZodObject<{
107
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
108
+ content_type: z.ZodOptional<z.ZodString>;
109
+ url: z.ZodOptional<z.ZodString>;
110
+ }, z.core.$strip>>>;
111
+ video: z.ZodOptional<z.ZodObject<{
112
+ content_type: z.ZodOptional<z.ZodString>;
113
+ url: z.ZodOptional<z.ZodString>;
114
+ }, z.core.$strip>>;
115
+ }, z.core.$strip>>>;
116
+ request_id: z.ZodString;
117
+ status: z.ZodEnum<{
118
+ completed: "completed";
119
+ failed: "failed";
120
+ nsfw: "nsfw";
121
+ }>;
122
+ }, z.core.$strip>;
123
+ export type HiggsfieldWebhookPayload = z.output<typeof HiggsfieldWebhookSchema>;
124
+ /** Validates the documented envelope only; callers must authenticate and reconcile before settlement. */
119
125
  export declare const parseHiggsfieldWebhookPayload: (body: unknown) => HiggsfieldWebhookPayload;
120
126
  export {};
@@ -113,19 +113,32 @@ export const validateSoulImageInput = (input)=>parseWith(SoulImageInputSchema, i
113
113
  export const validateSeedanceVideoInput = (input)=>parseWith(SeedanceVideoInputSchema, input);
114
114
  export const validateSeedanceReferenceVideoInput = (input)=>parseWith(SeedanceReferenceVideoInputSchema, input);
115
115
  export const validateMarketingStudioImageInput = (input)=>parseWith(MarketingStudioImageInputSchema, input);
116
- export const parseHiggsfieldWebhookPayload = (body)=>{
117
- const record = body;
118
- const requestId = String(record?.request_id || '');
119
- const status = String(record?.status || '');
120
- if (!requestId || !status) {
121
- throw new HiggsfieldValidationError('Higgsfield webhook payload is missing request_id or status.');
116
+ const WebhookMediaSchema = z.object({
117
+ content_type: z.string().max(128).optional(),
118
+ url: z.string().url().max(8192).optional()
119
+ });
120
+ const HiggsfieldWebhookSchema = z.object({
121
+ error: z.string().max(4096).nullable().optional(),
122
+ payload: z.object({
123
+ images: z.array(WebhookMediaSchema).max(100).optional(),
124
+ video: WebhookMediaSchema.optional()
125
+ }).nullable().optional(),
126
+ request_id: z.string().regex(/^[a-zA-Z0-9_-]{1,200}$/),
127
+ status: z.enum([
128
+ 'completed',
129
+ 'failed',
130
+ 'nsfw'
131
+ ])
132
+ });
133
+ /** Validates the documented envelope only; callers must authenticate and reconcile before settlement. */ export const parseHiggsfieldWebhookPayload = (body)=>{
134
+ const parsed = HiggsfieldWebhookSchema.safeParse(body);
135
+ if (!parsed.success) {
136
+ throw new HiggsfieldValidationError('Invalid Higgsfield webhook envelope.');
122
137
  }
123
138
  return {
124
- error: record?.error ?? null,
125
- payload: record?.payload,
126
- request_id: requestId,
127
- status
139
+ ...parsed.data,
140
+ error: parsed.data.error ?? null
128
141
  };
129
142
  };
130
143
 
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWRhcHRlcnMvaGlnZ3NmaWVsZEFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjYtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuZXhwb3J0IGNsYXNzIEhpZ2dzZmllbGRWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0hpZ2dzZmllbGRWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFNvdWxJbWFnZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBhc3BlY3RSYXRpbzogei5lbnVtKFsnOToxNicsICcxNjo5JywgJzQ6MycsICczOjQnLCAnMToxJywgJzI6MycsICczOjInXSkub3B0aW9uYWwoKSxcbiAgYmF0Y2hTaXplOiB6LnVuaW9uKFt6LmxpdGVyYWwoMSksIHoubGl0ZXJhbCg0KV0pLm9wdGlvbmFsKCksXG4gIGVuaGFuY2VQcm9tcHQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHByb21wdDogei5zdHJpbmcoKS5taW4oMSksXG4gIHJlc29sdXRpb246IHouZW51bShbJzcyMHAnLCAnMTA4MHAnXSkub3B0aW9uYWwoKSxcbiAgc2VlZDogei5udW1iZXIoKS5pbnQoKS5taW4oMSkubWF4KDFfMDAwXzAwMCkub3B0aW9uYWwoKSxcbiAgc3R5bGVJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5sb29zZSgpO1xuXG5jb25zdCBTZWVkYW5jZVZpZGVvSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGR1cmF0aW9uOiB6Lm51bWJlcigpLmludCgpLm1pbig0KS5tYXgoMzApLm9wdGlvbmFsKCksXG4gIGVuZEltYWdlVXJsOiB6LnN0cmluZygpLnVybCgpLm9wdGlvbmFsKCksXG4gIGdlbmVyYXRlQXVkaW86IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGltYWdlVXJsOiB6LnN0cmluZygpLnVybCgpLFxuICBvdXRwdXRGb3JtYXQ6IHouZW51bShbJ21wNCcsICdtb3YnXSkub3B0aW9uYWwoKSxcbiAgcHJvbXB0OiB6LnN0cmluZygpLm1pbigxKS5vcHRpb25hbCgpLFxuICByZXNvbHV0aW9uOiB6LmVudW0oWyc0ODBwJywgJzcyMHAnXSkub3B0aW9uYWwoKVxufSkubG9vc2UoKTtcblxuY29uc3QgU2VlZGFuY2VSZWZlcmVuY2VWaWRlb0lucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBhc3BlY3RSYXRpbzogei5lbnVtKFsnMTY6OScsICc0OjMnLCAnMToxJywgJzM6NCcsICc5OjE2JywgJzIxOjknXSksXG4gIGF1ZGlvVXJsczogei5hcnJheSh6LnN0cmluZygpLnVybCgpKS5taW4oMSkubWF4KDEwKS5vcHRpb25hbCgpLFxuICBkdXJhdGlvbjogei5udW1iZXIoKS5pbnQoKS5taW4oNCkubWF4KDMwKS5vcHRpb25hbCgpLFxuICBnZW5lcmF0ZUF1ZGlvOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBpbWFnZVVybHM6IHouYXJyYXkoei5zdHJpbmcoKS51cmwoKSkubWluKDEpLm1heCgzMCkub3B0aW9uYWwoKSxcbiAgb3V0cHV0Rm9ybWF0OiB6LmVudW0oWydtcDQnLCAnbW92J10pLm9wdGlvbmFsKCksXG4gIHByb21wdDogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbiAgcmVzb2x1dGlvbjogei5lbnVtKFsnNDgwcCcsICc3MjBwJ10pLm9wdGlvbmFsKCksXG4gIHZpZGVvVXJsczogei5hcnJheSh6LnN0cmluZygpLnVybCgpKS5taW4oMSkubWF4KDEwKS5vcHRpb25hbCgpXG59KS5sb29zZSgpO1xuXG5jb25zdCBNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBhc3BlY3RSYXRpbzogei5lbnVtKFsnYXV0bycsICcxOjEnLCAnMzoyJywgJzI6MycsICc0OjMnLCAnMzo0JywgJzE2OjknLCAnOToxNicsICcyMTo5J10pLm9wdGlvbmFsKCksXG4gIGVuaGFuY2VQcm9tcHQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGltYWdlVXJsczogei5hcnJheSh6LnN0cmluZygpLnVybCgpKS5taW4oMSkubWF4KDE2KS5vcHRpb25hbCgpLFxuICBwcmVzZXRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwcm9tcHQ6IHouc3RyaW5nKCkubWluKDEpLm1heCg1MDAwKSxcbiAgcXVhbGl0eTogei5lbnVtKFsnbG93JywgJ21lZGl1bScsICdoaWdoJ10pLm9wdGlvbmFsKCksXG4gIHJlc29sdXRpb246IHouZW51bShbJzFrJywgJzJrJywgJzRrJ10pLm9wdGlvbmFsKClcbn0pLmxvb3NlKCk7XG5cbmV4cG9ydCB0eXBlIFNvdWxJbWFnZUlucHV0ID0gei5pbmZlcjx0eXBlb2YgU291bEltYWdlSW5wdXRTY2hlbWE+O1xuZXhwb3J0IHR5cGUgU2VlZGFuY2VWaWRlb0lucHV0ID0gei5pbmZlcjx0eXBlb2YgU2VlZGFuY2VWaWRlb0lucHV0U2NoZW1hPjtcbmV4cG9ydCB0eXBlIFNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dCA9IHouaW5mZXI8dHlwZW9mIFNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dFNjaGVtYT47XG5leHBvcnQgdHlwZSBNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0ID0gei5pbmZlcjx0eXBlb2YgTWFya2V0aW5nU3R1ZGlvSW1hZ2VJbnB1dFNjaGVtYT47XG5cbmNvbnN0IHBhcnNlV2l0aCA9IDxUPihzY2hlbWE6IHouWm9kVHlwZTxUPiwgaW5wdXQ6IHVua25vd24pOiBUID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gc2NoZW1hLnBhcnNlKGlucHV0KTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChpc3N1ZSkgPT4gYCR7aXNzdWUucGF0aC5qb2luKCcuJyl9OiAke2lzc3VlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBIaWdnc2ZpZWxkVmFsaWRhdGlvbkVycm9yKGBIaWdnc2ZpZWxkIGlucHV0IHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlU291bEltYWdlSW5wdXQgPSAoaW5wdXQ6IHVua25vd24pOiBTb3VsSW1hZ2VJbnB1dCA9PiBwYXJzZVdpdGgoU291bEltYWdlSW5wdXRTY2hlbWEsIGlucHV0KTtcbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVNlZWRhbmNlVmlkZW9JbnB1dCA9IChpbnB1dDogdW5rbm93bik6IFNlZWRhbmNlVmlkZW9JbnB1dCA9PlxuICBwYXJzZVdpdGgoU2VlZGFuY2VWaWRlb0lucHV0U2NoZW1hLCBpbnB1dCk7XG5leHBvcnQgY29uc3QgdmFsaWRhdGVTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQgPSAoaW5wdXQ6IHVua25vd24pOiBTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQgPT5cbiAgcGFyc2VXaXRoKFNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dFNjaGVtYSwgaW5wdXQpO1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTWFya2V0aW5nU3R1ZGlvSW1hZ2VJbnB1dCA9IChpbnB1dDogdW5rbm93bik6IE1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQgPT5cbiAgcGFyc2VXaXRoKE1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXRTY2hlbWEsIGlucHV0KTtcblxuZXhwb3J0IGludGVyZmFjZSBIaWdnc2ZpZWxkV2ViaG9va1BheWxvYWQge1xuICBlcnJvcj86IHN0cmluZyB8IG51bGw7XG4gIHBheWxvYWQ/OiB7XG4gICAgaW1hZ2VzPzoge3VybD86IHN0cmluZzsgY29udGVudF90eXBlPzogc3RyaW5nfVtdO1xuICAgIHZpZGVvPzoge3VybD86IHN0cmluZzsgY29udGVudF90eXBlPzogc3RyaW5nfTtcbiAgfTtcbiAgcmVxdWVzdF9pZDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IHBhcnNlSGlnZ3NmaWVsZFdlYmhvb2tQYXlsb2FkID0gKGJvZHk6IHVua25vd24pOiBIaWdnc2ZpZWxkV2ViaG9va1BheWxvYWQgPT4ge1xuICBjb25zdCByZWNvcmQgPSBib2R5IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbDtcbiAgY29uc3QgcmVxdWVzdElkID0gU3RyaW5nKHJlY29yZD8ucmVxdWVzdF9pZCB8fCAnJyk7XG4gIGNvbnN0IHN0YXR1cyA9IFN0cmluZyhyZWNvcmQ/LnN0YXR1cyB8fCAnJyk7XG5cbiAgaWYoIXJlcXVlc3RJZCB8fCAhc3RhdHVzKSB7XG4gICAgdGhyb3cgbmV3IEhpZ2dzZmllbGRWYWxpZGF0aW9uRXJyb3IoJ0hpZ2dzZmllbGQgd2ViaG9vayBwYXlsb2FkIGlzIG1pc3NpbmcgcmVxdWVzdF9pZCBvciBzdGF0dXMuJyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGVycm9yOiAocmVjb3JkPy5lcnJvciBhcyBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA/PyBudWxsLFxuICAgIHBheWxvYWQ6IHJlY29yZD8ucGF5bG9hZCBhcyBIaWdnc2ZpZWxkV2ViaG9va1BheWxvYWRbJ3BheWxvYWQnXSxcbiAgICByZXF1ZXN0X2lkOiByZXF1ZXN0SWQsXG4gICAgc3RhdHVzXG4gIH07XG59O1xuIl0sIm5hbWVzIjpbInoiLCJIaWdnc2ZpZWxkVmFsaWRhdGlvbkVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiZmllbGQiLCJuYW1lIiwiU291bEltYWdlSW5wdXRTY2hlbWEiLCJvYmplY3QiLCJhc3BlY3RSYXRpbyIsImVudW0iLCJvcHRpb25hbCIsImJhdGNoU2l6ZSIsInVuaW9uIiwibGl0ZXJhbCIsImVuaGFuY2VQcm9tcHQiLCJib29sZWFuIiwicHJvbXB0Iiwic3RyaW5nIiwibWluIiwicmVzb2x1dGlvbiIsInNlZWQiLCJudW1iZXIiLCJpbnQiLCJtYXgiLCJzdHlsZUlkIiwibG9vc2UiLCJTZWVkYW5jZVZpZGVvSW5wdXRTY2hlbWEiLCJkdXJhdGlvbiIsImVuZEltYWdlVXJsIiwidXJsIiwiZ2VuZXJhdGVBdWRpbyIsImltYWdlVXJsIiwib3V0cHV0Rm9ybWF0IiwiU2VlZGFuY2VSZWZlcmVuY2VWaWRlb0lucHV0U2NoZW1hIiwiYXVkaW9VcmxzIiwiYXJyYXkiLCJpbWFnZVVybHMiLCJ2aWRlb1VybHMiLCJNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0U2NoZW1hIiwicHJlc2V0SWQiLCJxdWFsaXR5IiwicGFyc2VXaXRoIiwic2NoZW1hIiwiaW5wdXQiLCJwYXJzZSIsImVycm9yIiwiWm9kRXJyb3IiLCJmaWVsZEVycm9ycyIsImlzc3VlcyIsIm1hcCIsImlzc3VlIiwicGF0aCIsImpvaW4iLCJ2YWxpZGF0ZVNvdWxJbWFnZUlucHV0IiwidmFsaWRhdGVTZWVkYW5jZVZpZGVvSW5wdXQiLCJ2YWxpZGF0ZVNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dCIsInZhbGlkYXRlTWFya2V0aW5nU3R1ZGlvSW1hZ2VJbnB1dCIsInBhcnNlSGlnZ3NmaWVsZFdlYmhvb2tQYXlsb2FkIiwiYm9keSIsInJlY29yZCIsInJlcXVlc3RJZCIsIlN0cmluZyIsInJlcXVlc3RfaWQiLCJzdGF0dXMiLCJwYXlsb2FkIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxDQUFDLFFBQU8sTUFBTTtBQUV0QixP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
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWRhcHRlcnMvaGlnZ3NmaWVsZEFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjYtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuZXhwb3J0IGNsYXNzIEhpZ2dzZmllbGRWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0hpZ2dzZmllbGRWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFNvdWxJbWFnZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBhc3BlY3RSYXRpbzogei5lbnVtKFsnOToxNicsICcxNjo5JywgJzQ6MycsICczOjQnLCAnMToxJywgJzI6MycsICczOjInXSkub3B0aW9uYWwoKSxcbiAgYmF0Y2hTaXplOiB6LnVuaW9uKFt6LmxpdGVyYWwoMSksIHoubGl0ZXJhbCg0KV0pLm9wdGlvbmFsKCksXG4gIGVuaGFuY2VQcm9tcHQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHByb21wdDogei5zdHJpbmcoKS5taW4oMSksXG4gIHJlc29sdXRpb246IHouZW51bShbJzcyMHAnLCAnMTA4MHAnXSkub3B0aW9uYWwoKSxcbiAgc2VlZDogei5udW1iZXIoKS5pbnQoKS5taW4oMSkubWF4KDFfMDAwXzAwMCkub3B0aW9uYWwoKSxcbiAgc3R5bGVJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5sb29zZSgpO1xuXG5jb25zdCBTZWVkYW5jZVZpZGVvSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGR1cmF0aW9uOiB6Lm51bWJlcigpLmludCgpLm1pbig0KS5tYXgoMzApLm9wdGlvbmFsKCksXG4gIGVuZEltYWdlVXJsOiB6LnN0cmluZygpLnVybCgpLm9wdGlvbmFsKCksXG4gIGdlbmVyYXRlQXVkaW86IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGltYWdlVXJsOiB6LnN0cmluZygpLnVybCgpLFxuICBvdXRwdXRGb3JtYXQ6IHouZW51bShbJ21wNCcsICdtb3YnXSkub3B0aW9uYWwoKSxcbiAgcHJvbXB0OiB6LnN0cmluZygpLm1pbigxKS5vcHRpb25hbCgpLFxuICByZXNvbHV0aW9uOiB6LmVudW0oWyc0ODBwJywgJzcyMHAnXSkub3B0aW9uYWwoKVxufSkubG9vc2UoKTtcblxuY29uc3QgU2VlZGFuY2VSZWZlcmVuY2VWaWRlb0lucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBhc3BlY3RSYXRpbzogei5lbnVtKFsnMTY6OScsICc0OjMnLCAnMToxJywgJzM6NCcsICc5OjE2JywgJzIxOjknXSksXG4gIGF1ZGlvVXJsczogei5hcnJheSh6LnN0cmluZygpLnVybCgpKS5taW4oMSkubWF4KDEwKS5vcHRpb25hbCgpLFxuICBkdXJhdGlvbjogei5udW1iZXIoKS5pbnQoKS5taW4oNCkubWF4KDMwKS5vcHRpb25hbCgpLFxuICBnZW5lcmF0ZUF1ZGlvOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBpbWFnZVVybHM6IHouYXJyYXkoei5zdHJpbmcoKS51cmwoKSkubWluKDEpLm1heCgzMCkub3B0aW9uYWwoKSxcbiAgb3V0cHV0Rm9ybWF0OiB6LmVudW0oWydtcDQnLCAnbW92J10pLm9wdGlvbmFsKCksXG4gIHByb21wdDogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbiAgcmVzb2x1dGlvbjogei5lbnVtKFsnNDgwcCcsICc3MjBwJ10pLm9wdGlvbmFsKCksXG4gIHZpZGVvVXJsczogei5hcnJheSh6LnN0cmluZygpLnVybCgpKS5taW4oMSkubWF4KDEwKS5vcHRpb25hbCgpXG59KS5sb29zZSgpO1xuXG5jb25zdCBNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBhc3BlY3RSYXRpbzogei5lbnVtKFsnYXV0bycsICcxOjEnLCAnMzoyJywgJzI6MycsICc0OjMnLCAnMzo0JywgJzE2OjknLCAnOToxNicsICcyMTo5J10pLm9wdGlvbmFsKCksXG4gIGVuaGFuY2VQcm9tcHQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGltYWdlVXJsczogei5hcnJheSh6LnN0cmluZygpLnVybCgpKS5taW4oMSkubWF4KDE2KS5vcHRpb25hbCgpLFxuICBwcmVzZXRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwcm9tcHQ6IHouc3RyaW5nKCkubWluKDEpLm1heCg1MDAwKSxcbiAgcXVhbGl0eTogei5lbnVtKFsnbG93JywgJ21lZGl1bScsICdoaWdoJ10pLm9wdGlvbmFsKCksXG4gIHJlc29sdXRpb246IHouZW51bShbJzFrJywgJzJrJywgJzRrJ10pLm9wdGlvbmFsKClcbn0pLmxvb3NlKCk7XG5cbmV4cG9ydCB0eXBlIFNvdWxJbWFnZUlucHV0ID0gei5pbmZlcjx0eXBlb2YgU291bEltYWdlSW5wdXRTY2hlbWE+O1xuZXhwb3J0IHR5cGUgU2VlZGFuY2VWaWRlb0lucHV0ID0gei5pbmZlcjx0eXBlb2YgU2VlZGFuY2VWaWRlb0lucHV0U2NoZW1hPjtcbmV4cG9ydCB0eXBlIFNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dCA9IHouaW5mZXI8dHlwZW9mIFNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dFNjaGVtYT47XG5leHBvcnQgdHlwZSBNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0ID0gei5pbmZlcjx0eXBlb2YgTWFya2V0aW5nU3R1ZGlvSW1hZ2VJbnB1dFNjaGVtYT47XG5cbmNvbnN0IHBhcnNlV2l0aCA9IDxUPihzY2hlbWE6IHouWm9kVHlwZTxUPiwgaW5wdXQ6IHVua25vd24pOiBUID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gc2NoZW1hLnBhcnNlKGlucHV0KTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChpc3N1ZSkgPT4gYCR7aXNzdWUucGF0aC5qb2luKCcuJyl9OiAke2lzc3VlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBIaWdnc2ZpZWxkVmFsaWRhdGlvbkVycm9yKGBIaWdnc2ZpZWxkIGlucHV0IHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlU291bEltYWdlSW5wdXQgPSAoaW5wdXQ6IHVua25vd24pOiBTb3VsSW1hZ2VJbnB1dCA9PiBwYXJzZVdpdGgoU291bEltYWdlSW5wdXRTY2hlbWEsIGlucHV0KTtcbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVNlZWRhbmNlVmlkZW9JbnB1dCA9IChpbnB1dDogdW5rbm93bik6IFNlZWRhbmNlVmlkZW9JbnB1dCA9PlxuICBwYXJzZVdpdGgoU2VlZGFuY2VWaWRlb0lucHV0U2NoZW1hLCBpbnB1dCk7XG5leHBvcnQgY29uc3QgdmFsaWRhdGVTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQgPSAoaW5wdXQ6IHVua25vd24pOiBTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXQgPT5cbiAgcGFyc2VXaXRoKFNlZWRhbmNlUmVmZXJlbmNlVmlkZW9JbnB1dFNjaGVtYSwgaW5wdXQpO1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTWFya2V0aW5nU3R1ZGlvSW1hZ2VJbnB1dCA9IChpbnB1dDogdW5rbm93bik6IE1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXQgPT5cbiAgcGFyc2VXaXRoKE1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXRTY2hlbWEsIGlucHV0KTtcblxuY29uc3QgV2ViaG9va01lZGlhU2NoZW1hID0gei5vYmplY3Qoe1xuICBjb250ZW50X3R5cGU6IHouc3RyaW5nKCkubWF4KDEyOCkub3B0aW9uYWwoKSxcbiAgdXJsOiB6LnN0cmluZygpLnVybCgpLm1heCg4MTkyKS5vcHRpb25hbCgpXG59KTtcbmNvbnN0IEhpZ2dzZmllbGRXZWJob29rU2NoZW1hID0gei5vYmplY3Qoe1xuICBlcnJvcjogei5zdHJpbmcoKS5tYXgoNDA5NikubnVsbGFibGUoKS5vcHRpb25hbCgpLFxuICBwYXlsb2FkOiB6Lm9iamVjdCh7XG4gICAgaW1hZ2VzOiB6LmFycmF5KFdlYmhvb2tNZWRpYVNjaGVtYSkubWF4KDEwMCkub3B0aW9uYWwoKSxcbiAgICB2aWRlbzogV2ViaG9va01lZGlhU2NoZW1hLm9wdGlvbmFsKClcbiAgfSkubnVsbGFibGUoKS5vcHRpb25hbCgpLFxuICByZXF1ZXN0X2lkOiB6LnN0cmluZygpLnJlZ2V4KC9eW2EtekEtWjAtOV8tXXsxLDIwMH0kLyksXG4gIHN0YXR1czogei5lbnVtKFsnY29tcGxldGVkJywgJ2ZhaWxlZCcsICduc2Z3J10pXG59KTtcblxuZXhwb3J0IHR5cGUgSGlnZ3NmaWVsZFdlYmhvb2tQYXlsb2FkID0gei5vdXRwdXQ8dHlwZW9mIEhpZ2dzZmllbGRXZWJob29rU2NoZW1hPjtcblxuLyoqIFZhbGlkYXRlcyB0aGUgZG9jdW1lbnRlZCBlbnZlbG9wZSBvbmx5OyBjYWxsZXJzIG11c3QgYXV0aGVudGljYXRlIGFuZCByZWNvbmNpbGUgYmVmb3JlIHNldHRsZW1lbnQuICovXG5leHBvcnQgY29uc3QgcGFyc2VIaWdnc2ZpZWxkV2ViaG9va1BheWxvYWQgPSAoYm9keTogdW5rbm93bik6IEhpZ2dzZmllbGRXZWJob29rUGF5bG9hZCA9PiB7XG4gIGNvbnN0IHBhcnNlZCA9IEhpZ2dzZmllbGRXZWJob29rU2NoZW1hLnNhZmVQYXJzZShib2R5KTtcbiAgaWYoIXBhcnNlZC5zdWNjZXNzKSB7XG4gICAgdGhyb3cgbmV3IEhpZ2dzZmllbGRWYWxpZGF0aW9uRXJyb3IoJ0ludmFsaWQgSGlnZ3NmaWVsZCB3ZWJob29rIGVudmVsb3BlLicpO1xuICB9XG4gIHJldHVybiB7Li4ucGFyc2VkLmRhdGEsIGVycm9yOiBwYXJzZWQuZGF0YS5lcnJvciA/PyBudWxsfTtcbn07XG4iXSwibmFtZXMiOlsieiIsIkhpZ2dzZmllbGRWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJTb3VsSW1hZ2VJbnB1dFNjaGVtYSIsIm9iamVjdCIsImFzcGVjdFJhdGlvIiwiZW51bSIsIm9wdGlvbmFsIiwiYmF0Y2hTaXplIiwidW5pb24iLCJsaXRlcmFsIiwiZW5oYW5jZVByb21wdCIsImJvb2xlYW4iLCJwcm9tcHQiLCJzdHJpbmciLCJtaW4iLCJyZXNvbHV0aW9uIiwic2VlZCIsIm51bWJlciIsImludCIsIm1heCIsInN0eWxlSWQiLCJsb29zZSIsIlNlZWRhbmNlVmlkZW9JbnB1dFNjaGVtYSIsImR1cmF0aW9uIiwiZW5kSW1hZ2VVcmwiLCJ1cmwiLCJnZW5lcmF0ZUF1ZGlvIiwiaW1hZ2VVcmwiLCJvdXRwdXRGb3JtYXQiLCJTZWVkYW5jZVJlZmVyZW5jZVZpZGVvSW5wdXRTY2hlbWEiLCJhdWRpb1VybHMiLCJhcnJheSIsImltYWdlVXJscyIsInZpZGVvVXJscyIsIk1hcmtldGluZ1N0dWRpb0ltYWdlSW5wdXRTY2hlbWEiLCJwcmVzZXRJZCIsInF1YWxpdHkiLCJwYXJzZVdpdGgiLCJzY2hlbWEiLCJpbnB1dCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiaXNzdWUiLCJwYXRoIiwiam9pbiIsInZhbGlkYXRlU291bEltYWdlSW5wdXQiLCJ2YWxpZGF0ZVNlZWRhbmNlVmlkZW9JbnB1dCIsInZhbGlkYXRlU2VlZGFuY2VSZWZlcmVuY2VWaWRlb0lucHV0IiwidmFsaWRhdGVNYXJrZXRpbmdTdHVkaW9JbWFnZUlucHV0IiwiV2ViaG9va01lZGlhU2NoZW1hIiwiY29udGVudF90eXBlIiwiSGlnZ3NmaWVsZFdlYmhvb2tTY2hlbWEiLCJudWxsYWJsZSIsInBheWxvYWQiLCJpbWFnZXMiLCJ2aWRlbyIsInJlcXVlc3RfaWQiLCJyZWdleCIsInN0YXR1cyIsInBhcnNlSGlnZ3NmaWVsZFdlYmhvb2tQYXlsb2FkIiwiYm9keSIsInBhcnNlZCIsInNhZmVQYXJzZSIsInN1Y2Nlc3MiLCJkYXRhIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxDQUFDLFFBQU8sTUFBTTtBQUV0QixPQUFPLE1BQU1DLGtDQUFrQ0M7O0lBQzdDLFlBQVlDLE9BQWUsRUFBRSxBQUFPQyxLQUFjLENBQUU7UUFDbEQsS0FBSyxDQUFDRCxlQUQ0QkMsUUFBQUE7UUFFbEMsSUFBSSxDQUFDQyxJQUFJLEdBQUc7SUFDZDtBQUNGO0FBRUEsTUFBTUMsdUJBQXVCTixFQUFFTyxNQUFNLENBQUM7SUFDcENDLGFBQWFSLEVBQUVTLElBQUksQ0FBQztRQUFDO1FBQVE7UUFBUTtRQUFPO1FBQU87UUFBTztRQUFPO0tBQU0sRUFBRUMsUUFBUTtJQUNqRkMsV0FBV1gsRUFBRVksS0FBSyxDQUFDO1FBQUNaLEVBQUVhLE9BQU8sQ0FBQztRQUFJYixFQUFFYSxPQUFPLENBQUM7S0FBRyxFQUFFSCxRQUFRO0lBQ3pESSxlQUFlZCxFQUFFZSxPQUFPLEdBQUdMLFFBQVE7SUFDbkNNLFFBQVFoQixFQUFFaUIsTUFBTSxHQUFHQyxHQUFHLENBQUM7SUFDdkJDLFlBQVluQixFQUFFUyxJQUFJLENBQUM7UUFBQztRQUFRO0tBQVEsRUFBRUMsUUFBUTtJQUM5Q1UsTUFBTXBCLEVBQUVxQixNQUFNLEdBQUdDLEdBQUcsR0FBR0osR0FBRyxDQUFDLEdBQUdLLEdBQUcsQ0FBQyxXQUFXYixRQUFRO0lBQ3JEYyxTQUFTeEIsRUFBRWlCLE1BQU0sR0FBR1AsUUFBUTtBQUM5QixHQUFHZSxLQUFLO0FBRVIsTUFBTUMsMkJBQTJCMUIsRUFBRU8sTUFBTSxDQUFDO0lBQ3hDb0IsVUFBVTNCLEVBQUVxQixNQUFNLEdBQUdDLEdBQUcsR0FBR0osR0FBRyxDQUFDLEdBQUdLLEdBQUcsQ0FBQyxJQUFJYixRQUFRO0lBQ2xEa0IsYUFBYTVCLEVBQUVpQixNQUFNLEdBQUdZLEdBQUcsR0FBR25CLFFBQVE7SUFDdENvQixlQUFlOUIsRUFBRWUsT0FBTyxHQUFHTCxRQUFRO0lBQ25DcUIsVUFBVS9CLEVBQUVpQixNQUFNLEdBQUdZLEdBQUc7SUFDeEJHLGNBQWNoQyxFQUFFUyxJQUFJLENBQUM7UUFBQztRQUFPO0tBQU0sRUFBRUMsUUFBUTtJQUM3Q00sUUFBUWhCLEVBQUVpQixNQUFNLEdBQUdDLEdBQUcsQ0FBQyxHQUFHUixRQUFRO0lBQ2xDUyxZQUFZbkIsRUFBRVMsSUFBSSxDQUFDO1FBQUM7UUFBUTtLQUFPLEVBQUVDLFFBQVE7QUFDL0MsR0FBR2UsS0FBSztBQUVSLE1BQU1RLG9DQUFvQ2pDLEVBQUVPLE1BQU0sQ0FBQztJQUNqREMsYUFBYVIsRUFBRVMsSUFBSSxDQUFDO1FBQUM7UUFBUTtRQUFPO1FBQU87UUFBTztRQUFRO0tBQU87SUFDakV5QixXQUFXbEMsRUFBRW1DLEtBQUssQ0FBQ25DLEVBQUVpQixNQUFNLEdBQUdZLEdBQUcsSUFBSVgsR0FBRyxDQUFDLEdBQUdLLEdBQUcsQ0FBQyxJQUFJYixRQUFRO0lBQzVEaUIsVUFBVTNCLEVBQUVxQixNQUFNLEdBQUdDLEdBQUcsR0FBR0osR0FBRyxDQUFDLEdBQUdLLEdBQUcsQ0FBQyxJQUFJYixRQUFRO0lBQ2xEb0IsZUFBZTlCLEVBQUVlLE9BQU8sR0FBR0wsUUFBUTtJQUNuQzBCLFdBQVdwQyxFQUFFbUMsS0FBSyxDQUFDbkMsRUFBRWlCLE1BQU0sR0FBR1ksR0FBRyxJQUFJWCxHQUFHLENBQUMsR0FBR0ssR0FBRyxDQUFDLElBQUliLFFBQVE7SUFDNURzQixjQUFjaEMsRUFBRVMsSUFBSSxDQUFDO1FBQUM7UUFBTztLQUFNLEVBQUVDLFFBQVE7SUFDN0NNLFFBQVFoQixFQUFFaUIsTUFBTSxHQUFHQyxHQUFHLENBQUMsR0FBR1IsUUFBUTtJQUNsQ1MsWUFBWW5CLEVBQUVTLElBQUksQ0FBQztRQUFDO1FBQVE7S0FBTyxFQUFFQyxRQUFRO0lBQzdDMkIsV0FBV3JDLEVBQUVtQyxLQUFLLENBQUNuQyxFQUFFaUIsTUFBTSxHQUFHWSxHQUFHLElBQUlYLEdBQUcsQ0FBQyxHQUFHSyxHQUFHLENBQUMsSUFBSWIsUUFBUTtBQUM5RCxHQUFHZSxLQUFLO0FBRVIsTUFBTWEsa0NBQWtDdEMsRUFBRU8sTUFBTSxDQUFDO0lBQy9DQyxhQUFhUixFQUFFUyxJQUFJLENBQUM7UUFBQztRQUFRO1FBQU87UUFBTztRQUFPO1FBQU87UUFBTztRQUFRO1FBQVE7S0FBTyxFQUFFQyxRQUFRO0lBQ2pHSSxlQUFlZCxFQUFFZSxPQUFPLEdBQUdMLFFBQVE7SUFDbkMwQixXQUFXcEMsRUFBRW1DLEtBQUssQ0FBQ25DLEVBQUVpQixNQUFNLEdBQUdZLEdBQUcsSUFBSVgsR0FBRyxDQUFDLEdBQUdLLEdBQUcsQ0FBQyxJQUFJYixRQUFRO0lBQzVENkIsVUFBVXZDLEVBQUVpQixNQUFNLEdBQUdQLFFBQVE7SUFDN0JNLFFBQVFoQixFQUFFaUIsTUFBTSxHQUFHQyxHQUFHLENBQUMsR0FBR0ssR0FBRyxDQUFDO0lBQzlCaUIsU0FBU3hDLEVBQUVTLElBQUksQ0FBQztRQUFDO1FBQU87UUFBVTtLQUFPLEVBQUVDLFFBQVE7SUFDbkRTLFlBQVluQixFQUFFUyxJQUFJLENBQUM7UUFBQztRQUFNO1FBQU07S0FBSyxFQUFFQyxRQUFRO0FBQ2pELEdBQUdlLEtBQUs7QUFPUixNQUFNZ0IsWUFBWSxDQUFJQyxRQUFzQkM7SUFDMUMsSUFBSTtRQUNGLE9BQU9ELE9BQU9FLEtBQUssQ0FBQ0Q7SUFDdEIsRUFBRSxPQUFNRSxPQUFPO1FBQ2IsSUFBR0EsaUJBQWlCN0MsRUFBRThDLFFBQVEsRUFBRTtZQUM5QixNQUFNQyxjQUFjRixNQUFNRyxNQUFNLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxRQUFVLEdBQUdBLE1BQU1DLElBQUksQ0FBQ0MsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFRixNQUFNL0MsT0FBTyxFQUFFLEVBQUVpRCxJQUFJLENBQUM7WUFDbEcsTUFBTSxJQUFJbkQsMEJBQTBCLENBQUMsb0NBQW9DLEVBQUU4QyxhQUFhO1FBQzFGO1FBQ0EsTUFBTUY7SUFDUjtBQUNGO0FBRUEsT0FBTyxNQUFNUSx5QkFBeUIsQ0FBQ1YsUUFBbUNGLFVBQVVuQyxzQkFBc0JxQyxPQUFPO0FBQ2pILE9BQU8sTUFBTVcsNkJBQTZCLENBQUNYLFFBQ3pDRixVQUFVZiwwQkFBMEJpQixPQUFPO0FBQzdDLE9BQU8sTUFBTVksc0NBQXNDLENBQUNaLFFBQ2xERixVQUFVUixtQ0FBbUNVLE9BQU87QUFDdEQsT0FBTyxNQUFNYSxvQ0FBb0MsQ0FBQ2IsUUFDaERGLFVBQVVILGlDQUFpQ0ssT0FBTztBQUVwRCxNQUFNYyxxQkFBcUJ6RCxFQUFFTyxNQUFNLENBQUM7SUFDbENtRCxjQUFjMUQsRUFBRWlCLE1BQU0sR0FBR00sR0FBRyxDQUFDLEtBQUtiLFFBQVE7SUFDMUNtQixLQUFLN0IsRUFBRWlCLE1BQU0sR0FBR1ksR0FBRyxHQUFHTixHQUFHLENBQUMsTUFBTWIsUUFBUTtBQUMxQztBQUNBLE1BQU1pRCwwQkFBMEIzRCxFQUFFTyxNQUFNLENBQUM7SUFDdkNzQyxPQUFPN0MsRUFBRWlCLE1BQU0sR0FBR00sR0FBRyxDQUFDLE1BQU1xQyxRQUFRLEdBQUdsRCxRQUFRO0lBQy9DbUQsU0FBUzdELEVBQUVPLE1BQU0sQ0FBQztRQUNoQnVELFFBQVE5RCxFQUFFbUMsS0FBSyxDQUFDc0Isb0JBQW9CbEMsR0FBRyxDQUFDLEtBQUtiLFFBQVE7UUFDckRxRCxPQUFPTixtQkFBbUIvQyxRQUFRO0lBQ3BDLEdBQUdrRCxRQUFRLEdBQUdsRCxRQUFRO0lBQ3RCc0QsWUFBWWhFLEVBQUVpQixNQUFNLEdBQUdnRCxLQUFLLENBQUM7SUFDN0JDLFFBQVFsRSxFQUFFUyxJQUFJLENBQUM7UUFBQztRQUFhO1FBQVU7S0FBTztBQUNoRDtBQUlBLHVHQUF1RyxHQUN2RyxPQUFPLE1BQU0wRCxnQ0FBZ0MsQ0FBQ0M7SUFDNUMsTUFBTUMsU0FBU1Ysd0JBQXdCVyxTQUFTLENBQUNGO0lBQ2pELElBQUcsQ0FBQ0MsT0FBT0UsT0FBTyxFQUFFO1FBQ2xCLE1BQU0sSUFBSXRFLDBCQUEwQjtJQUN0QztJQUNBLE9BQU87UUFBQyxHQUFHb0UsT0FBT0csSUFBSTtRQUFFM0IsT0FBT3dCLE9BQU9HLElBQUksQ0FBQzNCLEtBQUssSUFBSTtJQUFJO0FBQzFELEVBQUUifQ==
@@ -0,0 +1,10 @@
1
+ /** Official public API catalog snapshot, verified 2026-09-22. Refresh from model-specific documentation. */
2
+ export interface HiggsfieldModel {
3
+ id: string;
4
+ kind: 'image' | 'video';
5
+ name: string;
6
+ schema: Record<string, unknown>;
7
+ source: string;
8
+ }
9
+ export declare const HIGGSFIELD_MODELS: HiggsfieldModel[];
10
+ export declare const getHiggsfieldModel: (id: string) => HiggsfieldModel;