@aigne/aos 0.2.0-beta

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 (533) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/LICENSE.md +26 -0
  3. package/dist/agent-dsl.cjs +116 -0
  4. package/dist/agent-dsl.d.cts +31 -0
  5. package/dist/agent-dsl.d.cts.map +1 -0
  6. package/dist/agent-dsl.d.mts +31 -0
  7. package/dist/agent-dsl.d.mts.map +1 -0
  8. package/dist/agent-dsl.mjs +115 -0
  9. package/dist/agent-dsl.mjs.map +1 -0
  10. package/dist/arc-compat.cjs +125 -0
  11. package/dist/arc-compat.d.cts +17 -0
  12. package/dist/arc-compat.d.cts.map +1 -0
  13. package/dist/arc-compat.d.mts +17 -0
  14. package/dist/arc-compat.d.mts.map +1 -0
  15. package/dist/arc-compat.mjs +123 -0
  16. package/dist/arc-compat.mjs.map +1 -0
  17. package/dist/auto-surface/compiler.cjs +36 -0
  18. package/dist/auto-surface/compiler.d.cts +7 -0
  19. package/dist/auto-surface/compiler.d.cts.map +1 -0
  20. package/dist/auto-surface/compiler.d.mts +7 -0
  21. package/dist/auto-surface/compiler.d.mts.map +1 -0
  22. package/dist/auto-surface/compiler.mjs +37 -0
  23. package/dist/auto-surface/compiler.mjs.map +1 -0
  24. package/dist/auto-surface/definition-dsl.cjs +333 -0
  25. package/dist/auto-surface/definition-dsl.d.cts +41 -0
  26. package/dist/auto-surface/definition-dsl.d.cts.map +1 -0
  27. package/dist/auto-surface/definition-dsl.d.mts +41 -0
  28. package/dist/auto-surface/definition-dsl.d.mts.map +1 -0
  29. package/dist/auto-surface/definition-dsl.mjs +332 -0
  30. package/dist/auto-surface/definition-dsl.mjs.map +1 -0
  31. package/dist/auto-surface/fragments.cjs +177 -0
  32. package/dist/auto-surface/fragments.d.cts +23 -0
  33. package/dist/auto-surface/fragments.d.cts.map +1 -0
  34. package/dist/auto-surface/fragments.d.mts +23 -0
  35. package/dist/auto-surface/fragments.d.mts.map +1 -0
  36. package/dist/auto-surface/fragments.mjs +175 -0
  37. package/dist/auto-surface/fragments.mjs.map +1 -0
  38. package/dist/auto-surface/index.d.mts +9 -0
  39. package/dist/auto-surface/layering.cjs +43 -0
  40. package/dist/auto-surface/layering.d.cts +7 -0
  41. package/dist/auto-surface/layering.d.cts.map +1 -0
  42. package/dist/auto-surface/layering.d.mts +7 -0
  43. package/dist/auto-surface/layering.d.mts.map +1 -0
  44. package/dist/auto-surface/layering.mjs +43 -0
  45. package/dist/auto-surface/layering.mjs.map +1 -0
  46. package/dist/auto-surface/projection.cjs +11 -0
  47. package/dist/auto-surface/projection.d.cts +11 -0
  48. package/dist/auto-surface/projection.d.cts.map +1 -0
  49. package/dist/auto-surface/projection.d.mts +11 -0
  50. package/dist/auto-surface/projection.d.mts.map +1 -0
  51. package/dist/auto-surface/projection.mjs +12 -0
  52. package/dist/auto-surface/projection.mjs.map +1 -0
  53. package/dist/auto-surface/projectors/settings-shell.cjs +114 -0
  54. package/dist/auto-surface/projectors/settings-shell.d.cts +10 -0
  55. package/dist/auto-surface/projectors/settings-shell.d.cts.map +1 -0
  56. package/dist/auto-surface/projectors/settings-shell.d.mts +10 -0
  57. package/dist/auto-surface/projectors/settings-shell.d.mts.map +1 -0
  58. package/dist/auto-surface/projectors/settings-shell.mjs +114 -0
  59. package/dist/auto-surface/projectors/settings-shell.mjs.map +1 -0
  60. package/dist/auto-surface/scenario.cjs +38 -0
  61. package/dist/auto-surface/scenario.d.cts +31 -0
  62. package/dist/auto-surface/scenario.d.cts.map +1 -0
  63. package/dist/auto-surface/scenario.d.mts +31 -0
  64. package/dist/auto-surface/scenario.d.mts.map +1 -0
  65. package/dist/auto-surface/scenario.mjs +37 -0
  66. package/dist/auto-surface/scenario.mjs.map +1 -0
  67. package/dist/auto-surface/types.cjs +9 -0
  68. package/dist/auto-surface/types.d.cts +153 -0
  69. package/dist/auto-surface/types.d.cts.map +1 -0
  70. package/dist/auto-surface/types.d.mts +153 -0
  71. package/dist/auto-surface/types.d.mts.map +1 -0
  72. package/dist/auto-surface/types.mjs +9 -0
  73. package/dist/auto-surface/types.mjs.map +1 -0
  74. package/dist/auto-surface/value-dsl.cjs +80 -0
  75. package/dist/auto-surface/value-dsl.d.cts +24 -0
  76. package/dist/auto-surface/value-dsl.d.cts.map +1 -0
  77. package/dist/auto-surface/value-dsl.d.mts +24 -0
  78. package/dist/auto-surface/value-dsl.d.mts.map +1 -0
  79. package/dist/auto-surface/value-dsl.mjs +79 -0
  80. package/dist/auto-surface/value-dsl.mjs.map +1 -0
  81. package/dist/blocklet/activation.cjs +94 -0
  82. package/dist/blocklet/activation.d.cts +30 -0
  83. package/dist/blocklet/activation.d.cts.map +1 -0
  84. package/dist/blocklet/activation.d.mts +30 -0
  85. package/dist/blocklet/activation.d.mts.map +1 -0
  86. package/dist/blocklet/activation.mjs +94 -0
  87. package/dist/blocklet/activation.mjs.map +1 -0
  88. package/dist/blocklet/did-space-registry.cjs +282 -0
  89. package/dist/blocklet/did-space-registry.d.cts +82 -0
  90. package/dist/blocklet/did-space-registry.d.cts.map +1 -0
  91. package/dist/blocklet/did-space-registry.d.mts +82 -0
  92. package/dist/blocklet/did-space-registry.d.mts.map +1 -0
  93. package/dist/blocklet/did-space-registry.mjs +281 -0
  94. package/dist/blocklet/did-space-registry.mjs.map +1 -0
  95. package/dist/blocklet/handlers.cjs +66 -0
  96. package/dist/blocklet/handlers.d.cts +16 -0
  97. package/dist/blocklet/handlers.d.cts.map +1 -0
  98. package/dist/blocklet/handlers.d.mts +16 -0
  99. package/dist/blocklet/handlers.d.mts.map +1 -0
  100. package/dist/blocklet/handlers.mjs +65 -0
  101. package/dist/blocklet/handlers.mjs.map +1 -0
  102. package/dist/blocklet/index.d.mts +7 -0
  103. package/dist/blocklet/manifest.d.cts +2 -0
  104. package/dist/blocklet/manifest.d.mts +2 -0
  105. package/dist/blocklet/manifest.mjs +3 -0
  106. package/dist/blocklet/registry.cjs +447 -0
  107. package/dist/blocklet/registry.d.cts +197 -0
  108. package/dist/blocklet/registry.d.cts.map +1 -0
  109. package/dist/blocklet/registry.d.mts +197 -0
  110. package/dist/blocklet/registry.d.mts.map +1 -0
  111. package/dist/blocklet/registry.mjs +441 -0
  112. package/dist/blocklet/registry.mjs.map +1 -0
  113. package/dist/blocklet/static-render.cjs +183 -0
  114. package/dist/blocklet/static-render.d.cts +55 -0
  115. package/dist/blocklet/static-render.d.cts.map +1 -0
  116. package/dist/blocklet/static-render.d.mts +55 -0
  117. package/dist/blocklet/static-render.d.mts.map +1 -0
  118. package/dist/blocklet/static-render.mjs +181 -0
  119. package/dist/blocklet/static-render.mjs.map +1 -0
  120. package/dist/blocklet/types.d.cts +70 -0
  121. package/dist/blocklet/types.d.cts.map +1 -0
  122. package/dist/blocklet/types.d.mts +70 -0
  123. package/dist/blocklet/types.d.mts.map +1 -0
  124. package/dist/devices/chain.cjs +127 -0
  125. package/dist/devices/chain.d.cts +48 -0
  126. package/dist/devices/chain.d.cts.map +1 -0
  127. package/dist/devices/chain.d.mts +48 -0
  128. package/dist/devices/chain.d.mts.map +1 -0
  129. package/dist/devices/chain.mjs +125 -0
  130. package/dist/devices/chain.mjs.map +1 -0
  131. package/dist/dsl-shared.cjs +290 -0
  132. package/dist/dsl-shared.d.cts +54 -0
  133. package/dist/dsl-shared.d.cts.map +1 -0
  134. package/dist/dsl-shared.d.mts +54 -0
  135. package/dist/dsl-shared.d.mts.map +1 -0
  136. package/dist/dsl-shared.mjs +287 -0
  137. package/dist/dsl-shared.mjs.map +1 -0
  138. package/dist/http/afs-mcp.cjs +85 -0
  139. package/dist/http/afs-mcp.d.cts +14 -0
  140. package/dist/http/afs-mcp.d.cts.map +1 -0
  141. package/dist/http/afs-mcp.d.mts +14 -0
  142. package/dist/http/afs-mcp.d.mts.map +1 -0
  143. package/dist/http/afs-mcp.mjs +86 -0
  144. package/dist/http/afs-mcp.mjs.map +1 -0
  145. package/dist/http/afs-raw.cjs +264 -0
  146. package/dist/http/afs-raw.d.cts +31 -0
  147. package/dist/http/afs-raw.d.cts.map +1 -0
  148. package/dist/http/afs-raw.d.mts +31 -0
  149. package/dist/http/afs-raw.d.mts.map +1 -0
  150. package/dist/http/afs-raw.mjs +264 -0
  151. package/dist/http/afs-raw.mjs.map +1 -0
  152. package/dist/http/afs-rest.cjs +30 -0
  153. package/dist/http/afs-rest.d.cts +21 -0
  154. package/dist/http/afs-rest.d.cts.map +1 -0
  155. package/dist/http/afs-rest.d.mts +21 -0
  156. package/dist/http/afs-rest.d.mts.map +1 -0
  157. package/dist/http/afs-rest.mjs +31 -0
  158. package/dist/http/afs-rest.mjs.map +1 -0
  159. package/dist/http/afs-rpc-wire.cjs +271 -0
  160. package/dist/http/afs-rpc-wire.d.cts +195 -0
  161. package/dist/http/afs-rpc-wire.d.cts.map +1 -0
  162. package/dist/http/afs-rpc-wire.d.mts +195 -0
  163. package/dist/http/afs-rpc-wire.d.mts.map +1 -0
  164. package/dist/http/afs-rpc-wire.mjs +262 -0
  165. package/dist/http/afs-rpc-wire.mjs.map +1 -0
  166. package/dist/http/afs-rpc.cjs +729 -0
  167. package/dist/http/afs-rpc.d.cts +103 -0
  168. package/dist/http/afs-rpc.d.cts.map +1 -0
  169. package/dist/http/afs-rpc.d.mts +103 -0
  170. package/dist/http/afs-rpc.d.mts.map +1 -0
  171. package/dist/http/afs-rpc.mjs +729 -0
  172. package/dist/http/afs-rpc.mjs.map +1 -0
  173. package/dist/http/afs-upload.cjs +116 -0
  174. package/dist/http/afs-upload.d.cts +40 -0
  175. package/dist/http/afs-upload.d.cts.map +1 -0
  176. package/dist/http/afs-upload.d.mts +40 -0
  177. package/dist/http/afs-upload.d.mts.map +1 -0
  178. package/dist/http/afs-upload.mjs +116 -0
  179. package/dist/http/afs-upload.mjs.map +1 -0
  180. package/dist/http/aup-client.cjs +60 -0
  181. package/dist/http/aup-client.d.cts +22 -0
  182. package/dist/http/aup-client.d.cts.map +1 -0
  183. package/dist/http/aup-client.d.mts +22 -0
  184. package/dist/http/aup-client.d.mts.map +1 -0
  185. package/dist/http/aup-client.mjs +59 -0
  186. package/dist/http/aup-client.mjs.map +1 -0
  187. package/dist/http/aup-event.cjs +100 -0
  188. package/dist/http/aup-event.d.cts +38 -0
  189. package/dist/http/aup-event.d.cts.map +1 -0
  190. package/dist/http/aup-event.d.mts +38 -0
  191. package/dist/http/aup-event.d.mts.map +1 -0
  192. package/dist/http/aup-event.mjs +101 -0
  193. package/dist/http/aup-event.mjs.map +1 -0
  194. package/dist/http/auth-context.cjs +66 -0
  195. package/dist/http/auth-context.d.cts +64 -0
  196. package/dist/http/auth-context.d.cts.map +1 -0
  197. package/dist/http/auth-context.d.mts +64 -0
  198. package/dist/http/auth-context.d.mts.map +1 -0
  199. package/dist/http/auth-context.mjs +66 -0
  200. package/dist/http/auth-context.mjs.map +1 -0
  201. package/dist/http/csrf.cjs +50 -0
  202. package/dist/http/csrf.d.cts +8 -0
  203. package/dist/http/csrf.d.cts.map +1 -0
  204. package/dist/http/csrf.d.mts +8 -0
  205. package/dist/http/csrf.d.mts.map +1 -0
  206. package/dist/http/csrf.mjs +49 -0
  207. package/dist/http/csrf.mjs.map +1 -0
  208. package/dist/http/handlers.cjs +106 -0
  209. package/dist/http/handlers.d.cts +39 -0
  210. package/dist/http/handlers.d.cts.map +1 -0
  211. package/dist/http/handlers.d.mts +39 -0
  212. package/dist/http/handlers.d.mts.map +1 -0
  213. package/dist/http/handlers.mjs +104 -0
  214. package/dist/http/handlers.mjs.map +1 -0
  215. package/dist/http/index.d.mts +1 -0
  216. package/dist/http/ingest-facade.cjs +315 -0
  217. package/dist/http/ingest-facade.mjs +314 -0
  218. package/dist/http/ingest-facade.mjs.map +1 -0
  219. package/dist/http/raw-url.cjs +136 -0
  220. package/dist/http/raw-url.d.cts +54 -0
  221. package/dist/http/raw-url.d.cts.map +1 -0
  222. package/dist/http/raw-url.d.mts +54 -0
  223. package/dist/http/raw-url.d.mts.map +1 -0
  224. package/dist/http/raw-url.mjs +136 -0
  225. package/dist/http/raw-url.mjs.map +1 -0
  226. package/dist/http/request-context.cjs +178 -0
  227. package/dist/http/request-context.d.cts +76 -0
  228. package/dist/http/request-context.d.cts.map +1 -0
  229. package/dist/http/request-context.d.mts +76 -0
  230. package/dist/http/request-context.d.mts.map +1 -0
  231. package/dist/http/request-context.mjs +179 -0
  232. package/dist/http/request-context.mjs.map +1 -0
  233. package/dist/index.cjs +197 -0
  234. package/dist/index.d.cts +63 -0
  235. package/dist/index.d.mts +68 -0
  236. package/dist/index.mjs +61 -0
  237. package/dist/mcp/index.cjs +9 -0
  238. package/dist/mcp/index.d.cts +5 -0
  239. package/dist/mcp/index.d.mts +5 -0
  240. package/dist/mcp/index.mjs +6 -0
  241. package/dist/mcp/prompts.cjs +17 -0
  242. package/dist/mcp/prompts.d.cts +8 -0
  243. package/dist/mcp/prompts.d.cts.map +1 -0
  244. package/dist/mcp/prompts.d.mts +8 -0
  245. package/dist/mcp/prompts.d.mts.map +1 -0
  246. package/dist/mcp/prompts.mjs +17 -0
  247. package/dist/mcp/prompts.mjs.map +1 -0
  248. package/dist/mcp/resources.cjs +22 -0
  249. package/dist/mcp/resources.d.cts +8 -0
  250. package/dist/mcp/resources.d.cts.map +1 -0
  251. package/dist/mcp/resources.d.mts +8 -0
  252. package/dist/mcp/resources.d.mts.map +1 -0
  253. package/dist/mcp/resources.mjs +22 -0
  254. package/dist/mcp/resources.mjs.map +1 -0
  255. package/dist/mcp/server.cjs +51 -0
  256. package/dist/mcp/server.d.cts +20 -0
  257. package/dist/mcp/server.d.cts.map +1 -0
  258. package/dist/mcp/server.d.mts +20 -0
  259. package/dist/mcp/server.d.mts.map +1 -0
  260. package/dist/mcp/server.mjs +52 -0
  261. package/dist/mcp/server.mjs.map +1 -0
  262. package/dist/mcp/tools.cjs +218 -0
  263. package/dist/mcp/tools.d.cts +8 -0
  264. package/dist/mcp/tools.d.cts.map +1 -0
  265. package/dist/mcp/tools.d.mts +8 -0
  266. package/dist/mcp/tools.d.mts.map +1 -0
  267. package/dist/mcp/tools.mjs +219 -0
  268. package/dist/mcp/tools.mjs.map +1 -0
  269. package/dist/mcp/utils.cjs +75 -0
  270. package/dist/mcp/utils.mjs +69 -0
  271. package/dist/mcp/utils.mjs.map +1 -0
  272. package/dist/mount/index.cjs +4 -0
  273. package/dist/mount/index.d.cts +3 -0
  274. package/dist/mount/index.d.mts +3 -0
  275. package/dist/mount/index.mjs +3 -0
  276. package/dist/mount/materializer.cjs +167 -0
  277. package/dist/mount/materializer.d.cts +97 -0
  278. package/dist/mount/materializer.d.cts.map +1 -0
  279. package/dist/mount/materializer.d.mts +97 -0
  280. package/dist/mount/materializer.d.mts.map +1 -0
  281. package/dist/mount/materializer.mjs +167 -0
  282. package/dist/mount/materializer.mjs.map +1 -0
  283. package/dist/mount/types.d.cts +90 -0
  284. package/dist/mount/types.d.cts.map +1 -0
  285. package/dist/mount/types.d.mts +90 -0
  286. package/dist/mount/types.d.mts.map +1 -0
  287. package/dist/mount-config.cjs +61 -0
  288. package/dist/mount-config.d.cts +19 -0
  289. package/dist/mount-config.d.cts.map +1 -0
  290. package/dist/mount-config.d.mts +19 -0
  291. package/dist/mount-config.d.mts.map +1 -0
  292. package/dist/mount-config.mjs +61 -0
  293. package/dist/mount-config.mjs.map +1 -0
  294. package/dist/projectors/aup-projector.cjs +190 -0
  295. package/dist/projectors/aup-projector.d.cts +59 -0
  296. package/dist/projectors/aup-projector.d.cts.map +1 -0
  297. package/dist/projectors/aup-projector.d.mts +59 -0
  298. package/dist/projectors/aup-projector.d.mts.map +1 -0
  299. package/dist/projectors/aup-projector.mjs +188 -0
  300. package/dist/projectors/aup-projector.mjs.map +1 -0
  301. package/dist/projectors/index.cjs +6 -0
  302. package/dist/projectors/index.d.cts +2 -0
  303. package/dist/projectors/index.d.mts +2 -0
  304. package/dist/projectors/index.mjs +3 -0
  305. package/dist/scaffold/afs.cjs +195 -0
  306. package/dist/scaffold/afs.d.cts +16 -0
  307. package/dist/scaffold/afs.d.cts.map +1 -0
  308. package/dist/scaffold/afs.d.mts +16 -0
  309. package/dist/scaffold/afs.d.mts.map +1 -0
  310. package/dist/scaffold/afs.mjs +195 -0
  311. package/dist/scaffold/afs.mjs.map +1 -0
  312. package/dist/scaffold/composition.cjs +92 -0
  313. package/dist/scaffold/composition.d.cts +10 -0
  314. package/dist/scaffold/composition.d.cts.map +1 -0
  315. package/dist/scaffold/composition.d.mts +10 -0
  316. package/dist/scaffold/composition.d.mts.map +1 -0
  317. package/dist/scaffold/composition.mjs +92 -0
  318. package/dist/scaffold/composition.mjs.map +1 -0
  319. package/dist/scaffold/dsl-error.cjs +21 -0
  320. package/dist/scaffold/dsl-error.d.cts +11 -0
  321. package/dist/scaffold/dsl-error.d.cts.map +1 -0
  322. package/dist/scaffold/dsl-error.d.mts +11 -0
  323. package/dist/scaffold/dsl-error.d.mts.map +1 -0
  324. package/dist/scaffold/dsl-error.mjs +20 -0
  325. package/dist/scaffold/dsl-error.mjs.map +1 -0
  326. package/dist/scaffold/index.d.mts +12 -0
  327. package/dist/scaffold/manifest-dsl.cjs +188 -0
  328. package/dist/scaffold/manifest-dsl.d.cts +8 -0
  329. package/dist/scaffold/manifest-dsl.d.cts.map +1 -0
  330. package/dist/scaffold/manifest-dsl.d.mts +8 -0
  331. package/dist/scaffold/manifest-dsl.d.mts.map +1 -0
  332. package/dist/scaffold/manifest-dsl.mjs +188 -0
  333. package/dist/scaffold/manifest-dsl.mjs.map +1 -0
  334. package/dist/scaffold/module-dsl.cjs +284 -0
  335. package/dist/scaffold/module-dsl.d.cts +8 -0
  336. package/dist/scaffold/module-dsl.d.cts.map +1 -0
  337. package/dist/scaffold/module-dsl.d.mts +8 -0
  338. package/dist/scaffold/module-dsl.d.mts.map +1 -0
  339. package/dist/scaffold/module-dsl.mjs +284 -0
  340. package/dist/scaffold/module-dsl.mjs.map +1 -0
  341. package/dist/scaffold/resolver.cjs +156 -0
  342. package/dist/scaffold/resolver.d.cts +7 -0
  343. package/dist/scaffold/resolver.d.cts.map +1 -0
  344. package/dist/scaffold/resolver.d.mts +7 -0
  345. package/dist/scaffold/resolver.d.mts.map +1 -0
  346. package/dist/scaffold/resolver.mjs +156 -0
  347. package/dist/scaffold/resolver.mjs.map +1 -0
  348. package/dist/scaffold/runtime.cjs +24 -0
  349. package/dist/scaffold/runtime.d.cts +19 -0
  350. package/dist/scaffold/runtime.d.cts.map +1 -0
  351. package/dist/scaffold/runtime.d.mts +19 -0
  352. package/dist/scaffold/runtime.d.mts.map +1 -0
  353. package/dist/scaffold/runtime.mjs +25 -0
  354. package/dist/scaffold/runtime.mjs.map +1 -0
  355. package/dist/scaffold/shell-dsl.cjs +279 -0
  356. package/dist/scaffold/shell-dsl.d.cts +8 -0
  357. package/dist/scaffold/shell-dsl.d.cts.map +1 -0
  358. package/dist/scaffold/shell-dsl.d.mts +8 -0
  359. package/dist/scaffold/shell-dsl.d.mts.map +1 -0
  360. package/dist/scaffold/shell-dsl.mjs +279 -0
  361. package/dist/scaffold/shell-dsl.mjs.map +1 -0
  362. package/dist/scaffold/surface-dsl.cjs +182 -0
  363. package/dist/scaffold/surface-dsl.d.cts +8 -0
  364. package/dist/scaffold/surface-dsl.d.cts.map +1 -0
  365. package/dist/scaffold/surface-dsl.d.mts +8 -0
  366. package/dist/scaffold/surface-dsl.d.mts.map +1 -0
  367. package/dist/scaffold/surface-dsl.mjs +182 -0
  368. package/dist/scaffold/surface-dsl.mjs.map +1 -0
  369. package/dist/scaffold/surfaces.cjs +84 -0
  370. package/dist/scaffold/surfaces.d.cts +23 -0
  371. package/dist/scaffold/surfaces.d.cts.map +1 -0
  372. package/dist/scaffold/surfaces.d.mts +24 -0
  373. package/dist/scaffold/surfaces.d.mts.map +1 -0
  374. package/dist/scaffold/surfaces.mjs +84 -0
  375. package/dist/scaffold/surfaces.mjs.map +1 -0
  376. package/dist/scaffold/types.d.cts +264 -0
  377. package/dist/scaffold/types.d.cts.map +1 -0
  378. package/dist/scaffold/types.d.mts +265 -0
  379. package/dist/scaffold/types.d.mts.map +1 -0
  380. package/dist/scaffold/workspace-dsl.cjs +339 -0
  381. package/dist/scaffold/workspace-dsl.d.cts +49 -0
  382. package/dist/scaffold/workspace-dsl.d.cts.map +1 -0
  383. package/dist/scaffold/workspace-dsl.d.mts +49 -0
  384. package/dist/scaffold/workspace-dsl.d.mts.map +1 -0
  385. package/dist/scaffold/workspace-dsl.mjs +337 -0
  386. package/dist/scaffold/workspace-dsl.mjs.map +1 -0
  387. package/dist/scope/index.d.mts +3 -0
  388. package/dist/scope/read-blocklet-scope.cjs +29 -0
  389. package/dist/scope/read-blocklet-scope.d.cts +8 -0
  390. package/dist/scope/read-blocklet-scope.d.cts.map +1 -0
  391. package/dist/scope/read-blocklet-scope.d.mts +8 -0
  392. package/dist/scope/read-blocklet-scope.d.mts.map +1 -0
  393. package/dist/scope/read-blocklet-scope.mjs +30 -0
  394. package/dist/scope/read-blocklet-scope.mjs.map +1 -0
  395. package/dist/scope/resolve-scoped-afs.cjs +87 -0
  396. package/dist/scope/resolve-scoped-afs.d.cts +7 -0
  397. package/dist/scope/resolve-scoped-afs.d.cts.map +1 -0
  398. package/dist/scope/resolve-scoped-afs.d.mts +7 -0
  399. package/dist/scope/resolve-scoped-afs.d.mts.map +1 -0
  400. package/dist/scope/resolve-scoped-afs.mjs +88 -0
  401. package/dist/scope/resolve-scoped-afs.mjs.map +1 -0
  402. package/dist/scope/types.d.cts +25 -0
  403. package/dist/scope/types.d.cts.map +1 -0
  404. package/dist/scope/types.d.mts +25 -0
  405. package/dist/scope/types.d.mts.map +1 -0
  406. package/dist/session/backends.cjs +90 -0
  407. package/dist/session/backends.d.cts +35 -0
  408. package/dist/session/backends.d.cts.map +1 -0
  409. package/dist/session/backends.d.mts +35 -0
  410. package/dist/session/backends.d.mts.map +1 -0
  411. package/dist/session/backends.mjs +89 -0
  412. package/dist/session/backends.mjs.map +1 -0
  413. package/dist/session/replication-resolver.cjs +323 -0
  414. package/dist/session/replication-resolver.d.cts +71 -0
  415. package/dist/session/replication-resolver.d.cts.map +1 -0
  416. package/dist/session/replication-resolver.d.mts +71 -0
  417. package/dist/session/replication-resolver.d.mts.map +1 -0
  418. package/dist/session/replication-resolver.mjs +323 -0
  419. package/dist/session/replication-resolver.mjs.map +1 -0
  420. package/dist/session/role-level.cjs +36 -0
  421. package/dist/session/role-level.d.cts +24 -0
  422. package/dist/session/role-level.d.cts.map +1 -0
  423. package/dist/session/role-level.d.mts +24 -0
  424. package/dist/session/role-level.d.mts.map +1 -0
  425. package/dist/session/role-level.mjs +35 -0
  426. package/dist/session/role-level.mjs.map +1 -0
  427. package/dist/session/session-dir-providers.cjs +254 -0
  428. package/dist/session/session-dir-providers.d.cts +32 -0
  429. package/dist/session/session-dir-providers.d.cts.map +1 -0
  430. package/dist/session/session-dir-providers.d.mts +32 -0
  431. package/dist/session/session-dir-providers.d.mts.map +1 -0
  432. package/dist/session/session-dir-providers.mjs +252 -0
  433. package/dist/session/session-dir-providers.mjs.map +1 -0
  434. package/dist/session/session-id.cjs +20 -0
  435. package/dist/session/session-id.d.cts +15 -0
  436. package/dist/session/session-id.d.cts.map +1 -0
  437. package/dist/session/session-id.d.mts +15 -0
  438. package/dist/session/session-id.d.mts.map +1 -0
  439. package/dist/session/session-id.mjs +20 -0
  440. package/dist/session/session-id.mjs.map +1 -0
  441. package/dist/session/session-user-afs.cjs +899 -0
  442. package/dist/session/session-user-afs.d.cts +296 -0
  443. package/dist/session/session-user-afs.d.cts.map +1 -0
  444. package/dist/session/session-user-afs.d.mts +296 -0
  445. package/dist/session/session-user-afs.d.mts.map +1 -0
  446. package/dist/session/session-user-afs.mjs +896 -0
  447. package/dist/session/session-user-afs.mjs.map +1 -0
  448. package/dist/session/settings-cascade.cjs +69 -0
  449. package/dist/session/settings-cascade.d.cts +81 -0
  450. package/dist/session/settings-cascade.d.cts.map +1 -0
  451. package/dist/session/settings-cascade.d.mts +81 -0
  452. package/dist/session/settings-cascade.d.mts.map +1 -0
  453. package/dist/session/settings-cascade.mjs +69 -0
  454. package/dist/session/settings-cascade.mjs.map +1 -0
  455. package/dist/session/settings-resolver.cjs +770 -0
  456. package/dist/session/settings-resolver.d.cts +177 -0
  457. package/dist/session/settings-resolver.d.cts.map +1 -0
  458. package/dist/session/settings-resolver.d.mts +177 -0
  459. package/dist/session/settings-resolver.d.mts.map +1 -0
  460. package/dist/session/settings-resolver.mjs +771 -0
  461. package/dist/session/settings-resolver.mjs.map +1 -0
  462. package/dist/session/settings-schema-store.cjs +0 -0
  463. package/dist/session/settings-schema-store.d.cts +72 -0
  464. package/dist/session/settings-schema-store.d.cts.map +1 -0
  465. package/dist/session/settings-schema-store.d.mts +72 -0
  466. package/dist/session/settings-schema-store.d.mts.map +1 -0
  467. package/dist/session/settings-schema-store.mjs +0 -0
  468. package/dist/session/settings-schema-store.mjs.map +1 -0
  469. package/dist/system-mounts/index.cjs +14 -0
  470. package/dist/system-mounts/index.d.cts +6 -0
  471. package/dist/system-mounts/index.d.mts +6 -0
  472. package/dist/system-mounts/index.mjs +6 -0
  473. package/dist/system-mounts/install.cjs +101 -0
  474. package/dist/system-mounts/install.d.cts +36 -0
  475. package/dist/system-mounts/install.d.cts.map +1 -0
  476. package/dist/system-mounts/install.d.mts +37 -0
  477. package/dist/system-mounts/install.d.mts.map +1 -0
  478. package/dist/system-mounts/install.mjs +102 -0
  479. package/dist/system-mounts/install.mjs.map +1 -0
  480. package/dist/system-mounts/installers.cjs +247 -0
  481. package/dist/system-mounts/installers.d.cts +13 -0
  482. package/dist/system-mounts/installers.d.cts.map +1 -0
  483. package/dist/system-mounts/installers.d.mts +14 -0
  484. package/dist/system-mounts/installers.d.mts.map +1 -0
  485. package/dist/system-mounts/installers.mjs +244 -0
  486. package/dist/system-mounts/installers.mjs.map +1 -0
  487. package/dist/system-mounts/lists.cjs +122 -0
  488. package/dist/system-mounts/lists.d.cts +34 -0
  489. package/dist/system-mounts/lists.d.cts.map +1 -0
  490. package/dist/system-mounts/lists.d.mts +34 -0
  491. package/dist/system-mounts/lists.d.mts.map +1 -0
  492. package/dist/system-mounts/lists.mjs +122 -0
  493. package/dist/system-mounts/lists.mjs.map +1 -0
  494. package/dist/system-mounts/types.d.cts +124 -0
  495. package/dist/system-mounts/types.d.cts.map +1 -0
  496. package/dist/system-mounts/types.d.mts +125 -0
  497. package/dist/system-mounts/types.d.mts.map +1 -0
  498. package/dist/system-mounts/validate.cjs +56 -0
  499. package/dist/system-mounts/validate.d.cts +34 -0
  500. package/dist/system-mounts/validate.d.cts.map +1 -0
  501. package/dist/system-mounts/validate.d.mts +34 -0
  502. package/dist/system-mounts/validate.d.mts.map +1 -0
  503. package/dist/system-mounts/validate.mjs +56 -0
  504. package/dist/system-mounts/validate.mjs.map +1 -0
  505. package/dist/terminal-llm.cjs +90 -0
  506. package/dist/terminal-llm.d.cts +50 -0
  507. package/dist/terminal-llm.d.cts.map +1 -0
  508. package/dist/terminal-llm.d.mts +50 -0
  509. package/dist/terminal-llm.d.mts.map +1 -0
  510. package/dist/terminal-llm.mjs +90 -0
  511. package/dist/terminal-llm.mjs.map +1 -0
  512. package/dist/terminal-repl.cjs +371 -0
  513. package/dist/terminal-repl.d.cts +69 -0
  514. package/dist/terminal-repl.d.cts.map +1 -0
  515. package/dist/terminal-repl.d.mts +69 -0
  516. package/dist/terminal-repl.d.mts.map +1 -0
  517. package/dist/terminal-repl.mjs +370 -0
  518. package/dist/terminal-repl.mjs.map +1 -0
  519. package/dist/transport/idle-timer.cjs +136 -0
  520. package/dist/transport/idle-timer.d.cts +92 -0
  521. package/dist/transport/idle-timer.d.cts.map +1 -0
  522. package/dist/transport/idle-timer.d.mts +92 -0
  523. package/dist/transport/idle-timer.d.mts.map +1 -0
  524. package/dist/transport/idle-timer.mjs +132 -0
  525. package/dist/transport/idle-timer.mjs.map +1 -0
  526. package/dist/web-component-dsl.cjs +153 -0
  527. package/dist/web-component-dsl.d.cts +27 -0
  528. package/dist/web-component-dsl.d.cts.map +1 -0
  529. package/dist/web-component-dsl.d.mts +27 -0
  530. package/dist/web-component-dsl.d.mts.map +1 -0
  531. package/dist/web-component-dsl.mjs +152 -0
  532. package/dist/web-component-dsl.mjs.map +1 -0
  533. package/package.json +81 -0
