@carlonicora/nextjs-jsonapi 1.78.0 → 1.80.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 (128) hide show
  1. package/dist/{AssistantMessageInterface-DS_tyJTV.d.ts → AssistantMessageInterface-BpEhx2pC.d.ts} +19 -2
  2. package/dist/{AssistantMessageInterface-D0Kwf8CR.d.mts → AssistantMessageInterface-DJ3Me16Y.d.mts} +19 -2
  3. package/dist/{AuthComponent-Blbs06ud.d.ts → AuthComponent-B6DIk8Vf.d.ts} +1 -1
  4. package/dist/{AuthComponent-huIaK5rm.d.mts → AuthComponent-BKI0ZbtD.d.mts} +1 -1
  5. package/dist/{BlockNoteEditor-JXK3JGKJ.mjs → BlockNoteEditor-3M5PD3BZ.mjs} +4 -4
  6. package/dist/{BlockNoteEditor-2G5UYALC.js → BlockNoteEditor-YLTPJPTV.js} +14 -14
  7. package/dist/{BlockNoteEditor-2G5UYALC.js.map → BlockNoteEditor-YLTPJPTV.js.map} +1 -1
  8. package/dist/RbacTypes-BTbr27Ew.d.mts +43 -0
  9. package/dist/RbacTypes-BTbr27Ew.d.ts +43 -0
  10. package/dist/{auth.interface-CQJ6A2Cj.d.ts → auth.interface-BBUgMZzs.d.ts} +1 -1
  11. package/dist/{auth.interface-Bdq7-8iV.d.mts → auth.interface-XYEREOD6.d.mts} +1 -1
  12. package/dist/billing/index.js +346 -346
  13. package/dist/billing/index.mjs +3 -3
  14. package/dist/{chunk-ZEDB6JVB.js → chunk-4NOQNTFI.js} +1585 -1405
  15. package/dist/chunk-4NOQNTFI.js.map +1 -0
  16. package/dist/{chunk-I65SSQ5Z.mjs → chunk-6UMB5LTQ.mjs} +157 -7
  17. package/dist/chunk-6UMB5LTQ.mjs.map +1 -0
  18. package/dist/{chunk-FDJQRIMY.js → chunk-N4YZ45SK.js} +174 -24
  19. package/dist/chunk-N4YZ45SK.js.map +1 -0
  20. package/dist/{chunk-NB6TIKHK.mjs → chunk-NQV5RDCK.mjs} +2524 -2344
  21. package/dist/chunk-NQV5RDCK.mjs.map +1 -0
  22. package/dist/{chunk-NZOUEN67.mjs → chunk-PV5V6CVW.mjs} +38 -29
  23. package/dist/{chunk-NZOUEN67.mjs.map → chunk-PV5V6CVW.mjs.map} +1 -1
  24. package/dist/{chunk-X4YDETTD.js → chunk-ZEJSPTHS.js} +39 -30
  25. package/dist/chunk-ZEJSPTHS.js.map +1 -0
  26. package/dist/client/index.d.mts +6 -24
  27. package/dist/client/index.d.ts +6 -24
  28. package/dist/client/index.js +4 -10
  29. package/dist/client/index.js.map +1 -1
  30. package/dist/client/index.mjs +3 -9
  31. package/dist/components/index.d.mts +55 -39
  32. package/dist/components/index.d.ts +55 -39
  33. package/dist/components/index.js +4 -8
  34. package/dist/components/index.js.map +1 -1
  35. package/dist/components/index.mjs +5 -9
  36. package/dist/{config-B3jKt9P7.d.ts → config-B5oBQVEA.d.ts} +1 -1
  37. package/dist/{config-DkHF61xA.d.mts → config-Bx_uh22h.d.mts} +1 -1
  38. package/dist/contexts/index.d.mts +41 -4
  39. package/dist/contexts/index.d.ts +41 -4
  40. package/dist/contexts/index.js +8 -4
  41. package/dist/contexts/index.js.map +1 -1
  42. package/dist/contexts/index.mjs +7 -3
  43. package/dist/core/index.d.mts +51 -11
  44. package/dist/core/index.d.ts +51 -11
  45. package/dist/core/index.js +8 -2
  46. package/dist/core/index.js.map +1 -1
  47. package/dist/core/index.mjs +7 -1
  48. package/dist/index.d.mts +117 -20
  49. package/dist/index.d.ts +117 -20
  50. package/dist/index.js +11 -3
  51. package/dist/index.js.map +1 -1
  52. package/dist/index.mjs +10 -2
  53. package/dist/{notification.interface-DG6obXUH.d.mts → notification.interface-DLZGtV7Z.d.mts} +1 -1
  54. package/dist/{notification.interface-DcSuc9CL.d.ts → notification.interface-aLEJbA_g.d.ts} +1 -1
  55. package/dist/{s3.service-DGilbikH.d.mts → s3.service-CVgLWaDc.d.mts} +2 -2
  56. package/dist/{s3.service-DjwEQJPe.d.ts → s3.service-SLlX0Zbz.d.ts} +2 -2
  57. package/dist/server/index.d.mts +3 -3
  58. package/dist/server/index.d.ts +3 -3
  59. package/dist/server/index.js +3 -3
  60. package/dist/server/index.mjs +1 -1
  61. package/dist/useDataListRetriever-BqJSFBck.d.mts +33 -0
  62. package/dist/useDataListRetriever-BqJSFBck.d.ts +33 -0
  63. package/dist/{useSocket-CmzVtg32.d.mts → useSocket-BkxHHujj.d.mts} +1 -1
  64. package/dist/{useSocket-8eUtnL7J.d.ts → useSocket-CMDjWFYm.d.ts} +1 -1
  65. package/package.json +1 -1
  66. package/src/client/index.ts +0 -4
  67. package/src/components/index.ts +0 -3
  68. package/src/contexts/index.ts +1 -0
  69. package/src/core/index.ts +2 -0
  70. package/src/core/registry/ModuleRegistry.ts +2 -0
  71. package/src/features/assistant/components/parts/AssistantThread.tsx +1 -1
  72. package/src/features/assistant-message/AssistantMessageModule.ts +4 -0
  73. package/src/features/assistant-message/components/MessageItem.tsx +7 -7
  74. package/src/features/assistant-message/components/MessageList.tsx +1 -1
  75. package/src/features/assistant-message/components/__tests__/MessageItem.spec.tsx +11 -7
  76. package/src/features/assistant-message/components/index.ts +1 -0
  77. package/src/features/assistant-message/components/parts/MessageSourcesContainer.tsx +135 -0
  78. package/src/features/assistant-message/components/parts/MessageSourcesPanel.tsx +151 -0
  79. package/src/features/assistant-message/components/parts/RelevanceMeter.tsx +29 -0
  80. package/src/features/assistant-message/components/parts/__tests__/MessageSourcesPanel.spec.tsx +70 -0
  81. package/src/features/assistant-message/components/parts/tabs/CitationsTab.tsx +105 -0
  82. package/src/features/assistant-message/components/parts/tabs/ContentsTab.tsx +88 -0
  83. package/src/features/assistant-message/components/parts/tabs/ReferencesTab.tsx +51 -0
  84. package/src/features/assistant-message/components/parts/tabs/SuggestedQuestionsTab.tsx +24 -0
  85. package/src/features/assistant-message/components/parts/tabs/UsersTab.tsx +142 -0
  86. package/src/features/assistant-message/data/AssistantMessage.ts +20 -0
  87. package/src/features/assistant-message/data/AssistantMessageInterface.ts +2 -0
  88. package/src/features/assistant-message/data/AssistantMessageService.ts +13 -4
  89. package/src/features/assistant-message/data/__tests__/AssistantMessage.citations.spec.ts +65 -0
  90. package/src/features/assistant-message/data/__tests__/AssistantMessage.spec.ts +8 -0
  91. package/src/features/chunk/ChunkModule.ts +18 -0
  92. package/src/features/chunk/data/Chunk.ts +49 -0
  93. package/src/features/chunk/data/ChunkInput.ts +3 -0
  94. package/src/features/chunk/data/ChunkInterface.ts +18 -0
  95. package/src/features/chunk/data/__tests__/Chunk.spec.ts +83 -0
  96. package/src/features/chunk/data/index.ts +3 -0
  97. package/src/features/chunk/index.ts +2 -0
  98. package/src/features/rbac/components/RbacContainer.tsx +318 -49
  99. package/src/features/rbac/components/RbacPermissionPicker.tsx +144 -121
  100. package/src/features/rbac/contexts/RbacContext.tsx +209 -0
  101. package/src/features/rbac/contexts/index.ts +1 -0
  102. package/src/features/rbac/data/RbacMatrixModel.ts +84 -0
  103. package/src/features/rbac/data/RbacService.ts +61 -33
  104. package/src/features/rbac/data/RbacTypes.ts +28 -0
  105. package/src/features/rbac/data/index.ts +1 -0
  106. package/src/features/rbac/index.ts +1 -10
  107. package/src/features/rbac/rbac.module.ts +13 -0
  108. package/dist/ModulePathsInterface-BrdqgteS.d.mts +0 -31
  109. package/dist/ModulePathsInterface-DJKs7s_s.d.ts +0 -31
  110. package/dist/chunk-FDJQRIMY.js.map +0 -1
  111. package/dist/chunk-I65SSQ5Z.mjs.map +0 -1
  112. package/dist/chunk-NB6TIKHK.mjs.map +0 -1
  113. package/dist/chunk-X4YDETTD.js.map +0 -1
  114. package/dist/chunk-ZEDB6JVB.js.map +0 -1
  115. package/dist/useRbacState-C88O-5L8.d.ts +0 -77
  116. package/dist/useRbacState-mqYiRp3J.d.mts +0 -77
  117. package/src/features/assistant-message/components/parts/ReferenceBadges.tsx +0 -46
  118. package/src/features/assistant-message/components/parts/SuggestedFollowUps.tsx +0 -52
  119. package/src/features/assistant-message/components/parts/__tests__/ReferenceBadges.spec.tsx +0 -59
  120. package/src/features/assistant-message/components/parts/__tests__/SuggestedFollowUps.spec.tsx +0 -29
  121. package/src/features/rbac/components/RbacFeatureSection.tsx +0 -66
  122. package/src/features/rbac/components/RbacModuleTable.tsx +0 -121
  123. package/src/features/rbac/components/RbacToolbar.tsx +0 -40
  124. package/src/features/rbac/hooks/useRbacState.test.ts +0 -180
  125. package/src/features/rbac/hooks/useRbacState.ts +0 -319
  126. package/src/features/rbac/utils/RbacMigrationGenerator.test.ts +0 -124
  127. package/src/features/rbac/utils/RbacMigrationGenerator.ts +0 -184
  128. /package/dist/{BlockNoteEditor-JXK3JGKJ.mjs.map → BlockNoteEditor-3M5PD3BZ.mjs.map} +0 -0
