@happyvertical/smrt-content 0.57.35 → 0.57.37

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 (32) hide show
  1. package/AGENTS.md +1 -0
  2. package/dist/chunks/{content-corrections-BYT3Qdw5.js → content-corrections-QyinPkfN.js} +10 -3
  3. package/dist/chunks/content-corrections-QyinPkfN.js.map +1 -0
  4. package/dist/chunks/{content-query-jQhfFnhO.js → content-query-DxZAmAPW.js} +36 -37
  5. package/dist/chunks/content-query-DxZAmAPW.js.map +1 -0
  6. package/dist/chunks/{content-reviews-B6h2aJ9m.js → content-reviews-H9ANWEi7.js} +9 -3
  7. package/dist/chunks/content-reviews-H9ANWEi7.js.map +1 -0
  8. package/dist/chunks/{content-versions-BKAWUCzE.js → content-versions-D0VjHrvd.js} +10 -4
  9. package/dist/chunks/content-versions-D0VjHrvd.js.map +1 -0
  10. package/dist/chunks/{contents-DYBgt7rZ.js → contents-C9eZRig7.js} +2 -2
  11. package/dist/chunks/{contents-DYBgt7rZ.js.map → contents-C9eZRig7.js.map} +1 -1
  12. package/dist/content-contribution.d.ts.map +1 -1
  13. package/dist/content-contributor.d.ts.map +1 -1
  14. package/dist/content-correction.d.ts.map +1 -1
  15. package/dist/content-query.d.ts.map +1 -1
  16. package/dist/content-review.d.ts.map +1 -1
  17. package/dist/content-version.d.ts.map +1 -1
  18. package/dist/content.d.ts.map +1 -1
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +315 -11
  22. package/dist/index.js.map +1 -1
  23. package/dist/manifest.json +795 -59
  24. package/dist/recipes.d.ts +423 -0
  25. package/dist/recipes.d.ts.map +1 -0
  26. package/dist/server.js +1 -1
  27. package/dist/smrt-knowledge.json +613 -79
  28. package/package.json +24 -24
  29. package/dist/chunks/content-corrections-BYT3Qdw5.js.map +0 -1
  30. package/dist/chunks/content-query-jQhfFnhO.js.map +0 -1
  31. package/dist/chunks/content-reviews-B6h2aJ9m.js.map +0 -1
  32. package/dist/chunks/content-versions-BKAWUCzE.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-content",
5
- "packageVersion": "0.57.35",
5
+ "packageVersion": "0.57.37",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-content:ContentAsset": {
8
8
  "name": "contentasset",
@@ -1921,21 +1921,29 @@
1921
1921
  "type": "foreignKey",
1922
1922
  "required": true,
1923
1923
  "related": "ContentContributor",
1924
+ "description": "The person who sent this in.",
1924
1925
  "_meta": {
1926
+ "description": "The person who sent this in.",
1925
1927
  "required": true
1926
1928
  }
1927
1929
  },
1928
1930
  "contributionTypeKey": {
1929
1931
  "type": "text",
1930
1932
  "required": true,
1933
+ "description": "What kind of submission it is, such as an article or a letter.",
1931
1934
  "_meta": {
1932
- "required": true
1935
+ "required": true,
1936
+ "description": "What kind of submission it is, such as an article or a letter."
1933
1937
  }
1934
1938
  },
