@happyvertical/smrt-content 0.30.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 (291) hide show
  1. package/AGENTS.md +194 -0
  2. package/CLAUDE.md +1 -0
  3. package/LICENSE +7 -0
  4. package/README.md +634 -0
  5. package/dist/__smrt-register__.d.ts +2 -0
  6. package/dist/__smrt-register__.d.ts.map +1 -0
  7. package/dist/asset-associable.d.ts +115 -0
  8. package/dist/asset-associable.d.ts.map +1 -0
  9. package/dist/body-format.d.ts +29 -0
  10. package/dist/body-format.d.ts.map +1 -0
  11. package/dist/body-format.js +604 -0
  12. package/dist/body-format.js.map +1 -0
  13. package/dist/content-asset.d.ts +17 -0
  14. package/dist/content-asset.d.ts.map +1 -0
  15. package/dist/content-assets.d.ts +10 -0
  16. package/dist/content-assets.d.ts.map +1 -0
  17. package/dist/content-chat-handlers.d.ts +115 -0
  18. package/dist/content-chat-handlers.d.ts.map +1 -0
  19. package/dist/content-chat-prompts.d.ts +3 -0
  20. package/dist/content-chat-prompts.d.ts.map +1 -0
  21. package/dist/content-chat-session.d.ts +26 -0
  22. package/dist/content-chat-session.d.ts.map +1 -0
  23. package/dist/content-contribution-attachment.d.ts +42 -0
  24. package/dist/content-contribution-attachment.d.ts.map +1 -0
  25. package/dist/content-contribution-attachments.d.ts +8 -0
  26. package/dist/content-contribution-attachments.d.ts.map +1 -0
  27. package/dist/content-contribution-config.d.ts +84 -0
  28. package/dist/content-contribution-config.d.ts.map +1 -0
  29. package/dist/content-contribution-revision.d.ts +38 -0
  30. package/dist/content-contribution-revision.d.ts.map +1 -0
  31. package/dist/content-contribution-revisions.d.ts +8 -0
  32. package/dist/content-contribution-revisions.d.ts.map +1 -0
  33. package/dist/content-contribution-type.d.ts +51 -0
  34. package/dist/content-contribution-type.d.ts.map +1 -0
  35. package/dist/content-contribution-types.d.ts +7 -0
  36. package/dist/content-contribution-types.d.ts.map +1 -0
  37. package/dist/content-contribution.d.ts +161 -0
  38. package/dist/content-contribution.d.ts.map +1 -0
  39. package/dist/content-contributions.d.ts +53 -0
  40. package/dist/content-contributions.d.ts.map +1 -0
  41. package/dist/content-contributor.d.ts +30 -0
  42. package/dist/content-contributor.d.ts.map +1 -0
  43. package/dist/content-contributors.d.ts +13 -0
  44. package/dist/content-contributors.d.ts.map +1 -0
  45. package/dist/content-correction.d.ts +39 -0
  46. package/dist/content-correction.d.ts.map +1 -0
  47. package/dist/content-corrections.d.ts +9 -0
  48. package/dist/content-corrections.d.ts.map +1 -0
  49. package/dist/content-editor-assistant.d.ts +68 -0
  50. package/dist/content-editor-assistant.d.ts.map +1 -0
  51. package/dist/content-editor-assistant.js +97 -0
  52. package/dist/content-editor-assistant.js.map +1 -0
  53. package/dist/content-feed-parser.d.ts +19 -0
  54. package/dist/content-feed-parser.d.ts.map +1 -0
  55. package/dist/content-feed-source.d.ts +52 -0
  56. package/dist/content-feed-source.d.ts.map +1 -0
  57. package/dist/content-feed-sources.d.ts +11 -0
  58. package/dist/content-feed-sources.d.ts.map +1 -0
  59. package/dist/content-feed-sync.d.ts +23 -0
  60. package/dist/content-feed-sync.d.ts.map +1 -0
  61. package/dist/content-governance-assignment.d.ts +42 -0
  62. package/dist/content-governance-assignment.d.ts.map +1 -0
  63. package/dist/content-governance-assignments.d.ts +11 -0
  64. package/dist/content-governance-assignments.d.ts.map +1 -0
  65. package/dist/content-governance-policies.d.ts +7 -0
  66. package/dist/content-governance-policies.d.ts.map +1 -0
  67. package/dist/content-governance-policy.d.ts +29 -0
  68. package/dist/content-governance-policy.d.ts.map +1 -0
  69. package/dist/content-governance-profile.d.ts +31 -0
  70. package/dist/content-governance-profile.d.ts.map +1 -0
  71. package/dist/content-governance-profiles.d.ts +7 -0
  72. package/dist/content-governance-profiles.d.ts.map +1 -0
  73. package/dist/content-governance.d.ts +188 -0
  74. package/dist/content-governance.d.ts.map +1 -0
  75. package/dist/content-prompts.d.ts +10 -0
  76. package/dist/content-prompts.d.ts.map +1 -0
  77. package/dist/content-reference.d.ts +17 -0
  78. package/dist/content-reference.d.ts.map +1 -0
  79. package/dist/content-references.d.ts +55 -0
  80. package/dist/content-references.d.ts.map +1 -0
  81. package/dist/content-review.d.ts +34 -0
  82. package/dist/content-review.d.ts.map +1 -0
  83. package/dist/content-reviews.d.ts +21 -0
  84. package/dist/content-reviews.d.ts.map +1 -0
  85. package/dist/content-transparency.d.ts +72 -0
  86. package/dist/content-transparency.d.ts.map +1 -0
  87. package/dist/content-types.d.ts +51 -0
  88. package/dist/content-types.d.ts.map +1 -0
  89. package/dist/content-version.d.ts +38 -0
  90. package/dist/content-version.d.ts.map +1 -0
  91. package/dist/content-versions.d.ts +16 -0
  92. package/dist/content-versions.d.ts.map +1 -0
  93. package/dist/content.d.ts +736 -0
  94. package/dist/content.d.ts.map +1 -0
  95. package/dist/contents.d.ts +292 -0
  96. package/dist/contents.d.ts.map +1 -0
  97. package/dist/database-utils.d.ts +3 -0
  98. package/dist/database-utils.d.ts.map +1 -0
  99. package/dist/index.d.ts +78 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +11602 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/manifest.json +12308 -0
  104. package/dist/mock-smrt-client.d.ts +493 -0
  105. package/dist/mock-smrt-client.d.ts.map +1 -0
  106. package/dist/mock-smrt-client.js +390 -0
  107. package/dist/mock-smrt-client.js.map +1 -0
  108. package/dist/playground.d.ts +2 -0
  109. package/dist/playground.d.ts.map +1 -0
  110. package/dist/playground.js +454 -0
  111. package/dist/playground.js.map +1 -0
  112. package/dist/publish-readiness.d.ts +30 -0
  113. package/dist/publish-readiness.d.ts.map +1 -0
  114. package/dist/publish-readiness.js +74 -0
  115. package/dist/publish-readiness.js.map +1 -0
  116. package/dist/safe-remote-url.d.ts +52 -0
  117. package/dist/safe-remote-url.d.ts.map +1 -0
  118. package/dist/serialization.d.ts +78 -0
  119. package/dist/serialization.d.ts.map +1 -0
  120. package/dist/smrt-knowledge.json +6130 -0
  121. package/dist/svelte/api.d.ts +3 -0
  122. package/dist/svelte/api.d.ts.map +1 -0
  123. package/dist/svelte/api.js +10 -0
  124. package/dist/svelte/components/ArticleCard.svelte +159 -0
  125. package/dist/svelte/components/ArticleCard.svelte.d.ts +17 -0
  126. package/dist/svelte/components/ArticleCard.svelte.d.ts.map +1 -0
  127. package/dist/svelte/components/ArticleList.svelte +75 -0
  128. package/dist/svelte/components/ArticleList.svelte.d.ts +21 -0
  129. package/dist/svelte/components/ArticleList.svelte.d.ts.map +1 -0
  130. package/dist/svelte/components/ContentAgentChat.svelte +652 -0
  131. package/dist/svelte/components/ContentAgentChat.svelte.d.ts +17 -0
  132. package/dist/svelte/components/ContentAgentChat.svelte.d.ts.map +1 -0
  133. package/dist/svelte/components/ContentBodyEditor.svelte +1446 -0
  134. package/dist/svelte/components/ContentBodyEditor.svelte.d.ts +25 -0
  135. package/dist/svelte/components/ContentBodyEditor.svelte.d.ts.map +1 -0
  136. package/dist/svelte/components/ContentBodyRenderer.svelte +152 -0
  137. package/dist/svelte/components/ContentBodyRenderer.svelte.d.ts +10 -0
  138. package/dist/svelte/components/ContentBodyRenderer.svelte.d.ts.map +1 -0
  139. package/dist/svelte/components/ContentClaimAuditTool.svelte +441 -0
  140. package/dist/svelte/components/ContentClaimAuditTool.svelte.d.ts +12 -0
  141. package/dist/svelte/components/ContentClaimAuditTool.svelte.d.ts.map +1 -0
  142. package/dist/svelte/components/ContentContributionForm.svelte +226 -0
  143. package/dist/svelte/components/ContentContributionForm.svelte.d.ts +23 -0
  144. package/dist/svelte/components/ContentContributionForm.svelte.d.ts.map +1 -0
  145. package/dist/svelte/components/ContentContributionInbox.svelte +322 -0
  146. package/dist/svelte/components/ContentContributionInbox.svelte.d.ts +22 -0
  147. package/dist/svelte/components/ContentContributionInbox.svelte.d.ts.map +1 -0
  148. package/dist/svelte/components/ContentContributionPortal.svelte +182 -0
  149. package/dist/svelte/components/ContentContributionPortal.svelte.d.ts +12 -0
  150. package/dist/svelte/components/ContentContributionPortal.svelte.d.ts.map +1 -0
  151. package/dist/svelte/components/ContentContributionTypeManager.svelte +281 -0
  152. package/dist/svelte/components/ContentContributionTypeManager.svelte.d.ts +10 -0
  153. package/dist/svelte/components/ContentContributionTypeManager.svelte.d.ts.map +1 -0
  154. package/dist/svelte/components/ContentContributorManager.svelte +140 -0
  155. package/dist/svelte/components/ContentContributorManager.svelte.d.ts +10 -0
  156. package/dist/svelte/components/ContentContributorManager.svelte.d.ts.map +1 -0
  157. package/dist/svelte/components/ContentCorrectionsTool.svelte +361 -0
  158. package/dist/svelte/components/ContentCorrectionsTool.svelte.d.ts +11 -0
  159. package/dist/svelte/components/ContentCorrectionsTool.svelte.d.ts.map +1 -0
  160. package/dist/svelte/components/ContentEditor.svelte +2166 -0
  161. package/dist/svelte/components/ContentEditor.svelte.d.ts +26 -0
  162. package/dist/svelte/components/ContentEditor.svelte.d.ts.map +1 -0
  163. package/dist/svelte/components/ContentGovernanceAssignmentEditor.svelte +199 -0
  164. package/dist/svelte/components/ContentGovernanceAssignmentEditor.svelte.d.ts +11 -0
  165. package/dist/svelte/components/ContentGovernanceAssignmentEditor.svelte.d.ts.map +1 -0
  166. package/dist/svelte/components/ContentGovernanceManager.svelte +340 -0
  167. package/dist/svelte/components/ContentGovernanceManager.svelte.d.ts +11 -0
  168. package/dist/svelte/components/ContentGovernanceManager.svelte.d.ts.map +1 -0
  169. package/dist/svelte/components/ContentGovernancePanel.svelte +2244 -0
  170. package/dist/svelte/components/ContentGovernancePanel.svelte.d.ts +26 -0
  171. package/dist/svelte/components/ContentGovernancePanel.svelte.d.ts.map +1 -0
  172. package/dist/svelte/components/ContentGovernancePolicyEditor.svelte +110 -0
  173. package/dist/svelte/components/ContentGovernancePolicyEditor.svelte.d.ts +10 -0
  174. package/dist/svelte/components/ContentGovernancePolicyEditor.svelte.d.ts.map +1 -0
  175. package/dist/svelte/components/ContentGovernanceProfileEditor.svelte +185 -0
  176. package/dist/svelte/components/ContentGovernanceProfileEditor.svelte.d.ts +11 -0
  177. package/dist/svelte/components/ContentGovernanceProfileEditor.svelte.d.ts.map +1 -0
  178. package/dist/svelte/components/ContentGovernanceTool.svelte +56 -0
  179. package/dist/svelte/components/ContentGovernanceTool.svelte.d.ts +13 -0
  180. package/dist/svelte/components/ContentGovernanceTool.svelte.d.ts.map +1 -0
  181. package/dist/svelte/components/ContentImageBrowser.svelte +243 -0
  182. package/dist/svelte/components/ContentImageBrowser.svelte.d.ts +18 -0
  183. package/dist/svelte/components/ContentImageBrowser.svelte.d.ts.map +1 -0
  184. package/dist/svelte/components/ContentImageChooser.svelte +134 -0
  185. package/dist/svelte/components/ContentImageChooser.svelte.d.ts +11 -0
  186. package/dist/svelte/components/ContentImageChooser.svelte.d.ts.map +1 -0
  187. package/dist/svelte/components/ContentList.svelte +906 -0
  188. package/dist/svelte/components/ContentList.svelte.d.ts +16 -0
  189. package/dist/svelte/components/ContentList.svelte.d.ts.map +1 -0
  190. package/dist/svelte/components/ContentMetadataFields.svelte +107 -0
  191. package/dist/svelte/components/ContentMetadataFields.svelte.d.ts +8 -0
  192. package/dist/svelte/components/ContentMetadataFields.svelte.d.ts.map +1 -0
  193. package/dist/svelte/components/ContentReferencesPanel.svelte +221 -0
  194. package/dist/svelte/components/ContentReferencesPanel.svelte.d.ts +20 -0
  195. package/dist/svelte/components/ContentReferencesPanel.svelte.d.ts.map +1 -0
  196. package/dist/svelte/components/ContentReviewStatusTray.svelte +151 -0
  197. package/dist/svelte/components/ContentReviewStatusTray.svelte.d.ts +20 -0
  198. package/dist/svelte/components/ContentReviewStatusTray.svelte.d.ts.map +1 -0
  199. package/dist/svelte/components/ContentStatusFields.svelte +85 -0
  200. package/dist/svelte/components/ContentStatusFields.svelte.d.ts +8 -0
  201. package/dist/svelte/components/ContentStatusFields.svelte.d.ts.map +1 -0
  202. package/dist/svelte/components/ContentTitleField.svelte +54 -0
  203. package/dist/svelte/components/ContentTitleField.svelte.d.ts +10 -0
  204. package/dist/svelte/components/ContentTitleField.svelte.d.ts.map +1 -0
  205. package/dist/svelte/components/ContentTransparencyReport.svelte +322 -0
  206. package/dist/svelte/components/ContentTransparencyReport.svelte.d.ts +10 -0
  207. package/dist/svelte/components/ContentTransparencyReport.svelte.d.ts.map +1 -0
  208. package/dist/svelte/components/ContentTransparencyTool.svelte +314 -0
  209. package/dist/svelte/components/ContentTransparencyTool.svelte.d.ts +10 -0
  210. package/dist/svelte/components/ContentTransparencyTool.svelte.d.ts.map +1 -0
  211. package/dist/svelte/components/ContentVersionsTool.svelte +291 -0
  212. package/dist/svelte/components/ContentVersionsTool.svelte.d.ts +10 -0
  213. package/dist/svelte/components/ContentVersionsTool.svelte.d.ts.map +1 -0
  214. package/dist/svelte/components/GovernedContentEditor.svelte +409 -0
  215. package/dist/svelte/components/GovernedContentEditor.svelte.d.ts +35 -0
  216. package/dist/svelte/components/GovernedContentEditor.svelte.d.ts.map +1 -0
  217. package/dist/svelte/components/ImageThumbnail.cache.d.ts +14 -0
  218. package/dist/svelte/components/ImageThumbnail.cache.d.ts.map +1 -0
  219. package/dist/svelte/components/ImageThumbnail.cache.js +36 -0
  220. package/dist/svelte/components/ImageThumbnail.svelte +159 -0
  221. package/dist/svelte/components/ImageThumbnail.svelte.d.ts +8 -0
  222. package/dist/svelte/components/ImageThumbnail.svelte.d.ts.map +1 -0
  223. package/dist/svelte/components/Markdown.svelte +125 -0
  224. package/dist/svelte/components/Markdown.svelte.d.ts +11 -0
  225. package/dist/svelte/components/Markdown.svelte.d.ts.map +1 -0
  226. package/dist/svelte/content-editor-form.d.ts +63 -0
  227. package/dist/svelte/content-editor-form.d.ts.map +1 -0
  228. package/dist/svelte/content-editor-form.js +94 -0
  229. package/dist/svelte/content-editor-media.d.ts +12 -0
  230. package/dist/svelte/content-editor-media.d.ts.map +1 -0
  231. package/dist/svelte/content-editor-media.js +84 -0
  232. package/dist/svelte/content-editor-state.svelte.d.ts +35 -0
  233. package/dist/svelte/content-editor-state.svelte.d.ts.map +1 -0
  234. package/dist/svelte/content-editor-state.svelte.js +141 -0
  235. package/dist/svelte/governance-manager-client.d.ts +22 -0
  236. package/dist/svelte/governance-manager-client.d.ts.map +1 -0
  237. package/dist/svelte/governance-manager-client.js +1 -0
  238. package/dist/svelte/i18n.contribution.d.ts +57 -0
  239. package/dist/svelte/i18n.contribution.d.ts.map +1 -0
  240. package/dist/svelte/i18n.contribution.js +64 -0
  241. package/dist/svelte/i18n.editor.d.ts +71 -0
  242. package/dist/svelte/i18n.editor.d.ts.map +1 -0
  243. package/dist/svelte/i18n.editor.js +87 -0
  244. package/dist/svelte/i18n.governance.d.ts +66 -0
  245. package/dist/svelte/i18n.governance.d.ts.map +1 -0
  246. package/dist/svelte/i18n.governance.js +66 -0
  247. package/dist/svelte/i18n.routes.d.ts +66 -0
  248. package/dist/svelte/i18n.routes.d.ts.map +1 -0
  249. package/dist/svelte/i18n.routes.js +75 -0
  250. package/dist/svelte/i18n.tools.d.ts +81 -0
  251. package/dist/svelte/i18n.tools.d.ts.map +1 -0
  252. package/dist/svelte/i18n.tools.js +90 -0
  253. package/dist/svelte/index.d.ts +101 -0
  254. package/dist/svelte/index.d.ts.map +1 -0
  255. package/dist/svelte/index.js +63 -0
  256. package/dist/svelte/playground.d.ts +281 -0
  257. package/dist/svelte/playground.d.ts.map +1 -0
  258. package/dist/svelte/playground.js +438 -0
  259. package/dist/svelte/routes/ContentContributionsRoute.svelte +809 -0
  260. package/dist/svelte/routes/ContentContributionsRoute.svelte.d.ts +10 -0
  261. package/dist/svelte/routes/ContentContributionsRoute.svelte.d.ts.map +1 -0
  262. package/dist/svelte/routes/ContentFactsRoute.svelte +612 -0
  263. package/dist/svelte/routes/ContentFactsRoute.svelte.d.ts +11 -0
  264. package/dist/svelte/routes/ContentFactsRoute.svelte.d.ts.map +1 -0
  265. package/dist/svelte/routes/ContentGovernanceRoute.svelte +218 -0
  266. package/dist/svelte/routes/ContentGovernanceRoute.svelte.d.ts +10 -0
  267. package/dist/svelte/routes/ContentGovernanceRoute.svelte.d.ts.map +1 -0
  268. package/dist/svelte/routes/ContentWorkspaceRoute.svelte +431 -0
  269. package/dist/svelte/routes/ContentWorkspaceRoute.svelte.d.ts +12 -0
  270. package/dist/svelte/routes/ContentWorkspaceRoute.svelte.d.ts.map +1 -0
  271. package/dist/svelte/routes/PublishedArticleRoute.svelte +194 -0
  272. package/dist/svelte/routes/PublishedArticleRoute.svelte.d.ts +10 -0
  273. package/dist/svelte/routes/PublishedArticleRoute.svelte.d.ts.map +1 -0
  274. package/dist/svelte/routes/index.d.ts +8 -0
  275. package/dist/svelte/routes/index.d.ts.map +1 -0
  276. package/dist/svelte/routes/index.js +6 -0
  277. package/dist/svelte/routes/shared.d.ts +90 -0
  278. package/dist/svelte/routes/shared.d.ts.map +1 -0
  279. package/dist/svelte/routes/shared.js +104 -0
  280. package/dist/svelte/types.d.ts +69 -0
  281. package/dist/svelte/types.d.ts.map +1 -0
  282. package/dist/svelte/types.js +6 -0
  283. package/dist/thumbnail-generator.d.ts +174 -0
  284. package/dist/thumbnail-generator.d.ts.map +1 -0
  285. package/dist/ui.d.ts +10 -0
  286. package/dist/ui.d.ts.map +1 -0
  287. package/dist/ui.js +42 -0
  288. package/dist/ui.js.map +1 -0
  289. package/dist/utils.d.ts +18 -0
  290. package/dist/utils.d.ts.map +1 -0
  291. package/package.json +119 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-contribution.d.ts","sourceRoot":"","sources":["../src/content-contribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { SmrtCollection } from '@happyvertical/smrt-core';
