nolo-cli 0.54.0-alpha.2 → 0.61.0-alpha.2

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 (172) hide show
  1. package/README.md +3 -3
  2. package/{_executeModel-ANY4SIAS.js → _executeModel-CKT6RGTL.js} +58 -49
  3. package/{action-Q4W5JPI5.js → action-76JX3JX3.js} +9 -8
  4. package/{addContentAction-O25HFR37.js → addContentAction-V3NAZRTJ.js} +9 -7
  5. package/{addDialogAgentAction-GH7AUPPB.js → addDialogAgentAction-RZOAF46K.js} +11 -9
  6. package/{agentDeleteCommand-JWIKNWWI.js → agentDeleteCommand-VN7NPXQ4.js} +37 -32
  7. package/{agentEmailCommands-PL22BEU5.js → agentEmailCommands-F2TNAV4A.js} +73 -65
  8. package/{agentGrantCommands-2LEZDADN.js → agentGrantCommands-R3VQEZJR.js} +1 -1
  9. package/{agentListCommands-6NR7AQEK.js → agentListCommands-OSM2ANI3.js} +78 -39
  10. package/{agentMachineCommands-TASPU6OA.js → agentMachineCommands-MTPWYVRV.js} +38 -33
  11. package/{agentPullCommand-M552CYSI.js → agentPullCommand-N7L2CT7L.js} +2 -2
  12. package/agentRecordCommands-VWAWTVVC.js +122 -0
  13. package/agentRunCommand-PLZOBNVK.js +149 -0
  14. package/{agentRunControl-4GHHSXFZ.js → agentRunControl-WECMOO6O.js} +13 -6
  15. package/{agentRuntimeLocal-PCJJ56J2.js → agentRuntimeLocal-XCJLRWQE.js} +35 -28
  16. package/{agentSlice-KYLDUSNN.js → agentSlice-F6DOP4IW.js} +10 -9
  17. package/{appDeleteCommands-WLHMJAVT.js → appDeleteCommands-3BCFTRFJ.js} +37 -32
  18. package/{appDeployCommands-CKON7N2E.js → appDeployCommands-B4GMHCYA.js} +37 -32
  19. package/{appDeployStatusCommands-PXRLDASH.js → appDeployStatusCommands-4MN36WIG.js} +37 -32
  20. package/{appGetCommands-RAB5RM4M.js → appGetCommands-4GJIEUAX.js} +37 -32
  21. package/{appListCommands-GU57FB62.js → appListCommands-CHU53GSX.js} +37 -32
  22. package/{authCommand-QOPOEYEK.js → authCommand-WOTWLJNF.js} +38 -32
  23. package/{authCommands-SBQVTD6V.js → authCommands-ILTBI6JV.js} +8 -6
  24. package/{chatQueueReduxAdapter-5O2WLITN.js → chatQueueReduxAdapter-HNSQXNIR.js} +29 -24
  25. package/{chunk-WL3UOGYO.js → chunk-22BTGNSP.js} +151 -155
  26. package/{chunk-7CH6U3FL.js → chunk-2GRGFCF6.js} +2 -4
  27. package/{chunk-V4KZGLOI.js → chunk-2HPRMEEZ.js} +3059 -1079
  28. package/{chunk-UNZDCI3O.js → chunk-2KDR4CWE.js} +35 -4
  29. package/{chunk-VRZIH5JO.js → chunk-2PGGC63K.js} +1 -1
  30. package/{chunk-T27IEBNQ.js → chunk-2QDDKFG5.js} +74 -1
  31. package/{chunk-7K5VMB4Q.js → chunk-37QVS7BU.js} +21 -8
  32. package/{chunk-UITMHBVK.js → chunk-37XDGCY7.js} +1 -1
  33. package/chunk-3BLB7QKO.js +433 -0
  34. package/{chunk-NQ4N4IGO.js → chunk-3JQ2NRYU.js} +33 -10
  35. package/{chunk-UW4INMD2.js → chunk-3JWKQDA4.js} +2 -2
  36. package/{chunk-IKTHA3JH.js → chunk-3QGUVVX5.js} +2 -2
  37. package/{chunk-WHVQA7PJ.js → chunk-45YO6H7P.js} +97 -35
  38. package/chunk-4C4ST2YE.js +20015 -0
  39. package/{chunk-32I5RVMY.js → chunk-4NJEIGBQ.js} +5 -5
  40. package/{chunk-KUUTWU4I.js → chunk-5ZYA4JJ3.js} +90 -22
  41. package/chunk-6YTOJY35.js +352 -0
  42. package/{chunk-INXBNYCG.js → chunk-7A3RRUCQ.js} +155 -12
  43. package/{chunk-GV35EHNA.js → chunk-7O7KH4X5.js} +1262 -971
  44. package/{chunk-Y7LNKP32.js → chunk-7UF7CQ6B.js} +4 -6
  45. package/{chunk-2BWU4ORW.js → chunk-AQMVUA7N.js} +2 -1
  46. package/{chunk-LA4IDAK7.js → chunk-AVE2YR4F.js} +1056 -3591
  47. package/{chunk-TI5BCZCH.js → chunk-B7DXRX7F.js} +59 -121
  48. package/chunk-BFU6C242.js +66 -0
  49. package/{chunk-FA4SY4F5.js → chunk-BYEJ7K2Z.js} +1 -1
  50. package/chunk-BYXBJQAS.js +0 -0
  51. package/{chunk-IA3A5373.js → chunk-C3FZR5EC.js} +1 -1
  52. package/{chunk-IWUMSAQF.js → chunk-CJCJF5XB.js} +26 -3
  53. package/{chunk-PAHILFNT.js → chunk-CP7VIDZ7.js} +4 -4
  54. package/{chunk-OYNDYVSE.js → chunk-CTCW7U7N.js} +1 -1
  55. package/{chunk-BJLYCOZK.js → chunk-D5XKNNUV.js} +135 -795
  56. package/{chunk-AV6KQCM5.js → chunk-DNNSCSA2.js} +19 -14
  57. package/{chunk-3AOLVADY.js → chunk-DVINR3PL.js} +1 -1
  58. package/{chunk-NI2BS6UD.js → chunk-DWUCB2A3.js} +1 -1
  59. package/{chunk-AA564GBL.js → chunk-DZZL7UBV.js} +1 -1
  60. package/{chunk-6FGXGFAH.js → chunk-E6RGHPDR.js} +6 -4
  61. package/chunk-EDKF7RX4.js +30 -0
  62. package/{chunk-6SZ52ORL.js → chunk-ES6CVKVD.js} +24 -30
  63. package/{chunk-DQLYEGP7.js → chunk-FHAGENAS.js} +3 -4
  64. package/{chunk-56W233KG.js → chunk-FKFMIBTT.js} +5 -1
  65. package/{chunk-INZZJSQF.js → chunk-FZGV4FGK.js} +24 -12
  66. package/{chunk-D3JQPONH.js → chunk-GAL47RNP.js} +1 -1
  67. package/{chunk-6FQ2552G.js → chunk-HBPV76EK.js} +1085 -1150
  68. package/{chunk-LN3OQJGG.js → chunk-HLU5Q2GV.js} +4 -4
  69. package/{chunk-U2A47SVI.js → chunk-HQP7HJDL.js} +7 -7
  70. package/{chunk-H2G6JXTR.js → chunk-HQUORJTM.js} +1 -1
  71. package/{chunk-3Z3DXZBD.js → chunk-IYCUMIYS.js} +24 -20
  72. package/{chunk-7APQB6R6.js → chunk-JX5PJCWS.js} +8 -6
  73. package/{chunk-LYGNQHUW.js → chunk-JYYZCK2Z.js} +2 -4
  74. package/{chunk-PYKV6FSC.js → chunk-KWSQR2KK.js} +16 -31
  75. package/{chunk-VULELK4T.js → chunk-L7B47JXR.js} +37 -64
  76. package/{chunk-4NN3EK7H.js → chunk-LAFC3B2I.js} +1 -1
  77. package/{chunk-VRJUIUIY.js → chunk-LJKICKVC.js} +2 -2
  78. package/chunk-M3JEW6N6.js +193 -0
  79. package/chunk-MBOEV4L2.js +301 -0
  80. package/{chunk-QDHZCAH3.js → chunk-MMZ6ZTVO.js} +229 -74
  81. package/{chunk-JDSUTNYY.js → chunk-MP64VFGD.js} +2 -2
  82. package/{chunk-U5Z7LFZF.js → chunk-MXUDQZXQ.js} +47 -8
  83. package/chunk-N4G4PKQ6.js +23 -0
  84. package/{chunk-SVEUG45B.js → chunk-NHRQCXIQ.js} +0 -24
  85. package/{chunk-KXKQO4Q6.js → chunk-NTW5GWDM.js} +58 -1
  86. package/chunk-ONXOABJR.js +215 -0
  87. package/{chunk-BANYWEYY.js → chunk-OZX2IPKM.js} +8 -3
  88. package/{chunk-Q24S4NDF.js → chunk-P7OOB7QP.js} +1 -1
  89. package/{chunk-GLGD2JGY.js → chunk-PEZJEQAO.js} +7 -7
  90. package/{chunk-GBADO3SM.js → chunk-PQDIDWGX.js} +1 -1
  91. package/chunk-PSCNXBYA.js +11 -0
  92. package/chunk-QEFJJS2I.js +508 -0
  93. package/{chunk-757BGY6Y.js → chunk-QEW2MFDQ.js} +1 -1
  94. package/{chunk-SP3DPVBH.js → chunk-RDBARW6T.js} +8 -3
  95. package/{chunk-TNPCQNGQ.js → chunk-RJ2SAFB5.js} +83 -41
  96. package/{chunk-FGEYVPPR.js → chunk-RVWRKFUB.js} +8 -65
  97. package/{chunk-43CXXVJD.js → chunk-RXX4GDIH.js} +1 -1
  98. package/chunk-SEJ5OS6F.js +49 -0
  99. package/{chunk-MFI4FGHX.js → chunk-SOJM57FX.js} +5 -2
  100. package/{chunk-EKLRRZIN.js → chunk-SPAQ4PVV.js} +0 -5
  101. package/{chunk-L7NG2M6H.js → chunk-TRV2MIDW.js} +89 -74
  102. package/chunk-UAD2WT54.js +64 -0
  103. package/{chunk-RTLJUGQH.js → chunk-UZPQSVM6.js} +2 -2
  104. package/{chunk-3QJTD6DO.js → chunk-VMWYBIXG.js} +9 -7
  105. package/{chunk-ZHXJ6M7T.js → chunk-W7XHHYWM.js} +4 -0
  106. package/{chunk-5WADL4O7.js → chunk-XAVSS3KE.js} +21 -3
  107. package/{chunk-CVT7L2WZ.js → chunk-XOKOSO35.js} +13 -22
  108. package/{chunk-6BYAXNH5.js → chunk-XTJTN3RW.js} +57 -4
  109. package/{chunk-T5HJEUQN.js → chunk-YCDWJX45.js} +1 -1
  110. package/{chunk-MRWGHF56.js → chunk-YDH3FDFQ.js} +12 -356
  111. package/{chunk-H4RYESI6.js → chunk-Z4QSJILV.js} +85 -13
  112. package/chunk-ZJ7UHBJS.js +89 -0
  113. package/{chunk-O5FLGN2L.js → chunk-ZRSJ3JEH.js} +6 -2
  114. package/{cliExecutor-BBUVQU4L.js → cliExecutor-HG3S345O.js} +1 -1
  115. package/{codingSkills-BCQXRZOI.js → codingSkills-VDXQYWX4.js} +2 -2
  116. package/contentThunks-7YG2ZYQC.js +73 -0
  117. package/{cooldownCommands-GI5NNWGL.js → cooldownCommands-BSCH2W7P.js} +2 -2
  118. package/{createAgentAutomationAction-UJLNFFFC.js → createAgentAutomationAction-PJQSCAIO.js} +32 -26
  119. package/createDialogAction-SFEJX6SP.js +64 -0
  120. package/{createPageAction-N3IYABHV.js → createPageAction-B7WRHOQO.js} +35 -28
  121. package/{dbSlice-D5CNGWPD.js → dbSlice-IBVOBVMS.js} +7 -6
  122. package/{deleteFile-44TUM34Y.js → deleteFile-FWP2PSBG.js} +4 -3
  123. package/{dialogCommands-35M6RBAC.js → dialogCommands-VL2X22QC.js} +38 -33
  124. package/{dialogSlice-KO7ADD7H.js → dialogSlice-ANMACABO.js} +29 -24
  125. package/{docCreateCommands-VXHZWQ3P.js → docCreateCommands-ITLGZ5YI.js} +40 -35
  126. package/{docDeleteCommands-4WFAJR6A.js → docDeleteCommands-LH3YNL4C.js} +37 -32
  127. package/{docReadCommands-OYREEFAR.js → docReadCommands-YAJ77F36.js} +36 -31
  128. package/{docStore-5BU76DFK.js → docStore-D4HGHPWI.js} +9 -33
  129. package/{docUpdateCommands-A7QERSME.js → docUpdateCommands-DQBOMH2G.js} +40 -35
  130. package/{fetchMessages-KZQVBXKY.js → fetchMessages-DRABNDPZ.js} +3 -3
  131. package/{getPricing-HAU62AFM.js → getPricing-NM3NUTAS.js} +5 -5
  132. package/handleSendMessageAction-DF2OABGW.js +675 -0
  133. package/index.js +79 -88
  134. package/{lib-2ZTNRXR4.js → lib-FRRS27KN.js} +63 -28
  135. package/{localDialogRead-NQ33HBSI.js → localDialogRead-PUQKFI73.js} +1 -1
  136. package/{localRuntimeAuthority-KQDAE64E.js → localRuntimeAuthority-R5UBODT3.js} +6 -4
  137. package/{localRuntimeDb-PF7CFKDL.js → localRuntimeDb-P37ZTX55.js} +1 -1
  138. package/{machineCommands-J43U3TX5.js → machineCommands-JXDYQ5LB.js} +309 -87
  139. package/{machineWsRunDispatch-Z2Z6STXZ.js → machineWsRunDispatch-3QHI7JX5.js} +67 -59
  140. package/memberThunks-VZI6G7YZ.js +640 -0
  141. package/{models-4QF4BJVY.js → models-FAMINFZ7.js} +2 -2
  142. package/package.json +3 -2
  143. package/{read-RGNPI5H2.js → read-2BYWW7AA.js} +4 -3
  144. package/{readDocTool-6ESWKTXD.js → readDocTool-LC3A7QTB.js} +1 -1
  145. package/{readlineWorkspace-YRPV6JPN.js → readlineWorkspace-KVZTEAHB.js} +4609 -2698
  146. package/{removeDialogAgentAction-JYT73FU2.js → removeDialogAgentAction-SFYZXHNK.js} +14 -12
  147. package/{runAgentClientLoop-5YM5WMAY.js → runAgentClientLoop-KGTEL7ZP.js} +60 -50
  148. package/{runtimeDoctorCommands-JKTTN723.js → runtimeDoctorCommands-CROTMULY.js} +7 -5
  149. package/{setDialogExtraReferencesAction-D564LMYQ.js → setDialogExtraReferencesAction-Q32RGFTA.js} +10 -8
  150. package/{setPrimaryDialogAgentAction-ACY3BLYA.js → setPrimaryDialogAgentAction-BFYJHUJS.js} +14 -12
  151. package/{settingSlice-MKI3MNZJ.js → settingSlice-IRUU4VFB.js} +8 -7
  152. package/{skillDiscovery-GPUDHDTZ.js → skillDiscovery-NTRLM6KP.js} +3 -3
  153. package/{spaceCommands-MY26V52L.js → spaceCommands-KNAYWMCZ.js} +40 -220
  154. package/{streamAgentChatTurn-XV5X5TNQ.js → streamAgentChatTurn-FLYPTXKZ.js} +140 -95
  155. package/{switchDialogAgentAction-CJ5H6SAR.js → switchDialogAgentAction-L2KOKCGG.js} +11 -9
  156. package/{tableCommands-R6WFRDYF.js → tableCommands-SUNTHAYX.js} +1 -1
  157. package/{toolApiClient-B2MFXMEG.js → toolApiClient-VGYUB4P5.js} +4 -2
  158. package/{tools-MIMELA2Y.js → tools-CVLUXK6P.js} +46 -38
  159. package/{tuiSummaryLlmCaller-XJ5BKNNS.js → tuiSummaryLlmCaller-F3DPFFZM.js} +20 -16
  160. package/{updateCommands-IYKLF3JX.js → updateCommands-AJYSD73Y.js} +2 -2
  161. package/{updateDialogTitleAction-EIZUSWHR.js → updateDialogTitleAction-HWJIZEIV.js} +33 -27
  162. package/agentRecordCommands-Z64TA63M.js +0 -114
  163. package/agentRunCommand-4QJQLPRW.js +0 -134
  164. package/agentSuperviseCommands-VB6BUS5H.js +0 -640
  165. package/chunk-6BGAQ3KR.js +0 -7081
  166. package/chunk-FD36SCCD.js +0 -105
  167. package/chunk-J3UALFHL.js +0 -370
  168. package/chunk-RU5D3B22.js +0 -230
  169. package/chunk-YBV6QJKM.js +0 -441
  170. package/createDialogAction-TJCX6GUE.js +0 -58
  171. package/handleSendMessageAction-OSGQJQ45.js +0 -406
  172. package/spaceSlice-JUIXC365.js +0 -127
