schematex 0.3.0 → 0.3.3

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 (186) hide show
  1. package/dist/ai/ai-sdk.cjs +25 -25
  2. package/dist/ai/ai-sdk.d.cts +1 -1
  3. package/dist/ai/ai-sdk.d.ts +1 -1
  4. package/dist/ai/ai-sdk.js +20 -20
  5. package/dist/ai/index.cjs +28 -28
  6. package/dist/ai/index.d.cts +1 -1
  7. package/dist/ai/index.d.ts +1 -1
  8. package/dist/ai/index.js +20 -20
  9. package/dist/browser.cjs +22 -22
  10. package/dist/browser.js +20 -20
  11. package/dist/{chunk-HDKDQAEQ.cjs → chunk-3WNW5Y7P.cjs} +54 -2
  12. package/dist/chunk-3WNW5Y7P.cjs.map +1 -0
  13. package/dist/{chunk-B6INLQBU.cjs → chunk-55UEHL57.cjs} +46 -46
  14. package/dist/{chunk-B6INLQBU.cjs.map → chunk-55UEHL57.cjs.map} +1 -1
  15. package/dist/{chunk-JDTB7IKL.js → chunk-5U2W3HQA.js} +3 -3
  16. package/dist/{chunk-JDTB7IKL.js.map → chunk-5U2W3HQA.js.map} +1 -1
  17. package/dist/{chunk-ULYRO2KY.cjs → chunk-5UCXMYE7.cjs} +44 -44
  18. package/dist/{chunk-ULYRO2KY.cjs.map → chunk-5UCXMYE7.cjs.map} +1 -1
  19. package/dist/{chunk-UGCUNADI.js → chunk-66XQBGX7.js} +35 -16
  20. package/dist/chunk-66XQBGX7.js.map +1 -0
  21. package/dist/{chunk-45KP67RR.js → chunk-6TIN33CA.js} +5 -5
  22. package/dist/chunk-6TIN33CA.js.map +1 -0
  23. package/dist/{chunk-NNU4RGT3.js → chunk-6YUP3QMA.js} +39 -27
  24. package/dist/chunk-6YUP3QMA.js.map +1 -0
  25. package/dist/{chunk-COLTVQWR.cjs → chunk-7EWFVNYD.cjs} +25 -25
  26. package/dist/{chunk-COLTVQWR.cjs.map → chunk-7EWFVNYD.cjs.map} +1 -1
  27. package/dist/{chunk-RP5UATRA.js → chunk-AC3XH3LB.js} +4 -4
  28. package/dist/{chunk-RP5UATRA.js.map → chunk-AC3XH3LB.js.map} +1 -1
  29. package/dist/{chunk-XTATRNUN.cjs → chunk-APV4AWQ5.cjs} +442 -430
  30. package/dist/chunk-APV4AWQ5.cjs.map +1 -0
  31. package/dist/{chunk-NZH4GWE6.cjs → chunk-AVIKQZSX.cjs} +37 -37
  32. package/dist/{chunk-NZH4GWE6.cjs.map → chunk-AVIKQZSX.cjs.map} +1 -1
  33. package/dist/{chunk-X7RPFTTR.cjs → chunk-CWZKP3CJ.cjs} +26 -26
  34. package/dist/{chunk-X7RPFTTR.cjs.map → chunk-CWZKP3CJ.cjs.map} +1 -1
  35. package/dist/{chunk-TYCHEOQX.js → chunk-FIVUMDLF.js} +49 -24
  36. package/dist/chunk-FIVUMDLF.js.map +1 -0
  37. package/dist/{chunk-DNZFOCV7.js → chunk-FO7BLCEW.js} +3 -3
  38. package/dist/{chunk-DNZFOCV7.js.map → chunk-FO7BLCEW.js.map} +1 -1
  39. package/dist/{chunk-OC22GGQN.js → chunk-GLFBHQSQ.js} +54 -4
  40. package/dist/chunk-GLFBHQSQ.js.map +1 -0
  41. package/dist/{chunk-XZNPAD6E.js → chunk-GVCPFBAV.js} +59 -8
  42. package/dist/chunk-GVCPFBAV.js.map +1 -0
  43. package/dist/{chunk-B37IKTI7.cjs → chunk-HOI6QKC6.cjs} +97 -47
  44. package/dist/chunk-HOI6QKC6.cjs.map +1 -0
  45. package/dist/{chunk-A5D2IMOX.cjs → chunk-IAEABLIV.cjs} +47 -47
  46. package/dist/{chunk-A5D2IMOX.cjs.map → chunk-IAEABLIV.cjs.map} +1 -1
  47. package/dist/{chunk-5YYAYW67.js → chunk-IQRRZPVZ.js} +3 -3
  48. package/dist/{chunk-5YYAYW67.js.map → chunk-IQRRZPVZ.js.map} +1 -1
  49. package/dist/{chunk-VLMK7MQK.js → chunk-MNOO7STY.js} +25 -6
  50. package/dist/chunk-MNOO7STY.js.map +1 -0
  51. package/dist/{chunk-ZNOD4VZT.cjs → chunk-N56YC75X.cjs} +46 -46
  52. package/dist/{chunk-ZNOD4VZT.cjs.map → chunk-N56YC75X.cjs.map} +1 -1
  53. package/dist/{chunk-YQANC7HQ.js → chunk-PAG3BNIV.js} +3 -3
  54. package/dist/{chunk-YQANC7HQ.js.map → chunk-PAG3BNIV.js.map} +1 -1
  55. package/dist/{chunk-QSQX77S2.cjs → chunk-PG6TDGKI.cjs} +21 -21
  56. package/dist/{chunk-QSQX77S2.cjs.map → chunk-PG6TDGKI.cjs.map} +1 -1
  57. package/dist/{chunk-WYFXOXVK.cjs → chunk-Q5OFA4I2.cjs} +35 -35
  58. package/dist/{chunk-WYFXOXVK.cjs.map → chunk-Q5OFA4I2.cjs.map} +1 -1
  59. package/dist/{chunk-MJGDP3CS.cjs → chunk-QOLBWCF5.cjs} +488 -109
  60. package/dist/chunk-QOLBWCF5.cjs.map +1 -0
  61. package/dist/{chunk-MCFQAUQV.cjs → chunk-QXL7AY2H.cjs} +58 -39
  62. package/dist/chunk-QXL7AY2H.cjs.map +1 -0
  63. package/dist/chunk-SYYBKDL7.js +122 -0
  64. package/dist/chunk-SYYBKDL7.js.map +1 -0
  65. package/dist/{chunk-H2OEUBPO.js → chunk-TQU44E46.js} +441 -62
  66. package/dist/chunk-TQU44E46.js.map +1 -0
  67. package/dist/{chunk-FCGHV6ZK.js → chunk-U3KRKXF7.js} +4 -4
  68. package/dist/{chunk-FCGHV6ZK.js.map → chunk-U3KRKXF7.js.map} +1 -1
  69. package/dist/{chunk-3YZ6FPQW.cjs → chunk-UDGU73RL.cjs} +131 -131
  70. package/dist/{chunk-3YZ6FPQW.cjs.map → chunk-UDGU73RL.cjs.map} +1 -1
  71. package/dist/{chunk-U6L3FAML.js → chunk-UDJ2KN2A.js} +3 -3
  72. package/dist/{chunk-U6L3FAML.js.map → chunk-UDJ2KN2A.js.map} +1 -1
  73. package/dist/{chunk-FE6GAUNW.js → chunk-UT4TIDAA.js} +5 -5
  74. package/dist/{chunk-FE6GAUNW.js.map → chunk-UT4TIDAA.js.map} +1 -1
  75. package/dist/{chunk-SQKLKBBK.cjs → chunk-UWRTV6IV.cjs} +27 -8
  76. package/dist/chunk-UWRTV6IV.cjs.map +1 -0
  77. package/dist/{chunk-NB56L5QK.js → chunk-WTF6JXHN.js} +4 -4
  78. package/dist/{chunk-NB56L5QK.js.map → chunk-WTF6JXHN.js.map} +1 -1
  79. package/dist/{chunk-ZNDIGQJD.js → chunk-X5QJO4ZD.js} +3 -3
  80. package/dist/{chunk-ZNDIGQJD.js.map → chunk-X5QJO4ZD.js.map} +1 -1
  81. package/dist/{chunk-M5B2UUNW.js → chunk-XV2DTN6G.js} +4 -4
  82. package/dist/{chunk-M5B2UUNW.js.map → chunk-XV2DTN6G.js.map} +1 -1
  83. package/dist/{chunk-K2SOC3XF.cjs → chunk-YUPG2M3I.cjs} +71 -20
  84. package/dist/chunk-YUPG2M3I.cjs.map +1 -0
  85. package/dist/{chunk-2JDVJRR3.cjs → chunk-ZCW7YH3C.cjs} +28 -28
  86. package/dist/chunk-ZCW7YH3C.cjs.map +1 -0
  87. package/dist/{chunk-3FKS4KQK.cjs → chunk-ZFNZ2FYI.cjs} +88 -63
  88. package/dist/chunk-ZFNZ2FYI.cjs.map +1 -0
  89. package/dist/{chunk-5AEN2PLB.cjs → chunk-ZZJDGGC3.cjs} +33 -33
  90. package/dist/{chunk-5AEN2PLB.cjs.map → chunk-ZZJDGGC3.cjs.map} +1 -1
  91. package/dist/diagrams/blockdiagram/index.cjs +6 -6
  92. package/dist/diagrams/blockdiagram/index.d.cts +1 -1
  93. package/dist/diagrams/blockdiagram/index.d.ts +1 -1
  94. package/dist/diagrams/blockdiagram/index.js +2 -2
  95. package/dist/diagrams/circuit/index.cjs +8 -8
  96. package/dist/diagrams/circuit/index.d.cts +1 -1
  97. package/dist/diagrams/circuit/index.d.ts +1 -1
  98. package/dist/diagrams/circuit/index.js +2 -2
  99. package/dist/diagrams/ecomap/index.cjs +8 -8
  100. package/dist/diagrams/ecomap/index.d.cts +1 -1
  101. package/dist/diagrams/ecomap/index.d.ts +1 -1
  102. package/dist/diagrams/ecomap/index.js +3 -3
  103. package/dist/diagrams/entity/index.cjs +6 -6
  104. package/dist/diagrams/entity/index.d.cts +1 -1
  105. package/dist/diagrams/entity/index.d.ts +1 -1
  106. package/dist/diagrams/entity/index.js +2 -2
  107. package/dist/diagrams/fishbone/index.cjs +8 -8
  108. package/dist/diagrams/fishbone/index.d.cts +1 -1
  109. package/dist/diagrams/fishbone/index.d.ts +1 -1
  110. package/dist/diagrams/fishbone/index.js +2 -2
  111. package/dist/diagrams/flowchart/index.cjs +8 -8
  112. package/dist/diagrams/flowchart/index.d.cts +2 -2
  113. package/dist/diagrams/flowchart/index.d.ts +2 -2
  114. package/dist/diagrams/flowchart/index.js +2 -2
  115. package/dist/diagrams/genogram/index.cjs +10 -10
  116. package/dist/diagrams/genogram/index.d.cts +1 -1
  117. package/dist/diagrams/genogram/index.d.ts +1 -1
  118. package/dist/diagrams/genogram/index.js +3 -3
  119. package/dist/diagrams/ladder/index.cjs +6 -6
  120. package/dist/diagrams/ladder/index.d.cts +1 -1
  121. package/dist/diagrams/ladder/index.d.ts +1 -1
  122. package/dist/diagrams/ladder/index.js +2 -2
  123. package/dist/diagrams/logic/index.cjs +6 -6
  124. package/dist/diagrams/logic/index.d.cts +1 -1
  125. package/dist/diagrams/logic/index.d.ts +1 -1
  126. package/dist/diagrams/logic/index.js +2 -2
  127. package/dist/diagrams/orgchart/index.cjs +7 -7
  128. package/dist/diagrams/orgchart/index.d.cts +1 -1
  129. package/dist/diagrams/orgchart/index.d.ts +1 -1
  130. package/dist/diagrams/orgchart/index.js +2 -2
  131. package/dist/diagrams/pedigree/index.cjs +8 -8
  132. package/dist/diagrams/pedigree/index.d.cts +1 -1
  133. package/dist/diagrams/pedigree/index.d.ts +1 -1
  134. package/dist/diagrams/pedigree/index.js +3 -3
  135. package/dist/diagrams/phylo/index.cjs +7 -7
  136. package/dist/diagrams/phylo/index.d.cts +1 -1
  137. package/dist/diagrams/phylo/index.d.ts +1 -1
  138. package/dist/diagrams/phylo/index.js +2 -2
  139. package/dist/diagrams/sld/index.cjs +6 -6
  140. package/dist/diagrams/sld/index.d.cts +1 -1
  141. package/dist/diagrams/sld/index.d.ts +1 -1
  142. package/dist/diagrams/sld/index.js +2 -2
  143. package/dist/diagrams/sociogram/index.cjs +7 -7
  144. package/dist/diagrams/sociogram/index.d.cts +1 -1
  145. package/dist/diagrams/sociogram/index.d.ts +1 -1
  146. package/dist/diagrams/sociogram/index.js +3 -3
  147. package/dist/diagrams/timing/index.cjs +5 -5
  148. package/dist/diagrams/timing/index.d.cts +1 -1
  149. package/dist/diagrams/timing/index.d.ts +1 -1
  150. package/dist/diagrams/timing/index.js +2 -2
  151. package/dist/diagrams/venn/index.cjs +9 -9
  152. package/dist/diagrams/venn/index.d.cts +1 -1
  153. package/dist/diagrams/venn/index.d.ts +1 -1
  154. package/dist/diagrams/venn/index.js +2 -2
  155. package/dist/{index-CUwp4GXI.d.ts → index-D3u6vcA4.d.ts} +1 -1
  156. package/dist/{index-ivhNGsyU.d.cts → index-bdfj6FpQ.d.cts} +1 -1
  157. package/dist/index.cjs +41 -41
  158. package/dist/index.d.cts +2 -2
  159. package/dist/index.d.ts +2 -2
  160. package/dist/index.js +19 -19
  161. package/dist/react.cjs +20 -20
  162. package/dist/react.cjs.map +1 -1
  163. package/dist/react.js +19 -19
  164. package/dist/react.js.map +1 -1
  165. package/dist/{types-Bl-Pn7Wj.d.cts → types-DnU2UlWz.d.cts} +26 -3
  166. package/dist/{types-Bl-Pn7Wj.d.ts → types-DnU2UlWz.d.ts} +26 -3
  167. package/package.json +1 -1
  168. package/dist/chunk-2JDVJRR3.cjs.map +0 -1
  169. package/dist/chunk-3FKS4KQK.cjs.map +0 -1
  170. package/dist/chunk-45KP67RR.js.map +0 -1
  171. package/dist/chunk-B37IKTI7.cjs.map +0 -1
  172. package/dist/chunk-H2OEUBPO.js.map +0 -1
  173. package/dist/chunk-HDKDQAEQ.cjs.map +0 -1
  174. package/dist/chunk-K2SOC3XF.cjs.map +0 -1
  175. package/dist/chunk-KLJEK547.js +0 -71
  176. package/dist/chunk-KLJEK547.js.map +0 -1
  177. package/dist/chunk-MCFQAUQV.cjs.map +0 -1
  178. package/dist/chunk-MJGDP3CS.cjs.map +0 -1
  179. package/dist/chunk-NNU4RGT3.js.map +0 -1
  180. package/dist/chunk-OC22GGQN.js.map +0 -1
  181. package/dist/chunk-SQKLKBBK.cjs.map +0 -1
  182. package/dist/chunk-TYCHEOQX.js.map +0 -1
  183. package/dist/chunk-UGCUNADI.js.map +0 -1
  184. package/dist/chunk-VLMK7MQK.js.map +0 -1
  185. package/dist/chunk-XTATRNUN.cjs.map +0 -1
  186. package/dist/chunk-XZNPAD6E.js.map +0 -1
