@tai42/studio-sdk 15.0.0 → 16.0.1

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 (322) hide show
  1. package/dist/components/explorer-body.d.ts +49 -0
  2. package/dist/components/explorer-body.d.ts.map +1 -0
  3. package/dist/components/explorer-body.js +67 -0
  4. package/dist/components/explorer-body.js.map +1 -0
  5. package/dist/components/explorer-page-size.d.ts +4 -0
  6. package/dist/components/explorer-page-size.d.ts.map +1 -0
  7. package/dist/components/explorer-page-size.js +36 -0
  8. package/dist/components/explorer-page-size.js.map +1 -0
  9. package/dist/components/explorer-tag-filter.d.ts +17 -0
  10. package/dist/components/explorer-tag-filter.d.ts.map +1 -0
  11. package/dist/components/explorer-tag-filter.js +29 -0
  12. package/dist/components/explorer-tag-filter.js.map +1 -0
  13. package/dist/components/explorer-tags.d.ts +22 -0
  14. package/dist/components/explorer-tags.d.ts.map +1 -0
  15. package/dist/components/explorer-tags.js +51 -0
  16. package/dist/components/explorer-tags.js.map +1 -0
  17. package/dist/components/explorer-view.d.ts +3 -17
  18. package/dist/components/explorer-view.d.ts.map +1 -1
  19. package/dist/components/explorer-view.js +53 -170
  20. package/dist/components/explorer-view.js.map +1 -1
  21. package/dist/components/extension-combo-builder.d.ts +0 -5
  22. package/dist/components/extension-combo-builder.d.ts.map +1 -1
  23. package/dist/components/extension-combo-builder.js +4 -42
  24. package/dist/components/extension-combo-builder.js.map +1 -1
  25. package/dist/components/extension-combo-parts.d.ts +44 -0
  26. package/dist/components/extension-combo-parts.d.ts.map +1 -0
  27. package/dist/components/extension-combo-parts.js +57 -0
  28. package/dist/components/extension-combo-parts.js.map +1 -0
  29. package/dist/components/fleet-report.d.ts.map +1 -1
  30. package/dist/components/fleet-report.js +51 -37
  31. package/dist/components/fleet-report.js.map +1 -1
  32. package/dist/components/icons/chrome-marks.d.ts +50 -0
  33. package/dist/components/icons/chrome-marks.d.ts.map +1 -0
  34. package/dist/components/icons/chrome-marks.js +51 -0
  35. package/dist/components/icons/chrome-marks.js.map +1 -0
  36. package/dist/components/icons/icon-frame.d.ts +29 -0
  37. package/dist/components/icons/icon-frame.d.ts.map +1 -0
  38. package/dist/components/icons/icon-frame.js +19 -0
  39. package/dist/components/icons/icon-frame.js.map +1 -0
  40. package/dist/components/icons/index.d.ts +40 -0
  41. package/dist/components/icons/index.d.ts.map +1 -0
  42. package/dist/components/icons/index.js +6 -0
  43. package/dist/components/icons/index.js.map +1 -0
  44. package/dist/components/icons/nav-map.d.ts +14 -0
  45. package/dist/components/icons/nav-map.d.ts.map +1 -0
  46. package/dist/components/icons/nav-map.js +28 -0
  47. package/dist/components/icons/nav-map.js.map +1 -0
  48. package/dist/components/icons/nav-marks.d.ts +44 -0
  49. package/dist/components/icons/nav-marks.d.ts.map +1 -0
  50. package/dist/components/icons/nav-marks.js +45 -0
  51. package/dist/components/icons/nav-marks.js.map +1 -0
  52. package/dist/components/icons/status-marks.d.ts +21 -0
  53. package/dist/components/icons/status-marks.d.ts.map +1 -0
  54. package/dist/components/icons/status-marks.js +22 -0
  55. package/dist/components/icons/status-marks.js.map +1 -0
  56. package/dist/components/icons/theme-marks.d.ts +9 -0
  57. package/dist/components/icons/theme-marks.d.ts.map +1 -0
  58. package/dist/components/icons/theme-marks.js +10 -0
  59. package/dist/components/icons/theme-marks.js.map +1 -0
  60. package/dist/components/json-diff.d.ts.map +1 -1
  61. package/dist/components/json-diff.js +1 -3
  62. package/dist/components/json-diff.js.map +1 -1
  63. package/dist/components/json-tree-context.d.ts +13 -0
  64. package/dist/components/json-tree-context.d.ts.map +1 -0
  65. package/dist/components/json-tree-context.js +15 -0
  66. package/dist/components/json-tree-context.js.map +1 -0
  67. package/dist/components/json-tree-model.d.ts +56 -0
  68. package/dist/components/json-tree-model.d.ts.map +1 -0
  69. package/dist/components/json-tree-model.js +125 -0
  70. package/dist/components/json-tree-model.js.map +1 -0
  71. package/dist/components/json-tree-nodes.d.ts +30 -0
  72. package/dist/components/json-tree-nodes.d.ts.map +1 -0
  73. package/dist/components/json-tree-nodes.js +118 -0
  74. package/dist/components/json-tree-nodes.js.map +1 -0
  75. package/dist/components/json-tree.d.ts.map +1 -1
  76. package/dist/components/json-tree.js +7 -295
  77. package/dist/components/json-tree.js.map +1 -1
  78. package/dist/components/json-value-format.d.ts +20 -0
  79. package/dist/components/json-value-format.d.ts.map +1 -0
  80. package/dist/components/json-value-format.js +63 -0
  81. package/dist/components/json-value-format.js.map +1 -0
  82. package/dist/components/markdown-blocks.d.ts +38 -0
  83. package/dist/components/markdown-blocks.d.ts.map +1 -0
  84. package/dist/components/markdown-blocks.js +168 -0
  85. package/dist/components/markdown-blocks.js.map +1 -0
  86. package/dist/components/markdown-inline.d.ts +24 -0
  87. package/dist/components/markdown-inline.d.ts.map +1 -0
  88. package/dist/components/markdown-inline.js +257 -0
  89. package/dist/components/markdown-inline.js.map +1 -0
  90. package/dist/components/markdown.d.ts +3 -52
  91. package/dist/components/markdown.d.ts.map +1 -1
  92. package/dist/components/markdown.js +4 -376
  93. package/dist/components/markdown.js.map +1 -1
  94. package/dist/components/observer-registry.d.ts +38 -0
  95. package/dist/components/observer-registry.d.ts.map +1 -0
  96. package/dist/components/observer-registry.js +131 -0
  97. package/dist/components/observer-registry.js.map +1 -0
  98. package/dist/components/overflow-measure.d.ts +38 -0
  99. package/dist/components/overflow-measure.d.ts.map +1 -0
  100. package/dist/components/overflow-measure.js +54 -0
  101. package/dist/components/overflow-measure.js.map +1 -0
  102. package/dist/components/prose-regions.d.ts +81 -0
  103. package/dist/components/prose-regions.d.ts.map +1 -0
  104. package/dist/components/prose-regions.js +128 -0
  105. package/dist/components/prose-regions.js.map +1 -0
  106. package/dist/components/scroll-region.d.ts.map +1 -1
  107. package/dist/components/scroll-region.js +3 -298
  108. package/dist/components/scroll-region.js.map +1 -1
  109. package/dist/components/tab-stop-parse.d.ts +53 -0
  110. package/dist/components/tab-stop-parse.d.ts.map +1 -0
  111. package/dist/components/tab-stop-parse.js +202 -0
  112. package/dist/components/tab-stop-parse.js.map +1 -0
  113. package/dist/components/templated-text-field.d.ts.map +1 -1
  114. package/dist/components/templated-text-field.js +10 -148
  115. package/dist/components/templated-text-field.js.map +1 -1
  116. package/dist/components/templated-text-kwargs-editor.d.ts +24 -0
  117. package/dist/components/templated-text-kwargs-editor.d.ts.map +1 -0
  118. package/dist/components/templated-text-kwargs-editor.js +48 -0
  119. package/dist/components/templated-text-kwargs-editor.js.map +1 -0
  120. package/dist/components/templated-text-kwargs.d.ts +37 -0
  121. package/dist/components/templated-text-kwargs.d.ts.map +1 -0
  122. package/dist/components/templated-text-kwargs.js +66 -0
  123. package/dist/components/templated-text-kwargs.js.map +1 -0
  124. package/dist/components/templated-text-source.d.ts +33 -0
  125. package/dist/components/templated-text-source.d.ts.map +1 -0
  126. package/dist/components/templated-text-source.js +53 -0
  127. package/dist/components/templated-text-source.js.map +1 -0
  128. package/dist/components/tool-picker-parts.d.ts +39 -0
  129. package/dist/components/tool-picker-parts.d.ts.map +1 -0
  130. package/dist/components/tool-picker-parts.js +87 -0
  131. package/dist/components/tool-picker-parts.js.map +1 -0
  132. package/dist/components/tool-picker.d.ts +1 -2
  133. package/dist/components/tool-picker.d.ts.map +1 -1
  134. package/dist/components/tool-picker.js +4 -66
  135. package/dist/components/tool-picker.js.map +1 -1
  136. package/dist/components/version-history-panel.d.ts.map +1 -1
  137. package/dist/components/version-history-panel.js +7 -34
  138. package/dist/components/version-history-panel.js.map +1 -1
  139. package/dist/components/version-history-rows.d.ts +48 -0
  140. package/dist/components/version-history-rows.d.ts.map +1 -0
  141. package/dist/components/version-history-rows.js +51 -0
  142. package/dist/components/version-history-rows.js.map +1 -0
  143. package/dist/guards.d.ts +6 -0
  144. package/dist/guards.d.ts.map +1 -0
  145. package/dist/guards.js +8 -0
  146. package/dist/guards.js.map +1 -0
  147. package/dist/hooks/interactions-connection.d.ts +43 -0
  148. package/dist/hooks/interactions-connection.d.ts.map +1 -0
  149. package/dist/hooks/interactions-connection.js +171 -0
  150. package/dist/hooks/interactions-connection.js.map +1 -0
  151. package/dist/hooks/interactions-stream.d.ts +80 -0
  152. package/dist/hooks/interactions-stream.d.ts.map +1 -0
  153. package/dist/hooks/interactions-stream.js +233 -0
  154. package/dist/hooks/interactions-stream.js.map +1 -0
  155. package/dist/hooks/useApi.d.ts +2409 -2293
  156. package/dist/hooks/useApi.d.ts.map +1 -1
  157. package/dist/hooks/useSse.d.ts +3 -6
  158. package/dist/hooks/useSse.d.ts.map +1 -1
  159. package/dist/hooks/useSse.js +38 -451
  160. package/dist/hooks/useSse.js.map +1 -1
  161. package/dist/navigation/app-link.d.ts +25 -0
  162. package/dist/navigation/app-link.d.ts.map +1 -0
  163. package/dist/navigation/app-link.js +33 -0
  164. package/dist/navigation/app-link.js.map +1 -0
  165. package/dist/navigation/context.d.ts +3 -20
  166. package/dist/navigation/context.d.ts.map +1 -1
  167. package/dist/navigation/context.js +7 -267
  168. package/dist/navigation/context.js.map +1 -1
  169. package/dist/navigation/entry-state.d.ts +23 -0
  170. package/dist/navigation/entry-state.d.ts.map +1 -0
  171. package/dist/navigation/entry-state.js +39 -0
  172. package/dist/navigation/entry-state.js.map +1 -0
  173. package/dist/navigation/guard-registry.d.ts +30 -0
  174. package/dist/navigation/guard-registry.d.ts.map +1 -0
  175. package/dist/navigation/guard-registry.js +46 -0
  176. package/dist/navigation/guard-registry.js.map +1 -0
  177. package/dist/navigation/guarded-navigation.d.ts +24 -0
  178. package/dist/navigation/guarded-navigation.d.ts.map +1 -0
  179. package/dist/navigation/guarded-navigation.js +102 -0
  180. package/dist/navigation/guarded-navigation.js.map +1 -0
  181. package/dist/navigation/index.d.ts +3 -2
  182. package/dist/navigation/index.d.ts.map +1 -1
  183. package/dist/navigation/index.js +2 -1
  184. package/dist/navigation/index.js.map +1 -1
  185. package/dist/navigation/types.d.ts +8 -11
  186. package/dist/navigation/types.d.ts.map +1 -1
  187. package/dist/navigation/use-back-forward-guard.d.ts +5 -0
  188. package/dist/navigation/use-back-forward-guard.d.ts.map +1 -0
  189. package/dist/navigation/use-back-forward-guard.js +82 -0
  190. package/dist/navigation/use-back-forward-guard.js.map +1 -0
  191. package/dist/plugin/registry.d.ts +6 -15
  192. package/dist/plugin/registry.d.ts.map +1 -1
  193. package/dist/plugin/registry.js +83 -75
  194. package/dist/plugin/registry.js.map +1 -1
  195. package/dist/schema-editor/SchemaEditor.d.ts +8 -1
  196. package/dist/schema-editor/SchemaEditor.d.ts.map +1 -1
  197. package/dist/schema-editor/SchemaEditor.js +2 -2
  198. package/dist/schema-editor/SchemaEditor.js.map +1 -1
  199. package/dist/schema-form/SecretRefField.d.ts +2 -3
  200. package/dist/schema-form/SecretRefField.d.ts.map +1 -1
  201. package/dist/schema-form/SecretRefField.js +23 -12
  202. package/dist/schema-form/SecretRefField.js.map +1 -1
  203. package/dist/schema-form/classify.d.ts +1 -122
  204. package/dist/schema-form/classify.d.ts.map +1 -1
  205. package/dist/schema-form/classify.js +174 -237
  206. package/dist/schema-form/classify.js.map +1 -1
  207. package/dist/schema-form/default-value.d.ts.map +1 -1
  208. package/dist/schema-form/default-value.js +42 -19
  209. package/dist/schema-form/default-value.js.map +1 -1
  210. package/dist/schema-form/enum-field.d.ts +1 -1
  211. package/dist/schema-form/enum-field.d.ts.map +1 -1
  212. package/dist/schema-form/field-model.d.ts +121 -0
  213. package/dist/schema-form/field-model.d.ts.map +1 -0
  214. package/dist/schema-form/field-model.js +2 -0
  215. package/dist/schema-form/field-model.js.map +1 -0
  216. package/dist/schema-form/field-node.d.ts.map +1 -1
  217. package/dist/schema-form/field-node.js +25 -14
  218. package/dist/schema-form/field-node.js.map +1 -1
  219. package/dist/schema-form/media-field.d.ts +1 -1
  220. package/dist/schema-form/media-field.d.ts.map +1 -1
  221. package/dist/schema-form/media-field.js +47 -28
  222. package/dist/schema-form/media-field.js.map +1 -1
  223. package/dist/schema-form/string-annotations.d.ts +20 -0
  224. package/dist/schema-form/string-annotations.d.ts.map +1 -0
  225. package/dist/schema-form/string-annotations.js +105 -0
  226. package/dist/schema-form/string-annotations.js.map +1 -0
  227. package/dist/schema-form/string-field.d.ts +1 -1
  228. package/dist/schema-form/string-field.d.ts.map +1 -1
  229. package/dist/schema-form/union-field.d.ts +1 -1
  230. package/dist/schema-form/union-field.d.ts.map +1 -1
  231. package/dist/schema-form/union-field.js.map +1 -1
  232. package/dist/schema-form/union.d.ts +1 -1
  233. package/dist/schema-form/union.d.ts.map +1 -1
  234. package/dist/schema-form/validate.d.ts.map +1 -1
  235. package/dist/schema-form/validate.js +126 -105
  236. package/dist/schema-form/validate.js.map +1 -1
  237. package/dist/state-binding/AdapterMapping.d.ts.map +1 -1
  238. package/dist/state-binding/AdapterMapping.js +0 -0
  239. package/dist/state-binding/AdapterMapping.js.map +1 -1
  240. package/dist/state-binding/StateAttachRow.d.ts.map +1 -1
  241. package/dist/state-binding/StateAttachRow.js +52 -36
  242. package/dist/state-binding/StateAttachRow.js.map +1 -1
  243. package/dist/state-binding/adapter-mapping-row.d.ts +17 -0
  244. package/dist/state-binding/adapter-mapping-row.d.ts.map +1 -0
  245. package/dist/state-binding/adapter-mapping-row.js +87 -0
  246. package/dist/state-binding/adapter-mapping-row.js.map +1 -0
  247. package/dist/structured-output/StructuredOutput.d.ts.map +1 -1
  248. package/dist/structured-output/StructuredOutput.js +1 -3
  249. package/dist/structured-output/StructuredOutput.js.map +1 -1
  250. package/package.json +2 -2
  251. package/src/components/explorer-body.tsx +239 -0
  252. package/src/components/explorer-page-size.ts +39 -0
  253. package/src/components/explorer-tag-filter.tsx +80 -0
  254. package/src/components/explorer-tags.ts +64 -0
  255. package/src/components/explorer-view.tsx +114 -366
  256. package/src/components/extension-combo-builder.tsx +35 -152
  257. package/src/components/extension-combo-parts.tsx +237 -0
  258. package/src/components/fleet-report.tsx +97 -54
  259. package/src/components/icons/chrome-marks.tsx +195 -0
  260. package/src/components/icons/icon-frame.tsx +50 -0
  261. package/src/components/icons/index.ts +84 -0
  262. package/src/components/icons/nav-map.ts +55 -0
  263. package/src/components/icons/nav-marks.tsx +205 -0
  264. package/src/components/icons/status-marks.tsx +46 -0
  265. package/src/components/icons/theme-marks.tsx +33 -0
  266. package/src/components/json-diff.tsx +1 -4
  267. package/src/components/json-tree-context.ts +26 -0
  268. package/src/components/json-tree-model.ts +139 -0
  269. package/src/components/json-tree-nodes.tsx +224 -0
  270. package/src/components/json-tree.tsx +15 -434
  271. package/src/components/json-value-format.ts +64 -0
  272. package/src/components/markdown-blocks.ts +198 -0
  273. package/src/components/markdown-inline.tsx +365 -0
  274. package/src/components/markdown.tsx +5 -471
  275. package/src/components/observer-registry.ts +139 -0
  276. package/src/components/overflow-measure.ts +69 -0
  277. package/src/components/prose-regions.ts +153 -0
  278. package/src/components/scroll-region.tsx +20 -360
  279. package/src/components/tab-stop-parse.ts +217 -0
  280. package/src/components/templated-text-field.tsx +38 -330
  281. package/src/components/templated-text-kwargs-editor.tsx +147 -0
  282. package/src/components/templated-text-kwargs.ts +92 -0
  283. package/src/components/templated-text-source.tsx +226 -0
  284. package/src/components/tool-picker-parts.tsx +184 -0
  285. package/src/components/tool-picker.tsx +22 -114
  286. package/src/components/version-history-panel.tsx +38 -142
  287. package/src/components/version-history-rows.tsx +220 -0
  288. package/src/guards.ts +7 -0
  289. package/src/hooks/interactions-connection.ts +227 -0
  290. package/src/hooks/interactions-stream.ts +274 -0
  291. package/src/hooks/useSse.ts +50 -477
  292. package/src/navigation/app-link.tsx +70 -0
  293. package/src/navigation/context.tsx +11 -330
  294. package/src/navigation/entry-state.ts +42 -0
  295. package/src/navigation/guard-registry.ts +65 -0
  296. package/src/navigation/guarded-navigation.ts +147 -0
  297. package/src/navigation/index.ts +2 -2
  298. package/src/navigation/types.ts +8 -11
  299. package/src/navigation/use-back-forward-guard.ts +90 -0
  300. package/src/plugin/registry.ts +111 -90
  301. package/src/schema-editor/SchemaEditor.tsx +9 -1
  302. package/src/schema-form/SecretRefField.tsx +121 -71
  303. package/src/schema-form/classify.ts +244 -395
  304. package/src/schema-form/default-value.ts +48 -17
  305. package/src/schema-form/enum-field.tsx +1 -1
  306. package/src/schema-form/field-model.ts +133 -0
  307. package/src/schema-form/field-node.tsx +94 -38
  308. package/src/schema-form/media-field.tsx +134 -65
  309. package/src/schema-form/string-annotations.ts +111 -0
  310. package/src/schema-form/string-field.tsx +1 -1
  311. package/src/schema-form/union-field.tsx +2 -1
  312. package/src/schema-form/union.ts +1 -1
  313. package/src/schema-form/validate.ts +184 -103
  314. package/src/state-binding/AdapterMapping.tsx +0 -0
  315. package/src/state-binding/StateAttachRow.tsx +222 -147
  316. package/src/state-binding/adapter-mapping-row.tsx +232 -0
  317. package/src/structured-output/StructuredOutput.tsx +1 -4
  318. package/dist/components/icons.d.ts +0 -160
  319. package/dist/components/icons.d.ts.map +0 -1
  320. package/dist/components/icons.js +0 -160
  321. package/dist/components/icons.js.map +0 -1
  322. package/src/components/icons.tsx +0 -586
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-blocks.js","sourceRoot":"","sources":["../../src/components/markdown-blocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The inline grammar for `Markdown`: locating code spans, links, images, strong
3
+ * and emphasis runs, and resolving them to escaped React nodes. A single
4
+ * forward-only cursor keeps the pass linear; a link is admitted only when
5
+ * `safeHttpUrl` accepts it, and an image contributes its `alt` text alone.
6
+ */
7
+ import type { ReactNode } from 'react';
8
+ /**
9
+ * Resolves inline markup to React nodes. A cursor walks the text once; each rule
10
+ * caches its earliest match at or after the cursor and is rescanned only when the
11
+ * cursor passes that match, so the rules' rescans cover disjoint forward ranges
12
+ * and the pass is linear. Plain runs are pushed as text children that React
13
+ * escapes; a link is admitted only when `safeHttpUrl` accepts it, and an image
14
+ * contributes its `alt` text alone.
15
+ */
16
+ export declare function renderInline(text: string, keyBase: string): ReactNode[];
17
+ /**
18
+ * Test-only entry point to the inline scanner. Resolves inline markup to React
19
+ * nodes exactly as `renderInline` does, but without mounting or serializing a
20
+ * DOM, so a test can time the scan itself in isolation from render cost. Not part
21
+ * of the public API.
22
+ */
23
+ export declare function scanInline(text: string): ReactNode[];
24
+ //# sourceMappingURL=markdown-inline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-inline.d.ts","sourceRoot":"","sources":["../../src/components/markdown-inline.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAwRvC;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CA+BvE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAEpD"}
@@ -0,0 +1,257 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { safeHttpUrl } from './primitives';
3
+ // Single-character predicates, so the `\S` and `\w` classes decide flanking
4
+ // exactly — a non-breaking space is whitespace, an underscore a word character —
5
+ // rather than an open-coded space test getting those edges wrong.
6
+ const NON_SPACE = /\S/;
7
+ const WORD = /\w/;
8
+ /** Inline code: a run of backticks and its literal, unparsed content, on one line. */
9
+ const CODE_SPAN = /`([^`\n]+)`/g;
10
+ /**
11
+ * Whether the marker ending at `j` closes the pending `opener`: at least one body
12
+ * character in, preceded by a non-space (and, for `_`, not followed by a word
13
+ * character on its outer edge).
14
+ */
15
+ function isEmphasisCloser(text, j, opener, m, underscore) {
16
+ return (opener !== -1 &&
17
+ j >= opener + m + 1 &&
18
+ NON_SPACE.test(text[j - 1] ?? '') &&
19
+ (!underscore || j + m >= text.length || !WORD.test(text[j + m] ?? '')));
20
+ }
21
+ /**
22
+ * Whether the marker at `j` opens a run: no opener pending, followed by a
23
+ * non-space (and, for `_`, not abutting a word character on its left).
24
+ */
25
+ function isEmphasisOpener(text, j, opener, m, underscore) {
26
+ return (opener === -1 &&
27
+ j + m < text.length &&
28
+ NON_SPACE.test(text[j + m] ?? '') &&
29
+ (!underscore || j === 0 || !WORD.test(text[j - 1] ?? '')));
30
+ }
31
+ /**
32
+ * The earliest run delimited by `marker` (`**`, `__`, `*` or `_`) at or after
33
+ * `from`. Walks once, holding one pending opener per line and closing it at the
34
+ * first marker a non-space away (and, for `_`, not abutting a word character on
35
+ * its outer edges). One pending opener per line reproduces the leftmost lazy
36
+ * match, quirks and all (`***a***` yields `***a**`, and `**a*` matches none); a
37
+ * newline drops the opener. O(1) per character.
38
+ */
39
+ function findEmphasisSpan(text, from, marker) {
40
+ const m = marker.length;
41
+ const mark = marker[0];
42
+ const underscore = mark === '_';
43
+ let opener = -1;
44
+ for (let j = from; j + m <= text.length; j += 1) {
45
+ const ch = text[j];
46
+ if (ch === '\n') {
47
+ opener = -1;
48
+ continue;
49
+ }
50
+ if (ch !== mark || (m === 2 && text[j + 1] !== mark))
51
+ continue;
52
+ if (isEmphasisCloser(text, j, opener, m, underscore)) {
53
+ return { index: opener, length: j + m - opener, content: text.slice(opener + m, j) };
54
+ }
55
+ if (isEmphasisOpener(text, j, opener, m, underscore))
56
+ opener = j;
57
+ }
58
+ return null;
59
+ }
60
+ /**
61
+ * The destination run of a bracketed construct: one-or-more non-`)`, non-space
62
+ * characters bounded by `)`. Forward-only cursor. See {@link DestinationScan} for
63
+ * `end`/`stop`.
64
+ */
65
+ function scanDestination(text, start) {
66
+ let k = start;
67
+ while (k < text.length && text[k] !== ')' && NON_SPACE.test(text[k] ?? ''))
68
+ k += 1;
69
+ if (k > start && text[k] === ')')
70
+ return { end: k, stop: k };
71
+ // A failure halts at `k`: the whitespace that stopped the walk, or `text.length`
72
+ // when the run reached the end. Either way `[start, k)` holds no `)`.
73
+ return { end: -1, stop: k };
74
+ }
75
+ /**
76
+ * The closing `)` for the destination of the label ending at `close`, memoized on
77
+ * that `]`. A destination start inside a proven no-`)` span skips the scan.
78
+ */
79
+ function resolveDestination(text, close, memo) {
80
+ if (memo.destKey === close)
81
+ return memo.destEnd;
82
+ memo.destKey = close;
83
+ const destStart = close + 2;
84
+ if (memo.deadUntil !== -1 && destStart < memo.deadUntil) {
85
+ memo.destEnd = -1;
86
+ return -1;
87
+ }
88
+ const scan = scanDestination(text, destStart);
89
+ memo.destEnd = scan.end;
90
+ if (scan.end === -1 && scan.stop > destStart)
91
+ memo.deadUntil = scan.stop;
92
+ return memo.destEnd;
93
+ }
94
+ /**
95
+ * The bracketed span opening at `bracket` (label `start` accounts for an image's
96
+ * `!`), or `null` when this candidate has no non-empty label followed by a
97
+ * `(dest)`. Requires `memo.close` already advanced to a live `]`.
98
+ */
99
+ function matchAt(text, bracket, start, image, memo) {
100
+ const labelOk = image || memo.close > bracket + 1;
101
+ if (!labelOk || text[memo.close + 1] !== '(')
102
+ return null;
103
+ const destEnd = resolveDestination(text, memo.close, memo);
104
+ if (destEnd === -1)
105
+ return null;
106
+ return {
107
+ index: start,
108
+ length: destEnd + 1 - start,
109
+ content: text.slice(bracket + 1, memo.close),
110
+ extra: text.slice(memo.close + 2, destEnd),
111
+ };
112
+ }
113
+ /**
114
+ * The earliest `[label](dest)` (or, when `image`, `![alt](dest)`) at or after
115
+ * `from`. A label runs from `[` to the first `]`; a link needs a non-empty label,
116
+ * an image admits an empty one. Linear: each `[` candidate reuses a forward-only
117
+ * `]` pointer and a destination memoized on that `]`, and `deadUntil` records a
118
+ * proven no-`)` span so later candidates starting inside it skip the scan.
119
+ */
120
+ function findBracketed(text, from, image) {
121
+ const memo = { close: -1, destKey: -1, destEnd: -1, deadUntil: -1 };
122
+ let bracket = text.indexOf('[', from);
123
+ while (bracket !== -1) {
124
+ // An image opens at the `!` immediately before its `[`.
125
+ const start = image ? bracket - 1 : bracket;
126
+ if (!image || (start >= from && text[start] === '!')) {
127
+ if (memo.close < bracket + 1)
128
+ memo.close = text.indexOf(']', bracket + 1);
129
+ if (memo.close === -1)
130
+ return null;
131
+ const span = matchAt(text, bracket, start, image, memo);
132
+ if (span !== null)
133
+ return span;
134
+ }
135
+ bracket = text.indexOf('[', bracket + 1);
136
+ }
137
+ return null;
138
+ }
139
+ /** Inline code at or after `from`; the shared cursor is set immediately before the scan. */
140
+ function findCode(text, from) {
141
+ CODE_SPAN.lastIndex = from;
142
+ const match = CODE_SPAN.exec(text);
143
+ if (match === null)
144
+ return null;
145
+ return { kind: 'code', index: match.index, length: match[0].length, content: match[1] ?? '' };
146
+ }
147
+ /** Tags an emphasis span with its element kind, or passes `null` through. */
148
+ function asFound(kind, span) {
149
+ return span === null
150
+ ? null
151
+ : { kind, index: span.index, length: span.length, content: span.content };
152
+ }
153
+ /**
154
+ * Inline constructs in tie-break order at a shared position: code, image, link,
155
+ * strong, emphasis — so `**` reads as one strong span, not two emphasis markers.
156
+ * Strong and emphasis are split per marker (`**`/`__`, `*`/`_`) so each marker
157
+ * caches its own exhaustion and the pass stays linear; star precedes underscore.
158
+ */
159
+ const INLINE_RULES = [
160
+ { kind: 'code', find: findCode },
161
+ {
162
+ kind: 'image',
163
+ find: (text, from) => {
164
+ const span = findBracketed(text, from, true);
165
+ return span === null ? null : { kind: 'image', ...span };
166
+ },
167
+ },
168
+ {
169
+ kind: 'link',
170
+ find: (text, from) => {
171
+ const span = findBracketed(text, from, false);
172
+ return span === null ? null : { kind: 'link', ...span };
173
+ },
174
+ },
175
+ { kind: 'strong', find: (text, from) => asFound('strong', findEmphasisSpan(text, from, '**')) },
176
+ { kind: 'strong', find: (text, from) => asFound('strong', findEmphasisSpan(text, from, '__')) },
177
+ {
178
+ kind: 'emphasis',
179
+ find: (text, from) => asFound('emphasis', findEmphasisSpan(text, from, '*')),
180
+ },
181
+ {
182
+ kind: 'emphasis',
183
+ find: (text, from) => asFound('emphasis', findEmphasisSpan(text, from, '_')),
184
+ },
185
+ ];
186
+ /**
187
+ * Resolves inline markup to React nodes. A cursor walks the text once; each rule
188
+ * caches its earliest match at or after the cursor and is rescanned only when the
189
+ * cursor passes that match, so the rules' rescans cover disjoint forward ranges
190
+ * and the pass is linear. Plain runs are pushed as text children that React
191
+ * escapes; a link is admitted only when `safeHttpUrl` accepts it, and an image
192
+ * contributes its `alt` text alone.
193
+ */
194
+ export function renderInline(text, keyBase) {
195
+ const nodes = [];
196
+ // Per rule: `undefined` not yet scanned, `null` no match through the end
197
+ // (final), otherwise the pending match to reuse until the cursor passes it.
198
+ const cache = INLINE_RULES.map(() => undefined);
199
+ let pos = 0;
200
+ while (pos < text.length) {
201
+ let best = null;
202
+ for (const [r, rule] of INLINE_RULES.entries()) {
203
+ let hit = cache[r];
204
+ if (hit === undefined || (hit !== null && hit.index < pos)) {
205
+ hit = rule.find(text, pos);
206
+ cache[r] = hit;
207
+ }
208
+ if (hit !== null && (best === null || hit.index < best.index)) {
209
+ best = hit;
210
+ }
211
+ }
212
+ if (best === null) {
213
+ nodes.push(text.slice(pos));
214
+ break;
215
+ }
216
+ if (best.index > pos) {
217
+ nodes.push(text.slice(pos, best.index));
218
+ }
219
+ nodes.push(renderInlineMatch(best, `${keyBase}-${String(best.index)}`));
220
+ pos = best.index + best.length;
221
+ }
222
+ return nodes;
223
+ }
224
+ /**
225
+ * Test-only entry point to the inline scanner. Resolves inline markup to React
226
+ * nodes exactly as `renderInline` does, but without mounting or serializing a
227
+ * DOM, so a test can time the scan itself in isolation from render cost. Not part
228
+ * of the public API.
229
+ */
230
+ export function scanInline(text) {
231
+ return renderInline(text, 'k');
232
+ }
233
+ function renderInlineMatch(found, key) {
234
+ switch (found.kind) {
235
+ case 'code':
236
+ return _jsx("code", { children: found.content }, key);
237
+ case 'image':
238
+ // Images are not rendered: the alt text is all that survives, and no URL
239
+ // is fetched.
240
+ return found.content;
241
+ case 'link': {
242
+ const url = safeHttpUrl(found.extra ?? '');
243
+ const children = renderInline(found.content, `${key}-t`);
244
+ if (url === undefined) {
245
+ // A destination that is not an absolute http(s) URL never becomes a live
246
+ // anchor: the display text is rendered as plain text.
247
+ return _jsx("span", { children: children }, key);
248
+ }
249
+ return (_jsx("a", { href: url, target: "_blank", rel: "noopener noreferrer external", children: children }, key));
250
+ }
251
+ case 'strong':
252
+ return _jsx("strong", { children: renderInline(found.content, `${key}-t`) }, key);
253
+ case 'emphasis':
254
+ return _jsx("em", { children: renderInline(found.content, `${key}-t`) }, key);
255
+ }
256
+ }
257
+ //# sourceMappingURL=markdown-inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-inline.js","sourceRoot":"","sources":["../../src/components/markdown-inline.tsx"],"names":[],"mappings":"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"}
@@ -1,60 +1,11 @@
1
- /**
2
- * `Markdown` — a safe renderer for the markdown agents emit, on the design
3
- * system's prose ground (`tai-prose`). Supports a deliberate subset (headings,
4
- * emphasis, lists, blockquotes, thematic breaks, links, inline and fenced code),
5
- * rendered entirely through React elements and text children.
6
- *
7
- * SAFETY: never an HTML sink — no `dangerouslySetInnerHTML`, no raw-HTML
8
- * passthrough, no network. A link is admitted only when `safeHttpUrl` accepts an
9
- * absolute `http(s)` URL; every other spelling renders as plain link text.
10
- * `![alt](url)` collapses to its `alt` text, so no source URL is fetched. Fenced
11
- * code goes to `CodeBlock`, itself text-only.
12
- */
13
- import { type ReactNode } from 'react';
14
- /** The heading levels ATX syntax can express, `#` through `######`. */
15
- export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
16
- /** A parsed block. Inline markup inside `text` is resolved at render time. */
17
- export type MarkdownBlock = {
18
- readonly type: 'heading';
19
- readonly level: HeadingLevel;
20
- readonly text: string;
21
- } | {
22
- readonly type: 'paragraph';
23
- readonly text: string;
24
- } | {
25
- readonly type: 'code';
26
- readonly language: string | undefined;
27
- readonly code: string;
28
- } | {
29
- readonly type: 'list';
30
- readonly ordered: boolean;
31
- readonly items: readonly string[];
32
- /** The first item's number on an ordered list, so the render can offset `<ol start>`. */
33
- readonly start?: number;
34
- } | {
35
- readonly type: 'blockquote';
36
- readonly children: readonly MarkdownBlock[];
37
- } | {
38
- readonly type: 'thematicBreak';
39
- };
1
+ export type { HeadingLevel, MarkdownBlock } from './markdown-blocks';
2
+ export { parseMarkdown } from './markdown-blocks';
3
+ export { scanInline } from './markdown-inline';
40
4
  export interface MarkdownProps {
41
5
  /** The markdown source. Rendered as an escaped-by-construction React tree. */
42
6
  readonly markdown: string;
43
7
  /** Appended to `tai-prose` so a caller can position the block without losing its paint. */
44
8
  readonly className?: string;
45
9
  }
46
- /**
47
- * Folds markdown source into an ordered list of blocks. Pure and total: any
48
- * string parses, and text that matches no block construct becomes a paragraph
49
- * rather than being discarded.
50
- */
51
- export declare function parseMarkdown(markdown: string): MarkdownBlock[];
52
- /**
53
- * Test-only entry point to the inline scanner. Resolves inline markup to React
54
- * nodes exactly as `renderInline` does, but without mounting or serializing a
55
- * DOM, so a test can time the scan itself in isolation from render cost. Not part
56
- * of the public API.
57
- */
58
- export declare function scanInline(text: string): ReactNode[];
59
10
  export declare function Markdown({ markdown, className }: MarkdownProps): import("react").JSX.Element;
60
11
  //# sourceMappingURL=markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/components/markdown.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKhD,uEAAuE;AACvE,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjD,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjF;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvF;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,yFAAyF;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,GAC5E;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AA6CD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAG/D;AAyWD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAEpD;AAiFD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,aAAa,+BAQ9D"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/components/markdown.tsx"],"names":[],"mappings":"AAkBA,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAkDD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,aAAa,+BAQ9D"}