@zihanw/pi-forge 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/CHANGELOG.md +41 -1
  2. package/README.md +11 -11
  3. package/README.zh-CN.md +3 -5
  4. package/SUBAGENT_ADAPTER_CONTRACT.md +3 -1
  5. package/dist/agent-profile.d.ts +18 -62
  6. package/dist/agent-profile.d.ts.map +1 -1
  7. package/dist/agent-profile.js +27 -249
  8. package/dist/agent-profile.js.map +1 -1
  9. package/dist/codecs/agent-profile.d.ts +53 -0
  10. package/dist/codecs/agent-profile.d.ts.map +1 -0
  11. package/dist/codecs/agent-profile.js +176 -0
  12. package/dist/codecs/agent-profile.js.map +1 -0
  13. package/dist/codecs/index.d.ts +5 -0
  14. package/dist/codecs/index.d.ts.map +1 -0
  15. package/dist/codecs/index.js +3 -0
  16. package/dist/codecs/index.js.map +1 -0
  17. package/dist/codecs/prompt-stack.d.ts +18 -0
  18. package/dist/codecs/prompt-stack.d.ts.map +1 -0
  19. package/dist/codecs/prompt-stack.js +479 -0
  20. package/dist/codecs/prompt-stack.js.map +1 -0
  21. package/dist/compile-cycle.d.ts +18 -0
  22. package/dist/compile-cycle.d.ts.map +1 -0
  23. package/dist/compile-cycle.js +13 -0
  24. package/dist/compile-cycle.js.map +1 -0
  25. package/dist/compiler.d.ts +10 -4
  26. package/dist/compiler.d.ts.map +1 -1
  27. package/dist/compiler.js +53 -19
  28. package/dist/compiler.js.map +1 -1
  29. package/dist/extension-registry.d.ts.map +1 -1
  30. package/dist/extension-registry.js +5 -2
  31. package/dist/extension-registry.js.map +1 -1
  32. package/dist/forge-config.d.ts +0 -105
  33. package/dist/forge-config.d.ts.map +1 -1
  34. package/dist/forge-config.js +1 -313
  35. package/dist/forge-config.js.map +1 -1
  36. package/dist/forge-v1/analyzer.d.ts +3 -0
  37. package/dist/forge-v1/analyzer.d.ts.map +1 -0
  38. package/dist/forge-v1/analyzer.js +50 -0
  39. package/dist/forge-v1/analyzer.js.map +1 -0
  40. package/dist/forge-v1/index.d.ts +6 -0
  41. package/dist/forge-v1/index.d.ts.map +1 -0
  42. package/dist/forge-v1/index.js +13 -0
  43. package/dist/forge-v1/index.js.map +1 -0
  44. package/dist/forge-v1/parser.d.ts +3 -0
  45. package/dist/forge-v1/parser.d.ts.map +1 -0
  46. package/dist/forge-v1/parser.js +186 -0
  47. package/dist/forge-v1/parser.js.map +1 -0
  48. package/dist/forge-v1/renderer.d.ts +9 -0
  49. package/dist/forge-v1/renderer.d.ts.map +1 -0
  50. package/dist/forge-v1/renderer.js +181 -0
  51. package/dist/forge-v1/renderer.js.map +1 -0
  52. package/dist/forge-v1/types.d.ts +87 -0
  53. package/dist/forge-v1/types.d.ts.map +1 -0
  54. package/dist/forge-v1/types.js +4 -0
  55. package/dist/forge-v1/types.js.map +1 -0
  56. package/dist/index.d.ts +12 -12
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +49 -81
  59. package/dist/index.js.map +1 -1
  60. package/dist/lifecycle.d.ts +6 -5
  61. package/dist/lifecycle.d.ts.map +1 -1
  62. package/dist/lifecycle.js +43 -112
  63. package/dist/lifecycle.js.map +1 -1
  64. package/dist/loader.d.ts +5 -8
  65. package/dist/loader.d.ts.map +1 -1
  66. package/dist/loader.js +10 -467
  67. package/dist/loader.js.map +1 -1
  68. package/dist/macro-engine.d.ts +9 -14
  69. package/dist/macro-engine.d.ts.map +1 -1
  70. package/dist/macro-engine.js +5 -238
  71. package/dist/macro-engine.js.map +1 -1
  72. package/dist/payload-command.d.ts +6 -6
  73. package/dist/payload-command.d.ts.map +1 -1
  74. package/dist/payload-command.js.map +1 -1
  75. package/dist/payload-state.d.ts +16 -0
  76. package/dist/payload-state.d.ts.map +1 -0
  77. package/dist/payload-state.js +14 -0
  78. package/dist/payload-state.js.map +1 -0
  79. package/dist/preset-command.d.ts +4 -4
  80. package/dist/preset-command.d.ts.map +1 -1
  81. package/dist/preset-command.js +33 -104
  82. package/dist/preset-command.js.map +1 -1
  83. package/dist/preview.d.ts +4 -4
  84. package/dist/preview.d.ts.map +1 -1
  85. package/dist/preview.js +17 -8
  86. package/dist/preview.js.map +1 -1
  87. package/dist/profile-command.d.ts +2 -2
  88. package/dist/profile-command.d.ts.map +1 -1
  89. package/dist/profile-command.js +15 -14
  90. package/dist/profile-command.js.map +1 -1
  91. package/dist/profile-service.d.ts.map +1 -1
  92. package/dist/profile-service.js +23 -39
  93. package/dist/profile-service.js.map +1 -1
  94. package/dist/prompt-analysis.d.ts +24 -0
  95. package/dist/prompt-analysis.d.ts.map +1 -0
  96. package/dist/prompt-analysis.js +84 -0
  97. package/dist/prompt-analysis.js.map +1 -0
  98. package/dist/prompt-runtime.d.ts +19 -0
  99. package/dist/prompt-runtime.d.ts.map +1 -0
  100. package/dist/prompt-runtime.js +30 -0
  101. package/dist/prompt-runtime.js.map +1 -0
  102. package/dist/regex.js +6 -12
  103. package/dist/regex.js.map +1 -1
  104. package/dist/render-helpers.d.ts +2 -10
  105. package/dist/render-helpers.d.ts.map +1 -1
  106. package/dist/render-helpers.js +3 -53
  107. package/dist/render-helpers.js.map +1 -1
  108. package/dist/repositories/agent-profile.d.ts +36 -0
  109. package/dist/repositories/agent-profile.d.ts.map +1 -0
  110. package/dist/repositories/agent-profile.js +153 -0
  111. package/dist/repositories/agent-profile.js.map +1 -0
  112. package/dist/repositories/index.d.ts +3 -0
  113. package/dist/repositories/index.d.ts.map +1 -0
  114. package/dist/repositories/index.js +3 -0
  115. package/dist/repositories/index.js.map +1 -0
  116. package/dist/repositories/prompt-stack.d.ts +57 -0
  117. package/dist/repositories/prompt-stack.d.ts.map +1 -0
  118. package/dist/repositories/prompt-stack.js +175 -0
  119. package/dist/repositories/prompt-stack.js.map +1 -0
  120. package/dist/runtime/profile-runtime.d.ts +2 -2
  121. package/dist/runtime/profile-runtime.d.ts.map +1 -1
  122. package/dist/runtime/profile-runtime.js +13 -10
  123. package/dist/runtime/profile-runtime.js.map +1 -1
  124. package/dist/runtime/prompt-stack-runtime.d.ts +4 -3
  125. package/dist/runtime/prompt-stack-runtime.d.ts.map +1 -1
  126. package/dist/runtime/prompt-stack-runtime.js +42 -57
  127. package/dist/runtime/prompt-stack-runtime.js.map +1 -1
  128. package/dist/runtime/tool-policy-runtime.d.ts +2 -2
  129. package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
  130. package/dist/runtime/tool-policy-runtime.js +3 -3
  131. package/dist/runtime/tool-policy-runtime.js.map +1 -1
  132. package/dist/session-adapter.d.ts +17 -0
  133. package/dist/session-adapter.d.ts.map +1 -0
  134. package/dist/session-adapter.js +57 -0
  135. package/dist/session-adapter.js.map +1 -0
  136. package/dist/slot-renderers.d.ts +16 -3
  137. package/dist/slot-renderers.d.ts.map +1 -1
  138. package/dist/slot-renderers.js +15 -63
  139. package/dist/slot-renderers.js.map +1 -1
  140. package/dist/stack-migration.d.ts +6 -0
  141. package/dist/stack-migration.d.ts.map +1 -1
  142. package/dist/stack-migration.js +49 -52
  143. package/dist/stack-migration.js.map +1 -1
  144. package/dist/subagent/fingerprints.d.ts +24 -0
  145. package/dist/subagent/fingerprints.d.ts.map +1 -0
  146. package/dist/subagent/fingerprints.js +81 -0
  147. package/dist/subagent/fingerprints.js.map +1 -0
  148. package/dist/subagent/host-port.d.ts +296 -0
  149. package/dist/subagent/host-port.d.ts.map +1 -0
  150. package/dist/subagent/host-port.js +560 -0
  151. package/dist/subagent/host-port.js.map +1 -0
  152. package/dist/subagent/index.d.ts +10 -10
  153. package/dist/subagent/index.d.ts.map +1 -1
  154. package/dist/subagent/index.js +9 -10
  155. package/dist/subagent/index.js.map +1 -1
  156. package/dist/subagent-host.d.ts +99 -18
  157. package/dist/subagent-host.d.ts.map +1 -1
  158. package/dist/subagent-host.js +143 -146
  159. package/dist/subagent-host.js.map +1 -1
  160. package/dist/template-render.d.ts +18 -0
  161. package/dist/template-render.d.ts.map +1 -0
  162. package/dist/template-render.js +232 -0
  163. package/dist/template-render.js.map +1 -0
  164. package/dist/types.d.ts +40 -27
  165. package/dist/types.d.ts.map +1 -1
  166. package/dist/types.js.map +1 -1
  167. package/dist/web-editor/client-script.generated.d.ts.map +1 -1
  168. package/dist/web-editor/client-script.generated.js +1 -1
  169. package/dist/web-editor/client-script.generated.js.map +1 -1
  170. package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
  171. package/dist/web-editor/client-styles.generated.js +1 -1
  172. package/dist/web-editor/client-styles.generated.js.map +1 -1
  173. package/dist/web-editor/server.d.ts.map +1 -1
  174. package/dist/web-editor/server.js +1 -68
  175. package/dist/web-editor/server.js.map +1 -1
  176. package/dist/web-editor/styles.d.ts.map +1 -1
  177. package/dist/web-editor/styles.js +13 -0
  178. package/dist/web-editor/styles.js.map +1 -1
  179. package/dist/web-editor/types.d.ts +0 -35
  180. package/dist/web-editor/types.d.ts.map +1 -1
  181. package/dist/web-host.d.ts +4 -2
  182. package/dist/web-host.d.ts.map +1 -1
  183. package/dist/web-host.js +32 -103
  184. package/dist/web-host.js.map +1 -1
  185. package/dist/workspace.d.ts +74 -0
  186. package/dist/workspace.d.ts.map +1 -0
  187. package/dist/workspace.js +351 -0
  188. package/dist/workspace.js.map +1 -0
  189. package/docs/README.md +6 -4
  190. package/docs/concepts/agent-profiles.md +1 -1
  191. package/docs/concepts/prompt-stacks.md +5 -5
  192. package/docs/design/README.md +21 -3
  193. package/docs/design/architecture-0.5.md +211 -0
  194. package/docs/design/archive/0.5-full-proposal/0.5-consumer-audit.md +62 -0
  195. package/docs/design/archive/0.5-full-proposal/0.5-inventory.md +208 -0
  196. package/docs/design/archive/0.5-full-proposal/0.5-phase0-decision-drafts.md +237 -0
  197. package/docs/design/archive/0.5-full-proposal/README.md +12 -0
  198. package/docs/design/archive/0.5-full-proposal/architecture-0.5.md +423 -0
  199. package/docs/design/archive/0.5-full-proposal/host-discovery-spike.md +103 -0
  200. package/docs/design/archive/0.5-full-proposal/template-language-spike.md +156 -0
  201. package/docs/design/context-diff-plan.md +72 -0
  202. package/docs/design/decision-template.md +33 -0
  203. package/docs/design/roadmap-0.4-archive.md +1 -1
  204. package/docs/design/subagents/interface-design.md +1 -1
  205. package/docs/development/architecture-rules.md +148 -0
  206. package/docs/development/roadmap.md +37 -5
  207. package/docs/development/scoped-global-profiles-stacks.md +1 -1
  208. package/docs/development/setup.md +6 -4
  209. package/docs/getting-started.md +5 -4
  210. package/docs/guides/custom-macros-and-slots.md +8 -7
  211. package/docs/guides/debugging.md +1 -1
  212. package/docs/guides/delegation.md +18 -22
  213. package/docs/guides/migrating-to-0.5.md +107 -0
  214. package/docs/guides/use-cases.md +7 -11
  215. package/docs/guides/web-editor.md +5 -9
  216. package/docs/reference/commands.md +4 -3
  217. package/docs/reference/configuration.md +17 -18
  218. package/docs/reference/features.md +34 -80
  219. package/docs/reference/macros-and-slots.md +70 -49
  220. package/docs/reference/public-api.md +64 -17
  221. package/docs/reference/stack-schema.md +14 -9
  222. package/docs/reference/subagent-host-port.md +49 -0
  223. package/docs/zh-CN/README.md +3 -3
  224. package/docs/zh-CN/concepts/agent-profiles.md +1 -1
  225. package/docs/zh-CN/concepts/prompt-stacks.md +4 -4
  226. package/docs/zh-CN/getting-started.md +3 -2
  227. package/docs/zh-CN/guides/delegation.md +10 -12
  228. package/docs/zh-CN/guides/migrating-to-0.5.md +92 -0
  229. package/docs/zh-CN/guides/web-editor.md +4 -4
  230. package/docs/zh-CN/reference/commands.md +3 -2
  231. package/examples/custom-system-status-extension/README.md +3 -3
  232. package/examples/custom-system-status-extension/index.ts +2 -1
  233. package/examples/custom-system-status-extension/prompt-stack.json +4 -3
  234. package/examples/default-prompt-stack.json +9 -4
  235. package/examples/image-reader-prompt-stack.json +16 -26
  236. package/examples/reviewer-prompt-stack.json +13 -24
  237. package/package.json +101 -120
  238. package/dist/runtime/subagent-runtime.d.ts +0 -45
  239. package/dist/runtime/subagent-runtime.d.ts.map +0 -1
  240. package/dist/runtime/subagent-runtime.js +0 -343
  241. package/dist/runtime/subagent-runtime.js.map +0 -1
  242. package/dist/runtime-state.d.ts +0 -30
  243. package/dist/runtime-state.d.ts.map +0 -1
  244. package/dist/runtime-state.js +0 -17
  245. package/dist/runtime-state.js.map +0 -1
  246. package/dist/sillytavern-importer/items.d.ts +0 -3
  247. package/dist/sillytavern-importer/items.d.ts.map +0 -1
  248. package/dist/sillytavern-importer/items.js +0 -88
  249. package/dist/sillytavern-importer/items.js.map +0 -1
  250. package/dist/sillytavern-importer/macros.d.ts +0 -15
  251. package/dist/sillytavern-importer/macros.d.ts.map +0 -1
  252. package/dist/sillytavern-importer/macros.js +0 -141
  253. package/dist/sillytavern-importer/macros.js.map +0 -1
  254. package/dist/sillytavern-importer/prompt-order.d.ts +0 -6
  255. package/dist/sillytavern-importer/prompt-order.d.ts.map +0 -1
  256. package/dist/sillytavern-importer/prompt-order.js +0 -38
  257. package/dist/sillytavern-importer/prompt-order.js.map +0 -1
  258. package/dist/sillytavern-importer/regex.d.ts +0 -3
  259. package/dist/sillytavern-importer/regex.d.ts.map +0 -1
  260. package/dist/sillytavern-importer/regex.js +0 -275
  261. package/dist/sillytavern-importer/regex.js.map +0 -1
  262. package/dist/sillytavern-importer/report.d.ts +0 -21
  263. package/dist/sillytavern-importer/report.d.ts.map +0 -1
  264. package/dist/sillytavern-importer/report.js +0 -166
  265. package/dist/sillytavern-importer/report.js.map +0 -1
  266. package/dist/sillytavern-importer/types.d.ts +0 -106
  267. package/dist/sillytavern-importer/types.d.ts.map +0 -1
  268. package/dist/sillytavern-importer/types.js +0 -2
  269. package/dist/sillytavern-importer/types.js.map +0 -1
  270. package/dist/sillytavern-importer.d.ts +0 -5
  271. package/dist/sillytavern-importer.d.ts.map +0 -1
  272. package/dist/sillytavern-importer.js +0 -117
  273. package/dist/sillytavern-importer.js.map +0 -1
  274. package/dist/subagent/canonical.d.ts +0 -22
  275. package/dist/subagent/canonical.d.ts.map +0 -1
  276. package/dist/subagent/canonical.js +0 -24
  277. package/dist/subagent/canonical.js.map +0 -1
  278. package/dist/subagent/context.d.ts +0 -8
  279. package/dist/subagent/context.d.ts.map +0 -1
  280. package/dist/subagent/context.js +0 -125
  281. package/dist/subagent/context.js.map +0 -1
  282. package/dist/subagent/contract.d.ts +0 -10
  283. package/dist/subagent/contract.d.ts.map +0 -1
  284. package/dist/subagent/contract.js +0 -10
  285. package/dist/subagent/contract.js.map +0 -1
  286. package/dist/subagent/plan.d.ts +0 -18
  287. package/dist/subagent/plan.d.ts.map +0 -1
  288. package/dist/subagent/plan.js +0 -157
  289. package/dist/subagent/plan.js.map +0 -1
  290. package/dist/subagent/preflight.d.ts +0 -4
  291. package/dist/subagent/preflight.d.ts.map +0 -1
  292. package/dist/subagent/preflight.js +0 -108
  293. package/dist/subagent/preflight.js.map +0 -1
  294. package/dist/subagent/request.d.ts +0 -4
  295. package/dist/subagent/request.d.ts.map +0 -1
  296. package/dist/subagent/request.js +0 -154
  297. package/dist/subagent/request.js.map +0 -1
  298. package/dist/subagent/response.d.ts +0 -8
  299. package/dist/subagent/response.d.ts.map +0 -1
  300. package/dist/subagent/response.js +0 -155
  301. package/dist/subagent/response.js.map +0 -1
  302. package/dist/subagent/tools.d.ts +0 -4
  303. package/dist/subagent/tools.d.ts.map +0 -1
  304. package/dist/subagent/tools.js +0 -42
  305. package/dist/subagent/tools.js.map +0 -1
  306. package/dist/subagent/types.d.ts +0 -272
  307. package/dist/subagent/types.d.ts.map +0 -1
  308. package/dist/subagent/types.js +0 -3
  309. package/dist/subagent/types.js.map +0 -1
  310. package/dist/subagent/validation.d.ts +0 -35
  311. package/dist/subagent/validation.d.ts.map +0 -1
  312. package/dist/subagent/validation.js +0 -314
  313. package/dist/subagent/validation.js.map +0 -1
  314. package/dist/subagent-command.d.ts +0 -5
  315. package/dist/subagent-command.d.ts.map +0 -1
  316. package/dist/subagent-command.js +0 -249
  317. package/dist/subagent-command.js.map +0 -1
  318. package/dist/subagent-profile-tool.d.ts +0 -49
  319. package/dist/subagent-profile-tool.d.ts.map +0 -1
  320. package/dist/subagent-profile-tool.js +0 -125
  321. package/dist/subagent-profile-tool.js.map +0 -1
  322. package/dist/subagent-tool.d.ts +0 -77
  323. package/dist/subagent-tool.d.ts.map +0 -1
  324. package/dist/subagent-tool.js +0 -559
  325. package/dist/subagent-tool.js.map +0 -1
  326. package/docs/guides/sillytavern-import.md +0 -47
  327. package/docs/reference/subagent-adapter.md +0 -204
  328. package/examples/sillytavern-dm-writer-prompt-stack.json +0 -190
