@memberjunction/ng-dashboards 6.2.0-edge.6 → 6.2.0-edge.8

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 (233) hide show
  1. package/README.md +23 -16
  2. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +2 -2
  3. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
  4. package/dist/AI/components/analytics/realtime/realtime-management.component.d.ts.map +1 -1
  5. package/dist/AI/components/analytics/realtime/realtime-management.component.js +3 -1
  6. package/dist/AI/components/analytics/realtime/realtime-management.component.js.map +1 -1
  7. package/dist/AI/components/analytics/realtime/realtime-overview.component.d.ts +1 -1
  8. package/dist/AI/components/analytics/realtime/realtime-overview.component.js +3 -3
  9. package/dist/AI/components/analytics/realtime/realtime-overview.component.js.map +1 -1
  10. package/dist/AI/components/analytics/realtime/realtime-session-data.d.ts +6 -4
  11. package/dist/AI/components/analytics/realtime/realtime-session-data.d.ts.map +1 -1
  12. package/dist/AI/components/analytics/realtime/realtime-session-data.js +8 -2
  13. package/dist/AI/components/analytics/realtime/realtime-session-data.js.map +1 -1
  14. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  15. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +31 -10
  16. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  17. package/dist/AI/components/autotagging/components/classify-item-grid.component.js +1 -1
  18. package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -1
  19. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -1
  20. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +1 -0
  21. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -1
  22. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -1
  23. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +1 -0
  24. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -1
  25. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -1
  26. package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1 -0
  27. package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
  28. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  29. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +1 -0
  30. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  31. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +2 -2
  32. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  33. package/dist/AI/components/tags/tags-resource.component.js +14 -24
  34. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  35. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  36. package/dist/AI/components/vectors/vector-management-resource.component.js +14 -7
  37. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  38. package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
  39. package/dist/AI/services/ai-instrumentation.service.js +4 -2
  40. package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
  41. package/dist/Actions/action-result-code.d.ts +80 -0
  42. package/dist/Actions/action-result-code.d.ts.map +1 -0
  43. package/dist/Actions/action-result-code.js +163 -0
  44. package/dist/Actions/action-result-code.js.map +1 -0
  45. package/dist/Actions/components/actions-overview.component.d.ts +8 -0
  46. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  47. package/dist/Actions/components/actions-overview.component.js +12 -9
  48. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  49. package/dist/Actions/components/execution-monitoring.component.d.ts +29 -9
  50. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  51. package/dist/Actions/components/execution-monitoring.component.js +65 -42
  52. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  53. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
  54. package/dist/Actions/components/explorer/action-card.component.js +5 -4
  55. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  56. package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts +92 -130
  57. package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts.map +1 -1
  58. package/dist/ChiefOfStaff/chief-of-staff-agent-context.js +189 -274
  59. package/dist/ChiefOfStaff/chief-of-staff-agent-context.js.map +1 -1
  60. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts +29 -0
  61. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts.map +1 -0
  62. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js +666 -0
  63. package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js.map +1 -0
  64. package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts +56 -0
  65. package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts.map +1 -0
  66. package/dist/ChiefOfStaff/chief-of-staff-governance.component.js +515 -0
  67. package/dist/ChiefOfStaff/chief-of-staff-governance.component.js.map +1 -0
  68. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts +14 -0
  69. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts.map +1 -0
  70. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js +39 -0
  71. package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js.map +1 -0
  72. package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts +17 -0
  73. package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts.map +1 -0
  74. package/dist/ChiefOfStaff/chief-of-staff-overview.component.js +485 -0
  75. package/dist/ChiefOfStaff/chief-of-staff-overview.component.js.map +1 -0
  76. package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts +139 -0
  77. package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts.map +1 -0
  78. package/dist/ChiefOfStaff/chief-of-staff-page-base.js +602 -0
  79. package/dist/ChiefOfStaff/chief-of-staff-page-base.js.map +1 -0
  80. package/dist/ChiefOfStaff/index.d.ts +4 -1
  81. package/dist/ChiefOfStaff/index.d.ts.map +1 -1
  82. package/dist/ChiefOfStaff/index.js +4 -1
  83. package/dist/ChiefOfStaff/index.js.map +1 -1
  84. package/dist/Communication/communication-monitor-resource.component.js +3 -3
  85. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  86. package/dist/Communication/communication-runs-resource.component.js +3 -3
  87. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  88. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  89. package/dist/ComponentStudio/component-studio-dashboard.component.js +1 -0
  90. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  91. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  92. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +2 -1
  93. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  94. package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -1
  95. package/dist/ComponentStudio/services/component-version.service.js +3 -0
  96. package/dist/ComponentStudio/services/component-version.service.js.map +1 -1
  97. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +21 -2
  98. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  99. package/dist/DataExplorer/data-explorer-dashboard.component.js +32 -5
  100. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  101. package/dist/DevTools/graphql-console.component.js +2 -2
  102. package/dist/DevTools/lazy-module-status.component.js +2 -2
  103. package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -1
  104. package/dist/FormBuilder/form-builder-resource.component.js +5 -0
  105. package/dist/FormBuilder/form-builder-resource.component.js.map +1 -1
  106. package/dist/Integration/components/connections/connections.component.js +2 -2
  107. package/dist/Integration/services/integration-data.service.d.ts +1 -1
  108. package/dist/Integration/services/integration-data.service.d.ts.map +1 -1
  109. package/dist/Integration/services/integration-data.service.js +4 -3
  110. package/dist/Integration/services/integration-data.service.js.map +1 -1
  111. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -1
  112. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +11 -3
  113. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  114. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +16 -16
  115. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  116. package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.d.ts +113 -0
  117. package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.d.ts.map +1 -0
  118. package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.js +1184 -0
  119. package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.js.map +1 -0
  120. package/dist/KnowledgeHub/components/visualize/visualize-agent-context.d.ts +1 -1
  121. package/dist/KnowledgeHub/components/visualize/visualize-agent-context.d.ts.map +1 -1
  122. package/dist/KnowledgeHub/components/visualize/visualize-agent-context.js +1 -1
  123. package/dist/KnowledgeHub/components/visualize/visualize-agent-context.js.map +1 -1
  124. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts +1 -1
  125. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts.map +1 -1
  126. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js +21 -10
  127. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js.map +1 -1
  128. package/dist/Lists/components/lists-browse-resource.component.js +1 -1
  129. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  130. package/dist/Lists/components/lists-my-lists-resource.component.js +1 -1
  131. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  132. package/dist/LoginStudio/login-studio-resource.component.d.ts.map +1 -1
  133. package/dist/LoginStudio/login-studio-resource.component.js +1 -0
  134. package/dist/LoginStudio/login-studio-resource.component.js.map +1 -1
  135. package/dist/PredictiveStudio/components/ps-experiments.component.d.ts.map +1 -1
  136. package/dist/PredictiveStudio/components/ps-experiments.component.js +1 -0
  137. package/dist/PredictiveStudio/components/ps-experiments.component.js.map +1 -1
  138. package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.js +2 -2
  139. package/dist/PredictiveStudio/components/ps-predictions-grid.component.d.ts.map +1 -1
  140. package/dist/PredictiveStudio/components/ps-predictions-grid.component.js +3 -0
  141. package/dist/PredictiveStudio/components/ps-predictions-grid.component.js.map +1 -1
  142. package/dist/PredictiveStudio/engine/predictive-studio.engine.d.ts.map +1 -1
  143. package/dist/PredictiveStudio/engine/predictive-studio.engine.js +1 -0
  144. package/dist/PredictiveStudio/engine/predictive-studio.engine.js.map +1 -1
  145. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.d.ts.map +1 -1
  146. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js +1 -0
  147. package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js.map +1 -1
  148. package/dist/QueryBrowser/query-browser-resource.component.d.ts +26 -0
  149. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  150. package/dist/QueryBrowser/query-browser-resource.component.js +375 -252
  151. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  152. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  153. package/dist/SystemDiagnostics/system-diagnostics.component.js +4 -2
  154. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  155. package/dist/UserRoutines/user-routines-resource.component.d.ts +8 -1
  156. package/dist/UserRoutines/user-routines-resource.component.d.ts.map +1 -1
  157. package/dist/UserRoutines/user-routines-resource.component.js +22 -4
  158. package/dist/UserRoutines/user-routines-resource.component.js.map +1 -1
  159. package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -1
  160. package/dist/VersionHistory/components/diff-resource.component.js +1 -0
  161. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  162. package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts +162 -0
  163. package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts.map +1 -0
  164. package/dist/VideoStudio/components/vs-archetype-editor.component.js +1105 -0
  165. package/dist/VideoStudio/components/vs-archetype-editor.component.js.map +1 -0
  166. package/dist/VideoStudio/components/vs-audio-options.component.d.ts +27 -0
  167. package/dist/VideoStudio/components/vs-audio-options.component.d.ts.map +1 -0
  168. package/dist/VideoStudio/components/vs-audio-options.component.js +119 -0
  169. package/dist/VideoStudio/components/vs-audio-options.component.js.map +1 -0
  170. package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts +105 -0
  171. package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts.map +1 -0
  172. package/dist/VideoStudio/components/vs-copilot-panel.component.js +560 -0
  173. package/dist/VideoStudio/components/vs-copilot-panel.component.js.map +1 -0
  174. package/dist/VideoStudio/components/vs-production-brief.component.d.ts +163 -0
  175. package/dist/VideoStudio/components/vs-production-brief.component.d.ts.map +1 -0
  176. package/dist/VideoStudio/components/vs-production-brief.component.js +1054 -0
  177. package/dist/VideoStudio/components/vs-production-brief.component.js.map +1 -0
  178. package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts +43 -0
  179. package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts.map +1 -0
  180. package/dist/VideoStudio/components/vs-setup-health-card.component.js +412 -0
  181. package/dist/VideoStudio/components/vs-setup-health-card.component.js.map +1 -0
  182. package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts +73 -0
  183. package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts.map +1 -0
  184. package/dist/VideoStudio/components/vs-studio-slide-in.component.js +271 -0
  185. package/dist/VideoStudio/components/vs-studio-slide-in.component.js.map +1 -0
  186. package/dist/VideoStudio/index.d.ts +12 -0
  187. package/dist/VideoStudio/index.d.ts.map +1 -0
  188. package/dist/VideoStudio/index.js +12 -0
  189. package/dist/VideoStudio/index.js.map +1 -0
  190. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts +118 -0
  191. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts.map +1 -0
  192. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js +964 -0
  193. package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js.map +1 -0
  194. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts +70 -0
  195. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts.map +1 -0
  196. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js +600 -0
  197. package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js.map +1 -0
  198. package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts +182 -0
  199. package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts.map +1 -0
  200. package/dist/VideoStudio/resources/video-studio-productions-resource.component.js +1481 -0
  201. package/dist/VideoStudio/resources/video-studio-productions-resource.component.js.map +1 -0
  202. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts +102 -0
  203. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts.map +1 -0
  204. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js +240 -0
  205. package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js.map +1 -0
  206. package/dist/VideoStudio/video-studio-agent-context.d.ts +495 -0
  207. package/dist/VideoStudio/video-studio-agent-context.d.ts.map +1 -0
  208. package/dist/VideoStudio/video-studio-agent-context.js +992 -0
  209. package/dist/VideoStudio/video-studio-agent-context.js.map +1 -0
  210. package/dist/ai-dashboards.module.d.ts +46 -41
  211. package/dist/ai-dashboards.module.d.ts.map +1 -1
  212. package/dist/ai-dashboards.module.js +33 -7
  213. package/dist/ai-dashboards.module.js.map +1 -1
  214. package/dist/module.d.ts +13 -12
  215. package/dist/module.d.ts.map +1 -1
  216. package/dist/module.js +7 -0
  217. package/dist/module.js.map +1 -1
  218. package/dist/public-api.d.ts +8 -1
  219. package/dist/public-api.d.ts.map +1 -1
  220. package/dist/public-api.js +10 -2
  221. package/dist/public-api.js.map +1 -1
  222. package/dist/shared/action-scheduled-job.d.ts.map +1 -1
  223. package/dist/shared/action-scheduled-job.js +2 -0
  224. package/dist/shared/action-scheduled-job.js.map +1 -1
  225. package/dist/video-studio-dashboards.module.d.ts +40 -0
  226. package/dist/video-studio-dashboards.module.d.ts.map +1 -0
  227. package/dist/video-studio-dashboards.module.js +159 -0
  228. package/dist/video-studio-dashboards.module.js.map +1 -0
  229. package/package.json +78 -71
  230. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.d.ts +0 -195
  231. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.d.ts.map +0 -1
  232. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.js +0 -2910
  233. package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vs-studio-slide-in-state.service.js","sourceRoot":"","sources":["../../../src/VideoStudio/services/vs-studio-slide-in-state.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAqB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,cAAc,EAGd,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAc,MAAM,MAAM,CAAC;AAGnD,OAAO,EAGL,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,GAMlB,MAAM,+BAA+B,CAAC;;AAwBvC;;;;;;;GAOG;AAEH,MAAM,OAAO,2BAA2B;IAC/B,MAAM,GAAG,KAAK,CAAC;IACf,cAAc,GAAkB,IAAI,CAAC;IACrC,iBAAiB,GAAkB,IAAI,CAAC;IACxC,4BAA4B,GAAkB,IAAI,CAAC;IAEnD,sBAAsB,GAAiC,IAAI,CAAC;IAC5D,qBAAqB,GAAgC,IAAI,CAAC;IAC1D,iCAAiC,GAAG,KAAK,CAAC;IAC1C,oBAAoB,GAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,oBAAoB,GAAG,EAAE,CAAC;IAC1B,UAAU,GAAG,EAAE,CAAC;IAChB,oBAAoB,GAA2B,EAAE,CAAC;IAClD,gBAAgB,GAAG,IAAI,CAAC;IACxB,YAAY,GAAqB,QAAQ,CAAC;IAEhC,YAAY,GAAG,IAAI,eAAe,CACjD,IAAI,CAAC,QAAQ,EAAE,CAChB,CAAC;IAEc,MAAM,GACpB,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAEnC,IAAW,cAAc;QACvB,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACI,iBAAiB;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,KAAK;QACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,WAAW,CAChB,cAAsB,EACtB,UAAkB,EAClB,aAAqB;QAErB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,4BAA4B,GAAG,aAAa,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,iBAAiB,CAAC,cAA6B;QACpD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,oBAAoB;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,mBAAmB,CAAC,OAAgB;QACzC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,eAAe,CAAC,IAAsB;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,kBAAkB,CAAC,QAAwC;QAChE,IAAI,QAAQ,CAAC,iBAAiB,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC/D,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACvD,IAAI,CAAC,iCAAiC,GAAG,OAAO,CAC9C,QAAQ,CAAC,4BAA4B,CACtC,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,eAAe,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,4BAA4B,CACjC,qBAAoC,IAAI;QAExC,MAAM,kBAAkB,GAAG,IAAI,CAAC,iCAAiC;YAC/D,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,kBAAkB,CAAC,CAAC;QAC3D,OAAO,qBAAqB,CAAC;YAC3B,WAAW,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,IAAI,IAAI;YACpD,UAAU,EAAE,kBAAkB;YAC9B,OAAO,EACL,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7E,eAAe,EAAE,IAAI,CAAC,oBAAoB;YAC1C,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;YAC3D,YAAY,EAAE,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY;SAC7E,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,uBAAuB,CAC5B,WAAuD,EACvD,qBAAoC,IAAI;QAExC,OAAO;YACL,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YACtB,GAAG,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,CAAC;SACzD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,qBAAqB,CAC1B,UAAqC,EAAE;QAEvC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,2BAA2B,CAAC;YACjC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC;YACnE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC;YACjE,mBAAmB,EAAE,CACnB,SAAgC,EAChC,OAA4B,EAC5B,eAAuB,EACvB,EAAE;gBACF,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;gBACxC,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;gBACzC,IAAI,CAAC,oBAAoB,GAAG,eAAe,CAAC;gBAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAC7B,CAAC;YACD,kBAAkB,EAAE,CAAC,QAAqC,EAAE,EAAE;gBAC5D,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;gBACtC,IAAI,CAAC,iCAAiC,GAAG,QAAQ,KAAK,IAAI,CAAC;gBAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAC7B,CAAC;YACD,iBAAiB,EAAE,CAAC,OAA4B,EAAE,EAAE;gBAClD,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;gBACzC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAC7B,CAAC;YACD,cAAc,EAAE,CAAC,KAAa,EAAE,EAAE;gBAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAC7B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,iCAAiC,GAAG,KAAK,CAAC;QAC/C,IAAI,CAAC,oBAAoB,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,uBAAuB,CAC7B,QAAmC;QAEnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,mBAAmB,CAClD,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAC7B,iBAAiB,CACe,CAAC;YACnC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAClD,CAAC,CAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAClE,CAAC;YACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAA4B,EAAE,EAAE,CACrD,kBAAkB,CAAC,IAAI,CAAC,CACzB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,QAAmC;QAEnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAC/C,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAC7B,cAAc,CACe,CAAC;YAChC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAC3C,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAC5D,CAAC;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAqB,EAAE,EAAE,CACxC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CACpD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;YAC/D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,iCAAiC,EAAE,IAAI,CAAC,iCAAiC;YACzE,oBAAoB,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACpD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,oBAAoB,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACpD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;qHAnRU,2BAA2B;gEAA3B,2BAA2B,WAA3B,2BAA2B,mBADd,MAAM;;iFACnB,2BAA2B;cADvC,UAAU;eAAC,EAAE,UAAU,EAAE,MAAM,EAAE","sourcesContent":["import { Injectable } from '@angular/core';\nimport { IMetadataProvider, Metadata } from '@memberjunction/core';\nimport {\n BrandKitEngine,\n MJBrandKitEntity,\n MJVideoArchetypeEntity,\n VideoStudioEngine,\n} from '@memberjunction/core-entities';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { VideoCaptionMode } from '@memberjunction/video-studio-core';\nimport { VSProductionBriefStateSnapshot } from '../components/vs-production-brief.component';\nimport {\n ArchetypeCardSnapshot,\n BrandKitCardSnapshot,\n BuildStudioAppContext,\n BuildStudioBriefClientTools,\n MapArchetypeToCard,\n MapBrandKitToCard,\n StudioAppContextPayload,\n StudioBriefClientToolDefinition,\n StudioBriefComponentHandle,\n StudioSavedQueryItem,\n StudioVideoFormat,\n} from '../video-studio-agent-context';\n\nexport interface VSStudioSlideInStateSnapshot {\n IsOpen: boolean;\n ConversationId: string | null;\n PendingArtifactId: string | null;\n PendingArtifactVersionNumber: number | null;\n BriefSelectedArchetype: ArchetypeCardSnapshot | null;\n BriefSelectedBrandKit: BrandKitCardSnapshot | null;\n BriefSelectedBrandKitExplicitNone: boolean;\n BriefSelectedFormats: string[];\n BriefDurationSeconds: number;\n BriefTopic: string;\n BriefSelectedQueries: StudioSavedQueryItem[];\n NarrationEnabled: boolean;\n CaptionsMode: VideoCaptionMode;\n}\n\nexport interface VSStudioBriefToolsOptions {\n Provider?: IMetadataProvider | null;\n GetBriefComponent?: () => StudioBriefComponentHandle | null | undefined;\n OnBriefMutated?: () => void;\n}\n\n/**\n * Root-provided UI-state service for the shared Video Studio right slide-in.\n *\n * Holds open/closed state, the active conversation ID, pending iteration artifact\n * metadata, and the in-memory production brief selections so the slide-in state\n * and active conversation survive moving between Productions, Brand Kits, and\n * Archetypes (UI state only: no data arrays, no data access, no `localStorage`).\n */\n@Injectable({ providedIn: 'root' })\nexport class VSStudioSlideInStateService {\n public IsOpen = false;\n public ConversationId: string | null = null;\n public PendingArtifactId: string | null = null;\n public PendingArtifactVersionNumber: number | null = null;\n\n public BriefSelectedArchetype: ArchetypeCardSnapshot | null = null;\n public BriefSelectedBrandKit: BrandKitCardSnapshot | null = null;\n public BriefSelectedBrandKitExplicitNone = false;\n public BriefSelectedFormats: string[] = ['16:9'];\n public BriefDurationSeconds = 30;\n public BriefTopic = '';\n public BriefSelectedQueries: StudioSavedQueryItem[] = [];\n public NarrationEnabled = true;\n public CaptionsMode: VideoCaptionMode = 'Burned';\n\n private readonly stateSubject = new BehaviorSubject<VSStudioSlideInStateSnapshot>(\n this.snapshot(),\n );\n\n public readonly State$: Observable<VSStudioSlideInStateSnapshot> =\n this.stateSubject.asObservable();\n\n public get IsBriefShowing(): boolean {\n return (this.ConversationId ?? '').trim().length === 0;\n }\n\n /**\n * Opens the slide-in on a brand-new conversation (`ConversationId = null`),\n * displaying `<vs-production-brief>` in the chat area's `composerExtra` slot.\n */\n public OpenNewProduction(): void {\n this.ConversationId = null;\n this.PendingArtifactId = null;\n this.PendingArtifactVersionNumber = null;\n this.IsOpen = true;\n this.emitState();\n }\n\n /**\n * Reopens the slide-in from the right-edge strip, preserving any active\n * conversation or showing the brief when `ConversationId` is `null`.\n */\n public Reopen(): void {\n this.IsOpen = true;\n this.emitState();\n }\n\n /**\n * Closes the slide-in while preserving `ConversationId` so reopening from\n * the edge strip on any Video Studio page restores the active conversation.\n */\n public Close(): void {\n this.IsOpen = false;\n this.PendingArtifactId = null;\n this.PendingArtifactVersionNumber = null;\n this.emitState();\n }\n\n public Toggle(): void {\n if (this.IsOpen) {\n this.Close();\n } else {\n this.Reopen();\n }\n }\n\n /**\n * Opens the slide-in on an existing production's conversation with the\n * artifact queued for iteration.\n */\n public OpenIterate(\n conversationId: string,\n artifactId: string,\n versionNumber: number,\n ): void {\n this.ConversationId = conversationId;\n this.PendingArtifactId = artifactId;\n this.PendingArtifactVersionNumber = versionNumber;\n this.IsOpen = true;\n this.emitState();\n }\n\n public SetConversationId(conversationId: string | null): void {\n this.ConversationId = conversationId;\n this.emitState();\n }\n\n public ClearPendingArtifact(): void {\n this.PendingArtifactId = null;\n this.PendingArtifactVersionNumber = null;\n this.emitState();\n }\n\n public SetNarrationEnabled(enabled: boolean): void {\n this.NarrationEnabled = enabled;\n this.emitState();\n }\n\n public SetCaptionsMode(mode: VideoCaptionMode): void {\n this.CaptionsMode = mode;\n this.emitState();\n }\n\n public ApplyBriefSnapshot(snapshot: VSProductionBriefStateSnapshot): void {\n if (snapshot.SelectedArchetype !== null || !snapshot.IsLoading) {\n this.BriefSelectedArchetype = snapshot.SelectedArchetype;\n }\n this.BriefSelectedBrandKit = snapshot.SelectedBrandKit;\n this.BriefSelectedBrandKitExplicitNone = Boolean(\n snapshot.SelectedBrandKitExplicitNone,\n );\n this.BriefSelectedFormats = [...snapshot.SelectedFormats];\n this.BriefDurationSeconds = snapshot.DurationSeconds;\n this.BriefTopic = snapshot.Topic;\n this.BriefSelectedQueries = [...snapshot.SelectedQueries];\n this.NarrationEnabled = snapshot.NarrationEnabled;\n this.CaptionsMode = snapshot.CaptionsMode;\n this.emitState();\n }\n\n public BuildStudioAppContextPayload(\n fallbackBrandKitId: string | null = null,\n ): { VideoStudio: StudioAppContextPayload } {\n const resolvedBrandKitId = this.BriefSelectedBrandKitExplicitNone\n ? null\n : (this.BriefSelectedBrandKit?.ID ?? fallbackBrandKitId);\n return BuildStudioAppContext({\n ArchetypeID: this.BriefSelectedArchetype?.ID ?? null,\n BrandKitID: resolvedBrandKitId,\n Formats:\n this.BriefSelectedFormats.length > 0 ? this.BriefSelectedFormats : ['16:9'],\n DurationSeconds: this.BriefDurationSeconds,\n QueryIDs: this.BriefSelectedQueries.map((q) => q.ID),\n NarrationEnabled: this.NarrationEnabled ? undefined : false,\n CaptionsMode: this.CaptionsMode === 'Burned' ? undefined : this.CaptionsMode,\n });\n }\n\n /**\n * Combines the current page's agent context (`Surface`, counts, filters, selection)\n * with the `VideoStudio` brief context payload so the slide-in agent knows both\n * which page the user is viewing and the current brief selections.\n */\n public BuildCombinedAppContext(\n pageContext: Record<string, unknown> | null | undefined,\n fallbackBrandKitId: string | null = null,\n ): Record<string, unknown> {\n return {\n ...(pageContext ?? {}),\n ...this.BuildStudioAppContextPayload(fallbackBrandKitId),\n };\n }\n\n /**\n * Builds the four Studio brief client tools (`SelectStudioArchetype`,\n * `SelectStudioBrandKit`, `SetStudioFormats`, `SetStudioTopic`) when the brief\n * is showing (`ConversationId === null`), or returns `[]` when an active\n * conversation is open in the slide-in.\n */\n public BuildBriefClientTools(\n options: VSStudioBriefToolsOptions = {},\n ): StudioBriefClientToolDefinition[] {\n if (!this.IsBriefShowing) {\n return [];\n }\n return BuildStudioBriefClientTools({\n GetBriefComponent: options.GetBriefComponent,\n GetArchetypes: () => this.resolveEngineArchetypes(options.Provider),\n GetBrandKits: () => this.resolveEngineBrandKits(options.Provider),\n OnArchetypeSelected: (\n archetype: ArchetypeCardSnapshot,\n formats: StudioVideoFormat[],\n durationSeconds: number,\n ) => {\n this.BriefSelectedArchetype = archetype;\n this.BriefSelectedFormats = [...formats];\n this.BriefDurationSeconds = durationSeconds;\n this.emitState();\n options.OnBriefMutated?.();\n },\n OnBrandKitSelected: (brandKit: BrandKitCardSnapshot | null) => {\n this.BriefSelectedBrandKit = brandKit;\n this.BriefSelectedBrandKitExplicitNone = brandKit === null;\n this.emitState();\n options.OnBriefMutated?.();\n },\n OnFormatsSelected: (formats: StudioVideoFormat[]) => {\n this.BriefSelectedFormats = [...formats];\n this.emitState();\n options.OnBriefMutated?.();\n },\n OnTopicChanged: (topic: string) => {\n this.BriefTopic = topic;\n this.emitState();\n options.OnBriefMutated?.();\n },\n });\n }\n\n public Reset(): void {\n this.IsOpen = false;\n this.ConversationId = null;\n this.PendingArtifactId = null;\n this.PendingArtifactVersionNumber = null;\n this.BriefSelectedArchetype = null;\n this.BriefSelectedBrandKit = null;\n this.BriefSelectedBrandKitExplicitNone = false;\n this.BriefSelectedFormats = ['16:9'];\n this.BriefDurationSeconds = 30;\n this.BriefTopic = '';\n this.BriefSelectedQueries = [];\n this.NarrationEnabled = true;\n this.CaptionsMode = 'Burned';\n this.emitState();\n }\n\n private resolveEngineArchetypes(\n provider?: IMetadataProvider | null,\n ): ArchetypeCardSnapshot[] {\n try {\n const engine = VideoStudioEngine.GetProviderInstance<VideoStudioEngine>(\n provider ?? Metadata.Provider,\n VideoStudioEngine,\n ) as VideoStudioEngine | undefined;\n const archetypes = (engine?.Archetypes ?? []).filter(\n (a: MJVideoArchetypeEntity) => a.Status === 'Active' || !a.Status,\n );\n return archetypes.map((arch: MJVideoArchetypeEntity) =>\n MapArchetypeToCard(arch),\n );\n } catch {\n return [];\n }\n }\n\n private resolveEngineBrandKits(\n provider?: IMetadataProvider | null,\n ): BrandKitCardSnapshot[] {\n try {\n const engine = BrandKitEngine.GetProviderInstance<BrandKitEngine>(\n provider ?? Metadata.Provider,\n BrandKitEngine,\n ) as BrandKitEngine | undefined;\n const kits = (engine?.BrandKits ?? []).filter(\n (k: MJBrandKitEntity) => k.Status === 'Active' || !k.Status,\n );\n return kits.map((kit: MJBrandKitEntity) =>\n MapBrandKitToCard(kit, engine?.GetAssets?.(kit.ID)),\n );\n } catch {\n return [];\n }\n }\n\n private snapshot(): VSStudioSlideInStateSnapshot {\n return {\n IsOpen: this.IsOpen,\n ConversationId: this.ConversationId,\n PendingArtifactId: this.PendingArtifactId,\n PendingArtifactVersionNumber: this.PendingArtifactVersionNumber,\n BriefSelectedArchetype: this.BriefSelectedArchetype,\n BriefSelectedBrandKit: this.BriefSelectedBrandKit,\n BriefSelectedBrandKitExplicitNone: this.BriefSelectedBrandKitExplicitNone,\n BriefSelectedFormats: [...this.BriefSelectedFormats],\n BriefDurationSeconds: this.BriefDurationSeconds,\n BriefTopic: this.BriefTopic,\n BriefSelectedQueries: [...this.BriefSelectedQueries],\n NarrationEnabled: this.NarrationEnabled,\n CaptionsMode: this.CaptionsMode,\n };\n }\n\n private emitState(): void {\n this.stateSubject.next(this.snapshot());\n }\n}\n"]}
