@myagentroam/server 0.13.4 → 0.13.7

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 (397) hide show
  1. package/dist/quick-start/node-runtime.js +21 -3
  2. package/dist/quick-start/run.js +11 -2
  3. package/node_modules/@myagentroam/protocol/dist/index.d.ts +8 -0
  4. package/node_modules/@myagentroam/protocol/dist/index.js +2 -0
  5. package/node_modules/@myagentroam/protocol/package.json +1 -1
  6. package/node_modules/@myagentroam/server-core/dist/mcp-service.js +5 -3
  7. package/node_modules/@myagentroam/server-core/dist/mysql-node-identity.d.ts +5 -0
  8. package/node_modules/@myagentroam/server-core/dist/mysql-node-identity.js +31 -0
  9. package/node_modules/@myagentroam/server-core/dist/skill-source-service.js +5 -3
  10. package/node_modules/@myagentroam/server-core/package.json +2 -2
  11. package/node_modules/@myagentroam-enterprise/server-implementation/dist/cli-messages.en-US.d.ts +1 -0
  12. package/node_modules/@myagentroam-enterprise/server-implementation/dist/cli-messages.en-US.js +1 -0
  13. package/node_modules/@myagentroam-enterprise/server-implementation/dist/cli-messages.zh-CN.d.ts +1 -0
  14. package/node_modules/@myagentroam-enterprise/server-implementation/dist/cli-messages.zh-CN.js +1 -0
  15. package/node_modules/@myagentroam-enterprise/server-implementation/dist/composition/quick-start-node-bootstrap.d.ts +5 -1
  16. package/node_modules/@myagentroam-enterprise/server-implementation/dist/composition/quick-start-node-bootstrap.js +9 -1
  17. package/node_modules/@myagentroam-enterprise/server-implementation/dist/composition/server-application.js +1 -0
  18. package/node_modules/@myagentroam-enterprise/server-implementation/dist/license/management-gate.js +3 -2
  19. package/node_modules/@myagentroam-enterprise/server-implementation/dist/mysql/server-database.d.ts +4 -0
  20. package/node_modules/@myagentroam-enterprise/server-implementation/dist/mysql/server-database.js +3 -0
  21. package/node_modules/@myagentroam-enterprise/server-implementation/dist/rbac/authorization-service.js +7 -1
  22. package/node_modules/@myagentroam-enterprise/server-implementation/package.json +3 -3
  23. package/package.json +6 -6
  24. package/web/assets/{AuditManagementPage-DnsGADhX.js → AuditManagementPage-fDpTFGAJ.js} +1 -1
  25. package/web/assets/{BusyIndicator-DuQN1wm-.js → BusyIndicator-81gYfHFI.js} +1 -1
  26. package/web/assets/{CodeFileEditor-BIIXeX-W.js → CodeFileEditor-BWA7aZwM.js} +3 -3
  27. package/web/assets/{ConversationTemplateManagementPage-Cq610Ift.js → ConversationTemplateManagementPage-CMwsINqq.js} +1 -1
  28. package/web/assets/{ConversationTemplateManagementPage-Bo4oyW8_.js → ConversationTemplateManagementPage-DM2WlZlh.js} +1 -1
  29. package/web/assets/{EnterpriseUserManagementPage-CaTrDqbs.js → EnterpriseUserManagementPage-BKCNfftS.js} +1 -1
  30. package/web/assets/{EnvironmentSecretManager-BsrTY2rn.js → EnvironmentSecretManager-jWSJQLLY.js} +1 -1
  31. package/web/assets/{FilePreviewLoading-RwWQoi6Y.js → FilePreviewLoading-EXabASKn.js} +1 -1
  32. package/web/assets/HtmlPreviewFrame-DQimcizh.js +5 -0
  33. package/web/assets/{HtmlPreviewFrame-CXd4x0y-.css → HtmlPreviewFrame-D_oKBx6Z.css} +1 -1
  34. package/web/assets/{LicenseManagementPage-7_EsyrhF.js → LicenseManagementPage-li8NTgz0.js} +1 -1
  35. package/web/assets/{ManagementPagination-2xmt9Zfx.js → ManagementPagination-DC_Jtk72.js} +1 -1
  36. package/web/assets/{MarAgentModelManagementPage-B5_l5kMw.js → MarAgentModelManagementPage-BhuEt5ck.js} +1 -1
  37. package/web/assets/{MarAgentModelManagementPage-CjMpM_RC.js → MarAgentModelManagementPage-DtQDSKsm.js} +1 -1
  38. package/web/assets/{MarIcon-Bey6vvFS.js → MarIcon-DRzNI1TJ.js} +1 -1
  39. package/web/assets/{MarkdownFilePreview-DroSJppq.js → MarkdownFilePreview-DRxwzEkP.js} +2 -2
  40. package/web/assets/{McpDetailsDialog-BrklXkCL.js → McpDetailsDialog-C4hLhwaZ.js} +1 -1
  41. package/web/assets/{McpSourceManagementPage-CCugQvg2.js → McpSourceManagementPage-B4o2soUo.js} +1 -1
  42. package/web/assets/{McpSourceManagementPage-BBw8Fnb7.js → McpSourceManagementPage-ChCP_9Wx.js} +1 -1
  43. package/web/assets/{NodeDetailsDialogs-U0lssvGT.js → NodeDetailsDialogs-jvve59Rc.js} +1 -1
  44. package/web/assets/NodeManagementPage-BaoMHEc6.js +1 -0
  45. package/web/assets/NodeManagementPage-DcE_Tno8.js +1 -0
  46. package/web/assets/{OAuthManagementPage-BeiBNSsN.js → OAuthManagementPage-oSorMLvE.js} +1 -1
  47. package/web/assets/{OrganizationManagementPage-CS9sBwhZ.js → OrganizationManagementPage-CEcAvCJe.js} +1 -1
  48. package/web/assets/{ResourceManagementPanel-Ck53eFHZ.js → ResourceManagementPanel-kqq0Svx_.js} +1 -1
  49. package/web/assets/{ResourceManagementPanel.vue_vue_type_script_setup_true_lang-D1vZJR_l.js → ResourceManagementPanel.vue_vue_type_script_setup_true_lang-DWpc58cT.js} +1 -1
  50. package/web/assets/{SecretManagementPage-CkoIPpRk.js → SecretManagementPage-CXmPmuQ7.js} +1 -1
  51. package/web/assets/SecretManagementPage-DnHmkYKn.js +1 -0
  52. package/web/assets/{SecretManagementPage.vue_vue_type_script_setup_true_lang-Bq3JYt0N.js → SecretManagementPage.vue_vue_type_script_setup_true_lang-DBmhix-s.js} +1 -1
  53. package/web/assets/{SessionSharePage-UYao-99J.js → SessionSharePage-Bfibf3C2.js} +2 -2
  54. package/web/assets/{SettingsContent-Cdhq2mMs.js → SettingsContent-BQYXFW0-.js} +1 -1
  55. package/web/assets/{SettingsContent-CxwrhDv3.js → SettingsContent-KFZsk8Yv.js} +1 -1
  56. package/web/assets/{SkillCenterPage-7USQN-DP.js → SkillCenterPage-5lJUA9pl.js} +1 -1
  57. package/web/assets/SkillCenterPage-BmqIek5Q.js +1 -0
  58. package/web/assets/{SkillDetailsDialog-BsiPRfbz.js → SkillDetailsDialog-CrN5o6Jk.js} +1 -1
  59. package/web/assets/{SkillSourceManagementPage-DFnaYnRe.js → SkillSourceManagementPage-Di_lVA5-.js} +1 -1
  60. package/web/assets/{SkillSourceManagementPage-BvOdElvU.js → SkillSourceManagementPage-DpenHp3H.js} +1 -1
  61. package/web/assets/{StandaloneFilePreviewPage-Cb1MpQfh.js → StandaloneFilePreviewPage-_Lh1H6-k.js} +1 -1
  62. package/web/assets/{SystemConfigurationPage-DME6cns0.js → SystemConfigurationPage-BpCsGW-2.js} +1 -1
  63. package/web/assets/SystemConfigurationPage-BqqdmrAK.js +1 -0
  64. package/web/assets/{SystemInformationPage-DGZWfrXE.js → SystemInformationPage-G9WA9kpj.js} +1 -1
  65. package/web/assets/{TerminalTabView-CuQzSev1.js → TerminalTabView-KFAT6dN-.js} +1 -1
  66. package/web/assets/{WorkbenchPage-B7W9kyOw.js → WorkbenchPage-BQdwbvse.js} +15 -15
  67. package/web/assets/WorkbenchPage-ptvzMUTa.css +1 -0
  68. package/web/assets/WorkspaceManagementPage-BYtbXfHc.js +1 -0
  69. package/web/assets/WorkspaceManagementPage-C-9iCpGW.js +1 -0
  70. package/web/assets/{_baseIteratee-3ynz4yPF.js → _baseIteratee-CEjLB6P0.js} +1 -1
  71. package/web/assets/{abnfDiagram-VCTEODGH-DupmQ6Er.js → abnfDiagram-VCTEODGH-DwwJ-B6X.js} +1 -1
  72. package/web/assets/{advancedFormat-Bqm4Kq1b.js → advancedFormat-DwAKrlQQ.js} +1 -1
  73. package/web/assets/{arc-Fq0BJf1Q.js → arc-BhUv0GFi.js} +1 -1
  74. package/web/assets/{architectureDiagram-5GKGNRK7-B4EFAJN2.js → architectureDiagram-5GKGNRK7-BYwr4pOI.js} +1 -1
  75. package/web/assets/{blockDiagram-OSKFZWR5-B75Yxltl.js → blockDiagram-OSKFZWR5-BQ0G5RBd.js} +1 -1
  76. package/web/assets/{c4Diagram-7LVT6UL2-2IJLHGl0.js → c4Diagram-7LVT6UL2-DLmelPF5.js} +1 -1
  77. package/web/assets/{catalog-ownership-service-BMQL4KAM.js → catalog-ownership-service-BQ72dnlA.js} +1 -1
  78. package/web/assets/{catalog-page-service-Cnb4fp1m.js → catalog-page-service-D4eWT4uF.js} +1 -1
  79. package/web/assets/channel-BAHh016e.js +1 -0
  80. package/web/assets/{chunk-2Q5K7J3B-BbIlpi0m.js → chunk-2Q5K7J3B-CQf0ME4y.js} +1 -1
  81. package/web/assets/{chunk-5VM5RSS4-Ds5gdCgX.js → chunk-5VM5RSS4-DQY_-Ks6.js} +1 -1
  82. package/web/assets/{chunk-F27PBJKO-DBafPcM9.js → chunk-F27PBJKO-CklCJyS6.js} +1 -1
  83. package/web/assets/{chunk-HLEWEB6X-Ctl85JUs.js → chunk-HLEWEB6X-Ofa5loFJ.js} +1 -1
  84. package/web/assets/{chunk-JWPE2WC7-Df0cT3j7.js → chunk-JWPE2WC7-Dc7083sU.js} +1 -1
  85. package/web/assets/{chunk-POPQ4Y6H-OSXerjxo.js → chunk-POPQ4Y6H-D4Zc7_fI.js} +1 -1
  86. package/web/assets/{chunk-SVP7TREG-4azsKQ7R.js → chunk-SVP7TREG-DiJC9xJx.js} +1 -1
  87. package/web/assets/{chunk-XXDRQBXY-RCyyudHN.js → chunk-XXDRQBXY-BhYPRykj.js} +1 -1
  88. package/web/assets/{chunk-ZLD2IHE6-CE_CQEwa.js → chunk-ZLD2IHE6-Cc-O9KsT.js} +1 -1
  89. package/web/assets/classDiagram-CYGNFDIV-IKe_y23-.js +1 -0
  90. package/web/assets/classDiagram-v2-TLXNO2FR-IKe_y23-.js +1 -0
  91. package/web/assets/{conversation-history-CUVjobW9.js → conversation-history-DsSE1wLH.js} +1 -1
  92. package/web/assets/{cose-bilkent-JH36ORCC-B4UTqEAs.js → cose-bilkent-JH36ORCC-rFqp0SYn.js} +1 -1
  93. package/web/assets/{cynefin-OW5HDTMX-B9U7i_AE.js → cynefin-OW5HDTMX-deO0LWKC.js} +1 -1
  94. package/web/assets/{cynefinDiagram-5FMLGOSQ-DjOvM95v.js → cynefinDiagram-5FMLGOSQ-BCj0mYAO.js} +1 -1
  95. package/web/assets/{dagre-OS7QT2EB-DC57hRv_.js → dagre-OS7QT2EB-faTq17DR.js} +1 -1
  96. package/web/assets/{diagram-S7CK7UJ4-D6mHX9Fx.js → diagram-S7CK7UJ4-cAbTZ8qd.js} +1 -1
  97. package/web/assets/{diagram-UQ7AKVKN-B2kIa0Jp.js → diagram-UQ7AKVKN-CxoALt7V.js} +1 -1
  98. package/web/assets/{diagram-VSXAHHWV-Bxv36NlF.js → diagram-VSXAHHWV-BcZM5S7Z.js} +1 -1
  99. package/web/assets/{diagram-VX7I27RA-xZ_Rnq6j.js → diagram-VX7I27RA-QIaSkKCU.js} +1 -1
  100. package/web/assets/{diagram-Z3DM3KII-CdSuHCfk.js → diagram-Z3DM3KII-tYE8PEsy.js} +1 -1
  101. package/web/assets/{ebnfDiagram-PWID7BFC-yx8cKpo-.js → ebnfDiagram-PWID7BFC-CQON9X8w.js} +1 -1
  102. package/web/assets/{el-alert-YwFfkzFY.js → el-alert-DQT74Z6k.js} +1 -1
  103. package/web/assets/{el-cascader-DLHPkFf2.js → el-cascader-B52hB1X4.js} +1 -1
  104. package/web/assets/{el-checkbox-D7B8QPnv.js → el-checkbox-D8E82IC3.js} +1 -1
  105. package/web/assets/{el-date-picker-3YbpvR4-.js → el-date-picker-CzlIv3iG.js} +1 -1
  106. package/web/assets/{el-descriptions-pbjjg_nj.js → el-descriptions-CrLOiLtM.js} +1 -1
  107. package/web/assets/{el-form-item-C0hI6zRh.js → el-form-item-CjLvz7IR.js} +1 -1
  108. package/web/assets/{el-input-BBSbjFbs.js → el-input-DsD8wPgd.js} +1 -1
  109. package/web/assets/{el-input-number-BD9kOXXp.js → el-input-number-DYTEBnhp.js} +1 -1
  110. package/web/assets/{el-radio-ByQM3NKI.js → el-radio-rHorotS0.js} +1 -1
  111. package/web/assets/{el-select-BEIvaLbl.js → el-select-vQRSFUuU.js} +1 -1
  112. package/web/assets/{el-switch-DNSjKrx8.js → el-switch-D49n4nYq.js} +1 -1
  113. package/web/assets/{el-tab-pane-P1W8N6RB.js → el-tab-pane-CpoewUFm.js} +1 -1
  114. package/web/assets/{el-table-column-BkxhVRss.js → el-table-column-DIe-Jdox.js} +1 -1
  115. package/web/assets/{enterprise-management-service-C_5GRorU.js → enterprise-management-service-CYSkSkqU.js} +1 -1
  116. package/web/assets/{erDiagram-2YWLMYGG-CysMQY_a.js → erDiagram-2YWLMYGG-D6cLXjx4.js} +1 -1
  117. package/web/assets/{error-presentation-CMcHjWH1.js → error-presentation-CKm32JzU.js} +1 -1
  118. package/web/assets/{flowDiagram-T62WH6J4-D3EWUl6L.js → flowDiagram-T62WH6J4-CWSvQfIj.js} +1 -1
  119. package/web/assets/{ganttDiagram-EL5Y4UJY-D8p3UoZQ.js → ganttDiagram-EL5Y4UJY-Bk9PlmQ0.js} +1 -1
  120. package/web/assets/{gitGraphDiagram-WWUBYQGX-DOStzbFz.js → gitGraphDiagram-WWUBYQGX-JFxyzn2J.js} +1 -1
  121. package/web/assets/{hosted-conversation-template-client-D4Wn8q89.js → hosted-conversation-template-client-CYBI7IvT.js} +1 -1
  122. package/web/assets/{index-D8dMhcz9.js → index-98DLRplS.js} +1 -1
  123. package/web/assets/{index-DkfdzgTk.js → index-BP-OH85t.js} +1 -1
  124. package/web/assets/{index-CM_0TkoS.js → index-BQ4D3lnr.js} +1 -1
  125. package/web/assets/{index-bl_S7WPN.js → index-BS-OsBk1.js} +1 -1
  126. package/web/assets/{index-DbuM3bO4.js → index-BTXpkf3M.js} +1 -1
  127. package/web/assets/{index-DLalpHzD.js → index-BbOzeZis.js} +1 -1
  128. package/web/assets/{index-m9YdF02w.js → index-BzBol34B.js} +1 -1
  129. package/web/assets/{index-DW6tcz5Z.js → index-C-rtGAiQ.js} +1 -1
  130. package/web/assets/{index-CYeXhiRu.js → index-C20Ctqox.js} +1 -1
  131. package/web/assets/{index-BwULrRvu.js → index-C20z2yeK.js} +1 -1
  132. package/web/assets/{index-0Qtks3Zu.js → index-C38uEGP7.js} +1 -1
  133. package/web/assets/{index-DuKtBO_u.js → index-C8HJ-7wK.js} +1 -1
  134. package/web/assets/{index-CwiFFfS1.js → index-CNYQPSEc.js} +1 -1
  135. package/web/assets/{index-BLspLxxD.js → index-CRCrq0fK.js} +1 -1
  136. package/web/assets/{index-nTguJepi.js → index-CeewrlMR.js} +1 -1
  137. package/web/assets/{index-C4XljgeB.js → index-D0gqeuOi.js} +1 -1
  138. package/web/assets/{index-Df8FjIGd.js → index-DCX6wtGf.js} +1 -1
  139. package/web/assets/{index-DswoMecP.js → index-DFYUX44y.js} +1 -1
  140. package/web/assets/{index-CGPHfg1G.js → index-DYEKyod1.js} +1 -1
  141. package/web/assets/{index-DrVPbxCP.js → index-Dmjcd9dH.js} +1 -1
  142. package/web/assets/{index-B35Hh-19.js → index-DqPiRdTW.js} +1 -1
  143. package/web/assets/{index-CvclBhn2.js → index-Dw3xGHpw.js} +1 -1
  144. package/web/assets/{index-B26xf70t.js → index-FxdcMPQK.js} +1 -1
  145. package/web/assets/{index-ft9uuHSX.js → index-GDJZ4nKF.js} +1 -1
  146. package/web/assets/{index-CiC8263F.js → index-QkybH-4Y.js} +1 -1
  147. package/web/assets/{index-dMLXuty7.js → index-X_ZLsJF-.js} +1 -1
  148. package/web/assets/{index-DTE-qCKl.js → index-oJjFup0f.js} +1 -1
  149. package/web/assets/{index-eJcmffyl.js → index-s_IiIj3Q.js} +1 -1
  150. package/web/assets/{index-BCZqekVb.js → index-tebwt16R.js} +3 -3
  151. package/web/assets/infoDiagram-FKFFQAWI-odw5ek8A.js +2 -0
  152. package/web/assets/{isArrayLikeObject-DBTZh06Y.js → isArrayLikeObject-CNIeaAGq.js} +1 -1
  153. package/web/assets/{ishikawaDiagram-5VMMS53U-KdtSHy0d.js → ishikawaDiagram-5VMMS53U-S3I395rk.js} +1 -1
  154. package/web/assets/{journeyDiagram-EYS64GPL-BWm62hPR.js → journeyDiagram-EYS64GPL-CEURtMQT.js} +1 -1
  155. package/web/assets/{kanban-definition-UXKFOSKX-97_o1WCj.js → kanban-definition-UXKFOSKX-B_I_ageX.js} +1 -1
  156. package/web/assets/{layout-6_PY2p7c.js → layout-C28pcZJ3.js} +1 -1
  157. package/web/assets/{linear-BT7Hx9AK.js → linear-B5pI1vN0.js} +1 -1
  158. package/web/assets/{management-url-service-B2_kg7lH.js → management-url-service-BUrqsIPf.js} +1 -1
  159. package/web/assets/{mcp-center-service-Cvb3tmP2.js → mcp-center-service-Bt8KNvBQ.js} +1 -1
  160. package/web/assets/{merge-DaI_T8rv.js → merge-k_TKlNxw.js} +1 -1
  161. package/web/assets/{mermaid.core-DL0NmHpa.js → mermaid.core-DPF_lBS3.js} +5 -5
  162. package/web/assets/{message-box-service-Vs92kolE.js → message-box-service-BzqjQhzH.js} +1 -1
  163. package/web/assets/{mindmap-definition-THT77NOG-CAPKaXNd.js → mindmap-definition-THT77NOG-D1wx2rOh.js} +1 -1
  164. package/web/assets/{mobile-dialog-return-service-3QafxIkr.js → mobile-dialog-return-service-CDghLsut.js} +1 -1
  165. package/web/assets/{oauth-callback-BlSeaEf-.js → oauth-callback-B21gNkv-.js} +1 -1
  166. package/web/assets/{pegDiagram-XKGWAZYB-hJB71Znn.js → pegDiagram-XKGWAZYB-0meuEp8g.js} +1 -1
  167. package/web/assets/{pieDiagram-E7YTZNPT-COeAYSnz.js → pieDiagram-E7YTZNPT-jC3klXwe.js} +1 -1
  168. package/web/assets/{quadrantDiagram-AXDQQJYC-DHTuVvw3.js → quadrantDiagram-AXDQQJYC-DzQbzknx.js} +1 -1
  169. package/web/assets/{railroadDiagram-O6MQD6OU-bKHrlAIG.js → railroadDiagram-O6MQD6OU-DwiX_44I.js} +1 -1
  170. package/web/assets/{requirementDiagram-IS5BZ75X--2VkiRxe.js → requirementDiagram-IS5BZ75X-DdBB28Xn.js} +1 -1
  171. package/web/assets/{runner-presentation-BW-vKSQP.js → runner-presentation-CjPY5Dey.js} +1 -1
  172. package/web/assets/{sankeyDiagram-P5KCCOFB-k5g8_UfF.js → sankeyDiagram-P5KCCOFB-B1WX3WR_.js} +1 -1
  173. package/web/assets/{sequenceDiagram-WJ2MYXX4-3T1cTiKX.js → sequenceDiagram-WJ2MYXX4-Cz_KunCM.js} +1 -1
  174. package/web/assets/{session-share-client-service-BePcCd8T.js → session-share-client-service-C-0DdFRE.js} +1 -1
  175. package/web/assets/{sizeCapture-INFHLROL-CAmN45ar.js → sizeCapture-INFHLROL-sB2YOfNo.js} +1 -1
  176. package/web/assets/{stateDiagram-XQSTLZYL-DyCNMKfm.js → stateDiagram-XQSTLZYL-Bwb7A16z.js} +1 -1
  177. package/web/assets/stateDiagram-v2-IH3M54BS-DY5Ukxza.js +1 -0
  178. package/web/assets/{swimlanes-V6O3JKXN-CShGr_U7.js → swimlanes-V6O3JKXN-BNtAnq9r.js} +1 -1
  179. package/web/assets/swimlanesDiagram-JKAHXJPX-BZu5MiNn.js +8 -0
  180. package/web/assets/{time-presentation-DYGS-swy.js → time-presentation-Cz63DSUv.js} +1 -1
  181. package/web/assets/{timeline-definition-24CTP7MA-CRagiyPI.js → timeline-definition-24CTP7MA-Cs6NtxYd.js} +1 -1
  182. package/web/assets/{union-SQqiJk16.js → union-C5QcR3bq.js} +1 -1
  183. package/web/assets/{use-form-common-props-CiMdMq_M.js → use-form-common-props-C_muwpbj.js} +1 -1
  184. package/web/assets/{use-wheel-BGpTGiSt.js → use-wheel-7n7Aiy_e.js} +1 -1
  185. package/web/assets/{vennDiagram-4TSXK5OY-_jtB4CJn.js → vennDiagram-4TSXK5OY-DQcN4PIp.js} +1 -1
  186. package/web/assets/{wardleyDiagram-VM6X3IG4-Blsdb7g_.js → wardleyDiagram-VM6X3IG4-B5qQJgni.js} +1 -1
  187. package/web/assets/{workbench-composer-interaction-controller-BvnJG4HW.js → workbench-composer-interaction-controller-BFZkEbwV.js} +19 -19
  188. package/web/assets/{workbench-presentation-b_MlZ-jq.js → workbench-presentation-DSjYJkKK.js} +1 -1
  189. package/web/assets/{xychartDiagram-S5SC5T6Z-BTu61LZj.js → xychartDiagram-S5SC5T6Z-B8yJLdGw.js} +1 -1
  190. package/web/docs/404.html +2 -2
  191. package/web/docs/administration/account.html +4 -4
  192. package/web/docs/administration/audit.html +4 -4
  193. package/web/docs/administration/conversation-templates.html +4 -4
  194. package/web/docs/administration/email-notifications.html +4 -4
  195. package/web/docs/administration/license.html +5 -5
  196. package/web/docs/administration/nodes-workspaces.html +4 -4
  197. package/web/docs/administration/oauth.html +4 -4
  198. package/web/docs/administration/secrets.html +4 -4
  199. package/web/docs/administration/template-workspace-maintenance.html +4 -4
  200. package/web/docs/administration/users-organizations.html +4 -4
  201. package/web/docs/assets/administration_license.md.CVLEsGB6.js +1 -0
  202. package/web/docs/assets/{administration_license.md.CdgtKnVd.lean.js → administration_license.md.CVLEsGB6.lean.js} +1 -1
  203. package/web/docs/assets/{app.DQ73g8Ca.js → app.HBmL36pQ.js} +1 -1
  204. package/web/docs/assets/chunks/@localSearchIndexen-US.pxMPDJyo.js +1 -0
  205. package/web/docs/assets/chunks/@localSearchIndexroot.Bmvw1ncU.js +1 -0
  206. package/web/docs/assets/chunks/{VPLocalSearchBox.vP8fXe46.js → VPLocalSearchBox.9e8uHIOt.js} +1 -1
  207. package/web/docs/assets/chunks/{theme.CES2lSYr.js → theme.CXF2ox30.js} +2 -2
  208. package/web/docs/assets/deployment_network.md.Bbi7-zH2.js +1 -0
  209. package/web/docs/assets/deployment_network.md.Bbi7-zH2.lean.js +1 -0
  210. package/web/docs/assets/deployment_upgrade.md.CG_VFxvG.js +1 -0
  211. package/web/docs/assets/deployment_upgrade.md.CG_VFxvG.lean.js +1 -0
  212. package/web/docs/assets/{en-US_administration_license.md.jmAMVJjC.js → en-US_administration_license.md.GCAYq1LT.js} +1 -1
  213. package/web/docs/assets/{en-US_administration_license.md.jmAMVJjC.lean.js → en-US_administration_license.md.GCAYq1LT.lean.js} +1 -1
  214. package/web/docs/assets/en-US_deployment_network.md.770EzfaT.js +1 -0
  215. package/web/docs/assets/en-US_deployment_network.md.770EzfaT.lean.js +1 -0
  216. package/web/docs/assets/en-US_deployment_upgrade.md.DDevql7U.js +1 -0
  217. package/web/docs/assets/{en-US_deployment_upgrade.md.DZiDDiLn.lean.js → en-US_deployment_upgrade.md.DDevql7U.lean.js} +1 -1
  218. package/web/docs/assets/en-US_getting-started_npm-quick-start.md.D46Ec15e.js +3 -0
  219. package/web/docs/assets/en-US_getting-started_npm-quick-start.md.D46Ec15e.lean.js +1 -0
  220. package/web/docs/assets/{en-US_getting-started_overview.md.Bug5sh21.js → en-US_getting-started_overview.md.CB-43rGR.js} +1 -1
  221. package/web/docs/assets/{en-US_getting-started_overview.md.Bug5sh21.lean.js → en-US_getting-started_overview.md.CB-43rGR.lean.js} +1 -1
  222. package/web/docs/assets/en-US_getting-started_prerequisites.md.BFxGOlUy.js +1 -0
  223. package/web/docs/assets/en-US_getting-started_prerequisites.md.BFxGOlUy.lean.js +1 -0
  224. package/web/docs/assets/{en-US_getting-started_server-installation.md._k2XGM85.js → en-US_getting-started_server-installation.md.C7SjGDJt.js} +2 -2
  225. package/web/docs/assets/en-US_workbench_skills.md.xchi27R9.js +1 -0
  226. package/web/docs/assets/{en-US_workbench_skills.md.C4xlXyjC.lean.js → en-US_workbench_skills.md.xchi27R9.lean.js} +1 -1
  227. package/web/docs/assets/getting-started_npm-quick-start.md.CIYjFmiu.js +3 -0
  228. package/web/docs/assets/getting-started_npm-quick-start.md.CIYjFmiu.lean.js +1 -0
  229. package/web/docs/assets/{getting-started_overview.md.CA1CCOBc.js → getting-started_overview.md.Cv-HSfAh.js} +1 -1
  230. package/web/docs/assets/getting-started_prerequisites.md.DjWWTA7V.js +1 -0
  231. package/web/docs/assets/{getting-started_prerequisites.md.D26KU42D.lean.js → getting-started_prerequisites.md.DjWWTA7V.lean.js} +1 -1
  232. package/web/docs/assets/{getting-started_server-installation.md.D3P3Lmc2.js → getting-started_server-installation.md.BsEfVH6b.js} +2 -2
  233. package/web/docs/assets/workbench_skills.md.BQw1Wuiy.js +1 -0
  234. package/web/docs/assets/{workbench_skills.md.rWZ_VuoB.lean.js → workbench_skills.md.BQw1Wuiy.lean.js} +1 -1
  235. package/web/docs/concepts/architecture.html +4 -4
  236. package/web/docs/concepts/data-and-security.html +4 -4
  237. package/web/docs/concepts/files-git-terminal.html +4 -4
  238. package/web/docs/concepts/node-and-workspace.html +4 -4
  239. package/web/docs/concepts/permissions-and-sharing.html +4 -4
  240. package/web/docs/concepts/runner-control.html +4 -4
  241. package/web/docs/concepts/secrets.html +4 -4
  242. package/web/docs/concepts/session-run-turn.html +4 -4
  243. package/web/docs/deployment/backup-restore.html +4 -4
  244. package/web/docs/deployment/network.html +5 -5
  245. package/web/docs/deployment/node-installation.html +4 -4
  246. package/web/docs/deployment/node-linux.html +4 -4
  247. package/web/docs/deployment/node-macos.html +4 -4
  248. package/web/docs/deployment/node-windows.html +4 -4
  249. package/web/docs/deployment/production.html +4 -4
  250. package/web/docs/deployment/security-checklist.html +4 -4
  251. package/web/docs/deployment/upgrade.html +5 -5
  252. package/web/docs/en-US/administration/account.html +4 -4
  253. package/web/docs/en-US/administration/audit.html +4 -4
  254. package/web/docs/en-US/administration/conversation-templates.html +4 -4
  255. package/web/docs/en-US/administration/email-notifications.html +4 -4
  256. package/web/docs/en-US/administration/license.html +5 -5
  257. package/web/docs/en-US/administration/nodes-workspaces.html +4 -4
  258. package/web/docs/en-US/administration/oauth.html +4 -4
  259. package/web/docs/en-US/administration/secrets.html +4 -4
  260. package/web/docs/en-US/administration/template-workspace-maintenance.html +4 -4
  261. package/web/docs/en-US/administration/users-organizations.html +4 -4
  262. package/web/docs/en-US/concepts/architecture.html +4 -4
  263. package/web/docs/en-US/concepts/data-and-security.html +4 -4
  264. package/web/docs/en-US/concepts/files-git-terminal.html +4 -4
  265. package/web/docs/en-US/concepts/node-and-workspace.html +4 -4
  266. package/web/docs/en-US/concepts/permissions-and-sharing.html +4 -4
  267. package/web/docs/en-US/concepts/runner-control.html +4 -4
  268. package/web/docs/en-US/concepts/secrets.html +4 -4
  269. package/web/docs/en-US/concepts/session-run-turn.html +4 -4
  270. package/web/docs/en-US/deployment/backup-restore.html +4 -4
  271. package/web/docs/en-US/deployment/network.html +5 -5
  272. package/web/docs/en-US/deployment/node-installation.html +4 -4
  273. package/web/docs/en-US/deployment/node-linux.html +4 -4
  274. package/web/docs/en-US/deployment/node-macos.html +4 -4
  275. package/web/docs/en-US/deployment/node-windows.html +4 -4
  276. package/web/docs/en-US/deployment/production.html +4 -4
  277. package/web/docs/en-US/deployment/security-checklist.html +4 -4
  278. package/web/docs/en-US/deployment/upgrade.html +5 -5
  279. package/web/docs/en-US/getting-started/connect-node.html +4 -4
  280. package/web/docs/en-US/getting-started/first-agent-session.html +4 -4
  281. package/web/docs/en-US/getting-started/first-login.html +4 -4
  282. package/web/docs/en-US/getting-started/next-steps.html +4 -4
  283. package/web/docs/en-US/getting-started/npm-quick-start.html +7 -7
  284. package/web/docs/en-US/getting-started/overview.html +5 -5
  285. package/web/docs/en-US/getting-started/prerequisites.html +5 -5
  286. package/web/docs/en-US/getting-started/register-workspace.html +4 -4
  287. package/web/docs/en-US/getting-started/server-installation.html +6 -6
  288. package/web/docs/en-US/operations/marctl.html +4 -4
  289. package/web/docs/en-US/reference/configuration.html +4 -4
  290. package/web/docs/en-US/reference/keyboard-shortcuts.html +4 -4
  291. package/web/docs/en-US/reference/limits.html +4 -4
  292. package/web/docs/en-US/reference/ports-paths-data.html +4 -4
  293. package/web/docs/en-US/reference/status-and-errors.html +4 -4
  294. package/web/docs/en-US/runners/claude-code.html +4 -4
  295. package/web/docs/en-US/runners/codex.html +4 -4
  296. package/web/docs/en-US/runners/mar-agent.html +4 -4
  297. package/web/docs/en-US/runners/opencode.html +4 -4
  298. package/web/docs/en-US/runners/overview.html +4 -4
  299. package/web/docs/en-US/runners/runner-troubleshooting.html +4 -4
  300. package/web/docs/en-US/troubleshooting/node-offline.html +4 -4
  301. package/web/docs/en-US/troubleshooting/quick-diagnosis.html +4 -4
  302. package/web/docs/en-US/troubleshooting/session-run.html +4 -4
  303. package/web/docs/en-US/troubleshooting/terminal.html +4 -4
  304. package/web/docs/en-US/troubleshooting/workspace-files.html +4 -4
  305. package/web/docs/en-US/workbench/composer.html +4 -4
  306. package/web/docs/en-US/workbench/context-and-plan.html +4 -4
  307. package/web/docs/en-US/workbench/conversation.html +4 -4
  308. package/web/docs/en-US/workbench/file-reference-and-attachment.html +4 -4
  309. package/web/docs/en-US/workbench/files.html +4 -4
  310. package/web/docs/en-US/workbench/git-changes.html +4 -4
  311. package/web/docs/en-US/workbench/git-history.html +4 -4
  312. package/web/docs/en-US/workbench/hosted-conversations.html +4 -4
  313. package/web/docs/en-US/workbench/mobile.html +4 -4
  314. package/web/docs/en-US/workbench/navigation.html +4 -4
  315. package/web/docs/en-US/workbench/sessions.html +4 -4
  316. package/web/docs/en-US/workbench/skills.html +5 -5
  317. package/web/docs/en-US/workbench/terminal.html +4 -4
  318. package/web/docs/getting-started/connect-node.html +4 -4
  319. package/web/docs/getting-started/first-agent-session.html +4 -4
  320. package/web/docs/getting-started/first-login.html +4 -4
  321. package/web/docs/getting-started/next-steps.html +4 -4
  322. package/web/docs/getting-started/npm-quick-start.html +7 -7
  323. package/web/docs/getting-started/overview.html +5 -5
  324. package/web/docs/getting-started/prerequisites.html +5 -5
  325. package/web/docs/getting-started/register-workspace.html +4 -4
  326. package/web/docs/getting-started/server-installation.html +6 -6
  327. package/web/docs/hashmap.json +1 -1
  328. package/web/docs/operations/marctl.html +4 -4
  329. package/web/docs/reference/configuration.html +4 -4
  330. package/web/docs/reference/keyboard-shortcuts.html +4 -4
  331. package/web/docs/reference/limits.html +4 -4
  332. package/web/docs/reference/ports-paths-data.html +4 -4
  333. package/web/docs/reference/status-and-errors.html +4 -4
  334. package/web/docs/runners/claude-code.html +4 -4
  335. package/web/docs/runners/codex.html +4 -4
  336. package/web/docs/runners/mar-agent.html +4 -4
  337. package/web/docs/runners/opencode.html +4 -4
  338. package/web/docs/runners/overview.html +4 -4
  339. package/web/docs/runners/runner-troubleshooting.html +4 -4
  340. package/web/docs/troubleshooting/node-offline.html +4 -4
  341. package/web/docs/troubleshooting/quick-diagnosis.html +4 -4
  342. package/web/docs/troubleshooting/session-run.html +4 -4
  343. package/web/docs/troubleshooting/terminal.html +4 -4
  344. package/web/docs/troubleshooting/workspace-files.html +4 -4
  345. package/web/docs/workbench/composer.html +4 -4
  346. package/web/docs/workbench/context-and-plan.html +4 -4
  347. package/web/docs/workbench/conversation.html +4 -4
  348. package/web/docs/workbench/file-reference-and-attachment.html +4 -4
  349. package/web/docs/workbench/files.html +4 -4
  350. package/web/docs/workbench/git-changes.html +4 -4
  351. package/web/docs/workbench/git-history.html +4 -4
  352. package/web/docs/workbench/hosted-conversations.html +4 -4
  353. package/web/docs/workbench/mobile.html +4 -4
  354. package/web/docs/workbench/navigation.html +4 -4
  355. package/web/docs/workbench/sessions.html +4 -4
  356. package/web/docs/workbench/skills.html +5 -5
  357. package/web/docs/workbench/terminal.html +4 -4
  358. package/web/index.html +1 -1
  359. package/web/service-worker.js +1 -1
  360. package/web/web-version.json +1 -1
  361. package/web/assets/HtmlPreviewFrame-ClcGdqP1.js +0 -5
  362. package/web/assets/NodeManagementPage-8rxZ_6Zt.js +0 -1
  363. package/web/assets/NodeManagementPage-Ccod7oYU.js +0 -1
  364. package/web/assets/SecretManagementPage-CdgTv3Ov.js +0 -1
  365. package/web/assets/SkillCenterPage-93Mc7S1A.js +0 -1
  366. package/web/assets/SystemConfigurationPage-Dg5txhny.js +0 -1
  367. package/web/assets/WorkbenchPage-C1l73Bo7.css +0 -1
  368. package/web/assets/WorkspaceManagementPage-D_xOZ93I.js +0 -1
  369. package/web/assets/WorkspaceManagementPage-K7-IdW3A.js +0 -1
  370. package/web/assets/channel-Df00MEsi.js +0 -1
  371. package/web/assets/classDiagram-CYGNFDIV-BkPukKVs.js +0 -1
  372. package/web/assets/classDiagram-v2-TLXNO2FR-BkPukKVs.js +0 -1
  373. package/web/assets/infoDiagram-FKFFQAWI-DMowyzbG.js +0 -2
  374. package/web/assets/stateDiagram-v2-IH3M54BS-BEZ0_9G2.js +0 -1
  375. package/web/assets/swimlanesDiagram-JKAHXJPX-2keKlibd.js +0 -8
  376. package/web/docs/assets/administration_license.md.CdgtKnVd.js +0 -1
  377. package/web/docs/assets/chunks/@localSearchIndexen-US.BmMs0yM1.js +0 -1
  378. package/web/docs/assets/chunks/@localSearchIndexroot.BUqMaw8-.js +0 -1
  379. package/web/docs/assets/deployment_network.md.BarghfLt.js +0 -1
  380. package/web/docs/assets/deployment_network.md.BarghfLt.lean.js +0 -1
  381. package/web/docs/assets/deployment_upgrade.md.BESOToM5.js +0 -1
  382. package/web/docs/assets/deployment_upgrade.md.BESOToM5.lean.js +0 -1
  383. package/web/docs/assets/en-US_deployment_network.md.DdOgOLns.js +0 -1
  384. package/web/docs/assets/en-US_deployment_network.md.DdOgOLns.lean.js +0 -1
  385. package/web/docs/assets/en-US_deployment_upgrade.md.DZiDDiLn.js +0 -1
  386. package/web/docs/assets/en-US_getting-started_npm-quick-start.md.CLCHq7k_.js +0 -3
  387. package/web/docs/assets/en-US_getting-started_npm-quick-start.md.CLCHq7k_.lean.js +0 -1
  388. package/web/docs/assets/en-US_getting-started_prerequisites.md.Bpx_AQD1.js +0 -1
  389. package/web/docs/assets/en-US_getting-started_prerequisites.md.Bpx_AQD1.lean.js +0 -1
  390. package/web/docs/assets/en-US_workbench_skills.md.C4xlXyjC.js +0 -1
  391. package/web/docs/assets/getting-started_npm-quick-start.md.B9varoSe.js +0 -3
  392. package/web/docs/assets/getting-started_npm-quick-start.md.B9varoSe.lean.js +0 -1
  393. package/web/docs/assets/getting-started_prerequisites.md.D26KU42D.js +0 -1
  394. package/web/docs/assets/workbench_skills.md.rWZ_VuoB.js +0 -1
  395. /package/web/docs/assets/{en-US_getting-started_server-installation.md._k2XGM85.lean.js → en-US_getting-started_server-installation.md.C7SjGDJt.lean.js} +0 -0
  396. /package/web/docs/assets/{getting-started_overview.md.CA1CCOBc.lean.js → getting-started_overview.md.Cv-HSfAh.lean.js} +0 -0
  397. /package/web/docs/assets/{getting-started_server-installation.md.D3P3Lmc2.lean.js → getting-started_server-installation.md.BsEfVH6b.lean.js} +0 -0
