@carlonicora/nextjs-jsonapi 1.77.3 → 1.79.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 (146) hide show
  1. package/dist/AssistantInterface-BYgI5z1-.d.mts +12 -0
  2. package/dist/AssistantInterface-DfDcz0gJ.d.ts +12 -0
  3. package/dist/AssistantMessageInterface-DWnbd6J7.d.ts +36 -0
  4. package/dist/AssistantMessageInterface-Mla6kgPe.d.mts +36 -0
  5. package/dist/{AuthComponent-Blbs06ud.d.ts → AuthComponent-B6DIk8Vf.d.ts} +1 -1
  6. package/dist/{AuthComponent-huIaK5rm.d.mts → AuthComponent-BKI0ZbtD.d.mts} +1 -1
  7. package/dist/{BlockNoteEditor-7HAAXN3H.mjs → BlockNoteEditor-6CBDTVKV.mjs} +4 -4
  8. package/dist/{BlockNoteEditor-UB7T7V67.js → BlockNoteEditor-EH4HWI7H.js} +14 -14
  9. package/dist/{BlockNoteEditor-UB7T7V67.js.map → BlockNoteEditor-EH4HWI7H.js.map} +1 -1
  10. package/dist/RbacTypes-BTbr27Ew.d.mts +43 -0
  11. package/dist/RbacTypes-BTbr27Ew.d.ts +43 -0
  12. package/dist/{auth.interface-CQJ6A2Cj.d.ts → auth.interface-BBUgMZzs.d.ts} +1 -1
  13. package/dist/{auth.interface-Bdq7-8iV.d.mts → auth.interface-XYEREOD6.d.mts} +1 -1
  14. package/dist/billing/index.js +346 -346
  15. package/dist/billing/index.mjs +3 -3
  16. package/dist/{chunk-FKLP4NED.js → chunk-5IEWLLLD.js} +379 -18
  17. package/dist/chunk-5IEWLLLD.js.map +1 -0
  18. package/dist/{chunk-XI35ALWY.mjs → chunk-BKM5U3DE.mjs} +362 -1
  19. package/dist/chunk-BKM5U3DE.mjs.map +1 -0
  20. package/dist/{chunk-F44ET4AC.mjs → chunk-ENRSFVOS.mjs} +2657 -2264
  21. package/dist/chunk-ENRSFVOS.mjs.map +1 -0
  22. package/dist/{chunk-JOJZRGZL.mjs → chunk-MEWXQEVE.mjs} +38 -29
  23. package/dist/{chunk-JOJZRGZL.mjs.map → chunk-MEWXQEVE.mjs.map} +1 -1
  24. package/dist/{chunk-OTZEXASK.js → chunk-TWDSDTHU.js} +39 -30
  25. package/dist/chunk-TWDSDTHU.js.map +1 -0
  26. package/dist/{chunk-CV7UOUKQ.js → chunk-ZDP3MBUI.js} +1813 -1420
  27. package/dist/chunk-ZDP3MBUI.js.map +1 -0
  28. package/dist/client/index.d.mts +6 -24
  29. package/dist/client/index.d.ts +6 -24
  30. package/dist/client/index.js +4 -10
  31. package/dist/client/index.js.map +1 -1
  32. package/dist/client/index.mjs +3 -9
  33. package/dist/components/index.d.mts +51 -34
  34. package/dist/components/index.d.ts +51 -34
  35. package/dist/components/index.js +4 -4
  36. package/dist/components/index.js.map +1 -1
  37. package/dist/components/index.mjs +9 -9
  38. package/dist/{config-B3jKt9P7.d.ts → config-B5oBQVEA.d.ts} +1 -1
  39. package/dist/{config-DkHF61xA.d.mts → config-Bx_uh22h.d.mts} +1 -1
  40. package/dist/contexts/index.d.mts +65 -4
  41. package/dist/contexts/index.d.ts +65 -4
  42. package/dist/contexts/index.js +12 -4
  43. package/dist/contexts/index.js.map +1 -1
  44. package/dist/contexts/index.mjs +11 -3
  45. package/dist/core/index.d.mts +126 -11
  46. package/dist/core/index.d.ts +126 -11
  47. package/dist/core/index.js +16 -2
  48. package/dist/core/index.js.map +1 -1
  49. package/dist/core/index.mjs +15 -1
  50. package/dist/index.d.mts +118 -20
  51. package/dist/index.d.ts +118 -20
  52. package/dist/index.js +19 -3
  53. package/dist/index.js.map +1 -1
  54. package/dist/index.mjs +18 -2
  55. package/dist/{notification.interface-DG6obXUH.d.mts → notification.interface-DLZGtV7Z.d.mts} +1 -1
  56. package/dist/{notification.interface-DcSuc9CL.d.ts → notification.interface-aLEJbA_g.d.ts} +1 -1
  57. package/dist/{s3.service-DGilbikH.d.mts → s3.service-CVgLWaDc.d.mts} +2 -2
  58. package/dist/{s3.service-DjwEQJPe.d.ts → s3.service-SLlX0Zbz.d.ts} +2 -2
  59. package/dist/server/index.d.mts +3 -3
  60. package/dist/server/index.d.ts +3 -3
  61. package/dist/server/index.js +3 -3
  62. package/dist/server/index.mjs +1 -1
  63. package/dist/useDataListRetriever-BqJSFBck.d.mts +33 -0
  64. package/dist/useDataListRetriever-BqJSFBck.d.ts +33 -0
  65. package/dist/{useSocket-CmzVtg32.d.mts → useSocket-BkxHHujj.d.mts} +1 -1
  66. package/dist/{useSocket-8eUtnL7J.d.ts → useSocket-CMDjWFYm.d.ts} +1 -1
  67. package/package.json +1 -1
  68. package/src/client/index.ts +0 -4
  69. package/src/components/index.ts +2 -3
  70. package/src/contexts/index.ts +2 -0
  71. package/src/core/index.ts +4 -0
  72. package/src/core/registry/ModuleRegistry.ts +10 -0
  73. package/src/features/assistant/AssistantModule.ts +19 -0
  74. package/src/features/assistant/components/containers/AssistantContainer.tsx +56 -0
  75. package/src/features/assistant/components/containers/__tests__/AssistantContainer.spec.tsx +101 -0
  76. package/src/features/assistant/components/index.ts +1 -0
  77. package/src/features/assistant/components/parts/AssistantComposer.tsx +56 -0
  78. package/src/features/assistant/components/parts/AssistantEmptyState.tsx +47 -0
  79. package/src/features/assistant/components/parts/AssistantSidebar.tsx +64 -0
  80. package/src/features/assistant/components/parts/AssistantStatusLine.tsx +19 -0
  81. package/src/features/assistant/components/parts/AssistantThread.tsx +36 -0
  82. package/src/features/assistant/components/parts/AssistantThreadHeader.tsx +91 -0
  83. package/src/features/assistant/components/parts/__tests__/AssistantComposer.spec.tsx +32 -0
  84. package/src/features/assistant/components/parts/__tests__/AssistantEmptyState.spec.tsx +27 -0
  85. package/src/features/assistant/components/parts/__tests__/AssistantSidebar.spec.tsx +58 -0
  86. package/src/features/assistant/components/parts/__tests__/AssistantStatusLine.spec.tsx +19 -0
  87. package/src/features/assistant/components/parts/__tests__/AssistantThread.spec.tsx +39 -0
  88. package/src/features/assistant/components/parts/__tests__/AssistantThreadHeader.spec.tsx +67 -0
  89. package/src/features/assistant/contexts/AssistantContext.tsx +255 -0
  90. package/src/features/assistant/contexts/__tests__/AssistantContext.spec.tsx +375 -0
  91. package/src/features/assistant/data/Assistant.ts +37 -0
  92. package/src/features/assistant/data/AssistantInterface.ts +11 -0
  93. package/src/features/assistant/data/AssistantService.ts +79 -0
  94. package/src/features/assistant/data/index.ts +3 -0
  95. package/src/features/assistant/index.ts +2 -0
  96. package/src/features/assistant/utils/__tests__/groupThreadsByBucket.spec.ts +24 -0
  97. package/src/features/assistant/utils/__tests__/resolveReferenceableModules.spec.ts +92 -0
  98. package/src/features/assistant/utils/groupThreadsByBucket.ts +26 -0
  99. package/src/features/assistant/utils/resolveReferenceableModules.ts +14 -0
  100. package/src/features/assistant-message/AssistantMessageModule.ts +28 -0
  101. package/src/features/assistant-message/components/MessageItem.tsx +60 -0
  102. package/src/features/assistant-message/components/MessageList.tsx +38 -0
  103. package/src/features/assistant-message/components/__tests__/MessageItem.spec.tsx +108 -0
  104. package/src/features/assistant-message/components/index.ts +2 -0
  105. package/src/features/assistant-message/components/parts/ReferenceBadges.tsx +46 -0
  106. package/src/features/assistant-message/components/parts/SuggestedFollowUps.tsx +52 -0
  107. package/src/features/assistant-message/components/parts/__tests__/ReferenceBadges.spec.tsx +59 -0
  108. package/src/features/assistant-message/components/parts/__tests__/SuggestedFollowUps.spec.tsx +29 -0
  109. package/src/features/assistant-message/data/AssistantMessage.ts +95 -0
  110. package/src/features/assistant-message/data/AssistantMessageInterface.ts +21 -0
  111. package/src/features/assistant-message/data/AssistantMessageService.ts +40 -0
  112. package/src/features/assistant-message/data/__tests__/AssistantMessage.spec.ts +158 -0
  113. package/src/features/assistant-message/data/index.ts +3 -0
  114. package/src/features/assistant-message/index.ts +2 -0
  115. package/src/features/rbac/components/RbacContainer.tsx +318 -49
  116. package/src/features/rbac/components/RbacPermissionPicker.tsx +144 -121
  117. package/src/features/rbac/contexts/RbacContext.tsx +209 -0
  118. package/src/features/rbac/contexts/index.ts +1 -0
  119. package/src/features/rbac/data/RbacMatrixModel.ts +84 -0
  120. package/src/features/rbac/data/RbacService.ts +61 -33
  121. package/src/features/rbac/data/RbacTypes.ts +28 -0
  122. package/src/features/rbac/data/index.ts +1 -0
  123. package/src/features/rbac/index.ts +1 -10
  124. package/src/features/rbac/rbac.module.ts +13 -0
  125. package/src/features/user/contexts/CurrentUserContext.tsx +5 -13
  126. package/src/features/user/contexts/__tests__/CurrentUserContext.spec.tsx +141 -0
  127. package/src/index.ts +4 -0
  128. package/dist/HowToInterface-BKhnkzBp.d.ts +0 -17
  129. package/dist/HowToInterface-Cj8OuQFf.d.mts +0 -17
  130. package/dist/ModulePathsInterface-BrdqgteS.d.mts +0 -31
  131. package/dist/ModulePathsInterface-DJKs7s_s.d.ts +0 -31
  132. package/dist/chunk-CV7UOUKQ.js.map +0 -1
  133. package/dist/chunk-F44ET4AC.mjs.map +0 -1
  134. package/dist/chunk-FKLP4NED.js.map +0 -1
  135. package/dist/chunk-OTZEXASK.js.map +0 -1
  136. package/dist/chunk-XI35ALWY.mjs.map +0 -1
  137. package/dist/useRbacState-C88O-5L8.d.ts +0 -77
  138. package/dist/useRbacState-mqYiRp3J.d.mts +0 -77
  139. package/src/features/rbac/components/RbacFeatureSection.tsx +0 -66
  140. package/src/features/rbac/components/RbacModuleTable.tsx +0 -121
  141. package/src/features/rbac/components/RbacToolbar.tsx +0 -40
  142. package/src/features/rbac/hooks/useRbacState.test.ts +0 -180
  143. package/src/features/rbac/hooks/useRbacState.ts +0 -319
  144. package/src/features/rbac/utils/RbacMigrationGenerator.test.ts +0 -124
  145. package/src/features/rbac/utils/RbacMigrationGenerator.ts +0 -184
  146. /package/dist/{BlockNoteEditor-7HAAXN3H.mjs.map → BlockNoteEditor-6CBDTVKV.mjs.map} +0 -0
