@bendyline/docblocks 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/dist/{chunk-J32GU3F3.js → chunk-6IYMTYMQ.js} +249 -221
  2. package/dist/chunk-6IYMTYMQ.js.map +1 -0
  3. package/dist/{chunk-75UUF6C4.js → chunk-B56KWCSE.js} +2 -2
  4. package/dist/{chunk-RVQHY3XU.js → chunk-BNKV7MTO.js} +1 -1
  5. package/dist/{chunk-RVQHY3XU.js.map → chunk-BNKV7MTO.js.map} +1 -1
  6. package/dist/chunk-BXMF5YQJ.js +149 -0
  7. package/dist/chunk-BXMF5YQJ.js.map +1 -0
  8. package/dist/{chunk-PGR7LK6D.js → chunk-COYQXQK3.js} +14 -5
  9. package/dist/chunk-COYQXQK3.js.map +1 -0
  10. package/dist/{chunk-RQJRQF46.js → chunk-DN7A33LL.js} +42 -49
  11. package/dist/chunk-DN7A33LL.js.map +1 -0
  12. package/dist/chunk-FA7UNOXK.js +20 -0
  13. package/dist/chunk-FA7UNOXK.js.map +1 -0
  14. package/dist/chunk-GM5YXU4L.js +29 -0
  15. package/dist/chunk-GM5YXU4L.js.map +1 -0
  16. package/dist/{chunk-SI2LU2RP.js → chunk-JS6XFWQK.js} +2 -1
  17. package/dist/chunk-JS6XFWQK.js.map +1 -0
  18. package/dist/{chunk-EGNDADXB.js → chunk-MNSZ7EZN.js} +2 -2
  19. package/dist/chunk-P3DVZQ6S.js +228 -0
  20. package/dist/chunk-P3DVZQ6S.js.map +1 -0
  21. package/dist/chunk-P4WATND4.js +52 -0
  22. package/dist/chunk-P4WATND4.js.map +1 -0
  23. package/dist/chunk-RVPGQBWR.js +169 -0
  24. package/dist/chunk-RVPGQBWR.js.map +1 -0
  25. package/dist/chunk-U722UUFN.js +9 -0
  26. package/dist/chunk-U722UUFN.js.map +1 -0
  27. package/dist/{chunk-GCPBEMMH.js → chunk-VTCSF7VS.js} +11 -21
  28. package/dist/chunk-VTCSF7VS.js.map +1 -0
  29. package/dist/{chunk-2D7Y4IR3.js → chunk-WJKYY5QR.js} +123 -66
  30. package/dist/chunk-WJKYY5QR.js.map +1 -0
  31. package/dist/{chunk-5MYAICRE.js → chunk-XUML3MKV.js} +44 -56
  32. package/dist/chunk-XUML3MKV.js.map +1 -0
  33. package/dist/document/index.d.ts +358 -6
  34. package/dist/document/index.js +24 -3
  35. package/dist/document/index.js.map +1 -1
  36. package/dist/filesystem/electron.d.ts +73 -4
  37. package/dist/filesystem/electron.js +16 -3
  38. package/dist/filesystem/electron.js.map +1 -1
  39. package/dist/filesystem/index.d.ts +228 -22
  40. package/dist/filesystem/index.js +133 -19
  41. package/dist/filesystem/index.js.map +1 -1
  42. package/dist/filesystem/indexeddb.d.ts +284 -5
  43. package/dist/filesystem/indexeddb.js +22 -4
  44. package/dist/filesystem/indexeddb.js.map +1 -1
  45. package/dist/filesystem/memory.d.ts +152 -4
  46. package/dist/filesystem/memory.js +12 -3
  47. package/dist/filesystem/memory.js.map +1 -1
  48. package/dist/filesystem/native.d.ts +136 -4
  49. package/dist/filesystem/native.js +27 -3
  50. package/dist/filesystem/native.js.map +1 -1
  51. package/dist/host/index.d.ts +32 -9
  52. package/dist/host/index.js +26 -29
  53. package/dist/host/index.js.map +1 -1
  54. package/dist/index.d.ts +14 -10
  55. package/dist/index.js +204 -9
  56. package/dist/index.js.map +1 -1
  57. package/dist/mcp/index.d.ts +33 -4
  58. package/dist/mcp/index.js +31 -3
  59. package/dist/mcp/index.js.map +1 -1
  60. package/dist/mcp/zod.d.ts +637 -635
  61. package/dist/mcp/zod.js +700 -884
  62. package/dist/mcp/zod.js.map +1 -1
  63. package/dist/share/index.d.ts +43 -0
  64. package/dist/share/index.js +13 -0
  65. package/dist/share/index.js.map +1 -0
  66. package/dist/{types-CsX6EN2t.d.ts → types-BEg5SQ1_.d.ts} +1 -1
  67. package/dist/{types-eOlt9J7n.d.ts → types-CueK0tvU.d.ts} +34 -11
  68. package/dist/vscode/index.d.ts +220 -3
  69. package/dist/vscode/index.js +382 -2
  70. package/dist/vscode/index.js.map +1 -1
  71. package/dist/workspace/index.d.ts +141 -4
  72. package/dist/workspace/index.js +28 -2
  73. package/dist/workspace/index.js.map +1 -1
  74. package/package.json +9 -5
  75. package/dist/chunk-2D7Y4IR3.js.map +0 -1
  76. package/dist/chunk-5MYAICRE.js.map +0 -1
  77. package/dist/chunk-AYZ4HN5M.js +0 -20
  78. package/dist/chunk-AYZ4HN5M.js.map +0 -1
  79. package/dist/chunk-GCPBEMMH.js.map +0 -1
  80. package/dist/chunk-J32GU3F3.js.map +0 -1
  81. package/dist/chunk-PGR7LK6D.js.map +0 -1
  82. package/dist/chunk-RQJRQF46.js.map +0 -1
  83. package/dist/chunk-SI2LU2RP.js.map +0 -1
  84. package/dist/chunk-W5UUUII5.js +0 -142
  85. package/dist/chunk-W5UUUII5.js.map +0 -1
  86. package/dist/document/document-session.d.ts +0 -127
  87. package/dist/document/document-session.d.ts.map +0 -1
  88. package/dist/document/document-session.js +0 -749
  89. package/dist/document/document-session.js.map +0 -1
  90. package/dist/document/filesystem-target.d.ts +0 -17
  91. package/dist/document/filesystem-target.d.ts.map +0 -1
  92. package/dist/document/filesystem-target.js +0 -70
  93. package/dist/document/filesystem-target.js.map +0 -1
  94. package/dist/document/index.d.ts.map +0 -1
  95. package/dist/document/recovery-journal.d.ts +0 -125
  96. package/dist/document/recovery-journal.d.ts.map +0 -1
  97. package/dist/document/recovery-journal.js +0 -385
  98. package/dist/document/recovery-journal.js.map +0 -1
  99. package/dist/document/types.d.ts +0 -89
  100. package/dist/document/types.d.ts.map +0 -1
  101. package/dist/document/types.js +0 -9
  102. package/dist/document/types.js.map +0 -1
  103. package/dist/filesystem/commit-lock.d.ts +0 -3
  104. package/dist/filesystem/commit-lock.d.ts.map +0 -1
  105. package/dist/filesystem/commit-lock.js +0 -20
  106. package/dist/filesystem/commit-lock.js.map +0 -1
  107. package/dist/filesystem/dbk-workspace.d.ts +0 -34
  108. package/dist/filesystem/dbk-workspace.d.ts.map +0 -1
  109. package/dist/filesystem/dbk-workspace.js +0 -85
  110. package/dist/filesystem/dbk-workspace.js.map +0 -1
  111. package/dist/filesystem/electron-provider-v2.d.ts +0 -36
  112. package/dist/filesystem/electron-provider-v2.d.ts.map +0 -1
  113. package/dist/filesystem/electron-provider-v2.js +0 -503
  114. package/dist/filesystem/electron-provider-v2.js.map +0 -1
  115. package/dist/filesystem/electron-provider.d.ts +0 -35
  116. package/dist/filesystem/electron-provider.d.ts.map +0 -1
  117. package/dist/filesystem/electron-provider.js +0 -69
  118. package/dist/filesystem/electron-provider.js.map +0 -1
  119. package/dist/filesystem/electron.d.ts.map +0 -1
  120. package/dist/filesystem/file-media-provider.d.ts +0 -23
  121. package/dist/filesystem/file-media-provider.d.ts.map +0 -1
  122. package/dist/filesystem/file-media-provider.js +0 -85
  123. package/dist/filesystem/file-media-provider.js.map +0 -1
  124. package/dist/filesystem/filesystem-content-container.d.ts +0 -24
  125. package/dist/filesystem/filesystem-content-container.d.ts.map +0 -1
  126. package/dist/filesystem/filesystem-content-container.js +0 -153
  127. package/dist/filesystem/filesystem-content-container.js.map +0 -1
  128. package/dist/filesystem/fs-error.d.ts +0 -46
  129. package/dist/filesystem/fs-error.d.ts.map +0 -1
  130. package/dist/filesystem/fs-error.js +0 -170
  131. package/dist/filesystem/fs-error.js.map +0 -1
  132. package/dist/filesystem/index.d.ts.map +0 -1
  133. package/dist/filesystem/indexeddb-content-container.d.ts +0 -22
  134. package/dist/filesystem/indexeddb-content-container.d.ts.map +0 -1
  135. package/dist/filesystem/indexeddb-content-container.js +0 -100
  136. package/dist/filesystem/indexeddb-content-container.js.map +0 -1
  137. package/dist/filesystem/indexeddb-provider-v2.d.ts +0 -96
  138. package/dist/filesystem/indexeddb-provider-v2.d.ts.map +0 -1
  139. package/dist/filesystem/indexeddb-provider-v2.js +0 -1241
  140. package/dist/filesystem/indexeddb-provider-v2.js.map +0 -1
  141. package/dist/filesystem/indexeddb-provider.d.ts +0 -39
  142. package/dist/filesystem/indexeddb-provider.d.ts.map +0 -1
  143. package/dist/filesystem/indexeddb-provider.js +0 -145
  144. package/dist/filesystem/indexeddb-provider.js.map +0 -1
  145. package/dist/filesystem/indexeddb-store.d.ts +0 -34
  146. package/dist/filesystem/indexeddb-store.d.ts.map +0 -1
  147. package/dist/filesystem/indexeddb-store.js +0 -165
  148. package/dist/filesystem/indexeddb-store.js.map +0 -1
  149. package/dist/filesystem/indexeddb.d.ts.map +0 -1
  150. package/dist/filesystem/legacy-v2-adapter.d.ts +0 -62
  151. package/dist/filesystem/legacy-v2-adapter.d.ts.map +0 -1
  152. package/dist/filesystem/legacy-v2-adapter.js +0 -499
  153. package/dist/filesystem/legacy-v2-adapter.js.map +0 -1
  154. package/dist/filesystem/memory-provider-v2.d.ts +0 -92
  155. package/dist/filesystem/memory-provider-v2.d.ts.map +0 -1
  156. package/dist/filesystem/memory-provider-v2.js +0 -615
  157. package/dist/filesystem/memory-provider-v2.js.map +0 -1
  158. package/dist/filesystem/memory-provider.d.ts +0 -54
  159. package/dist/filesystem/memory-provider.d.ts.map +0 -1
  160. package/dist/filesystem/memory-provider.js +0 -132
  161. package/dist/filesystem/memory-provider.js.map +0 -1
  162. package/dist/filesystem/memory.d.ts.map +0 -1
  163. package/dist/filesystem/move-entry.d.ts +0 -9
  164. package/dist/filesystem/move-entry.d.ts.map +0 -1
  165. package/dist/filesystem/move-entry.js +0 -103
  166. package/dist/filesystem/move-entry.js.map +0 -1
  167. package/dist/filesystem/move-error.d.ts +0 -53
  168. package/dist/filesystem/move-error.d.ts.map +0 -1
  169. package/dist/filesystem/move-error.js +0 -99
  170. package/dist/filesystem/move-error.js.map +0 -1
  171. package/dist/filesystem/native-provider-v2.d.ts +0 -75
  172. package/dist/filesystem/native-provider-v2.d.ts.map +0 -1
  173. package/dist/filesystem/native-provider-v2.js +0 -849
  174. package/dist/filesystem/native-provider-v2.js.map +0 -1
  175. package/dist/filesystem/native-provider.d.ts +0 -53
  176. package/dist/filesystem/native-provider.d.ts.map +0 -1
  177. package/dist/filesystem/native-provider.js +0 -471
  178. package/dist/filesystem/native-provider.js.map +0 -1
  179. package/dist/filesystem/native.d.ts.map +0 -1
  180. package/dist/filesystem/types.d.ts +0 -83
  181. package/dist/filesystem/types.d.ts.map +0 -1
  182. package/dist/filesystem/types.js +0 -16
  183. package/dist/filesystem/types.js.map +0 -1
  184. package/dist/filesystem/v2.d.ts +0 -172
  185. package/dist/filesystem/v2.d.ts.map +0 -1
  186. package/dist/filesystem/v2.js +0 -16
  187. package/dist/filesystem/v2.js.map +0 -1
  188. package/dist/filesystem/workspace-path.d.ts +0 -21
  189. package/dist/filesystem/workspace-path.d.ts.map +0 -1
  190. package/dist/filesystem/workspace-path.js +0 -80
  191. package/dist/filesystem/workspace-path.js.map +0 -1
  192. package/dist/host/filesystem-v2.d.ts +0 -45
  193. package/dist/host/filesystem-v2.d.ts.map +0 -1
  194. package/dist/host/filesystem-v2.js +0 -13
  195. package/dist/host/filesystem-v2.js.map +0 -1
  196. package/dist/host/git.d.ts +0 -200
  197. package/dist/host/git.d.ts.map +0 -1
  198. package/dist/host/git.js +0 -15
  199. package/dist/host/git.js.map +0 -1
  200. package/dist/host/index.d.ts.map +0 -1
  201. package/dist/host/types.d.ts +0 -232
  202. package/dist/host/types.d.ts.map +0 -1
  203. package/dist/host/types.js +0 -10
  204. package/dist/host/types.js.map +0 -1
  205. package/dist/host/wire-policy.d.ts +0 -22
  206. package/dist/host/wire-policy.d.ts.map +0 -1
  207. package/dist/host/wire-policy.js +0 -92
  208. package/dist/host/wire-policy.js.map +0 -1
  209. package/dist/index.d.ts.map +0 -1
  210. package/dist/mcp/index.d.ts.map +0 -1
  211. package/dist/mcp/types.d.ts +0 -466
  212. package/dist/mcp/types.d.ts.map +0 -1
  213. package/dist/mcp/types.js +0 -25
  214. package/dist/mcp/types.js.map +0 -1
  215. package/dist/mcp/wire.d.ts +0 -29
  216. package/dist/mcp/wire.d.ts.map +0 -1
  217. package/dist/mcp/wire.js +0 -1046
  218. package/dist/mcp/wire.js.map +0 -1
  219. package/dist/mcp/zod.d.ts.map +0 -1
  220. package/dist/vscode/index.d.ts.map +0 -1
  221. package/dist/vscode/messages.d.ts +0 -204
  222. package/dist/vscode/messages.d.ts.map +0 -1
  223. package/dist/vscode/messages.js +0 -494
  224. package/dist/vscode/messages.js.map +0 -1
  225. package/dist/workspace/index.d.ts.map +0 -1
  226. package/dist/workspace/reconcile-electron.d.ts +0 -19
  227. package/dist/workspace/reconcile-electron.d.ts.map +0 -1
  228. package/dist/workspace/reconcile-electron.js +0 -42
  229. package/dist/workspace/reconcile-electron.js.map +0 -1
  230. package/dist/workspace/types.d.ts +0 -69
  231. package/dist/workspace/types.d.ts.map +0 -1
  232. package/dist/workspace/types.js +0 -2
  233. package/dist/workspace/types.js.map +0 -1
  234. package/dist/workspace/workspace-manager.d.ts +0 -47
  235. package/dist/workspace/workspace-manager.d.ts.map +0 -1
  236. package/dist/workspace/workspace-manager.js +0 -126
  237. package/dist/workspace/workspace-manager.js.map +0 -1
  238. package/src/document/document-session.ts +0 -834
  239. package/src/document/filesystem-target.ts +0 -109
  240. package/src/document/index.ts +0 -41
  241. package/src/document/recovery-journal.ts +0 -536
  242. package/src/document/types.ts +0 -116
  243. package/src/filesystem/commit-lock.ts +0 -29
  244. package/src/filesystem/dbk-workspace.ts +0 -135
  245. package/src/filesystem/electron-provider-v2.ts +0 -630
  246. package/src/filesystem/electron-provider.ts +0 -99
  247. package/src/filesystem/electron.ts +0 -3
  248. package/src/filesystem/file-media-provider.ts +0 -103
  249. package/src/filesystem/filesystem-content-container.ts +0 -164
  250. package/src/filesystem/fs-error.ts +0 -234
  251. package/src/filesystem/index.ts +0 -143
  252. package/src/filesystem/indexeddb-content-container.ts +0 -112
  253. package/src/filesystem/indexeddb-provider-v2.ts +0 -1740
  254. package/src/filesystem/indexeddb-provider.ts +0 -171
  255. package/src/filesystem/indexeddb-store.ts +0 -207
  256. package/src/filesystem/indexeddb.ts +0 -12
  257. package/src/filesystem/legacy-v2-adapter.ts +0 -779
  258. package/src/filesystem/memory-provider-v2.ts +0 -896
  259. package/src/filesystem/memory-provider.ts +0 -180
  260. package/src/filesystem/memory.ts +0 -15
  261. package/src/filesystem/move-entry.ts +0 -142
  262. package/src/filesystem/move-error.ts +0 -159
  263. package/src/filesystem/native-provider-v2.ts +0 -1165
  264. package/src/filesystem/native-provider.ts +0 -537
  265. package/src/filesystem/native.ts +0 -16
  266. package/src/filesystem/types.ts +0 -114
  267. package/src/filesystem/v2.ts +0 -231
  268. package/src/filesystem/workspace-path.ts +0 -92
  269. package/src/host/filesystem-v2.ts +0 -104
  270. package/src/host/git.ts +0 -246
  271. package/src/host/index.ts +0 -93
  272. package/src/host/types.ts +0 -274
  273. package/src/host/wire-policy.ts +0 -103
  274. package/src/index.ts +0 -10
  275. package/src/mcp/index.ts +0 -3
  276. package/src/mcp/types.ts +0 -594
  277. package/src/mcp/wire.ts +0 -1280
  278. package/src/mcp/zod.ts +0 -1000
  279. package/src/vscode/index.ts +0 -2
  280. package/src/vscode/messages.ts +0 -704
  281. package/src/workspace/index.ts +0 -17
  282. package/src/workspace/reconcile-electron.ts +0 -65
  283. package/src/workspace/types.ts +0 -67
  284. package/src/workspace/workspace-manager.ts +0 -151
  285. /package/dist/{chunk-75UUF6C4.js.map → chunk-B56KWCSE.js.map} +0 -0
  286. /package/dist/{chunk-EGNDADXB.js.map → chunk-MNSZ7EZN.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/mcp/zod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/mcp/zod.ts"],"sourcesContent":["import { z } from 'zod';\nimport { z as z4 } from 'zod/v4';\nimport {\n MCP_WIRE_LIMITS,\n parseArtifactRef,\n parseComparisonResult,\n parseConversionResult,\n parseInspectionResult,\n parsePreviewResult,\n parseValidationResult,\n} from './wire.js';\nimport type {\n DescribeTemplateResult,\n DescribeThemeResult,\n DocBlocksMcpToolName,\n FormatCapabilitySummary,\n FormatDirectionCapability,\n InferThemeResult,\n InspectPptxLayoutsResult,\n ListFormatsResult,\n ListRootsResult,\n ListTemplatesResult,\n ListThemesResult,\n ListTransformStylesResult,\n PptxLayoutSummary,\n RecommendTemplatesResult,\n RootGrantSummary,\n TemplateContentProfile,\n TemplateInputSummary,\n TemplateRecommendation,\n TemplateSummary,\n ThemeCatalogEntry,\n ThemeDescription,\n TransformStyleSummary,\n} from './types.js';\n\n/** Canonical Zod projection of the exact MCP wire contract for protocol SDKs. */\n\nexport const MAX_MARKDOWN_CHARACTERS = 20 * 1024 * 1024;\nexport const MAX_PATH_CHARACTERS = 4_096;\nconst MAX_ID_CHARACTERS = 256;\n\nconst IDENTIFIER_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._:-]*$/u;\nconst FORMAT_PATTERN = /^[a-z0-9][a-z0-9.+_-]*$/u;\nconst INPUT_FORMAT_PATTERN = /^[A-Za-z0-9][A-Za-z0-9.+_-]*$/u;\nconst MIME_TYPE_PATTERN = /^[a-z0-9!#$&^_.+-]+\\/[a-z0-9!#$&^_.+-]+$/iu;\nconst ARTIFACT_URI_PATTERN = /^docblocks:\\/\\/artifacts\\/[A-Za-z0-9][A-Za-z0-9._:-]*$/u;\nconst ISO_TIMESTAMP_PATTERN = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$/u;\n/* eslint-disable no-control-regex -- Wire contracts must publish explicit control-byte exclusions. */\nconst WIRE_STRING_PATTERN = new RegExp('^[^\\\\u0000\\\\u007f]*$', 'u');\nconst WORKSPACE_PATH_PATTERN = new RegExp(\n '^(?!/)(?![A-Za-z]:)(?!.*(?:^|/)(?:\\\\.{1,2})(?:/|$))(?!.*//)(?!.*[\\\\\\\\\\\\u0000-\\\\u001f\\\\u007f])(?!.*/$).+$',\n 'u',\n);\nconst SAFE_FILENAME_PATTERN = new RegExp('^(?!\\\\.{1,2}$)[^/\\\\\\\\\\\\u0000\\\\u007f]+$', 'u');\n/* eslint-enable no-control-regex */\n\nconst boundedString = z\n .string()\n .max(MCP_WIRE_LIMITS.messageCharacters)\n .regex(WIRE_STRING_PATTERN, 'NUL and DEL are not permitted on the MCP wire');\nconst boundedNonEmptyString = z\n .string()\n .min(1)\n .max(MCP_WIRE_LIMITS.messageCharacters)\n .regex(WIRE_STRING_PATTERN, 'NUL and DEL are not permitted on the MCP wire');\nconst labelSchema = z\n .string()\n .max(MCP_WIRE_LIMITS.labelCharacters)\n .regex(WIRE_STRING_PATTERN, 'NUL and DEL are not permitted on the MCP wire');\nconst nonEmptyLabelSchema = labelSchema.min(1);\nconst excerptSchema = z\n .string()\n .max(MCP_WIRE_LIMITS.excerptCharacters)\n .regex(WIRE_STRING_PATTERN, 'NUL and DEL are not permitted on the MCP wire');\nconst uriTextSchema = z\n .string()\n .min(1)\n .max(MCP_WIRE_LIMITS.uriCharacters)\n .regex(WIRE_STRING_PATTERN, 'NUL and DEL are not permitted on the MCP wire');\nconst nonNegativeSafeIntegerSchema = z.number().int().min(0).max(Number.MAX_SAFE_INTEGER);\nconst idSchema = z.string().min(1).max(MAX_ID_CHARACTERS).regex(IDENTIFIER_PATTERN);\nexport const formatSchema = z\n .string()\n .min(1)\n .max(MCP_WIRE_LIMITS.formatCharacters)\n .regex(FORMAT_PATTERN);\n/** Case-insensitive format input which handlers normalize before publishing it on the wire. */\nexport const formatInputSchema = z\n .string()\n .min(1)\n .max(MCP_WIRE_LIMITS.formatCharacters)\n .regex(INPUT_FORMAT_PATTERN);\nconst mimeTypeSchema = z\n .string()\n .min(3)\n .max(MCP_WIRE_LIMITS.mimeTypeCharacters)\n .regex(MIME_TYPE_PATTERN);\nconst isoTimestampSchema = z\n .string()\n .regex(ISO_TIMESTAMP_PATTERN)\n .refine((value) => {\n const timestamp = Date.parse(value);\n return Number.isFinite(timestamp) && new Date(timestamp).toISOString() === value;\n }, 'Expected a canonical UTC timestamp with millisecond precision');\nconst engineNameSchema = z\n .string()\n .min(1)\n .max(MAX_ID_CHARACTERS)\n .regex(\n /^(?:[A-Za-z0-9][A-Za-z0-9._:-]*|@[A-Za-z0-9][A-Za-z0-9._-]*\\/[A-Za-z0-9][A-Za-z0-9._-]*)$/u,\n );\nconst workspacePathSchema = z\n .string()\n .min(1)\n .max(MAX_PATH_CHARACTERS)\n .regex(WORKSPACE_PATH_PATTERN, 'Expected a canonical root-relative forward-slash path')\n .refine(\n (value) =>\n !value.includes('\\\\') &&\n !value.startsWith('/') &&\n !/^[a-zA-Z]:/u.test(value) &&\n !value.split('/').some((segment) => !segment || segment === '.' || segment === '..') &&\n ![...value].some((character) => {\n const codePoint = character.codePointAt(0) ?? 0;\n return codePoint <= 0x1f || codePoint === 0x7f;\n }),\n 'Expected a canonical root-relative forward-slash path',\n );\nexport const artifactUriSchema = z\n .string()\n .max('docblocks://artifacts/'.length + MAX_ID_CHARACTERS)\n .regex(ARTIFACT_URI_PATTERN);\n\nconst assetSourceSchema = z.discriminatedUnion('kind', [\n z.object({ kind: z.literal('file'), rootId: idSchema, path: workspacePathSchema }).strict(),\n z.object({ kind: z.literal('artifact'), uri: artifactUriSchema }).strict(),\n]);\n\nexport const bundleAssetSchema = z\n .object({\n path: workspacePathSchema,\n source: assetSourceSchema,\n mimeType: mimeTypeSchema.nullable(),\n altText: labelSchema.nullable(),\n credit: labelSchema.nullable(),\n license: labelSchema.nullable(),\n })\n .strict();\n\nexport const bundleDocumentSourceSchema = z\n .object({\n kind: z.literal('bundle'),\n markdown: z\n .string()\n .max(MAX_MARKDOWN_CHARACTERS)\n .regex(WIRE_STRING_PATTERN, 'NUL and DEL are not permitted on the MCP wire'),\n assets: z.array(bundleAssetSchema).max(MCP_WIRE_LIMITS.bundleAssets),\n name: labelSchema.nullable(),\n })\n .strict();\n\nexport const documentSourceSchema = z.discriminatedUnion('kind', [\n z\n .object({\n kind: z.literal('markdown'),\n markdown: z\n .string()\n .max(MAX_MARKDOWN_CHARACTERS)\n .regex(WIRE_STRING_PATTERN, 'NUL and DEL are not permitted on the MCP wire'),\n name: labelSchema.nullable(),\n })\n .strict(),\n z\n .object({\n kind: z.literal('file'),\n rootId: idSchema,\n path: workspacePathSchema,\n format: formatSchema.nullable(),\n })\n .strict(),\n z.object({ kind: z.literal('artifact'), uri: artifactUriSchema }).strict(),\n bundleDocumentSourceSchema,\n]);\n\nconst appliedOptionSchema = z\n .object({\n name: idSchema,\n value: z.union([boundedString, z.number().finite(), z.boolean(), z.null()]),\n })\n .strict();\nconst engineVersionSchema = z\n .object({ name: engineNameSchema, version: boundedNonEmptyString })\n .strict();\n\nexport const artifactRefSchema = z\n .object({\n id: idSchema,\n uri: artifactUriSchema,\n format: formatSchema,\n mimeType: mimeTypeSchema,\n size: z.number().int().nonnegative().max(MCP_WIRE_LIMITS.artifactBytes),\n sha256: z.string().regex(/^[a-f0-9]{64}$/u),\n sourceFormat: formatSchema.nullable(),\n sourceSha256: z\n .string()\n .regex(/^[a-f0-9]{64}$/u)\n .nullable(),\n suggestedFilename: z\n .string()\n .min(1)\n .max(MCP_WIRE_LIMITS.labelCharacters)\n .regex(SAFE_FILENAME_PATTERN),\n appliedOptions: z.array(appliedOptionSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n engineVersions: z.array(engineVersionSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n createdAt: isoTimestampSchema,\n expiresAt: isoTimestampSchema.nullable(),\n })\n .strict()\n .superRefine((value, context) => addExactWireIssue(parseArtifactRef(value), context));\n\nconst diagnosticLocationSchema = z.discriminatedUnion('kind', [\n z\n .object({\n kind: z.literal('source'),\n line: z.number().int().min(1).max(Number.MAX_SAFE_INTEGER),\n column: z.number().int().min(1).max(Number.MAX_SAFE_INTEGER),\n })\n .strict(),\n z.object({ kind: z.literal('block'), blockId: idSchema, nodeType: idSchema }).strict(),\n z.object({ kind: z.literal('asset'), path: workspacePathSchema }).strict(),\n z\n .object({\n kind: z.literal('item'),\n itemKind: z.enum(['page', 'slide', 'sheet', 'frame']),\n index: nonNegativeSafeIntegerSchema,\n })\n .strict(),\n]);\n\nexport const diagnosticSchema = z\n .object({\n code: idSchema,\n severity: z.enum(['info', 'warning', 'error']),\n stage: z.enum([\n 'resolve',\n 'import',\n 'parse',\n 'inspect',\n 'validate',\n 'transform',\n 'convert',\n 'render',\n 'export',\n 'materialize',\n 'compare',\n ]),\n format: formatSchema.nullable(),\n count: z.number().int().min(1).max(Number.MAX_SAFE_INTEGER),\n message: boundedString,\n remediation: boundedString.nullable(),\n retryable: z.boolean(),\n location: diagnosticLocationSchema.nullable(),\n })\n .strict();\n\nexport const mcpErrorDetailSchema = z\n .object({\n code: idSchema,\n message: boundedNonEmptyString,\n stage: z\n .enum([\n 'resolve',\n 'import',\n 'parse',\n 'inspect',\n 'validate',\n 'transform',\n 'convert',\n 'render',\n 'export',\n 'materialize',\n 'compare',\n ])\n .nullable(),\n format: formatSchema.nullable(),\n hint: boundedString.nullable(),\n retryable: z.boolean(),\n operationLoad: z\n .object({\n active: z.number().int().nonnegative().max(32),\n capacity: z.number().int().positive().max(32),\n })\n .strict()\n .nullable(),\n })\n .strict()\n .superRefine((value, context) => {\n if (value.operationLoad && value.operationLoad.active > value.operationLoad.capacity) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['operationLoad', 'active'],\n message: 'Active operation count cannot exceed capacity',\n });\n }\n });\n\nexport const mcpErrorResultSchema = z\n .object({\n version: z.literal(1),\n kind: z.literal('error'),\n result: z.null(),\n error: mcpErrorDetailSchema,\n })\n .strict();\n\n/**\n * Root-object output schema compatible with MCP SDK 1.29's object normalizer.\n *\n * The SDK must see an object at the root, while clients must see the two exact\n * wire branches rather than independently-nullable fields. A Zod 4 object lets\n * us publish the branch schemas through standard JSON Schema `oneOf` metadata;\n * runtime validation still delegates to the original Zod 3 schemas so custom\n * exact-wire refinements remain authoritative.\n */\nexport function toolOutputSchema<T extends z.ZodTypeAny>(success: T) {\n const successEnvelope = z\n .object({\n version: z.literal(1),\n kind: z.literal('success'),\n result: success,\n error: z.null(),\n })\n .strict();\n const errorEnvelope = z\n .object({\n version: z.literal(1),\n kind: z.literal('error'),\n result: z.null(),\n error: mcpErrorDetailSchema,\n })\n .strict();\n const publishedSuccess = z4\n .object({\n version: z4.literal(1),\n kind: z4.literal('success'),\n result: projectZod3Schema(success),\n error: z4.null(),\n })\n .strict();\n const publishedError = z4\n .object({\n version: z4.literal(1),\n kind: z4.literal('error'),\n result: z4.null(),\n error: projectZod3Schema(mcpErrorDetailSchema),\n })\n .strict();\n const oneOf = [\n jsonSchemaWithoutDialect(publishedSuccess),\n jsonSchemaWithoutDialect(publishedError),\n ];\n\n return z4\n .object({\n version: z4.literal(1),\n kind: z4.enum(['success', 'error']),\n result: z4.unknown(),\n error: z4.unknown(),\n })\n .strict()\n .superRefine((value, context) => {\n const branch = value.kind === 'success' ? successEnvelope : errorEnvelope;\n const parsed = branch.safeParse(value);\n if (parsed.success) return;\n for (const issue of parsed.error.issues) {\n context.addIssue({\n code: 'custom',\n path: issue.path,\n message: issue.message,\n });\n }\n })\n .meta({ oneOf });\n}\n\nconst assetSummarySchema = z\n .object({\n path: workspacePathSchema,\n mimeType: mimeTypeSchema,\n size: z.number().int().nonnegative().max(MCP_WIRE_LIMITS.artifactBytes),\n sha256: z\n .string()\n .regex(/^[a-f0-9]{64}$/u)\n .nullable(),\n altText: labelSchema.nullable(),\n credit: labelSchema.nullable(),\n license: labelSchema.nullable(),\n })\n .strict();\n\nexport const conversionResultSchema = z\n .object({\n version: z.literal(1),\n kind: z.literal('conversion'),\n sourceFormat: formatSchema,\n targetFormat: formatSchema,\n artifact: artifactRefSchema,\n fidelity: z.enum(['semantic', 'editable-native', 'rendered-fidelity', 'hybrid']),\n appliedThemeId: idSchema.nullable(),\n appliedTransformId: idSchema.nullable(),\n sourceAssets: z.array(assetSummarySchema).max(MCP_WIRE_LIMITS.arrayEntries),\n sourceAssetCount: z.number().int().min(0).max(MCP_WIRE_LIMITS.arrayEntries),\n diagnostics: z.array(diagnosticSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict()\n .superRefine((value, context) => addExactWireIssue(parseConversionResult(value), context));\n\nconst metadataSchema = z\n .object({\n title: labelSchema.nullable(),\n author: labelSchema.nullable(),\n description: boundedString.nullable(),\n })\n .strict();\nconst statisticsSchema = z\n .object({\n blockCount: nonNegativeSafeIntegerSchema,\n wordCount: nonNegativeSafeIntegerSchema,\n characterCount: nonNegativeSafeIntegerSchema,\n tableCount: nonNegativeSafeIntegerSchema,\n linkCount: nonNegativeSafeIntegerSchema,\n assetCount: nonNegativeSafeIntegerSchema,\n pageCount: nonNegativeSafeIntegerSchema.nullable(),\n slideCount: nonNegativeSafeIntegerSchema.nullable(),\n sheetCount: nonNegativeSafeIntegerSchema.nullable(),\n })\n .strict();\nconst outlineEntrySchema = z\n .object({\n id: idSchema,\n title: nonEmptyLabelSchema,\n level: z.number().int().min(1).max(6),\n blockIndex: nonNegativeSafeIntegerSchema,\n })\n .strict();\nconst blockSummarySchema = z\n .object({\n id: idSchema,\n type: idSchema,\n text: excerptSchema,\n wordCount: nonNegativeSafeIntegerSchema,\n templateId: idSchema.nullable(),\n sourceRange: z\n .object({ start: nonNegativeSafeIntegerSchema, end: nonNegativeSafeIntegerSchema })\n .strict()\n .nullable(),\n })\n .strict();\nconst tableSummarySchema = z\n .object({\n index: nonNegativeSafeIntegerSchema,\n rowCount: nonNegativeSafeIntegerSchema,\n columnCount: nonNegativeSafeIntegerSchema,\n headers: z.array(labelSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict();\nconst linkSummarySchema = z\n .object({\n index: nonNegativeSafeIntegerSchema,\n text: labelSchema,\n target: uriTextSchema,\n })\n .strict();\nconst documentItemSummarySchema = z\n .object({\n kind: z.enum(['page', 'slide', 'sheet', 'frame']),\n index: nonNegativeSafeIntegerSchema,\n label: labelSchema.nullable(),\n blockIds: z.array(idSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict();\nconst themeSummarySchema = z\n .object({\n id: idSchema,\n name: nonEmptyLabelSchema,\n source: z.enum(['built-in', 'document', 'inferred']),\n layouts: z.array(nonEmptyLabelSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict();\n\nexport const inspectionResultSchema = z\n .object({\n version: z.literal(1),\n kind: z.literal('inspection'),\n sourceFormat: formatSchema,\n metadata: metadataSchema,\n statistics: statisticsSchema,\n outline: z.array(outlineEntrySchema).max(MCP_WIRE_LIMITS.arrayEntries),\n blocks: z.array(blockSummarySchema).max(MCP_WIRE_LIMITS.arrayEntries),\n blockOffset: z.number().int().min(0).max(MCP_WIRE_LIMITS.arrayEntries),\n nextCursor: z\n .string()\n .max(MCP_WIRE_LIMITS.identifierCharacters)\n .regex(WIRE_STRING_PATTERN)\n .nullable(),\n tables: z.array(tableSummarySchema).max(MCP_WIRE_LIMITS.arrayEntries),\n links: z.array(linkSummarySchema).max(MCP_WIRE_LIMITS.arrayEntries),\n items: z.array(documentItemSummarySchema).max(MCP_WIRE_LIMITS.arrayEntries),\n assets: z.array(assetSummarySchema).max(MCP_WIRE_LIMITS.arrayEntries),\n theme: themeSummarySchema.nullable(),\n truncated: z.boolean(),\n detailsTruncated: z.boolean(),\n diagnostics: z.array(diagnosticSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict()\n .superRefine((value, context) => addExactWireIssue(parseInspectionResult(value), context));\n\nexport const validationResultSchema = z\n .object({\n version: z.literal(1),\n kind: z.literal('validation'),\n sourceFormat: formatSchema,\n targetFormat: formatSchema.nullable(),\n valid: z.boolean(),\n summary: z\n .object({\n errorCount: nonNegativeSafeIntegerSchema,\n warningCount: nonNegativeSafeIntegerSchema,\n infoCount: nonNegativeSafeIntegerSchema,\n })\n .strict(),\n diagnostics: z.array(diagnosticSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict()\n .superRefine((value, context) => addExactWireIssue(parseValidationResult(value), context));\n\nconst previewItemSchema = z\n .object({\n kind: z.enum(['page', 'slide', 'sheet', 'frame']),\n index: nonNegativeSafeIntegerSchema,\n label: labelSchema.nullable(),\n artifact: artifactRefSchema,\n width: z.number().int().min(1).max(MCP_WIRE_LIMITS.imageDimension),\n height: z.number().int().min(1).max(MCP_WIRE_LIMITS.imageDimension),\n })\n .strict();\nexport const previewResultSchema = z\n .object({\n version: z.literal(1),\n kind: z.literal('preview'),\n sourceFormat: formatSchema,\n previewBasis: z.enum(['source-render', 'reconstructed-import', 'native-extracted']),\n totalItems: nonNegativeSafeIntegerSchema,\n items: z.array(previewItemSchema).max(MCP_WIRE_LIMITS.previewItems),\n truncated: z.boolean(),\n diagnostics: z.array(diagnosticSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict()\n .superRefine((value, context) => addExactWireIssue(parsePreviewResult(value), context));\n\nconst comparisonChangeSchema = z\n .object({\n category: z.enum([\n 'text',\n 'structure',\n 'table',\n 'media',\n 'theme',\n 'layout',\n 'metadata',\n 'timing',\n 'accessibility',\n ]),\n status: z.enum(['retained', 'changed', 'degraded', 'omitted', 'added']),\n path: z.string().max(MCP_WIRE_LIMITS.pathCharacters).regex(WIRE_STRING_PATTERN).nullable(),\n message: boundedNonEmptyString,\n })\n .strict();\nconst comparisonMetricSchema = z\n .object({\n name: idSchema,\n leftValue: z.number().finite(),\n rightValue: z.number().finite(),\n similarity: z.number().min(0).max(1),\n })\n .strict();\nexport const comparisonResultSchema = z\n .object({\n version: z.literal(1),\n kind: z.literal('comparison'),\n leftFormat: formatSchema,\n rightFormat: formatSchema,\n equivalent: z.boolean(),\n score: z.number().min(0).max(1),\n changes: z.array(comparisonChangeSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n metrics: z.array(comparisonMetricSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n diagnostics: z.array(diagnosticSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict()\n .superRefine((value, context) => addExactWireIssue(parseComparisonResult(value), context));\n\nconst boundedPathTextSchema = z\n .string()\n .min(1)\n .max(MCP_WIRE_LIMITS.pathCharacters)\n .regex(WIRE_STRING_PATTERN, 'NUL and DEL are not permitted on the MCP wire');\nconst sha256Schema = z.string().regex(/^[a-f0-9]{64}$/u);\n\nexport const convertDocumentResultSchema = z\n .object({ results: z.array(conversionResultSchema).min(1).max(12) })\n .strict();\n\nexport const rootGrantSummarySchema = z\n .object({\n id: idSchema,\n label: nonEmptyLabelSchema,\n read: z.boolean(),\n write: z.boolean(),\n })\n .strict() satisfies z.ZodType<RootGrantSummary>;\n\nexport const listRootsResultSchema = z\n .object({ roots: z.array(rootGrantSummarySchema).max(64) })\n .strict() satisfies z.ZodType<ListRootsResult>;\n\nexport const saveArtifactResultSchema = z\n .object({\n artifact: artifactRefSchema,\n destination: z.object({ rootId: idSchema, path: workspacePathSchema }).strict(),\n sha256: sha256Schema,\n })\n .strict();\n\nexport const formatDirectionCapabilitySchema = z.discriminatedUnion('supported', [\n z\n .object({\n supported: z.literal(true),\n tool: z.enum(['inspect_document', 'convert_document']),\n })\n .strict(),\n z.object({ supported: z.literal(false), excludedReason: boundedString }).strict(),\n]) satisfies z.ZodType<FormatDirectionCapability>;\n\nexport const formatCapabilitySummarySchema = z\n .object({\n id: formatSchema,\n label: nonEmptyLabelSchema,\n mimeType: mimeTypeSchema,\n extensions: z.array(nonEmptyLabelSchema).max(64),\n import: formatDirectionCapabilitySchema,\n export: formatDirectionCapabilitySchema,\n })\n .strict() satisfies z.ZodType<FormatCapabilitySummary>;\n\nexport const listFormatsResultSchema = z\n .object({ formats: z.array(formatCapabilitySummarySchema).max(64) })\n .strict() satisfies z.ZodType<ListFormatsResult>;\n\nexport const themeCatalogEntrySchema = z\n .object({\n id: idSchema,\n name: nonEmptyLabelSchema,\n description: boundedString.optional(),\n })\n .strict() satisfies z.ZodType<ThemeCatalogEntry>;\n\nexport const listThemesResultSchema = z\n .object({ themes: z.array(themeCatalogEntrySchema).max(MCP_WIRE_LIMITS.arrayEntries) })\n .strict() satisfies z.ZodType<ListThemesResult>;\n\nexport const transformStyleSummarySchema = z\n .object({ id: idSchema, name: nonEmptyLabelSchema, description: boundedString })\n .strict() satisfies z.ZodType<TransformStyleSummary>;\n\nexport const listTransformStylesResultSchema = z\n .object({\n styles: z.array(transformStyleSummarySchema).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict() satisfies z.ZodType<ListTransformStylesResult>;\n\nexport const templateSummarySchema = z\n .object({ id: idSchema, label: nonEmptyLabelSchema, description: boundedString })\n .strict() satisfies z.ZodType<TemplateSummary>;\n\nexport const listTemplatesResultSchema = z\n .object({ templates: z.array(templateSummarySchema).max(MCP_WIRE_LIMITS.arrayEntries) })\n .strict() satisfies z.ZodType<ListTemplatesResult>;\n\nexport const templateInputSummarySchema = z\n .object({\n key: idSchema,\n description: boundedString,\n type: nonEmptyLabelSchema,\n required: z.boolean(),\n values: z.array(labelSchema).max(MCP_WIRE_LIMITS.arrayEntries),\n valueHint: labelSchema.nullable(),\n })\n .strict() satisfies z.ZodType<TemplateInputSummary>;\n\nexport const describeTemplateResultSchema = z\n .object({\n template: templateSummarySchema\n .extend({ inputs: z.array(templateInputSummarySchema).max(MCP_WIRE_LIMITS.arrayEntries) })\n .strict(),\n annotationExample: boundedString,\n })\n .strict() satisfies z.ZodType<DescribeTemplateResult>;\n\nexport const templateContentProfileSchema = z\n .object({\n hasImage: z.boolean(),\n imageCount: nonNegativeSafeIntegerSchema,\n hasVideo: z.boolean(),\n hasBlockquote: z.boolean(),\n hasList: z.boolean(),\n hasTable: z.boolean(),\n hasDate: z.boolean(),\n hasNumberHighlight: z.boolean(),\n wordCount: nonNegativeSafeIntegerSchema,\n hasAsciiDiagram: z.boolean(),\n hasTimeline: z.boolean(),\n hasTree: z.boolean(),\n })\n .strict() satisfies z.ZodType<TemplateContentProfile>;\n\nexport const templateRecommendationSchema = z\n .object({\n blockId: idSchema,\n title: labelSchema.nullable(),\n profile: templateContentProfileSchema,\n recommendedTemplateIds: z.array(idSchema).max(256),\n })\n .strict() satisfies z.ZodType<TemplateRecommendation>;\n\nexport const recommendTemplatesResultSchema = z\n .object({\n recommendations: z.array(templateRecommendationSchema).max(100),\n totalBlocks: nonNegativeSafeIntegerSchema,\n truncated: z.boolean(),\n })\n .strict() satisfies z.ZodType<RecommendTemplatesResult>;\n\nexport const themeDescriptionSchema = z\n .object({\n id: idSchema,\n name: nonEmptyLabelSchema,\n description: boundedString,\n colors: z\n .object({\n primary: nonEmptyLabelSchema,\n secondary: nonEmptyLabelSchema,\n background: nonEmptyLabelSchema,\n text: nonEmptyLabelSchema,\n highlight: nonEmptyLabelSchema,\n })\n .strict(),\n bodyFont: boundedString,\n titleFont: boundedString,\n })\n .strict() satisfies z.ZodType<ThemeDescription>;\n\nexport const describeThemeResultSchema = z\n .object({ theme: themeDescriptionSchema, source: z.enum(['built-in', 'document']) })\n .strict() satisfies z.ZodType<DescribeThemeResult>;\n\nexport const inferredLayoutSummarySchema = z\n .object({ id: nonEmptyLabelSchema, name: nonEmptyLabelSchema, description: boundedString })\n .strict();\n\nexport const inferThemeResultSchema = z\n .object({\n sourceFormat: formatSchema,\n sourceSha256: sha256Schema,\n theme: themeDescriptionSchema,\n layouts: z.array(inferredLayoutSummarySchema).max(1_000),\n warnings: z.array(boundedString).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict() satisfies z.ZodType<InferThemeResult>;\n\nexport const pptxLayoutSummarySchema = z\n .object({\n layoutPath: boundedPathTextSchema,\n name: nonEmptyLabelSchema,\n masterName: labelSchema.nullable(),\n type: labelSchema.nullable(),\n slideCount: nonNegativeSafeIntegerSchema,\n verdict: z.enum(['builtin', 'custom', 'plain', 'skip']),\n templateId: labelSchema.nullable(),\n notes: z.array(boundedString).max(1_000),\n })\n .strict() satisfies z.ZodType<PptxLayoutSummary>;\n\nexport const inspectPptxLayoutsResultSchema = z\n .object({\n slideSize: z\n .object({ cx: nonNegativeSafeIntegerSchema, cy: nonNegativeSafeIntegerSchema })\n .strict(),\n layouts: z.array(pptxLayoutSummarySchema).max(2_048),\n })\n .strict() satisfies z.ZodType<InspectPptxLayoutsResult>;\n\nexport const applyInferredThemeResultSchema = z\n .object({\n result: conversionResultSchema,\n theme: themeDescriptionSchema,\n layoutIds: z.array(labelSchema).max(1_000),\n warnings: z.array(boundedString).max(MCP_WIRE_LIMITS.arrayEntries),\n })\n .strict();\n\n/** Core-owned success payload schemas for every advertised canonical MCP tool. */\nexport const DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS: Readonly<\n Record<DocBlocksMcpToolName, z.ZodTypeAny>\n> = Object.freeze({\n list_roots: listRootsResultSchema,\n get_conversion_report: conversionResultSchema,\n convert_document: convertDocumentResultSchema,\n create_document_bundle: conversionResultSchema,\n save_artifact: saveArtifactResultSchema,\n inspect_document: inspectionResultSchema,\n validate_document: validationResultSchema,\n preview_document: previewResultSchema,\n compare_documents: comparisonResultSchema,\n list_templates: listTemplatesResultSchema,\n describe_template: describeTemplateResultSchema,\n recommend_templates: recommendTemplatesResultSchema,\n describe_theme: describeThemeResultSchema,\n infer_theme_from_file: inferThemeResultSchema,\n inspect_pptx_layouts: inspectPptxLayoutsResultSchema,\n apply_inferred_theme: applyInferredThemeResultSchema,\n list_formats: listFormatsResultSchema,\n list_themes: listThemesResultSchema,\n list_transform_styles: listTransformStylesResultSchema,\n});\n\n/** Exact success/error envelopes consumed directly by MCP tool registration. */\ntype DocBlocksMcpToolOutputSchema = ReturnType<typeof toolOutputSchema>;\nexport const DOCBLOCKS_MCP_TOOL_OUTPUT_SCHEMAS: Readonly<\n Record<DocBlocksMcpToolName, DocBlocksMcpToolOutputSchema>\n> = Object.freeze({\n list_roots: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.list_roots),\n get_conversion_report: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.get_conversion_report),\n convert_document: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.convert_document),\n create_document_bundle: toolOutputSchema(\n DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.create_document_bundle,\n ),\n save_artifact: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.save_artifact),\n inspect_document: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.inspect_document),\n validate_document: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.validate_document),\n preview_document: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.preview_document),\n compare_documents: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.compare_documents),\n list_templates: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.list_templates),\n describe_template: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.describe_template),\n recommend_templates: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.recommend_templates),\n describe_theme: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.describe_theme),\n infer_theme_from_file: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.infer_theme_from_file),\n inspect_pptx_layouts: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.inspect_pptx_layouts),\n apply_inferred_theme: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.apply_inferred_theme),\n list_formats: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.list_formats),\n list_themes: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.list_themes),\n list_transform_styles: toolOutputSchema(DOCBLOCKS_MCP_TOOL_RESULT_SCHEMAS.list_transform_styles),\n});\n\nexport const materializationOptionsSchema = z.discriminatedUnion('ifExists', [\n z\n .object({\n rootId: idSchema,\n path: workspacePathSchema,\n ifExists: z.literal('error'),\n expectedSha256: z.null(),\n })\n .strict(),\n z\n .object({\n rootId: idSchema,\n path: workspacePathSchema,\n ifExists: z.literal('replace'),\n expectedSha256: z.string().regex(/^[a-f0-9]{64}$/u),\n })\n .strict(),\n]);\n\nfunction addExactWireIssue<T>(parsed: T | null, context: z.RefinementCtx): void {\n if (parsed !== null) return;\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Value does not satisfy the exact DocBlocks MCP wire invariants',\n });\n}\n\n/** Project the Zod 3 subset used by tool outputs into Zod 4 for SDK JSON Schema publication. */\nfunction projectZod3Schema(schema: z.ZodTypeAny): z4.ZodType {\n if (schema instanceof z.ZodEffects) return projectZod3Schema(schema.innerType());\n if (schema instanceof z.ZodOptional) return projectZod3Schema(schema.unwrap()).optional();\n if (schema instanceof z.ZodNullable) return projectZod3Schema(schema.unwrap()).nullable();\n if (schema instanceof z.ZodString) {\n let projected = z4.string();\n for (const check of schema._def.checks) {\n switch (check.kind) {\n case 'min':\n projected = projected.min(check.value);\n break;\n case 'max':\n projected = projected.max(check.value);\n break;\n case 'length':\n projected = projected.length(check.value);\n break;\n case 'regex':\n projected = projected.regex(check.regex);\n break;\n default:\n throw new Error(`Unsupported Zod string check in MCP output schema: ${check.kind}`);\n }\n }\n return projected;\n }\n if (schema instanceof z.ZodNumber) {\n let projected = z4.number();\n for (const check of schema._def.checks) {\n switch (check.kind) {\n case 'min':\n projected = check.inclusive ? projected.min(check.value) : projected.gt(check.value);\n break;\n case 'max':\n projected = check.inclusive ? projected.max(check.value) : projected.lt(check.value);\n break;\n case 'int':\n projected = projected.int();\n break;\n case 'multipleOf':\n projected = projected.multipleOf(check.value);\n break;\n case 'finite':\n // Zod 4 numbers reject infinities by default.\n break;\n }\n }\n return projected;\n }\n if (schema instanceof z.ZodBoolean) return z4.boolean();\n if (schema instanceof z.ZodNull) return z4.null();\n if (schema instanceof z.ZodAny) return z4.any();\n if (schema instanceof z.ZodUnknown) return z4.unknown();\n if (schema instanceof z.ZodNever) return z4.never();\n if (schema instanceof z.ZodLiteral) {\n const value: unknown = schema.value;\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean' ||\n typeof value === 'bigint' ||\n value === null\n ) {\n return z4.literal(value);\n }\n throw new Error('Unsupported Zod literal in MCP output schema');\n }\n if (schema instanceof z.ZodEnum) {\n const [first, ...rest] = schema.options;\n if (first === undefined) throw new Error('Empty Zod enum in MCP output schema');\n return z4.enum([first, ...rest]);\n }\n if (schema instanceof z.ZodArray) {\n let projected = z4.array(projectZod3Schema(schema.element));\n if (schema._def.minLength) projected = projected.min(schema._def.minLength.value);\n if (schema._def.maxLength) projected = projected.max(schema._def.maxLength.value);\n if (schema._def.exactLength) projected = projected.length(schema._def.exactLength.value);\n return projected;\n }\n if (schema instanceof z.ZodObject) {\n const sourceShape = schema.shape as z.ZodRawShape;\n const shape = Object.fromEntries(\n Object.entries(sourceShape).map(([key, value]) => [key, projectZod3Schema(value)]),\n );\n if (schema._def.unknownKeys === 'passthrough') return z4.looseObject(shape);\n return z4.object(shape);\n }\n if (schema instanceof z.ZodDiscriminatedUnion) {\n const options = schema.options as readonly z.ZodTypeAny[];\n return projectUnion(options.map((option) => projectZod3Schema(option)));\n }\n if (schema instanceof z.ZodUnion) {\n const options = schema.options as readonly z.ZodTypeAny[];\n return projectUnion(options.map((option) => projectZod3Schema(option)));\n }\n throw new Error(`Unsupported Zod type in MCP output schema: ${schema._def.typeName}`);\n}\n\nfunction projectUnion(options: z4.ZodType[]): z4.ZodType {\n const [first, second, ...rest] = options;\n if (!first || !second) throw new Error('MCP output unions require at least two alternatives');\n return z4.union([first, second, ...rest]);\n}\n\nfunction jsonSchemaWithoutDialect(schema: z4.ZodType): Record<string, unknown> {\n const { $schema: _dialect, ...jsonSchema } = z4.toJSONSchema(schema, { target: 'draft-7' });\n return jsonSchema;\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAAS,SAAS;AAClB,SAAS,KAAK,UAAU;AAqCjB,IAAM,0BAA0B,KAAK,OAAO;AAC5C,IAAM,sBAAsB;AACnC,IAAM,oBAAoB;AAE1B,IAAM,qBAAqB;AAC3B,IAAM,iBAAiB;AACvB,IAAM,uBAAuB;AAC7B,IAAM,oBAAoB;AAC1B,IAAM,uBAAuB;AAC7B,IAAM,wBAAwB;AAE9B,IAAM,sBAAsB,IAAI,OAAO,wBAAwB,GAAG;AAClE,IAAM,yBAAyB,IAAI;AAAA,EACjC;AAAA,EACA;AACF;AACA,IAAM,wBAAwB,IAAI,OAAO,0CAA0C,GAAG;AAGtF,IAAM,gBAAgB,EACnB,OAAO,EACP,IAAI,gBAAgB,iBAAiB,EACrC,MAAM,qBAAqB,+CAA+C;AAC7E,IAAM,wBAAwB,EAC3B,OAAO,EACP,IAAI,CAAC,EACL,IAAI,gBAAgB,iBAAiB,EACrC,MAAM,qBAAqB,+CAA+C;AAC7E,IAAM,cAAc,EACjB,OAAO,EACP,IAAI,gBAAgB,eAAe,EACnC,MAAM,qBAAqB,+CAA+C;AAC7E,IAAM,sBAAsB,YAAY,IAAI,CAAC;AAC7C,IAAM,gBAAgB,EACnB,OAAO,EACP,IAAI,gBAAgB,iBAAiB,EACrC,MAAM,qBAAqB,+CAA+C;AAC7E,IAAM,gBAAgB,EACnB,OAAO,EACP,IAAI,CAAC,EACL,IAAI,gBAAgB,aAAa,EACjC,MAAM,qBAAqB,+CAA+C;AAC7E,IAAM,+BAA+B,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,OAAO,gBAAgB;AACxF,IAAM,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,iBAAiB,EAAE,MAAM,kBAAkB;AAC3E,IAAM,eAAe,EACzB,OAAO,EACP,IAAI,CAAC,EACL,IAAI,gBAAgB,gBAAgB,EACpC,MAAM,cAAc;AAEhB,IAAM,oBAAoB,EAC9B,OAAO,EACP,IAAI,CAAC,EACL,IAAI,gBAAgB,gBAAgB,EACpC,MAAM,oBAAoB;AAC7B,IAAM,iBAAiB,EACpB,OAAO,EACP,IAAI,CAAC,EACL,IAAI,gBAAgB,kBAAkB,EACtC,MAAM,iBAAiB;AAC1B,IAAM,qBAAqB,EACxB,OAAO,EACP,MAAM,qBAAqB,EAC3B,OAAO,CAAC,UAAU;AACjB,QAAM,YAAY,KAAK,MAAM,KAAK;AAClC,SAAO,OAAO,SAAS,SAAS,KAAK,IAAI,KAAK,SAAS,EAAE,YAAY,MAAM;AAC7E,GAAG,+DAA+D;AACpE,IAAM,mBAAmB,EACtB,OAAO,EACP,IAAI,CAAC,EACL,IAAI,iBAAiB,EACrB;AAAA,EACC;AACF;AACF,IAAM,sBAAsB,EACzB,OAAO,EACP,IAAI,CAAC,EACL,IAAI,mBAAmB,EACvB,MAAM,wBAAwB,uDAAuD,EACrF;AAAA,EACC,CAAC,UACC,CAAC,MAAM,SAAS,IAAI,KACpB,CAAC,MAAM,WAAW,GAAG,KACrB,CAAC,cAAc,KAAK,KAAK,KACzB,CAAC,MAAM,MAAM,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,YAAY,OAAO,YAAY,IAAI,KACnF,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,cAAc;AAC9B,UAAM,YAAY,UAAU,YAAY,CAAC,KAAK;AAC9C,WAAO,aAAa,MAAQ,cAAc;AAAA,EAC5C,CAAC;AAAA,EACH;AACF;AACK,IAAM,oBAAoB,EAC9B,OAAO,EACP,IAAI,yBAAyB,SAAS,iBAAiB,EACvD,MAAM,oBAAoB;AAE7B,IAAM,oBAAoB,EAAE,mBAAmB,QAAQ;AAAA,EACrD,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,MAAM,GAAG,QAAQ,UAAU,MAAM,oBAAoB,CAAC,EAAE,OAAO;AAAA,EAC1F,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,UAAU,GAAG,KAAK,kBAAkB,CAAC,EAAE,OAAO;AAC3E,CAAC;AAEM,IAAM,oBAAoB,EAC9B,OAAO;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU,eAAe,SAAS;AAAA,EAClC,SAAS,YAAY,SAAS;AAAA,EAC9B,QAAQ,YAAY,SAAS;AAAA,EAC7B,SAAS,YAAY,SAAS;AAChC,CAAC,EACA,OAAO;AAEH,IAAM,6BAA6B,EACvC,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ,QAAQ;AAAA,EACxB,UAAU,EACP,OAAO,EACP,IAAI,uBAAuB,EAC3B,MAAM,qBAAqB,+CAA+C;AAAA,EAC7E,QAAQ,EAAE,MAAM,iBAAiB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EACnE,MAAM,YAAY,SAAS;AAC7B,CAAC,EACA,OAAO;AAEH,IAAM,uBAAuB,EAAE,mBAAmB,QAAQ;AAAA,EAC/D,EACG,OAAO;AAAA,IACN,MAAM,EAAE,QAAQ,UAAU;AAAA,IAC1B,UAAU,EACP,OAAO,EACP,IAAI,uBAAuB,EAC3B,MAAM,qBAAqB,+CAA+C;AAAA,IAC7E,MAAM,YAAY,SAAS;AAAA,EAC7B,CAAC,EACA,OAAO;AAAA,EACV,EACG,OAAO;AAAA,IACN,MAAM,EAAE,QAAQ,MAAM;AAAA,IACtB,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,aAAa,SAAS;AAAA,EAChC,CAAC,EACA,OAAO;AAAA,EACV,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,UAAU,GAAG,KAAK,kBAAkB,CAAC,EAAE,OAAO;AAAA,EACzE;AACF,CAAC;AAED,IAAM,sBAAsB,EACzB,OAAO;AAAA,EACN,MAAM;AAAA,EACN,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC,EACA,OAAO;AACV,IAAM,sBAAsB,EACzB,OAAO,EAAE,MAAM,kBAAkB,SAAS,sBAAsB,CAAC,EACjE,OAAO;AAEH,IAAM,oBAAoB,EAC9B,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,gBAAgB,aAAa;AAAA,EACtE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB;AAAA,EAC1C,cAAc,aAAa,SAAS;AAAA,EACpC,cAAc,EACX,OAAO,EACP,MAAM,iBAAiB,EACvB,SAAS;AAAA,EACZ,mBAAmB,EAChB,OAAO,EACP,IAAI,CAAC,EACL,IAAI,gBAAgB,eAAe,EACnC,MAAM,qBAAqB;AAAA,EAC9B,gBAAgB,EAAE,MAAM,mBAAmB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EAC7E,gBAAgB,EAAE,MAAM,mBAAmB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EAC7E,WAAW;AAAA,EACX,WAAW,mBAAmB,SAAS;AACzC,CAAC,EACA,OAAO,EACP,YAAY,CAAC,OAAO,YAAY,kBAAkB,iBAAiB,KAAK,GAAG,OAAO,CAAC;AAEtF,IAAM,2BAA2B,EAAE,mBAAmB,QAAQ;AAAA,EAC5D,EACG,OAAO;AAAA,IACN,MAAM,EAAE,QAAQ,QAAQ;AAAA,IACxB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,OAAO,gBAAgB;AAAA,IACzD,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,OAAO,gBAAgB;AAAA,EAC7D,CAAC,EACA,OAAO;AAAA,EACV,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,OAAO,GAAG,SAAS,UAAU,UAAU,SAAS,CAAC,EAAE,OAAO;AAAA,EACrF,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,OAAO;AAAA,EACzE,EACG,OAAO;AAAA,IACN,MAAM,EAAE,QAAQ,MAAM;AAAA,IACtB,UAAU,EAAE,KAAK,CAAC,QAAQ,SAAS,SAAS,OAAO,CAAC;AAAA,IACpD,OAAO;AAAA,EACT,CAAC,EACA,OAAO;AACZ,CAAC;AAEM,IAAM,mBAAmB,EAC7B,OAAO;AAAA,EACN,MAAM;AAAA,EACN,UAAU,EAAE,KAAK,CAAC,QAAQ,WAAW,OAAO,CAAC;AAAA,EAC7C,OAAO,EAAE,KAAK;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,QAAQ,aAAa,SAAS;AAAA,EAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,OAAO,gBAAgB;AAAA,EAC1D,SAAS;AAAA,EACT,aAAa,cAAc,SAAS;AAAA,EACpC,WAAW,EAAE,QAAQ;AAAA,EACrB,UAAU,yBAAyB,SAAS;AAC9C,CAAC,EACA,OAAO;AAEH,IAAM,uBAAuB,EACjC,OAAO;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO,EACJ,KAAK;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,EACA,SAAS;AAAA,EACZ,QAAQ,aAAa,SAAS;AAAA,EAC9B,MAAM,cAAc,SAAS;AAAA,EAC7B,WAAW,EAAE,QAAQ;AAAA,EACrB,eAAe,EACZ,OAAO;AAAA,IACN,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;AAAA,IAC7C,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;AAAA,EAC9C,CAAC,EACA,OAAO,EACP,SAAS;AACd,CAAC,EACA,OAAO,EACP,YAAY,CAAC,OAAO,YAAY;AAC/B,MAAI,MAAM,iBAAiB,MAAM,cAAc,SAAS,MAAM,cAAc,UAAU;AACpF,YAAQ,SAAS;AAAA,MACf,MAAM,EAAE,aAAa;AAAA,MACrB,MAAM,CAAC,iBAAiB,QAAQ;AAAA,MAChC,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AACF,CAAC;AAEI,IAAM,uBAAuB,EACjC,OAAO;AAAA,EACN,SAAS,EAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,EAAE,QAAQ,OAAO;AAAA,EACvB,QAAQ,EAAE,KAAK;AAAA,EACf,OAAO;AACT,CAAC,EACA,OAAO;AAWH,SAAS,iBAAyC,SAAY;AACnE,QAAM,kBAAkB,EACrB,OAAO;AAAA,IACN,SAAS,EAAE,QAAQ,CAAC;AAAA,IACpB,MAAM,EAAE,QAAQ,SAAS;AAAA,IACzB,QAAQ;AAAA,IACR,OAAO,EAAE,KAAK;AAAA,EAChB,CAAC,EACA,OAAO;AACV,QAAM,gBAAgB,EACnB,OAAO;AAAA,IACN,SAAS,EAAE,QAAQ,CAAC;AAAA,IACpB,MAAM,EAAE,QAAQ,OAAO;AAAA,IACvB,QAAQ,EAAE,KAAK;AAAA,IACf,OAAO;AAAA,EACT,CAAC,EACA,OAAO;AACV,QAAM,mBAAmB,GACtB,OAAO;AAAA,IACN,SAAS,GAAG,QAAQ,CAAC;AAAA,IACrB,MAAM,GAAG,QAAQ,SAAS;AAAA,IAC1B,QAAQ,kBAAkB,OAAO;AAAA,IACjC,OAAO,GAAG,KAAK;AAAA,EACjB,CAAC,EACA,OAAO;AACV,QAAM,iBAAiB,GACpB,OAAO;AAAA,IACN,SAAS,GAAG,QAAQ,CAAC;AAAA,IACrB,MAAM,GAAG,QAAQ,OAAO;AAAA,IACxB,QAAQ,GAAG,KAAK;AAAA,IAChB,OAAO,kBAAkB,oBAAoB;AAAA,EAC/C,CAAC,EACA,OAAO;AACV,QAAM,QAAQ;AAAA,IACZ,yBAAyB,gBAAgB;AAAA,IACzC,yBAAyB,cAAc;AAAA,EACzC;AAEA,SAAO,GACJ,OAAO;AAAA,IACN,SAAS,GAAG,QAAQ,CAAC;AAAA,IACrB,MAAM,GAAG,KAAK,CAAC,WAAW,OAAO,CAAC;AAAA,IAClC,QAAQ,GAAG,QAAQ;AAAA,IACnB,OAAO,GAAG,QAAQ;AAAA,EACpB,CAAC,EACA,OAAO,EACP,YAAY,CAAC,OAAO,YAAY;AAC/B,UAAM,SAAS,MAAM,SAAS,YAAY,kBAAkB;AAC5D,UAAM,SAAS,OAAO,UAAU,KAAK;AACrC,QAAI,OAAO,QAAS;AACpB,eAAW,SAAS,OAAO,MAAM,QAAQ;AACvC,cAAQ,SAAS;AAAA,QACf,MAAM;AAAA,QACN,MAAM,MAAM;AAAA,QACZ,SAAS,MAAM;AAAA,MACjB,CAAC;AAAA,IACH;AAAA,EACF,CAAC,EACA,KAAK,EAAE,MAAM,CAAC;AACnB;AAEA,IAAM,qBAAqB,EACxB,OAAO;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,gBAAgB,aAAa;AAAA,EACtE,QAAQ,EACL,OAAO,EACP,MAAM,iBAAiB,EACvB,SAAS;AAAA,EACZ,SAAS,YAAY,SAAS;AAAA,EAC9B,QAAQ,YAAY,SAAS;AAAA,EAC7B,SAAS,YAAY,SAAS;AAChC,CAAC,EACA,OAAO;AAEH,IAAM,yBAAyB,EACnC,OAAO;AAAA,EACN,SAAS,EAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,EAAE,QAAQ,YAAY;AAAA,EAC5B,cAAc;AAAA,EACd,cAAc;AAAA,EACd,UAAU;AAAA,EACV,UAAU,EAAE,KAAK,CAAC,YAAY,mBAAmB,qBAAqB,QAAQ,CAAC;AAAA,EAC/E,gBAAgB,SAAS,SAAS;AAAA,EAClC,oBAAoB,SAAS,SAAS;AAAA,EACtC,cAAc,EAAE,MAAM,kBAAkB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EAC1E,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,gBAAgB,YAAY;AAAA,EAC1E,aAAa,EAAE,MAAM,gBAAgB,EAAE,IAAI,gBAAgB,YAAY;AACzE,CAAC,EACA,OAAO,EACP,YAAY,CAAC,OAAO,YAAY,kBAAkB,sBAAsB,KAAK,GAAG,OAAO,CAAC;AAE3F,IAAM,iBAAiB,EACpB,OAAO;AAAA,EACN,OAAO,YAAY,SAAS;AAAA,EAC5B,QAAQ,YAAY,SAAS;AAAA,EAC7B,aAAa,cAAc,SAAS;AACtC,CAAC,EACA,OAAO;AACV,IAAM,mBAAmB,EACtB,OAAO;AAAA,EACN,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW,6BAA6B,SAAS;AAAA,EACjD,YAAY,6BAA6B,SAAS;AAAA,EAClD,YAAY,6BAA6B,SAAS;AACpD,CAAC,EACA,OAAO;AACV,IAAM,qBAAqB,EACxB,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAAA,EACpC,YAAY;AACd,CAAC,EACA,OAAO;AACV,IAAM,qBAAqB,EACxB,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AAAA,EACX,YAAY,SAAS,SAAS;AAAA,EAC9B,aAAa,EACV,OAAO,EAAE,OAAO,8BAA8B,KAAK,6BAA6B,CAAC,EACjF,OAAO,EACP,SAAS;AACd,CAAC,EACA,OAAO;AACV,IAAM,qBAAqB,EACxB,OAAO;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAAS,EAAE,MAAM,WAAW,EAAE,IAAI,gBAAgB,YAAY;AAChE,CAAC,EACA,OAAO;AACV,IAAM,oBAAoB,EACvB,OAAO;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AACV,CAAC,EACA,OAAO;AACV,IAAM,4BAA4B,EAC/B,OAAO;AAAA,EACN,MAAM,EAAE,KAAK,CAAC,QAAQ,SAAS,SAAS,OAAO,CAAC;AAAA,EAChD,OAAO;AAAA,EACP,OAAO,YAAY,SAAS;AAAA,EAC5B,UAAU,EAAE,MAAM,QAAQ,EAAE,IAAI,gBAAgB,YAAY;AAC9D,CAAC,EACA,OAAO;AACV,IAAM,qBAAqB,EACxB,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,QAAQ,EAAE,KAAK,CAAC,YAAY,YAAY,UAAU,CAAC;AAAA,EACnD,SAAS,EAAE,MAAM,mBAAmB,EAAE,IAAI,gBAAgB,YAAY;AACxE,CAAC,EACA,OAAO;AAEH,IAAM,yBAAyB,EACnC,OAAO;AAAA,EACN,SAAS,EAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,EAAE,QAAQ,YAAY;AAAA,EAC5B,cAAc;AAAA,EACd,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,SAAS,EAAE,MAAM,kBAAkB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EACrE,QAAQ,EAAE,MAAM,kBAAkB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EACpE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,gBAAgB,YAAY;AAAA,EACrE,YAAY,EACT,OAAO,EACP,IAAI,gBAAgB,oBAAoB,EACxC,MAAM,mBAAmB,EACzB,SAAS;AAAA,EACZ,QAAQ,EAAE,MAAM,kBAAkB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EACpE,OAAO,EAAE,MAAM,iBAAiB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EAClE,OAAO,EAAE,MAAM,yBAAyB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EAC1E,QAAQ,EAAE,MAAM,kBAAkB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EACpE,OAAO,mBAAmB,SAAS;AAAA,EACnC,WAAW,EAAE,QAAQ;AAAA,EACrB,kBAAkB,EAAE,QAAQ;AAAA,EAC5B,aAAa,EAAE,MAAM,gBAAgB,EAAE,IAAI,gBAAgB,YAAY;AACzE,CAAC,EACA,OAAO,EACP,YAAY,CAAC,OAAO,YAAY,kBAAkB,sBAAsB,KAAK,GAAG,OAAO,CAAC;AAEpF,IAAM,yBAAyB,EACnC,OAAO;AAAA,EACN,SAAS,EAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,EAAE,QAAQ,YAAY;AAAA,EAC5B,cAAc;AAAA,EACd,cAAc,aAAa,SAAS;AAAA,EACpC,OAAO,EAAE,QAAQ;AAAA,EACjB,SAAS,EACN,OAAO;AAAA,IACN,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,WAAW;AAAA,EACb,CAAC,EACA,OAAO;AAAA,EACV,aAAa,EAAE,MAAM,gBAAgB,EAAE,IAAI,gBAAgB,YAAY;AACzE,CAAC,EACA,OAAO,EACP,YAAY,CAAC,OAAO,YAAY,kBAAkB,sBAAsB,KAAK,GAAG,OAAO,CAAC;AAE3F,IAAM,oBAAoB,EACvB,OAAO;AAAA,EACN,MAAM,EAAE,KAAK,CAAC,QAAQ,SAAS,SAAS,OAAO,CAAC;AAAA,EAChD,OAAO;AAAA,EACP,OAAO,YAAY,SAAS;AAAA,EAC5B,UAAU;AAAA,EACV,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,gBAAgB,cAAc;AAAA,EACjE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,gBAAgB,cAAc;AACpE,CAAC,EACA,OAAO;AACH,IAAM,sBAAsB,EAChC,OAAO;AAAA,EACN,SAAS,EAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,EAAE,QAAQ,SAAS;AAAA,EACzB,cAAc;AAAA,EACd,cAAc,EAAE,KAAK,CAAC,iBAAiB,wBAAwB,kBAAkB,CAAC;AAAA,EAClF,YAAY;AAAA,EACZ,OAAO,EAAE,MAAM,iBAAiB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EAClE,WAAW,EAAE,QAAQ;AAAA,EACrB,aAAa,EAAE,MAAM,gBAAgB,EAAE,IAAI,gBAAgB,YAAY;AACzE,CAAC,EACA,OAAO,EACP,YAAY,CAAC,OAAO,YAAY,kBAAkB,mBAAmB,KAAK,GAAG,OAAO,CAAC;AAExF,IAAM,yBAAyB,EAC5B,OAAO;AAAA,EACN,UAAU,EAAE,KAAK;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,QAAQ,EAAE,KAAK,CAAC,YAAY,WAAW,YAAY,WAAW,OAAO,CAAC;AAAA,EACtE,MAAM,EAAE,OAAO,EAAE,IAAI,gBAAgB,cAAc,EAAE,MAAM,mBAAmB,EAAE,SAAS;AAAA,EACzF,SAAS;AACX,CAAC,EACA,OAAO;AACV,IAAM,yBAAyB,EAC5B,OAAO;AAAA,EACN,MAAM;AAAA,EACN,WAAW,EAAE,OAAO,EAAE,OAAO;AAAA,EAC7B,YAAY,EAAE,OAAO,EAAE,OAAO;AAAA,EAC9B,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AACrC,CAAC,EACA,OAAO;AACH,IAAM,yBAAyB,EACnC,OAAO;AAAA,EACN,SAAS,EAAE,QAAQ,CAAC;AAAA,EACpB,MAAM,EAAE,QAAQ,YAAY;AAAA,EAC5B,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY,EAAE,QAAQ;AAAA,EACtB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAAA,EAC9B,SAAS,EAAE,MAAM,sBAAsB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EACzE,SAAS,EAAE,MAAM,sBAAsB,EAAE,IAAI,gBAAgB,YAAY;AAAA,EACzE,aAAa,EAAE,MAAM,gBAAgB,EAAE,IAAI,gBAAgB,YAAY;AACzE,CAAC,EACA,OAAO,EACP,YAAY,CAAC,OAAO,YAAY,kBAAkB,sBAAsB,KAAK,GAAG,OAAO,CAAC;AAE3F,IAAM,wBAAwB,EAC3B,OAAO,EACP,IAAI,CAAC,EACL,IAAI,gBAAgB,cAAc,EAClC,MAAM,qBAAqB,+CAA+C;AAC7E,IAAM,eAAe,EAAE,OAAO,EAAE,MAAM,iBAAiB;AAEhD,IAAM,8BAA8B,EACxC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAClE,OAAO;AAEH,IAAM,yBAAyB,EACnC,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAM,EAAE,QAAQ;AAAA,EAChB,OAAO,EAAE,QAAQ;AACnB,CAAC,EACA,OAAO;AAEH,IAAM,wBAAwB,EAClC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,EAAE,IAAI,EAAE,EAAE,CAAC,EACzD,OAAO;AAEH,IAAM,2BAA2B,EACrC,OAAO;AAAA,EACN,UAAU;AAAA,EACV,aAAa,EAAE,OAAO,EAAE,QAAQ,UAAU,MAAM,oBAAoB,CAAC,EAAE,OAAO;AAAA,EAC9E,QAAQ;AACV,CAAC,EACA,OAAO;AAEH,IAAM,kCAAkC,EAAE,mBAAmB,aAAa;AAAA,EAC/E,EACG,OAAO;AAAA,IACN,WAAW,EAAE,QAAQ,IAAI;AAAA,IACzB,MAAM,EAAE,KAAK,CAAC,oBAAoB,kBAAkB,CAAC;AAAA,EACvD,CAAC,EACA,OAAO;AAAA,EACV,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,KAAK,GAAG,gBAAgB,cAAc,CAAC,EAAE,OAAO;AAClF,CAAC;AAEM,IAAM,gCAAgC,EAC1C,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,UAAU;AAAA,EACV,YAAY,EAAE,MAAM,mBAAmB,EAAE,IAAI,EAAE;AAAA,EAC/C,QAAQ;AAAA,EACR,QAAQ;AACV,CAAC,EACA,OAAO;AAEH,IAAM,0BAA0B,EACpC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,EAAE,IAAI,EAAE,EAAE,CAAC,EAClE,OAAO;AAEH,IAAM,0BAA0B,EACpC,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,aAAa,cAAc,SAAS;AACtC,CAAC,EACA,OAAO;AAEH,IAAM,yBAAyB,EACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,EAAE,IAAI,gBAAgB,YAAY,EAAE,CAAC,EACrF,OAAO;AAEH,IAAM,8BAA8B,EACxC,OAAO,EAAE,IAAI,UAAU,MAAM,qBAAqB,aAAa,cAAc,CAAC,EAC9E,OAAO;AAEH,IAAM,kCAAkC,EAC5C,OAAO;AAAA,EACN,QAAQ,EAAE,MAAM,2BAA2B,EAAE,IAAI,gBAAgB,YAAY;AAC/E,CAAC,EACA,OAAO;AAEH,IAAM,wBAAwB,EAClC,OAAO,EAAE,IAAI,UAAU,OAAO,qBAAqB,aAAa,cAAc,CAAC,EAC/E,OAAO;AAEH,IAAM,4BAA4B,EACtC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,EAAE,IAAI,gBAAgB,YAAY,EAAE,CAAC,EACtF,OAAO;AAEH,IAAM,6BAA6B,EACvC,OAAO;AAAA,EACN,KAAK;AAAA,EACL,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU,EAAE,QAAQ;AAAA,EACpB,QAAQ,EAAE,MAAM,WAAW,EAAE,IAAI,gBAAgB,YAAY;AAAA,EAC7D,WAAW,YAAY,SAAS;AAClC,CAAC,EACA,OAAO;AAEH,IAAM,+BAA+B,EACzC,OAAO;AAAA,EACN,UAAU,sBACP,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,EAAE,IAAI,gBAAgB,YAAY,EAAE,CAAC,EACxF,OAAO;AAAA,EACV,mBAAmB;AACrB,CAAC,EACA,OAAO;AAEH,IAAM,+BAA+B,EACzC,OAAO;AAAA,EACN,UAAU,EAAE,QAAQ;AAAA,EACpB,YAAY;AAAA,EACZ,UAAU,EAAE,QAAQ;AAAA,EACpB,eAAe,EAAE,QAAQ;AAAA,EACzB,SAAS,EAAE,QAAQ;AAAA,EACnB,UAAU,EAAE,QAAQ;AAAA,EACpB,SAAS,EAAE,QAAQ;AAAA,EACnB,oBAAoB,EAAE,QAAQ;AAAA,EAC9B,WAAW;AAAA,EACX,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,aAAa,EAAE,QAAQ;AAAA,EACvB,SAAS,EAAE,QAAQ;AACrB,CAAC,EACA,OAAO;AAEH,IAAM,+BAA+B,EACzC,OAAO;AAAA,EACN,SAAS;AAAA,EACT,OAAO,YAAY,SAAS;AAAA,EAC5B,SAAS;AAAA,EACT,wBAAwB,EAAE,MAAM,QAAQ,EAAE,IAAI,GAAG;AACnD,CAAC,EACA,OAAO;AAEH,IAAM,iCAAiC,EAC3C,OAAO;AAAA,EACN,iBAAiB,EAAE,MAAM,4BAA4B,EAAE,IAAI,GAAG;AAAA,EAC9D,aAAa;AAAA,EACb,WAAW,EAAE,QAAQ;AACvB,CAAC,EACA,OAAO;AAEH,IAAM,yBAAyB,EACnC,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,aAAa;AAAA,EACb,QAAQ,EACL,OAAO;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,WAAW;AAAA,EACb,CAAC,EACA,OAAO;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AACb,CAAC,EACA,OAAO;AAEH,IAAM,4BAA4B,EACtC,OAAO,EAAE,OAAO,wBAAwB,QAAQ,EAAE,KAAK,CAAC,YAAY,UAAU,CAAC,EAAE,CAAC,EAClF,OAAO;AAEH,IAAM,8BAA8B,EACxC,OAAO,EAAE,IAAI,qBAAqB,MAAM,qBAAqB,aAAa,cAAc,CAAC,EACzF,OAAO;AAEH,IAAM,yBAAyB,EACnC,OAAO;AAAA,EACN,cAAc;AAAA,EACd,cAAc;AAAA,EACd,OAAO;AAAA,EACP,SAAS,EAAE,MAAM,2BAA2B,EAAE,IAAI,GAAK;AAAA,EACvD,UAAU,EAAE,MAAM,aAAa,EAAE,IAAI,gBAAgB,YAAY;AACnE,CAAC,EACA,OAAO;AAEH,IAAM,0BAA0B,EACpC,OAAO;AAAA,EACN,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,YAAY,YAAY,SAAS;AAAA,EACjC,MAAM,YAAY,SAAS;AAAA,EAC3B,YAAY;AAAA,EACZ,SAAS,EAAE,KAAK,CAAC,WAAW,UAAU,SAAS,MAAM,CAAC;AAAA,EACtD,YAAY,YAAY,SAAS;AAAA,EACjC,OAAO,EAAE,MAAM,aAAa,EAAE,IAAI,GAAK;AACzC,CAAC,EACA,OAAO;AAEH,IAAM,iCAAiC,EAC3C,OAAO;AAAA,EACN,WAAW,EACR,OAAO,EAAE,IAAI,8BAA8B,IAAI,6BAA6B,CAAC,EAC7E,OAAO;AAAA,EACV,SAAS,EAAE,MAAM,uBAAuB,EAAE,IAAI,IAAK;AACrD,CAAC,EACA,OAAO;AAEH,IAAM,iCAAiC,EAC3C,OAAO;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,WAAW,EAAE,MAAM,WAAW,EAAE,IAAI,GAAK;AAAA,EACzC,UAAU,EAAE,MAAM,aAAa,EAAE,IAAI,gBAAgB,YAAY;AACnE,CAAC,EACA,OAAO;AAGH,IAAM,oCAET,OAAO,OAAO;AAAA,EAChB,YAAY;AAAA,EACZ,uBAAuB;AAAA,EACvB,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,uBAAuB;AACzB,CAAC;AAIM,IAAM,oCAET,OAAO,OAAO;AAAA,EAChB,YAAY,iBAAiB,kCAAkC,UAAU;AAAA,EACzE,uBAAuB,iBAAiB,kCAAkC,qBAAqB;AAAA,EAC/F,kBAAkB,iBAAiB,kCAAkC,gBAAgB;AAAA,EACrF,wBAAwB;AAAA,IACtB,kCAAkC;AAAA,EACpC;AAAA,EACA,eAAe,iBAAiB,kCAAkC,aAAa;AAAA,EAC/E,kBAAkB,iBAAiB,kCAAkC,gBAAgB;AAAA,EACrF,mBAAmB,iBAAiB,kCAAkC,iBAAiB;AAAA,EACvF,kBAAkB,iBAAiB,kCAAkC,gBAAgB;AAAA,EACrF,mBAAmB,iBAAiB,kCAAkC,iBAAiB;AAAA,EACvF,gBAAgB,iBAAiB,kCAAkC,cAAc;AAAA,EACjF,mBAAmB,iBAAiB,kCAAkC,iBAAiB;AAAA,EACvF,qBAAqB,iBAAiB,kCAAkC,mBAAmB;AAAA,EAC3F,gBAAgB,iBAAiB,kCAAkC,cAAc;AAAA,EACjF,uBAAuB,iBAAiB,kCAAkC,qBAAqB;AAAA,EAC/F,sBAAsB,iBAAiB,kCAAkC,oBAAoB;AAAA,EAC7F,sBAAsB,iBAAiB,kCAAkC,oBAAoB;AAAA,EAC7F,cAAc,iBAAiB,kCAAkC,YAAY;AAAA,EAC7E,aAAa,iBAAiB,kCAAkC,WAAW;AAAA,EAC3E,uBAAuB,iBAAiB,kCAAkC,qBAAqB;AACjG,CAAC;AAEM,IAAM,+BAA+B,EAAE,mBAAmB,YAAY;AAAA,EAC3E,EACG,OAAO;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,UAAU,EAAE,QAAQ,OAAO;AAAA,IAC3B,gBAAgB,EAAE,KAAK;AAAA,EACzB,CAAC,EACA,OAAO;AAAA,EACV,EACG,OAAO;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,UAAU,EAAE,QAAQ,SAAS;AAAA,IAC7B,gBAAgB,EAAE,OAAO,EAAE,MAAM,iBAAiB;AAAA,EACpD,CAAC,EACA,OAAO;AACZ,CAAC;AAED,SAAS,kBAAqB,QAAkB,SAAgC;AAC9E,MAAI,WAAW,KAAM;AACrB,UAAQ,SAAS;AAAA,IACf,MAAM,EAAE,aAAa;AAAA,IACrB,SAAS;AAAA,EACX,CAAC;AACH;AAGA,SAAS,kBAAkB,QAAkC;AAC3D,MAAI,kBAAkB,EAAE,WAAY,QAAO,kBAAkB,OAAO,UAAU,CAAC;AAC/E,MAAI,kBAAkB,EAAE,YAAa,QAAO,kBAAkB,OAAO,OAAO,CAAC,EAAE,SAAS;AACxF,MAAI,kBAAkB,EAAE,YAAa,QAAO,kBAAkB,OAAO,OAAO,CAAC,EAAE,SAAS;AACxF,MAAI,kBAAkB,EAAE,WAAW;AACjC,QAAI,YAAY,GAAG,OAAO;AAC1B,eAAW,SAAS,OAAO,KAAK,QAAQ;AACtC,cAAQ,MAAM,MAAM;AAAA,QAClB,KAAK;AACH,sBAAY,UAAU,IAAI,MAAM,KAAK;AACrC;AAAA,QACF,KAAK;AACH,sBAAY,UAAU,IAAI,MAAM,KAAK;AACrC;AAAA,QACF,KAAK;AACH,sBAAY,UAAU,OAAO,MAAM,KAAK;AACxC;AAAA,QACF,KAAK;AACH,sBAAY,UAAU,MAAM,MAAM,KAAK;AACvC;AAAA,QACF;AACE,gBAAM,IAAI,MAAM,sDAAsD,MAAM,IAAI,EAAE;AAAA,MACtF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,MAAI,kBAAkB,EAAE,WAAW;AACjC,QAAI,YAAY,GAAG,OAAO;AAC1B,eAAW,SAAS,OAAO,KAAK,QAAQ;AACtC,cAAQ,MAAM,MAAM;AAAA,QAClB,KAAK;AACH,sBAAY,MAAM,YAAY,UAAU,IAAI,MAAM,KAAK,IAAI,UAAU,GAAG,MAAM,KAAK;AACnF;AAAA,QACF,KAAK;AACH,sBAAY,MAAM,YAAY,UAAU,IAAI,MAAM,KAAK,IAAI,UAAU,GAAG,MAAM,KAAK;AACnF;AAAA,QACF,KAAK;AACH,sBAAY,UAAU,IAAI;AAC1B;AAAA,QACF,KAAK;AACH,sBAAY,UAAU,WAAW,MAAM,KAAK;AAC5C;AAAA,QACF,KAAK;AAEH;AAAA,MACJ;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,MAAI,kBAAkB,EAAE,WAAY,QAAO,GAAG,QAAQ;AACtD,MAAI,kBAAkB,EAAE,QAAS,QAAO,GAAG,KAAK;AAChD,MAAI,kBAAkB,EAAE,OAAQ,QAAO,GAAG,IAAI;AAC9C,MAAI,kBAAkB,EAAE,WAAY,QAAO,GAAG,QAAQ;AACtD,MAAI,kBAAkB,EAAE,SAAU,QAAO,GAAG,MAAM;AAClD,MAAI,kBAAkB,EAAE,YAAY;AAClC,UAAM,QAAiB,OAAO;AAC9B,QACE,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,aACjB,OAAO,UAAU,YACjB,UAAU,MACV;AACA,aAAO,GAAG,QAAQ,KAAK;AAAA,IACzB;AACA,UAAM,IAAI,MAAM,8CAA8C;AAAA,EAChE;AACA,MAAI,kBAAkB,EAAE,SAAS;AAC/B,UAAM,CAAC,OAAO,GAAG,IAAI,IAAI,OAAO;AAChC,QAAI,UAAU,OAAW,OAAM,IAAI,MAAM,qCAAqC;AAC9E,WAAO,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;AAAA,EACjC;AACA,MAAI,kBAAkB,EAAE,UAAU;AAChC,QAAI,YAAY,GAAG,MAAM,kBAAkB,OAAO,OAAO,CAAC;AAC1D,QAAI,OAAO,KAAK,UAAW,aAAY,UAAU,IAAI,OAAO,KAAK,UAAU,KAAK;AAChF,QAAI,OAAO,KAAK,UAAW,aAAY,UAAU,IAAI,OAAO,KAAK,UAAU,KAAK;AAChF,QAAI,OAAO,KAAK,YAAa,aAAY,UAAU,OAAO,OAAO,KAAK,YAAY,KAAK;AACvF,WAAO;AAAA,EACT;AACA,MAAI,kBAAkB,EAAE,WAAW;AACjC,UAAM,cAAc,OAAO;AAC3B,UAAM,QAAQ,OAAO;AAAA,MACnB,OAAO,QAAQ,WAAW,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,kBAAkB,KAAK,CAAC,CAAC;AAAA,IACnF;AACA,QAAI,OAAO,KAAK,gBAAgB,cAAe,QAAO,GAAG,YAAY,KAAK;AAC1E,WAAO,GAAG,OAAO,KAAK;AAAA,EACxB;AACA,MAAI,kBAAkB,EAAE,uBAAuB;AAC7C,UAAM,UAAU,OAAO;AACvB,WAAO,aAAa,QAAQ,IAAI,CAAC,WAAW,kBAAkB,MAAM,CAAC,CAAC;AAAA,EACxE;AACA,MAAI,kBAAkB,EAAE,UAAU;AAChC,UAAM,UAAU,OAAO;AACvB,WAAO,aAAa,QAAQ,IAAI,CAAC,WAAW,kBAAkB,MAAM,CAAC,CAAC;AAAA,EACxE;AACA,QAAM,IAAI,MAAM,8CAA8C,OAAO,KAAK,QAAQ,EAAE;AACtF;AAEA,SAAS,aAAa,SAAmC;AACvD,QAAM,CAAC,OAAO,QAAQ,GAAG,IAAI,IAAI;AACjC,MAAI,CAAC,SAAS,CAAC,OAAQ,OAAM,IAAI,MAAM,qDAAqD;AAC5F,SAAO,GAAG,MAAM,CAAC,OAAO,QAAQ,GAAG,IAAI,CAAC;AAC1C;AAEA,SAAS,yBAAyB,QAA6C;AAC7E,QAAM,EAAE,SAAS,UAAU,GAAG,WAAW,IAAI,GAAG,aAAa,QAAQ,EAAE,QAAQ,UAAU,CAAC;AAC1F,SAAO;AACT;","names":[]}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Canonical wire format for a document embedded in a DocBlocks URL hash.
3
+ *
4
+ * The base64 payload is deliberately small and versioned:
5
+ *
6
+ * "DBSHARE" + version byte + mode byte + bounded DBK bytes
7
+ *
8
+ * The DBK itself is validated at the filesystem import boundary. Keeping the
9
+ * launch mode outside the archive means the copied Markdown is never mutated
10
+ * merely to choose its initial presentation.
11
+ */
12
+ type SharedDocumentMode = 'slideshow' | 'video' | 'page' | 'document' | 'narrate';
13
+ interface SharedDocumentPayload {
14
+ readonly archive: Uint8Array;
15
+ readonly mode: SharedDocumentMode | null;
16
+ }
17
+ type SharedDocumentHashParseResult = {
18
+ readonly kind: 'none';
19
+ } | {
20
+ readonly kind: 'valid';
21
+ readonly payload: SharedDocumentPayload;
22
+ } | {
23
+ readonly kind: 'invalid';
24
+ readonly message: string;
25
+ };
26
+ declare const SHARED_DOCUMENT_LIMITS: Readonly<{
27
+ /** A conservative interoperability threshold, not a universal browser limit. */
28
+ portableUrlCharacters: 4096;
29
+ /** Hard cap applied before a hash is copied or decoded. */
30
+ urlCharacters: 32768;
31
+ /** Maximum UTF-8 Markdown accepted by the first-party link generator. */
32
+ markdownBytes: number;
33
+ /** Maximum compressed DBK bytes carried by the versioned envelope. */
34
+ archiveBytes: number;
35
+ }>;
36
+ /** Build the exact `#shared(<base64>)` fragment for a bounded DBK archive. */
37
+ declare function createSharedDocumentHash(archive: Uint8Array, mode?: SharedDocumentMode | null): string;
38
+ /** Replace any existing hash on a base URL with a validated shared payload. */
39
+ declare function createSharedDocumentUrl(baseUrl: string, archive: Uint8Array, mode?: SharedDocumentMode | null): string;
40
+ /** Parse a hash without ever treating malformed shared input as workspace routing. */
41
+ declare function parseSharedDocumentHash(hash: string): SharedDocumentHashParseResult;
42
+
43
+ export { SHARED_DOCUMENT_LIMITS, type SharedDocumentHashParseResult, type SharedDocumentMode, type SharedDocumentPayload, createSharedDocumentHash, createSharedDocumentUrl, parseSharedDocumentHash };
@@ -0,0 +1,13 @@
1
+ import {
2
+ SHARED_DOCUMENT_LIMITS,
3
+ createSharedDocumentHash,
4
+ createSharedDocumentUrl,
5
+ parseSharedDocumentHash
6
+ } from "../chunk-BXMF5YQJ.js";
7
+ export {
8
+ SHARED_DOCUMENT_LIMITS,
9
+ createSharedDocumentHash,
10
+ createSharedDocumentUrl,
11
+ parseSharedDocumentHash
12
+ };
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,7 +1,7 @@
1
1
  import { a as WorkspacePath } from './workspace-path-CWVrcuPL.js';
2
2
 
3
3
  /** Stable error codes shared by every filesystem transport and backend. */
4
- type FsErrorCode = 'invalid-path' | 'path-escape' | 'not-found' | 'already-exists' | 'type-mismatch' | 'not-empty' | 'permission-denied' | 'conflict' | 'quota-exceeded' | 'not-supported' | 'busy' | 'disposed' | 'closed' | 'aborted' | 'io';
4
+ type FsErrorCode = 'invalid-path' | 'path-escape' | 'not-found' | 'already-exists' | 'type-mismatch' | 'not-empty' | 'permission-denied' | 'conflict' | 'corrupt' | 'quota-exceeded' | 'not-supported' | 'busy' | 'disposed' | 'closed' | 'aborted' | 'io';
5
5
  type FsOperation = 'parse-path' | 'read' | 'stat' | 'list' | 'write' | 'create-directory' | 'remove' | 'move' | 'snapshot' | 'watch' | 'dispose';
6
6
  /** Plain-data form safe to send over IPC, postMessage, or JSON. */
7
7
  interface SerializedFsError {
@@ -1,4 +1,4 @@
1
- import { S as SerializedFsError, r as FileSystemProviderCapabilities, k as FileSystemEntrySnapshot, m as FileSystemFileRead, K as FileSystemWriteOptions, n as FileSystemFileSnapshot, g as FileSystemCreateDirectoryOptions, h as FileSystemDirectorySnapshot, u as FileSystemRemoveOptions, v as FileSystemRemoveResult, o as FileSystemMoveOptions, w as FileSystemSnapshot, C as FileSystemWatchEvent, F as FileCommitResult, j as FileSystemEntry, b as FileMeta } from './types-CsX6EN2t.js';
1
+ import { S as SerializedFsError, r as FileSystemProviderCapabilities, k as FileSystemEntrySnapshot, m as FileSystemFileRead, K as FileSystemWriteOptions, n as FileSystemFileSnapshot, g as FileSystemCreateDirectoryOptions, h as FileSystemDirectorySnapshot, u as FileSystemRemoveOptions, v as FileSystemRemoveResult, o as FileSystemMoveOptions, w as FileSystemSnapshot, C as FileSystemWatchEvent, F as FileCommitResult, j as FileSystemEntry, b as FileMeta } from './types-BEg5SQ1_.js';
2
2
  import { a as WorkspacePath } from './workspace-path-CWVrcuPL.js';
3
3
 
4
4
  /** Stable capabilities shared by the Electron v2 client and native backend. */
@@ -324,22 +324,17 @@ interface DocBlocksHostExportAPI {
324
324
  /** Write only to an exact target granted by the main process. */
325
325
  save(documentId: string, filename: string, grantId: string | null, data: ArrayBuffer | Uint8Array): Promise<HostExportTargetGrant | null>;
326
326
  }
327
- /** System ffmpeg detection and invocation. */
327
+ /** System ffmpeg detection. */
328
328
  interface DocBlocksHostFfmpegAPI {
329
329
  /** True if `ffmpeg` is available on PATH (or bundled). */
330
330
  available(): Promise<boolean>;
331
331
  /** Version string from `ffmpeg -version`, or null if unavailable. */
332
332
  version(): Promise<string | null>;
333
- /** Render a physically contained workspace-relative Markdown file to MP4. */
334
- renderVideo(workspaceId: string, markdownPath: string, options: {
335
- fps?: number;
336
- quality?: 'draft' | 'normal' | 'high';
337
- }): Promise<string>;
338
333
  }
339
334
  /** Auto-updater control. */
340
335
  interface DocBlocksHostUpdaterAPI {
341
- /** Kick off a check; resolves to true if an update is available. */
342
- checkForUpdates(): Promise<boolean>;
336
+ /** Kick off a check without collapsing a failed check into "no update". */
337
+ checkForUpdates(): Promise<UpdateCheckResult>;
343
338
  /** Current app version string. */
344
339
  getVersion(): Promise<string>;
345
340
  /**
@@ -353,6 +348,17 @@ interface DocBlocksHostUpdaterAPI {
353
348
  onStatus(listener: (status: UpdaterStatus) => void): () => void;
354
349
  }
355
350
  type UpdateInstallResult = 'installing' | 'cancelled' | 'not-ready';
351
+ type UpdateCheckResult = {
352
+ kind: 'available';
353
+ version: string;
354
+ } | {
355
+ kind: 'not-available';
356
+ } | {
357
+ kind: 'store-managed';
358
+ } | {
359
+ kind: 'error';
360
+ message: string;
361
+ };
356
362
  type UpdaterStatus = {
357
363
  kind: 'checking';
358
364
  } | {
@@ -421,10 +427,25 @@ type ExternalBinaryCommitResult = {
421
427
  version: string | null;
422
428
  data: ArrayBuffer | null;
423
429
  };
424
- /** Environment metadata provided by the host. */
430
+ /**
431
+ * Environment metadata provided by the host.
432
+ *
433
+ * Read synchronously by the renderer, so a host implementation must have
434
+ * these values in hand before it exposes the bridge — they cannot be awaited.
435
+ *
436
+ * Every field is main-process authority. A host must derive them from what it
437
+ * actually knows about itself (in Electron: `app.getVersion()` and
438
+ * `app.isPackaged`) and never from renderer-visible environment variables:
439
+ * `npm_package_version` exists only under an `npm run` script and `NODE_ENV`
440
+ * is unset in a packaged app, so both silently lie in exactly the builds users
441
+ * install. `appVersion` in particular reaches users through the About surface
442
+ * and issue-report URLs.
443
+ */
425
444
  interface HostEnvironment {
426
445
  platform: 'darwin' | 'win32' | 'linux';
446
+ /** Real, user-facing app version. Never a placeholder like '0.0.0'. */
427
447
  appVersion: string;
448
+ /** True only in an unpackaged development run. */
428
449
  isDev: boolean;
429
450
  }
430
451
  type HostCloseReason = 'window-close' | 'app-quit' | 'update-install' | 'reload' | 'force-reload';
@@ -447,6 +468,8 @@ type HostPrepareCloseResult = {
447
468
  * renderer never chooses request or window identifiers.
448
469
  */
449
470
  interface DocBlocksHostLifecycleAPI {
471
+ /** Request the main-owned guarded close path for this renderer window. */
472
+ requestWindowClose(): void;
450
473
  onPrepareClose(listener: (request: HostPrepareCloseRequest) => Promise<HostPrepareCloseResult>): () => void;
451
474
  onCancelClose(listener: (requestId: string) => void): () => void;
452
475
  }
@@ -475,4 +498,4 @@ interface DocBlocksHostAPI {
475
498
  onOpenRequest(listener: (request: OpenRequest) => void): () => void;
476
499
  }
477
500
 
478
- export { type GitStatus as A, type HostEnvironment as B, type HostExportTargetGrant as C, type DocBlocksHostAPI as D, ELECTRON_FILE_SYSTEM_V2_CAPABILITIES as E, type HostFileSystemV2OpenRequest as F, type GitBranchInfo as G, type HostCloseReason as H, type HostFileSystemV2Result as I, type HostFileSystemV2WatchMessage as J, type HostPrepareCloseRequest as K, type HostPrepareCloseResult as L, type MenuCommand as M, type UpdaterStatus as N, type OpenRequest as O, type UpdateInstallResult as U, type DocBlocksHostExportAPI as a, type DocBlocksHostExternalAPI as b, type DocBlocksHostFfmpegAPI as c, type DocBlocksHostFsAPI as d, type DocBlocksHostFsV2API as e, type DocBlocksHostGitAPI as f, type DocBlocksHostLifecycleAPI as g, type DocBlocksHostShellAPI as h, type DocBlocksHostUpdaterAPI as i, type DocBlocksHostWorkspacesAPI as j, type ElectronWorkspaceInfo as k, type ExternalBinaryCommitResult as l, type GitCapabilities as m, type GitCloneHandle as n, type GitCloneProgress as o, type GitError as p, type GitErrorCode as q, type GitFileAtRevision as r, type GitFileChange as s, type GitFileStatusCode as t, type GitLogEntry as u, type GitLogOptions as v, type GitRemoteInfo as w, type GitRepoDetection as x, type GitResult as y, type GitRevision as z };
501
+ export { type GitStatus as A, type HostEnvironment as B, type HostExportTargetGrant as C, type DocBlocksHostAPI as D, ELECTRON_FILE_SYSTEM_V2_CAPABILITIES as E, type HostFileSystemV2OpenRequest as F, type GitBranchInfo as G, type HostCloseReason as H, type HostFileSystemV2Result as I, type HostFileSystemV2WatchMessage as J, type HostPrepareCloseRequest as K, type HostPrepareCloseResult as L, type MenuCommand as M, type UpdateInstallResult as N, type OpenRequest as O, type UpdaterStatus as P, type UpdateCheckResult as U, type DocBlocksHostExportAPI as a, type DocBlocksHostExternalAPI as b, type DocBlocksHostFfmpegAPI as c, type DocBlocksHostFsAPI as d, type DocBlocksHostFsV2API as e, type DocBlocksHostGitAPI as f, type DocBlocksHostLifecycleAPI as g, type DocBlocksHostShellAPI as h, type DocBlocksHostUpdaterAPI as i, type DocBlocksHostWorkspacesAPI as j, type ElectronWorkspaceInfo as k, type ExternalBinaryCommitResult as l, type GitCapabilities as m, type GitCloneHandle as n, type GitCloneProgress as o, type GitError as p, type GitErrorCode as q, type GitFileAtRevision as r, type GitFileChange as s, type GitFileStatusCode as t, type GitLogEntry as u, type GitLogOptions as v, type GitRemoteInfo as w, type GitRepoDetection as x, type GitResult as y, type GitRevision as z };
@@ -1,3 +1,220 @@
1
- /** Runtime-validated VS Code host/webview wire protocol. */
2
- export * from './messages.js';
3
- //# sourceMappingURL=index.d.ts.map
1
+ /**
2
+ * Typed message protocol between the extension host and webview.
3
+ */
4
+ type DocumentSessionMessageStatus = 'idle' | 'saved' | 'dirty' | 'saving' | 'error' | 'conflict' | 'closed';
5
+ type DocumentConflictChoice = 'use-local' | 'use-external';
6
+ /** Host-observed details that help a user distinguish two text branches. */
7
+ interface DocumentConflictDetailsMessage {
8
+ /** VS Code document version on which the DocBlocks draft was based. */
9
+ localBaseDocumentVersion: number;
10
+ /** Current VS Code document version observed outside the DocBlocks edit pipeline. */
11
+ externalDocumentVersion: number;
12
+ /** UTF-8 encoded sizes of the complete text snapshots. */
13
+ localBytes: number;
14
+ externalBytes: number | null;
15
+ /** Times are extension-host observations, not filesystem-authoritative mtimes. */
16
+ localEditedAt: number | null;
17
+ externalObservedAt: number | null;
18
+ /** Whether VS Code reported the external document snapshot as not yet saved. */
19
+ externalIsDirty: boolean | null;
20
+ }
21
+ declare const DOCBLOCKS_ACCENT_COLORS: readonly ["brown", "green", "blue", "purple", "maroon", "orange", "gray"];
22
+ type DocBlocksAccentColor = (typeof DOCBLOCKS_ACCENT_COLORS)[number];
23
+ declare const DOCBLOCKS_WRITE_CANVAS_TEXT_SIZE_MIN = 12;
24
+ declare const DOCBLOCKS_WRITE_CANVAS_TEXT_SIZE_MAX = 32;
25
+ declare const DOCBLOCKS_WRITE_CANVAS_LINE_SPACING_MIN = 1.2;
26
+ declare const DOCBLOCKS_WRITE_CANVAS_LINE_SPACING_MAX = 2.4;
27
+ interface VscodeWriteCanvasSettings {
28
+ textSize: number;
29
+ lineSpacing: number;
30
+ }
31
+ declare const DEFAULT_VSCODE_WRITE_CANVAS_SETTINGS: Readonly<VscodeWriteCanvasSettings>;
32
+ interface VscodeEditorSettings {
33
+ autoSave: boolean;
34
+ accentColor: DocBlocksAccentColor;
35
+ writeCanvasSettings: VscodeWriteCanvasSettings;
36
+ }
37
+ /**
38
+ * An opaque, one-shot authority to write one host-owned export target.
39
+ * The label is presentation-only and must never be interpreted as a path.
40
+ */
41
+ interface ExportTargetGrantMessage {
42
+ grantId: string;
43
+ displayLabel: string;
44
+ }
45
+ /** Messages sent from the extension host to the webview. */
46
+ type ExtensionToWebviewMessage = {
47
+ type: 'setContent';
48
+ content: string;
49
+ documentVersion: number;
50
+ fileName: string;
51
+ sessionId: string;
52
+ sessionRevision: number;
53
+ acknowledgedClientRevision: number;
54
+ } | {
55
+ type: 'editAcknowledged';
56
+ sessionId: string;
57
+ clientRevision: number;
58
+ sessionRevision: number;
59
+ accepted: boolean;
60
+ message: string | null;
61
+ } | {
62
+ type: 'sessionState';
63
+ sessionId: string;
64
+ status: DocumentSessionMessageStatus;
65
+ revision: number;
66
+ persistedRevision: number;
67
+ acknowledgedClientRevision: number;
68
+ documentVersion: number;
69
+ error: string | null;
70
+ conflict: DocumentConflictDetailsMessage | null;
71
+ } | {
72
+ type: 'saveResult';
73
+ sessionId: string;
74
+ requestId: number;
75
+ ok: boolean;
76
+ revision: number;
77
+ persistedRevision: number;
78
+ documentVersion: number;
79
+ message: string | null;
80
+ } | {
81
+ type: 'themeChange';
82
+ theme: 'light' | 'dark';
83
+ } | {
84
+ type: 'editorSettings';
85
+ settings: VscodeEditorSettings;
86
+ } | {
87
+ type: 'mediaResolved';
88
+ requestId: number;
89
+ url: string;
90
+ } | {
91
+ type: 'mediaListed';
92
+ requestId: number;
93
+ entries: MediaEntryMessage[];
94
+ } | {
95
+ type: 'mediaAdded';
96
+ requestId: number;
97
+ path: string;
98
+ } | {
99
+ type: 'mediaRemoved';
100
+ requestId: number;
101
+ } | {
102
+ type: 'mediaError';
103
+ requestId: number;
104
+ message: string;
105
+ } | {
106
+ type: 'exportSaved';
107
+ requestId: number;
108
+ target: ExportTargetGrantMessage | null;
109
+ } | {
110
+ type: 'exportError';
111
+ requestId: number;
112
+ message: string;
113
+ } | {
114
+ type: 'exportTargetResolved';
115
+ requestId: number;
116
+ target: ExportTargetGrantMessage | null;
117
+ } | {
118
+ type: 'exportTargetPicked';
119
+ requestId: number;
120
+ target: ExportTargetGrantMessage | null;
121
+ } | {
122
+ type: 'workspaceFileRead';
123
+ requestId: number;
124
+ dataBase64: string | null;
125
+ } | {
126
+ type: 'workspaceFileError';
127
+ requestId: number;
128
+ message: string;
129
+ };
130
+ /** Messages sent from the webview to the extension host. */
131
+ type WebviewToExtensionMessage = {
132
+ type: 'ready';
133
+ } | {
134
+ type: 'setAutoSave';
135
+ enabled: boolean;
136
+ } | {
137
+ type: 'setAccentColor';
138
+ accentColor: DocBlocksAccentColor;
139
+ } | {
140
+ type: 'setWriteCanvasSettings';
141
+ settings: VscodeWriteCanvasSettings;
142
+ } | {
143
+ type: 'edit';
144
+ content: string;
145
+ sessionId: string;
146
+ clientRevision: number;
147
+ baseDocumentVersion: number;
148
+ } | {
149
+ type: 'save';
150
+ sessionId: string;
151
+ requestId: number;
152
+ clientRevision: number;
153
+ baseDocumentVersion: number;
154
+ } | {
155
+ type: 'resolveConflict';
156
+ sessionId: string;
157
+ choice: DocumentConflictChoice;
158
+ } | {
159
+ type: 'resolveMedia';
160
+ requestId: number;
161
+ ref: string;
162
+ } | {
163
+ type: 'listMedia';
164
+ requestId: number;
165
+ } | {
166
+ type: 'addMedia';
167
+ requestId: number;
168
+ name: string;
169
+ dataBase64: string;
170
+ mimeType: string;
171
+ } | {
172
+ type: 'removeMedia';
173
+ requestId: number;
174
+ ref: string;
175
+ } | {
176
+ type: 'saveExport';
177
+ requestId: number;
178
+ filename: string;
179
+ dataBase64: string;
180
+ mimeType: string;
181
+ grantId: string | null;
182
+ } | {
183
+ type: 'resolveExportTarget';
184
+ requestId: number;
185
+ filename: string;
186
+ } | {
187
+ type: 'pickExportTarget';
188
+ requestId: number;
189
+ filename: string;
190
+ currentGrantId: string | null;
191
+ } | {
192
+ type: 'readWorkspaceFile';
193
+ requestId: number;
194
+ path: string;
195
+ };
196
+ interface MediaEntryMessage {
197
+ name: string;
198
+ mimeType: string;
199
+ size: number;
200
+ }
201
+ /**
202
+ * The webview boundary is untrusted at runtime. Keep malformed or stale
203
+ * messages out of the document session instead of relying on a TypeScript
204
+ * assertion in the extension host.
205
+ */
206
+ declare function parseWebviewToExtensionMessage(value: unknown): WebviewToExtensionMessage | null;
207
+ /**
208
+ * Validate host responses before they influence webview state. This protects
209
+ * the browser side from protocol drift and from messages injected by another
210
+ * script in the webview document; a TypeScript MessageEvent annotation is not
211
+ * runtime validation.
212
+ */
213
+ declare function parseExtensionToWebviewMessage(value: unknown): ExtensionToWebviewMessage | null;
214
+ declare function isDocBlocksAccentColor(value: unknown): value is DocBlocksAccentColor;
215
+ declare function isDocBlocksWriteCanvasTextSize(value: unknown): value is number;
216
+ declare function isDocBlocksWriteCanvasLineSpacing(value: unknown): value is number;
217
+ declare function isSafeExportFilename(value: unknown): value is string;
218
+ declare function isSafeMimeType(value: unknown): value is string;
219
+
220
+ export { DEFAULT_VSCODE_WRITE_CANVAS_SETTINGS, DOCBLOCKS_ACCENT_COLORS, DOCBLOCKS_WRITE_CANVAS_LINE_SPACING_MAX, DOCBLOCKS_WRITE_CANVAS_LINE_SPACING_MIN, DOCBLOCKS_WRITE_CANVAS_TEXT_SIZE_MAX, DOCBLOCKS_WRITE_CANVAS_TEXT_SIZE_MIN, type DocBlocksAccentColor, type DocumentConflictChoice, type DocumentConflictDetailsMessage, type DocumentSessionMessageStatus, type ExportTargetGrantMessage, type ExtensionToWebviewMessage, type MediaEntryMessage, type VscodeEditorSettings, type VscodeWriteCanvasSettings, type WebviewToExtensionMessage, isDocBlocksAccentColor, isDocBlocksWriteCanvasLineSpacing, isDocBlocksWriteCanvasTextSize, isSafeExportFilename, isSafeMimeType, parseExtensionToWebviewMessage, parseWebviewToExtensionMessage };