@@ -12,6 +12,7 @@ export async function startLocalNode(root, config, bootstrap, stopTimeoutMs = 45
12
12
  const path = join(data, 'node.json');
13
13
  await mkdir(data, { recursive: true, mode: 0o700 });
14
14
  await mkdir(workspace, { recursive: true, mode: 0o700 });
15
+ let created = false;
15
16
  try {
16
17
  await readFile(path, 'utf8');
17
18
  }
@@ -29,6 +30,7 @@ export async function startLocalNode(root, config, bootstrap, stopTimeoutMs = 45
29
30
  registrationToken: token
30
31
  }, null, 2) + '\n', { mode: 0o600, flag: 'wx' });
31
32
  await link(temporary, path);
33
+ created = true;
32
34
  }
33
35
  finally {
34
36
  await unlink(temporary).catch(() => { });
@@ -39,13 +41,29 @@ export async function startLocalNode(root, config, bootstrap, stopTimeoutMs = 45
39
41
  nodeConfig === null ||
40
42
  Array.isArray(nodeConfig) ||
41
43
  typeof nodeConfig['serverUrl'] !== 'string')
42
- throw new Error('QUICK_START_NODE_CONFIG_INVALID');
44
+ throw Object.assign(new Error('QUICK_START_NODE_CONFIG_INVALID'), {
45
+ code: 'QUICK_START_NODE_CONFIG_INVALID'
46
+ });
43
47
  const record = nodeConfig;
48
+ const nonempty = (value) => typeof value === 'string' && value.trim().length > 0;
49
+ const hasIdentity = nonempty(record['nodeId']) && nonempty(record['credential']);
50
+ if (!hasIdentity && (record['nodeId'] !== undefined || record['credential'] !== undefined))
51
+ throw Object.assign(new Error('QUICK_START_NODE_CONFIG_INVALID'), {
52
+ code: 'QUICK_START_NODE_CONFIG_INVALID'
53
+ });
54
+ if (!hasIdentity && !nonempty(record['registrationToken']))
55
+ throw Object.assign(new Error('QUICK_START_NODE_CONFIG_INVALID'), {
56
+ code: 'QUICK_START_NODE_CONFIG_INVALID'
57
+ });
58
+ const token = !created && !hasIdentity
59
+ ? (await bootstrap.issue(record['registrationToken'])).token
60
+ : undefined;
44
61
  const serverUrl = `http://127.0.0.1:${config.serverPort}`;
45
- if (record['serverUrl'] !== serverUrl) {
62
+ if (record['serverUrl'] !== serverUrl ||
63
+ (token !== undefined && token !== record['registrationToken'])) {
46
64
  const temporary = `${path}.${randomUUID()}.tmp`;
47
65
  try {
48
- await writeFile(temporary, `${JSON.stringify({ ...record, serverUrl }, null, 2)}\n`, {
66
+ await writeFile(temporary, `${JSON.stringify({ ...record, serverUrl, ...(token === undefined ? {} : { registrationToken: token }) }, null, 2)}\n`, {
49
67
  mode: 0o600,
50
68
  flag: 'wx'
51
69
  });
@@ -128,8 +128,17 @@ export async function runQuickStart(args) {
128
128
  console.error(cliText('quickNodeUnavailable'));
129
129
  }
130
130
  }
131
- catch {
132
- console.error(cliText('quickNodeUnavailable'));
131
+ catch (error) {
132
+ if (error instanceof Error &&
133
+ 'code' in error &&
134
+ error.code === 'QUICK_START_NODE_BOOTSTRAP_RECOVERY_REQUIRED')
135
+ console.error(cliText('quickNodeBootstrapRecoveryRequired'));
136
+ else if (error instanceof Error &&
137
+ 'code' in error &&
138
+ error.code === 'QUICK_START_NODE_CONFIG_INVALID')
139
+ console.error(cliText('quickNodeInstallFailed', { code: error.code }));
140
+ else
141
+ console.error(cliText('quickNodeUnavailable'));
133
142
  }
134
143
  if (mysqlExitedDuringNodeStartup)
135
144
  throw new Error('QUICK_START_MYSQL_EXITED');
@@ -8706,6 +8706,7 @@ export declare const watchEventSchema: z.ZodUnion<[z.ZodObject<{
8706
8706
  type: z.ZodLiteral<"watch.session.snapshot">;
8707
8707
  workspaceId: z.ZodString;
8708
8708
  sessionId: z.ZodString;
8709
+ historyReset: z.ZodOptional<z.ZodLiteral<true>>;
8709
8710
  revision: z.ZodNumber;
8710
8711
  snapshotSequence: z.ZodNumber;
8711
8712
  expiresAt: z.ZodNumber;
@@ -8722,6 +8723,7 @@ export declare const watchEventSchema: z.ZodUnion<[z.ZodObject<{
8722
8723
  watchId: string;
8723
8724
  snapshotSequence: number;
8724
8725
  payload?: unknown;
8726
+ historyReset?: true | undefined;
8725
8727
  }, {
8726
8728
  type: "watch.session.snapshot";
8727
8729
  expiresAt: number;
@@ -8734,6 +8736,7 @@ export declare const watchEventSchema: z.ZodUnion<[z.ZodObject<{
8734
8736
  watchId: string;
8735
8737
  snapshotSequence: number;
8736
8738
  payload?: unknown;
8739
+ historyReset?: true | undefined;
8737
8740
  }>, z.ZodObject<{
8738
8741
  workbenchConnectionId: z.ZodString;
8739
8742
  watchId: z.ZodString;
@@ -28338,6 +28341,7 @@ export declare const hostedConversationSnapshotSchema: z.ZodEffects<z.ZodObject<
28338
28341
  } | undefined;
28339
28342
  }>, "many">;
28340
28343
  historyNextCursor: z.ZodNullable<z.ZodString>;
28344
+ historyVersion: z.ZodOptional<z.ZodString>;
28341
28345
  files: z.ZodArray<z.ZodObject<{
28342
28346
  id: z.ZodString;
28343
28347
  conversationId: z.ZodString;
@@ -29371,6 +29375,7 @@ export declare const hostedConversationSnapshotSchema: z.ZodEffects<z.ZodObject<
29371
29375
  };
29372
29376
  historyNextCursor: string | null;
29373
29377
  nodeAppVersion?: string | undefined;
29378
+ historyVersion?: string | undefined;
29374
29379
  }, {
29375
29380
  files: {
29376
29381
  source: "SYSTEM" | "USER" | "AGENT";
@@ -30211,6 +30216,7 @@ export declare const hostedConversationSnapshotSchema: z.ZodEffects<z.ZodObject<
30211
30216
  };
30212
30217
  historyNextCursor: string | null;
30213
30218
  nodeAppVersion?: string | undefined;
30219
+ historyVersion?: string | undefined;
30214
30220
  }>, {
30215
30221
  files: {
30216
30222
  source: "SYSTEM" | "USER" | "AGENT";
@@ -31051,6 +31057,7 @@ export declare const hostedConversationSnapshotSchema: z.ZodEffects<z.ZodObject<
31051
31057
  };
31052
31058
  historyNextCursor: string | null;
31053
31059
  nodeAppVersion?: string | undefined;
31060
+ historyVersion?: string | undefined;
31054
31061
  }, {
31055
31062
  files: {
31056
31063
  source: "SYSTEM" | "USER" | "AGENT";
@@ -31891,6 +31898,7 @@ export declare const hostedConversationSnapshotSchema: z.ZodEffects<z.ZodObject<
31891
31898
  };
31892
31899
  historyNextCursor: string | null;
31893
31900
  nodeAppVersion?: string | undefined;
31901
+ historyVersion?: string | undefined;
31894
31902
  }>;
31895
31903
  export type HostedConversationSnapshot = z.infer<typeof hostedConversationSnapshotSchema>;
31896
31904
  export declare const hostedConversationCreateInputSchema: z.ZodObject<{
@@ -1551,6 +1551,7 @@ export const watchEventSchema = z.union([
1551
1551
  type: z.literal('watch.session.snapshot'),
1552
1552
  workspaceId: z.string().min(1).max(160),
1553
1553
  sessionId: z.string().min(1).max(512),
1554
+ historyReset: z.literal(true).optional(),
1554
1555
  revision: z.number().int().nonnegative(),
1555
1556
  snapshotSequence: z.number().int().positive(),
1556
1557
  expiresAt: z.number().int().positive(),
@@ -2706,6 +2707,7 @@ export const hostedConversationSnapshotSchema = z
2706
2707
  .nullable(),
2707
2708
  turns: z.array(conversationTurnSchema),
2708
2709
  historyNextCursor: z.string().min(1).max(2048).nullable(),
2710
+ historyVersion: z.string().min(1).max(160).optional(),
2709
2711
  files: z.array(conversationFileProjectionSchema),
2710
2712
  models: z.array(marAgentNodeModelSummarySchema),
2711
2713
  error: z
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myagentroam/protocol",
3
- "version": "0.13.4",
3
+ "version": "0.13.7",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/myagentroam/mar.git",
@@ -29,7 +29,7 @@ export class McpService {
29
29
  const rows = await this.sourceRows(actorUserId);
30
30
  return Promise.all(rows.map(async (row) => {
31
31
  const source = sourceSummary(row);
32
- const result = await this.authorization.authorize(actorUserId, 'SKILL_SOURCE_MANAGE', scopeContext(source.scope, source.ownerUserId ?? actorUserId, source.organizationId));
32
+ const result = await this.authorization.authorize(actorUserId, 'SKILL_SOURCE_MANAGE', scopeContext(source.scope, source.ownerUserId ?? actorUserId, source.organizationId, source.builtIn));
33
33
  return { ...source, manageable: result.allowed };
34
34
  }));
35
35
  }
@@ -327,7 +327,7 @@ export class McpService {
327
327
  }
328
328
  async assertManageRow(actorUserId, row) {
329
329
  const scope = String(row['scope']);
330
- const result = await this.authorization.authorize(actorUserId, 'SKILL_SOURCE_MANAGE', scopeContext(scope, Number(row['owner_user_id']), Number(row['owner_organization_id'])));
330
+ const result = await this.authorization.authorize(actorUserId, 'SKILL_SOURCE_MANAGE', scopeContext(scope, Number(row['owner_user_id']), Number(row['owner_organization_id']), Boolean(row['built_in'])));
331
331
  if (!result.allowed)
332
332
  throw new Error('MCP_SOURCE_FORBIDDEN');
333
333
  }
@@ -436,7 +436,9 @@ function sourceSummary(row) {
436
436
  manageable: false
437
437
  };
438
438
  }
439
- function scopeContext(scope, userId, organizationId) {
439
+ function scopeContext(scope, userId, organizationId, builtIn = false) {
440
+ if (scope === 'ENTERPRISE' && builtIn)
441
+ return { ownerType: 'SYSTEM' };
440
442
  if (scope === 'PERSONAL')
441
443
  return { ownerType: 'PERSONAL', ownerUserId: userId };
442
444
  if (scope === 'ORGANIZATION')
@@ -24,6 +24,11 @@ export declare class MysqlNodeIdentityStorage {
24
24
  token: string;
25
25
  expiresAt: number;
26
26
  }>;
27
+ /** Recover only an unused personal token; never infer a lost registration result. */
28
+ recoverPersonalNodeRegistrationToken(token: string, userId: number, ttlMs: number): Promise<{
29
+ token: string;
30
+ expiresAt: number;
31
+ } | undefined>;
27
32
  registerNode(token: string, input: {
28
33
  readonly metadata: string;
29
34
  }, registeredAddress?: string): Promise<{
@@ -65,6 +65,37 @@ export class MysqlNodeIdentityStorage {
65
65
  }
66
66
  return { token, expiresAt };
67
67
  }
68
+ /** Recover only an unused personal token; never infer a lost registration result. */
69
+ async recoverPersonalNodeRegistrationToken(token, userId, ttlMs) {
70
+ const connection = await this.raw.getConnection();
71
+ try {
72
+ await connection.beginTransaction();
73
+ const [rows] = await connection.execute(`SELECT expires_at,display_name FROM node_registration_tokens
74
+ WHERE token_hash=? AND used_at IS NULL AND created_by_user_id=?
75
+ AND owner_type='PERSONAL' AND owner_user_id=? AND owner_organization_id IS NULL FOR UPDATE`, [sha256(token), userId, userId]);
76
+ const row = rows[0];
77
+ if (!row) {
78
+ await connection.rollback();
79
+ return undefined;
80
+ }
81
+ const expiresAt = Number(row['expires_at']);
82
+ const result = expiresAt > this.now()
83
+ ? { token, expiresAt }
84
+ : await this.createNodeRegistrationToken(userId, ttlMs, { ownerType: 'PERSONAL', ownerUserId: userId }, row['display_name'] == null ? null : String(row['display_name']), connection);
85
+ // Keep the expired, unusable row so a failed local file write can retry safely.
86
+ await connection.commit();
87
+ commitMysqlAudits(connection);
88
+ return result;
89
+ }
90
+ catch (error) {
91
+ discardMysqlAudits(connection);
92
+ await connection.rollback();
93
+ throw error;
94
+ }
95
+ finally {
96
+ connection.release();
97
+ }
98
+ }
68
99
  async registerNode(token, input, registeredAddress = 'unknown') {
69
100
  const connection = await this.raw.getConnection();
70
101
  try {
@@ -15,7 +15,7 @@ export class SkillSourceService {
15
15
  const rows = await this.sourceRows(actorUserId);
16
16
  return Promise.all(rows.map(async (row) => {
17
17
  const summary = sourceSummary(row);
18
- const authorization = await this.authorization.authorize(actorUserId, 'SKILL_SOURCE_MANAGE', scopeContext(summary.scope, summary.ownerUserId ?? actorUserId, summary.organizationId));
18
+ const authorization = await this.authorization.authorize(actorUserId, 'SKILL_SOURCE_MANAGE', scopeContext(summary.scope, summary.ownerUserId ?? actorUserId, summary.organizationId, summary.builtIn));
19
19
  return { ...summary, manageable: authorization.allowed };
20
20
  }));
21
21
  }
@@ -166,12 +166,14 @@ export class SkillSourceService {
166
166
  const scope = row['scope'];
167
167
  if (scope !== 'ENTERPRISE' && scope !== 'ORGANIZATION' && scope !== 'PERSONAL')
168
168
  throw new Error('SKILL_SOURCE_INVALID');
169
- const result = await this.authorization.authorize(actorUserId, 'SKILL_SOURCE_MANAGE', scopeContext(scope, Number(row['owner_user_id']), Number(row['owner_organization_id'])));
169
+ const result = await this.authorization.authorize(actorUserId, 'SKILL_SOURCE_MANAGE', scopeContext(scope, Number(row['owner_user_id']), Number(row['owner_organization_id']), Boolean(row['built_in'])));
170
170
  if (!result.allowed)
171
171
  throw new Error('SKILL_SOURCE_FORBIDDEN');
172
172
  }
173
173
  }
174
- function scopeContext(scope, actorUserId, organizationId) {
174
+ function scopeContext(scope, actorUserId, organizationId, builtIn = false) {
175
+ if (scope === 'ENTERPRISE' && builtIn)
176
+ return { ownerType: 'SYSTEM' };
175
177
  if (scope === 'PERSONAL')
176
178
  return { ownerType: 'PERSONAL', ownerUserId: actorUserId };
177
179
  if (scope === 'ORGANIZATION') {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myagentroam/server-core",
3
- "version": "0.13.4",
3
+ "version": "0.13.7",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "files": [
@@ -638,7 +638,7 @@
638
638
  },
639
639
  "dependencies": {
640
640
  "@fastify/websocket": "^11.3.0",
641
- "@myagentroam/protocol": "0.13.4",
641
+ "@myagentroam/protocol": "0.13.7",
642
642
  "fastify": "^5.1.0",
643
643
  "mysql2": "^3.23.4",
644
644
  "nodemailer": "^10.0.11",
@@ -8,6 +8,7 @@ export declare const cliMessagesEnUS: {
8
8
  readonly quickNodeNotPrepared: "The Server Node dependency is unavailable. Check the npm installation or disable the local Node with --no-node.";
9
9
  readonly quickNodeInstallFailed: "The local Node operation failed ({code}). Check the Node logs and configuration.";
10
10
  readonly quickNodeOnline: "Local Node is online.";
11
+ readonly quickNodeBootstrapRecoveryRequired: "Local Node registration cannot be safely recovered (QUICK_START_NODE_BOOTSTRAP_RECOVERY_REQUIRED). The token was consumed or its state is unknown. No new Node was registered. Keep node-data/node.json and restore its existing identity from a backup or resolve the previous registration before registering again.";
11
12
  readonly quickNodeUnavailable: "Local Node is not online. Check the Node logs and configuration; registration is not retried automatically.";
12
13
  readonly quickNodeSupervisorExited: "Local Node Supervisor exited unexpectedly. The management page remains available; check the Node logs.";
13
14
  readonly quickSearchDisabled: "Local search is unavailable on this platform and has been disabled; an external search endpoint can be configured later.";
@@ -8,6 +8,7 @@ export const cliMessagesEnUS = {
8
8
  quickNodeNotPrepared: 'The Server Node dependency is unavailable. Check the npm installation or disable the local Node with --no-node.',
9
9
  quickNodeInstallFailed: 'The local Node operation failed ({code}). Check the Node logs and configuration.',
10
10
  quickNodeOnline: 'Local Node is online.',
11
+ quickNodeBootstrapRecoveryRequired: 'Local Node registration cannot be safely recovered (QUICK_START_NODE_BOOTSTRAP_RECOVERY_REQUIRED). The token was consumed or its state is unknown. No new Node was registered. Keep node-data/node.json and restore its existing identity from a backup or resolve the previous registration before registering again.',
11
12
  quickNodeUnavailable: 'Local Node is not online. Check the Node logs and configuration; registration is not retried automatically.',
12
13
  quickNodeSupervisorExited: 'Local Node Supervisor exited unexpectedly. The management page remains available; check the Node logs.',
13
14
  quickSearchDisabled: 'Local search is unavailable on this platform and has been disabled; an external search endpoint can be configured later.',
@@ -8,6 +8,7 @@ export declare const cliMessagesZhCN: {
8
8
  readonly quickNodeNotPrepared: "Server 的 Node 依赖不可用,请检查 npm 安装或使用 --no-node 禁用本机 Node。";
9
9
  readonly quickNodeInstallFailed: "本机 Node 操作失败({code})。请检查 Node 日志与配置。";
10
10
  readonly quickNodeOnline: "本机 Node 已上线。";
11
+ readonly quickNodeBootstrapRecoveryRequired: "无法安全恢复本机 Node 注册(QUICK_START_NODE_BOOTSTRAP_RECOVERY_REQUIRED):令牌已使用或状态不明,未重复登记。请保留 node-data/node.json,从备份恢复已有身份,或核对并处理上次登记后再注册。";
11
12
  readonly quickNodeUnavailable: "本机 Node 尚未上线。请检查 Node 日志与配置;注册不会自动重试。";
12
13
  readonly quickNodeSupervisorExited: "本机 Node Supervisor 意外退出。管理页面仍可访问,请检查 Node 日志。";
13
14
  readonly quickSearchDisabled: "此平台无法使用本地搜索,已禁用;之后可配置外部搜索地址。";
@@ -8,6 +8,7 @@ export const cliMessagesZhCN = {
8
8
  quickNodeNotPrepared: 'Server 的 Node 依赖不可用,请检查 npm 安装或使用 --no-node 禁用本机 Node。',
9
9
  quickNodeInstallFailed: '本机 Node 操作失败({code})。请检查 Node 日志与配置。',
10
10
  quickNodeOnline: '本机 Node 已上线。',
11
+ quickNodeBootstrapRecoveryRequired: '无法安全恢复本机 Node 注册(QUICK_START_NODE_BOOTSTRAP_RECOVERY_REQUIRED):令牌已使用或状态不明,未重复登记。请保留 node-data/node.json,从备份恢复已有身份,或核对并处理上次登记后再注册。',
11
12
  quickNodeUnavailable: '本机 Node 尚未上线。请检查 Node 日志与配置;注册不会自动重试。',
12
13
  quickNodeSupervisorExited: '本机 Node Supervisor 意外退出。管理页面仍可访问,请检查 Node 日志。',
13
14
  quickSearchDisabled: '此平台无法使用本地搜索,已禁用;之后可配置外部搜索地址。',
@@ -7,9 +7,13 @@ export declare function createQuickStartNodeBootstrap(input: {
7
7
  token: string;
8
8
  expiresAt: number;
9
9
  }>;
10
+ readonly recoverPersonalNodeRegistrationToken: (token: string, userId: number, ttlMs: number) => Promise<{
11
+ token: string;
12
+ expiresAt: number;
13
+ } | undefined>;
10
14
  readonly isNodeConnected: (nodeId: string) => boolean;
11
15
  }): {
12
- issue(): Promise<{
16
+ issue(previousToken?: string): Promise<{
13
17
  token: string;
14
18
  expiresAt: number;
15
19
  }>;
@@ -2,7 +2,7 @@
2
2
  export function createQuickStartNodeBootstrap(input) {
3
3
  let attempted = false;
4
4
  return {
5
- async issue() {
5
+ async issue(previousToken) {
6
6
  if (attempted)
7
7
  throw new Error('QUICK_START_NODE_BOOTSTRAP_ALREADY_USED');
8
8
  attempted = true;
@@ -11,6 +11,14 @@ export function createQuickStartNodeBootstrap(input) {
11
11
  throw new Error('QUICK_START_NODE_ADMIN_UNAVAILABLE');
12
12
  const ownership = { ownerType: 'PERSONAL', ownerUserId: userId };
13
13
  await input.assertOwnershipSelection(userId, ownership);
14
+ if (previousToken !== undefined) {
15
+ const recovered = await input.recoverPersonalNodeRegistrationToken(previousToken, userId, 600_000);
16
+ if (!recovered)
17
+ throw Object.assign(new Error('QUICK_START_NODE_BOOTSTRAP_RECOVERY_REQUIRED'), {
18
+ code: 'QUICK_START_NODE_BOOTSTRAP_RECOVERY_REQUIRED'
19
+ });
20
+ return recovered;
21
+ }
14
22
  return input.createNodeRegistrationToken(userId, 600_000, ownership, 'Local Node');
15
23
  },
16
24
  online: input.isNodeConnected
@@ -712,6 +712,7 @@ export async function composeServerApplication(options, storage, quickStart = fa
712
712
  isPersonalAdmin: (userId) => authorization.isPersonalAdmin(userId),
713
713
  assertOwnershipSelection: (userId, ownership) => resources.assertOwnershipSelection(userId, ownership),
714
714
  createNodeRegistrationToken: (userId, ttlMs, ownership, name) => database.createNodeRegistrationToken(userId, ttlMs, ownership, name),
715
+ recoverPersonalNodeRegistrationToken: (token, userId, ttlMs) => database.recoverPersonalNodeRegistrationToken(token, userId, ttlMs),
715
716
  isNodeConnected: (nodeId) => nodeControl.isNodeConnected(nodeId) && !nodeControl.isNodeUpgradeOnly(nodeId)
716
717
  })
717
718
  }
@@ -7,8 +7,7 @@ export function managementRequirement(method, route) {
7
7
  route.startsWith('/api/enterprise/users') ||
8
8
  route.startsWith('/api/organizations') ||
9
9
  route.startsWith('/api/resource-grants') ||
10
- route.startsWith('/api/oauth-providers') ||
11
- route.startsWith('/api/system-settings')) {
10
+ route.startsWith('/api/oauth-providers')) {
12
11
  return 'ENTERPRISE_WRITABLE';
13
12
  }
14
13
  if (route === '/api/node-registration-tokens' ||
@@ -19,6 +18,8 @@ export function managementRequirement(method, route) {
19
18
  route.startsWith('/api/workspaces/:workspaceId/mcps') ||
20
19
  route.startsWith('/api/nodes/:nodeId') ||
21
20
  route.startsWith('/api/environment-secrets') ||
21
+ route.startsWith('/api/system-settings') ||
22
+ route.startsWith('/api/skill-sources') ||
22
23
  route.startsWith('/api/mcp-sources') ||
23
24
  route.startsWith('/api/mcp-catalog')) {
24
25
  return 'WRITABLE';
@@ -79,6 +79,10 @@ export declare class MysqlServerDatabase {
79
79
  token: string;
80
80
  expiresAt: number;
81
81
  }>;
82
+ recoverPersonalNodeRegistrationToken(token: string, userId: number, ttlMs: number): Promise<{
83
+ token: string;
84
+ expiresAt: number;
85
+ } | undefined>;
82
86
  registerNode(token: string, input: {
83
87
  readonly metadata: string;
84
88
  }, registeredAddress?: string): Promise<{
@@ -366,6 +366,9 @@ export class MysqlServerDatabase {
366
366
  createNodeRegistrationToken(userId, ttlMs = 10 * 60 * 1000, ownership = { ownerType: 'PERSONAL', ownerUserId: userId }, displayName = null, connection) {
367
367
  return this.nodeIdentities.createNodeRegistrationToken(userId, ttlMs, ownership, displayName, connection);
368
368
  }
369
+ recoverPersonalNodeRegistrationToken(token, userId, ttlMs) {
370
+ return this.nodeIdentities.recoverPersonalNodeRegistrationToken(token, userId, ttlMs);
371
+ }
369
372
  registerNode(token, input, registeredAddress = 'unknown') {
370
373
  return this.nodeIdentities.registerNode(token, input, registeredAddress);
371
374
  }
@@ -19,7 +19,13 @@ export class AuthorizationService {
19
19
  context.ownerUserId === actorUserId &&
20
20
  this.matrix.grants.get('MEMBER')?.get(permissionId)?.has('PERSONAL') === true;
21
21
  const system = context.ownerType === 'SYSTEM' &&
22
- ['NODE_MANAGE', 'SKILL_SOURCE_MANAGE', 'LICENSE_READ', 'LICENSE_IMPORT'].includes(permissionId);
22
+ [
23
+ 'NODE_MANAGE',
24
+ 'SKILL_SOURCE_MANAGE',
25
+ 'SYSTEM_SETTINGS_MANAGE',
26
+ 'LICENSE_READ',
27
+ 'LICENSE_IMPORT'
28
+ ].includes(permissionId);
23
29
  return personal || system
24
30
  ? { allowed: true }
25
31
  : { allowed: false, reason: 'ENTERPRISE_LICENSE_REQUIRED' };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myagentroam-enterprise/server-implementation",
3
- "version": "0.13.4",
3
+ "version": "0.13.7",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "files": [
@@ -15,13 +15,13 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@fastify/websocket": "^11.3.0",
18
- "@myagentroam/protocol": "0.13.4",
18
+ "@myagentroam/protocol": "0.13.7",
19
19
  "fastify": "^5.1.0",
20
20
  "mysql2": "^3.23.4",
21
21
  "undici": "7.29.0",
22
22
  "ws": "^8.21.3",
23
23
  "zod": "^3.24.1",
24
- "@myagentroam/server-core": "0.13.4"
24
+ "@myagentroam/server-core": "0.13.7"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/ws": "^8.18.1"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myagentroam/server",
3
- "version": "0.13.4",
3
+ "version": "0.13.7",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/myagentroam/mar.git",
@@ -27,7 +27,7 @@
27
27
  "license": "tsx --conditions=development src/license.ts"
28
28
  },
29
29
  "dependencies": {
30
- "@myagentroam/node": "0.13.4",
30
+ "@myagentroam/node": "0.13.7",
31
31
  "@fastify/ajv-compiler": "4.0.6",
32
32
  "@fastify/error": "4.2.0",
33
33
  "@fastify/fast-json-stringify-compiler": "5.1.0",
@@ -35,9 +35,9 @@
35
35
  "@fastify/merge-json-schemas": "0.2.1",
36
36
  "@fastify/proxy-addr": "5.1.0",
37
37
  "@fastify/websocket": "11.3.0",
38
- "@myagentroam/protocol": "0.13.4",
39
- "@myagentroam/server-core": "0.13.4",
40
- "@myagentroam-enterprise/server-implementation": "0.13.4",
38
+ "@myagentroam/protocol": "0.13.7",
39
+ "@myagentroam/server-core": "0.13.7",
40
+ "@myagentroam-enterprise/server-implementation": "0.13.7",
41
41
  "@pinojs/redact": "0.4.0",
42
42
  "@types/node": "24.13.3",
43
43
  "abstract-logging": "2.0.1",
@@ -123,7 +123,7 @@
123
123
  "zod": "3.25.76"
124
124
  },
125
125
  "devDependencies": {
126
- "@myagentroam/web-console": "@myagentroam/web-console@file:///tmp/mar-server-candidate-srJsSU/source/mar-web-console"
126
+ "@myagentroam/web-console": "@myagentroam/web-console@file:///var/tmp/mr13-5V856P/mar-server-candidate-nYjK39/source/mar-web-console"
127
127
  },
128
128
  "license": "LicenseRef-MAR-ESAL-1.0",
129
129
  "optionalDependencies": {},