2
+ import { ContentContributionAttachmentInput, ContentContribution } from './content-contribution';
3
+ export interface SubmitWebContentContributionOptions {
4
+ typeKey: string;
5
+ contributorEmail: string;
6
+ contributorName?: string | null;
7
+ title?: string | null;
8
+ description?: string | null;
9
+ body?: string | null;
10
+ attachments?: ContentContributionAttachmentInput[];
11
+ metadata?: Record<string, any>;
12
+ tenantId?: string | null;
13
+ }
14
+ export interface IngestEmailContentContributionOptions {
15
+ emailId: string;
16
+ typeKey?: string | null;
17
+ tenantId?: string | null;
18
+ }
19
+ export declare class ContentContributions extends SmrtCollection<ContentContribution> {
20
+ static readonly _itemClass: typeof ContentContribution;
21
+ private getContributorCollection;
22
+ private getEmailCollection;
23
+ private getAttachmentCollection;
24
+ private resolveSubmissionType;
25
+ getContributionTypesAction(): Promise<import('./content-contribution-config').ContentContributionTypeConfigState>;
26
+ listForContributor(options?: {
27
+ contributorId?: string;
28
+ contributorEmail?: string;
29
+ }): Promise<ContentContribution[]>;
30
+ listInboxAction(options?: {
31
+ statuses?: string | string[];
32
+ }): Promise<ContentContribution[]>;
33
+ submitWebContribution(options: SubmitWebContentContributionOptions): Promise<{
34
+ contribution: any;
35
+ content: any;
36
+ assets: {
37
+ attachmentId: string | null | undefined;
38
+ assetId: string;
39
+ }[];
40
+ } | {
41
+ contribution: any;
42
+ content: any;
43
+ assets: {
44
+ attachmentId: string | null;
45
+ assetId: string | null;
46
+ }[];
47
+ } | {
48
+ contribution: any;
49
+ intake: import('./content-contribution-config').EvaluateContributionIntakeResult;
50
+ }>;
51
+ ingestEmailContribution(options: IngestEmailContentContributionOptions): Promise<any>;
52
+ }
53
+ //# sourceMappingURL=content-contributions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-contributions.d.ts","sourceRoot":"","sources":["../src/content-contributions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,MAAM,0BAA0B,CAAC;AAKhE,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAS7D,MAAM,WAAW,mCAAmC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,kCAAkC,EAAE,CAAC;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,qCAAqC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AA2BD,qBAwCa,oBAAqB,SAAQ,cAAc,CAAC,mBAAmB,CAAC;IAC3E,MAAM,CAAC,QAAQ,CAAC,UAAU,6BAAuB;YAEnC,wBAAwB;YAIxB,kBAAkB;YAIlB,uBAAuB;YAIvB,qBAAqB;IAyB7B,0BAA0B;IAI1B,kBAAkB,CACtB,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO;IAsB/D,eAAe,CACnB,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAO,GAC7C,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAgB3B,qBAAqB,CAAC,OAAO,EAAE,mCAAmC;;;;;;;;;;;;;;;;;;IAwElE,uBAAuB,CAC3B,OAAO,EAAE,qCAAqC;CAmKjD"}
@@ -0,0 +1,30 @@
1
+ import { SmrtObjectOptions, SmrtObject } from '@happyvertical/smrt-core';
2
+ import { ContentContributorTrustLevel } from './content-contribution-config';
3
+ export interface ContentContributorOptions extends SmrtObjectOptions {
4
+ profileId?: string | null;
5
+ email?: string;
6
+ name?: string;
7
+ trustLevel?: ContentContributorTrustLevel;
8
+ metadata?: Record<string, any> | string;
9
+ tenantId?: string | null;
10
+ createdAt?: Date;
11
+ updatedAt?: Date;
12
+ }
13
+ export declare class ContentContributor extends SmrtObject {
14
+ profileId: string;
15
+ email: string;
16
+ name: string;
17
+ trustLevel: ContentContributorTrustLevel;
18
+ metadata: string;
19
+ tenantId: string | null;
20
+ createdAt: Date;
21
+ updatedAt: Date;
22
+ constructor(options?: ContentContributorOptions);
23
+ getMetadata(): Record<string, any>;
24
+ setMetadata(metadata: Record<string, any>): void;
25
+ protected transformJSON(json: Record<string, any>): {
26
+ profileId: string | null;
27
+ metadata: Record<string, any>;
28
+ };
29
+ }
30
+ //# sourceMappingURL=content-contributor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-contributor.d.ts","sourceRoot":"","sources":["../src/content-contributor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAGL,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAElF,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAyBD,qBAQa,kBAAmB,SAAQ,UAAU;IAEhD,SAAS,SAAM;IAGf,KAAK,SAAM;IAEX,IAAI,SAAM;IACV,UAAU,EAAE,4BAA4B,CAAc;IACtD,QAAQ,SAAM;IAGd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,SAAS,OAAc;IACvB,SAAS,OAAc;gBAEX,OAAO,GAAE,yBAA8B;IAmBnD,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIlC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;cAI7B,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;CAO3D"}
@@ -0,0 +1,13 @@
1
+ import { SmrtCollection } from '@happyvertical/smrt-core';
2
+ import { ContentContributor } from './content-contributor';
3
+ export declare class ContentContributorCollection extends SmrtCollection<ContentContributor> {
4
+ static readonly _itemClass: typeof ContentContributor;
5
+ getByEmail(email: string): Promise<ContentContributor | null>;
6
+ getByProfileId(profileId: string): Promise<ContentContributor | null>;
7
+ findOrCreateByEmail(options: {
8
+ email: string;
9
+ name?: string | null;
10
+ tenantId?: string | null;
11
+ }): Promise<ContentContributor>;
12
+ }
13
+ //# sourceMappingURL=content-contributors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-contributors.d.ts","sourceRoot":"","sources":["../src/content-contributors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,qBAAa,4BAA6B,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IAClF,MAAM,CAAC,QAAQ,CAAC,UAAU,4BAAsB;IAE1C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAI7D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAIrE,mBAAmB,CAAC,OAAO,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAwChC"}
@@ -0,0 +1,39 @@
1
+ import { SmrtObjectOptions, SmrtObject } from '@happyvertical/smrt-core';
2
+ import { ContentCorrectionStatus, ContentCorrectionType } from './content-governance';
3
+ export interface ContentCorrectionOptions extends SmrtObjectOptions {
4
+ contentId?: string;
5
+ contentVersionId?: string;
6
+ factId?: string;
7
+ replacementFactId?: string;
8
+ correctionType?: ContentCorrectionType;
9
+ status?: ContentCorrectionStatus;
10
+ summary?: string;
11
+ incorrectText?: string;
12
+ correctedText?: string;
13
+ publicNote?: string;
14
+ metadata?: string | Record<string, any>;
15
+ tenantId?: string | null;
16
+ publishedAt?: Date | null;
17
+ createdAt?: Date;
18
+ updatedAt?: Date;
19
+ }
20
+ export declare class ContentCorrection extends SmrtObject {
21
+ contentId: string;
22
+ contentVersionId: string;
23
+ factId: string;
24
+ replacementFactId: string;
25
+ correctionType: ContentCorrectionType;
26
+ status: ContentCorrectionStatus;
27
+ summary: string;
28
+ incorrectText: string;
29
+ correctedText: string;
30
+ publicNote: string;
31
+ metadata: string;
32
+ tenantId: string | null;
33
+ publishedAt: Date | null;
34
+ createdAt: Date;
35
+ updatedAt: Date;
36
+ constructor(options?: ContentCorrectionOptions);
37
+ getMetadata(): Record<string, any>;
38
+ }
39
+ //# sourceMappingURL=content-correction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-correction.d.ts","sourceRoot":"","sources":["../src/content-correction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAGL,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qBAOa,iBAAkB,SAAQ,UAAU;IAE/C,SAAS,SAAM;IAGf,gBAAgB,SAAM;IAGtB,MAAM,SAAM;IAGZ,iBAAiB,SAAM;IACvB,cAAc,EAAE,qBAAqB,CAAU;IAC/C,MAAM,EAAE,uBAAuB,CAAW;IAC1C,OAAO,SAAM;IACb,aAAa,SAAM;IACnB,aAAa,SAAM;IACnB,UAAU,SAAM;IAChB,QAAQ,SAAM;IAGd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAQ;IAChC,SAAS,OAAc;IACvB,SAAS,OAAc;gBAEX,OAAO,GAAE,wBAA6B;IA+BlD,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAOnC"}
@@ -0,0 +1,9 @@
1
+ import { SmrtCollection } from '@happyvertical/smrt-core';
2
+ import { ContentCorrection } from './content-correction';
3
+ export declare class ContentCorrectionCollection extends SmrtCollection<ContentCorrection> {
4
+ static readonly _itemClass: typeof ContentCorrection;
5
+ listForContent(contentId: string): Promise<ContentCorrection[]>;
6
+ getPublishedForContent(contentId: string): Promise<ContentCorrection[]>;
7
+ issue(options: ConstructorParameters<typeof ContentCorrection>[0]): Promise<ContentCorrection>;
8
+ }
9
+ //# sourceMappingURL=content-corrections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-corrections.d.ts","sourceRoot":"","sources":["../src/content-corrections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,2BAA4B,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IAChF,MAAM,CAAC,QAAQ,CAAC,UAAU,2BAAqB;IAEzC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAO/D,sBAAsB,CAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAOzB,KAAK,CACT,OAAO,EAAE,qBAAqB,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAC1D,OAAO,CAAC,iBAAiB,CAAC;CAe9B"}
@@ -0,0 +1,68 @@
1
+ export type ContentEditorAssistantEditorKind = 'content' | 'governed';
2
+ export type ContentEditorAssistantFieldValue = string | number | boolean | null | undefined;
3
+ export type ContentEditorAssistantFields = Record<string, ContentEditorAssistantFieldValue>;
4
+ export interface ContentEditorAssistantFieldUpdateAllowList {
5
+ textFields?: Iterable<string>;
6
+ enumFields?: Record<string, Iterable<string>>;
7
+ }
8
+ export interface ContentEditorAssistantGovernanceSummary {
9
+ reviewProfileKey?: string | null;
10
+ enforcePublishReadiness?: boolean;
11
+ publishReadiness?: {
12
+ level?: string;
13
+ title?: string;
14
+ message?: string;
15
+ disableSave?: boolean;
16
+ details?: string[];
17
+ } | null;
18
+ }
19
+ export interface ContentEditorAssistantFactSummary {
20
+ factIds?: string[];
21
+ factCount?: number;
22
+ }
23
+ export interface ContentEditorAssistantContextData {
24
+ contentId: string;
25
+ contentType: string;
26
+ editorKind: ContentEditorAssistantEditorKind;
27
+ fields: ContentEditorAssistantFields;
28
+ currentEditorState: string;
29
+ referenceIds: string[];
30
+ facts?: ContentEditorAssistantFactSummary;
31
+ governance?: ContentEditorAssistantGovernanceSummary | null;
32
+ }
33
+ export interface ContentEditorAssistantContext {
34
+ type: 'content.editor';
35
+ title: string | null;
36
+ data: ContentEditorAssistantContextData;
37
+ }
38
+ export interface ContentEditorAssistantActions {
39
+ triggerSave: () => void;
40
+ triggerReview?: (kind: string) => void | Promise<void>;
41
+ applyFieldUpdates: (fields: Record<string, string>) => void;
42
+ undoLastFieldUpdate?: () => void;
43
+ }
44
+ export interface ContentEditorAssistantRegistration {
45
+ context: ContentEditorAssistantContext;
46
+ actions: ContentEditorAssistantActions;
47
+ }
48
+ export type ContentEditorAssistantContextChange = (registration: ContentEditorAssistantRegistration | null) => void;
49
+ export interface CreateContentEditorAssistantContextInput {
50
+ contentId: string;
51
+ title?: string | null;
52
+ editorKind?: ContentEditorAssistantEditorKind;
53
+ fields?: ContentEditorAssistantFields | null;
54
+ currentEditorState?: string | null;
55
+ referenceIds?: unknown;
56
+ facts?: ContentEditorAssistantFactSummary | null;
57
+ governance?: ContentEditorAssistantGovernanceSummary | null;
58
+ }
59
+ export interface ContentEditorAssistantChatProps {
60
+ contentId: string;
61
+ currentEditorState: string;
62
+ currentReferenceIds: string[];
63
+ formFields: Record<string, string>;
64
+ }
65
+ export declare function sanitizeContentEditorAssistantFieldUpdates(fields: unknown, allowList?: ContentEditorAssistantFieldUpdateAllowList): Record<string, string>;
66
+ export declare function createContentEditorAssistantContext(input: CreateContentEditorAssistantContextInput): ContentEditorAssistantContext;
67
+ export declare function contentEditorAssistantContextToChatProps(context: ContentEditorAssistantContext): ContentEditorAssistantChatProps;
68
+ //# sourceMappingURL=content-editor-assistant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-editor-assistant.d.ts","sourceRoot":"","sources":["../src/content-editor-assistant.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ const TEXT_FIELD_KEYS = /* @__PURE__ */ new Set(["title", "description", "body"]);
2
+ const ENUM_FIELD_VALUES = {
3
+ type: /* @__PURE__ */ new Set(["article", "document", "mirror"]),
4
+ status: /* @__PURE__ */ new Set(["draft", "published", "archived"]),
5
+ state: /* @__PURE__ */ new Set(["active", "highlighted", "deprecated"])
6
+ };
7
+ function normalizeString(value) {
8
+ return typeof value === "string" ? value : value == null ? "" : String(value);
9
+ }
10
+ function normalizeReferenceIds(value) {
11
+ if (!Array.isArray(value)) {
12
+ return [];
13
+ }
14
+ const out = [];
15
+ const seen = /* @__PURE__ */ new Set();
16
+ for (const item of value) {
17
+ const id = normalizeString(item).trim();
18
+ if (!id || seen.has(id)) {
19
+ continue;
20
+ }
21
+ seen.add(id);
22
+ out.push(id);
23
+ }
24
+ return out;
25
+ }
26
+ function normalizeChatFields(fields) {
27
+ return Object.fromEntries(
28
+ Object.entries(fields ?? {}).map(([key, value]) => [
29
+ key,
30
+ normalizeString(value)
31
+ ])
32
+ );
33
+ }
34
+ function sanitizeContentEditorAssistantFieldUpdates(fields, allowList = {}) {
35
+ if (!fields || typeof fields !== "object" || Array.isArray(fields)) {
36
+ return {};
37
+ }
38
+ const textFieldKeys = /* @__PURE__ */ new Set([
39
+ ...TEXT_FIELD_KEYS,
40
+ ...allowList.textFields ?? []
41
+ ]);
42
+ const enumFieldValues = new Map(
43
+ Object.entries(ENUM_FIELD_VALUES)
44
+ );
45
+ for (const [key, values] of Object.entries(allowList.enumFields ?? {})) {
46
+ enumFieldValues.set(key, new Set(values));
47
+ }
48
+ const updates = {};
49
+ for (const [key, value] of Object.entries(fields)) {
50
+ if (textFieldKeys.has(key)) {
51
+ updates[key] = normalizeString(value);
52
+ continue;
53
+ }
54
+ const enumValues = enumFieldValues.get(key);
55
+ if (!enumValues) {
56
+ continue;
57
+ }
58
+ const normalizedValue = normalizeString(value).trim();
59
+ if (enumValues.has(normalizedValue)) {
60
+ updates[key] = normalizedValue;
61
+ }
62
+ }
63
+ return updates;
64
+ }
65
+ function createContentEditorAssistantContext(input) {
66
+ const fields = input.fields ?? {};
67
+ const contentType = normalizeString(fields.type).trim() || "content";
68
+ const title = input.title ?? (normalizeString(fields.title).trim() || null);
69
+ return {
70
+ type: "content.editor",
71
+ title,
72
+ data: {
73
+ contentId: input.contentId,
74
+ contentType,
75
+ editorKind: input.editorKind ?? "content",
76
+ fields,
77
+ currentEditorState: input.currentEditorState ?? normalizeString(fields.body),
78
+ referenceIds: normalizeReferenceIds(input.referenceIds),
79
+ ...input.facts ? { facts: input.facts } : {},
80
+ ...input.governance !== void 0 ? { governance: input.governance } : {}
81
+ }
82
+ };
83
+ }
84
+ function contentEditorAssistantContextToChatProps(context) {
85
+ return {
86
+ contentId: context.data.contentId,
87
+ currentEditorState: context.data.currentEditorState,
88
+ currentReferenceIds: [...context.data.referenceIds],
89
+ formFields: normalizeChatFields(context.data.fields)
90
+ };
91
+ }
92
+ export {
93
+ contentEditorAssistantContextToChatProps,
94
+ createContentEditorAssistantContext,
95
+ sanitizeContentEditorAssistantFieldUpdates
96
+ };
97
+ //# sourceMappingURL=content-editor-assistant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-editor-assistant.js","sources":["../src/content-editor-assistant.ts"],"sourcesContent":["export type ContentEditorAssistantEditorKind = 'content' | 'governed';\n\nexport type ContentEditorAssistantFieldValue =\n | string\n | number\n | boolean\n | null\n | undefined;\n\nexport type ContentEditorAssistantFields = Record<\n string,\n ContentEditorAssistantFieldValue\n>;\n\nexport interface ContentEditorAssistantFieldUpdateAllowList {\n textFields?: Iterable<string>;\n enumFields?: Record<string, Iterable<string>>;\n}\n\nconst TEXT_FIELD_KEYS = new Set(['title', 'description', 'body']);\nconst ENUM_FIELD_VALUES: Record<string, Set<string>> = {\n type: new Set(['article', 'document', 'mirror']),\n status: new Set(['draft', 'published', 'archived']),\n state: new Set(['active', 'highlighted', 'deprecated']),\n};\n\nexport interface ContentEditorAssistantGovernanceSummary {\n reviewProfileKey?: string | null;\n enforcePublishReadiness?: boolean;\n publishReadiness?: {\n level?: string;\n title?: string;\n message?: string;\n disableSave?: boolean;\n details?: string[];\n } | null;\n}\n\nexport interface ContentEditorAssistantFactSummary {\n factIds?: string[];\n factCount?: number;\n}\n\nexport interface ContentEditorAssistantContextData {\n contentId: string;\n contentType: string;\n editorKind: ContentEditorAssistantEditorKind;\n fields: ContentEditorAssistantFields;\n currentEditorState: string;\n referenceIds: string[];\n facts?: ContentEditorAssistantFactSummary;\n governance?: ContentEditorAssistantGovernanceSummary | null;\n}\n\nexport interface ContentEditorAssistantContext {\n type: 'content.editor';\n title: string | null;\n data: ContentEditorAssistantContextData;\n}\n\nexport interface ContentEditorAssistantActions {\n triggerSave: () => void;\n triggerReview?: (kind: string) => void | Promise<void>;\n applyFieldUpdates: (fields: Record<string, string>) => void;\n undoLastFieldUpdate?: () => void;\n}\n\nexport interface ContentEditorAssistantRegistration {\n context: ContentEditorAssistantContext;\n actions: ContentEditorAssistantActions;\n}\n\nexport type ContentEditorAssistantContextChange = (\n registration: ContentEditorAssistantRegistration | null,\n) => void;\n\nexport interface CreateContentEditorAssistantContextInput {\n contentId: string;\n title?: string | null;\n editorKind?: ContentEditorAssistantEditorKind;\n fields?: ContentEditorAssistantFields | null;\n currentEditorState?: string | null;\n referenceIds?: unknown;\n facts?: ContentEditorAssistantFactSummary | null;\n governance?: ContentEditorAssistantGovernanceSummary | null;\n}\n\nexport interface ContentEditorAssistantChatProps {\n contentId: string;\n currentEditorState: string;\n currentReferenceIds: string[];\n formFields: Record<string, string>;\n}\n\nfunction normalizeString(value: unknown): string {\n return typeof value === 'string' ? value : value == null ? '' : String(value);\n}\n\nfunction normalizeReferenceIds(value: unknown): string[] {\n if (!Array.isArray(value)) {\n return [];\n }\n\n const out: string[] = [];\n const seen = new Set<string>();\n for (const item of value) {\n const id = normalizeString(item).trim();\n if (!id || seen.has(id)) {\n continue;\n }\n seen.add(id);\n out.push(id);\n }\n return out;\n}\n\nfunction normalizeChatFields(\n fields: ContentEditorAssistantFields | null | undefined,\n): Record<string, string> {\n return Object.fromEntries(\n Object.entries(fields ?? {}).map(([key, value]) => [\n key,\n normalizeString(value),\n ]),\n );\n}\n\nexport function sanitizeContentEditorAssistantFieldUpdates(\n fields: unknown,\n allowList: ContentEditorAssistantFieldUpdateAllowList = {},\n): Record<string, string> {\n if (!fields || typeof fields !== 'object' || Array.isArray(fields)) {\n return {};\n }\n\n const textFieldKeys = new Set([\n ...TEXT_FIELD_KEYS,\n ...(allowList.textFields ?? []),\n ]);\n const enumFieldValues = new Map<string, Set<string>>(\n Object.entries(ENUM_FIELD_VALUES),\n );\n for (const [key, values] of Object.entries(allowList.enumFields ?? {})) {\n enumFieldValues.set(key, new Set(values));\n }\n\n const updates: Record<string, string> = {};\n for (const [key, value] of Object.entries(fields)) {\n if (textFieldKeys.has(key)) {\n updates[key] = normalizeString(value);\n continue;\n }\n\n const enumValues = enumFieldValues.get(key);\n if (!enumValues) {\n continue;\n }\n\n const normalizedValue = normalizeString(value).trim();\n if (enumValues.has(normalizedValue)) {\n updates[key] = normalizedValue;\n }\n }\n\n return updates;\n}\n\nexport function createContentEditorAssistantContext(\n input: CreateContentEditorAssistantContextInput,\n): ContentEditorAssistantContext {\n const fields = input.fields ?? {};\n const contentType = normalizeString(fields.type).trim() || 'content';\n const title = input.title ?? (normalizeString(fields.title).trim() || null);\n\n return {\n type: 'content.editor',\n title,\n data: {\n contentId: input.contentId,\n contentType,\n editorKind: input.editorKind ?? 'content',\n fields,\n currentEditorState:\n input.currentEditorState ?? normalizeString(fields.body),\n referenceIds: normalizeReferenceIds(input.referenceIds),\n ...(input.facts ? { facts: input.facts } : {}),\n ...(input.governance !== undefined\n ? { governance: input.governance }\n : {}),\n },\n };\n}\n\nexport function contentEditorAssistantContextToChatProps(\n context: ContentEditorAssistantContext,\n): ContentEditorAssistantChatProps {\n return {\n contentId: context.data.contentId,\n currentEditorState: context.data.currentEditorState,\n currentReferenceIds: [...context.data.referenceIds],\n formFields: normalizeChatFields(context.data.fields),\n };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export type ContentFeedFormat = 'rss' | 'atom';
2
+ export interface ParsedContentFeedItem {
3
+ title: string;
4
+ url: string;
5
+ guid: string | null;
6
+ author: string | null;
7
+ publishedAt: Date | null;
8
+ updatedAt: Date | null;
9
+ summary: string | null;
10
+ categories: string[];
11
+ }
12
+ export interface ParsedContentFeed {
13
+ format: ContentFeedFormat;
14
+ title: string | null;
15
+ homepageUrl: string | null;
16
+ items: ParsedContentFeedItem[];
17
+ }
18
+ export declare function parseContentFeed(xml: string, baseUrl?: string | null): ParsedContentFeed;
19
+ //# sourceMappingURL=content-feed-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-feed-parser.d.ts","sourceRoot":"","sources":["../src/content-feed-parser.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,qBAAqB,EAAE,CAAC;CAChC;AAmID,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,iBAAiB,CAoEnB"}
@@ -0,0 +1,52 @@
1
+ import { SmrtObjectOptions, SmrtObject } from '@happyvertical/smrt-core';
2
+ import { ContentFeedFormat } from './content-feed-parser';
3
+ export type ContentFeedSourceStatus = 'active' | 'paused' | 'error' | 'archived';
4
+ export interface ContentFeedSourceOptions extends SmrtObjectOptions {
5
+ tenantId?: string | null;
6
+ name?: string;
7
+ feedUrl?: string;
8
+ homepageUrl?: string | null;
9
+ format?: ContentFeedFormat | null;
10
+ status?: ContentFeedSourceStatus;
11
+ defaultCategory?: string | null;
12
+ sourceGroup?: string | null;
13
+ pollIntervalMinutes?: number;
14
+ etag?: string | null;
15
+ lastModified?: string | null;
16
+ lastFetchedAt?: Date | string | null;
17
+ lastSuccessAt?: Date | string | null;
18
+ lastError?: string | null;
19
+ metadata?: Record<string, any> | string;
20
+ createdAt?: Date | string;
21
+ updatedAt?: Date | string;
22
+ }
23
+ export declare class ContentFeedSource extends SmrtObject {
24
+ tenantId: string | null;
25
+ name: string;
26
+ feedUrl: string;
27
+ homepageUrl: string | null;
28
+ format: ContentFeedFormat | null;
29
+ status: ContentFeedSourceStatus;
30
+ defaultCategory: string | null;
31
+ sourceGroup: string | null;
32
+ pollIntervalMinutes: number;
33
+ etag: string | null;
34
+ lastModified: string | null;
35
+ lastFetchedAt: Date | null;
36
+ lastSuccessAt: Date | null;
37
+ lastError: string | null;
38
+ metadata: Record<string, any>;
39
+ createdAt: Date;
40
+ updatedAt: Date;
41
+ constructor(options?: ContentFeedSourceOptions);
42
+ getMetadata(): Record<string, any>;
43
+ setMetadata(metadata: Record<string, any>): void;
44
+ markFetchStarted(at?: Date): void;
45
+ markFetchSucceeded(at?: Date, headers?: {
46
+ etag?: string | null;
47
+ lastModified?: string | null;
48
+ }): void;
49
+ markFetchFailed(error: unknown, at?: Date): void;
50
+ protected transformJSON(json: Record<string, any>): Record<string, unknown>;
51
+ }
52
+ //# sourceMappingURL=content-feed-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-feed-source.d.ts","sourceRoot":"","sources":["../src/content-feed-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAS,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;IACxC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;CAC3B;AA0CD,qBAQa,iBAAkB,SAAQ,UAAU;IAE/C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,IAAI,SAAM;IAGV,OAAO,SAAM;IAEb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAExC,MAAM,EAAE,uBAAuB,CAAY;IAC3C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,mBAAmB,SAAM;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAQ;IAClC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAQ;IAClC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACnC,SAAS,OAAc;IACvB,SAAS,OAAc;gBAEX,OAAO,GAAE,wBAA6B;IAmClD,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIlC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAKhD,gBAAgB,CAAC,EAAE,OAAa,GAAG,IAAI;IAKvC,kBAAkB,CAChB,EAAE,OAAa,EACf,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO,GACnE,IAAI;IAWP,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAa,GAAG,IAAI;cAOnC,aAAa,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAsB3B"}
@@ -0,0 +1,11 @@
1
+ import { SmrtCollectionOptions, SmrtCollection } from '@happyvertical/smrt-core';
2
+ import { ContentFeedSource, ContentFeedSourceStatus } from './content-feed-source';
3
+ export interface ContentFeedSourceCollectionOptions extends SmrtCollectionOptions {
4
+ }
5
+ export declare class ContentFeedSourceCollection extends SmrtCollection<ContentFeedSource> {
6
+ static readonly _itemClass: typeof ContentFeedSource;
7
+ findActive(tenantId?: string | null): Promise<ContentFeedSource[]>;
8
+ findByStatus(status: ContentFeedSourceStatus, tenantId?: string | null): Promise<ContentFeedSource[]>;
9
+ findByFeedUrl(feedUrl: string, tenantId?: string | null): Promise<ContentFeedSource | null>;
10
+ }
11
+ //# sourceMappingURL=content-feed-sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-feed-sources.d.ts","sourceRoot":"","sources":["../src/content-feed-sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,kCACf,SAAQ,qBAAqB;CAAG;AAElC,qBAAa,2BAA4B,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IAChF,MAAM,CAAC,QAAQ,CAAC,UAAU,2BAAqB;IAEzC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAMlE,YAAY,CAChB,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAMzB,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CAMrC"}
@@ -0,0 +1,23 @@
1
+ import { SmrtCollectionOptions } from '@happyvertical/smrt-core';
2
+ import { ContentFeedSource } from './content-feed-source';
3
+ import { ResolveHostname } from './safe-remote-url';
4
+ export interface ContentFeedSyncOptions extends SmrtCollectionOptions {
5
+ fetch?: typeof fetch;
6
+ maxItems?: number;
7
+ maxResponseBytes?: number;
8
+ fetchTimeoutMs?: number;
9
+ allowPrivateNetworkHosts?: boolean;
10
+ resolveHostname?: ResolveHostname;
11
+ status?: 'published' | 'draft';
12
+ now?: () => Date;
13
+ }
14
+ export interface ContentFeedSyncResult {
15
+ source: ContentFeedSource;
16
+ fetched: boolean;
17
+ notModified: boolean;
18
+ imported: number;
19
+ updated: number;
20
+ skipped: number;
21
+ }
22
+ export declare function syncContentFeedSource(source: ContentFeedSource, options?: ContentFeedSyncOptions): Promise<ContentFeedSyncResult>;
23
+ //# sourceMappingURL=content-feed-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-feed-sync.d.ts","sourceRoot":"","sources":["../src/content-feed-sync.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAgTD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAwGhC"}
@@ -0,0 +1,42 @@
1
+ import { SmrtObjectOptions, SmrtObject } from '@happyvertical/smrt-core';
2
+ import { FactContentRelationship } from '@happyvertical/smrt-facts';
3
+ import { ContentGovernanceAssignmentDefinition } from './content-governance';
4
+ export interface ContentGovernanceAssignmentOptions extends SmrtObjectOptions {
5
+ key?: string;
6
+ label?: string;
7
+ contentType?: string;
8
+ contentVariant?: string | null;
9
+ enabled?: boolean;
10
+ factLinkingEnabled?: boolean;
11
+ transparencyEnabled?: boolean;
12
+ publicationProfileKey?: string | null;
13
+ correctionProfileKey?: string | null;
14
+ enforcePublishReadiness?: boolean;
15
+ defaultFactRelationship?: FactContentRelationship;
16
+ metadata?: string | Record<string, any>;
17
+ tenantId?: string | null;
18
+ createdAt?: Date;
19
+ updatedAt?: Date;
20
+ }
21
+ export declare class ContentGovernanceAssignment extends SmrtObject {
22
+ key: string;
23
+ label: string;
24
+ contentType: string;
25
+ contentVariant: string;
26
+ enabled: boolean;
27
+ factLinkingEnabled: boolean;
28
+ transparencyEnabled: boolean;
29
+ publicationProfileKey: string;
30
+ correctionProfileKey: string;
31
+ enforcePublishReadiness: boolean;
32
+ defaultFactRelationship: FactContentRelationship;
33
+ metadata: string;
34
+ tenantId: string | null;
35
+ createdAt: Date;
36
+ updatedAt: Date;
37
+ constructor(options?: ContentGovernanceAssignmentOptions);
38
+ getMetadata(): Record<string, any>;
39
+ toDefinition(): ContentGovernanceAssignmentDefinition;
40
+ protected validateBeforeSave(): Promise<void>;
41
+ }
42
+ //# sourceMappingURL=content-governance-assignment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-governance-assignment.d.ts","sourceRoot":"","sources":["../src/content-governance-assignment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAS,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EAEL,KAAK,qCAAqC,EAE3C,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,kCAAmC,SAAQ,iBAAiB;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qBAQa,2BAA4B,SAAQ,UAAU;IAEzD,GAAG,SAAM;IAET,KAAK,SAAM;IAGX,WAAW,SAAM;IAEjB,cAAc,SAAM;IACpB,OAAO,UAAQ;IACf,kBAAkB,UAAS;IAC3B,mBAAmB,UAAS;IAC5B,qBAAqB,SAAM;IAC3B,oBAAoB,SAAM;IAC1B,uBAAuB,UAAS;IAChC,uBAAuB,EAAE,uBAAuB,CAAc;IAC9D,QAAQ,SAAM;IAGd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,SAAS,OAAc;IACvB,SAAS,OAAc;gBAEX,OAAO,GAAE,kCAAuC;IAuC5D,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAYlC,YAAY,IAAI,qCAAqC;cAiB5B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B7D"}
@@ -0,0 +1,11 @@
1
+ import { SmrtCollection } from '@happyvertical/smrt-core';
2
+ import { ContentGovernanceAssignment } from './content-governance-assignment';
3
+ export declare class ContentGovernanceAssignmentCollection extends SmrtCollection<ContentGovernanceAssignment> {
4
+ static readonly _itemClass: typeof ContentGovernanceAssignment;
5
+ getByKey(key: string): Promise<ContentGovernanceAssignment | null>;
6
+ resolveForContent(options: {
7
+ contentType: string;
8
+ contentVariant?: string | null;
9
+ }): Promise<ContentGovernanceAssignment | null>;
10
+ }
11
+ //# sourceMappingURL=content-governance-assignments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-governance-assignments.d.ts","sourceRoot":"","sources":["../src/content-governance-assignments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAE9E,qBAAa,qCAAsC,SAAQ,cAAc,CAAC,2BAA2B,CAAC;IACpG,MAAM,CAAC,QAAQ,CAAC,UAAU,qCAA+B;IAEnD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC;IAIlE,iBAAiB,CAAC,OAAO,EAAE;QAC/B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,GAAG,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC;CAchD"}
@@ -0,0 +1,7 @@
1
+ import { SmrtCollection } from '@happyvertical/smrt-core';
2
+ import { ContentGovernancePolicy } from './content-governance-policy';
3
+ export declare class ContentGovernancePolicyCollection extends SmrtCollection<ContentGovernancePolicy> {
4
+ static readonly _itemClass: typeof ContentGovernancePolicy;
5
+ getByKey(key: string): Promise<ContentGovernancePolicy | null>;
6
+ }
7
+ //# sourceMappingURL=content-governance-policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-governance-policies.d.ts","sourceRoot":"","sources":["../src/content-governance-policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,qBAAa,iCAAkC,SAAQ,cAAc,CAAC,uBAAuB,CAAC;IAC5F,MAAM,CAAC,QAAQ,CAAC,UAAU,iCAA2B;IAE/C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;CAGrE"}
@@ -0,0 +1,29 @@
1
+ import { SmrtObjectOptions, SmrtObject } from '@happyvertical/smrt-core';
2
+ import { ContentReviewKind, ContentReviewPolicyDefinition } from './content-governance';
3
+ export interface ContentGovernancePolicyOptions extends SmrtObjectOptions {
4
+ key?: string;
5
+ label?: string;
6
+ kind?: ContentReviewKind;
7
+ instructions?: string;
8
+ enabled?: boolean;
9
+ metadata?: string | Record<string, any>;
10
+ tenantId?: string | null;
11
+ createdAt?: Date;
12
+ updatedAt?: Date;
13
+ }
14
+ export declare class ContentGovernancePolicy extends SmrtObject {
15
+ key: string;
16
+ label: string;
17
+ kind: ContentReviewKind;
18
+ instructions: string;
19
+ enabled: boolean;
20
+ metadata: string;
21
+ tenantId: string | null;
22
+ createdAt: Date;
23
+ updatedAt: Date;
24
+ constructor(options?: ContentGovernancePolicyOptions);
25
+ getMetadata(): Record<string, any>;
26
+ toDefinition(): ContentReviewPolicyDefinition;
27
+ delete(): Promise<void>;
28
+ }
29
+ //# sourceMappingURL=content-governance-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-governance-policy.d.ts","sourceRoot":"","sources":["../src/content-governance-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAS,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAInC,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,8BAA+B,SAAQ,iBAAiB;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qBAQa,uBAAwB,SAAQ,UAAU;IAErD,GAAG,SAAM;IAET,KAAK,SAAM;IACX,IAAI,EAAE,iBAAiB,CAAY;IACnC,YAAY,SAAM;IAClB,OAAO,UAAQ;IACf,QAAQ,SAAM;IAGd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,SAAS,OAAc;IACvB,SAAS,OAAc;gBAEX,OAAO,GAAE,8BAAmC;IAoBxD,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAYlC,YAAY,IAAI,6BAA6B;IAW9B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBvC"}