@aotter/mantle-runtime 0.1.0-alpha.1 → 0.1.0-alpha.11

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 (298) hide show
  1. package/README.md +37 -4
  2. package/dist/MantleRuntime.d.ts +96 -0
  3. package/dist/MantleRuntime.d.ts.map +1 -0
  4. package/dist/MantleRuntime.js +197 -0
  5. package/dist/MantleRuntime.js.map +1 -0
  6. package/dist/domain/model/HandlerContext.d.ts +3 -4
  7. package/dist/domain/model/HandlerContext.d.ts.map +1 -1
  8. package/dist/domain/model/PreparedMantleRevision.d.ts +14 -0
  9. package/dist/domain/model/PreparedMantleRevision.d.ts.map +1 -0
  10. package/dist/domain/model/PreparedMantleRevision.js +8 -0
  11. package/dist/domain/model/PreparedMantleRevision.js.map +1 -0
  12. package/dist/domain/model/index.d.ts +1 -2
  13. package/dist/domain/model/index.d.ts.map +1 -1
  14. package/dist/domain/model/index.js +0 -1
  15. package/dist/domain/model/index.js.map +1 -1
  16. package/dist/domain/port/Clock.d.ts +1 -2
  17. package/dist/domain/port/Clock.d.ts.map +1 -1
  18. package/dist/domain/port/Clock.js.map +1 -1
  19. package/dist/domain/port/DatabaseDriver.d.ts +13 -21
  20. package/dist/domain/port/DatabaseDriver.d.ts.map +1 -1
  21. package/dist/domain/port/EntryReader.d.ts +1 -1
  22. package/dist/domain/port/EntryReader.d.ts.map +1 -1
  23. package/dist/domain/port/EntryRepository.d.ts +19 -4
  24. package/dist/domain/port/EntryRepository.d.ts.map +1 -1
  25. package/dist/domain/port/HandlerRegistry.d.ts +1 -1
  26. package/dist/domain/port/IdGenerator.d.ts +3 -4
  27. package/dist/domain/port/IdGenerator.d.ts.map +1 -1
  28. package/dist/domain/port/IdGenerator.js.map +1 -1
  29. package/dist/domain/port/MantleStorageAdapter.d.ts +23 -0
  30. package/dist/domain/port/MantleStorageAdapter.d.ts.map +1 -0
  31. package/dist/domain/port/MantleStorageAdapter.js +2 -0
  32. package/dist/domain/port/MantleStorageAdapter.js.map +1 -0
  33. package/dist/domain/port/SiteConfigRepository.d.ts +12 -10
  34. package/dist/domain/port/SiteConfigRepository.d.ts.map +1 -1
  35. package/dist/domain/port/ViewQueryExecutor.d.ts +29 -0
  36. package/dist/domain/port/ViewQueryExecutor.d.ts.map +1 -0
  37. package/dist/domain/port/ViewQueryExecutor.js +2 -0
  38. package/dist/domain/port/ViewQueryExecutor.js.map +1 -0
  39. package/dist/domain/port/index.d.ts +5 -2
  40. package/dist/domain/port/index.d.ts.map +1 -1
  41. package/dist/domain/port/index.js.map +1 -1
  42. package/dist/domain/service/LocaleNegotiator.d.ts.map +1 -1
  43. package/dist/domain/service/LocaleNegotiator.js +2 -2
  44. package/dist/domain/service/LocaleNegotiator.js.map +1 -1
  45. package/dist/domain/service/RuntimePlanCompiler.d.ts +89 -0
  46. package/dist/domain/service/RuntimePlanCompiler.d.ts.map +1 -0
  47. package/dist/domain/service/RuntimePlanCompiler.js +230 -0
  48. package/dist/domain/service/RuntimePlanCompiler.js.map +1 -0
  49. package/dist/domain/service/TriggerIndex.d.ts +5 -3
  50. package/dist/domain/service/TriggerIndex.d.ts.map +1 -1
  51. package/dist/domain/service/TriggerIndex.js +16 -4
  52. package/dist/domain/service/TriggerIndex.js.map +1 -1
  53. package/dist/domain/service/ViewParamCoercer.d.ts +1 -1
  54. package/dist/domain/service/ViewParamCoercer.js +1 -1
  55. package/dist/domain/service/index.d.ts +1 -9
  56. package/dist/domain/service/index.d.ts.map +1 -1
  57. package/dist/domain/service/index.js +1 -9
  58. package/dist/domain/service/index.js.map +1 -1
  59. package/dist/domain/service/io/EntryDeleteGuard.js +1 -1
  60. package/dist/domain/service/io/EntryDeleteGuard.js.map +1 -1
  61. package/dist/domain/service/io/EntryWriteGuard.d.ts +2 -2
  62. package/dist/domain/service/io/EntryWriteGuard.d.ts.map +1 -1
  63. package/dist/domain/service/io/EntryWriteGuard.js +1 -3
  64. package/dist/domain/service/io/EntryWriteGuard.js.map +1 -1
  65. package/dist/index.d.ts +17 -12
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +10 -11
  68. package/dist/index.js.map +1 -1
  69. package/dist/infrastructure/boot/SqliteMigrationRunner.d.ts +10 -0
  70. package/dist/infrastructure/boot/SqliteMigrationRunner.d.ts.map +1 -0
  71. package/dist/infrastructure/boot/SqliteMigrationRunner.js +41 -0
  72. package/dist/infrastructure/boot/SqliteMigrationRunner.js.map +1 -0
  73. package/dist/infrastructure/boot/bootState.d.ts +9 -0
  74. package/dist/infrastructure/boot/bootState.d.ts.map +1 -0
  75. package/dist/infrastructure/boot/bootState.js +32 -0
  76. package/dist/infrastructure/boot/bootState.js.map +1 -0
  77. package/dist/infrastructure/boot/canonicalMigrations.d.ts +2 -0
  78. package/dist/infrastructure/boot/canonicalMigrations.d.ts.map +1 -1
  79. package/dist/infrastructure/boot/canonicalMigrations.js +166 -87
  80. package/dist/infrastructure/boot/canonicalMigrations.js.map +1 -1
  81. package/dist/infrastructure/boot/index.d.ts +3 -1
  82. package/dist/infrastructure/boot/index.d.ts.map +1 -1
  83. package/dist/infrastructure/boot/index.js +3 -1
  84. package/dist/infrastructure/boot/index.js.map +1 -1
  85. package/dist/infrastructure/http/createMantleRequestHandler.d.ts +12 -0
  86. package/dist/infrastructure/http/createMantleRequestHandler.d.ts.map +1 -0
  87. package/dist/infrastructure/http/createMantleRequestHandler.js +127 -0
  88. package/dist/infrastructure/http/createMantleRequestHandler.js.map +1 -0
  89. package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts +18 -23
  90. package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts.map +1 -1
  91. package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js +64 -39
  92. package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js.map +1 -1
  93. package/dist/infrastructure/mcp/McpToolCatalog.d.ts.map +1 -1
  94. package/dist/infrastructure/mcp/McpToolCatalog.js +84 -19
  95. package/dist/infrastructure/mcp/McpToolCatalog.js.map +1 -1
  96. package/dist/infrastructure/mcp/index.d.ts +1 -1
  97. package/dist/infrastructure/mcp/index.d.ts.map +1 -1
  98. package/dist/infrastructure/mcp/index.js.map +1 -1
  99. package/dist/infrastructure/persistence/DatabaseEntryRepository.d.ts +4 -8
  100. package/dist/infrastructure/persistence/DatabaseEntryRepository.d.ts.map +1 -1
  101. package/dist/infrastructure/persistence/DatabaseEntryRepository.js +75 -36
  102. package/dist/infrastructure/persistence/DatabaseEntryRepository.js.map +1 -1
  103. package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.d.ts.map +1 -1
  104. package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.js +39 -31
  105. package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.js.map +1 -1
  106. package/dist/infrastructure/persistence/Pagination.d.ts +3 -0
  107. package/dist/infrastructure/persistence/Pagination.d.ts.map +1 -1
  108. package/dist/infrastructure/persistence/Pagination.js +28 -0
  109. package/dist/infrastructure/persistence/Pagination.js.map +1 -1
  110. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.d.ts +22 -0
  111. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.d.ts.map +1 -0
  112. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.js +86 -0
  113. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.js.map +1 -0
  114. package/dist/{domain/service/ViewSqlCompiler.d.ts → infrastructure/storage/SqliteViewCompiler.d.ts} +9 -10
  115. package/dist/infrastructure/storage/SqliteViewCompiler.d.ts.map +1 -0
  116. package/dist/infrastructure/storage/SqliteViewCompiler.js +307 -0
  117. package/dist/infrastructure/storage/SqliteViewCompiler.js.map +1 -0
  118. package/dist/infrastructure/testing/IndexCoverageHarness.d.ts +2 -2
  119. package/dist/infrastructure/testing/IndexCoverageHarness.d.ts.map +1 -1
  120. package/dist/infrastructure/testing/IndexCoverageHarness.js +9 -8
  121. package/dist/infrastructure/testing/IndexCoverageHarness.js.map +1 -1
  122. package/dist/usecase/boot/ValidateBootUseCase.d.ts +16 -35
  123. package/dist/usecase/boot/ValidateBootUseCase.d.ts.map +1 -1
  124. package/dist/usecase/boot/ValidateBootUseCase.js +79 -254
  125. package/dist/usecase/boot/ValidateBootUseCase.js.map +1 -1
  126. package/dist/usecase/boot/index.d.ts +1 -1
  127. package/dist/usecase/boot/index.d.ts.map +1 -1
  128. package/dist/usecase/boot/index.js +1 -1
  129. package/dist/usecase/boot/index.js.map +1 -1
  130. package/dist/usecase/content/ArchiveUseCase.d.ts +1 -1
  131. package/dist/usecase/content/ArchiveUseCase.js +1 -1
  132. package/dist/usecase/content/CreateDraftUseCase.d.ts +3 -3
  133. package/dist/usecase/content/CreateDraftUseCase.d.ts.map +1 -1
  134. package/dist/usecase/content/CreateDraftUseCase.js +5 -5
  135. package/dist/usecase/content/CreateDraftUseCase.js.map +1 -1
  136. package/dist/usecase/content/DeleteEntryUseCase.d.ts +3 -5
  137. package/dist/usecase/content/DeleteEntryUseCase.d.ts.map +1 -1
  138. package/dist/usecase/content/DeleteEntryUseCase.js +3 -5
  139. package/dist/usecase/content/DeleteEntryUseCase.js.map +1 -1
  140. package/dist/usecase/content/ListEntriesUseCase.d.ts.map +1 -1
  141. package/dist/usecase/content/ListEntriesUseCase.js +30 -3
  142. package/dist/usecase/content/ListEntriesUseCase.js.map +1 -1
  143. package/dist/usecase/content/RequestPublishUseCase.d.ts +4 -12
  144. package/dist/usecase/content/RequestPublishUseCase.d.ts.map +1 -1
  145. package/dist/usecase/content/RequestPublishUseCase.js +3 -21
  146. package/dist/usecase/content/RequestPublishUseCase.js.map +1 -1
  147. package/dist/usecase/content/UpdateDraftUseCase.d.ts +2 -2
  148. package/dist/usecase/content/UpdateDraftUseCase.d.ts.map +1 -1
  149. package/dist/usecase/content/UpdateDraftUseCase.js +4 -4
  150. package/dist/usecase/content/UpdateDraftUseCase.js.map +1 -1
  151. package/dist/usecase/content/diagnostics.d.ts +1 -0
  152. package/dist/usecase/content/diagnostics.d.ts.map +1 -1
  153. package/dist/usecase/content/diagnostics.js +10 -0
  154. package/dist/usecase/content/diagnostics.js.map +1 -1
  155. package/dist/usecase/dto/content/index.d.ts +10 -1
  156. package/dist/usecase/dto/content/index.d.ts.map +1 -1
  157. package/dist/usecase/dto/index.d.ts +0 -1
  158. package/dist/usecase/dto/index.d.ts.map +1 -1
  159. package/dist/usecase/dto/index.js +0 -1
  160. package/dist/usecase/dto/index.js.map +1 -1
  161. package/dist/usecase/dto/view/ExecuteViewRequest.d.ts +2 -2
  162. package/dist/usecase/dto/view/ExecuteViewRequest.d.ts.map +1 -1
  163. package/dist/usecase/index.d.ts +0 -1
  164. package/dist/usecase/index.d.ts.map +1 -1
  165. package/dist/usecase/index.js +0 -1
  166. package/dist/usecase/index.js.map +1 -1
  167. package/dist/usecase/media/diagnostics.js +1 -1
  168. package/dist/usecase/procedure/InvokeBuiltinUseCase.d.ts +3 -3
  169. package/dist/usecase/procedure/InvokeBuiltinUseCase.d.ts.map +1 -1
  170. package/dist/usecase/procedure/InvokeBuiltinUseCase.js +2 -2
  171. package/dist/usecase/procedure/InvokeBuiltinUseCase.js.map +1 -1
  172. package/dist/usecase/site/UpdateSiteSettingsUseCase.d.ts +3 -2
  173. package/dist/usecase/site/UpdateSiteSettingsUseCase.d.ts.map +1 -1
  174. package/dist/usecase/site/UpdateSiteSettingsUseCase.js +35 -2
  175. package/dist/usecase/site/UpdateSiteSettingsUseCase.js.map +1 -1
  176. package/dist/usecase/view/ExecuteViewUseCase.d.ts +8 -16
  177. package/dist/usecase/view/ExecuteViewUseCase.d.ts.map +1 -1
  178. package/dist/usecase/view/ExecuteViewUseCase.js +23 -94
  179. package/dist/usecase/view/ExecuteViewUseCase.js.map +1 -1
  180. package/dist/usecase/view/index.d.ts +2 -1
  181. package/dist/usecase/view/index.d.ts.map +1 -1
  182. package/dist/usecase/view/index.js.map +1 -1
  183. package/package.json +4 -4
  184. package/dist/domain/model/SeoMeta.d.ts +0 -47
  185. package/dist/domain/model/SeoMeta.d.ts.map +0 -1
  186. package/dist/domain/model/SeoMeta.js +0 -2
  187. package/dist/domain/model/SeoMeta.js.map +0 -1
  188. package/dist/domain/model/TemplateRegistry.d.ts +0 -50
  189. package/dist/domain/model/TemplateRegistry.d.ts.map +0 -1
  190. package/dist/domain/model/TemplateRegistry.js +0 -17
  191. package/dist/domain/model/TemplateRegistry.js.map +0 -1
  192. package/dist/domain/port/AssetServer.d.ts +0 -21
  193. package/dist/domain/port/AssetServer.d.ts.map +0 -1
  194. package/dist/domain/port/AssetServer.js +0 -2
  195. package/dist/domain/port/AssetServer.js.map +0 -1
  196. package/dist/domain/service/AbsoluteUrl.d.ts +0 -6
  197. package/dist/domain/service/AbsoluteUrl.d.ts.map +0 -1
  198. package/dist/domain/service/AbsoluteUrl.js +0 -33
  199. package/dist/domain/service/AbsoluteUrl.js.map +0 -1
  200. package/dist/domain/service/HtmlEscaping.d.ts +0 -2
  201. package/dist/domain/service/HtmlEscaping.d.ts.map +0 -1
  202. package/dist/domain/service/HtmlEscaping.js +0 -9
  203. package/dist/domain/service/HtmlEscaping.js.map +0 -1
  204. package/dist/domain/service/HtmlRenderer.d.ts +0 -36
  205. package/dist/domain/service/HtmlRenderer.d.ts.map +0 -1
  206. package/dist/domain/service/HtmlRenderer.js +0 -73
  207. package/dist/domain/service/HtmlRenderer.js.map +0 -1
  208. package/dist/domain/service/MarkdownSerializer.d.ts +0 -48
  209. package/dist/domain/service/MarkdownSerializer.d.ts.map +0 -1
  210. package/dist/domain/service/MarkdownSerializer.js +0 -109
  211. package/dist/domain/service/MarkdownSerializer.js.map +0 -1
  212. package/dist/domain/service/McpToolNaming.d.ts +0 -31
  213. package/dist/domain/service/McpToolNaming.d.ts.map +0 -1
  214. package/dist/domain/service/McpToolNaming.js +0 -48
  215. package/dist/domain/service/McpToolNaming.js.map +0 -1
  216. package/dist/domain/service/PreviewBanner.d.ts +0 -10
  217. package/dist/domain/service/PreviewBanner.d.ts.map +0 -1
  218. package/dist/domain/service/PreviewBanner.js +0 -30
  219. package/dist/domain/service/PreviewBanner.js.map +0 -1
  220. package/dist/domain/service/PublicPathResolver.d.ts +0 -46
  221. package/dist/domain/service/PublicPathResolver.d.ts.map +0 -1
  222. package/dist/domain/service/PublicPathResolver.js +0 -36
  223. package/dist/domain/service/PublicPathResolver.js.map +0 -1
  224. package/dist/domain/service/SeoMetaComposer.d.ts +0 -47
  225. package/dist/domain/service/SeoMetaComposer.d.ts.map +0 -1
  226. package/dist/domain/service/SeoMetaComposer.js +0 -164
  227. package/dist/domain/service/SeoMetaComposer.js.map +0 -1
  228. package/dist/domain/service/SitemapSerializer.d.ts +0 -19
  229. package/dist/domain/service/SitemapSerializer.d.ts.map +0 -1
  230. package/dist/domain/service/SitemapSerializer.js +0 -27
  231. package/dist/domain/service/SitemapSerializer.js.map +0 -1
  232. package/dist/domain/service/ViewSqlCompiler.d.ts.map +0 -1
  233. package/dist/domain/service/ViewSqlCompiler.js +0 -198
  234. package/dist/domain/service/ViewSqlCompiler.js.map +0 -1
  235. package/dist/domain/service/io/MediaAssetReferences.d.ts +0 -13
  236. package/dist/domain/service/io/MediaAssetReferences.d.ts.map +0 -1
  237. package/dist/domain/service/io/MediaAssetReferences.js +0 -48
  238. package/dist/domain/service/io/MediaAssetReferences.js.map +0 -1
  239. package/dist/runtime.d.ts +0 -141
  240. package/dist/runtime.d.ts.map +0 -1
  241. package/dist/runtime.js +0 -177
  242. package/dist/runtime.js.map +0 -1
  243. package/dist/usecase/dto/render/ComposeEntrySeoMetaRequest.d.ts +0 -14
  244. package/dist/usecase/dto/render/ComposeEntrySeoMetaRequest.d.ts.map +0 -1
  245. package/dist/usecase/dto/render/ComposeEntrySeoMetaRequest.js +0 -2
  246. package/dist/usecase/dto/render/ComposeEntrySeoMetaRequest.js.map +0 -1
  247. package/dist/usecase/dto/render/ComposeLlmsTxtRequest.d.ts +0 -8
  248. package/dist/usecase/dto/render/ComposeLlmsTxtRequest.d.ts.map +0 -1
  249. package/dist/usecase/dto/render/ComposeLlmsTxtRequest.js +0 -2
  250. package/dist/usecase/dto/render/ComposeLlmsTxtRequest.js.map +0 -1
  251. package/dist/usecase/dto/render/ComposeSitemapRequest.d.ts +0 -11
  252. package/dist/usecase/dto/render/ComposeSitemapRequest.d.ts.map +0 -1
  253. package/dist/usecase/dto/render/ComposeSitemapRequest.js +0 -2
  254. package/dist/usecase/dto/render/ComposeSitemapRequest.js.map +0 -1
  255. package/dist/usecase/dto/render/PreviewEntryRequest.d.ts +0 -13
  256. package/dist/usecase/dto/render/PreviewEntryRequest.d.ts.map +0 -1
  257. package/dist/usecase/dto/render/PreviewEntryRequest.js +0 -2
  258. package/dist/usecase/dto/render/PreviewEntryRequest.js.map +0 -1
  259. package/dist/usecase/dto/render/RenderEntryLiveRequest.d.ts +0 -14
  260. package/dist/usecase/dto/render/RenderEntryLiveRequest.d.ts.map +0 -1
  261. package/dist/usecase/dto/render/RenderEntryLiveRequest.js +0 -2
  262. package/dist/usecase/dto/render/RenderEntryLiveRequest.js.map +0 -1
  263. package/dist/usecase/dto/render/RenderListLiveRequest.d.ts +0 -11
  264. package/dist/usecase/dto/render/RenderListLiveRequest.d.ts.map +0 -1
  265. package/dist/usecase/dto/render/RenderListLiveRequest.js +0 -2
  266. package/dist/usecase/dto/render/RenderListLiveRequest.js.map +0 -1
  267. package/dist/usecase/dto/render/index.d.ts +0 -7
  268. package/dist/usecase/dto/render/index.d.ts.map +0 -1
  269. package/dist/usecase/dto/render/index.js +0 -7
  270. package/dist/usecase/dto/render/index.js.map +0 -1
  271. package/dist/usecase/render/ComposeEntrySeoMetaUseCase.d.ts +0 -28
  272. package/dist/usecase/render/ComposeEntrySeoMetaUseCase.d.ts.map +0 -1
  273. package/dist/usecase/render/ComposeEntrySeoMetaUseCase.js +0 -59
  274. package/dist/usecase/render/ComposeEntrySeoMetaUseCase.js.map +0 -1
  275. package/dist/usecase/render/ComposeLlmsTxtUseCase.d.ts +0 -16
  276. package/dist/usecase/render/ComposeLlmsTxtUseCase.d.ts.map +0 -1
  277. package/dist/usecase/render/ComposeLlmsTxtUseCase.js +0 -36
  278. package/dist/usecase/render/ComposeLlmsTxtUseCase.js.map +0 -1
  279. package/dist/usecase/render/ComposeSitemapUseCase.d.ts +0 -15
  280. package/dist/usecase/render/ComposeSitemapUseCase.d.ts.map +0 -1
  281. package/dist/usecase/render/ComposeSitemapUseCase.js +0 -28
  282. package/dist/usecase/render/ComposeSitemapUseCase.js.map +0 -1
  283. package/dist/usecase/render/PreviewEntryUseCase.d.ts +0 -28
  284. package/dist/usecase/render/PreviewEntryUseCase.d.ts.map +0 -1
  285. package/dist/usecase/render/PreviewEntryUseCase.js +0 -72
  286. package/dist/usecase/render/PreviewEntryUseCase.js.map +0 -1
  287. package/dist/usecase/render/RenderEntryLiveUseCase.d.ts +0 -36
  288. package/dist/usecase/render/RenderEntryLiveUseCase.d.ts.map +0 -1
  289. package/dist/usecase/render/RenderEntryLiveUseCase.js +0 -62
  290. package/dist/usecase/render/RenderEntryLiveUseCase.js.map +0 -1
  291. package/dist/usecase/render/RenderListLiveUseCase.d.ts +0 -25
  292. package/dist/usecase/render/RenderListLiveUseCase.d.ts.map +0 -1
  293. package/dist/usecase/render/RenderListLiveUseCase.js +0 -45
  294. package/dist/usecase/render/RenderListLiveUseCase.js.map +0 -1
  295. package/dist/usecase/render/index.d.ts +0 -7
  296. package/dist/usecase/render/index.d.ts.map +0 -1
  297. package/dist/usecase/render/index.js +0 -7
  298. package/dist/usecase/render/index.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { buildDdl } from "@aotter/mantle-spec";