@@ -5526,6 +5526,7 @@ var AssistantMessage = class _AssistantMessage extends AbstractApiData {
5526
5526
  _inputTokens;
5527
5527
  _outputTokens;
5528
5528
  _references;
5529
+ _citations;
5529
5530
  get role() {
5530
5531
  return this._role ?? "assistant";
5531
5532
  }
@@ -5547,6 +5548,9 @@ var AssistantMessage = class _AssistantMessage extends AbstractApiData {
5547
5548
  get references() {
5548
5549
  return this._references ?? [];
5549
5550
  }
5551
+ get citations() {
5552
+ return this._citations ?? [];
5553
+ }
5550
5554
  rehydrate(data) {
5551
5555
  super.rehydrate(data);
5552
5556
  const attrs = data.jsonApi.attributes ?? {};
@@ -5558,6 +5562,16 @@ var AssistantMessage = class _AssistantMessage extends AbstractApiData {
5558
5562
  this._outputTokens = attrs.outputTokens;
5559
5563
  const refs = this._readIncludedPolymorphic(data, "references", resolveReferenceableModules());
5560
5564
  this._references = Array.isArray(refs) ? refs : refs ? [refs] : [];
5565
+ if (data.jsonApi.relationships?.citations?.data) {
5566
+ const citations = this._readIncludedWithMeta(
5567
+ data,
5568
+ "citations",
5569
+ Modules.Chunk
5570
+ );
5571
+ this._citations = Array.isArray(citations) ? citations : citations ? [citations] : [];
5572
+ } else {
5573
+ this._citations = [];
5574
+ }
5561
5575
  return this;
5562
5576
  }
5563
5577
  createJsonApi(data) {
@@ -5609,6 +5623,7 @@ var AssistantMessageModule = /* @__PURE__ */ __name((factory) => factory({
5609
5623
  icon: MessageSquareIcon,
5610
5624
  inclusions: {
5611
5625
  lists: {
5626
+ types: [`references`, `citations`, `citations.source`, `citations.source.author`],
5612
5627
  fields: [
5613
5628
  createJsonApiInclusion("assistant-messages", [
5614
5629
  `role`,
@@ -5617,8 +5632,11 @@ var AssistantMessageModule = /* @__PURE__ */ __name((factory) => factory({
5617
5632
  `suggestedQuestions`,
5618
5633
  `inputTokens`,
5619
5634
  `outputTokens`,
5620
- `references`
5621
- ])
5635
+ `references`,
5636
+ `citations`
5637
+ ]),
5638
+ createJsonApiInclusion("chunks", [`content`, `nodeId`, `nodeType`, `imagePath`, `source`]),
5639
+ createJsonApiInclusion("users", [`name`, `avatar`])
5622
5640
  ]
5623
5641
  }
5624
5642
  }
@@ -5635,6 +5653,10 @@ var AssistantMessageService = class extends AbstractService {
5635
5653
  id: params.assistantId,
5636
5654
  childEndpoint: Modules.AssistantMessage
5637
5655
  });
5656
+ if (Modules.AssistantMessage.inclusions?.lists?.fields)
5657
+ endpoint.limitToFields(Modules.AssistantMessage.inclusions.lists.fields);
5658
+ if (Modules.AssistantMessage.inclusions?.lists?.types)
5659
+ endpoint.limitToType(Modules.AssistantMessage.inclusions.lists.types);
5638
5660
  return this.callApi({
5639
5661
  type: Modules.AssistantMessage,
5640
5662
  method: "GET" /* GET */,
@@ -5643,13 +5665,18 @@ var AssistantMessageService = class extends AbstractService {
5643
5665
  });
5644
5666
  }
5645
5667
  static async findOne(params) {
5668
+ const endpoint = new EndpointCreator({
5669
+ endpoint: Modules.AssistantMessage,
5670
+ id: params.id
5671
+ });
5672
+ if (Modules.AssistantMessage.inclusions?.lists?.fields)
5673
+ endpoint.limitToFields(Modules.AssistantMessage.inclusions.lists.fields);
5674
+ if (Modules.AssistantMessage.inclusions?.lists?.types)
5675
+ endpoint.limitToType(Modules.AssistantMessage.inclusions.lists.types);
5646
5676
  return this.callApi({
5647
5677
  type: Modules.AssistantMessage,
5648
5678
  method: "GET" /* GET */,
5649
- endpoint: new EndpointCreator({
5650
- endpoint: Modules.AssistantMessage,
5651
- id: params.id
5652
- }).generate()
5679
+ endpoint: endpoint.generate()
5653
5680
  });
5654
5681
  }
5655
5682
  static async delete(params) {
@@ -5664,6 +5691,68 @@ var AssistantMessageService = class extends AbstractService {
5664
5691
  }
5665
5692
  };
5666
5693
 
5694
+ // src/features/chunk/ChunkModule.ts
5695
+ import { FileTextIcon } from "lucide-react";
5696
+
5697
+ // src/features/chunk/data/Chunk.ts
5698
+ var Chunk = class extends AbstractApiData {
5699
+ static {
5700
+ __name(this, "Chunk");
5701
+ }
5702
+ _content;
5703
+ _nodeId;
5704
+ _nodeType;
5705
+ _imagePath;
5706
+ _source;
5707
+ get content() {
5708
+ return this._content ?? "";
5709
+ }
5710
+ get nodeId() {
5711
+ return this._nodeId;
5712
+ }
5713
+ get nodeType() {
5714
+ return this._nodeType;
5715
+ }
5716
+ get imagePath() {
5717
+ return this._imagePath;
5718
+ }
5719
+ get source() {
5720
+ return this._source;
5721
+ }
5722
+ rehydrate(data) {
5723
+ super.rehydrate(data);
5724
+ const attrs = data.jsonApi.attributes ?? {};
5725
+ const meta = data.jsonApi.meta ?? {};
5726
+ this._content = attrs.content;
5727
+ this._nodeId = meta.nodeId ?? attrs.nodeId;
5728
+ this._nodeType = meta.nodeType ?? attrs.nodeType;
5729
+ this._imagePath = attrs.imagePath;
5730
+ const src = this._readIncludedPolymorphic(data, "source", resolveReferenceableModules());
5731
+ this._source = Array.isArray(src) ? src[0] : src;
5732
+ return this;
5733
+ }
5734
+ createJsonApi() {
5735
+ return {
5736
+ data: { type: Modules.Chunk.name, id: this.id, attributes: {}, relationships: {} },
5737
+ included: []
5738
+ };
5739
+ }
5740
+ };
5741
+
5742
+ // src/features/chunk/ChunkModule.ts
5743
+ var ChunkModule = /* @__PURE__ */ __name((factory) => factory({
5744
+ pageUrl: "/chunks",
5745
+ name: "chunks",
5746
+ model: Chunk,
5747
+ moduleId: "9b1c2f64-7ea3-4df5-8b2a-91b6a8d0e3a4",
5748
+ icon: FileTextIcon,
5749
+ inclusions: {
5750
+ lists: {
5751
+ fields: [createJsonApiInclusion("chunks", ["content", "nodeId", "nodeType", "imagePath", "source"])]
5752
+ }
5753
+ }
5754
+ }), "ChunkModule");
5755
+
5667
5756
  // src/features/feature/data/feature.ts
5668
5757
  var Feature = class extends AbstractApiData {
5669
5758
  static {
@@ -7103,6 +7192,59 @@ var ModulePaths = class extends AbstractApiData {
7103
7192
  }
7104
7193
  };
7105
7194
 
7195
+ // src/features/rbac/data/RbacMatrixModel.ts
7196
+ var RbacMatrixModel = class extends AbstractApiData {
7197
+ static {
7198
+ __name(this, "RbacMatrixModel");
7199
+ }
7200
+ _matrix;
7201
+ _modulePaths;
7202
+ _bytesWritten;
7203
+ _path;
7204
+ /** The RBAC matrix object (populated after a GET). */
7205
+ get matrix() {
7206
+ return this._matrix;
7207
+ }
7208
+ /**
7209
+ * UUID-keyed map of each module's known BFS relationship paths (populated
7210
+ * after a GET). Fed to the permission picker as scope suggestions.
7211
+ */
7212
+ get modulePaths() {
7213
+ return this._modulePaths;
7214
+ }
7215
+ /** Bytes written to the permissions.ts file (populated after a PUT). */
7216
+ get bytesWritten() {
7217
+ return this._bytesWritten;
7218
+ }
7219
+ /** Resolved absolute output path (populated after a PUT). */
7220
+ get path() {
7221
+ return this._path;
7222
+ }
7223
+ rehydrate(data) {
7224
+ super.rehydrate(data);
7225
+ const attrs = data.jsonApi.attributes ?? {};
7226
+ this._matrix = attrs.matrix;
7227
+ this._modulePaths = attrs.modulePaths;
7228
+ this._bytesWritten = attrs.bytesWritten;
7229
+ this._path = attrs.path;
7230
+ return this;
7231
+ }
7232
+ createJsonApi(data) {
7233
+ return {
7234
+ data: {
7235
+ type: "rbac-matrix",
7236
+ id: "singleton",
7237
+ attributes: {
7238
+ matrix: data.matrix,
7239
+ roleNames: data.roleNames,
7240
+ moduleNames: data.moduleNames,
7241
+ outputPath: data.outputPath
7242
+ }
7243
+ }
7244
+ };
7245
+ }
7246
+ };
7247
+
7106
7248
  // src/features/rbac/rbac.module.ts
7107
7249
  var PermissionMappingModule = /* @__PURE__ */ __name((factory) => factory({
7108
7250
  pageUrl: "/rbac/permission-mappings",
@@ -7116,6 +7258,10 @@ var ModulePathsModule = /* @__PURE__ */ __name((factory) => factory({
7116
7258
  model: ModulePaths,
7117
7259
  moduleId: "f4fb3f01-a947-4c2e-89c8-354a518cdb13"
7118
7260
  }), "ModulePathsModule");
7261
+ var RbacMatrixModule = /* @__PURE__ */ __name((factory) => factory({
7262
+ name: "_dev/rbac/matrix",
7263
+ model: RbacMatrixModel
7264
+ }), "RbacMatrixModule");
7119
7265
 
7120
7266
  // src/features/referral/data/ReferralStats.ts
7121
7267
  var ReferralStats = class extends AbstractApiData {
@@ -7415,6 +7561,8 @@ export {
7415
7561
  AssistantMessage,
7416
7562
  AssistantMessageModule,
7417
7563
  AssistantMessageService,
7564
+ Chunk,
7565
+ ChunkModule,
7418
7566
  Feature,
7419
7567
  FeatureService,
7420
7568
  FeatureModule,
@@ -7452,8 +7600,10 @@ export {
7452
7600
  WaitlistStatsModule,
7453
7601
  PermissionMapping,
7454
7602
  ModulePaths,
7603
+ RbacMatrixModel,
7455
7604
  PermissionMappingModule,
7456
7605
  ModulePathsModule,
7606
+ RbacMatrixModule,
7457
7607
  ReferralStats,
7458
7608
  ReferralService,
7459
7609
  ReferralModule,
@@ -7462,4 +7612,4 @@ export {
7462
7612
  AuditLogService,
7463
7613
  AuditLogModule
7464
7614
  };
7465
- //# sourceMappingURL=chunk-I65SSQ5Z.mjs.map
7615
+ //# sourceMappingURL=chunk-6UMB5LTQ.mjs.map