@@ -0,0 +1,495 @@
1
+ /**
2
+ * @fileoverview Pure helpers for the Video Studio app's AI-agent integration
3
+ * across all three resource surfaces:
4
+ * 1. Productions (`VideoStudioProductionsResource`) + right-side slide-in Production Brief (`VSProductionBriefComponent`)
5
+ * 2. Brand Kits (`VideoStudioBrandKitsResource`)
6
+ * 3. Archetypes (`VideoStudioArchetypesResource`)
7
+ *
8
+ * These functions are intentionally free of Angular / DOM dependencies so they
9
+ * can be unit-tested in Node via Vitest. Each Video Studio resource component
10
+ * supplies a plain snapshot of its current state and these helpers shape it
11
+ * into the key-value `AgentContext` object published via
12
+ * `this.navigationService.SetAgentContext(this, ...)`.
13
+ *
14
+ * 🚨 SAFETY BOUNDARY (READ / NAVIGATE / FILTER / SEARCH / REFRESH + STUDIO BRIEF FORM-FILL):
15
+ * Productions, Brand Kits, and Archetypes expose ONLY read, filter, search,
16
+ * select/open-for-viewing, and refresh operations to the AI agent — never create,
17
+ * edit, copy, share, upload, policy, or delete tools. Productions additionally exposes
18
+ * four reversible in-memory brief form-fill tools (`SelectStudioArchetype`,
19
+ * `SelectStudioBrandKit`, `SetStudioFormats`, `SetStudioTopic`) while deliberately
20
+ * excluding `StartProduction`:
21
+ * - Productions: no create/delete production, no share/permission grant (`ArtifactShareModal`
22
+ * is user-confirm-only), no storyboard/render mutation. Brief form-fill tools only
23
+ * (`SelectStudioArchetype`, `SelectStudioBrandKit`, `SetStudioFormats`, `SetStudioTopic`);
24
+ * `StartProduction` spends model/render tokens and creates a conversation, so it stays
25
+ * human-triggered in the UI.
26
+ * - Brand Kits: `OpenBrandKit` opens the `MJ: Brand Kits` entity form for viewing via
27
+ * `NavigationService.OpenEntityRecord`; no create, save, delete, or asset/policy write
28
+ * tool is exposed.
29
+ * - Archetypes: `SelectArchetype` / `OpenArchetype` selects or opens a company archetype
30
+ * record for viewing; making a copy or editing an archetype (`vs-archetype-editor`) creates
31
+ * or updates a database record and is gated behind the user-driven editor dialog only.
32
+ */
33
+ import { VideoProductionStatus } from '@memberjunction/video-studio-core';
34
+ /**
35
+ * Upper bound on how many names any Video Studio surface publishes in a
36
+ * name-list context field. Companion `*Count` fields are emitted when a list
37
+ * exceeds this cap.
38
+ */
39
+ export declare const VIDEO_STUDIO_NAME_LIST_CAP = 25;
40
+ /**
41
+ * Cap an array of names to {@link VIDEO_STUDIO_NAME_LIST_CAP} entries without
42
+ * mutating the input array.
43
+ */
44
+ export declare function CapVideoStudioNames(names: readonly string[]): string[];
45
+ /**
46
+ * Minimal identifiable item shape accepted by {@link ResolveVideoStudioItem}.
47
+ */
48
+ export interface NamedVideoStudioItem {
49
+ ID: string;
50
+ Name: string;
51
+ }
52
+ /**
53
+ * Outcome of {@link ResolveVideoStudioItem}: a matched item, or a tolerant error
54
+ * message listing available names.
55
+ */
56
+ export type VideoStudioItemResolution<T extends NamedVideoStudioItem> = {
57
+ Ok: true;
58
+ Item: T;
59
+ } | {
60
+ Ok: false;
61
+ Error: string;
62
+ };
63
+ /**
64
+ * Resolve an agent-supplied reference (an ID or a display name) against a list
65
+ * of loaded items in precedence order:
66
+ * 1. Exact `ID` match (case-insensitive)
67
+ * 2. Exact `Name` match (case-insensitive, trimmed)
68
+ * 3. First `Name` substring match (case-insensitive, trimmed)
69
+ *
70
+ * Returns a descriptive error listing up to {@link VIDEO_STUDIO_NAME_LIST_CAP}
71
+ * available names when no item matches. Never throws.
72
+ */
73
+ export declare function ResolveVideoStudioItem<T extends NamedVideoStudioItem>(reference: unknown, items: readonly T[], itemNoun: string): VideoStudioItemResolution<T>;
74
+ /**
75
+ * Card status for a `Video Production` artifact: one of the canonical
76
+ * {@link VideoProductionStatus} values from `@memberjunction/video-studio-core`,
77
+ * or `'Unknown'` when the artifact version has no recognized `status` attribute.
78
+ */
79
+ export type ProductionCardStatus = VideoProductionStatus | 'Unknown';
80
+ /**
81
+ * Allowed status filter values on the Productions surface (`'all'` means unfiltered).
82
+ */
83
+ export declare const PRODUCTION_STATUS_FILTERS: readonly ["all", "Briefing", "Styled", "Storyboarded", "Approved", "PreProduced", "Composed", "RoughCut", "Reviewed", "Delivered", "Blocked", "Unknown"];
84
+ export type ProductionStatusFilter = (typeof PRODUCTION_STATUS_FILTERS)[number];
85
+ /**
86
+ * Lightweight card model representing one `Video Production` artifact and its
87
+ * latest version's extracted attributes.
88
+ */
89
+ export interface ProductionCardSnapshot extends NamedVideoStudioItem {
90
+ ID: string;
91
+ Name: string;
92
+ Description: string;
93
+ VersionID: string | null;
94
+ VersionNumber: number;
95
+ PosterFileID: string | null;
96
+ PosterUrl: string | null;
97
+ Status: ProductionCardStatus;
98
+ Archetype: string;
99
+ BrandKitID: string | null;
100
+ BrandKitName: string | null;
101
+ CompanyID: string | null;
102
+ CompanyName: string | null;
103
+ DurationSeconds: number | null;
104
+ AspectRatio: string | null;
105
+ SceneCount: number | null;
106
+ UpdatedAt: Date;
107
+ }
108
+ /**
109
+ * Active filter state on the Productions resource.
110
+ */
111
+ export interface ProductionFilterState {
112
+ SearchQuery: string;
113
+ Archetype: string;
114
+ BrandKitID: string;
115
+ CompanyID: string;
116
+ Status: string;
117
+ FromDate: string;
118
+ ToDate: string;
119
+ }
120
+ /**
121
+ * Filter a list of production cards according to {@link ProductionFilterState}.
122
+ * Pure + deterministic; returns a new array without mutating the input.
123
+ */
124
+ export declare function FilterProductionCards<T extends ProductionCardSnapshot>(cards: readonly T[], filters: ProductionFilterState): T[];
125
+ /**
126
+ * Count how many popover filters are active on the Productions surface
127
+ * (excluding the free-text search box).
128
+ */
129
+ export declare function CountActiveProductionPopoverFilters(filters: ProductionFilterState): number;
130
+ /**
131
+ * Input snapshot used by {@link BuildProductionsAgentContext}.
132
+ */
133
+ export interface ProductionsAgentContextInput {
134
+ TotalCount: number;
135
+ FilteredCards: readonly ProductionCardSnapshot[];
136
+ Filters: ProductionFilterState;
137
+ BrandKitFilterName: string | null;
138
+ CompanyFilterName: string | null;
139
+ SelectedProduction: ProductionCardSnapshot | null;
140
+ AvailableArchetypes: readonly string[];
141
+ AvailableBrandKitNames: readonly string[];
142
+ AvailableCompanyNames: readonly string[];
143
+ IsLoading: boolean;
144
+ }
145
+ /**
146
+ * Build the bounded, read-only agent context object for the Productions surface.
147
+ */
148
+ export declare function BuildProductionsAgentContext(input: ProductionsAgentContextInput): Record<string, unknown>;
149
+ /**
150
+ * Allowed status filter values on the Brand Kits surface.
151
+ */
152
+ export declare const BRAND_KIT_STATUS_FILTERS: readonly ["all", "Active", "Inactive"];
153
+ export type BrandKitStatusFilter = (typeof BRAND_KIT_STATUS_FILTERS)[number];
154
+ /**
155
+ * Palette swatch item displayed on a Brand Kit card.
156
+ */
157
+ export interface BrandKitSwatchView {
158
+ Name: string;
159
+ Value: string;
160
+ }
161
+ /**
162
+ * Card view-model for a single `MJ: Brand Kits` record on the Brand Kits resource.
163
+ */
164
+ export interface BrandKitCardSnapshot extends NamedVideoStudioItem {
165
+ ID: string;
166
+ Name: string;
167
+ Description: string;
168
+ CompanyID: string | null;
169
+ CompanyName: string | null;
170
+ IsDefault: boolean;
171
+ Status: 'Active' | 'Inactive';
172
+ Swatches: readonly BrandKitSwatchView[];
173
+ PrimaryLogoFileID: string | null;
174
+ PrimaryLogoUrl: string | null;
175
+ AssetCount: number;
176
+ }
177
+ /**
178
+ * Minimal structural shape of an `MJ: Brand Kit Assets` row accepted by {@link MapBrandKitToCard}.
179
+ */
180
+ export interface BrandKitAssetRowInput {
181
+ AssetType?: string | null;
182
+ FileID?: string | null;
183
+ IsPrimary?: boolean | null;
184
+ Sequence?: number | null;
185
+ }
186
+ /**
187
+ * Minimal structural shape of an `MJ: Brand Kits` entity row accepted by {@link MapBrandKitToCard}.
188
+ */
189
+ export interface BrandKitEntityRowInput {
190
+ ID: string;
191
+ Name?: string | null;
192
+ Description?: string | null;
193
+ CompanyID?: string | null;
194
+ Company?: string | null;
195
+ CompanyName?: string | null;
196
+ IsDefault?: boolean | null;
197
+ Status?: string | null;
198
+ StyleObject?: {
199
+ Palette?: ReadonlyArray<{
200
+ Name?: string | null;
201
+ Value?: string | null;
202
+ }> | null;
203
+ } | null;
204
+ Swatches?: readonly BrandKitSwatchView[] | null;
205
+ PrimaryLogoFileID?: string | null;
206
+ PrimaryLogoUrl?: string | null;
207
+ AssetCount?: number | null;
208
+ }
209
+ /**
210
+ * Shared mapper converting an `MJ: Brand Kits` entity row and its optional assets
211
+ * into a {@link BrandKitCardSnapshot}.
212
+ */
213
+ export declare function MapBrandKitToCard(kit: BrandKitEntityRowInput, assets?: readonly BrandKitAssetRowInput[] | null): BrandKitCardSnapshot;
214
+ export declare const MapBrandKitEntityToCard: typeof MapBrandKitToCard;
215
+ /**
216
+ * Active filter state on the Brand Kits surface.
217
+ * `CompanyID` accepts `'all'`, `'org-wide'`, or a specific company ID.
218
+ */
219
+ export interface BrandKitFilterState {
220
+ SearchQuery: string;
221
+ CompanyID: string;
222
+ Status: BrandKitStatusFilter;
223
+ }
224
+ /**
225
+ * Filter a list of Brand Kit cards according to {@link BrandKitFilterState}.
226
+ * Pure + deterministic; returns a new array without mutating the input.
227
+ */
228
+ export declare function FilterBrandKitCards<T extends BrandKitCardSnapshot>(cards: readonly T[], filters: BrandKitFilterState): T[];
229
+ /**
230
+ * Input snapshot used by {@link BuildBrandKitsAgentContext}.
231
+ */
232
+ export interface BrandKitsAgentContextInput {
233
+ AllCards: readonly BrandKitCardSnapshot[];
234
+ FilteredCards: readonly BrandKitCardSnapshot[];
235
+ Filters: BrandKitFilterState;
236
+ CompanyFilterName: string | null;
237
+ AvailableCompanyNames: readonly string[];
238
+ IsLoading: boolean;
239
+ }
240
+ /**
241
+ * Build the bounded, read-only agent context object for the Brand Kits surface.
242
+ */
243
+ export declare function BuildBrandKitsAgentContext(input: BrandKitsAgentContextInput): Record<string, unknown>;
244
+ /**
245
+ * Canonical `MJ: Video Archetypes.Category` values.
246
+ */
247
+ export declare const ARCHETYPE_CATEGORIES: readonly ["Announcement", "Briefing", "DataStory", "Explainer", "Product", "Social", "Tutorial"];
248
+ export type ArchetypeCategory = (typeof ARCHETYPE_CATEGORIES)[number];
249
+ /**
250
+ * Allowed category filter values on the Archetypes surface (`'all'` + the 7 categories).
251
+ */
252
+ export declare const ARCHETYPE_CATEGORY_FILTERS: readonly ["all", "Announcement", "Briefing", "DataStory", "Explainer", "Product", "Social", "Tutorial"];
253
+ export type ArchetypeCategoryFilter = (typeof ARCHETYPE_CATEGORY_FILTERS)[number];
254
+ /**
255
+ * Allowed scope filter values on the Archetypes surface.
256
+ */
257
+ export declare const ARCHETYPE_SCOPE_FILTERS: readonly ["all", "shipped", "company"];
258
+ export type ArchetypeScopeFilter = (typeof ARCHETYPE_SCOPE_FILTERS)[number];
259
+ /**
260
+ * Raw beat entry from `MJ: Video Archetypes.BeatTemplate`.
261
+ */
262
+ export interface ArchetypeBeatTemplateInput {
263
+ Key?: string | null;
264
+ Label?: string | null;
265
+ Purpose?: string | null;
266
+ Guidance?: string | null;
267
+ MinDurationSeconds?: number | null;
268
+ DefaultDurationSeconds?: number | null;
269
+ MaxDurationSeconds?: number | null;
270
+ }
271
+ /**
272
+ * Scaled beat strip item whose integer `Seconds` values sum to the archetype's
273
+ * target duration (`DefaultDurationSeconds`). Structurally matches `VideoBeatStripItem`
274
+ * from `@memberjunction/ng-artifacts`.
275
+ */
276
+ export interface ScaledVideoBeatStripItem {
277
+ Key: string;
278
+ Label: string;
279
+ Seconds: number;
280
+ Detail?: string;
281
+ }
282
+ /**
283
+ * Convert an archetype's beat template into `VideoBeatStripItem[]` with integer
284
+ * `Seconds` scaled (via largest-remainder rounding) so their sum equals
285
+ * `targetDurationSeconds`.
286
+ */
287
+ export declare function BuildArchetypeBeatStripItems(rawBeats: readonly ArchetypeBeatTemplateInput[] | null | undefined, targetDurationSeconds: number): ScaledVideoBeatStripItem[];
288
+ /**
289
+ * Card view-model for a single `MJ: Video Archetypes` record on the Archetypes resource.
290
+ */
291
+ export interface ArchetypeCardSnapshot extends NamedVideoStudioItem {
292
+ ID: string;
293
+ Name: string;
294
+ Description: string;
295
+ Category: ArchetypeCategory;
296
+ Status: 'Active' | 'Inactive';
297
+ CompanyID: string | null;
298
+ CompanyName: string | null;
299
+ IsShipped: boolean;
300
+ DefaultDurationSeconds: number;
301
+ MinDurationSeconds: number;
302
+ MaxDurationSeconds: number;
303
+ DefaultFormats: string;
304
+ BeatCount: number;
305
+ BeatLabels: readonly string[];
306
+ BeatItems?: readonly ScaledVideoBeatStripItem[];
307
+ }
308
+ /**
309
+ * Minimal structural shape of an `MJ: Video Archetypes` entity row accepted by
310
+ * {@link MapArchetypeToCard}.
311
+ */
312
+ export interface ArchetypeEntityRowInput {
313
+ ID: string;
314
+ Name?: string | null;
315
+ Description?: string | null;
316
+ Category?: string | null;
317
+ Status?: string | null;
318
+ CompanyID?: string | null;
319
+ Company?: string | null;
320
+ CompanyName?: string | null;
321
+ DefaultDurationSeconds?: number | null;
322
+ MinDurationSeconds?: number | null;
323
+ MaxDurationSeconds?: number | null;
324
+ DefaultFormats?: string | null;
325
+ BeatTemplate?: string | null;
326
+ BeatTemplateObject?: readonly ArchetypeBeatTemplateInput[] | null;
327
+ BeatItems?: readonly ScaledVideoBeatStripItem[] | null;
328
+ BeatLabels?: readonly string[] | null;
329
+ }
330
+ /**
331
+ * Shared mapper converting an `MJ: Video Archetypes` entity row into an
332
+ * {@link ArchetypeCardSnapshot}, scaling its beat template with
333
+ * {@link BuildArchetypeBeatStripItems} so `BeatItems` always sum to
334
+ * `DefaultDurationSeconds`.
335
+ */
336
+ export declare function MapArchetypeToCard(entity: ArchetypeEntityRowInput): ArchetypeCardSnapshot;
337
+ export declare const MapArchetypeEntityToCard: typeof MapArchetypeToCard;
338
+ /**
339
+ * Derive a stable snake_case beat `Key` from its human-readable `Label`,
340
+ * deduplicating against `usedKeys` when provided.
341
+ */
342
+ export declare function DeriveBeatKeyFromLabel(label: string | null | undefined, fallbackIndex?: number, usedKeys?: Set<string>): string;
343
+ /**
344
+ * Active filter state on the Archetypes surface.
345
+ */
346
+ export interface ArchetypeFilterState {
347
+ SearchQuery: string;
348
+ Category: ArchetypeCategoryFilter;
349
+ Scope: ArchetypeScopeFilter;
350
+ }
351
+ /**
352
+ * Category group displayed on the Archetypes surface.
353
+ */
354
+ export interface ArchetypeCategoryGroup<T extends ArchetypeCardSnapshot = ArchetypeCardSnapshot> {
355
+ Category: ArchetypeCategory;
356
+ Archetypes: T[];
357
+ }
358
+ /**
359
+ * Filter a list of Archetype cards according to {@link ArchetypeFilterState}.
360
+ * Pure + deterministic; returns a new array without mutating the input.
361
+ */
362
+ export declare function FilterArchetypeCards<T extends ArchetypeCardSnapshot>(cards: readonly T[], filters: ArchetypeFilterState): T[];
363
+ /**
364
+ * Group filtered archetype cards by `Category` in canonical category order,
365
+ * omitting empty categories. Cards within each category are sorted alphabetically
366
+ * by `Name`.
367
+ */
368
+ export declare function GroupArchetypesByCategory<T extends ArchetypeCardSnapshot>(cards: readonly T[]): ArchetypeCategoryGroup<T>[];
369
+ /**
370
+ * Input snapshot used by {@link BuildArchetypesAgentContext}.
371
+ */
372
+ export interface ArchetypesAgentContextInput {
373
+ AllCards: readonly ArchetypeCardSnapshot[];
374
+ FilteredCards: readonly ArchetypeCardSnapshot[];
375
+ Filters: ArchetypeFilterState;
376
+ SelectedArchetype: ArchetypeCardSnapshot | null;
377
+ IsLoading: boolean;
378
+ }
379
+ /**
380
+ * Build the bounded, read-only agent context object for the Archetypes surface.
381
+ */
382
+ export declare function BuildArchetypesAgentContext(input: ArchetypesAgentContextInput): Record<string, unknown>;
383
+ /**
384
+ * Canonical video aspect-ratio format codes selectable in the Studio Start form.
385
+ */
386
+ export declare const STUDIO_VIDEO_FORMATS: readonly ["16:9", "9:16", "1:1", "4:5"];
387
+ export type StudioVideoFormat = (typeof STUDIO_VIDEO_FORMATS)[number];
388
+ /**
389
+ * Saved query item selectable in the Studio Start form.
390
+ */
391
+ export interface StudioSavedQueryItem extends NamedVideoStudioItem {
392
+ ID: string;
393
+ Name: string;
394
+ }
395
+ /**
396
+ * Parse an archetype's `DefaultFormats` string (JSON array or comma-separated list)
397
+ * into a deduplicated array of canonical {@link StudioVideoFormat} values.
398
+ * Falls back to `['16:9']` when no valid format codes are present.
399
+ */
400
+ export declare function ParseArchetypeDefaultFormats(raw: string | null | undefined): StudioVideoFormat[];
401
+ /**
402
+ * Clamp a requested duration in seconds to an archetype's `[min, max]` bounds.
403
+ */
404
+ export declare function ClampStudioDuration(value: number, minSeconds: number, maxSeconds: number): number;
405
+ /**
406
+ * Build the `MJ: Queries` RunView `ExtraFilter` for the Studio saved-query picker.
407
+ * Escapes SQL `LIKE` wildcards (`%`, `_`, `[`, `\`) with `\` + `ESCAPE '\'` and
408
+ * escapes single quotes via {@link EscapeSQLString} from `@memberjunction/global`.
409
+ */
410
+ export declare function BuildSavedQuerySearchFilter(searchText: string): string;
411
+ /**
412
+ * Input to {@link ComposeStudioFirstMessage}.
413
+ */
414
+ export interface StudioFirstMessageInput {
415
+ ArchetypeName: string;
416
+ Topic: string;
417
+ DurationSeconds: number;
418
+ Formats: readonly string[];
419
+ BrandKitName?: string | null;
420
+ QueryNames?: readonly string[];
421
+ NarrationEnabled?: boolean;
422
+ CaptionsMode?: 'Burned' | 'Sidecar' | 'None';
423
+ }
424
+ /**
425
+ * Deterministic plain-text first message composer for starting a new Studio production:
426
+ * `"Make a <archetype> video, about <topic>, <n> seconds, formats <list>, brand kit <name>, data from <query names>."`
427
+ */
428
+ export declare function ComposeStudioFirstMessage(input: StudioFirstMessageInput): string;
429
+ /**
430
+ * Structured `AppContext` payload passed to `<vs-copilot-panel>` when starting a production.
431
+ */
432
+ export interface StudioAppContextPayload {
433
+ ArchetypeID: string | null;
434
+ BrandKitID: string | null;
435
+ Formats: string[];
436
+ DurationSeconds: number;
437
+ QueryIDs: string[];
438
+ NarrationEnabled?: boolean;
439
+ CaptionsMode?: 'Burned' | 'Sidecar' | 'None';
440
+ }
441
+ /**
442
+ * Build the `{ VideoStudio: { ArchetypeID, BrandKitID, Formats, DurationSeconds, QueryIDs, ... } }`
443
+ * app context object passed into `<vs-copilot-panel>` / `<mj-conversation-chat-area>`.
444
+ */
445
+ export declare function BuildStudioAppContext(input: StudioAppContextPayload): {
446
+ VideoStudio: StudioAppContextPayload;
447
+ };
448
+ /**
449
+ * Result returned by a Studio brief client tool handler.
450
+ */
451
+ export interface StudioBriefClientToolResult {
452
+ Success: boolean;
453
+ Message?: string;
454
+ ErrorMessage?: string;
455
+ Data?: Record<string, unknown>;
456
+ }
457
+ /**
458
+ * Structural handle for `VSProductionBriefComponent` when mounted inside the slide-in.
459
+ */
460
+ export interface StudioBriefComponentHandle {
461
+ ApplyClientToolArchetype(raw: string): StudioBriefClientToolResult;
462
+ ApplyClientToolBrandKit(raw: string): StudioBriefClientToolResult;
463
+ ApplyClientToolFormats(rawFormats: unknown): StudioBriefClientToolResult;
464
+ ApplyClientToolTopic(topic: string): StudioBriefClientToolResult;
465
+ }
466
+ /**
467
+ * Adapter passed to {@link BuildStudioBriefClientTools} so all three Video Studio
468
+ * pages register the same four brief form-fill client tools without duplicating
469
+ * handler logic.
470
+ */
471
+ export interface StudioBriefClientToolAdapter {
472
+ GetBriefComponent?: () => StudioBriefComponentHandle | null | undefined;
473
+ GetArchetypes?: () => readonly ArchetypeCardSnapshot[];
474
+ GetBrandKits?: () => readonly BrandKitCardSnapshot[];
475
+ OnArchetypeSelected?: (archetype: ArchetypeCardSnapshot, formats: StudioVideoFormat[], durationSeconds: number) => void;
476
+ OnBrandKitSelected?: (brandKit: BrandKitCardSnapshot | null) => void;
477
+ OnFormatsSelected?: (formats: StudioVideoFormat[]) => void;
478
+ OnTopicChanged?: (topic: string) => void;
479
+ }
480
+ /**
481
+ * Client tool definition compatible with `NavigationService.SetAgentClientTools`.
482
+ */
483
+ export interface StudioBriefClientToolDefinition {
484
+ Name: string;
485
+ Description: string;
486
+ ParameterSchema: Record<string, unknown>;
487
+ Handler: (params: Record<string, unknown>) => Promise<StudioBriefClientToolResult>;
488
+ }
489
+ /**
490
+ * Build the four reversible Studio brief form-fill client tools
491
+ * (`SelectStudioArchetype`, `SelectStudioBrandKit`, `SetStudioFormats`, `SetStudioTopic`)
492
+ * shared across Productions, Brand Kits, and Archetypes while the brief is showing.
493
+ */
494
+ export declare function BuildStudioBriefClientTools(adapter: StudioBriefClientToolAdapter): StudioBriefClientToolDefinition[];
495
+ //# sourceMappingURL=video-studio-agent-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-studio-agent-context.d.ts","sourceRoot":"","sources":["../../src/VideoStudio/video-studio-agent-context.ts"],"names":[],"mappings":"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"}