@@ -1,26 +1,26 @@
1
1
  'use strict';
2
2
 
3
- var chunkSQKLKBBK_cjs = require('../chunk-SQKLKBBK.cjs');
4
- require('../chunk-XTATRNUN.cjs');
5
- require('../chunk-A5D2IMOX.cjs');
6
- require('../chunk-K2SOC3XF.cjs');
7
- require('../chunk-MCFQAUQV.cjs');
8
- require('../chunk-B6INLQBU.cjs');
9
- require('../chunk-3YZ6FPQW.cjs');
10
- require('../chunk-ZNOD4VZT.cjs');
11
- require('../chunk-5AEN2PLB.cjs');
12
- require('../chunk-QSQX77S2.cjs');
13
- require('../chunk-3FKS4KQK.cjs');
14
- require('../chunk-MJGDP3CS.cjs');
15
- require('../chunk-NZH4GWE6.cjs');
16
- require('../chunk-B37IKTI7.cjs');
17
- require('../chunk-X7RPFTTR.cjs');
18
- require('../chunk-COLTVQWR.cjs');
19
- require('../chunk-ULYRO2KY.cjs');
20
- require('../chunk-2JDVJRR3.cjs');
21
- require('../chunk-WYFXOXVK.cjs');
3
+ var chunkUWRTV6IV_cjs = require('../chunk-UWRTV6IV.cjs');
4
+ require('../chunk-APV4AWQ5.cjs');
5
+ require('../chunk-IAEABLIV.cjs');
6
+ require('../chunk-YUPG2M3I.cjs');
7
+ require('../chunk-QXL7AY2H.cjs');
8
+ require('../chunk-55UEHL57.cjs');
9
+ require('../chunk-UDGU73RL.cjs');
10
+ require('../chunk-N56YC75X.cjs');
11
+ require('../chunk-ZZJDGGC3.cjs');
12
+ require('../chunk-PG6TDGKI.cjs');
13
+ require('../chunk-ZFNZ2FYI.cjs');
14
+ require('../chunk-QOLBWCF5.cjs');
15
+ require('../chunk-AVIKQZSX.cjs');
16
+ require('../chunk-HOI6QKC6.cjs');
17
+ require('../chunk-CWZKP3CJ.cjs');
18
+ require('../chunk-7EWFVNYD.cjs');
19
+ require('../chunk-5UCXMYE7.cjs');
20
+ require('../chunk-ZCW7YH3C.cjs');
21
+ require('../chunk-Q5OFA4I2.cjs');
22
22
  require('../chunk-D7EHZFK4.cjs');