@@ -997,6 +997,12 @@ var ModuleRegistryClass = class {
997
997
  }
998
998
  return response;
999
999
  }
1000
+ getAll() {
1001
+ if (this._modules.size === 0) {
1002
+ tryBootstrap();
1003
+ }
1004
+ return Array.from(this._modules.values());
1005
+ }
1000
1006
  };
1001
1007
  var ModuleRegistry = new ModuleRegistryClass();
1002
1008
  var Modules = new Proxy({}, {
@@ -5368,6 +5374,296 @@ var HowToService = class extends AbstractService {
5368
5374
  }
5369
5375
  };
5370
5376
 
5377
+ // src/features/assistant/AssistantModule.ts
5378
+ import { BotIcon } from "lucide-react";
5379
+
5380
+ // src/features/assistant/data/Assistant.ts
5381
+ var Assistant = class extends AbstractApiData {
5382
+ static {
5383
+ __name(this, "Assistant");
5384
+ }
5385
+ _title;
5386
+ _messageCount;
5387
+ get title() {
5388
+ return this._title ?? "";
5389
+ }
5390
+ get messageCount() {
5391
+ return this._messageCount ?? 0;
5392
+ }
5393
+ rehydrate(data) {
5394
+ super.rehydrate(data);
5395
+ this._title = data.jsonApi.attributes?.title;
5396
+ const fromMeta = data.jsonApi.meta?.messageCount;
5397
+ const fromAttrs = data.jsonApi.attributes?.messageCount;
5398
+ this._messageCount = typeof fromMeta === "number" ? fromMeta : typeof fromAttrs === "number" ? fromAttrs : 0;
5399
+ return this;
5400
+ }
5401
+ createJsonApi(data) {
5402
+ return {
5403
+ data: {
5404
+ type: Modules.Assistant.name,
5405
+ attributes: {
5406
+ content: data.firstMessage,
5407
+ ...data.title !== void 0 ? { title: data.title } : {}
5408
+ }
5409
+ },
5410
+ included: []
5411
+ };
5412
+ }
5413
+ };
5414
+
5415
+ // src/features/assistant/AssistantModule.ts
5416
+ var AssistantModule = /* @__PURE__ */ __name((factory) => factory({
5417
+ pageUrl: "/assistants",
5418
+ name: "assistants",
5419
+ model: Assistant,
5420
+ moduleId: "2b39fd68-6a41-4f73-a2d0-4c8e8e3f9a42",
5421
+ icon: BotIcon,
5422
+ identifier: ["title"],
5423
+ inclusions: {
5424
+ lists: {
5425
+ fields: [createJsonApiInclusion("assistants", [`title`])]
5426
+ }
5427
+ }
5428
+ }), "AssistantModule");
5429
+
5430
+ // src/features/assistant/data/AssistantService.ts
5431
+ var AssistantService = class extends AbstractService {
5432
+ static {
5433
+ __name(this, "AssistantService");
5434
+ }
5435
+ static async findOne(params) {
5436
+ return this.callApi({
5437
+ type: Modules.Assistant,
5438
+ method: "GET" /* GET */,
5439
+ endpoint: new EndpointCreator({ endpoint: Modules.Assistant, id: params.id }).generate()
5440
+ });
5441
+ }
5442
+ static async findMany(params = {}) {
5443
+ const endpoint = new EndpointCreator({ endpoint: Modules.Assistant });
5444
+ if (params.fetchAll) endpoint.addAdditionalParam("fetchAll", "true");
5445
+ return this.callApi({
5446
+ type: Modules.Assistant,
5447
+ method: "GET" /* GET */,
5448
+ endpoint: endpoint.generate()
5449
+ });
5450
+ }
5451
+ static async create(params) {
5452
+ return this.callApi({
5453
+ type: Modules.Assistant,
5454
+ method: "POST" /* POST */,
5455
+ endpoint: new EndpointCreator({ endpoint: Modules.Assistant }).generate(),
5456
+ input: params
5457
+ });
5458
+ }
5459
+ /**
5460
+ * Sends a new user message to an existing assistant thread. The agent turn
5461
+ * runs synchronously; the response is a two-element list: [user, assistant].
5462
+ */
5463
+ static async appendMessage(params) {
5464
+ return this.callApi({
5465
+ type: Modules.AssistantMessage,
5466
+ method: "POST" /* POST */,
5467
+ endpoint: new EndpointCreator({
5468
+ endpoint: Modules.Assistant,
5469
+ id: params.assistantId,
5470
+ childEndpoint: Modules.AssistantMessage
5471
+ }).generate(),
5472
+ input: {
5473
+ data: {
5474
+ type: Modules.AssistantMessage.name,
5475
+ attributes: { content: params.content }
5476
+ }
5477
+ },
5478
+ overridesJsonApiCreation: true
5479
+ });
5480
+ }
5481
+ static async rename(params) {
5482
+ await this.callApi({
5483
+ type: Modules.Assistant,
5484
+ method: "PATCH" /* PATCH */,
5485
+ endpoint: new EndpointCreator({ endpoint: Modules.Assistant, id: params.id }).generate(),
5486
+ input: {
5487
+ data: {
5488
+ type: Modules.Assistant.name,
5489
+ id: params.id,
5490
+ attributes: { title: params.title }
5491
+ }
5492
+ },
5493
+ overridesJsonApiCreation: true
5494
+ });
5495
+ }
5496
+ static async delete(params) {
5497
+ await this.callApi({
5498
+ type: Modules.Assistant,
5499
+ method: "DELETE" /* DELETE */,
5500
+ endpoint: new EndpointCreator({ endpoint: Modules.Assistant, id: params.id }).generate()
5501
+ });
5502
+ }
5503
+ };
5504
+
5505
+ // src/features/assistant-message/AssistantMessageModule.ts
5506
+ import { MessageSquareIcon } from "lucide-react";
5507
+
5508
+ // src/features/assistant/utils/resolveReferenceableModules.ts
5509
+ function resolveReferenceableModules() {
5510
+ return ModuleRegistry.getAll().filter((m) => {
5511
+ const cls = m.model;
5512
+ return cls && Array.isArray(cls.identifierFields) && cls.identifierFields.length > 0;
5513
+ });
5514
+ }
5515
+ __name(resolveReferenceableModules, "resolveReferenceableModules");
5516
+
5517
+ // src/features/assistant-message/data/AssistantMessage.ts
5518
+ var AssistantMessage = class _AssistantMessage extends AbstractApiData {
5519
+ static {
5520
+ __name(this, "AssistantMessage");
5521
+ }
5522
+ _role;
5523
+ _content;
5524
+ _position;
5525
+ _suggestedQuestions;
5526
+ _inputTokens;
5527
+ _outputTokens;
5528
+ _references;
5529
+ get role() {
5530
+ return this._role ?? "assistant";
5531
+ }
5532
+ get content() {
5533
+ return this._content ?? "";
5534
+ }
5535
+ get position() {
5536
+ return this._position ?? 0;
5537
+ }
5538
+ get suggestedQuestions() {
5539
+ return this._suggestedQuestions ?? [];
5540
+ }
5541
+ get inputTokens() {
5542
+ return this._inputTokens;
5543
+ }
5544
+ get outputTokens() {
5545
+ return this._outputTokens;
5546
+ }
5547
+ get references() {
5548
+ return this._references ?? [];
5549
+ }
5550
+ rehydrate(data) {
5551
+ super.rehydrate(data);
5552
+ const attrs = data.jsonApi.attributes ?? {};
5553
+ this._role = attrs.role;
5554
+ this._content = attrs.content;
5555
+ this._position = typeof attrs.position === "number" ? attrs.position : Number(attrs.position ?? 0);
5556
+ this._suggestedQuestions = Array.isArray(attrs.suggestedQuestions) ? attrs.suggestedQuestions : [];
5557
+ this._inputTokens = attrs.inputTokens;
5558
+ this._outputTokens = attrs.outputTokens;
5559
+ const refs = this._readIncludedPolymorphic(data, "references", resolveReferenceableModules());
5560
+ this._references = Array.isArray(refs) ? refs : refs ? [refs] : [];
5561
+ return this;
5562
+ }
5563
+ createJsonApi(data) {
5564
+ return {
5565
+ data: {
5566
+ type: Modules.AssistantMessage.name,
5567
+ id: data.id,
5568
+ attributes: {
5569
+ role: data.role,
5570
+ content: data.content,
5571
+ position: data.position
5572
+ },
5573
+ relationships: {
5574
+ assistant: {
5575
+ data: { type: Modules.Assistant.name, id: data.assistantId }
5576
+ }
5577
+ }
5578
+ },
5579
+ included: []
5580
+ };
5581
+ }
5582
+ static buildOptimistic(params) {
5583
+ const msg = new _AssistantMessage();
5584
+ const jsonApi = {
5585
+ id: `tmp-${crypto.randomUUID()}`,
5586
+ type: Modules.AssistantMessage.name,
5587
+ attributes: {
5588
+ role: "user",
5589
+ content: params.content,
5590
+ position: params.position
5591
+ }
5592
+ };
5593
+ if (params.assistantId) {
5594
+ jsonApi.relationships = {
5595
+ assistant: { data: { type: Modules.Assistant.name, id: params.assistantId } }
5596
+ };
5597
+ }
5598
+ msg.rehydrate({ jsonApi, included: [] });
5599
+ return msg;
5600
+ }
5601
+ };
5602
+
5603
+ // src/features/assistant-message/AssistantMessageModule.ts
5604
+ var AssistantMessageModule = /* @__PURE__ */ __name((factory) => factory({
5605
+ pageUrl: "/assistant-messages",
5606
+ name: "assistant-messages",
5607
+ model: AssistantMessage,
5608
+ moduleId: "5b2e10e4-3a01-4a59-9f0f-3c4a6c6a8e11",
5609
+ icon: MessageSquareIcon,
5610
+ inclusions: {
5611
+ lists: {
5612
+ fields: [
5613
+ createJsonApiInclusion("assistant-messages", [
5614
+ `role`,
5615
+ `content`,
5616
+ `position`,
5617
+ `suggestedQuestions`,
5618
+ `inputTokens`,
5619
+ `outputTokens`,
5620
+ `references`
5621
+ ])
5622
+ ]
5623
+ }
5624
+ }
5625
+ }), "AssistantMessageModule");
5626
+
5627
+ // src/features/assistant-message/data/AssistantMessageService.ts
5628
+ var AssistantMessageService = class extends AbstractService {
5629
+ static {
5630
+ __name(this, "AssistantMessageService");
5631
+ }
5632
+ static async findByAssistant(params) {
5633
+ const endpoint = new EndpointCreator({
5634
+ endpoint: Modules.Assistant,
5635
+ id: params.assistantId,
5636
+ childEndpoint: Modules.AssistantMessage
5637
+ });
5638
+ return this.callApi({
5639
+ type: Modules.AssistantMessage,
5640
+ method: "GET" /* GET */,
5641
+ endpoint: endpoint.generate(),
5642
+ next: params.next
5643
+ });
5644
+ }
5645
+ static async findOne(params) {
5646
+ return this.callApi({
5647
+ type: Modules.AssistantMessage,
5648
+ method: "GET" /* GET */,
5649
+ endpoint: new EndpointCreator({
5650
+ endpoint: Modules.AssistantMessage,
5651
+ id: params.id
5652
+ }).generate()
5653
+ });
5654
+ }
5655
+ static async delete(params) {
5656
+ await this.callApi({
5657
+ type: Modules.AssistantMessage,
5658
+ method: "DELETE" /* DELETE */,
5659
+ endpoint: new EndpointCreator({
5660
+ endpoint: Modules.AssistantMessage,
5661
+ id: params.id
5662
+ }).generate()
5663
+ });
5664
+ }
5665
+ };
5666
+
5371
5667
  // src/features/feature/data/feature.ts
5372
5668
  var Feature = class extends AbstractApiData {
5373
5669
  static {
@@ -6807,6 +7103,59 @@ var ModulePaths = class extends AbstractApiData {
6807
7103
  }
6808
7104
  };
6809
7105
 
7106
+ // src/features/rbac/data/RbacMatrixModel.ts
7107
+ var RbacMatrixModel = class extends AbstractApiData {
7108
+ static {
7109
+ __name(this, "RbacMatrixModel");
7110
+ }
7111
+ _matrix;
7112
+ _modulePaths;
7113
+ _bytesWritten;
7114
+ _path;
7115
+ /** The RBAC matrix object (populated after a GET). */
7116
+ get matrix() {
7117
+ return this._matrix;
7118
+ }
7119
+ /**
7120
+ * UUID-keyed map of each module's known BFS relationship paths (populated
7121
+ * after a GET). Fed to the permission picker as scope suggestions.
7122
+ */
7123
+ get modulePaths() {
7124
+ return this._modulePaths;
7125
+ }
7126
+ /** Bytes written to the permissions.ts file (populated after a PUT). */
7127
+ get bytesWritten() {
7128
+ return this._bytesWritten;
7129
+ }
7130
+ /** Resolved absolute output path (populated after a PUT). */
7131
+ get path() {
7132
+ return this._path;
7133
+ }
7134
+ rehydrate(data) {
7135
+ super.rehydrate(data);
7136
+ const attrs = data.jsonApi.attributes ?? {};
7137
+ this._matrix = attrs.matrix;
7138
+ this._modulePaths = attrs.modulePaths;
7139
+ this._bytesWritten = attrs.bytesWritten;
7140
+ this._path = attrs.path;
7141
+ return this;
7142
+ }
7143
+ createJsonApi(data) {
7144
+ return {
7145
+ data: {
7146
+ type: "rbac-matrix",
7147
+ id: "singleton",
7148
+ attributes: {
7149
+ matrix: data.matrix,
7150
+ roleNames: data.roleNames,
7151
+ moduleNames: data.moduleNames,
7152
+ outputPath: data.outputPath
7153
+ }
7154
+ }
7155
+ };
7156
+ }
7157
+ };
7158
+
6810
7159
  // src/features/rbac/rbac.module.ts
6811
7160
  var PermissionMappingModule = /* @__PURE__ */ __name((factory) => factory({
6812
7161
  pageUrl: "/rbac/permission-mappings",
@@ -6820,6 +7169,10 @@ var ModulePathsModule = /* @__PURE__ */ __name((factory) => factory({
6820
7169
  model: ModulePaths,
6821
7170
  moduleId: "f4fb3f01-a947-4c2e-89c8-354a518cdb13"
6822
7171
  }), "ModulePathsModule");
7172
+ var RbacMatrixModule = /* @__PURE__ */ __name((factory) => factory({
7173
+ name: "_dev/rbac/matrix",
7174
+ model: RbacMatrixModel
7175
+ }), "RbacMatrixModule");
6823
7176
 
6824
7177
  // src/features/referral/data/ReferralStats.ts
6825
7178
  var ReferralStats = class extends AbstractApiData {
@@ -7113,6 +7466,12 @@ export {
7113
7466
  HowToModule,
7114
7467
  HowToFields,
7115
7468
  HowToService,
7469
+ Assistant,
7470
+ AssistantModule,
7471
+ AssistantService,
7472
+ AssistantMessage,
7473
+ AssistantMessageModule,
7474
+ AssistantMessageService,
7116
7475
  Feature,
7117
7476
  FeatureService,
7118
7477
  FeatureModule,
@@ -7150,8 +7509,10 @@ export {
7150
7509
  WaitlistStatsModule,
7151
7510
  PermissionMapping,
7152
7511
  ModulePaths,
7512
+ RbacMatrixModel,
7153
7513
  PermissionMappingModule,
7154
7514
  ModulePathsModule,
7515
+ RbacMatrixModule,
7155
7516
  ReferralStats,
7156
7517
  ReferralService,
7157
7518
  ReferralModule,
@@ -7160,4 +7521,4 @@ export {
7160
7521
  AuditLogService,
7161
7522
  AuditLogModule
7162
7523
  };
7163
- //# sourceMappingURL=chunk-XI35ALWY.mjs.map
7524
+ //# sourceMappingURL=chunk-BKM5U3DE.mjs.map