1
+ import { buildDdl, buildSchemaSqlView, dropSchemaSqlViewSql, } from "@aotter/mantle-spec";
2
2
  /**
3
3
  * Canonical migration list — the runtime owns the schema; adapters
4
4
  * just execute. `id` strings are stable forever; the `_migrations`
@@ -8,7 +8,7 @@ import { buildDdl } from "@aotter/mantle-spec";
8
8
  export const CANONICAL_MIGRATIONS = [
9
9
  {
10
10
  id: "0001-init",
11
- description: "v0.1.0 schema: entries / revisions / approvals / site_config + Better Auth tables (ADR-0014)",
11
+ description: "v0.1.0 schema: entries / site_config + Better Auth tables (ADR-0014)",
12
12
  // SQLite: Better Auth serializes Date → ISO 8601 string and
13
13
  // boolean → 0/1, so date columns are TEXT and booleans INTEGER.
14
14
  sql: `
@@ -27,31 +27,6 @@ export const CANONICAL_MIGRATIONS = [
27
27
  CREATE INDEX IF NOT EXISTS entries_by_collection_status
28
28
  ON entries (collection, status);
29
29
 
30
- CREATE TABLE IF NOT EXISTS revisions (
31
- id TEXT PRIMARY KEY,
32
- entry_id TEXT NOT NULL,
33
- version INTEGER NOT NULL,
34
- data TEXT NOT NULL,
35
- created_at INTEGER NOT NULL,
36
- author_id TEXT,
37
- note TEXT
38
- );
39
- CREATE INDEX IF NOT EXISTS revisions_by_entry_version
40
- ON revisions (entry_id, version DESC);
41
-
42
- CREATE TABLE IF NOT EXISTS approvals (
43
- id TEXT PRIMARY KEY,
44
- entry_id TEXT NOT NULL,
45
- requested_by TEXT NOT NULL,
46
- requested_at INTEGER NOT NULL,
47
- note TEXT,
48
- status TEXT NOT NULL,
49
- resolved_by TEXT,
50
- resolved_at INTEGER
51
- );
52
- CREATE INDEX IF NOT EXISTS approvals_by_entry
53
- ON approvals (entry_id);
54
-
55
30
  CREATE TABLE IF NOT EXISTS site_config (
56
31
  key TEXT PRIMARY KEY,
57
32
  value TEXT NOT NULL
@@ -90,6 +65,7 @@ export const CANONICAL_MIGRATIONS = [
90
65
 
91
66
  CREATE TABLE IF NOT EXISTS account (
92
67
  id TEXT PRIMARY KEY NOT NULL,
68
+ issuer TEXT NOT NULL,
93
69
  accountId TEXT NOT NULL,
94
70
  providerId TEXT NOT NULL,
95
71
  userId TEXT NOT NULL REFERENCES user(id) ON DELETE CASCADE,
@@ -101,7 +77,8 @@ export const CANONICAL_MIGRATIONS = [
101
77
  scope TEXT,
102
78
  password TEXT,
103
79
  createdAt TEXT NOT NULL,
104
- updatedAt TEXT NOT NULL
80
+ updatedAt TEXT NOT NULL,
81
+ UNIQUE (issuer, accountId)
105
82
  );
106
83
  CREATE INDEX IF NOT EXISTS account_userId_idx ON account (userId);
107
84
 
@@ -120,88 +97,150 @@ export const CANONICAL_MIGRATIONS = [
120
97
  publicKey TEXT NOT NULL,
121
98
  privateKey TEXT NOT NULL,
122
99
  createdAt TEXT NOT NULL,
123
- expiresAt TEXT
100
+ expiresAt TEXT,
101
+ alg TEXT,
102
+ crv TEXT
124
103
  );
125
104
 
126
105
  CREATE TABLE IF NOT EXISTS oauthClient (
127
- id TEXT PRIMARY KEY NOT NULL,
128
- clientId TEXT NOT NULL UNIQUE,
129
- clientSecret TEXT,
130
- disabled INTEGER DEFAULT 0,
131
- skipConsent INTEGER,
132
- enableEndSession INTEGER,
133
- subjectType TEXT,
134
- scopes TEXT,
135
- userId TEXT REFERENCES user(id) ON DELETE CASCADE,
136
- createdAt TEXT,
137
- updatedAt TEXT,
138
- name TEXT,
139
- uri TEXT,
140
- icon TEXT,
141
- contacts TEXT,
142
- tos TEXT,
143
- policy TEXT,
144
- softwareId TEXT,
145
- softwareVersion TEXT,
146
- softwareStatement TEXT,
147
- redirectUris TEXT NOT NULL,
148
- postLogoutRedirectUris TEXT,
149
- tokenEndpointAuthMethod TEXT,
150
- grantTypes TEXT,
151
- responseTypes TEXT,
152
- public INTEGER,
153
- type TEXT,
154
- requirePKCE INTEGER,
155
- referenceId TEXT,
156
- metadata TEXT
106
+ id TEXT PRIMARY KEY NOT NULL,
107
+ clientId TEXT NOT NULL UNIQUE,
108
+ clientSecret TEXT,
109
+ clientDiscoveryId TEXT,
110
+ disabled INTEGER DEFAULT 0,
111
+ skipConsent INTEGER,
112
+ enableEndSession INTEGER,
113
+ subjectType TEXT,
114
+ scopes TEXT,
115
+ clientCredentialsScopes TEXT DEFAULT '[]',
116
+ userId TEXT REFERENCES user(id) ON DELETE CASCADE,
117
+ createdAt TEXT,
118
+ updatedAt TEXT,
119
+ name TEXT,
120
+ uri TEXT,
121
+ icon TEXT,
122
+ contacts TEXT,
123
+ tos TEXT,
124
+ policy TEXT,
125
+ softwareId TEXT,
126
+ softwareVersion TEXT,
127
+ softwareStatement TEXT,
128
+ redirectUris TEXT NOT NULL,
129
+ postLogoutRedirectUris TEXT,
130
+ backchannelLogoutUri TEXT,
131
+ backchannelLogoutSessionRequired INTEGER,
132
+ tokenEndpointAuthMethod TEXT,
133
+ applicationType TEXT,
134
+ jwks TEXT,
135
+ jwksUri TEXT,
136
+ grantTypes TEXT,
137
+ responseTypes TEXT,
138
+ requirePKCE INTEGER,
139
+ dpopBoundAccessTokens INTEGER DEFAULT 0,
140
+ referenceId TEXT,
141
+ metadata TEXT
157
142
  );
158
143
  CREATE INDEX IF NOT EXISTS oauthClient_userId_idx ON oauthClient (userId);
159
144
 
145
+ CREATE TABLE IF NOT EXISTS oauthResource (
146
+ id TEXT PRIMARY KEY NOT NULL,
147
+ identifier TEXT NOT NULL UNIQUE,
148
+ name TEXT NOT NULL,
149
+ accessTokenTtl INTEGER,
150
+ refreshTokenTtl INTEGER,
151
+ signingAlgorithm TEXT,
152
+ signingKeyId TEXT,
153
+ allowedScopes TEXT,
154
+ customClaims TEXT,
155
+ dpopBoundAccessTokensRequired INTEGER DEFAULT 0,
156
+ disabled INTEGER DEFAULT 0,
157
+ createdAt TEXT,
158
+ updatedAt TEXT,
159
+ policyVersion INTEGER DEFAULT 1,
160
+ metadata TEXT
161
+ );
162
+
163
+ CREATE TABLE IF NOT EXISTS oauthClientResource (
164
+ id TEXT PRIMARY KEY NOT NULL,
165
+ clientId TEXT NOT NULL REFERENCES oauthClient(clientId) ON DELETE CASCADE,
166
+ resourceId TEXT NOT NULL REFERENCES oauthResource(identifier) ON DELETE CASCADE,
167
+ metadata TEXT,
168
+ createdAt TEXT,
169
+ UNIQUE (clientId, resourceId)
170
+ );
171
+ CREATE INDEX IF NOT EXISTS oauthClientResource_clientId_idx
172
+ ON oauthClientResource (clientId);
173
+ CREATE INDEX IF NOT EXISTS oauthClientResource_resourceId_idx
174
+ ON oauthClientResource (resourceId);
175
+
160
176
  CREATE TABLE IF NOT EXISTS oauthRefreshToken (
161
- id TEXT PRIMARY KEY NOT NULL,
162
- token TEXT NOT NULL UNIQUE,
163
- clientId TEXT NOT NULL REFERENCES oauthClient(clientId) ON DELETE CASCADE,
164
- sessionId TEXT REFERENCES session(id) ON DELETE SET NULL,
165
- userId TEXT NOT NULL REFERENCES user(id) ON DELETE CASCADE,
166
- referenceId TEXT,
167
- expiresAt TEXT NOT NULL,
168
- createdAt TEXT NOT NULL,
169
- revoked TEXT,
170
- authTime TEXT,
171
- scopes TEXT NOT NULL
177
+ id TEXT PRIMARY KEY NOT NULL,
178
+ token TEXT NOT NULL UNIQUE,
179
+ clientId TEXT NOT NULL REFERENCES oauthClient(clientId) ON DELETE CASCADE,
180
+ sessionId TEXT REFERENCES session(id) ON DELETE SET NULL,
181
+ userId TEXT NOT NULL REFERENCES user(id) ON DELETE CASCADE,
182
+ referenceId TEXT,
183
+ authorizationCodeId TEXT,
184
+ resources TEXT,
185
+ requestedUserInfoClaims TEXT,
186
+ expiresAt TEXT NOT NULL,
187
+ createdAt TEXT NOT NULL,
188
+ revoked TEXT,
189
+ rotatedAt TEXT,
190
+ rotationReplayResponse TEXT,
191
+ rotationReplayExpiresAt TEXT,
192
+ authTime TEXT,
193
+ confirmation TEXT,
194
+ scopes TEXT NOT NULL
172
195
  );
173
196
  CREATE INDEX IF NOT EXISTS oauthRefreshToken_clientId_idx ON oauthRefreshToken (clientId);
174
197
  CREATE INDEX IF NOT EXISTS oauthRefreshToken_sessionId_idx ON oauthRefreshToken (sessionId);
175
198
  CREATE INDEX IF NOT EXISTS oauthRefreshToken_userId_idx ON oauthRefreshToken (userId);
199
+ CREATE INDEX IF NOT EXISTS oauthRefreshToken_authorizationCodeId_idx
200
+ ON oauthRefreshToken (authorizationCodeId);
176
201
 
177
202
  CREATE TABLE IF NOT EXISTS oauthAccessToken (
178
- id TEXT PRIMARY KEY NOT NULL,
179
- token TEXT NOT NULL UNIQUE,
180
- clientId TEXT NOT NULL REFERENCES oauthClient(clientId) ON DELETE CASCADE,
181
- sessionId TEXT REFERENCES session(id) ON DELETE SET NULL,
182
- userId TEXT REFERENCES user(id) ON DELETE CASCADE,
183
- referenceId TEXT,
184
- refreshId TEXT REFERENCES oauthRefreshToken(id) ON DELETE CASCADE,
185
- expiresAt TEXT NOT NULL,
186
- createdAt TEXT NOT NULL,
187
- scopes TEXT NOT NULL
203
+ id TEXT PRIMARY KEY NOT NULL,
204
+ token TEXT NOT NULL UNIQUE,
205
+ clientId TEXT NOT NULL REFERENCES oauthClient(clientId) ON DELETE CASCADE,
206
+ sessionId TEXT REFERENCES session(id) ON DELETE SET NULL,
207
+ userId TEXT REFERENCES user(id) ON DELETE CASCADE,
208
+ referenceId TEXT,
209
+ authorizationCodeId TEXT,
210
+ resources TEXT,
211
+ requestedUserInfoClaims TEXT,
212
+ refreshId TEXT REFERENCES oauthRefreshToken(id) ON DELETE CASCADE,
213
+ expiresAt TEXT NOT NULL,
214
+ createdAt TEXT NOT NULL,
215
+ revoked TEXT,
216
+ confirmation TEXT,
217
+ scopes TEXT NOT NULL
188
218
  );
189
219
  CREATE INDEX IF NOT EXISTS oauthAccessToken_clientId_idx ON oauthAccessToken (clientId);
190
220
  CREATE INDEX IF NOT EXISTS oauthAccessToken_sessionId_idx ON oauthAccessToken (sessionId);
191
221
  CREATE INDEX IF NOT EXISTS oauthAccessToken_userId_idx ON oauthAccessToken (userId);
192
222
  CREATE INDEX IF NOT EXISTS oauthAccessToken_refreshId_idx ON oauthAccessToken (refreshId);
223
+ CREATE INDEX IF NOT EXISTS oauthAccessToken_authorizationCodeId_idx
224
+ ON oauthAccessToken (authorizationCodeId);
193
225
 
194
226
  CREATE TABLE IF NOT EXISTS oauthConsent (
195
- id TEXT PRIMARY KEY NOT NULL,
196
- clientId TEXT NOT NULL REFERENCES oauthClient(clientId) ON DELETE CASCADE,
197
- userId TEXT REFERENCES user(id) ON DELETE CASCADE,
198
- referenceId TEXT,
199
- scopes TEXT NOT NULL,
200
- createdAt TEXT NOT NULL,
201
- updatedAt TEXT NOT NULL
227
+ id TEXT PRIMARY KEY NOT NULL,
228
+ clientId TEXT NOT NULL REFERENCES oauthClient(clientId) ON DELETE CASCADE,
229
+ userId TEXT REFERENCES user(id) ON DELETE CASCADE,
230
+ referenceId TEXT,
231
+ resources TEXT,
232
+ requestedUserInfoClaims TEXT,
233
+ scopes TEXT NOT NULL,
234
+ createdAt TEXT NOT NULL,
235
+ updatedAt TEXT NOT NULL
202
236
  );
203
237
  CREATE INDEX IF NOT EXISTS oauthConsent_clientId_idx ON oauthConsent (clientId);
204
238
  CREATE INDEX IF NOT EXISTS oauthConsent_userId_idx ON oauthConsent (userId);
239
+
240
+ CREATE TABLE IF NOT EXISTS oauthClientAssertion (
241
+ id TEXT PRIMARY KEY NOT NULL,
242
+ expiresAt TEXT NOT NULL
243
+ );
205
244
  `,
206
245
  },
207
246
  {
@@ -270,7 +309,47 @@ export const CANONICAL_MIGRATIONS = [
270
309
  DROP INDEX IF EXISTS entries_published_collection_updated;
271
310
  `,
272
311
  },
312
+ {
313
+ id: "0006-schema-sql-views",
314
+ description: "Track Schema logical SQL views",
315
+ sql: `
316
+ CREATE TABLE IF NOT EXISTS _mantle_schema_views (
317
+ name TEXT PRIMARY KEY NOT NULL
318
+ );
319
+ `,
320
+ },
321
+ {
322
+ id: "0007-boot-state",
323
+ description: "Skip unchanged boot reconciliation on cold Worker isolates",
324
+ sql: `
325
+ CREATE TABLE IF NOT EXISTS _mantle_boot_state (
326
+ id TEXT PRIMARY KEY NOT NULL,
327
+ fingerprint TEXT NOT NULL
328
+ );
329
+ `,
330
+ },
273
331
  ];
332
+ /** Keep Schema logical tables exact across manifest additions, edits, and removals. */
333
+ export async function reconcileSchemaSqlViews(db, schemas) {
334
+ const views = [...schemas]
335
+ .sort((a, b) => a.metadata.name.localeCompare(b.metadata.name))
336
+ .map(buildSchemaSqlView);
337
+ const desired = new Set(views.map((view) => view.name));
338
+ const tracked = await db.prepare("SELECT name FROM _mantle_schema_views").all();
339
+ for (const { name } of tracked) {
340
+ if (desired.has(name))
341
+ continue;
342
+ await db.prepare(dropSchemaSqlViewSql(name)).run();
343
+ await db.prepare("DELETE FROM _mantle_schema_views WHERE name = ?").bind(name).run();
344
+ }
345
+ for (const view of views) {
346
+ await db.prepare(view.dropSql).run();
347
+ await db.prepare(view.createSql).run();
348
+ await db.prepare("INSERT OR IGNORE INTO _mantle_schema_views(name) VALUES (?)")
349
+ .bind(view.name)
350
+ .run();
351
+ }
352
+ }
274
353
  export function schemaIndexMigrations(schemas) {
275
354
  const migrations = [];
276
355
  const ordered = [...schemas].sort((a, b) => a.metadata.name.localeCompare(b.metadata.name));
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalMigrations.js","sourceRoot":"","sources":["../../../src/infrastructure/boot/canonicalMigrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonicalMigrations.js","sourceRoot":"","sources":["../../../src/infrastructure/boot/canonicalMigrations.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
- export { CANONICAL_MIGRATIONS, reconcileSchemaIndexes, schemaIndexMigrations, } from "./canonicalMigrations.js";
1
+ export { CANONICAL_MIGRATIONS, reconcileSchemaIndexes, reconcileSchemaSqlViews, schemaIndexMigrations, } from "./canonicalMigrations.js";
2
+ export { bootFingerprint, isBootCurrent, markBootCurrent } from "./bootState.js";
3
+ export { SqliteMigrationRunner } from "./SqliteMigrationRunner.js";
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/boot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/boot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,2 +1,4 @@
1
- export { CANONICAL_MIGRATIONS, reconcileSchemaIndexes, schemaIndexMigrations, } from "./canonicalMigrations.js";
1
+ export { CANONICAL_MIGRATIONS, reconcileSchemaIndexes, reconcileSchemaSqlViews, schemaIndexMigrations, } from "./canonicalMigrations.js";
2
+ export { bootFingerprint, isBootCurrent, markBootCurrent } from "./bootState.js";
3
+ export { SqliteMigrationRunner } from "./SqliteMigrationRunner.js";
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/boot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/boot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { MantleRuntime } from "../../MantleRuntime.js";
2
+ import type { HandlerContext } from "../../domain/model/HandlerContext.js";
3
+ import type { RuntimePlan } from "../../domain/service/RuntimePlanCompiler.js";
4
+ export declare const MANTLE_VIEW_ROUTE_PREFIX = "/api/views";
5
+ export interface MantleRequestHandlerOptions {
6
+ readonly plan: RuntimePlan;
7
+ readonly getRuntime: () => Promise<MantleRuntime>;
8
+ }
9
+ export type MantleRequestHandler = (request: Request, context?: HandlerContext) => Promise<Response | null>;
10
+ /** Map the portable public View/HTTP Trigger surface onto Web Requests. */
11
+ export declare function createMantleRequestHandler(options: MantleRequestHandlerOptions): MantleRequestHandler;
12
+ //# sourceMappingURL=createMantleRequestHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMantleRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/http/createMantleRequestHandler.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAG3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAO/E,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CACnD;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAE9B,2EAA2E;AAC3E,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,oBAAoB,CAiCtB"}
@@ -0,0 +1,127 @@
1
+ import { DiagnosticError, HTTP_STATUS_BY_CODE, VIEW_PARAMS_RESERVED, httpStatusFor, redactForWire, runtimeDiagnostic, } from "@aotter/mantle-spec";
2
+ import { evaluateAuthAll } from "../../domain/service/AuthPredicateEvaluator.js";
3
+ import { compilePathMatcher } from "../../domain/service/PathMatcher.js";
4
+ import { ViewParamCoercionError, coerceViewParams, } from "../../domain/service/ViewParamCoercer.js";
5
+ const [PAGE_PARAM, SHOW_PARAM] = VIEW_PARAMS_RESERVED;
6
+ export const MANTLE_VIEW_ROUTE_PREFIX = "/api/views";
7
+ /** Map the portable public View/HTTP Trigger surface onto Web Requests. */
8
+ export function createMantleRequestHandler(options) {
9
+ const triggers = options.plan.httpRoutes.map((route) => ({
10
+ ...route,
11
+ match: compilePathMatcher(route.path),
12
+ }));
13
+ const views = new Map(Object.values(options.plan.views)
14
+ .filter(({ manifest }) => manifest.spec.surface === "public")
15
+ .map((view) => [`${MANTLE_VIEW_ROUTE_PREFIX}/${view.name}`, view]));
16
+ return async (request, context = { user: null, staff: null, env: {} }) => {
17
+ const url = new URL(request.url);
18
+ const view = request.method === "GET" ? views.get(url.pathname) : undefined;
19
+ const trigger = view ? undefined : triggers.find((route) => route.method === request.method && route.match(url.pathname) !== null);
20
+ if (!view && !trigger)
21
+ return null;
22
+ try {
23
+ const runtime = await options.getRuntime();
24
+ if (view)
25
+ return handleView(request, runtime, view.name, view.manifest, context);
26
+ const pathParams = trigger.match(url.pathname);
27
+ return handleTrigger(request, runtime, trigger.trigger, trigger.path, pathParams, context);
28
+ }
29
+ catch (error) {
30
+ return errorResponse(error, `${request.method} ${url.pathname}`);
31
+ }
32
+ };
33
+ }
34
+ async function handleTrigger(request, runtime, trigger, triggerPath, pathParams, context) {
35
+ const pathPrefix = `${request.method} ${triggerPath}`;
36
+ let body;
37
+ try {
38
+ body = await readBody(request);
39
+ }
40
+ catch {
41
+ return diagnosticResponse(runtimeDiagnostic({
42
+ code: "INPUT_VALIDATION_FAILED",
43
+ severity: "error",
44
+ path: `${pathPrefix}#/body`,
45
+ expected: "JSON object",
46
+ message: "HTTP Trigger request body must be a JSON object.",
47
+ }), 400);
48
+ }
49
+ const result = await runtime.invokeTrigger({
50
+ trigger,
51
+ input: { ...body, ...pathParams },
52
+ ctx: context,
53
+ pathPrefix,
54
+ });
55
+ return result.ok
56
+ ? Response.json({ ok: true, data: result.data })
57
+ : diagnosticResponse(result.diagnostic);
58
+ }
59
+ async function handleView(request, runtime, view, manifest, context) {
60
+ const pathPrefix = `GET ${MANTLE_VIEW_ROUTE_PREFIX}/${view}`;
61
+ const search = new URL(request.url).searchParams;
62
+ let params;
63
+ try {
64
+ params = coerceViewParams(manifest, search);
65
+ }
66
+ catch (error) {
67
+ if (!(error instanceof ViewParamCoercionError))
68
+ throw error;
69
+ const denial = manifest.spec.requires?.auth
70
+ ? evaluateAuthAll(manifest.spec.requires, context, pathPrefix, "runtime")
71
+ : null;
72
+ if (denial)
73
+ return diagnosticResponse(denial);
74
+ return diagnosticResponse(runtimeDiagnostic({
75
+ code: "INPUT_VALIDATION_FAILED",
76
+ severity: "error",
77
+ path: pathPrefix,
78
+ expected: "query string conforms to View.spec.params",
79
+ message: error.message,
80
+ }), 400);
81
+ }
82
+ const result = await runtime.executeView({
83
+ view,
84
+ options: {
85
+ params,
86
+ page: positiveNumber(search.get(PAGE_PARAM)),
87
+ show: positiveNumber(search.get(SHOW_PARAM)),
88
+ },
89
+ ctx: context,
90
+ pathPrefix,
91
+ });
92
+ return result.ok
93
+ ? Response.json({ ok: true, data: result.result })
94
+ : diagnosticResponse(result.diagnostic);
95
+ }
96
+ async function readBody(request) {
97
+ if (["GET", "DELETE", "HEAD"].includes(request.method))
98
+ return {};
99
+ if (!(request.headers.get("content-type") ?? "").includes("json"))
100
+ return {};
101
+ const value = await request.json();
102
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
103
+ throw new TypeError("expected a JSON object");
104
+ }
105
+ return value;
106
+ }
107
+ function positiveNumber(value) {
108
+ if (!value)
109
+ return undefined;
110
+ const number = Number(value);
111
+ return Number.isFinite(number) && number > 0 ? number : undefined;
112
+ }
113
+ function diagnosticResponse(diagnostic, status = HTTP_STATUS_BY_CODE[diagnostic.code] ?? httpStatusFor(diagnostic)) {
114
+ return Response.json({ ok: false, diagnostic: redactForWire(diagnostic) }, { status });
115
+ }
116
+ function errorResponse(error, operation) {
117
+ if (error instanceof DiagnosticError)
118
+ return diagnosticResponse(error.diagnostic);
119
+ console.error(`[mantle http ${operation}] unhandled error`, error);
120
+ return diagnosticResponse(runtimeDiagnostic({
121
+ code: "INTERNAL_ERROR",
122
+ severity: "error",
123
+ path: operation,
124
+ message: "An internal error occurred.",
125
+ }), 500);
126
+ }
127
+ //# sourceMappingURL=createMantleRequestHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMantleRequestHandler.js","sourceRoot":"","sources":["../../../src/infrastructure/http/createMantleRequestHandler.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,21 @@
1
- import { type MediaPurposePolicy, type ProcedureManifest, type SchemaManifest, type StaffRole, type ViewManifest } from "@aotter/mantle-spec";
1
+ import { type MediaPurposePolicy, type ProcedureManifest, type SchemaManifest, type SiteIcon, type ViewManifest } from "@aotter/mantle-spec";
2
2
  import type { HandlerContext } from "../../domain/model/HandlerContext.js";