1935
1939
  "status": {
1936
1940
  "type": "text",
1937
1941
  "required": false,
1938
1942
  "default": "submitted",
1943
+ "description": "Where the submission stands, from submitted to approved, rejected or published.",
1944
+ "_meta": {
1945
+ "description": "Where the submission stands, from submitted to approved, rejected or published."
1946
+ },
1939
1947
  "enum": [
1940
1948
  "submitted",
1941
1949
  "quarantined",
@@ -1960,6 +1968,10 @@
1960
1968
  "type": "text",
1961
1969
  "required": false,
1962
1970
  "default": "web",
1971
+ "description": "How it arrived: through the website or by email.",
1972
+ "_meta": {
1973
+ "description": "How it arrived: through the website or by email."
1974
+ },
1963
1975
  "enum": [
1964
1976
  "web",
1965
1977
  "email"
@@ -1967,15 +1979,27 @@
1967
1979
  },
1968
1980
  "title": {
1969
1981
  "type": "text",
1970
- "required": false
1982
+ "required": false,
1983
+ "description": "The headline the contributor gave it.",
1984
+ "_meta": {
1985
+ "description": "The headline the contributor gave it."
1986
+ }
1971
1987
  },
1972
1988
  "description": {
1973
1989
  "type": "text",
1974
- "required": false
1990
+ "required": false,
1991
+ "description": "A short summary of the submission.",
1992
+ "_meta": {
1993
+ "description": "A short summary of the submission."
1994
+ }
1975
1995
  },
1976
1996
  "body": {
1977
1997
  "type": "text",
1978
- "required": false
1998
+ "required": false,
1999
+ "description": "The full text as it was sent in.",
2000
+ "_meta": {
2001
+ "description": "The full text as it was sent in."
2002
+ }
1979
2003
  },
1980
2004
  "contributorEmail": {
1981
2005
  "type": "text",
@@ -1983,7 +2007,11 @@
1983
2007
  },
1984
2008
  "contributorName": {
1985
2009
  "type": "text",
1986
- "required": false
2010
+ "required": false,
2011
+ "description": "The name the contributor gave.",
2012
+ "_meta": {
2013
+ "description": "The name the contributor gave."
2014
+ }
1987
2015
  },
1988
2016
  "threadKey": {
1989
2017
  "type": "text",
@@ -1996,7 +2024,11 @@
1996
2024
  },
1997
2025
  "editorNotes": {
1998
2026
  "type": "text",
1999
- "required": false
2027
+ "required": false,
2028
+ "description": "Notes from your team about this submission.",
2029
+ "_meta": {
2030
+ "description": "Notes from your team about this submission."
2031
+ }
2000
2032
  },
2001
2033
  "promotedContentId": {
2002
2034
  "type": "foreignKey",
@@ -2841,18 +2873,28 @@
2841
2873
  "email": {
2842
2874
  "type": "text",
2843
2875
  "required": true,
2876
+ "description": "The email address the contributor writes in from.",
2844
2877
  "_meta": {
2845
- "required": true
2878
+ "required": true,
2879
+ "description": "The email address the contributor writes in from."
2846
2880
  }
2847
2881
  },
2848
2882
  "name": {
2849
2883
  "type": "text",
2850
- "required": false
2884
+ "required": false,
2885
+ "description": "The name the contributor goes by.",
2886
+ "_meta": {
2887
+ "description": "The name the contributor goes by."
2888
+ }
2851
2889
  },
2852
2890
  "trustLevel": {
2853
2891
  "type": "text",
2854
2892
  "required": false,
2855
2893
  "default": "standard",
2894
+ "description": "How far you trust what they send in: standard, trusted or blocked.",
2895
+ "_meta": {
2896
+ "description": "How far you trust what they send in: standard, trusted or blocked."
2897
+ },
2856
2898
  "enum": [
2857
2899
  "standard",
2858
2900
  "trusted",
@@ -3247,7 +3289,9 @@
3247
3289
  "type": "foreignKey",
3248
3290
  "required": true,
3249
3291
  "related": "Content",
3292
+ "description": "The piece being corrected.",
3250
3293
  "_meta": {
3294
+ "description": "The piece being corrected.",
3251
3295
  "required": true,
3252
3296
  "onDelete": "CASCADE"
3253
3297
  }
@@ -3274,6 +3318,10 @@
3274
3318
  "type": "text",
3275
3319
  "required": false,
3276
3320
  "default": "fact",
3321
+ "description": "What kind of mistake it fixes: a fact, a safety concern, wording or something else.",
3322
+ "_meta": {
3323
+ "description": "What kind of mistake it fixes: a fact, a safety concern, wording or something else."
3324
+ },
3277
3325
  "enum": [
3278
3326
  "fact",
3279
3327
  "safety",
@@ -3285,6 +3333,10 @@
3285
3333
  "type": "text",
3286
3334
  "required": false,
3287
3335
  "default": "draft",
3336
+ "description": "Where the correction stands: a draft, published or retracted.",
3337
+ "_meta": {
3338
+ "description": "Where the correction stands: a draft, published or retracted."
3339
+ },
3288
3340
  "enum": [
3289
3341
  "draft",
3290
3342
  "published",
@@ -3293,19 +3345,35 @@
3293
3345
  },
3294
3346
  "summary": {
3295
3347
  "type": "text",
3296
- "required": false
3348
+ "required": false,
3349
+ "description": "A short note on what was wrong and how it was fixed.",
3350
+ "_meta": {
3351
+ "description": "A short note on what was wrong and how it was fixed."
3352
+ }
3297
3353
  },
3298
3354
  "incorrectText": {
3299
3355
  "type": "text",
3300
- "required": false
3356
+ "required": false,
3357
+ "description": "The wording that was wrong.",
3358
+ "_meta": {
3359
+ "description": "The wording that was wrong."
3360
+ }
3301
3361
  },
3302
3362
  "correctedText": {
3303
3363
  "type": "text",
3304
- "required": false
3364
+ "required": false,
3365
+ "description": "The wording that replaces it.",
3366
+ "_meta": {
3367
+ "description": "The wording that replaces it."
3368
+ }
3305
3369
  },
3306
3370
  "publicNote": {
3307
3371
  "type": "text",
3308
- "required": false
3372
+ "required": false,
3373
+ "description": "The note readers see about this correction.",
3374
+ "_meta": {
3375
+ "description": "The note readers see about this correction."
3376
+ }
3309
3377
  },
3310
3378
  "metadata": {
3311
3379
  "type": "text",
@@ -3331,7 +3399,11 @@
3331
3399
  },
3332
3400
  "publishedAt": {
3333
3401
  "type": "datetime",
3334
- "required": false
3402
+ "required": false,
3403
+ "description": "When the correction was made public.",
3404
+ "_meta": {
3405
+ "description": "When the correction was made public."
3406
+ }
3335
3407
  },
3336
3408
  "createdAt": {
3337
3409
  "type": "text",
@@ -6156,7 +6228,9 @@
6156
6228
  "type": "foreignKey",
6157
6229
  "required": true,
6158
6230
  "related": "Content",
6231
+ "description": "The piece that was reviewed.",
6159
6232
  "_meta": {
6233
+ "description": "The piece that was reviewed.",
6160
6234
  "required": true,
6161
6235
  "onDelete": "CASCADE"
6162
6236
  }
@@ -6173,6 +6247,10 @@
6173
6247
  "type": "text",
6174
6248
  "required": false,
6175
6249
  "default": "custom",
6250
+ "description": "What the review checked: facts, safety or a custom policy.",
6251
+ "_meta": {
6252
+ "description": "What the review checked: facts, safety or a custom policy."
6253
+ },
6176
6254
  "enum": [
6177
6255
  "facts",
6178
6256
  "safety",
@@ -6181,12 +6259,20 @@
6181
6259
  },
6182
6260
  "policyKey": {
6183
6261
  "type": "text",
6184
- "required": false
6262
+ "required": false,
6263
+ "description": "The policy the piece was checked against.",
6264
+ "_meta": {
6265
+ "description": "The policy the piece was checked against."
6266
+ }
6185
6267
  },
6186
6268
  "status": {
6187
6269
  "type": "text",
6188
6270
  "required": false,
6189
6271
  "default": "pending",
6272
+ "description": "The outcome: pending, passed, flagged, failed or waived.",
6273
+ "_meta": {
6274
+ "description": "The outcome: pending, passed, flagged, failed or waived."
6275
+ },
6190
6276
  "enum": [
6191
6277
  "pending",
6192
6278
  "passed",
@@ -6197,7 +6283,11 @@
6197
6283
  },
6198
6284
  "summary": {
6199
6285
  "type": "text",
6200
- "required": false
6286
+ "required": false,
6287
+ "description": "A short account of what the review found.",
6288
+ "_meta": {
6289
+ "description": "A short account of what the review found."
6290
+ }
6201
6291
  },
6202
6292
  "findings": {
6203
6293
  "type": "text",
@@ -6205,7 +6295,11 @@
6205
6295
  },
6206
6296
  "reviewer": {
6207
6297
  "type": "text",
6208
- "required": false
6298
+ "required": false,
6299
+ "description": "Who or what carried out the review.",
6300
+ "_meta": {
6301
+ "description": "Who or what carried out the review."
6302
+ }
6209
6303
  },
6210
6304
  "metadata": {
6211
6305
  "type": "text",
@@ -6231,7 +6325,11 @@
6231
6325
  },
6232
6326
  "createdAt": {
6233
6327
  "type": "text",
6234
- "required": false
6328
+ "required": false,
6329
+ "description": "When the review was done.",
6330
+ "_meta": {
6331
+ "description": "When the review was done."
6332
+ }
6235
6333
  },
6236
6334
  "updatedAt": {
6237
6335
  "type": "text",
@@ -6724,7 +6822,11 @@
6724
6822
  },
6725
6823
  "type": {
6726
6824
  "type": "text",
6727
- "required": false
6825
+ "required": false,
6826
+ "description": "What kind of piece this is, such as an article or a document.",
6827
+ "_meta": {
6828
+ "description": "What kind of piece this is, such as an article or a document."
6829
+ }
6728
6830
  },
6729
6831
  "variant": {
6730
6832
  "type": "text",
@@ -6736,27 +6838,45 @@
6736
6838
  },
6737
6839
  "author": {
6738
6840
  "type": "text",
6739
- "required": false
6841
+ "required": false,
6842
+ "description": "Who wrote this piece.",
6843
+ "_meta": {
6844
+ "description": "Who wrote this piece."
6845
+ }
6740
6846
  },
6741
6847
  "name": {
6742
6848
  "type": "text",
6743
6849
  "required": true,
6744
6850
  "default": "",
6851
+ "description": "A short name used to find this piece in lists.",
6745
6852
  "_meta": {
6746
- "required": true
6853
+ "required": true,
6854
+ "description": "A short name used to find this piece in lists."
6747
6855
  }
6748
6856
  },
6749
6857
  "title": {
6750
6858
  "type": "text",
6751
- "required": false
6859
+ "required": false,
6860
+ "description": "The headline readers see.",
6861
+ "_meta": {
6862
+ "description": "The headline readers see."
6863
+ }
6752
6864
  },
6753
6865
  "description": {
6754
6866
  "type": "text",
6755
- "required": false
6867
+ "required": false,
6868
+ "description": "A one or two sentence summary of the piece.",
6869
+ "_meta": {
6870
+ "description": "A one or two sentence summary of the piece."
6871
+ }
6756
6872
  },
6757
6873
  "body": {
6758
6874
  "type": "text",
6759
- "required": false
6875
+ "required": false,
6876
+ "description": "The full text of the piece.",
6877
+ "_meta": {
6878
+ "description": "The full text of the piece."
6879
+ }
6760
6880
  },
6761
6881
  "bodyFormat": {
6762
6882
  "type": "text",
@@ -6768,7 +6888,11 @@
6768
6888
  },
6769
6889
  "publish_date": {
6770
6890
  "type": "datetime",
6771
- "required": false
6891
+ "required": false,
6892
+ "description": "The date the piece went out, or is due to go out.",
6893
+ "_meta": {
6894
+ "description": "The date the piece went out, or is due to go out."
6895
+ }
6772
6896
  },
6773
6897
  "url": {
6774
6898
  "type": "text",
@@ -6789,16 +6913,28 @@
6789
6913
  "tags": {
6790
6914
  "type": "json",
6791
6915
  "required": false,
6792
- "default": []
6916
+ "default": [],
6917
+ "description": "Words that group pieces by subject.",
6918
+ "_meta": {
6919
+ "description": "Words that group pieces by subject."
6920
+ }
6793
6921
  },
6794
6922
  "category": {
6795
6923
  "type": "text",
6796
- "required": false
6924
+ "required": false,
6925
+ "description": "The one section the piece belongs to, such as news or local.",
6926
+ "_meta": {
6927
+ "description": "The one section the piece belongs to, such as news or local."
6928
+ }
6797
6929
  },
6798
6930
  "status": {
6799
6931
  "type": "text",
6800
6932
  "required": false,
6801
6933
  "default": "draft",
6934
+ "description": "Where the piece stands: draft, in review, published or archived.",
6935
+ "_meta": {
6936
+ "description": "Where the piece stands: draft, in review, published or archived."
6937
+ },
6802
6938
  "enum": [
6803
6939
  "published",
6804
6940
  "draft",
@@ -8030,7 +8166,11 @@
8030
8166
  },
8031
8167
  "type": {
8032
8168
  "type": "text",
8033
- "required": false
8169
+ "required": false,
8170
+ "description": "What kind of piece this is, such as an article or a document.",
8171
+ "_meta": {
8172
+ "description": "What kind of piece this is, such as an article or a document."
8173
+ }
8034
8174
  },
8035
8175
  "variant": {
8036
8176
  "type": "text",
@@ -8042,27 +8182,45 @@
8042
8182
  },
8043
8183
  "author": {
8044
8184
  "type": "text",
8045
- "required": false
8185
+ "required": false,
8186
+ "description": "Who wrote this piece.",
8187
+ "_meta": {
8188
+ "description": "Who wrote this piece."
8189
+ }
8046
8190
  },
8047
8191
  "name": {
8048
8192
  "type": "text",
8049
8193
  "required": true,
8050
8194
  "default": "",
8195
+ "description": "A short name used to find this piece in lists.",
8051
8196
  "_meta": {
8052
- "required": true
8197
+ "required": true,
8198
+ "description": "A short name used to find this piece in lists."
8053
8199
  }
8054
8200
  },
8055
8201
  "title": {
8056
8202
  "type": "text",
8057
- "required": false
8203
+ "required": false,
8204
+ "description": "The headline readers see.",
8205
+ "_meta": {
8206
+ "description": "The headline readers see."
8207
+ }
8058
8208
  },
8059
8209
  "description": {
8060
8210
  "type": "text",
8061
- "required": false
8211
+ "required": false,
8212
+ "description": "A one or two sentence summary of the piece.",
8213
+ "_meta": {
8214
+ "description": "A one or two sentence summary of the piece."
8215
+ }
8062
8216
  },
8063
8217
  "body": {
8064
8218
  "type": "text",
8065
- "required": false
8219
+ "required": false,
8220
+ "description": "The full text of the piece.",
8221
+ "_meta": {
8222
+ "description": "The full text of the piece."
8223
+ }
8066
8224
  },
8067
8225
  "bodyFormat": {
8068
8226
  "type": "text",
@@ -8074,7 +8232,11 @@
8074
8232
  },
8075
8233
  "publish_date": {
8076
8234
  "type": "datetime",
8077
- "required": false
8235
+ "required": false,
8236
+ "description": "The date the piece went out, or is due to go out.",
8237
+ "_meta": {
8238
+ "description": "The date the piece went out, or is due to go out."
8239
+ }
8078
8240
  },
8079
8241
  "url": {
8080
8242
  "type": "text",
@@ -8095,16 +8257,28 @@
8095
8257
  "tags": {
8096
8258
  "type": "json",
8097
8259
  "required": false,
8098
- "default": []
8260
+ "default": [],
8261
+ "description": "Words that group pieces by subject.",
8262
+ "_meta": {
8263
+ "description": "Words that group pieces by subject."
8264
+ }
8099
8265
  },
8100
8266
  "category": {
8101
8267
  "type": "text",
8102
- "required": false
8268
+ "required": false,
8269
+ "description": "The one section the piece belongs to, such as news or local.",
8270
+ "_meta": {
8271
+ "description": "The one section the piece belongs to, such as news or local."
8272
+ }
8103
8273
  },
8104
8274
  "status": {
8105
8275
  "type": "text",
8106
8276
  "required": false,
8107
8277
  "default": "draft",
8278
+ "description": "Where the piece stands: draft, in review, published or archived.",
8279
+ "_meta": {
8280
+ "description": "Where the piece stands: draft, in review, published or archived."
8281
+ },
8108
8282
  "enum": [
8109
8283
  "published",
8110
8284
  "draft",
@@ -9336,7 +9510,11 @@
9336
9510
  },
9337
9511
  "type": {
9338
9512
  "type": "text",
9339
- "required": false
9513
+ "required": false,
9514
+ "description": "What kind of piece this is, such as an article or a document.",
9515
+ "_meta": {
9516
+ "description": "What kind of piece this is, such as an article or a document."
9517
+ }
9340
9518
  },
9341
9519
  "variant": {
9342
9520
  "type": "text",
@@ -9348,27 +9526,45 @@
9348
9526
  },
9349
9527
  "author": {
9350
9528
  "type": "text",
9351
- "required": false
9529
+ "required": false,
9530
+ "description": "Who wrote this piece.",
9531
+ "_meta": {
9532
+ "description": "Who wrote this piece."
9533
+ }
9352
9534
  },
9353
9535
  "name": {
9354
9536
  "type": "text",
9355
9537
  "required": true,
9356
9538
  "default": "",
9539
+ "description": "A short name used to find this piece in lists.",
9357
9540
  "_meta": {
9358
- "required": true
9541
+ "required": true,
9542
+ "description": "A short name used to find this piece in lists."
9359
9543
  }
9360
9544
  },
9361
9545
  "title": {
9362
9546
  "type": "text",
9363
- "required": false
9547
+ "required": false,
9548
+ "description": "The headline readers see.",
9549
+ "_meta": {
9550
+ "description": "The headline readers see."
9551
+ }
9364
9552
  },
9365
9553
  "description": {
9366
9554
  "type": "text",
9367
- "required": false
9555
+ "required": false,
9556
+ "description": "A one or two sentence summary of the piece.",
9557
+ "_meta": {
9558
+ "description": "A one or two sentence summary of the piece."
9559
+ }
9368
9560
  },
9369
9561
  "body": {
9370
9562
  "type": "text",
9371
- "required": false
9563
+ "required": false,
9564
+ "description": "The full text of the piece.",
9565
+ "_meta": {
9566
+ "description": "The full text of the piece."
9567
+ }
9372
9568
  },
9373
9569
  "bodyFormat": {
9374
9570
  "type": "text",
@@ -9380,7 +9576,11 @@
9380
9576
  },
9381
9577
  "publish_date": {
9382
9578
  "type": "datetime",
9383
- "required": false
9579
+ "required": false,
9580
+ "description": "The date the piece went out, or is due to go out.",
9581
+ "_meta": {
9582
+ "description": "The date the piece went out, or is due to go out."
9583
+ }
9384
9584
  },
9385
9585
  "url": {
9386
9586
  "type": "text",
@@ -9401,16 +9601,28 @@
9401
9601
  "tags": {
9402
9602
  "type": "json",
9403
9603
  "required": false,
9404
- "default": []
9604
+ "default": [],
9605
+ "description": "Words that group pieces by subject.",
9606
+ "_meta": {
9607
+ "description": "Words that group pieces by subject."
9608
+ }
9405
9609
  },
9406
9610
  "category": {
9407
9611
  "type": "text",
9408
- "required": false
9612
+ "required": false,
9613
+ "description": "The one section the piece belongs to, such as news or local.",
9614
+ "_meta": {
9615
+ "description": "The one section the piece belongs to, such as news or local."
9616
+ }
9409
9617
  },
9410
9618
  "status": {
9411
9619
  "type": "text",
9412
9620
  "required": false,
9413
9621
  "default": "draft",
9622
+ "description": "Where the piece stands: draft, in review, published or archived.",
9623
+ "_meta": {
9624
+ "description": "Where the piece stands: draft, in review, published or archived."
9625
+ },
9414
9626
  "enum": [
9415
9627
  "published",
9416
9628
  "draft",
@@ -10649,7 +10861,9 @@
10649
10861
  "type": "foreignKey",
10650
10862
  "required": true,
10651
10863
  "related": "Content",
10864
+ "description": "The piece this version belongs to.",
10652
10865
  "_meta": {
10866
+ "description": "The piece this version belongs to.",
10653
10867
  "required": true,
10654
10868
  "onDelete": "CASCADE"
10655
10869
  }
@@ -10657,12 +10871,20 @@
10657
10871
  "version": {
10658
10872
  "type": "integer",
10659
10873
  "required": true,
10660
- "default": 1
10874
+ "default": 1,
10875
+ "description": "The number of this version, counting up from one.",
10876
+ "_meta": {
10877
+ "description": "The number of this version, counting up from one."
10878
+ }
10661
10879
  },
10662
10880
  "kind": {
10663
10881
  "type": "text",
10664
10882
  "required": false,
10665
10883
  "default": "manual",
10884
+ "description": "Why the version was saved: a draft, a review, a publication or a correction.",
10885
+ "_meta": {
10886
+ "description": "Why the version was saved: a draft, a review, a publication or a correction."
10887
+ },
10666
10888
  "enum": [
10667
10889
  "manual",
10668
10890
  "draft",
@@ -10674,7 +10896,11 @@
10674
10896
  },
10675
10897
  "title": {
10676
10898
  "type": "text",
10677
- "required": false
10899
+ "required": false,
10900
+ "description": "The headline as it was in this version.",
10901
+ "_meta": {
10902
+ "description": "The headline as it was in this version."
10903
+ }
10678
10904
  },
10679
10905
  "description": {
10680
10906
  "type": "text",
@@ -10686,11 +10912,19 @@
10686
10912
  },
10687
10913
  "status": {
10688
10914
  "type": "text",
10689
- "required": false
10915
+ "required": false,
10916
+ "description": "Where the piece stood when this version was saved.",
10917
+ "_meta": {
10918
+ "description": "Where the piece stood when this version was saved."
10919
+ }
10690
10920
  },
10691
10921
  "summary": {
10692
10922
  "type": "text",
10693
- "required": false
10923
+ "required": false,
10924
+ "description": "A short note on what changed in this version.",
10925
+ "_meta": {
10926
+ "description": "A short note on what changed in this version."
10927
+ }
10694
10928
  },
10695
10929
  "snapshot": {
10696
10930
  "type": "text",
@@ -10720,7 +10954,11 @@
10720
10954
  },
10721
10955
  "createdAt": {
10722
10956
  "type": "text",
10723
- "required": false
10957
+ "required": false,
10958
+ "description": "When this version was saved.",
10959
+ "_meta": {
10960
+ "description": "When this version was saved."
10961
+ }
10724
10962
  },
10725
10963
  "updatedAt": {
10726
10964
  "type": "text",
@@ -11236,7 +11474,11 @@
11236
11474
  },
11237
11475
  "type": {
11238
11476
  "type": "text",
11239
- "required": false
11477
+ "required": false,
11478
+ "description": "What kind of piece this is, such as an article or a document.",
11479
+ "_meta": {
11480
+ "description": "What kind of piece this is, such as an article or a document."
11481
+ }
11240
11482
  },
11241
11483
  "variant": {
11242
11484
  "type": "text",
@@ -11248,27 +11490,45 @@
11248
11490
  },
11249
11491
  "author": {
11250
11492
  "type": "text",
11251
- "required": false
11493
+ "required": false,
11494
+ "description": "Who wrote this piece.",
11495
+ "_meta": {
11496
+ "description": "Who wrote this piece."
11497
+ }
11252
11498
  },
11253
11499
  "name": {
11254
11500
  "type": "text",
11255
11501
  "required": true,
11256
11502
  "default": "",
11503
+ "description": "A short name used to find this piece in lists.",
11257
11504
  "_meta": {
11258
- "required": true
11505
+ "required": true,
11506
+ "description": "A short name used to find this piece in lists."
11259
11507
  }
11260
11508
  },
11261
11509
  "title": {
11262
11510
  "type": "text",
11263
- "required": false
11511
+ "required": false,
11512
+ "description": "The headline readers see.",
11513
+ "_meta": {
11514
+ "description": "The headline readers see."
11515
+ }
11264
11516
  },
11265
11517
  "description": {
11266
11518
  "type": "text",
11267
- "required": false
11519
+ "required": false,
11520
+ "description": "A one or two sentence summary of the piece.",
11521
+ "_meta": {
11522
+ "description": "A one or two sentence summary of the piece."
11523
+ }
11268
11524
  },
11269
11525
  "body": {
11270
11526
  "type": "text",
11271
- "required": false
11527
+ "required": false,
11528
+ "description": "The full text of the piece.",
11529
+ "_meta": {
11530
+ "description": "The full text of the piece."
11531
+ }
11272
11532
  },
11273
11533
  "bodyFormat": {
11274
11534
  "type": "text",
@@ -11280,7 +11540,11 @@
11280
11540
  },
11281
11541
  "publish_date": {
11282
11542
  "type": "datetime",
11283
- "required": false
11543
+ "required": false,
11544
+ "description": "The date the piece went out, or is due to go out.",
11545
+ "_meta": {
11546
+ "description": "The date the piece went out, or is due to go out."
11547
+ }
11284
11548
  },
11285
11549
  "url": {
11286
11550
  "type": "text",
@@ -11301,16 +11565,28 @@
11301
11565
  "tags": {
11302
11566
  "type": "json",
11303
11567
  "required": false,
11304
- "default": []
11568
+ "default": [],
11569
+ "description": "Words that group pieces by subject.",
11570
+ "_meta": {
11571
+ "description": "Words that group pieces by subject."
11572
+ }
11305
11573
  },
11306
11574
  "category": {
11307
11575
  "type": "text",
11308
- "required": false
11576
+ "required": false,
11577
+ "description": "The one section the piece belongs to, such as news or local.",
11578
+ "_meta": {
11579
+ "description": "The one section the piece belongs to, such as news or local."
11580
+ }
11309
11581
  },
11310
11582
  "status": {
11311
11583
  "type": "text",
11312
11584
  "required": false,
11313
11585
  "default": "draft",
11586
+ "description": "Where the piece stands: draft, in review, published or archived.",
11587
+ "_meta": {
11588
+ "description": "Where the piece stands: draft, in review, published or archived."
11589
+ },
11314
11590
  "enum": [
11315
11591
  "published",
11316
11592
  "draft",
@@ -13132,6 +13408,466 @@
13132
13408
  }
13133
13409
  },
13134
13410
  "moduleType": "smrt",
13411
+ "recipes": [
13412
+ {
13413
+ "id": "content.articles",
13414
+ "className": "ArticlesRecipe",
13415
+ "label": "Articles",
13416
+ "summary": "Write articles, publish them, and keep a record of every change, review and correction.",
13417
+ "synonyms": [
13418
+ "articles",
13419
+ "posts",
13420
+ "blog",
13421
+ "news",
13422
+ "stories",
13423
+ "drafts",
13424
+ "publishing"
13425
+ ],
13426
+ "models": [
13427
+ "@happyvertical/smrt-content:Content",
13428
+ "@happyvertical/smrt-content:ContentVersion",
13429
+ "@happyvertical/smrt-content:ContentCorrection",
13430
+ "@happyvertical/smrt-content:ContentReview",
13431
+ "@happyvertical/smrt-content:ContentContribution",
13432
+ "@happyvertical/smrt-content:ContentContributor"
13433
+ ],
13434
+ "nav": [
13435
+ {
13436
+ "label": "Articles",
13437
+ "model": "@happyvertical/smrt-content:Content",
13438
+ "icon": "fileText",
13439
+ "description": "Every article, from first draft to published.",
13440
+ "key": "articles",
13441
+ "noun": "article",
13442
+ "filter": {
13443
+ "field": "type",
13444
+ "value": "article"
13445
+ }
13446
+ },
13447
+ {
13448
+ "label": "Versions",
13449
+ "model": "@happyvertical/smrt-content:ContentVersion",
13450
+ "icon": "layers",
13451
+ "description": "Each saved state of an article, so nothing is lost.",
13452
+ "noun": "version"
13453
+ },
13454
+ {
13455
+ "label": "Corrections",
13456
+ "model": "@happyvertical/smrt-content:ContentCorrection",
13457
+ "icon": "wrench",
13458
+ "description": "Fixes made to an article after it went out.",
13459
+ "noun": "correction"
13460
+ },
13461
+ {
13462
+ "label": "Reviews",
13463
+ "model": "@happyvertical/smrt-content:ContentReview",
13464
+ "icon": "book",
13465
+ "description": "What the checks found before an article went out.",
13466
+ "noun": "review"
13467
+ },
13468
+ {
13469
+ "label": "Contributions",
13470
+ "model": "@happyvertical/smrt-content:ContentContribution",
13471
+ "icon": "users",
13472
+ "description": "Pieces sent in by readers and outside writers.",
13473
+ "noun": "contribution"
13474
+ }
13475
+ ],
13476
+ "requires": [],
13477
+ "section": {
13478
+ "id": "publish",
13479
+ "label": "Publish",
13480
+ "icon": "fileText",
13481
+ "description": "What you write, record and put out."
13482
+ },
13483
+ "options": {
13484
+ "@happyvertical/smrt-content:Content": {
13485
+ "fields": {
13486
+ "title": {
13487
+ "order": 1
13488
+ },
13489
+ "name": {
13490
+ "label": "Short name",
13491
+ "order": 2
13492
+ },
13493
+ "type": {
13494
+ "label": "Kind",
13495
+ "order": 3,
13496
+ "default": "article"
13497
+ },
13498
+ "status": {
13499
+ "order": 4
13500
+ },
13501
+ "description": {
13502
+ "label": "Summary",
13503
+ "order": 5
13504
+ },
13505
+ "body": {
13506
+ "order": 6
13507
+ },
13508
+ "author": {
13509
+ "order": 7
13510
+ },
13511
+ "publish_date": {
13512
+ "label": "Published on",
13513
+ "order": 8
13514
+ },
13515
+ "category": {
13516
+ "label": "Section",
13517
+ "order": 9
13518
+ },
13519
+ "tags": {
13520
+ "order": 10
13521
+ },
13522
+ "language": {
13523
+ "visibility": "advanced"
13524
+ },
13525
+ "state": {
13526
+ "visibility": "advanced"
13527
+ },
13528
+ "url": {
13529
+ "label": "Web address",
13530
+ "visibility": "advanced"
13531
+ },
13532
+ "source": {
13533
+ "visibility": "advanced"
13534
+ },
13535
+ "original_url": {
13536
+ "label": "Original web address",
13537
+ "visibility": "advanced"
13538
+ },
13539
+ "thumbnailAssetId": {
13540
+ "label": "Picture",
13541
+ "visibility": "advanced"
13542
+ },
13543
+ "tenantId": {
13544
+ "visibility": "hidden"
13545
+ },
13546
+ "variant": {
13547
+ "visibility": "hidden"
13548
+ },
13549
+ "fileKey": {
13550
+ "visibility": "hidden"
13551
+ },
13552
+ "bodyFormat": {
13553
+ "visibility": "hidden"
13554
+ },
13555
+ "metadata": {
13556
+ "visibility": "hidden"
13557
+ }
13558
+ }
13559
+ },
13560
+ "@happyvertical/smrt-content:ContentVersion": {
13561
+ "fields": {
13562
+ "contentId": {
13563
+ "label": "Article",
13564
+ "order": 1
13565
+ },
13566
+ "version": {
13567
+ "label": "Version number",
13568
+ "order": 2
13569
+ },
13570
+ "kind": {
13571
+ "order": 3
13572
+ },
13573
+ "summary": {
13574
+ "order": 4
13575
+ },
13576
+ "title": {
13577
+ "order": 5
13578
+ },
13579
+ "status": {
13580
+ "order": 6
13581
+ },
13582
+ "createdAt": {
13583
+ "label": "Saved on",
13584
+ "order": 7
13585
+ },
13586
+ "description": {
13587
+ "label": "Summary at the time",
13588
+ "visibility": "advanced"
13589
+ },
13590
+ "body": {
13591
+ "label": "Text at the time",
13592
+ "visibility": "advanced"
13593
+ },
13594
+ "tenantId": {
13595
+ "visibility": "hidden"
13596
+ },
13597
+ "snapshot": {
13598
+ "visibility": "hidden"
13599
+ },
13600
+ "metadata": {
13601
+ "visibility": "hidden"
13602
+ },
13603
+ "updatedAt": {
13604
+ "visibility": "hidden"
13605
+ }
13606
+ }
13607
+ },
13608
+ "@happyvertical/smrt-content:ContentCorrection": {
13609
+ "fields": {
13610
+ "contentId": {
13611
+ "label": "Article",
13612
+ "order": 1
13613
+ },
13614
+ "correctionType": {
13615
+ "label": "Kind",
13616
+ "order": 2
13617
+ },
13618
+ "status": {
13619
+ "order": 3
13620
+ },
13621
+ "summary": {
13622
+ "order": 4
13623
+ },
13624
+ "incorrectText": {
13625
+ "label": "What was wrong",
13626
+ "order": 5
13627
+ },
13628
+ "correctedText": {
13629
+ "label": "What it should say",
13630
+ "order": 6
13631
+ },
13632
+ "publicNote": {
13633
+ "label": "Note to readers",
13634
+ "order": 7
13635
+ },
13636
+ "publishedAt": {
13637
+ "label": "Published on",
13638
+ "order": 8
13639
+ },
13640
+ "contentVersionId": {
13641
+ "label": "Version",
13642
+ "visibility": "advanced"
13643
+ },
13644
+ "factId": {
13645
+ "visibility": "hidden"
13646
+ },
13647
+ "replacementFactId": {
13648
+ "visibility": "hidden"
13649
+ },
13650
+ "tenantId": {
13651
+ "visibility": "hidden"
13652
+ },
13653
+ "metadata": {
13654
+ "visibility": "hidden"
13655
+ },
13656
+ "createdAt": {
13657
+ "visibility": "hidden"
13658
+ },
13659
+ "updatedAt": {
13660
+ "visibility": "hidden"
13661
+ }
13662
+ }
13663
+ },
13664
+ "@happyvertical/smrt-content:ContentReview": {
13665
+ "fields": {
13666
+ "contentId": {
13667
+ "label": "Article",
13668
+ "order": 1
13669
+ },
13670
+ "kind": {
13671
+ "order": 2
13672
+ },
13673
+ "policyKey": {
13674
+ "label": "Policy",
13675
+ "order": 3
13676
+ },
13677
+ "status": {
13678
+ "label": "Outcome",
13679
+ "order": 4
13680
+ },
13681
+ "summary": {
13682
+ "order": 5
13683
+ },
13684
+ "reviewer": {
13685
+ "order": 6
13686
+ },
13687
+ "createdAt": {
13688
+ "label": "Reviewed on",
13689
+ "order": 7
13690
+ },
13691
+ "contentVersionId": {
13692
+ "label": "Version",
13693
+ "visibility": "advanced"
13694
+ },
13695
+ "findings": {
13696
+ "visibility": "hidden"
13697
+ },
13698
+ "tenantId": {
13699
+ "visibility": "hidden"
13700
+ },
13701
+ "metadata": {
13702
+ "visibility": "hidden"
13703
+ },
13704
+ "updatedAt": {
13705
+ "visibility": "hidden"
13706
+ }
13707
+ }
13708
+ },
13709
+ "@happyvertical/smrt-content:ContentContribution": {
13710
+ "fields": {
13711
+ "title": {
13712
+ "order": 1
13713
+ },
13714
+ "contributorName": {
13715
+ "label": "From",
13716
+ "order": 2
13717
+ },
13718
+ "contributionTypeKey": {
13719
+ "label": "Kind",
13720
+ "order": 3
13721
+ },
13722
+ "status": {
13723
+ "order": 4
13724
+ },
13725
+ "channel": {
13726
+ "label": "Arrived by",
13727
+ "order": 5
13728
+ },
13729
+ "description": {
13730
+ "label": "Summary",
13731
+ "order": 6
13732
+ },
13733
+ "body": {
13734
+ "order": 7
13735
+ },
13736
+ "editorNotes": {
13737
+ "label": "Your notes",
13738
+ "order": 8
13739
+ },
13740
+ "contributorId": {
13741
+ "label": "Contributor",
13742
+ "order": 9
13743
+ },
13744
+ "contributorEmail": {
13745
+ "label": "Email",
13746
+ "visibility": "advanced"
13747
+ },
13748
+ "promotedContentId": {
13749
+ "label": "Published as",
13750
+ "visibility": "advanced"
13751
+ },
13752
+ "intakeDecision": {
13753
+ "visibility": "advanced"
13754
+ },
13755
+ "revisionCount": {
13756
+ "label": "Times revised",
13757
+ "visibility": "advanced"
13758
+ },
13759
+ "threadKey": {
13760
+ "visibility": "hidden"
13761
+ },
13762
+ "sourceMessageId": {
13763
+ "visibility": "hidden"
13764
+ },
13765
+ "approvedAt": {
13766
+ "visibility": "hidden"
13767
+ },
13768
+ "promotedAt": {
13769
+ "visibility": "hidden"
13770
+ },
13771
+ "rejectedAt": {
13772
+ "visibility": "hidden"
13773
+ },
13774
+ "withdrawnAt": {
13775
+ "visibility": "hidden"
13776
+ },
13777
+ "requestedChangesAt": {
13778
+ "visibility": "hidden"
13779
+ },
13780
+ "tenantId": {
13781
+ "visibility": "hidden"
13782
+ },
13783
+ "metadata": {
13784
+ "visibility": "hidden"
13785
+ },
13786
+ "createdAt": {
13787
+ "visibility": "hidden"
13788
+ },
13789
+ "updatedAt": {
13790
+ "visibility": "hidden"
13791
+ }
13792
+ }
13793
+ },
13794
+ "@happyvertical/smrt-content:ContentContributor": {
13795
+ "fields": {
13796
+ "name": {
13797
+ "order": 1
13798
+ },
13799
+ "email": {
13800
+ "order": 2
13801
+ },
13802
+ "trustLevel": {
13803
+ "label": "Trust",
13804
+ "order": 3
13805
+ },
13806
+ "profileId": {
13807
+ "label": "Person",
13808
+ "visibility": "advanced"
13809
+ },
13810
+ "tenantId": {
13811
+ "visibility": "hidden"
13812
+ },
13813
+ "metadata": {
13814
+ "visibility": "hidden"
13815
+ },
13816
+ "createdAt": {
13817
+ "visibility": "hidden"
13818
+ },
13819
+ "updatedAt": {
13820
+ "visibility": "hidden"
13821
+ }
13822
+ }
13823
+ }
13824
+ },
13825
+ "help": {
13826
+ "markdown": "## Overview\n\nArticles is where you write and publish. Each article starts as a draft, can\nbe checked before it goes out, and is published when you are ready. Every time\nan article is published or corrected, a version is saved so nothing is lost.\nFixes made after publication are recorded as corrections readers can see, and\npieces sent in by readers or outside writers wait as contributions until your\nteam has looked at them.\n\n## Tasks\n\n### Write a draft\n\n1. Open the articles and choose **New**.\n2. Type the **{field:Content.title}** and a **{field:Content.name}** to find it by.\n3. Leave the **{field:Content.type}** as article.\n4. Write the **{field:Content.body}** and a short **{field:Content.description}**.\n5. Add the **{field:Content.author}**, a **{field:Content.category}** and any **{field:Content.tags}**.\n6. Save. The **{field:Content.status}** starts as draft, so nobody outside your team sees it yet.\n\n### Publish an article\n\n1. Open the article and set the **{field:Content.publish_date}**.\n2. Change the **{field:Content.status}** to published and save.\n3. If the article still has checks outstanding, the save is refused and tells you what is missing; look at its reviews, fix what they raise and try again.\n\n### See how an article was checked\n\nReviews are made by the checks your publication runs on an article, not by\nhand. Open the reviews to read them.\n\n1. Find the **{field:ContentReview.contentId}** you want and the **{field:ContentReview.kind}** of check.\n2. The **{field:ContentReview.status}** shows the outcome, and the **{field:ContentReview.summary}** says what was found.\n\n### Read an article's history\n\nVersions are saved for you each time an article is published or corrected,\nand when someone saves one on purpose. Open the versions to read them.\n\n1. Find the **{field:ContentVersion.contentId}** and look down the **{field:ContentVersion.version}** numbers.\n2. The **{field:ContentVersion.kind}** says why each one was saved and the **{field:ContentVersion.summary}** what changed.\n3. Open a version to see the **{field:ContentVersion.title}** and **{field:ContentVersion.status}** as they were when the version was saved.\n\n### Issue a correction\n\n1. Open the corrections and choose **New**.\n2. Pick the **{field:ContentCorrection.contentId}** and the **{field:ContentCorrection.correctionType}** of mistake.\n3. Put the old wording in **{field:ContentCorrection.incorrectText}** and the new wording in **{field:ContentCorrection.correctedText}**.\n4. Write a **{field:ContentCorrection.summary}** for your team and a **{field:ContentCorrection.publicNote}** for readers.\n5. Save. The **{field:ContentCorrection.status}** shows whether the correction is still a draft, has been published or was retracted.\n\n### Look at what readers sent in\n\nContributions arrive through your website or by email, not by hand in the\napp. Here you read them and leave notes for your team.\n\n1. Open the contributions and look at the **{field:ContentContribution.title}**, who it is **{field:ContentContribution.contributorName}** and the **{field:ContentContribution.channel}**.\n2. Open one to read the **{field:ContentContribution.body}**.\n3. Add your thoughts in **{field:ContentContribution.editorNotes}** and save.\n4. The **{field:ContentContribution.status}** shows where it stands, from submitted to approved, rejected or published.\n",
13827
+ "fieldRefs": [
13828
+ "Content.author",
13829
+ "Content.body",
13830
+ "Content.category",
13831
+ "Content.description",
13832
+ "Content.name",
13833
+ "Content.publish_date",
13834
+ "Content.status",
13835
+ "Content.tags",
13836
+ "Content.title",
13837
+ "Content.type",
13838
+ "ContentContribution.body",
13839
+ "ContentContribution.channel",
13840
+ "ContentContribution.contributorName",
13841
+ "ContentContribution.editorNotes",
13842
+ "ContentContribution.status",
13843
+ "ContentContribution.title",
13844
+ "ContentCorrection.contentId",
13845
+ "ContentCorrection.correctedText",
13846
+ "ContentCorrection.correctionType",
13847
+ "ContentCorrection.incorrectText",
13848
+ "ContentCorrection.publicNote",
13849
+ "ContentCorrection.status",
13850
+ "ContentCorrection.summary",
13851
+ "ContentReview.contentId",
13852
+ "ContentReview.kind",
13853
+ "ContentReview.status",
13854
+ "ContentReview.summary",
13855
+ "ContentVersion.contentId",
13856
+ "ContentVersion.kind",
13857
+ "ContentVersion.status",
13858
+ "ContentVersion.summary",
13859
+ "ContentVersion.title",
13860
+ "ContentVersion.version"
13861
+ ]
13862
+ },
13863
+ "demo": {
13864
+ "mode": "server",
13865
+ "reasons": [
13866
+ "Needs a server because its package does not build for a browser: node:crypto; documents/spider/files/images/ai SDK graph (crawlee, undici, googleapis, native addons); CJS parse error; and its package depends on @happyvertical/smrt-agents, @happyvertical/smrt-chat, @happyvertical/smrt-images, @happyvertical/smrt-jobs, @happyvertical/smrt-profiles, @happyvertical/smrt-reports, @happyvertical/smrt-secrets, @happyvertical/smrt-tenancy, @happyvertical/smrt-users, which do not build for a browser (#3615, #3617, #3624, #3625, #3626, #3627, #3628)."
13867
+ ]
13868
+ }
13869
+ }
13870
+ ],
13135
13871
  "smrtDependencies": [
13136
13872
  "@happyvertical/smrt-agents",
13137
13873
  "@happyvertical/smrt-assets",