@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,31 @@
1
+ import { SmrtObjectOptions, SmrtObject } from '@happyvertical/smrt-core';
2
+ import { ContentGovernanceProfileDefinition, ContentReviewRequirement } from './content-governance';
3
+ export interface ContentGovernanceProfileOptions extends SmrtObjectOptions {
4
+ key?: string;
5
+ label?: string;
6
+ description?: string;
7
+ enabled?: boolean;
8
+ requirements?: string | ContentReviewRequirement[];
9
+ metadata?: string | Record<string, any>;
10
+ tenantId?: string | null;
11
+ createdAt?: Date;
12
+ updatedAt?: Date;
13
+ }
14
+ export declare class ContentGovernanceProfile extends SmrtObject {
15
+ key: string;
16
+ label: string;
17
+ description: string;
18
+ enabled: boolean;
19
+ requirements: string;
20
+ metadata: string;
21
+ tenantId: string | null;
22
+ createdAt: Date;
23
+ updatedAt: Date;
24
+ constructor(options?: ContentGovernanceProfileOptions);
25
+ getRequirements(): ContentReviewRequirement[];
26
+ getMetadata(): Record<string, any>;
27
+ toDefinition(): ContentGovernanceProfileDefinition;
28
+ protected validateBeforeSave(): Promise<void>;
29
+ delete(): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=content-governance-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-governance-profile.d.ts","sourceRoot":"","sources":["../src/content-governance-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAS,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,wBAAwB,EAG9B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,+BAAgC,SAAQ,iBAAiB;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAAC;IACnD,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,wBAAyB,SAAQ,UAAU;IAEtD,GAAG,SAAM;IAET,KAAK,SAAM;IACX,WAAW,SAAM;IACjB,OAAO,UAAQ;IACf,YAAY,SAAQ;IACpB,QAAQ,SAAM;IAGd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,SAAS,OAAc;IACvB,SAAS,OAAc;gBAEX,OAAO,GAAE,+BAAoC;IA0BzD,eAAe,IAAI,wBAAwB,EAAE;IAY7C,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAYlC,YAAY,IAAI,kCAAkC;cAWzB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB7C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBvC"}
@@ -0,0 +1,7 @@
1
+ import { SmrtCollection } from '@happyvertical/smrt-core';
2
+ import { ContentGovernanceProfile } from './content-governance-profile';
3
+ export declare class ContentGovernanceProfileCollection extends SmrtCollection<ContentGovernanceProfile> {
4
+ static readonly _itemClass: typeof ContentGovernanceProfile;
5
+ getByKey(key: string): Promise<ContentGovernanceProfile | null>;
6
+ }
7
+ //# sourceMappingURL=content-governance-profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-governance-profiles.d.ts","sourceRoot":"","sources":["../src/content-governance-profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,qBAAa,kCAAmC,SAAQ,cAAc,CAAC,wBAAwB,CAAC;IAC9F,MAAM,CAAC,QAAQ,CAAC,UAAU,kCAA4B;IAEhD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;CAGtE"}
@@ -0,0 +1,188 @@
1
+ import { Fact, FactContentRelationship } from '@happyvertical/smrt-facts';
2
+ import { DatabaseInterface } from '@happyvertical/sql';
3
+ import { Content } from './content';
4
+ export type ContentReviewKind = 'facts' | 'safety' | 'custom';
5
+ export type ContentReviewStatus = 'pending' | 'passed' | 'flagged' | 'failed' | 'waived';
6
+ export type ContentReviewSeverity = 'info' | 'warning' | 'error';
7
+ export type ContentVersionKind = 'manual' | 'draft' | 'review' | 'publication' | 'correction';
8
+ export type ContentCorrectionType = 'fact' | 'safety' | 'copy' | 'custom';
9
+ export type ContentCorrectionStatus = 'draft' | 'published' | 'retracted';
10
+ export interface ContentReviewFinding {
11
+ severity: ContentReviewSeverity;
12
+ title: string;
13
+ detail: string;
14
+ factId?: string;
15
+ quote?: string;
16
+ suggestedChange?: string;
17
+ ruleId?: string;
18
+ }
19
+ export interface ContentReviewResult {
20
+ status: ContentReviewStatus;
21
+ summary: string;
22
+ findings: ContentReviewFinding[];
23
+ }
24
+ export interface ContentReviewRequirement {
25
+ policyKey: string;
26
+ label?: string;
27
+ blocking?: boolean;
28
+ acceptedStatuses?: ContentReviewStatus[];
29
+ }
30
+ export interface ContentReviewProfileEvaluationItem {
31
+ kind: ContentReviewKind;
32
+ policyKey: string;
33
+ label: string;
34
+ blocking: boolean;
35
+ acceptedStatuses: ContentReviewStatus[];
36
+ missing: boolean;
37
+ stale: boolean;
38
+ executed: boolean;
39
+ satisfied: boolean;
40
+ latestReviewId: string | null;
41
+ latestStatus: ContentReviewStatus | null;
42
+ latestSummary: string | null;
43
+ }
44
+ export interface ContentReviewProfileEvaluation {
45
+ profileKey: string;
46
+ ready: boolean;
47
+ complete: boolean;
48
+ requirements: ContentReviewProfileEvaluationItem[];
49
+ }
50
+ export interface ContentReviewPolicyDefinition {
51
+ key: string;
52
+ label: string;
53
+ kind: ContentReviewKind;
54
+ instructions: string;
55
+ enabled?: boolean;
56
+ metadata?: Record<string, any>;
57
+ }
58
+ export interface ContentGovernanceProfileDefinition {
59
+ key: string;
60
+ label: string;
61
+ description?: string;
62
+ enabled?: boolean;
63
+ requirements: ContentReviewRequirement[];
64
+ metadata?: Record<string, any>;
65
+ }
66
+ export interface ContentGovernanceAssignmentDefinition {
67
+ key?: string;
68
+ label?: string;
69
+ contentType: string;
70
+ contentVariant?: string | null;
71
+ enabled?: boolean;
72
+ factLinkingEnabled?: boolean;
73
+ transparencyEnabled?: boolean;
74
+ publicationProfileKey?: string | null;
75
+ correctionProfileKey?: string | null;
76
+ enforcePublishReadiness?: boolean;
77
+ defaultFactRelationship?: FactContentRelationship;
78
+ metadata?: Record<string, any>;
79
+ }
80
+ export interface ContentGovernanceConfig {
81
+ policies: ContentReviewPolicyDefinition[];
82
+ profiles: ContentGovernanceProfileDefinition[];
83
+ assignments: ContentGovernanceAssignmentDefinition[];
84
+ }
85
+ export interface PersistedContentGovernancePolicyRecord extends ContentReviewPolicyDefinition {
86
+ id?: string;
87
+ tenantId?: string | null;
88
+ createdAt?: string | null;
89
+ updatedAt?: string | null;
90
+ }
91
+ export interface PersistedContentGovernanceProfileRecord extends ContentGovernanceProfileDefinition {
92
+ id?: string;
93
+ tenantId?: string | null;
94
+ createdAt?: string | null;
95
+ updatedAt?: string | null;
96
+ }
97
+ export interface PersistedContentGovernanceAssignmentRecord extends ContentGovernanceAssignmentDefinition {
98
+ id?: string;
99
+ tenantId?: string | null;
100
+ createdAt?: string | null;
101
+ updatedAt?: string | null;
102
+ }
103
+ export interface PersistedContentGovernanceDefinitions {
104
+ policies: PersistedContentGovernancePolicyRecord[];
105
+ profiles: PersistedContentGovernanceProfileRecord[];
106
+ assignments: PersistedContentGovernanceAssignmentRecord[];
107
+ }
108
+ export interface ResolvedContentGovernance {
109
+ isGoverned: boolean;
110
+ factLinkingEnabled: boolean;
111
+ transparencyEnabled: boolean;
112
+ publicationProfileKey: string | null;
113
+ correctionProfileKey: string | null;
114
+ enforcePublishReadiness: boolean;
115
+ defaultFactRelationship: FactContentRelationship;
116
+ reviewPolicies: ContentReviewPolicyDefinition[];
117
+ availableProfiles: ContentGovernanceProfileDefinition[];
118
+ assignment: ContentGovernanceAssignmentDefinition | null;
119
+ }
120
+ export interface ContentGovernanceState extends ResolvedContentGovernance {
121
+ reviewProfiles: ContentReviewProfileEvaluation[];
122
+ }
123
+ export interface CreateContentVersionOptions {
124
+ kind?: ContentVersionKind;
125
+ summary?: string;
126
+ metadata?: Record<string, any>;
127
+ snapshot?: Record<string, any>;
128
+ }
129
+ export interface RunContentReviewOptions {
130
+ kind?: ContentReviewKind;
131
+ policyKey?: string;
132
+ reviewer?: string;
133
+ instructions?: string;
134
+ facts?: Fact[];
135
+ factIds?: string[];
136
+ metadata?: Record<string, any>;
137
+ createVersion?: boolean;
138
+ }
139
+ export interface IssueContentCorrectionOptions {
140
+ correctionType?: ContentCorrectionType;
141
+ factId?: string;
142
+ correctedFactText?: string;
143
+ summary: string;
144
+ incorrectText?: string;
145
+ correctedText?: string;
146
+ publicNote?: string;
147
+ metadata?: Record<string, any>;
148
+ createVersion?: boolean;
149
+ publish?: boolean;
150
+ }
151
+ export interface BuildContentReviewPromptOptions {
152
+ kind: ContentReviewKind;
153
+ content: Pick<Content, 'id' | 'type' | 'status' | 'state' | 'title' | 'description' | 'body' | 'author' | 'publish_date'>;
154
+ facts?: Fact[];
155
+ policy?: ContentReviewPolicyDefinition | null;
156
+ customInstructions?: string;
157
+ }
158
+ export interface ResolveContentGovernanceOptions {
159
+ contentType?: string | null;
160
+ contentVariant?: string | null;
161
+ db?: DatabaseInterface | null;
162
+ }
163
+ export declare function buildContentGovernanceAssignmentKey(contentType: string, contentVariant?: string | null): string;
164
+ export declare function getFallbackPolicyKind(key: string): ContentReviewKind;
165
+ export declare function loadPersistedContentGovernanceDefinitions(options?: {
166
+ db?: DatabaseInterface | null;
167
+ }): Promise<PersistedContentGovernanceDefinitions>;
168
+ export declare function getContentGovernanceConfig(): ContentGovernanceConfig;
169
+ export declare function getStaticContentGovernanceConfig(): ContentGovernanceConfig;
170
+ export declare function configureContentGovernance(config: Partial<ContentGovernanceConfig>): ContentGovernanceConfig;
171
+ export declare function resetContentGovernanceConfig(): ContentGovernanceConfig;
172
+ export declare function getEffectiveContentGovernanceConfig(options?: {
173
+ db?: DatabaseInterface | null;
174
+ }): Promise<ContentGovernanceConfig>;
175
+ export declare function hasStaticContentGovernancePolicy(key: string): boolean;
176
+ export declare function hasStaticContentGovernanceProfile(key: string): boolean;
177
+ export declare function getContentReviewPolicy(policyKey: string, policies?: ContentReviewPolicyDefinition[]): ContentReviewPolicyDefinition | null;
178
+ export declare function getContentReviewKind(policyKey: string, policies?: ContentReviewPolicyDefinition[]): ContentReviewKind;
179
+ export declare function getContentReviewProfile(profileKey: string, profiles?: ContentGovernanceProfileDefinition[]): ContentGovernanceProfileDefinition | null;
180
+ export declare function getContentReviewProfileKeys(profiles?: ContentGovernanceProfileDefinition[]): string[];
181
+ export declare function getContentReviewPolicies(policies?: ContentReviewPolicyDefinition[]): ContentReviewPolicyDefinition[];
182
+ export declare function getContentReviewRequirements(profileKey: string, profiles?: ContentGovernanceProfileDefinition[]): ContentReviewRequirement[];
183
+ export declare function getAcceptedContentReviewStatuses(requirement: Pick<ContentReviewRequirement, 'acceptedStatuses'>): ContentReviewStatus[];
184
+ export declare function resolveConfiguredContentGovernance(options: Pick<ResolveContentGovernanceOptions, 'contentType' | 'contentVariant'>): ResolvedContentGovernance;
185
+ export declare function resolveEffectiveContentGovernance(options: ResolveContentGovernanceOptions): Promise<ResolvedContentGovernance>;
186
+ export declare function buildContentReviewPrompt(options: BuildContentReviewPromptOptions): string;
187
+ export declare function parseContentReviewResponse(raw: string): ContentReviewResult;
188
+ //# sourceMappingURL=content-governance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-governance.d.ts","sourceRoot":"","sources":["../src/content-governance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ResolvedPromptAI } from '@happyvertical/smrt-prompts';
2
+ export declare const smrtContentReviewPrompt: import('@happyvertical/smrt-prompts').PromptDefinition;
3
+ export declare const smrtContentApplyCorrectionPrompt: import('@happyvertical/smrt-prompts').PromptDefinition;
4
+ export declare const smrtContentThumbnailAIGeneratePrompt: import('@happyvertical/smrt-prompts').PromptDefinition;
5
+ export declare function promptMessageOptions(ai: ResolvedPromptAI): {
6
+ maxTokens?: number | undefined;
7
+ temperature?: number | undefined;
8
+ model?: string | undefined;
9
+ };
10
+ //# sourceMappingURL=content-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-prompts.d.ts","sourceRoot":"","sources":["../src/content-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,uBAAuB,wDAoBlC,CAAC;AAEH,eAAO,MAAM,gCAAgC,wDAuB3C,CAAC;AAEH,eAAO,MAAM,oCAAoC,wDAS/C,CAAC;AAEH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,gBAAgB;;;;EASxD"}
@@ -0,0 +1,17 @@
1
+ import { SmrtObjectOptions, SmrtObject } from '@happyvertical/smrt-core';
2
+ export interface ContentReferenceOptions extends SmrtObjectOptions {
3
+ sourceId?: string;
4
+ targetId?: string;
5
+ tenantId?: string | null;
6
+ targetVersion?: number | null;
7
+ createdAt?: Date;
8
+ }
9
+ export declare class ContentReference extends SmrtObject {
10
+ tenantId: string | null;
11
+ sourceId: string;
12
+ targetId: string;
13
+ targetVersion: number | null;
14
+ createdAt: Date;
15
+ constructor(options?: ContentReferenceOptions);
16
+ }
17
+ //# sourceMappingURL=content-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-reference.d.ts","sourceRoot":"","sources":["../src/content-reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAqB,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AAG/E,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAKzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qBAKa,gBAAiB,SAAQ,UAAU;IAE9C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,QAAQ,SAAM;IAGd,QAAQ,SAAM;IAGd,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGpC,SAAS,OAAc;gBAEX,OAAO,GAAE,uBAA4B;CASlD"}
@@ -0,0 +1,55 @@
1
+ import { JunctionAttachOptions, SmrtCollectionOptions, SmrtJunction } from '@happyvertical/smrt-core';
2
+ import { ContentReference } from './content-reference';
3
+ export interface ContentReferencesOptions extends SmrtCollectionOptions {
4
+ }
5
+ /**
6
+ * The `attach()` override below restores find-or-create idempotency for
7
+ * `(sourceId, targetId)` — duplicate calls return the existing row
8
+ * unchanged, preserving `id` and `createdAt`. This matters because
9
+ * `ContentReference` rows are externally addressable via
10
+ * `/api/v1/contentreferences/[id]`.
11
+ *
12
+ * Two REST entry points (both auto-generated by the scanner):
13
+ * - `POST /api/v1/contentreferences` (from model CRUD) calls
14
+ * `collection.create()` which is upsert-based — id/createdAt get
15
+ * rewritten on conflict. Convenient for callers that don't care
16
+ * about row id stability.
17
+ * - `POST /api/v1/contentreferences/attach` (from the override below)
18
+ * is idempotent. Use this for stable URLs.
19
+ *
20
+ * Internal callers (`Content.addReference()`) always hit the idempotent
21
+ * path because they call the collection directly.
22
+ *
23
+ * The `/attach` route exists because R2 round-7 added `@smrt()` to this
24
+ * class, which made the scanner pick up the override as a custom
25
+ * collection method route. Pre-R2 had a `/link` route from the
26
+ * pre-rename method name.
27
+ */
28
+ export declare class ContentReferences extends SmrtJunction<ContentReference> {
29
+ static readonly _itemClass: typeof ContentReference;
30
+ protected leftField: string;
31
+ protected rightField: string;
32
+ protected sortField: string | null;
33
+ protected positionField: string | null;
34
+ getForSource(sourceId: string): Promise<ContentReference[]>;
35
+ getForTarget(targetId: string): Promise<ContentReference[]>;
36
+ /**
37
+ * Find-or-create idempotency: if a reference already exists for
38
+ * (sourceId, targetId), return the existing row unchanged instead of
39
+ * upserting a new row. This preserves the existing row's `id` and
40
+ * `createdAt`, which is important because reference rows are
41
+ * externally addressable via `/api/v1/contentreferences/[id]`.
42
+ *
43
+ * The base `SmrtJunction.attach` flow (this.create → db.upsert) would
44
+ * overwrite both columns on every duplicate call.
45
+ *
46
+ * Reference pinning (main): `opts.targetVersion` pins the citation to a
47
+ * specific `ContentVersion.version` for drift detection. Re-attaching an
48
+ * existing edge with a different `targetVersion` updates the pin in place;
49
+ * `undefined` leaves an existing pin untouched, while a brand-new row
50
+ * defaults the pin to `null` (unpinned).
51
+ */
52
+ attach(sourceId: string, targetId: string, opts?: JunctionAttachOptions): Promise<ContentReference>;
53
+ unlink(sourceId: string, targetId: string): Promise<void>;
54
+ }
55
+ //# sourceMappingURL=content-references.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-references.d.ts","sourceRoot":"","sources":["../src/content-references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAQ,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;CAAG;AAE1E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,qBACa,iBAAkB,SAAQ,YAAY,CAAC,gBAAgB,CAAC;IACnE,MAAM,CAAC,QAAQ,CAAC,UAAU,0BAAoB;IAC9C,SAAS,CAAC,SAAS,SAAc;IACjC,SAAS,CAAC,UAAU,SAAc;IAIlC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAe;IACjD,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAExC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAO3D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAOjE;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IAsBtB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
@@ -0,0 +1,34 @@
1
+ import { SmrtObjectOptions, SmrtObject } from '@happyvertical/smrt-core';
2
+ import { ContentReviewFinding, ContentReviewKind, ContentReviewStatus } from './content-governance';
3
+ export interface ContentReviewOptions extends SmrtObjectOptions {
4
+ contentId?: string;
5
+ contentVersionId?: string;
6
+ kind?: ContentReviewKind;
7
+ policyKey?: string;
8
+ status?: ContentReviewStatus;
9
+ summary?: string;
10
+ findings?: string | ContentReviewFinding[];
11
+ reviewer?: string;
12
+ metadata?: string | Record<string, any>;
13
+ tenantId?: string | null;
14
+ createdAt?: Date;
15
+ updatedAt?: Date;
16
+ }
17
+ export declare class ContentReview extends SmrtObject {
18
+ contentId: string;
19
+ contentVersionId: string;
20
+ kind: ContentReviewKind;
21
+ policyKey: string;
22
+ status: ContentReviewStatus;
23
+ summary: string;
24
+ findings: string;
25
+ reviewer: string;
26
+ metadata: string;
27
+ tenantId: string | null;
28
+ createdAt: Date;
29
+ updatedAt: Date;
30
+ constructor(options?: ContentReviewOptions);
31
+ getFindings(): ContentReviewFinding[];
32
+ getMetadata(): Record<string, any>;
33
+ }
34
+ //# sourceMappingURL=content-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-review.d.ts","sourceRoot":"","sources":["../src/content-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAc,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AAExE,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,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,qBAOa,aAAc,SAAQ,UAAU;IAE3C,SAAS,SAAM;IAGf,gBAAgB,SAAM;IACtB,IAAI,EAAE,iBAAiB,CAAY;IACnC,SAAS,SAAM;IACf,MAAM,EAAE,mBAAmB,CAAa;IACxC,OAAO,SAAM;IACb,QAAQ,SAAQ;IAChB,QAAQ,SAAY;IACpB,QAAQ,SAAM;IAGd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,SAAS,OAAc;IACvB,SAAS,OAAc;gBAEX,OAAO,GAAE,oBAAyB;IA6B9C,WAAW,IAAI,oBAAoB,EAAE;IAYrC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAWnC"}
@@ -0,0 +1,21 @@
1
+ import { SmrtCollection } from '@happyvertical/smrt-core';
2
+ import { ContentReviewKind, ContentReviewResult } from './content-governance';
3
+ import { ContentReview } from './content-review';
4
+ export declare class ContentReviewCollection extends SmrtCollection<ContentReview> {
5
+ static readonly _itemClass: typeof ContentReview;
6
+ listForContent(contentId: string, kind?: ContentReviewKind): Promise<ContentReview[]>;
7
+ getLatestForContent(contentId: string, kind?: ContentReviewKind): Promise<ContentReview | null>;
8
+ listForContentByPolicyKey(contentId: string, policyKey: string): Promise<ContentReview[]>;
9
+ getLatestForPolicyKey(contentId: string, policyKey: string): Promise<ContentReview | null>;
10
+ createFromResult(options: {
11
+ contentId: string;
12
+ contentVersionId?: string | null;
13
+ kind: ContentReviewKind;
14
+ policyKey: string;
15
+ reviewer?: string;
16
+ result: ContentReviewResult;
17
+ metadata?: Record<string, any>;
18
+ tenantId?: string | null;
19
+ }): Promise<ContentReview>;
20
+ }
21
+ //# sourceMappingURL=content-reviews.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-reviews.d.ts","sourceRoot":"","sources":["../src/content-reviews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBAAa,uBAAwB,SAAQ,cAAc,CAAC,aAAa,CAAC;IACxE,MAAM,CAAC,QAAQ,CAAC,UAAU,uBAAiB;IAErC,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,aAAa,EAAE,CAAC;IAOrB,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAK1B,yBAAyB,CAC7B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,EAAE,CAAC;IAOrB,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAK1B,gBAAgB,CAAC,OAAO,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,IAAI,EAAE,iBAAiB,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,mBAAmB,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC;CAc3B"}
@@ -0,0 +1,72 @@
1
+ export interface ContentTransparencyGeneration {
2
+ aiAssisted: boolean;
3
+ publicPrompt: string | null;
4
+ model: string | null;
5
+ }
6
+ export interface ContentTransparencySource {
7
+ id: string | null;
8
+ sourceType: string | null;
9
+ sourceUrl: string | null;
10
+ sourceTitle: string | null;
11
+ credibility: number | null;
12
+ extractedAt: string | null;
13
+ metadata: Record<string, any>;
14
+ }
15
+ export interface ContentTransparencyFact {
16
+ id: string | null;
17
+ textRaw?: string | null;
18
+ textRefined?: string | null;
19
+ status?: string | null;
20
+ domain?: string | null;
21
+ confidence?: number | null;
22
+ sourceCount?: number | null;
23
+ metadata?: Record<string, any>;
24
+ relationship?: string | null;
25
+ linkMetadata?: Record<string, any>;
26
+ usedInArticle?: boolean;
27
+ sources?: ContentTransparencySource[];
28
+ }
29
+ export interface ContentTransparencyReference {
30
+ id: string | null;
31
+ title: string | null;
32
+ url: string | null;
33
+ originalUrl: string | null;
34
+ type: string | null;
35
+ source: string | null;
36
+ usedFactIds: string[];
37
+ extractedFacts: ContentTransparencyFact[];
38
+ }
39
+ export interface ContentTransparencyPublicationVersion {
40
+ id: string | null;
41
+ version: number | null;
42
+ kind: string | null;
43
+ summary: string;
44
+ createdAt: string | null;
45
+ }
46
+ export interface ContentTransparencyVersionHistoryItem {
47
+ id: string | null;
48
+ version: number | null;
49
+ kind: string | null;
50
+ summary: string;
51
+ createdAt: string | null;
52
+ provenance: Record<string, any>;
53
+ }
54
+ export interface ContentTransparencyData {
55
+ generatedAt: string | null;
56
+ snapshotKind: 'preview' | 'published';
57
+ contentId: string | null;
58
+ currentContentStatus: string | null;
59
+ publicationProfileKey: string;
60
+ publicationVersion: ContentTransparencyPublicationVersion | null;
61
+ generation: ContentTransparencyGeneration;
62
+ factsUsed: ContentTransparencyFact[];
63
+ linkedFacts: ContentTransparencyFact[];
64
+ otherExtractedFacts: ContentTransparencyFact[];
65
+ references: ContentTransparencyReference[];
66
+ reviews: Record<string, any>[];
67
+ reviewProfiles: Record<string, any>[];
68
+ corrections: Record<string, any>[];
69
+ versionHistory: ContentTransparencyVersionHistoryItem[];
70
+ }
71
+ export declare function normalizeContentTransparency(value: unknown, defaults?: Partial<ContentTransparencyData>): ContentTransparencyData;
72
+ //# sourceMappingURL=content-transparency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-transparency.d.ts","sourceRoot":"","sources":["../src/content-transparency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { Content, ContentOptions } from './content';
2
+ /**
3
+ * Article content type
4
+ *
5
+ * Represents editorial content like blog posts, news articles, and written pieces.
6
+ */
7
+ export declare class Article extends Content {
8
+ constructor(options?: ContentOptions);
9
+ }
10
+ /**
11
+ * ContentDocument content type
12
+ *
13
+ * Represents structured documents like PDFs, reports, and technical documentation.
14
+ */
15
+ export declare class ContentDocument extends Content {
16
+ constructor(options?: ContentOptions);
17
+ }
18
+ export interface MirrorOptions extends ContentOptions {
19
+ feedSourceId?: string | null;
20
+ sourceGuid?: string | null;
21
+ sourceName?: string | null;
22
+ sourceHomepageUrl?: string | null;
23
+ externalUrl?: string | null;
24
+ originalPublishedAt?: Date | string | null;
25
+ dedupeKey?: string | null;
26
+ }
27
+ /**
28
+ * Mirror content type
29
+ *
30
+ * Represents mirrored/cached content from external feed or web sources.
31
+ */
32
+ export declare class Mirror extends Content {
33
+ feedSourceId: string | null;
34
+ sourceGuid: string | null;
35
+ sourceName: string | null;
36
+ sourceHomepageUrl: string | null;
37
+ externalUrl: string | null;
38
+ originalPublishedAt: Date | null;
39
+ dedupeKey: string | null;
40
+ constructor(options?: MirrorOptions);
41
+ protected transformJSON(json: Record<string, any>): {
42
+ feedSourceId: string | null;
43
+ sourceGuid: string | null;
44
+ sourceName: string | null;
45
+ sourceHomepageUrl: string | null;
46
+ externalUrl: string | null;
47
+ originalPublishedAt: string | null;
48
+ dedupeKey: string | null;
49
+ };
50
+ }
51
+ //# sourceMappingURL=content-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../src/content-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAEzD;;;;GAIG;AACH,qBAMa,OAAQ,SAAQ,OAAO;gBACtB,OAAO,GAAE,cAAmB;CAIzC;AAED;;;;GAIG;AACH,qBAMa,eAAgB,SAAQ,OAAO;gBAC9B,OAAO,GAAE,cAAmB;CAIzC;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAWD;;;;GAIG;AACH,qBAMa,MAAO,SAAQ,OAAO;IAEjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,mBAAmB,EAAE,IAAI,GAAG,IAAI,CAAQ;IACxC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAEpB,OAAO,GAAE,aAAkB;cAgBpB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;CAY3D"}
@@ -0,0 +1,38 @@
1
+ import { SmrtObjectOptions, SmrtObject } from '@happyvertical/smrt-core';
2
+ import { ContentVersionKind } from './content-governance';
3
+ export interface ContentVersionOptions extends SmrtObjectOptions {
4
+ contentId?: string;
5
+ version?: number;
6
+ kind?: ContentVersionKind;
7
+ title?: string;
8
+ description?: string;
9
+ body?: string;
10
+ status?: string;
11
+ summary?: string;
12
+ snapshot?: string | Record<string, any>;
13
+ metadata?: string | Record<string, any>;
14
+ tenantId?: string | null;
15
+ createdAt?: Date;
16
+ updatedAt?: Date;
17
+ }
18
+ export declare class ContentVersion extends SmrtObject {
19
+ contentId: string;
20
+ version: number;
21
+ kind: ContentVersionKind;
22
+ title: string;
23
+ description: string;
24
+ body: string;
25
+ status: string;
26
+ summary: string;
27
+ snapshot: string;
28
+ metadata: string;
29
+ tenantId: string | null;
30
+ createdAt: Date;
31
+ updatedAt: Date;
32
+ constructor(options?: ContentVersionOptions);
33
+ getSnapshot(): Record<string, any>;
34
+ getMetadata(): Record<string, any>;
35
+ getTransparency(): import('./content-transparency').ContentTransparencyData;
36
+ getTransparencyAction(): Promise<import('./content-transparency').ContentTransparencyData>;
37
+ }
38
+ //# sourceMappingURL=content-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-version.d.ts","sourceRoot":"","sources":["../src/content-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAc,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,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,qBAaa,cAAe,SAAQ,UAAU;IAE5C,SAAS,SAAM;IAEf,OAAO,SAAK;IACZ,IAAI,EAAE,kBAAkB,CAAY;IACpC,KAAK,SAAM;IACX,WAAW,SAAM;IACjB,IAAI,SAAM;IACV,MAAM,SAAW;IACjB,OAAO,SAAM;IACb,QAAQ,SAAQ;IAChB,QAAQ,SAAM;IAGd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,SAAS,OAAc;IACvB,SAAS,OAAc;gBAEX,OAAO,GAAE,qBAA0B;IA8B/C,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQlC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQlC,eAAe;IAoBT,qBAAqB;CAG5B"}
@@ -0,0 +1,16 @@
1
+ import { SmrtCollection } from '@happyvertical/smrt-core';
2
+ import { Content } from './content';
3
+ import { CreateContentVersionOptions } from './content-governance';
4
+ import { ContentVersion } from './content-version';
5
+ export declare class ContentVersionCollection extends SmrtCollection<ContentVersion> {
6
+ static readonly _itemClass: typeof ContentVersion;
7
+ private buildSnapshotFactRelationships;
8
+ listForContent(contentId: string): Promise<ContentVersion[]>;
9
+ getLatestForContent(contentId: string): Promise<ContentVersion | null>;
10
+ getLatestPublishedForContent(contentId: string): Promise<ContentVersion | null>;
11
+ getVersion(contentId: string, versionNumber: number): Promise<ContentVersion | null>;
12
+ getNextVersionNumber(contentId: string): Promise<number>;
13
+ createSnapshot(content: Content, options?: CreateContentVersionOptions): Promise<ContentVersion>;
14
+ restoreIntoContent(content: Content, versionNumber: number): Promise<Content>;
15
+ }
16
+ //# sourceMappingURL=content-versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-versions.d.ts","sourceRoot":"","sources":["../src/content-versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,wBAAyB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC1E,MAAM,CAAC,QAAQ,CAAC,UAAU,wBAAkB;IAE5C,OAAO,CAAC,8BAA8B;IA8ChC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAO5D,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAKtE,4BAA4B,CAChC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAY3B,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAO3B,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxD,cAAc,CAClB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,cAAc,CAAC;IAsFpB,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;CA2FpB"}