@@ -1,275 +0,0 @@
1
- const ST_REGEX_PLACEMENT_LABELS = {
2
- 0: "MD Display",
3
- 1: "User Input",
4
- 2: "AI Output",
5
- 3: "Slash Commands",
6
- 5: "World Info",
7
- 6: "Reasoning",
8
- };
9
- export function summarizeRegexScripts(preset) {
10
- const rawScripts = preset.extensions?.regex_scripts;
11
- if (!Array.isArray(rawScripts))
12
- return undefined;
13
- const scripts = rawScripts
14
- .map((raw, index) => classifyRegexScript(raw, index))
15
- .filter((script) => script !== undefined);
16
- const report = {
17
- total: scripts.length,
18
- enabled: 0,
19
- disabled: 0,
20
- promptOnly: 0,
21
- markdownOnly: 0,
22
- mixed: 0,
23
- unspecified: 0,
24
- converted: 0,
25
- scripts,
26
- rules: [],
27
- };
28
- const seenRuleIds = new Set();
29
- for (const [index, script] of scripts.entries()) {
30
- const conversion = convertPromptOnlyRegexScript(script, index, seenRuleIds);
31
- if (conversion.rule) {
32
- report.rules.push(conversion.rule);
33
- report.converted++;
34
- script.convertedRuleId = conversion.rule.id;
35
- }
36
- else if (conversion.note) {
37
- script.conversionNote = conversion.note;
38
- }
39
- if (!script.enabled) {
40
- report.disabled++;
41
- continue;
42
- }
43
- report.enabled++;
44
- if (script.mode === "prompt-only")
45
- report.promptOnly++;
46
- else if (script.mode === "markdown-only")
47
- report.markdownOnly++;
48
- else if (script.mode === "prompt+markdown")
49
- report.mixed++;
50
- else if (script.mode === "unspecified")
51
- report.unspecified++;
52
- }
53
- return report;
54
- }
55
- function classifyRegexScript(raw, index) {
56
- if (!raw || typeof raw !== "object" || Array.isArray(raw))
57
- return undefined;
58
- const script = raw;
59
- const enabled = script.disabled !== true;
60
- const promptOnly = script.promptOnly === true;
61
- const markdownOnly = script.markdownOnly === true;
62
- const mode = enabled
63
- ? promptOnly && markdownOnly
64
- ? "prompt+markdown"
65
- : promptOnly
66
- ? "prompt-only"
67
- : markdownOnly
68
- ? "markdown-only"
69
- : "unspecified"
70
- : "disabled";
71
- return {
72
- name: firstString(script.script_name, script.scriptName, script.name) ?? `regex-${index + 1}`,
73
- mode,
74
- enabled,
75
- promptOnly,
76
- markdownOnly,
77
- findRegex: firstString(script.findRegex),
78
- replaceString: firstString(script.replaceString),
79
- trimStrings: normalizeTrimStrings(script.trimStrings),
80
- placement: normalizeNumberArray(script.placement),
81
- substituteRegex: normalizeNumber(script.substituteRegex),
82
- minDepth: normalizeDepth(script.minDepth, -1),
83
- maxDepth: normalizeDepth(script.maxDepth, 0),
84
- conversionWarnings: [],
85
- };
86
- }
87
- function convertPromptOnlyRegexScript(entry, index, seenRuleIds) {
88
- if (!entry.promptOnly)
89
- return { note: entry.enabled ? "not prompt-only" : "disabled non-prompt script" };
90
- if (entry.markdownOnly)
91
- return { note: "mixed prompt/display script requires review" };
92
- if (!entry.findRegex)
93
- return { note: "missing findRegex" };
94
- const parsed = parseSillyTavernRegex(entry.findRegex);
95
- if ("error" in parsed)
96
- return { note: parsed.error };
97
- if (entry.placement && entry.placement.length > 0 && !entry.placement.some((placement) => placement === 1 || placement === 2)) {
98
- return { note: "placement has no pi-forge runtime mapping" };
99
- }
100
- const replacement = normalizeSillyTavernReplacement(entry.replaceString ?? "", entry.conversionWarnings);
101
- const roles = rolesForSillyTavernPlacement(entry.placement, entry.conversionWarnings);
102
- if (entry.substituteRegex && entry.substituteRegex !== 0) {
103
- entry.conversionWarnings.push("substituteRegex is preserved as metadata but dynamic find-regex macro substitution is not executed");
104
- }
105
- for (const placement of entry.placement ?? []) {
106
- if (placement !== 1 && placement !== 2) {
107
- entry.conversionWarnings.push(`placement ${placementLabel(placement)} is preserved as metadata but not directly mapped`);
108
- }
109
- }
110
- const id = uniqueRegexRuleId(`st-${entry.name || `regex-${index + 1}`}`, seenRuleIds);
111
- const rule = {
112
- id,
113
- name: entry.name,
114
- enabled: entry.enabled,
115
- stage: "history",
116
- effect: "outgoing",
117
- pattern: parsed.pattern,
118
- replace: replacement,
119
- source: {
120
- sillytavern: {
121
- scriptName: entry.name,
122
- findRegex: entry.findRegex,
123
- replaceString: entry.replaceString ?? "",
124
- trimStrings: entry.trimStrings ?? [],
125
- placement: entry.placement ?? [],
126
- placementNames: (entry.placement ?? []).map(placementLabel),
127
- promptOnly: entry.promptOnly,
128
- markdownOnly: entry.markdownOnly,
129
- substituteRegex: entry.substituteRegex ?? 0,
130
- minDepth: entry.minDepth,
131
- maxDepth: entry.maxDepth,
132
- },
133
- },
134
- };
135
- if (parsed.flags)
136
- rule.flags = parsed.flags;
137
- if (entry.trimStrings && entry.trimStrings.length > 0)
138
- rule.trimStrings = entry.trimStrings;
139
- if (roles && roles.length > 0)
140
- rule.roles = roles;
141
- if (isNonNegativeInteger(entry.minDepth))
142
- rule.minDepth = entry.minDepth;
143
- if (isNonNegativeInteger(entry.maxDepth))
144
- rule.maxDepth = entry.maxDepth;
145
- return {
146
- rule,
147
- };
148
- }
149
- function parseSillyTavernRegex(value) {
150
- const trimmed = value.trim();
151
- if (!trimmed)
152
- return { error: "empty findRegex" };
153
- if (!trimmed.startsWith("/"))
154
- return validateParsedRegex(trimmed, "");
155
- const closingSlash = findRegexLiteralClosingSlash(trimmed);
156
- if (closingSlash <= 0)
157
- return { error: "could not parse regex literal" };
158
- const pattern = trimmed.slice(1, closingSlash);
159
- const flags = trimmed.slice(closingSlash + 1);
160
- return validateParsedRegex(pattern, flags);
161
- }
162
- function normalizeSillyTavernReplacement(value, warnings) {
163
- let result = value;
164
- if (/\{\{\s*match\s*\}\}/i.test(result)) {
165
- result = result.replace(/\{\{\s*match\s*\}\}/gi, () => "$&");
166
- warnings.push("converted SillyTavern {{match}} to JavaScript $&");
167
- }
168
- if (/\$0(?!\d)/.test(result)) {
169
- result = result.replace(/\$0(?!\d)/g, () => "$&");
170
- warnings.push("converted SillyTavern-style $0 full match to JavaScript $&");
171
- }
172
- return result;
173
- }
174
- function rolesForSillyTavernPlacement(placement, warnings) {
175
- if (!placement || placement.length === 0)
176
- return undefined;
177
- const roles = [];
178
- if (placement.includes(1))
179
- roles.push("user");
180
- if (placement.includes(2))
181
- roles.push("assistant");
182
- if (placement.includes(6))
183
- warnings.push("reasoning placement is preserved as metadata; use stripAssistantThinking or manual rules for thinking content");
184
- return roles.length > 0 ? roles : undefined;
185
- }
186
- function placementLabel(value) {
187
- return ST_REGEX_PLACEMENT_LABELS[value] ? `${ST_REGEX_PLACEMENT_LABELS[value]} (${value})` : `unknown (${value})`;
188
- }
189
- function normalizeTrimStrings(value) {
190
- if (typeof value === "string") {
191
- const strings = value.split(/\r?\n/).filter((entry) => entry.length > 0);
192
- return strings.length > 0 ? strings : undefined;
193
- }
194
- if (!Array.isArray(value))
195
- return undefined;
196
- const strings = value.filter((entry) => typeof entry === "string" && entry.length > 0);
197
- return strings.length > 0 ? strings : undefined;
198
- }
199
- function normalizeNumberArray(value) {
200
- if (!Array.isArray(value))
201
- return undefined;
202
- const numbers = value
203
- .map(normalizeNumber)
204
- .filter((entry) => entry !== undefined);
205
- return numbers.length > 0 ? numbers : undefined;
206
- }
207
- function normalizeNumber(value) {
208
- if (typeof value === "number" && Number.isFinite(value))
209
- return value;
210
- if (typeof value === "string" && value.trim()) {
211
- const parsed = Number(value);
212
- if (Number.isFinite(parsed))
213
- return parsed;
214
- }
215
- if (typeof value === "boolean")
216
- return value ? 1 : 0;
217
- return undefined;
218
- }
219
- function normalizeDepth(value, minimum) {
220
- const number = normalizeNumber(value);
221
- if (number === undefined || !Number.isInteger(number) || number < minimum)
222
- return undefined;
223
- return number;
224
- }
225
- function isNonNegativeInteger(value) {
226
- return typeof value === "number" && Number.isInteger(value) && value >= 0;
227
- }
228
- function validateParsedRegex(pattern, flags) {
229
- if (!pattern)
230
- return { error: "empty regex pattern" };
231
- const seen = new Set();
232
- for (const flag of flags) {
233
- if (!["g", "i", "m", "s", "u"].includes(flag))
234
- return { error: `unsupported regex flag: ${flag}` };
235
- if (seen.has(flag))
236
- return { error: `duplicate regex flag: ${flag}` };
237
- seen.add(flag);
238
- }
239
- try {
240
- new RegExp(pattern, flags);
241
- }
242
- catch (error) {
243
- return { error: `regex failed to compile: ${error instanceof Error ? error.message : String(error)}` };
244
- }
245
- return { pattern, flags: flags || undefined };
246
- }
247
- function findRegexLiteralClosingSlash(value) {
248
- for (let index = value.length - 1; index > 0; index--) {
249
- if (value[index] !== "/")
250
- continue;
251
- let slashCount = 0;
252
- for (let backslash = index - 1; backslash >= 0 && value[backslash] === "\\"; backslash--)
253
- slashCount++;
254
- if (slashCount % 2 === 0)
255
- return index;
256
- }
257
- return -1;
258
- }
259
- function uniqueRegexRuleId(base, seen) {
260
- const normalized = base.replace(/[^A-Za-z0-9_-]+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "").toLowerCase() || "st-regex";
261
- let candidate = normalized;
262
- let suffix = 2;
263
- while (seen.has(candidate))
264
- candidate = `${normalized}-${suffix++}`;
265
- seen.add(candidate);
266
- return candidate;
267
- }
268
- function firstString(...values) {
269
- for (const value of values) {
270
- if (typeof value === "string" && value.trim())
271
- return value;
272
- }
273
- return undefined;
274
- }
275
- //# sourceMappingURL=regex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"regex.js","sourceRoot":"","sources":["../../src/sillytavern-importer/regex.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import type { PromptStackItem } from "../types.ts";
2
- import { type MacroDetection } from "./macros.ts";
3
- import type { PromptConversionDisabledCounts, RegexScriptReport } from "./types.ts";
4
- export interface SillyTavernImportReportInput {
5
- fileName: string;
6
- sourcePath: string;
7
- characterId: number;
8
- stackId: string;
9
- styleName: string;
10
- totalPrompts: number;
11
- orderItemCount: number;
12
- items: PromptStackItem[];
13
- macroUsage: MacroDetection;
14
- disabledCount: PromptConversionDisabledCounts;
15
- missingIdentifiers: string[];
16
- regexScripts?: RegexScriptReport;
17
- variables: Record<string, string>;
18
- usesLastUserMessage: boolean;
19
- }
20
- export declare function buildSillyTavernImportReport(input: SillyTavernImportReportInput): string;
21
- //# sourceMappingURL=report.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/sillytavern-importer/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAGN,KAAK,cAAc,EAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpF,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,UAAU,EAAE,cAAc,CAAC;IAC3B,aAAa,EAAE,8BAA8B,CAAC;IAC9C,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAuKxF"}
@@ -1,166 +0,0 @@
1
- import { displayMacroName, MACRO_NEEDS_MIGRATION, NATIVE_MACRO_NOTES, NATIVE_MACROS, } from "./macros.js";
2
- export function buildSillyTavernImportReport(input) {
3
- const reportLines = [];
4
- reportLines.push(`# SillyTavern Import Report: ${input.fileName}`);
5
- reportLines.push("");
6
- reportLines.push(`- **Source file**: ${input.sourcePath}`);
7
- reportLines.push(`- **Character ID**: ${input.characterId}`);
8
- reportLines.push(`- **Output stack ID**: ${input.stackId}`);
9
- reportLines.push(`- **Names behavior**: ${input.styleName}`);
10
- reportLines.push(`- **Total prompts in source**: ${input.totalPrompts}`);
11
- reportLines.push(`- **Items in prompt_order**: ${input.orderItemCount}`);
12
- reportLines.push(`- **Converted items**: ${input.items.length}`);
13
- reportLines.push("");
14
- if (input.macroUsage.commentsStripped > 0) {
15
- reportLines.push(`- **Comments stripped**: ${input.macroUsage.commentsStripped} ST comment blocks removed`);
16
- }
17
- if (input.macroUsage.trimStripped > 0) {
18
- reportLines.push(`- **Trim markers removed**: ${input.macroUsage.trimStripped} {{trim}} markers (ST formatting hint)`);
19
- }
20
- reportLines.push("");
21
- if (input.disabledCount.marker > 0 || input.disabledCount.empty > 0 || input.disabledCount.orderDisable > 0) {
22
- reportLines.push("## Skipped items");
23
- reportLines.push("");
24
- if (input.disabledCount.marker > 0) {
25
- reportLines.push(`- ${input.disabledCount.marker} marker items (charDescription, worldInfo, etc.) — handled by Pi/ST runtime, not needed in prompt stack`);
26
- }
27
- if (input.disabledCount.empty > 0) {
28
- reportLines.push(`- ${input.disabledCount.empty} items with empty or missing content`);
29
- }
30
- if (input.disabledCount.orderDisable > 0) {
31
- reportLines.push(`- ${input.disabledCount.orderDisable} items disabled in prompt_order`);
32
- }
33
- reportLines.push("");
34
- }
35
- if (input.missingIdentifiers.length > 0) {
36
- reportLines.push("## ⚠️ Missing identifiers in prompts array");
37
- reportLines.push("");
38
- for (const id of input.missingIdentifiers) {
39
- reportLines.push(`- \`${id}\` (referenced in prompt_order but not found in prompts)`);
40
- }
41
- reportLines.push("");
42
- }
43
- if (input.regexScripts && input.regexScripts.total > 0) {
44
- reportLines.push("## SillyTavern regex scripts");
45
- reportLines.push("");
46
- reportLines.push(`- **Total scripts**: ${input.regexScripts.total}`);
47
- reportLines.push(`- **Enabled scripts**: ${input.regexScripts.enabled}`);
48
- reportLines.push(`- **Disabled scripts**: ${input.regexScripts.disabled}`);
49
- reportLines.push(`- **Prompt-only**: ${input.regexScripts.promptOnly}`);
50
- reportLines.push(`- **Markdown-only / display-only**: ${input.regexScripts.markdownOnly}`);
51
- reportLines.push(`- **Prompt + markdown mixed**: ${input.regexScripts.mixed}`);
52
- if (input.regexScripts.unspecified > 0) {
53
- reportLines.push(`- **Enabled with unspecified mode**: ${input.regexScripts.unspecified}`);
54
- }
55
- reportLines.push(`- **Converted to pi-forge rules**: ${input.regexScripts.converted}`);
56
- reportLines.push("");
57
- reportLines.push("| Script | Enabled | Mode | Converted | Warnings | Find regex | Replacement preview |");
58
- reportLines.push("|--------|---------|------|-----------|----------|------------|---------------------|");
59
- for (const script of input.regexScripts.scripts) {
60
- const converted = script.convertedRuleId ? `yes: ${script.convertedRuleId}` : script.conversionNote ?? "no";
61
- const warnings = script.conversionWarnings.length > 0 ? script.conversionWarnings.join("; ") : "-";
62
- reportLines.push(`| ${markdownTableCell(script.name)} | ${script.enabled ? "yes" : "no"} | ${script.mode} | ${markdownTableCell(converted)} | ${markdownTableCell(warnings)} | ${markdownTableCell(script.findRegex)} | ${markdownTableCell(script.replaceString)} |`);
63
- }
64
- reportLines.push("");
65
- const warningEntries = input.regexScripts.scripts.filter((script) => script.conversionWarnings.length > 0);
66
- if (warningEntries.length > 0) {
67
- reportLines.push("Conversion warnings:");
68
- for (const script of warningEntries) {
69
- for (const warning of script.conversionWarnings) {
70
- reportLines.push(`- ${script.name}: ${warning}`);
71
- }
72
- }
73
- reportLines.push("");
74
- }
75
- reportLines.push("pi-forge does not run SillyTavern markdown rewriting, DOM/browser automation, CSS/HTML decoration, toasts, embedded JavaScript, or UI panel behavior.");
76
- if (input.regexScripts.converted > 0) {
77
- reportLines.push("Enabled and disabled prompt-only deterministic regex scripts were converted to `regex.rules` with `stage: \"history\"`, `effect: \"outgoing\"`, JavaScript replacement syntax, and preserved SillyTavern metadata under `source.sillytavern`. History-stage depth is relative to the filtered chat history inserted at the `chat-history` slot, matching SillyTavern's chat-relative depth, and rules do not touch the compiled system prompt. Use `stage: \"compiled\"` manually for global prompt transforms.");
78
- }
79
- reportLines.push("Markdown-only, mixed prompt/markdown, unspecified, invalid, or unsupported regex scripts remain report-only and require manual review.");
80
- reportLines.push("");
81
- }
82
- if (Object.keys(input.variables).length > 0) {
83
- reportLines.push("## Auto-populated variables");
84
- reportLines.push("");
85
- reportLines.push("These ST built-in macros were auto-populated as static variables with placeholder values:");
86
- reportLines.push("");
87
- for (const [key, val] of Object.entries(input.variables)) {
88
- reportLines.push(`- \`${key}\` = \`${val}\` — replace with your character/persona name`);
89
- }
90
- reportLines.push("");
91
- reportLines.push("Edit `stack.variables` in the stack JSON or web editor to set real values.");
92
- reportLines.push("");
93
- }
94
- const migrationEntries = Object.entries(input.macroUsage.migrationNeeded).sort(([, a], [, b]) => b - a);
95
- if (migrationEntries.length > 0) {
96
- reportLines.push("## ⚠️ Macros needing manual migration");
97
- reportLines.push("");
98
- reportLines.push("These ST macros appear in the preset but have no direct pi-forge equivalent:");
99
- reportLines.push("");
100
- for (const [name, count] of migrationEntries) {
101
- const note = MACRO_NEEDS_MIGRATION[name] ?? "no mapping available";
102
- reportLines.push(`- **\`{{${displayMacroName(name)}}}\`** (${count} occurrence${count > 1 ? "s" : ""}) — ${note}`);
103
- }
104
- reportLines.push("");
105
- }
106
- const nativeDetected = [...input.macroUsage.detected].filter((macro) => NATIVE_MACROS.has(macro));
107
- if (nativeDetected.length > 0) {
108
- reportLines.push("## Handled macros");
109
- reportLines.push("");
110
- for (const name of nativeDetected) {
111
- const displayName = displayMacroName(name);
112
- if (name === "char" || name === "user") {
113
- reportLines.push(`- \`{{${displayName}}}\` → auto-populated as static variable`);
114
- }
115
- else if (name === "lastusermessage") {
116
- reportLines.push(`- \`{{${displayName}}}\` → handled by pi-forge runtime (chat-history slot)`);
117
- }
118
- else if (NATIVE_MACRO_NOTES[name]) {
119
- reportLines.push(`- \`{{${displayName}}}\` → ${NATIVE_MACRO_NOTES[name]}`);
120
- }
121
- else {
122
- reportLines.push(`- \`{{${displayName}}}\` → handled natively by pi-forge`);
123
- }
124
- }
125
- reportLines.push("");
126
- }
127
- reportLines.push("## Item mapping");
128
- reportLines.push("");
129
- reportLines.push("| # | ST Identifier | ST Name | pi-forge ID | Role | Enabled | Kind |");
130
- reportLines.push("|---|--------------|---------|-------------|------|---------|------|");
131
- for (const item of input.items) {
132
- const stId = item.source?.previousId ?? "—";
133
- const stName = item.name ?? "—";
134
- const enabled = item.enabled !== false ? "✓" : "✗";
135
- const kind = item.kind;
136
- reportLines.push(`| ${item.id} | ${stId} | ${stName} | ${item.id} | ${item.role ?? "—"} | ${enabled} | ${kind} |`);
137
- }
138
- reportLines.push("");
139
- reportLines.push("## General notes");
140
- reportLines.push("");
141
- if (input.usesLastUserMessage) {
142
- reportLines.push("- Auto-detected `{{lastUserMessage}}` in post-history content. `chat-history` slot set with `includeLastUserMessage: false`.");
143
- }
144
- if (input.macroUsage.commentsStripped > 0 || input.macroUsage.trimStripped > 0) {
145
- reportLines.push(`- ${input.macroUsage.commentsStripped} ST comment blocks and ${input.macroUsage.trimStripped} TRIM markers were stripped during import.`);
146
- }
147
- reportLines.push("- All items are assigned sequential numeric IDs. Original SillyTavern identifiers are preserved in `source.previousId`.");
148
- reportLines.push("- Marker items for world info, character description, persona, scenario, and dialogue examples are omitted — these are handled by the SillyTavern frontend and have no direct pi-forge equivalent.");
149
- reportLines.push(`- The stack is set with \`autoActivate: false\`. Use \`/preset use ${input.stackId}\` to activate.`);
150
- reportLines.push("");
151
- reportLines.push("## Suggested next steps");
152
- reportLines.push("");
153
- reportLines.push("1. Set real values for auto-populated variables by editing `stack.variables`.");
154
- reportLines.push("2. Review items with migration-needed macros and rewrite for pi-forge's macro system.");
155
- reportLines.push("3. Consider adding a `variables` slot for template variable visibility.");
156
- reportLines.push(`4. Run \`/preset validate ${input.stackId}\` to check for issues.`);
157
- return reportLines.join("\n");
158
- }
159
- function markdownTableCell(value) {
160
- if (typeof value !== "string" || !value.trim())
161
- return "-";
162
- const collapsed = value.replace(/\s+/g, " ").trim();
163
- const truncated = collapsed.length > 96 ? `${collapsed.slice(0, 93)}...` : collapsed;
164
- return truncated.replace(/\|/g, "\\|");
165
- }
166
- //# sourceMappingURL=report.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/sillytavern-importer/report.ts"],"names":[],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- import type { PromptRegexRule, PromptStack, PromptStackItem } from "../types.ts";
2
- export interface StPreset {
3
- prompts?: StPromptDef[];
4
- prompt_order?: StPromptOrderEntry[];
5
- extensions?: {
6
- regex_scripts?: unknown[];
7
- [key: string]: unknown;
8
- };
9
- names_behavior?: number;
10
- preset_name?: string;
11
- name?: string;
12
- [key: string]: unknown;
13
- }
14
- export interface StPromptDef {
15
- identifier: string;
16
- name?: string;
17
- role?: string;
18
- content?: string;
19
- system_prompt?: boolean;
20
- marker?: boolean;
21
- enabled?: boolean;
22
- }
23
- export interface StPromptOrderEntry {
24
- character_id: number;
25
- order?: StOrderItem[];
26
- }
27
- export interface StOrderItem {
28
- identifier: string;
29
- enabled: boolean;
30
- }
31
- export interface StRegexScript {
32
- script_name?: string;
33
- scriptName?: string;
34
- name?: string;
35
- disabled?: boolean;
36
- promptOnly?: boolean;
37
- markdownOnly?: boolean;
38
- findRegex?: string;
39
- replaceString?: string;
40
- trimStrings?: unknown;
41
- substituteRegex?: unknown;
42
- placement?: unknown;
43
- minDepth?: unknown;
44
- maxDepth?: unknown;
45
- runOnEdit?: unknown;
46
- [key: string]: unknown;
47
- }
48
- export interface StConversionItem {
49
- def: StPromptDef;
50
- orderEnabled: boolean;
51
- orderIndex: number;
52
- }
53
- export type RegexScriptMode = "prompt-only" | "markdown-only" | "prompt+markdown" | "unspecified" | "disabled";
54
- export interface RegexScriptReportEntry {
55
- name: string;
56
- mode: RegexScriptMode;
57
- enabled: boolean;
58
- promptOnly: boolean;
59
- markdownOnly: boolean;
60
- findRegex?: string;
61
- replaceString?: string;
62
- trimStrings?: string[];
63
- placement?: number[];
64
- substituteRegex?: number;
65
- minDepth?: number;
66
- maxDepth?: number;
67
- convertedRuleId?: string;
68
- conversionNote?: string;
69
- conversionWarnings: string[];
70
- }
71
- export interface RegexScriptReport {
72
- total: number;
73
- enabled: number;
74
- disabled: number;
75
- promptOnly: number;
76
- markdownOnly: number;
77
- mixed: number;
78
- unspecified: number;
79
- converted: number;
80
- scripts: RegexScriptReportEntry[];
81
- rules: PromptRegexRule[];
82
- }
83
- export interface PromptConversionDisabledCounts {
84
- marker: number;
85
- empty: number;
86
- orderDisable: number;
87
- }
88
- export interface PromptConversionResult {
89
- items: PromptStackItem[];
90
- usesLastUserMessage: boolean;
91
- disabledCount: PromptConversionDisabledCounts;
92
- }
93
- export interface SillyTavernImportResult {
94
- stack: PromptStack;
95
- report: string;
96
- }
97
- export interface SillyTavernImportError {
98
- error: string;
99
- }
100
- export type SillyTavernImportOutcome = SillyTavernImportResult | SillyTavernImportError;
101
- export interface SillyTavernConvertOptions {
102
- sourceName?: string;
103
- sourcePath?: string;
104
- characterId?: number;
105
- }
106
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sillytavern-importer/types.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sillytavern-importer/types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import type { SillyTavernConvertOptions, SillyTavernImportOutcome } from "./sillytavern-importer/types.ts";
2
- export type { SillyTavernConvertOptions, SillyTavernImportError, SillyTavernImportOutcome, SillyTavernImportResult, } from "./sillytavern-importer/types.ts";
3
- export declare function importSillyTavernPreset(filePath: string, characterId?: number): SillyTavernImportOutcome;
4
- export declare function convertSillyTavernPreset(raw: unknown, options?: SillyTavernConvertOptions): SillyTavernImportOutcome;
5
- //# sourceMappingURL=sillytavern-importer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sillytavern-importer.d.ts","sourceRoot":"","sources":["../src/sillytavern-importer.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACX,yBAAyB,EACzB,wBAAwB,EAExB,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACX,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AAEzC,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GAClB,wBAAwB,CAa1B;AAED,wBAAgB,wBAAwB,CACvC,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,yBAA8B,GACrC,wBAAwB,CA6F1B"}