schematex 0.3.2 → 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 (171) 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-LFZZ4NCP.cjs → chunk-3WNW5Y7P.cjs} +48 -8
  12. package/dist/chunk-3WNW5Y7P.cjs.map +1 -0
  13. package/dist/{chunk-MKKFIPKU.cjs → chunk-55UEHL57.cjs} +46 -46
  14. package/dist/{chunk-MKKFIPKU.cjs.map → chunk-55UEHL57.cjs.map} +1 -1
  15. package/dist/{chunk-BJ65PKDU.js → chunk-5U2W3HQA.js} +3 -3
  16. package/dist/{chunk-BJ65PKDU.js.map → chunk-5U2W3HQA.js.map} +1 -1
  17. package/dist/{chunk-75BMFCP5.cjs → chunk-5UCXMYE7.cjs} +44 -44
  18. package/dist/{chunk-75BMFCP5.cjs.map → chunk-5UCXMYE7.cjs.map} +1 -1
  19. package/dist/{chunk-F6OROIHS.js → chunk-66XQBGX7.js} +3 -3
  20. package/dist/{chunk-F6OROIHS.js.map → chunk-66XQBGX7.js.map} +1 -1
  21. package/dist/{chunk-HIQPEAL7.js → chunk-6TIN33CA.js} +3 -3
  22. package/dist/{chunk-HIQPEAL7.js.map → chunk-6TIN33CA.js.map} +1 -1
  23. package/dist/{chunk-RNGYXGHS.js → chunk-6YUP3QMA.js} +19 -19
  24. package/dist/{chunk-RNGYXGHS.js.map → chunk-6YUP3QMA.js.map} +1 -1
  25. package/dist/{chunk-C3IVD7DI.cjs → chunk-7EWFVNYD.cjs} +25 -25
  26. package/dist/{chunk-C3IVD7DI.cjs.map → chunk-7EWFVNYD.cjs.map} +1 -1
  27. package/dist/{chunk-56LXBM45.js → chunk-AC3XH3LB.js} +4 -4
  28. package/dist/{chunk-56LXBM45.js.map → chunk-AC3XH3LB.js.map} +1 -1
  29. package/dist/{chunk-YTEEZV6J.cjs → chunk-APV4AWQ5.cjs} +422 -422
  30. package/dist/{chunk-YTEEZV6J.cjs.map → chunk-APV4AWQ5.cjs.map} +1 -1
  31. package/dist/{chunk-UK7JF5QB.cjs → chunk-AVIKQZSX.cjs} +37 -37
  32. package/dist/{chunk-UK7JF5QB.cjs.map → chunk-AVIKQZSX.cjs.map} +1 -1
  33. package/dist/{chunk-OK5RYX55.cjs → chunk-CWZKP3CJ.cjs} +26 -26
  34. package/dist/{chunk-OK5RYX55.cjs.map → chunk-CWZKP3CJ.cjs.map} +1 -1
  35. package/dist/{chunk-2J2QWNGI.js → chunk-FIVUMDLF.js} +26 -7
  36. package/dist/chunk-FIVUMDLF.js.map +1 -0
  37. package/dist/{chunk-ZTSO3S4P.js → chunk-FO7BLCEW.js} +3 -3
  38. package/dist/{chunk-ZTSO3S4P.js.map → chunk-FO7BLCEW.js.map} +1 -1
  39. package/dist/{chunk-6BKUD5EJ.js → chunk-GLFBHQSQ.js} +4 -4
  40. package/dist/{chunk-6BKUD5EJ.js.map → chunk-GLFBHQSQ.js.map} +1 -1
  41. package/dist/{chunk-ZNLEUL7T.js → chunk-GVCPFBAV.js} +4 -4
  42. package/dist/chunk-GVCPFBAV.js.map +1 -0
  43. package/dist/{chunk-KUXOHLGC.cjs → chunk-HOI6QKC6.cjs} +52 -52
  44. package/dist/{chunk-KUXOHLGC.cjs.map → chunk-HOI6QKC6.cjs.map} +1 -1
  45. package/dist/{chunk-L2KUGWFR.cjs → chunk-IAEABLIV.cjs} +46 -46
  46. package/dist/{chunk-L2KUGWFR.cjs.map → chunk-IAEABLIV.cjs.map} +1 -1
  47. package/dist/{chunk-M5ZC3LFJ.js → chunk-IQRRZPVZ.js} +3 -3
  48. package/dist/{chunk-M5ZC3LFJ.js.map → chunk-IQRRZPVZ.js.map} +1 -1
  49. package/dist/{chunk-H4CJTKEH.js → chunk-MNOO7STY.js} +5 -5
  50. package/dist/{chunk-H4CJTKEH.js.map → chunk-MNOO7STY.js.map} +1 -1
  51. package/dist/{chunk-XI6JOG76.cjs → chunk-N56YC75X.cjs} +45 -45
  52. package/dist/{chunk-XI6JOG76.cjs.map → chunk-N56YC75X.cjs.map} +1 -1
  53. package/dist/{chunk-X4F6VVEJ.js → chunk-PAG3BNIV.js} +3 -3
  54. package/dist/{chunk-X4F6VVEJ.js.map → chunk-PAG3BNIV.js.map} +1 -1
  55. package/dist/{chunk-W7GIQTJV.cjs → chunk-PG6TDGKI.cjs} +21 -21
  56. package/dist/{chunk-W7GIQTJV.cjs.map → chunk-PG6TDGKI.cjs.map} +1 -1
  57. package/dist/{chunk-7MVDN5UC.cjs → chunk-Q5OFA4I2.cjs} +35 -35
  58. package/dist/{chunk-7MVDN5UC.cjs.map → chunk-Q5OFA4I2.cjs.map} +1 -1
  59. package/dist/{chunk-BUN3CRMP.cjs → chunk-QOLBWCF5.cjs} +65 -65
  60. package/dist/{chunk-BUN3CRMP.cjs.map → chunk-QOLBWCF5.cjs.map} +1 -1
  61. package/dist/{chunk-2UJAVPA4.cjs → chunk-QXL7AY2H.cjs} +26 -26
  62. package/dist/{chunk-2UJAVPA4.cjs.map → chunk-QXL7AY2H.cjs.map} +1 -1
  63. package/dist/{chunk-WHJXRLFD.js → chunk-SYYBKDL7.js} +48 -8
  64. package/dist/chunk-SYYBKDL7.js.map +1 -0
  65. package/dist/{chunk-SE23X5OE.js → chunk-TQU44E46.js} +4 -4
  66. package/dist/{chunk-SE23X5OE.js.map → chunk-TQU44E46.js.map} +1 -1
  67. package/dist/{chunk-SFSZUOFT.js → chunk-U3KRKXF7.js} +3 -3
  68. package/dist/{chunk-SFSZUOFT.js.map → chunk-U3KRKXF7.js.map} +1 -1
  69. package/dist/{chunk-EYHD7LV3.cjs → chunk-UDGU73RL.cjs} +129 -129
  70. package/dist/{chunk-EYHD7LV3.cjs.map → chunk-UDGU73RL.cjs.map} +1 -1
  71. package/dist/{chunk-M3R6RCXY.js → chunk-UDJ2KN2A.js} +3 -3
  72. package/dist/{chunk-M3R6RCXY.js.map → chunk-UDJ2KN2A.js.map} +1 -1
  73. package/dist/{chunk-BJWMPPEA.js → chunk-UT4TIDAA.js} +3 -3
  74. package/dist/{chunk-BJWMPPEA.js.map → chunk-UT4TIDAA.js.map} +1 -1
  75. package/dist/{chunk-RODV6PC4.cjs → chunk-UWRTV6IV.cjs} +7 -7
  76. package/dist/{chunk-RODV6PC4.cjs.map → chunk-UWRTV6IV.cjs.map} +1 -1
  77. package/dist/{chunk-IT2TVXC7.js → chunk-WTF6JXHN.js} +4 -4
  78. package/dist/{chunk-IT2TVXC7.js.map → chunk-WTF6JXHN.js.map} +1 -1
  79. package/dist/{chunk-7BEJHG43.js → chunk-X5QJO4ZD.js} +3 -3
  80. package/dist/{chunk-7BEJHG43.js.map → chunk-X5QJO4ZD.js.map} +1 -1
  81. package/dist/{chunk-NFT6VW73.js → chunk-XV2DTN6G.js} +3 -3
  82. package/dist/{chunk-NFT6VW73.js.map → chunk-XV2DTN6G.js.map} +1 -1
  83. package/dist/{chunk-XUEROLSB.cjs → chunk-YUPG2M3I.cjs} +16 -16
  84. package/dist/chunk-YUPG2M3I.cjs.map +1 -0
  85. package/dist/{chunk-K5QG53GT.cjs → chunk-ZCW7YH3C.cjs} +26 -26
  86. package/dist/{chunk-K5QG53GT.cjs.map → chunk-ZCW7YH3C.cjs.map} +1 -1
  87. package/dist/{chunk-GYTWJ6VB.cjs → chunk-ZFNZ2FYI.cjs} +67 -48
  88. package/dist/chunk-ZFNZ2FYI.cjs.map +1 -0
  89. package/dist/{chunk-3YXXZ4LT.cjs → chunk-ZZJDGGC3.cjs} +33 -33
  90. package/dist/{chunk-3YXXZ4LT.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-dWDwG6BW.d.ts → index-D3u6vcA4.d.ts} +1 -1
  156. package/dist/{index-BrLxEzSQ.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.js +19 -19
  163. package/dist/{types-BtiUg7Gx.d.cts → types-DnU2UlWz.d.cts} +2 -0
  164. package/dist/{types-BtiUg7Gx.d.ts → types-DnU2UlWz.d.ts} +2 -0
  165. package/package.json +1 -1
  166. package/dist/chunk-2J2QWNGI.js.map +0 -1
  167. package/dist/chunk-GYTWJ6VB.cjs.map +0 -1
  168. package/dist/chunk-LFZZ4NCP.cjs.map +0 -1
  169. package/dist/chunk-WHJXRLFD.js.map +0 -1
  170. package/dist/chunk-XUEROLSB.cjs.map +0 -1
  171. package/dist/chunk-ZNLEUL7T.js.map +0 -1
@@ -1,26 +1,26 @@
1
1
  'use strict';
2
2
 
3
- var chunkRODV6PC4_cjs = require('../chunk-RODV6PC4.cjs');
4
- require('../chunk-YTEEZV6J.cjs');
5
- require('../chunk-L2KUGWFR.cjs');
6
- require('../chunk-XUEROLSB.cjs');
7
- require('../chunk-2UJAVPA4.cjs');
8
- require('../chunk-MKKFIPKU.cjs');
9
- require('../chunk-EYHD7LV3.cjs');
10
- require('../chunk-XI6JOG76.cjs');
11
- require('../chunk-3YXXZ4LT.cjs');
12
- require('../chunk-W7GIQTJV.cjs');
13
- require('../chunk-GYTWJ6VB.cjs');
14
- require('../chunk-BUN3CRMP.cjs');
15
- require('../chunk-UK7JF5QB.cjs');
16
- require('../chunk-KUXOHLGC.cjs');
17
- require('../chunk-OK5RYX55.cjs');
18
- require('../chunk-C3IVD7DI.cjs');
19
- require('../chunk-75BMFCP5.cjs');
20
- require('../chunk-K5QG53GT.cjs');
21
- require('../chunk-7MVDN5UC.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-LFZZ4NCP.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 () => chunkRODV6PC4_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 }) => chunkRODV6PC4_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) => chunkRODV6PC4_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 }) => chunkRODV6PC4_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
- }) => chunkRODV6PC4_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-BtiUg7Gx.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-BtiUg7Gx.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-H4CJTKEH.js';
2
- import '../chunk-RNGYXGHS.js';
3
- import '../chunk-SFSZUOFT.js';
4
- import '../chunk-ZNLEUL7T.js';
5
- import '../chunk-F6OROIHS.js';
6
- import '../chunk-M3R6RCXY.js';
7
- import '../chunk-BJWMPPEA.js';
8
- import '../chunk-NFT6VW73.js';
9
- import '../chunk-7BEJHG43.js';
10
- import '../chunk-BJ65PKDU.js';
11
- import '../chunk-2J2QWNGI.js';
12
- import '../chunk-SE23X5OE.js';
13
- import '../chunk-IT2TVXC7.js';
14
- import '../chunk-6BKUD5EJ.js';
15
- import '../chunk-X4F6VVEJ.js';
16
- import '../chunk-56LXBM45.js';
17
- import '../chunk-ZTSO3S4P.js';
18
- import '../chunk-HIQPEAL7.js';
19
- import '../chunk-M5ZC3LFJ.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-WHJXRLFD.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 chunkRODV6PC4_cjs = require('../chunk-RODV6PC4.cjs');
4
- require('../chunk-YTEEZV6J.cjs');
5
- require('../chunk-L2KUGWFR.cjs');
6
- require('../chunk-XUEROLSB.cjs');
7
- require('../chunk-2UJAVPA4.cjs');
8
- require('../chunk-MKKFIPKU.cjs');
9
- require('../chunk-EYHD7LV3.cjs');
10
- require('../chunk-XI6JOG76.cjs');
11
- require('../chunk-3YXXZ4LT.cjs');
12
- require('../chunk-W7GIQTJV.cjs');
13
- require('../chunk-GYTWJ6VB.cjs');
14
- require('../chunk-BUN3CRMP.cjs');
15
- require('../chunk-UK7JF5QB.cjs');
16
- require('../chunk-KUXOHLGC.cjs');
17
- require('../chunk-OK5RYX55.cjs');
18
- require('../chunk-C3IVD7DI.cjs');
19
- require('../chunk-75BMFCP5.cjs');
20
- require('../chunk-K5QG53GT.cjs');
21
- require('../chunk-7MVDN5UC.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-LFZZ4NCP.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 chunkRODV6PC4_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 chunkRODV6PC4_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 chunkRODV6PC4_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 chunkRODV6PC4_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 chunkRODV6PC4_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 chunkRODV6PC4_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 chunkRODV6PC4_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 chunkRODV6PC4_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-BtiUg7Gx.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-BtiUg7Gx.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-H4CJTKEH.js';
2
- import '../chunk-RNGYXGHS.js';
3
- import '../chunk-SFSZUOFT.js';
4
- import '../chunk-ZNLEUL7T.js';
5
- import '../chunk-F6OROIHS.js';
6
- import '../chunk-M3R6RCXY.js';
7
- import '../chunk-BJWMPPEA.js';
8
- import '../chunk-NFT6VW73.js';
9
- import '../chunk-7BEJHG43.js';
10
- import '../chunk-BJ65PKDU.js';
11
- import '../chunk-2J2QWNGI.js';
12
- import '../chunk-SE23X5OE.js';
13
- import '../chunk-IT2TVXC7.js';
14
- import '../chunk-6BKUD5EJ.js';
15
- import '../chunk-X4F6VVEJ.js';
16
- import '../chunk-56LXBM45.js';
17
- import '../chunk-ZTSO3S4P.js';
18
- import '../chunk-HIQPEAL7.js';
19
- import '../chunk-M5ZC3LFJ.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-WHJXRLFD.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 chunkYTEEZV6J_cjs = require('./chunk-YTEEZV6J.cjs');
4
- require('./chunk-L2KUGWFR.cjs');
5
- require('./chunk-XUEROLSB.cjs');
6
- require('./chunk-2UJAVPA4.cjs');
7
- require('./chunk-MKKFIPKU.cjs');
8
- require('./chunk-EYHD7LV3.cjs');
9
- require('./chunk-XI6JOG76.cjs');
10
- require('./chunk-3YXXZ4LT.cjs');
11
- require('./chunk-W7GIQTJV.cjs');
12
- require('./chunk-GYTWJ6VB.cjs');
13
- require('./chunk-BUN3CRMP.cjs');
14
- require('./chunk-UK7JF5QB.cjs');
15
- require('./chunk-KUXOHLGC.cjs');
16
- require('./chunk-OK5RYX55.cjs');
17
- require('./chunk-C3IVD7DI.cjs');
18
- require('./chunk-75BMFCP5.cjs');
19
- require('./chunk-K5QG53GT.cjs');
20
- require('./chunk-7MVDN5UC.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-LFZZ4NCP.cjs');
22
+ require('./chunk-3WNW5Y7P.cjs');
23
23
 
24
24
  // src/browser.ts
25
25
  function renderToElement(text, config) {
26
- const svgString = chunkYTEEZV6J_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 = chunkYTEEZV6J_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 chunkYTEEZV6J_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-RNGYXGHS.js';
2
- export { render } from './chunk-RNGYXGHS.js';
3
- import './chunk-SFSZUOFT.js';
4
- import './chunk-ZNLEUL7T.js';
5
- import './chunk-F6OROIHS.js';
6
- import './chunk-M3R6RCXY.js';
7
- import './chunk-BJWMPPEA.js';
8
- import './chunk-NFT6VW73.js';
9
- import './chunk-7BEJHG43.js';
10
- import './chunk-BJ65PKDU.js';
11
- import './chunk-2J2QWNGI.js';
12
- import './chunk-SE23X5OE.js';
13
- import './chunk-IT2TVXC7.js';
14
- import './chunk-6BKUD5EJ.js';
15
- import './chunk-X4F6VVEJ.js';
16
- import './chunk-56LXBM45.js';
17
- import './chunk-ZTSO3S4P.js';
18
- import './chunk-HIQPEAL7.js';
19
- import './chunk-M5ZC3LFJ.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-WHJXRLFD.js';
21
+ import './chunk-SYYBKDL7.js';
22
22
 
23
23
  // src/browser.ts
24
24
  function renderToElement(text, config) {
@@ -55,14 +55,54 @@ 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
+ }
58
91
  function multilineText(attrs, content, lineHeight = 14) {
59
- const stripped = String(content).replace(/<\/?[bi]>/gi, "");
60
- const lines = stripped.split(/<br\s*\/?>|\n/i);
61
- if (lines.length <= 1) return text(attrs, lines[0] ?? "");
92
+ const lines = String(content).split(/<br\s*\/?>|\n/i);
62
93
  const total = (lines.length - 1) * lineHeight;
63
- const tspans = lines.map((ln, i) => {
64
- const dy = i === 0 ? -total / 2 : lineHeight;
65
- return el("tspan", { x: attrs.x, dy }, escapeXml(ln));
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
+ });
66
106
  });
67
107
  return el("text", attrs, tspans.join(""));
68
108
  }
@@ -94,5 +134,5 @@ exports.rect = rect;
94
134
  exports.svgRoot = svgRoot;
95
135
  exports.text = text;
96
136
  exports.title = title;
97
- //# sourceMappingURL=chunk-LFZZ4NCP.cjs.map
98
- //# sourceMappingURL=chunk-LFZZ4NCP.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"]}