23
- require('../chunk-HDKDQAEQ.cjs');
23
+ require('../chunk-3WNW5Y7P.cjs');
24
24
  var ai = require('ai');
25
25
  var zod = require('zod');
26
26
 
@@ -28,7 +28,7 @@ var schematexTools = {
28
28
  listDiagrams: ai.tool({
29
29
  description: "List every Schematex diagram type with a tagline, 'use when' hint, domain cluster, and authoritative standard. Call this first to discover what's available.",
30
30
  inputSchema: zod.z.object({}),
31
- execute: async () => chunkSQKLKBBK_cjs.listDiagrams()
31
+ execute: async () => chunkUWRTV6IV_cjs.listDiagrams()
32
32
  }),
33
33
  getSyntax: ai.tool({
34
34
  description: "Return a compact syntax reference for one diagram type \u2014 rules, grammar (EBNF), and inline examples. Trimmed for LLM consumption (~2,000\u20134,000 tokens). Call after listDiagrams once you've chosen a type.",
@@ -37,7 +37,7 @@ var schematexTools = {
37
37
  "Diagram type id from listDiagrams (e.g. 'genogram', 'sld', 'fishbone')."
38
38
  )
39
39
  }),
40
- execute: async ({ type }) => chunkSQKLKBBK_cjs.getSyntax(type)
40
+ execute: async ({ type }) => chunkUWRTV6IV_cjs.getSyntax(type)
41
41
  }),