@@ -0,0 +1,193 @@
1
+ import {
2
+ API_VERSION
3
+ } from "./chunk-LCBAMY2M.js";
4
+
5
+ // packages/core/authRoutes.ts
6
+ var authRoutes = {
7
+ login: {
8
+ path: `${API_VERSION}/users/login`,
9
+ method: "POST",
10
+ createPath: () => `${API_VERSION}/users/login`
11
+ },
12
+ signup: {
13
+ path: `${API_VERSION}/users/signup`,
14
+ method: "POST",
15
+ createPath: () => `${API_VERSION}/users/signup`
16
+ },
17
+ users: {
18
+ cliLoginStart: {
19
+ path: `${API_VERSION}/users/cli-login/start`,
20
+ method: "POST",
21
+ createPath: () => `${API_VERSION}/users/cli-login/start`
22
+ },
23
+ cliLoginAuthorize: {
24
+ path: `${API_VERSION}/users/cli-login/authorize`,
25
+ method: "POST",
26
+ createPath: () => `${API_VERSION}/users/cli-login/authorize`
27
+ },
28
+ cliLoginPoll: {
29
+ path: `${API_VERSION}/users/cli-login/poll`,
30
+ method: "POST",
31
+ createPath: () => `${API_VERSION}/users/cli-login/poll`
32
+ },
33
+ list: {
34
+ path: `${API_VERSION}/users`,
35
+ method: "GET",
36
+ createPath: () => `${API_VERSION}/users`
37
+ },
38
+ usageReport: {
39
+ path: `${API_VERSION}/users/usage-report`,
40
+ method: "GET",
41
+ createPath: () => `${API_VERSION}/users/usage-report`
42
+ },
43
+ failureReport: {
44
+ path: `${API_VERSION}/users/failure-report`,
45
+ method: "GET",
46
+ createPath: () => `${API_VERSION}/users/failure-report`
47
+ },
48
+ growthReport: {
49
+ path: `${API_VERSION}/users/growth-report`,
50
+ method: "GET",
51
+ createPath: () => `${API_VERSION}/users/growth-report`
52
+ },
53
+ providerBillingHealth: {
54
+ path: `${API_VERSION}/users/provider-billing-health`,
55
+ method: "GET",
56
+ createPath: () => `${API_VERSION}/users/provider-billing-health`
57
+ },
58
+ providerBillingDrilldown: {
59
+ path: `${API_VERSION}/users/provider-billing-drilldown`,
60
+ method: "GET",
61
+ createPath: () => `${API_VERSION}/users/provider-billing-drilldown`
62
+ },
63
+ providerCredentials: {
64
+ path: `${API_VERSION}/users/provider-credentials`,
65
+ method: "GET",
66
+ createPath: () => `${API_VERSION}/users/provider-credentials`
67
+ },
68
+ providerCredentialLifecycle: {
69
+ path: `${API_VERSION}/users/provider-credentials/lifecycle`,
70
+ method: "POST",
71
+ createPath: () => `${API_VERSION}/users/provider-credentials/lifecycle`
72
+ },
73
+ billingAnomalyLifecycle: {
74
+ path: `${API_VERSION}/users/billing-anomalies/lifecycle`,
75
+ method: "POST",
76
+ createPath: () => `${API_VERSION}/users/billing-anomalies/lifecycle`
77
+ },
78
+ billingAnomalyDrilldown: {
79
+ path: `${API_VERSION}/users/billing-anomalies/drilldown`,
80
+ method: "GET",
81
+ createPath: () => `${API_VERSION}/users/billing-anomalies/drilldown`
82
+ },
83
+ billingAnomalyAudit: {
84
+ path: `${API_VERSION}/users/billing-anomalies/audit`,
85
+ method: "POST",
86
+ createPath: () => `${API_VERSION}/users/billing-anomalies/audit`
87
+ },
88
+ detail: {
89
+ path: `${API_VERSION}/users/:userId`,
90
+ method: "GET",
91
+ createPath: (params) => `${API_VERSION}/users/${params.userId}`
92
+ },
93
+ sessionRevoke: {
94
+ path: `${API_VERSION}/users/session-revoke`,
95
+ method: "POST",
96
+ createPath: () => `${API_VERSION}/users/session-revoke`
97
+ },
98
+ transfer: {
99
+ path: `${API_VERSION}/users/:userId/transfer`,
100
+ method: "POST",
101
+ createPath: (params) => `${API_VERSION}/users/${params.userId}/transfer`
102
+ },
103
+ delete: {
104
+ path: `${API_VERSION}/users/:userId`,
105
+ method: "DELETE",
106
+ createPath: (params) => `${API_VERSION}/users/${params.userId}`
107
+ },
108
+ disable: {
109
+ path: `${API_VERSION}/users/:userId/disable`,
110
+ method: "POST",
111
+ createPath: (params) => `${API_VERSION}/users/${params.userId}/disable`
112
+ },
113
+ enable: {
114
+ path: `${API_VERSION}/users/:userId/enable`,
115
+ method: "POST",
116
+ createPath: (params) => `${API_VERSION}/users/${params.userId}/enable`
117
+ },
118
+ adminPermissions: {
119
+ path: `${API_VERSION}/users/:userId/admin-permissions`,
120
+ method: "POST",
121
+ createPath: (params) => `${API_VERSION}/users/${params.userId}/admin-permissions`
122
+ },
123
+ sendEmail: {
124
+ path: `${API_VERSION}/users/send-email`,
125
+ method: "POST",
126
+ createPath: () => `${API_VERSION}/users/send-email`
127
+ },
128
+ spaceInvite: {
129
+ path: `${API_VERSION}/users/space-invite`,
130
+ method: "POST",
131
+ createPath: () => `${API_VERSION}/users/space-invite`
132
+ },
133
+ spaceInviteStatus: {
134
+ path: `${API_VERSION}/users/space-invite/status`,
135
+ method: "GET",
136
+ createPath: () => `${API_VERSION}/users/space-invite/status`
137
+ },
138
+ spaceInviteAccept: {
139
+ path: `${API_VERSION}/users/space-invite/accept`,
140
+ method: "POST",
141
+ createPath: () => `${API_VERSION}/users/space-invite/accept`
142
+ },
143
+ emailPreferencesGet: {
144
+ path: `${API_VERSION}/users/email-preferences`,
145
+ method: "GET",
146
+ createPath: () => `${API_VERSION}/users/email-preferences`
147
+ },
148
+ emailPreferencesUpdate: {
149
+ path: `${API_VERSION}/users/email-preferences`,
150
+ method: "POST",
151
+ createPath: () => `${API_VERSION}/users/email-preferences`
152
+ },
153
+ emailReport: {
154
+ path: `${API_VERSION}/users/email-report`,
155
+ method: "GET",
156
+ createPath: () => `${API_VERSION}/users/email-report`
157
+ },
158
+ emailRetryRun: {
159
+ path: `${API_VERSION}/users/email-retry/run`,
160
+ method: "POST",
161
+ createPath: () => `${API_VERSION}/users/email-retry/run`
162
+ },
163
+ emailReplayFailures: {
164
+ path: `${API_VERSION}/users/email-replay-failures`,
165
+ method: "POST",
166
+ createPath: () => `${API_VERSION}/users/email-replay-failures`
167
+ },
168
+ emailConfigGet: {
169
+ path: `${API_VERSION}/users/email-config`,
170
+ method: "GET",
171
+ createPath: () => `${API_VERSION}/users/email-config`
172
+ },
173
+ emailConfigUpdate: {
174
+ path: `${API_VERSION}/users/email-config`,
175
+ method: "POST",
176
+ createPath: () => `${API_VERSION}/users/email-config`
177
+ },
178
+ emailUnsubscribe: {
179
+ path: `${API_VERSION}/users/email-unsubscribe`,
180
+ method: "GET",
181
+ createPath: () => `${API_VERSION}/users/email-unsubscribe`
182
+ },
183
+ rechargeHistory: {
184
+ path: `${API_VERSION}/users/:userId/recharge-history`,
185
+ method: "POST",
186
+ createPath: (params) => `${API_VERSION}/users/${params.userId}/recharge-history`
187
+ }
188
+ }
189
+ };
190
+
191
+ export {
192
+ authRoutes
193
+ };
@@ -0,0 +1,301 @@
1
+ import {
2
+ require_react
3
+ } from "./chunk-YDH3FDFQ.js";
4
+ import {
5
+ createSpaceKey,
6
+ normalizeSpaceId
7
+ } from "./chunk-UAD2WT54.js";
8
+ import {
9
+ toTimestampMs
10
+ } from "./chunk-DNNSCSA2.js";
11
+ import {
12
+ fetchFromServer,
13
+ getAllServers
14
+ } from "./chunk-QOKAKDPE.js";
15
+ import {
16
+ selectIdentityToken,
17
+ selectIdentityUserId
18
+ } from "./chunk-SEJ5OS6F.js";
19
+ import {
20
+ isTombstoneRecord
21
+ } from "./chunk-GBRG75BQ.js";
22
+ import {
23
+ __toESM
24
+ } from "./chunk-4VNS5WPM.js";
25
+
26
+ // packages/create/space/spaceMembershipStore.ts
27
+ var import_react = __toESM(require_react(), 1);
28
+ var createInitialState = () => ({
29
+ memberSpaces: null,
30
+ loading: false,
31
+ membershipStatus: "idle",
32
+ initialized: false
33
+ });
34
+ var state = createInitialState();
35
+ var listeners = /* @__PURE__ */ new Set();
36
+ var version = 0;
37
+ var notify = () => {
38
+ version += 1;
39
+ for (const listener of listeners) {
40
+ try {
41
+ listener();
42
+ } catch {
43
+ }
44
+ }
45
+ };
46
+ var getMembershipUpdatedAt = (space) => {
47
+ if (!space) return 0;
48
+ return toTimestampMs(
49
+ space.spaceUpdatedAt ?? space.memberUpdatedAt ?? space.updatedAt ?? space.createdAt ?? space.joinedAt
50
+ );
51
+ };
52
+ function dedupeMemberSpacesById(memberSpaces) {
53
+ const membershipMap = /* @__PURE__ */ new Map();
54
+ memberSpaces.forEach((space) => {
55
+ const prev = membershipMap.get(space.spaceId);
56
+ if (!prev || getMembershipUpdatedAt(space) >= getMembershipUpdatedAt(prev)) {
57
+ membershipMap.set(space.spaceId, space);
58
+ }
59
+ });
60
+ return Array.from(membershipMap.values());
61
+ }
62
+ function getMemberSpaces() {
63
+ return state.memberSpaces;
64
+ }
65
+ function getAllMemberSpaces() {
66
+ const memberSpaces = dedupeMemberSpacesById(state.memberSpaces || []);
67
+ return [...memberSpaces].sort((a, b) => {
68
+ return getMembershipUpdatedAt(b) - getMembershipUpdatedAt(a);
69
+ });
70
+ }
71
+ function setMemberSpaces(spaces) {
72
+ state = {
73
+ ...state,
74
+ memberSpaces: spaces,
75
+ loading: false,
76
+ error: void 0,
77
+ membershipStatus: "fresh",
78
+ initialized: true
79
+ };
80
+ notify();
81
+ }
82
+ function setMembershipLoading() {
83
+ state = { ...state, loading: true, membershipStatus: "loading" };
84
+ notify();
85
+ }
86
+ function setMembershipRejected(errorMessage, isRemoteUnavailable) {
87
+ const membershipStatus = isRemoteUnavailable ? "offline" : state.membershipStatus === "loading" ? "idle" : state.membershipStatus;
88
+ state = {
89
+ ...state,
90
+ loading: false,
91
+ error: errorMessage,
92
+ membershipStatus
93
+ };
94
+ notify();
95
+ }
96
+ function hydrateMemberSpacesFromLocal(spaces) {
97
+ if (state.memberSpaces !== null || spaces.length === 0) return;
98
+ state = {
99
+ ...state,
100
+ memberSpaces: dedupeMemberSpacesById(spaces),
101
+ loading: false
102
+ };
103
+ notify();
104
+ }
105
+ function appendRecoveredMemberships(recovered) {
106
+ if (!recovered || recovered.length === 0) return;
107
+ if (state.memberSpaces === null) {
108
+ state = {
109
+ ...state,
110
+ memberSpaces: dedupeMemberSpacesById(recovered)
111
+ };
112
+ notify();
113
+ return;
114
+ }
115
+ state = {
116
+ ...state,
117
+ memberSpaces: dedupeMemberSpacesById([
118
+ ...state.memberSpaces,
119
+ ...recovered
120
+ ]).sort((a, b) => toTimestampMs(b.joinedAt) - toTimestampMs(a.joinedAt))
121
+ };
122
+ notify();
123
+ }
124
+ function setSpaceInitialized() {
125
+ state = { ...state, initialized: true };
126
+ notify();
127
+ }
128
+ function setMembershipLoaded() {
129
+ state = { ...state, loading: false, error: void 0 };
130
+ notify();
131
+ }
132
+ function addMemberSpace(space) {
133
+ const existing = state.memberSpaces || [];
134
+ state = {
135
+ ...state,
136
+ memberSpaces: dedupeMemberSpacesById([...existing, space])
137
+ };
138
+ notify();
139
+ }
140
+ function removeMemberSpace(spaceId) {
141
+ if (!state.memberSpaces) return;
142
+ const normalized = normalizeSpaceId(spaceId);
143
+ state = {
144
+ ...state,
145
+ memberSpaces: state.memberSpaces.filter(
146
+ (s) => normalizeSpaceId(s.spaceId) !== normalized
147
+ )
148
+ };
149
+ notify();
150
+ }
151
+ function updateMemberSpaceName(spaceId, name) {
152
+ if (!state.memberSpaces || !name) return;
153
+ state = {
154
+ ...state,
155
+ memberSpaces: state.memberSpaces.map(
156
+ (space) => space.spaceId === spaceId ? { ...space, spaceName: name } : space
157
+ )
158
+ };
159
+ notify();
160
+ }
161
+
162
+ // packages/create/space/spaceAccess.ts
163
+ var resolveSpaceRemoteServers = (state2) => {
164
+ const currentServer = typeof state2?.settings?.currentServer === "string" ? state2.settings.currentServer : void 0;
165
+ const syncServers = Array.isArray(state2?.settings?.syncServers) ? state2.settings.syncServers : void 0;
166
+ return getAllServers(currentServer, syncServers);
167
+ };
168
+ var selectSpaceRemoteAuth = (state2) => ({
169
+ token: selectIdentityToken(state2) ?? null,
170
+ userId: selectIdentityUserId(state2) ?? null,
171
+ servers: resolveSpaceRemoteServers(state2)
172
+ });
173
+ var spaceListsUser = (spaceData, userId) => {
174
+ if (!spaceData || isTombstoneRecord(spaceData)) return false;
175
+ if (spaceData.ownerId === userId) return true;
176
+ return Array.isArray(spaceData.members) && spaceData.members.includes(userId);
177
+ };
178
+ var membershipBelongsToUser = (membership, userId) => !membership.userId || membership.userId === userId;
179
+ var membershipFetchCache = /* @__PURE__ */ new Map();
180
+ var MEMBERSHIP_FETCH_CACHE_TTL_MS = 3e4;
181
+ async function fetchMembershipsFromServer(server, token, userId, timeoutMs) {
182
+ if (!token) return { ok: false, memberships: [] };
183
+ const controller = new AbortController();
184
+ const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
185
+ try {
186
+ const response = await fetch(`${server}/rpc/getUserSpaceMemberships`, {
187
+ method: "POST",
188
+ headers: {
189
+ Authorization: `Bearer ${token}`,
190
+ "Content-Type": "application/json"
191
+ },
192
+ body: JSON.stringify({ userId }),
193
+ signal: controller.signal
194
+ });
195
+ clearTimeout(timeoutId);
196
+ if (!response.ok) {
197
+ console.error(
198
+ `Failed to fetch memberships from ${server}: ${response.statusText}`
199
+ );
200
+ return { ok: false, memberships: [] };
201
+ }
202
+ const data = await response.json();
203
+ return {
204
+ ok: true,
205
+ server,
206
+ memberships: Array.isArray(data) ? data : []
207
+ };
208
+ } catch (error) {
209
+ clearTimeout(timeoutId);
210
+ console.error(`Error fetching memberships from ${server}:`, error);
211
+ return { ok: false, memberships: [] };
212
+ }
213
+ }
214
+ var fetchRemoteUserSpaceMemberships = (server, token, userId, timeoutMs = 5e3) => {
215
+ const cacheKey = `${server}|${userId}`;
216
+ const cached = membershipFetchCache.get(cacheKey);
217
+ if (cached) return cached;
218
+ const promise = fetchMembershipsFromServer(server, token, userId, timeoutMs);
219
+ membershipFetchCache.set(cacheKey, promise);
220
+ promise.catch(() => {
221
+ }).finally(() => {
222
+ setTimeout(() => {
223
+ if (membershipFetchCache.get(cacheKey) === promise) {
224
+ membershipFetchCache.delete(cacheKey);
225
+ }
226
+ }, MEMBERSHIP_FETCH_CACHE_TTL_MS);
227
+ });
228
+ return promise;
229
+ };
230
+ var fetchRemoteSpace = async (server, token, spaceId) => {
231
+ try {
232
+ const space = await fetchFromServer(
233
+ server,
234
+ createSpaceKey.space(normalizeSpaceId(spaceId)),
235
+ token ?? void 0
236
+ );
237
+ return space && typeof space === "object" ? space : null;
238
+ } catch {
239
+ return null;
240
+ }
241
+ };
242
+ var hasActiveRemoteMembership = async (server, token, userId, spaceId) => {
243
+ const result = await fetchRemoteUserSpaceMemberships(server, token, userId);
244
+ if (!result.ok) return false;
245
+ const normalizedSpaceId = normalizeSpaceId(spaceId);
246
+ return result.memberships.some((membership) => {
247
+ const membershipSpaceId = typeof membership?.spaceId === "string" ? normalizeSpaceId(membership.spaceId) : "";
248
+ return membershipSpaceId === normalizedSpaceId && membershipBelongsToUser(membership, userId) && !isTombstoneRecord(membership);
249
+ });
250
+ };
251
+ var fetchAuthoritativeRemoteSpace = async ({
252
+ servers,
253
+ token,
254
+ userId,
255
+ spaceId
256
+ }) => {
257
+ const normalizedSpaceId = normalizeSpaceId(spaceId);
258
+ for (const server of servers) {
259
+ const space = await fetchRemoteSpace(server, token, normalizedSpaceId);
260
+ if (!space) continue;
261
+ if (!spaceListsUser(space, userId)) {
262
+ throw new Error(`Current user is not a member of space: ${normalizedSpaceId}`);
263
+ }
264
+ if (space.ownerId !== userId) {
265
+ const hasMembership = await hasActiveRemoteMembership(
266
+ server,
267
+ token,
268
+ userId,
269
+ normalizedSpaceId
270
+ );
271
+ if (!hasMembership) {
272
+ throw new Error(
273
+ `Current user has no active membership for space: ${normalizedSpaceId}`
274
+ );
275
+ }
276
+ }
277
+ return space;
278
+ }
279
+ return null;
280
+ };
281
+
282
+ export {
283
+ selectSpaceRemoteAuth,
284
+ spaceListsUser,
285
+ membershipBelongsToUser,
286
+ fetchRemoteUserSpaceMemberships,
287
+ fetchRemoteSpace,
288
+ fetchAuthoritativeRemoteSpace,
289
+ getMemberSpaces,
290
+ getAllMemberSpaces,
291
+ setMemberSpaces,
292
+ setMembershipLoading,
293
+ setMembershipRejected,
294
+ hydrateMemberSpacesFromLocal,
295
+ appendRecoveredMemberships,
296
+ setSpaceInitialized,
297
+ setMembershipLoaded,
298
+ addMemberSpace,
299
+ removeMemberSpace,
300
+ updateMemberSpaceName
301
+ };