@@ -0,0 +1,177 @@
1
+ import { SettingsSchemaHandle } from "./settings-schema-store.cjs";
2
+ import { AFSDeleteOptions, AFSDeleteResult, AFSEventCallback, AFSEventFilter, AFSListOptions, AFSListResult, AFSModule, AFSReadOptions, AFSReadResult, AFSRoot, AFSStatOptions, AFSStatResult, AFSUnsubscribe, AFSWriteEntryPayload, AFSWriteOptions, AFSWriteResult } from "@aigne/afs";
3
+
4
+ //#region src/session/settings-resolver.d.ts
5
+ /** Where a field's value is *declared* (the schema-level cascade tag). */
6
+ type SettingsScope = "instance" | "user" | "shared";
7
+ /** The physical layer a given caller reads/writes for a scope. */
8
+ type SettingsLayer = "instance" | "user";
9
+ interface SettingsResolverOptions {
10
+ /** The Small World base (owns `/instance/settings/<rel>` wrapper files). */
11
+ base: AFSRoot;
12
+ /** The caller's per-user provider (`/user` backing), or null for anonymous. */
13
+ userProvider: AFSModule | null;
14
+ /** The caller's role, from `getCallerForSession().role`. Unknown → non-admin. */
15
+ role: string | undefined;
16
+ /** Owning session id — used for event origin tagging in P4. */
17
+ sessionId: string;
18
+ /**
19
+ * Derived schema index handle (settings-layering Phase 1c). When wired, the
20
+ * resolver lazily materializes the blocklet's package-schema scope on first
21
+ * settings access (idempotent, store-side single-flight). Phase 2 makes it
22
+ * the existence/schema source; until then resolution is unchanged.
23
+ */
24
+ schema?: SettingsSchemaHandle | null;
25
+ }
26
+ declare class SettingsResolver implements AFSModule {
27
+ readonly name: string;
28
+ readonly accessMode: "readwrite";
29
+ private readonly base;
30
+ private readonly userProvider;
31
+ private readonly role;
32
+ private readonly schema;
33
+ /** Memoized lazy ingest — at most one ensure() flight per session. */
34
+ private schemaReady;
35
+ /**
36
+ * Outcome of the lazy ingest. `ready` = the package declares settings and
37
+ * the derived index is consumable (STORE MODE: existence/schema come from
38
+ * the package index). `empty` = package declares none; `failed` = store
39
+ * unavailable; `unwired` = no handle. All non-`ready` states resolve in
40
+ * LEGACY MODE (instance rows define existence + schema) — the pre-Phase-2
41
+ * behavior, so blocklets without package settings keep working.
42
+ */
43
+ private schemaState;
44
+ /**
45
+ * Active render snapshots, insertion-ordered by `beginRender`. Ops resolve
46
+ * against the MOST RECENTLY begun snapshot (walks are sequential per
47
+ * render; concurrent renders each get their own immutable entry).
48
+ */
49
+ private readonly snapshots;
50
+ constructor(opts: SettingsResolverOptions);
51
+ /**
52
+ * Lazily materialize the package-schema scope (Phase 1c plumbing). Memoized
53
+ * per resolver (per session); the store's own single-flight + completion
54
+ * marker make cross-session work idempotent. BEST-EFFORT in Phase 1: a
55
+ * failed ingest logs and falls back to legacy resolution (Phase 2 will
56
+ * consume the scope for existence/schema and define the hard contract).
57
+ */
58
+ private ensureSchemaIngested;
59
+ /** STORE MODE — existence/schema from the derived package index (§1.4). */
60
+ private get storeMode();
61
+ /**
62
+ * Begin a render-scoped snapshot. Called by the auto-surface walk entry
63
+ * point (via `SessionUserAFS.beginRender` proxy) with a fresh `renderId`
64
+ * before walking; the resolver builds the WHOLE settings snapshot once
65
+ * (1× derived-index listEntries + instance/user override list + sparse
66
+ * reads) and serves every list/read of that render from memory.
67
+ *
68
+ * Phase 0: contract only — no-op. Phase 2 implements the snapshot builder.
69
+ * Idempotency contract: repeated `beginRender` with the same renderId and
70
+ * `endRender` without a matching begin are both safe no-ops.
71
+ */
72
+ beginRender(renderId: string): Promise<void>;
73
+ /** Discard the render snapshot for `renderId`. See {@link beginRender}. */
74
+ endRender(renderId: string): void;
75
+ /** The snapshot ops resolve against: the most recently begun, still active. */
76
+ private get activeSnapshot();
77
+ /** Bulk-read + parse the derived package schemas (1 store query). */
78
+ private loadSchemaMap;
79
+ /**
80
+ * Walk one override layer's tree and read every `.json` row. Sparse by
81
+ * design (converged rows: 0-5); legacy instances pay row-count reads ONCE
82
+ * per render — all in-process, replacing the per-field WS round-trips.
83
+ */
84
+ private loadLayerRows;
85
+ private get isAuthed();
86
+ private get isOwnerOrAdmin();
87
+ /** The physical layer this caller reads AND writes for the given scope. */
88
+ resolveWriteLayer(scope: SettingsScope): SettingsLayer;
89
+ /** Presentation hint: should this caller's form render the field at all? */
90
+ visible(scope: SettingsScope): boolean;
91
+ /** Capability hint + (P1) write-enforcement basis: may this caller edit it? */
92
+ editable(scope: SettingsScope): boolean;
93
+ /** Normalize an incoming resolver-relative path; reject traversal outright. */
94
+ private normalizeSub;
95
+ /** Translate an underlying layer path back into the resolver-relative space. */
96
+ private underlyingToRelative;
97
+ private baseRead;
98
+ private baseStat;
99
+ private loadInstanceWrapper;
100
+ /** Read the caller's bare override value, or undefined when absent/anonymous. */
101
+ private readUserOverride;
102
+ /** Parsed package schema for a field, or null (store mode only). */
103
+ private getSchemaWrapper;
104
+ /** Parsed raw instance row, or null when absent (never throws not-found). */
105
+ private getInstanceRow;
106
+ /**
107
+ * Reduce a raw instance row to its OVERRIDE-ONLY contribution (§2.D):
108
+ * `value` (when present) + keys explicitly written under `overrides`.
109
+ * A LEGACY full wrapper's flat schema keys are deliberately dropped —
110
+ * the package schema is authoritative (legacy-no-shadow).
111
+ */
112
+ private stripToOverrideOnly;
113
+ /**
114
+ * Load one field through the cascade. Returns null when the field does not
115
+ * exist — store mode: not in the derived package index (orphan instance
116
+ * rows are IGNORED, §5.4.5); legacy mode: no instance row.
117
+ */
118
+ private loadField;
119
+ /** Opaque version of the layer this caller would write — §3.7. */
120
+ private writeTargetVersion;
121
+ read(path: string, options?: AFSReadOptions): Promise<AFSReadResult>;
122
+ /** Store-mode directory existence: any package field lives under `sub`. */
123
+ private dirExists;
124
+ /**
125
+ * The full schema map (store mode): from the active snapshot when present,
126
+ * else one bulk store query — replacing the legacy per-field N+1 scope peek.
127
+ */
128
+ private schemaMap;
129
+ list(path: string, options?: AFSListOptions): Promise<AFSListResult>;
130
+ stat(path: string, options?: AFSStatOptions): Promise<AFSStatResult>;
131
+ write(path: string, content: AFSWriteEntryPayload, options?: AFSWriteOptions): Promise<AFSWriteResult>;
132
+ /**
133
+ * The ON-DISK override-only shape of an instance row: `{ value?, overrides? }`.
134
+ * Distinct from {@link stripToOverrideOnly} (the flattened READ-side
135
+ * contribution) — this preserves the nested `overrides` object so a write
136
+ * RMW keeps prior explicit schema-text edits.
137
+ */
138
+ private overrideOnlyDiskShape;
139
+ /** Assemble write options, omitting empties so providers see a clean shape. */
140
+ private writeOptions;
141
+ /**
142
+ * Read-modify-write the FULL instance wrapper so siblings
143
+ * (label/description/options/…) survive — the G0 regression guard. ifMatch
144
+ * (if supplied) is compared by the base provider against the wrapper version;
145
+ * context (if supplied) flows through so the emitted event carries origin.
146
+ */
147
+ private writeInstanceWrapper;
148
+ delete(path: string, options?: AFSDeleteOptions): Promise<AFSDeleteResult>;
149
+ /**
150
+ * Bridge instance-layer + user-layer change events into the
151
+ * `/instance/settings/...` namespace so propBind can react to a cascade write
152
+ * regardless of which physical layer it landed on.
153
+ *
154
+ * For a FIELD subscription (`/cascade/theme.json/value`):
155
+ * - watch the instance WRAPPER FILE on `base` and the bare-value file on
156
+ * `userProvider` (see `mapSubscribePaths`);
157
+ * - re-emit at the EXACT filter path so the bridged event matches what the
158
+ * subscriber (PropBindSubscriber) asked for — SessionUserAFS then
159
+ * re-prefixes the resolver-relative path back to `/instance/settings/...`.
160
+ *
161
+ * Two invariants make echo suppression + reset work:
162
+ * 1. ORIGIN PASSTHROUGH — `{ ...evt }` preserves `origin.sessionId`, so the
163
+ * writer's own session is filtered out by PropBindSubscriber and a
164
+ * different session still receives the patch. (The underlying write
165
+ * carries origin only because `write()` now forwards `options.context`.)
166
+ * 2. TYPE NORMALIZATION — a user-layer DELETE (reset, D-f) is re-emitted as
167
+ * `afs:write` because, from the cascade's point of view, the effective
168
+ * value changed (reverted to the instance default); subscribers re-read
169
+ * either way. We therefore drop the type filter on the underlying
170
+ * subscription so deletes are not missed.
171
+ */
172
+ subscribe(filter: AFSEventFilter, callback: AFSEventCallback): AFSUnsubscribe;
173
+ setEventSink(sink: Parameters<NonNullable<AFSModule["setEventSink"]>>[0]): void;
174
+ }
175
+ //#endregion
176
+ export { SettingsResolver, SettingsResolverOptions, SettingsScope };
177
+ //# sourceMappingURL=settings-resolver.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-resolver.d.cts","names":[],"sources":["../../src/session/settings-resolver.ts"],"mappings":";;;;;KAiEY,aAAA;;KAEA,aAAA;AAAA,UAmBK,uBAAA;EA0jBqC;EAxjBpD,IAAA,EAAM,OAAA;EAgpBsD;EA9oB5D,YAAA,EAAc,SAAA;EA8uBqB;EA5uBnC,IAAA;EA4uBoD;EA1uBpD,SAAA;EA8xBY;;;;;;EAvxBZ,MAAA,GAAS,oBAAA;AAAA;AAAA,cAwKE,gBAAA,YAA4B,SAAA;EAAA,SAC9B,IAAA;EAAA,SACA,UAAA;EAAA,iBAEQ,IAAA;EAAA,iBACA,YAAA;EAAA,iBACA,IAAA;EAAA,iBACA,MAAA;EA8HH;EAAA,QA5HN,WAAA;EAsKI;;;;;;;;EAAA,QA7JJ,WAAA;EAiLQ;;;;;EAAA,iBA3KC,SAAA;cAEL,IAAA,EAAM,uBAAA;EA8NJ;;;;;;;EAAA,QA7MN,oBAAA;EAwV2B;EAAA,YArUvB,SAAA,CAAA;EAqUwC;;;;;;;;;;;EApT9C,WAAA,CAAY,QAAA,WAAmB,OAAA;EA4eF;EAtdnC,SAAA,CAAU,QAAA;EAsd0C;EAAA,YAjdxC,cAAA,CAAA;EAkgBN;EAAA,QA3fQ,aAAA;EA6fH;;;;;EAAA,QAzeG,aAAA;EAAA,YAsCF,QAAA,CAAA;EAAA,YAIA,cAAA,CAAA;EAkjBJ;EA5iBR,iBAAA,CAAkB,KAAA,EAAO,aAAA,GAAgB,aAAA;EA8jB5B;EAvjBb,OAAA,CAAQ,KAAA,EAAO,aAAA;EAujBY;EAhjB3B,QAAA,CAAS,KAAA,EAAO,aAAA;EAgjBgD;EAAA,QAviBxD,YAAA;EAslBU;EAAA,QA7kBV,oBAAA;EAAA,QAUA,QAAA;EAAA,QAKA,QAAA;EAAA,QAKM,mBAAA;EAqlBd;EAAA,QAtkBc,gBAAA;EAskBgB;EAAA,QAvjBhB,gBAAA;EAujBD;EAAA,QA9iBC,cAAA;EA8iB0D;;;;;;EAAA,QA7hBhE,mBAAA;;;;;;UAmBM,SAAA;;UAyDA,kBAAA;EAsBR,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;;UAmE9C,SAAA;;;;;UAaA,SAAA;EAQR,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;EAgGtD,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;EAiDtD,KAAA,CACJ,IAAA,UACA,OAAA,EAAS,oBAAA,EACT,OAAA,GAAU,eAAA,GACT,OAAA,CAAQ,cAAA;;;;;;;UA0FH,qBAAA;;UAUA,YAAA;;;;;;;UAaA,oBAAA;EAkBF,MAAA,CAAO,IAAA,UAAc,OAAA,GAAU,gBAAA,GAAmB,OAAA,CAAQ,eAAA;;;;;;;;;;;;;;;;;;;;;;;;EA+ChE,SAAA,CAAU,MAAA,EAAQ,cAAA,EAAgB,QAAA,EAAU,gBAAA,GAAmB,cAAA;EA4B/D,YAAA,CAAa,IAAA,EAAM,UAAA,CAAW,WAAA,CAAY,SAAA;AAAA"}
@@ -0,0 +1,177 @@
1
+ import { SettingsSchemaHandle } from "./settings-schema-store.mjs";
2
+ import { AFSDeleteOptions, AFSDeleteResult, AFSEventCallback, AFSEventFilter, AFSListOptions, AFSListResult, AFSModule, AFSReadOptions, AFSReadResult, AFSRoot, AFSStatOptions, AFSStatResult, AFSUnsubscribe, AFSWriteEntryPayload, AFSWriteOptions, AFSWriteResult } from "@aigne/afs";
3
+
4
+ //#region src/session/settings-resolver.d.ts
5
+ /** Where a field's value is *declared* (the schema-level cascade tag). */
6
+ type SettingsScope = "instance" | "user" | "shared";
7
+ /** The physical layer a given caller reads/writes for a scope. */
8
+ type SettingsLayer = "instance" | "user";
9
+ interface SettingsResolverOptions {
10
+ /** The Small World base (owns `/instance/settings/<rel>` wrapper files). */
11
+ base: AFSRoot;
12
+ /** The caller's per-user provider (`/user` backing), or null for anonymous. */
13
+ userProvider: AFSModule | null;
14
+ /** The caller's role, from `getCallerForSession().role`. Unknown → non-admin. */
15
+ role: string | undefined;
16
+ /** Owning session id — used for event origin tagging in P4. */
17
+ sessionId: string;
18
+ /**
19
+ * Derived schema index handle (settings-layering Phase 1c). When wired, the
20
+ * resolver lazily materializes the blocklet's package-schema scope on first
21
+ * settings access (idempotent, store-side single-flight). Phase 2 makes it
22
+ * the existence/schema source; until then resolution is unchanged.
23
+ */
24
+ schema?: SettingsSchemaHandle | null;
25
+ }
26
+ declare class SettingsResolver implements AFSModule {
27
+ readonly name: string;
28
+ readonly accessMode: "readwrite";
29
+ private readonly base;
30
+ private readonly userProvider;
31
+ private readonly role;
32
+ private readonly schema;
33
+ /** Memoized lazy ingest — at most one ensure() flight per session. */
34
+ private schemaReady;
35
+ /**
36
+ * Outcome of the lazy ingest. `ready` = the package declares settings and
37
+ * the derived index is consumable (STORE MODE: existence/schema come from
38
+ * the package index). `empty` = package declares none; `failed` = store
39
+ * unavailable; `unwired` = no handle. All non-`ready` states resolve in
40
+ * LEGACY MODE (instance rows define existence + schema) — the pre-Phase-2
41
+ * behavior, so blocklets without package settings keep working.
42
+ */
43
+ private schemaState;
44
+ /**
45
+ * Active render snapshots, insertion-ordered by `beginRender`. Ops resolve
46
+ * against the MOST RECENTLY begun snapshot (walks are sequential per
47
+ * render; concurrent renders each get their own immutable entry).
48
+ */
49
+ private readonly snapshots;
50
+ constructor(opts: SettingsResolverOptions);
51
+ /**
52
+ * Lazily materialize the package-schema scope (Phase 1c plumbing). Memoized
53
+ * per resolver (per session); the store's own single-flight + completion
54
+ * marker make cross-session work idempotent. BEST-EFFORT in Phase 1: a
55
+ * failed ingest logs and falls back to legacy resolution (Phase 2 will
56
+ * consume the scope for existence/schema and define the hard contract).
57
+ */
58
+ private ensureSchemaIngested;
59
+ /** STORE MODE — existence/schema from the derived package index (§1.4). */
60
+ private get storeMode();
61
+ /**
62
+ * Begin a render-scoped snapshot. Called by the auto-surface walk entry
63
+ * point (via `SessionUserAFS.beginRender` proxy) with a fresh `renderId`
64
+ * before walking; the resolver builds the WHOLE settings snapshot once
65
+ * (1× derived-index listEntries + instance/user override list + sparse
66
+ * reads) and serves every list/read of that render from memory.
67
+ *
68
+ * Phase 0: contract only — no-op. Phase 2 implements the snapshot builder.
69
+ * Idempotency contract: repeated `beginRender` with the same renderId and
70
+ * `endRender` without a matching begin are both safe no-ops.
71
+ */
72
+ beginRender(renderId: string): Promise<void>;
73
+ /** Discard the render snapshot for `renderId`. See {@link beginRender}. */
74
+ endRender(renderId: string): void;
75
+ /** The snapshot ops resolve against: the most recently begun, still active. */
76
+ private get activeSnapshot();
77
+ /** Bulk-read + parse the derived package schemas (1 store query). */
78
+ private loadSchemaMap;
79
+ /**
80
+ * Walk one override layer's tree and read every `.json` row. Sparse by
81
+ * design (converged rows: 0-5); legacy instances pay row-count reads ONCE
82
+ * per render — all in-process, replacing the per-field WS round-trips.
83
+ */
84
+ private loadLayerRows;
85
+ private get isAuthed();
86
+ private get isOwnerOrAdmin();
87
+ /** The physical layer this caller reads AND writes for the given scope. */
88
+ resolveWriteLayer(scope: SettingsScope): SettingsLayer;
89
+ /** Presentation hint: should this caller's form render the field at all? */
90
+ visible(scope: SettingsScope): boolean;
91
+ /** Capability hint + (P1) write-enforcement basis: may this caller edit it? */
92
+ editable(scope: SettingsScope): boolean;
93
+ /** Normalize an incoming resolver-relative path; reject traversal outright. */
94
+ private normalizeSub;
95
+ /** Translate an underlying layer path back into the resolver-relative space. */
96
+ private underlyingToRelative;
97
+ private baseRead;
98
+ private baseStat;
99
+ private loadInstanceWrapper;
100
+ /** Read the caller's bare override value, or undefined when absent/anonymous. */
101
+ private readUserOverride;
102
+ /** Parsed package schema for a field, or null (store mode only). */
103
+ private getSchemaWrapper;
104
+ /** Parsed raw instance row, or null when absent (never throws not-found). */
105
+ private getInstanceRow;
106
+ /**
107
+ * Reduce a raw instance row to its OVERRIDE-ONLY contribution (§2.D):
108
+ * `value` (when present) + keys explicitly written under `overrides`.
109
+ * A LEGACY full wrapper's flat schema keys are deliberately dropped —
110
+ * the package schema is authoritative (legacy-no-shadow).
111
+ */
112
+ private stripToOverrideOnly;
113
+ /**
114
+ * Load one field through the cascade. Returns null when the field does not
115
+ * exist — store mode: not in the derived package index (orphan instance
116
+ * rows are IGNORED, §5.4.5); legacy mode: no instance row.
117
+ */
118
+ private loadField;
119
+ /** Opaque version of the layer this caller would write — §3.7. */
120
+ private writeTargetVersion;
121
+ read(path: string, options?: AFSReadOptions): Promise<AFSReadResult>;
122
+ /** Store-mode directory existence: any package field lives under `sub`. */
123
+ private dirExists;
124
+ /**
125
+ * The full schema map (store mode): from the active snapshot when present,
126
+ * else one bulk store query — replacing the legacy per-field N+1 scope peek.
127
+ */
128
+ private schemaMap;
129
+ list(path: string, options?: AFSListOptions): Promise<AFSListResult>;
130
+ stat(path: string, options?: AFSStatOptions): Promise<AFSStatResult>;
131
+ write(path: string, content: AFSWriteEntryPayload, options?: AFSWriteOptions): Promise<AFSWriteResult>;
132
+ /**
133
+ * The ON-DISK override-only shape of an instance row: `{ value?, overrides? }`.
134
+ * Distinct from {@link stripToOverrideOnly} (the flattened READ-side
135
+ * contribution) — this preserves the nested `overrides` object so a write
136
+ * RMW keeps prior explicit schema-text edits.
137
+ */
138
+ private overrideOnlyDiskShape;
139
+ /** Assemble write options, omitting empties so providers see a clean shape. */
140
+ private writeOptions;
141
+ /**
142
+ * Read-modify-write the FULL instance wrapper so siblings
143
+ * (label/description/options/…) survive — the G0 regression guard. ifMatch
144
+ * (if supplied) is compared by the base provider against the wrapper version;
145
+ * context (if supplied) flows through so the emitted event carries origin.
146
+ */
147
+ private writeInstanceWrapper;
148
+ delete(path: string, options?: AFSDeleteOptions): Promise<AFSDeleteResult>;
149
+ /**
150
+ * Bridge instance-layer + user-layer change events into the
151
+ * `/instance/settings/...` namespace so propBind can react to a cascade write
152
+ * regardless of which physical layer it landed on.
153
+ *
154
+ * For a FIELD subscription (`/cascade/theme.json/value`):
155
+ * - watch the instance WRAPPER FILE on `base` and the bare-value file on
156
+ * `userProvider` (see `mapSubscribePaths`);
157
+ * - re-emit at the EXACT filter path so the bridged event matches what the
158
+ * subscriber (PropBindSubscriber) asked for — SessionUserAFS then
159
+ * re-prefixes the resolver-relative path back to `/instance/settings/...`.
160
+ *
161
+ * Two invariants make echo suppression + reset work:
162
+ * 1. ORIGIN PASSTHROUGH — `{ ...evt }` preserves `origin.sessionId`, so the
163
+ * writer's own session is filtered out by PropBindSubscriber and a
164
+ * different session still receives the patch. (The underlying write
165
+ * carries origin only because `write()` now forwards `options.context`.)
166
+ * 2. TYPE NORMALIZATION — a user-layer DELETE (reset, D-f) is re-emitted as
167
+ * `afs:write` because, from the cascade's point of view, the effective
168
+ * value changed (reverted to the instance default); subscribers re-read
169
+ * either way. We therefore drop the type filter on the underlying
170
+ * subscription so deletes are not missed.
171
+ */
172
+ subscribe(filter: AFSEventFilter, callback: AFSEventCallback): AFSUnsubscribe;
173
+ setEventSink(sink: Parameters<NonNullable<AFSModule["setEventSink"]>>[0]): void;
174
+ }
175
+ //#endregion
176
+ export { SettingsResolver, SettingsResolverOptions, SettingsScope };
177
+ //# sourceMappingURL=settings-resolver.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-resolver.d.mts","names":[],"sources":["../../src/session/settings-resolver.ts"],"mappings":";;;;;KAiEY,aAAA;;KAEA,aAAA;AAAA,UAmBK,uBAAA;EA0jBqC;EAxjBpD,IAAA,EAAM,OAAA;EAgpBsD;EA9oB5D,YAAA,EAAc,SAAA;EA8uBqB;EA5uBnC,IAAA;EA4uBoD;EA1uBpD,SAAA;EA8xBY;;;;;;EAvxBZ,MAAA,GAAS,oBAAA;AAAA;AAAA,cAwKE,gBAAA,YAA4B,SAAA;EAAA,SAC9B,IAAA;EAAA,SACA,UAAA;EAAA,iBAEQ,IAAA;EAAA,iBACA,YAAA;EAAA,iBACA,IAAA;EAAA,iBACA,MAAA;EA8HH;EAAA,QA5HN,WAAA;EAsKI;;;;;;;;EAAA,QA7JJ,WAAA;EAiLQ;;;;;EAAA,iBA3KC,SAAA;cAEL,IAAA,EAAM,uBAAA;EA8NJ;;;;;;;EAAA,QA7MN,oBAAA;EAwV2B;EAAA,YArUvB,SAAA,CAAA;EAqUwC;;;;;;;;;;;EApT9C,WAAA,CAAY,QAAA,WAAmB,OAAA;EA4eF;EAtdnC,SAAA,CAAU,QAAA;EAsd0C;EAAA,YAjdxC,cAAA,CAAA;EAkgBN;EAAA,QA3fQ,aAAA;EA6fH;;;;;EAAA,QAzeG,aAAA;EAAA,YAsCF,QAAA,CAAA;EAAA,YAIA,cAAA,CAAA;EAkjBJ;EA5iBR,iBAAA,CAAkB,KAAA,EAAO,aAAA,GAAgB,aAAA;EA8jB5B;EAvjBb,OAAA,CAAQ,KAAA,EAAO,aAAA;EAujBY;EAhjB3B,QAAA,CAAS,KAAA,EAAO,aAAA;EAgjBgD;EAAA,QAviBxD,YAAA;EAslBU;EAAA,QA7kBV,oBAAA;EAAA,QAUA,QAAA;EAAA,QAKA,QAAA;EAAA,QAKM,mBAAA;EAqlBd;EAAA,QAtkBc,gBAAA;EAskBgB;EAAA,QAvjBhB,gBAAA;EAujBD;EAAA,QA9iBC,cAAA;EA8iB0D;;;;;;EAAA,QA7hBhE,mBAAA;;;;;;UAmBM,SAAA;;UAyDA,kBAAA;EAsBR,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;;UAmE9C,SAAA;;;;;UAaA,SAAA;EAQR,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;EAgGtD,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;EAiDtD,KAAA,CACJ,IAAA,UACA,OAAA,EAAS,oBAAA,EACT,OAAA,GAAU,eAAA,GACT,OAAA,CAAQ,cAAA;;;;;;;UA0FH,qBAAA;;UAUA,YAAA;;;;;;;UAaA,oBAAA;EAkBF,MAAA,CAAO,IAAA,UAAc,OAAA,GAAU,gBAAA,GAAmB,OAAA,CAAQ,eAAA;;;;;;;;;;;;;;;;;;;;;;;;EA+ChE,SAAA,CAAU,MAAA,EAAQ,cAAA,EAAgB,QAAA,EAAU,gBAAA,GAAmB,cAAA;EA4B/D,YAAA,CAAa,IAAA,EAAM,UAAA,CAAW,WAAA,CAAY,SAAA;AAAA"}