42
42
  getExamples: ai.tool({
43
43
  description: "Return curated real-world DSL examples for a diagram type, each with scenario notes and tags. Use as few-shot context before generating DSL.",
@@ -47,7 +47,7 @@ var schematexTools = {
47
47
  preferFeatured: zod.z.boolean().optional().describe("Rank featured examples first."),
48
48
  maxComplexity: zod.z.number().int().min(1).max(5).optional().describe("Only return examples with complexity <= this value (1=simplest).")
49
49
  }),
50
- execute: async (args) => chunkSQKLKBBK_cjs.getExamples(args.type, {
50
+ execute: async (args) => chunkUWRTV6IV_cjs.getExamples(args.type, {
51
51
  limit: args.limit,
52
52
  preferFeatured: args.preferFeatured,
53
53
  maxComplexity: args.maxComplexity
@@ -61,7 +61,7 @@ var schematexTools = {
61
61
  ),
62
62
  dsl: zod.z.string().describe("The DSL source text to validate.")
63
63
  }),
64
- execute: async ({ type, dsl }) => chunkSQKLKBBK_cjs.validateDsl(type, dsl)
64
+ execute: async ({ type, dsl }) => chunkUWRTV6IV_cjs.validateDsl(type, dsl)
65
65
  }),
66
66
  renderDsl: ai.tool({
67
67
  description: "Render Schematex DSL to an SVG string. Returns { ok: true, svg } or { ok: false, errors }. Use when the caller needs the actual diagram output, not just validation.",
@@ -76,7 +76,7 @@ var schematexTools = {
76
76
  dsl,
77
77
  theme,
78
78
  padding
79
- }) => chunkSQKLKBBK_cjs.renderDsl(type, dsl, { theme, padding })
79
+ }) => chunkUWRTV6IV_cjs.renderDsl(type, dsl, { theme, padding })
80
80
  })
81
81
  };
82
82
 
@@ -1,7 +1,7 @@
1
1
  import * as ai from 'ai';
2
2
  import { DiagramListItem, GetSyntaxResult, GetExamplesResult, ValidateDslResult, RenderDslResult } from './index.cjs';
3
3
  import '../api-BuFilDQB.cjs';
4
- import '../types-Bl-Pn7Wj.cjs';
4
+ import '../types-DnU2UlWz.cjs';
5
5
 