3
3
  import { ArchiveUseCase, CreateDraftUseCase, DeleteEntryUseCase, GetEntryUseCase, ListEntriesUseCase, RequestPublishUseCase, UnpublishUseCase, UpdateDraftUseCase } from "../../usecase/content/index.js";
4
4
  import { CommitMediaUploadUseCase, CreateMediaUploadUseCase } from "../../usecase/media/index.js";
5
5
  import { ExecuteViewUseCase } from "../../usecase/view/index.js";
6
6
  import { InvokeProcedureUseCase } from "../../usecase/procedure/InvokeProcedureUseCase.js";
7
7
  import { type McpToolSurface } from "./McpToolCatalog.js";
8
- /** JSON-RPC dispatcher for the MCP transport. Env-agnostic; the
9
- * adapter resolves the caller's identity and hands `dispatch` a
10
- * `McpAuthContext` plus the use-case bag. */
11
- export interface McpAuthContext {
12
- readonly userId: string;
13
- /** Caller's staff role; null for non-staff bearers. */
14
- readonly staff: {
15
- readonly userId: string;
16
- readonly role: StaffRole;
17
- } | null;
18
- /** OAuth client/token metadata. Optional keeps callers compiled
19
- * against older adapters working; the compatibility scope remains
20
- * `mcp` when no explicit scope list is supplied. */
21
- readonly clientId?: string | null;
22
- readonly credentialId?: string | null;
23
- readonly scopes?: readonly string[];
8
+ export declare const MCP_PROTOCOL_VERSION = "2025-11-25";
9
+ export interface McpServerInfo {
10
+ readonly name: string;
11
+ readonly title?: string;
12
+ readonly description?: string;
13
+ readonly websiteUrl?: string;
14
+ readonly icons?: readonly SiteIcon[];
24
15
  }
25
- type McpRequestContext = Partial<Pick<HandlerContext, "env" | "waitUntil">>;
16
+ /** JSON-RPC dispatcher for the MCP transport. Env-agnostic; the
17
+ * adapter resolves the caller's identity and hands `dispatch` the same
18
+ * normalized `HandlerContext` used by HTTP transports. */
26
19
  /**
27
20
  * The use-case bag the dispatcher needs. Adapter constructs this once
28
21
  * per isolate from the runtime's pre-built use cases (the runtime's
@@ -37,12 +30,12 @@ export interface McpUseCases {
37
30
  readonly unpublish: UnpublishUseCase;
38
31
  readonly archive: ArchiveUseCase;
39
32
  readonly deleteEntry: DeleteEntryUseCase;
40
- readonly executeView?: ExecuteViewUseCase;
33
+ readonly executeView?: Pick<ExecuteViewUseCase, "execute">;
41
34
  /** Optional. When set together with `options.procedures`, MCP
42
35
  * Triggers (#281) route through here. The dispatcher evaluates the
43
- * Procedure's `requires.auth` against the McpAuthContext before
36
+ * Procedure's `requires.auth` against the HandlerContext before
44
37
  * invoking. */
45
- readonly invokeProcedure?: InvokeProcedureUseCase;
38
+ readonly invokeProcedure?: Pick<InvokeProcedureUseCase, "execute">;
46
39
  /** Optional. When set, `create_media_upload` and
47
40
  * `commit_media_upload` appear in the catalog and route here.
48
41
  * `purposes` is the declared taxonomy (#272 shape — name +
@@ -66,6 +59,7 @@ export declare class McpJsonRpcDispatcher {
66
59
  * segment from the tool name and recovers the canonical
67
60
  * collection name. */
68
61
  private readonly schemaBySegment;
62
+ private readonly readOnlyCollections;
69
63
  private readonly viewBySegment;
70
64
  /** tool-name → Procedure manifest, for MCP triggers (#281). */
71
65
  private readonly procedureByToolName;
@@ -76,10 +70,11 @@ export declare class McpJsonRpcDispatcher {
76
70
  * `Trigger.source.kind: "mcp"` (#281). Adapter pre-filters
77
71
  * by surface; dispatcher trusts the slice. */
78
72
  readonly procedures?: ReadonlyArray<ProcedureManifest>;
73
+ readonly serverInfo?: McpServerInfo;
79
74
  });
80
- dispatch(req: Request, auth: McpAuthContext, requestContext?: McpRequestContext): Promise<Response>;
75
+ dispatch(req: Request, ctx: HandlerContext): Promise<Response>;
81
76
  private handleToolCall;
82
77
  private dispatchToolByName;
78
+ private assertEntryMutable;
83
79
  }
84
- export {};
85
80
  //# sourceMappingURL=McpJsonRpcDispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpJsonRpcDispatcher.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/mcp/McpJsonRpcDispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpJsonRpcDispatcher.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/mcp/McpJsonRpcDispatcher.ts"],"names":[],"mappings":"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"}