6
6
  declare const schematexTools: {
7
7
  readonly listDiagrams: ai.Tool<{}, DiagramListItem[]>;
@@ -1,7 +1,7 @@
1
1
  import * as ai from 'ai';
2
2
  import { DiagramListItem, GetSyntaxResult, GetExamplesResult, ValidateDslResult, RenderDslResult } from './index.js';
3
3
  import '../api-BuFilDQB.js';
4
- import '../types-Bl-Pn7Wj.js';
4
+ import '../types-DnU2UlWz.js';
5
5
 
6
6
  declare const schematexTools: {
7
7
  readonly listDiagrams: ai.Tool<{}, DiagramListItem[]>;
package/dist/ai/ai-sdk.js CHANGED
@@ -1,24 +1,24 @@
1
- import { renderDsl, validateDsl, getExamples, getSyntax, listDiagrams } from '../chunk-VLMK7MQK.js';
2
- import '../chunk-NNU4RGT3.js';
3
- import '../chunk-FCGHV6ZK.js';
4
- import '../chunk-XZNPAD6E.js';
5
- import '../chunk-UGCUNADI.js';
6
- import '../chunk-U6L3FAML.js';
7
- import '../chunk-FE6GAUNW.js';
8
- import '../chunk-M5B2UUNW.js';
9
- import '../chunk-ZNDIGQJD.js';
10
- import '../chunk-JDTB7IKL.js';
11
- import '../chunk-TYCHEOQX.js';
12
- import '../chunk-H2OEUBPO.js';
13
- import '../chunk-NB56L5QK.js';
14
- import '../chunk-OC22GGQN.js';
15
- import '../chunk-YQANC7HQ.js';
16
- import '../chunk-RP5UATRA.js';
17
- import '../chunk-DNZFOCV7.js';
18
- import '../chunk-45KP67RR.js';
19
- import '../chunk-5YYAYW67.js';
1
+ import { renderDsl, validateDsl, getExamples, getSyntax, listDiagrams } from '../chunk-MNOO7STY.js';
2
+ import '../chunk-6YUP3QMA.js';
3
+ import '../chunk-U3KRKXF7.js';
4
+ import '../chunk-GVCPFBAV.js';
5
+ import '../chunk-66XQBGX7.js';
6
+ import '../chunk-UDJ2KN2A.js';
7
+ import '../chunk-UT4TIDAA.js';
8
+ import '../chunk-XV2DTN6G.js';
9
+ import '../chunk-X5QJO4ZD.js';
10
+ import '../chunk-5U2W3HQA.js';
11
+ import '../chunk-FIVUMDLF.js';
12
+ import '../chunk-TQU44E46.js';
13
+ import '../chunk-WTF6JXHN.js';
14
+ import '../chunk-GLFBHQSQ.js';
15
+ import '../chunk-PAG3BNIV.js';
16
+ import '../chunk-AC3XH3LB.js';
17
+ import '../chunk-FO7BLCEW.js';
18
+ import '../chunk-6TIN33CA.js';
19
+ import '../chunk-IQRRZPVZ.js';
20
20
  import '../chunk-2VNMKOUO.js';
21
- import '../chunk-KLJEK547.js';
21
+ import '../chunk-SYYBKDL7.js';
22
22
  import { tool } from 'ai';
23
23
  import { z } from 'zod';
24
24
 
package/dist/ai/index.cjs CHANGED
@@ -1,60 +1,60 @@
1
1
  'use strict';
2
2
 
3
- var chunkSQKLKBBK_cjs = require('../chunk-SQKLKBBK.cjs');
4
- require('../chunk-XTATRNUN.cjs');
5
- require('../chunk-A5D2IMOX.cjs');
6
- require('../chunk-K2SOC3XF.cjs');
7
- require('../chunk-MCFQAUQV.cjs');
8
- require('../chunk-B6INLQBU.cjs');
9
- require('../chunk-3YZ6FPQW.cjs');
10
- require('../chunk-ZNOD4VZT.cjs');
11
- require('../chunk-5AEN2PLB.cjs');
12
- require('../chunk-QSQX77S2.cjs');
13
- require('../chunk-3FKS4KQK.cjs');
14
- require('../chunk-MJGDP3CS.cjs');
15
- require('../chunk-NZH4GWE6.cjs');
16
- require('../chunk-B37IKTI7.cjs');
17
- require('../chunk-X7RPFTTR.cjs');
18
- require('../chunk-COLTVQWR.cjs');
19
- require('../chunk-ULYRO2KY.cjs');
20
- require('../chunk-2JDVJRR3.cjs');
21
- require('../chunk-WYFXOXVK.cjs');
3
+ var chunkUWRTV6IV_cjs = require('../chunk-UWRTV6IV.cjs');
4
+ require('../chunk-APV4AWQ5.cjs');
5
+ require('../chunk-IAEABLIV.cjs');
6
+ require('../chunk-YUPG2M3I.cjs');
7
+ require('../chunk-QXL7AY2H.cjs');
8
+ require('../chunk-55UEHL57.cjs');
9
+ require('../chunk-UDGU73RL.cjs');
10
+ require('../chunk-N56YC75X.cjs');
11
+ require('../chunk-ZZJDGGC3.cjs');
12
+ require('../chunk-PG6TDGKI.cjs');
13
+ require('../chunk-ZFNZ2FYI.cjs');
14
+ require('../chunk-QOLBWCF5.cjs');
15
+ require('../chunk-AVIKQZSX.cjs');
16
+ require('../chunk-HOI6QKC6.cjs');
17
+ require('../chunk-CWZKP3CJ.cjs');
18
+ require('../chunk-7EWFVNYD.cjs');
19
+ require('../chunk-5UCXMYE7.cjs');
20
+ require('../chunk-ZCW7YH3C.cjs');
21
+ require('../chunk-Q5OFA4I2.cjs');
22
22
  require('../chunk-D7EHZFK4.cjs');
23
- require('../chunk-HDKDQAEQ.cjs');
23
+ require('../chunk-3WNW5Y7P.cjs');
24
24
 
25
25
 
26
26
 
27
27
  Object.defineProperty(exports, "DIAGRAM_REGISTRY", {
28
28
  enumerable: true,
29
- get: function () { return chunkSQKLKBBK_cjs.DIAGRAM_REGISTRY; }
29
+ get: function () { return chunkUWRTV6IV_cjs.DIAGRAM_REGISTRY; }
30
30
  });
31
31
  Object.defineProperty(exports, "getAllDiagramTypes", {
32
32
  enumerable: true,
33
- get: function () { return chunkSQKLKBBK_cjs.getAllDiagramTypes; }
33
+ get: function () { return chunkUWRTV6IV_cjs.getAllDiagramTypes; }
34
34
  });
35
35
  Object.defineProperty(exports, "getDiagramMeta", {
36
36
  enumerable: true,
37
- get: function () { return chunkSQKLKBBK_cjs.getDiagramMeta; }
37
+ get: function () { return chunkUWRTV6IV_cjs.getDiagramMeta; }
38
38
  });
39
39
  Object.defineProperty(exports, "getExamples", {
40
40
  enumerable: true,
41
- get: function () { return chunkSQKLKBBK_cjs.getExamples; }
41
+ get: function () { return chunkUWRTV6IV_cjs.getExamples; }
42
42
  });
43
43
  Object.defineProperty(exports, "getSyntax", {
44
44
  enumerable: true,
45
- get: function () { return chunkSQKLKBBK_cjs.getSyntax; }
45
+ get: function () { return chunkUWRTV6IV_cjs.getSyntax; }
46
46
  });
47
47
  Object.defineProperty(exports, "listDiagrams", {
48
48
  enumerable: true,
49
- get: function () { return chunkSQKLKBBK_cjs.listDiagrams; }
49
+ get: function () { return chunkUWRTV6IV_cjs.listDiagrams; }
50
50
  });
51
51
  Object.defineProperty(exports, "renderDsl", {
52
52
  enumerable: true,
53
- get: function () { return chunkSQKLKBBK_cjs.renderDsl; }
53
+ get: function () { return chunkUWRTV6IV_cjs.renderDsl; }
54
54
  });
55
55
  Object.defineProperty(exports, "validateDsl", {
56
56
  enumerable: true,
57
- get: function () { return chunkSQKLKBBK_cjs.validateDsl; }
57
+ get: function () { return chunkUWRTV6IV_cjs.validateDsl; }
58
58
  });
59
59
  //# sourceMappingURL=index.cjs.map
60
60
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { S as SchematexConfig } from '../api-BuFilDQB.cjs';
2
- import { q as DiagramType } from '../types-Bl-Pn7Wj.cjs';
2
+ import { q as DiagramType } from '../types-DnU2UlWz.cjs';
3
3
 
4
4
  /**
5
5
  * Diagram registry — metadata for every diagram type Schematex supports.
@@ -1,5 +1,5 @@
1
1
  import { S as SchematexConfig } from '../api-BuFilDQB.js';
2
- import { q as DiagramType } from '../types-Bl-Pn7Wj.js';
2
+ import { q as DiagramType } from '../types-DnU2UlWz.js';
3
3
 
4
4
  /**
5
5
  * Diagram registry — metadata for every diagram type Schematex supports.
package/dist/ai/index.js CHANGED
@@ -1,23 +1,23 @@
1
- export { DIAGRAM_REGISTRY, getAllDiagramTypes, getDiagramMeta, getExamples, getSyntax, listDiagrams, renderDsl, validateDsl } from '../chunk-VLMK7MQK.js';
2
- import '../chunk-NNU4RGT3.js';
3
- import '../chunk-FCGHV6ZK.js';
4
- import '../chunk-XZNPAD6E.js';
5
- import '../chunk-UGCUNADI.js';
6
- import '../chunk-U6L3FAML.js';
7
- import '../chunk-FE6GAUNW.js';
8
- import '../chunk-M5B2UUNW.js';
9
- import '../chunk-ZNDIGQJD.js';
10
- import '../chunk-JDTB7IKL.js';
11
- import '../chunk-TYCHEOQX.js';
12
- import '../chunk-H2OEUBPO.js';
13
- import '../chunk-NB56L5QK.js';
14
- import '../chunk-OC22GGQN.js';
15
- import '../chunk-YQANC7HQ.js';
16
- import '../chunk-RP5UATRA.js';
17
- import '../chunk-DNZFOCV7.js';
18
- import '../chunk-45KP67RR.js';
19
- import '../chunk-5YYAYW67.js';
1
+ export { DIAGRAM_REGISTRY, getAllDiagramTypes, getDiagramMeta, getExamples, getSyntax, listDiagrams, renderDsl, validateDsl } from '../chunk-MNOO7STY.js';
2
+ import '../chunk-6YUP3QMA.js';
3
+ import '../chunk-U3KRKXF7.js';
4
+ import '../chunk-GVCPFBAV.js';
5
+ import '../chunk-66XQBGX7.js';
6
+ import '../chunk-UDJ2KN2A.js';
7
+ import '../chunk-UT4TIDAA.js';
8
+ import '../chunk-XV2DTN6G.js';
9
+ import '../chunk-X5QJO4ZD.js';
10
+ import '../chunk-5U2W3HQA.js';
11
+ import '../chunk-FIVUMDLF.js';
12
+ import '../chunk-TQU44E46.js';
13
+ import '../chunk-WTF6JXHN.js';
14
+ import '../chunk-GLFBHQSQ.js';
15
+ import '../chunk-PAG3BNIV.js';
16
+ import '../chunk-AC3XH3LB.js';
17
+ import '../chunk-FO7BLCEW.js';
18
+ import '../chunk-6TIN33CA.js';
19
+ import '../chunk-IQRRZPVZ.js';
20
20
  import '../chunk-2VNMKOUO.js';
21
- import '../chunk-KLJEK547.js';
21
+ import '../chunk-SYYBKDL7.js';
22
22
  //# sourceMappingURL=index.js.map
23
23
  //# sourceMappingURL=index.js.map
package/dist/browser.cjs CHANGED
@@ -1,29 +1,29 @@
1
1
  'use strict';
2
2
 
3
- var chunkXTATRNUN_cjs = require('./chunk-XTATRNUN.cjs');
4
- require('./chunk-A5D2IMOX.cjs');
5
- require('./chunk-K2SOC3XF.cjs');
6
- require('./chunk-MCFQAUQV.cjs');
7
- require('./chunk-B6INLQBU.cjs');
8
- require('./chunk-3YZ6FPQW.cjs');
9
- require('./chunk-ZNOD4VZT.cjs');
10
- require('./chunk-5AEN2PLB.cjs');
11
- require('./chunk-QSQX77S2.cjs');
12
- require('./chunk-3FKS4KQK.cjs');
13
- require('./chunk-MJGDP3CS.cjs');
14
- require('./chunk-NZH4GWE6.cjs');
15
- require('./chunk-B37IKTI7.cjs');
16
- require('./chunk-X7RPFTTR.cjs');
17
- require('./chunk-COLTVQWR.cjs');
18
- require('./chunk-ULYRO2KY.cjs');
19
- require('./chunk-2JDVJRR3.cjs');
20
- require('./chunk-WYFXOXVK.cjs');
3
+ var chunkAPV4AWQ5_cjs = require('./chunk-APV4AWQ5.cjs');
4
+ require('./chunk-IAEABLIV.cjs');
5
+ require('./chunk-YUPG2M3I.cjs');
6
+ require('./chunk-QXL7AY2H.cjs');
7
+ require('./chunk-55UEHL57.cjs');
8
+ require('./chunk-UDGU73RL.cjs');
9
+ require('./chunk-N56YC75X.cjs');
10
+ require('./chunk-ZZJDGGC3.cjs');
11
+ require('./chunk-PG6TDGKI.cjs');
12
+ require('./chunk-ZFNZ2FYI.cjs');
13
+ require('./chunk-QOLBWCF5.cjs');
14
+ require('./chunk-AVIKQZSX.cjs');
15
+ require('./chunk-HOI6QKC6.cjs');
16
+ require('./chunk-CWZKP3CJ.cjs');
17
+ require('./chunk-7EWFVNYD.cjs');
18
+ require('./chunk-5UCXMYE7.cjs');
19
+ require('./chunk-ZCW7YH3C.cjs');
20
+ require('./chunk-Q5OFA4I2.cjs');
21
21
  require('./chunk-D7EHZFK4.cjs');
22
- require('./chunk-HDKDQAEQ.cjs');
22
+ require('./chunk-3WNW5Y7P.cjs');
23
23
 
24
24
  // src/browser.ts
25
25
  function renderToElement(text, config) {
26
- const svgString = chunkXTATRNUN_cjs.render(text, config);
26
+ const svgString = chunkAPV4AWQ5_cjs.render(text, config);
27
27
  const parser = new DOMParser();
28
28
  const doc = parser.parseFromString(svgString, "image/svg+xml");
29
29
  const el = doc.documentElement;
@@ -34,12 +34,12 @@ function renderToElement(text, config) {
34
34
  return el;
35
35
  }
36
36
  function renderToContainer(text, container, config) {
37
- container.innerHTML = chunkXTATRNUN_cjs.render(text, config);
37
+ container.innerHTML = chunkAPV4AWQ5_cjs.render(text, config);
38
38
  }
39
39
 
40
40
  Object.defineProperty(exports, "render", {
41
41
  enumerable: true,
42
- get: function () { return chunkXTATRNUN_cjs.render; }
42
+ get: function () { return chunkAPV4AWQ5_cjs.render; }
43
43
  });
44
44
  exports.renderToContainer = renderToContainer;
45
45
  exports.renderToElement = renderToElement;
package/dist/browser.js CHANGED
@@ -1,24 +1,24 @@
1
- import { render } from './chunk-NNU4RGT3.js';
2
- export { render } from './chunk-NNU4RGT3.js';
3
- import './chunk-FCGHV6ZK.js';
4
- import './chunk-XZNPAD6E.js';
5
- import './chunk-UGCUNADI.js';
6
- import './chunk-U6L3FAML.js';
7
- import './chunk-FE6GAUNW.js';
8
- import './chunk-M5B2UUNW.js';
9
- import './chunk-ZNDIGQJD.js';
10
- import './chunk-JDTB7IKL.js';
11
- import './chunk-TYCHEOQX.js';
12
- import './chunk-H2OEUBPO.js';
13
- import './chunk-NB56L5QK.js';
14
- import './chunk-OC22GGQN.js';
15
- import './chunk-YQANC7HQ.js';
16
- import './chunk-RP5UATRA.js';
17
- import './chunk-DNZFOCV7.js';
18
- import './chunk-45KP67RR.js';
19
- import './chunk-5YYAYW67.js';
1
+ import { render } from './chunk-6YUP3QMA.js';
2
+ export { render } from './chunk-6YUP3QMA.js';
3
+ import './chunk-U3KRKXF7.js';
4
+ import './chunk-GVCPFBAV.js';
5
+ import './chunk-66XQBGX7.js';
6
+ import './chunk-UDJ2KN2A.js';
7
+ import './chunk-UT4TIDAA.js';
8
+ import './chunk-XV2DTN6G.js';
9
+ import './chunk-X5QJO4ZD.js';
10
+ import './chunk-5U2W3HQA.js';
11
+ import './chunk-FIVUMDLF.js';
12
+ import './chunk-TQU44E46.js';
13
+ import './chunk-WTF6JXHN.js';
14
+ import './chunk-GLFBHQSQ.js';
15
+ import './chunk-PAG3BNIV.js';
16
+ import './chunk-AC3XH3LB.js';
17
+ import './chunk-FO7BLCEW.js';
18
+ import './chunk-6TIN33CA.js';
19
+ import './chunk-IQRRZPVZ.js';
20
20
  import './chunk-2VNMKOUO.js';
21
- import './chunk-KLJEK547.js';
21
+ import './chunk-SYYBKDL7.js';
22
22
 
23
23
  // src/browser.ts
24
24
  function renderToElement(text, config) {
@@ -55,6 +55,57 @@ function path(attrs) {
55
55
  function text(attrs, content) {
56
56
  return el("text", attrs, escapeXml(content));
57
57
  }
58
+ function parseInlineSegments(line2) {
59
+ const out = [];
60
+ let bold = false;
61
+ let italic = false;
62
+ let buf = "";
63
+ let i = 0;
64
+ while (i < line2.length) {
65
+ const rest = line2.slice(i);
66
+ const m = /^<(\/?)([bi])>/i.exec(rest);
67
+ if (m) {
68
+ if (buf) {
69
+ out.push({ text: buf, bold, italic });
70
+ buf = "";
71
+ }
72
+ const isClose = m[1] === "/";
73
+ const tag = m[2].toLowerCase();
74
+ if (tag === "b") bold = !isClose;
75
+ else italic = !isClose;
76
+ i += m[0].length;
77
+ } else {
78
+ buf += line2[i];
79
+ i++;
80
+ }
81
+ }
82
+ if (buf) out.push({ text: buf, bold, italic });
83
+ return out;
84
+ }
85
+ function segmentTspan(seg, extra) {
86
+ const a = { ...extra };
87
+ if (seg.bold) a["font-weight"] = "bold";
88
+ if (seg.italic) a["font-style"] = "italic";
89
+ return el("tspan", a, escapeXml(seg.text));
90
+ }
91
+ function multilineText(attrs, content, lineHeight = 14) {
92
+ const lines = String(content).split(/<br\s*\/?>|\n/i);
93
+ const total = (lines.length - 1) * lineHeight;
94
+ const tspans = [];
95
+ lines.forEach((ln, lineIdx) => {
96
+ const segs = parseInlineSegments(ln);
97
+ const rendered = segs.length === 0 ? [{ text: "", bold: false, italic: false }] : segs;
98
+ rendered.forEach((seg, segIdx) => {
99
+ const extra = {};
100
+ if (segIdx === 0) {
101
+ extra.x = attrs.x;
102
+ extra.dy = lineIdx === 0 ? -total / 2 : lineHeight;
103
+ }
104
+ tspans.push(segmentTspan(seg, extra));
105
+ });
106
+ });
107
+ return el("text", attrs, tspans.join(""));
108
+ }
58
109
  function title(content) {
59
110
  return el("title", {}, escapeXml(content));
60
111
  }
@@ -75,6 +126,7 @@ exports.el = el;
75
126
  exports.escapeXml = escapeXml;
76
127
  exports.group = group;
77
128
  exports.line = line;
129
+ exports.multilineText = multilineText;
78
130
  exports.path = path;
79
131
  exports.pattern = pattern;
80
132
  exports.polygon = polygon;
@@ -82,5 +134,5 @@ exports.rect = rect;
82
134
  exports.svgRoot = svgRoot;
83
135
  exports.text = text;
84
136
  exports.title = title;
85
- //# sourceMappingURL=chunk-HDKDQAEQ.cjs.map
86
- //# sourceMappingURL=chunk-HDKDQAEQ.cjs.map
137
+ //# sourceMappingURL=chunk-3WNW5Y7P.cjs.map
138
+ //# sourceMappingURL=chunk-3WNW5Y7P.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/svg.ts"],"names":["line"],"mappings":"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","file":"chunk-3WNW5Y7P.cjs","sourcesContent":["/**\n * Tiny SVG builder utility.\n *\n * Handles XML escaping, attribute formatting, and nesting.\n * Avoids raw string concatenation fragility.\n *\n * @example\n * ```ts\n * const svg = svgRoot({ width: 800, height: 600, viewBox: '0 0 800 600' }, [\n * defs([\n * pattern({ id: 'half-fill', ... }, [...]),\n * ]),\n * group({ class: 'schematex-generation-0', transform: 'translate(0, 0)' }, [\n * rect({ x: 100, y: 50, width: 40, height: 40, class: 'schematex-node' }),\n * text({ x: 120, y: 110, class: 'schematex-label' }, 'John'),\n * ]),\n * ]);\n * ```\n */\n\n// ─── XML Escaping ────────────────────────────────────────────\n\nconst ESCAPE_MAP: Record<string, string> = {\n \"&\": \"&amp;\",\n \"<\": \"&lt;\",\n \">\": \"&gt;\",\n '\"': \"&quot;\",\n \"'\": \"&apos;\",\n};\n\nexport function escapeXml(str: string): string {\n return str.replace(/[&<>\"']/g, (ch) => ESCAPE_MAP[ch] ?? ch);\n}\n\n// ─── Attribute Formatting ────────────────────────────────────\n\ntype Attrs = Record<string, string | number | undefined>;\n\nfunction formatAttrs(attrs: Attrs): string {\n return Object.entries(attrs)\n .filter(([, v]) => v !== undefined)\n .map(([k, v]) => `${k}=\"${escapeXml(String(v))}\"`)\n .join(\" \");\n}\n\n// ─── Element Builders ────────────────────────────────────────\n\nexport function el(\n tag: string,\n attrs: Attrs,\n children?: string | string[]\n): string {\n const attrStr = formatAttrs(attrs);\n const open = attrStr ? `<${tag} ${attrStr}` : `<${tag}`;\n\n if (children === undefined) {\n return `${open}/>`;\n }\n\n const content = Array.isArray(children) ? children.join(\"\\n\") : children;\n return `${open}>${content}</${tag}>`;\n}\n\n// Convenience wrappers for common SVG elements\n\nexport function svgRoot(attrs: Attrs, children: string[]): string {\n return el(\n \"svg\",\n {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n ...attrs,\n },\n children\n );\n}\n\nexport function defs(children: string[]): string {\n return el(\"defs\", {}, children);\n}\n\nexport function group(attrs: Attrs, children: string[]): string {\n return el(\"g\", attrs, children);\n}\n\nexport function rect(attrs: Attrs): string {\n return el(\"rect\", attrs);\n}\n\nexport function circle(attrs: Attrs): string {\n return el(\"circle\", attrs);\n}\n\nexport function line(attrs: Attrs): string {\n return el(\"line\", attrs);\n}\n\nexport function path(attrs: Attrs): string {\n return el(\"path\", attrs);\n}\n\nexport function text(attrs: Attrs, content: string): string {\n return el(\"text\", attrs, escapeXml(content));\n}\n\ninterface Segment { text: string; bold: boolean; italic: boolean }\n\nfunction parseInlineSegments(line: string): Segment[] {\n const out: Segment[] = [];\n let bold = false;\n let italic = false;\n let buf = \"\";\n let i = 0;\n while (i < line.length) {\n const rest = line.slice(i);\n const m = /^<(\\/?)([bi])>/i.exec(rest);\n if (m) {\n if (buf) { out.push({ text: buf, bold, italic }); buf = \"\"; }\n const isClose = m[1] === \"/\";\n const tag = m[2]!.toLowerCase();\n if (tag === \"b\") bold = !isClose;\n else italic = !isClose;\n i += m[0].length;\n } else {\n buf += line[i];\n i++;\n }\n }\n if (buf) out.push({ text: buf, bold, italic });\n return out;\n}\n\nfunction segmentTspan(\n seg: Segment,\n extra: Attrs\n): string {\n const a: Attrs = { ...extra };\n if (seg.bold) a[\"font-weight\"] = \"bold\";\n if (seg.italic) a[\"font-style\"] = \"italic\";\n return el(\"tspan\", a, escapeXml(seg.text));\n}\n\n/** Splits on `<br/>`/`<br>`/`\\n` into vertically centered `<tspan>` rows. Honors inline `<b>`/`<i>` per segment. */\nexport function multilineText(\n attrs: Attrs & { x: number | string },\n content: string,\n lineHeight = 14\n): string {\n const lines = String(content).split(/<br\\s*\\/?>|\\n/i);\n const total = (lines.length - 1) * lineHeight;\n const tspans: string[] = [];\n lines.forEach((ln, lineIdx) => {\n const segs = parseInlineSegments(ln);\n const rendered = segs.length === 0 ? [{ text: \"\", bold: false, italic: false }] : segs;\n rendered.forEach((seg, segIdx) => {\n // Only the first segment of each line carries x + dy (line break);\n // subsequent segments inherit position and continue inline.\n const extra: Attrs = {};\n if (segIdx === 0) {\n extra.x = attrs.x;\n extra.dy = lineIdx === 0 ? -total / 2 : lineHeight;\n }\n tspans.push(segmentTspan(seg, extra));\n });\n });\n return el(\"text\", attrs, tspans.join(\"\"));\n}\n\nexport function title(content: string): string {\n return el(\"title\", {}, escapeXml(content));\n}\n\nexport function desc(content: string): string {\n return el(\"desc\", {}, escapeXml(content));\n}\n\nexport function pattern(attrs: Attrs, children: string[]): string {\n return el(\"pattern\", attrs, children);\n}\n\nexport function polygon(attrs: Attrs): string {\n return el(\"polygon\", attrs);\n}\n"]}