@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.
- package/CHANGELOG.md +41 -1
- package/README.md +11 -11
- package/README.zh-CN.md +3 -5
- package/SUBAGENT_ADAPTER_CONTRACT.md +3 -1
- package/dist/agent-profile.d.ts +18 -62
- package/dist/agent-profile.d.ts.map +1 -1
- package/dist/agent-profile.js +27 -249
- package/dist/agent-profile.js.map +1 -1
- package/dist/codecs/agent-profile.d.ts +53 -0
- package/dist/codecs/agent-profile.d.ts.map +1 -0
- package/dist/codecs/agent-profile.js +176 -0
- package/dist/codecs/agent-profile.js.map +1 -0
- package/dist/codecs/index.d.ts +5 -0
- package/dist/codecs/index.d.ts.map +1 -0
- package/dist/codecs/index.js +3 -0
- package/dist/codecs/index.js.map +1 -0
- package/dist/codecs/prompt-stack.d.ts +18 -0
- package/dist/codecs/prompt-stack.d.ts.map +1 -0
- package/dist/codecs/prompt-stack.js +479 -0
- package/dist/codecs/prompt-stack.js.map +1 -0
- package/dist/compile-cycle.d.ts +18 -0
- package/dist/compile-cycle.d.ts.map +1 -0
- package/dist/compile-cycle.js +13 -0
- package/dist/compile-cycle.js.map +1 -0
- package/dist/compiler.d.ts +10 -4
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +53 -19
- package/dist/compiler.js.map +1 -1
- package/dist/extension-registry.d.ts.map +1 -1
- package/dist/extension-registry.js +5 -2
- package/dist/extension-registry.js.map +1 -1
- package/dist/forge-config.d.ts +0 -105
- package/dist/forge-config.d.ts.map +1 -1
- package/dist/forge-config.js +1 -313
- package/dist/forge-config.js.map +1 -1
- package/dist/forge-v1/analyzer.d.ts +3 -0
- package/dist/forge-v1/analyzer.d.ts.map +1 -0
- package/dist/forge-v1/analyzer.js +50 -0
- package/dist/forge-v1/analyzer.js.map +1 -0
- package/dist/forge-v1/index.d.ts +6 -0
- package/dist/forge-v1/index.d.ts.map +1 -0
- package/dist/forge-v1/index.js +13 -0
- package/dist/forge-v1/index.js.map +1 -0
- package/dist/forge-v1/parser.d.ts +3 -0
- package/dist/forge-v1/parser.d.ts.map +1 -0
- package/dist/forge-v1/parser.js +186 -0
- package/dist/forge-v1/parser.js.map +1 -0
- package/dist/forge-v1/renderer.d.ts +9 -0
- package/dist/forge-v1/renderer.d.ts.map +1 -0
- package/dist/forge-v1/renderer.js +181 -0
- package/dist/forge-v1/renderer.js.map +1 -0
- package/dist/forge-v1/types.d.ts +87 -0
- package/dist/forge-v1/types.d.ts.map +1 -0
- package/dist/forge-v1/types.js +4 -0
- package/dist/forge-v1/types.js.map +1 -0
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -81
- package/dist/index.js.map +1 -1
- package/dist/lifecycle.d.ts +6 -5
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +43 -112
- package/dist/lifecycle.js.map +1 -1
- package/dist/loader.d.ts +5 -8
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +10 -467
- package/dist/loader.js.map +1 -1
- package/dist/macro-engine.d.ts +9 -14
- package/dist/macro-engine.d.ts.map +1 -1
- package/dist/macro-engine.js +5 -238
- package/dist/macro-engine.js.map +1 -1
- package/dist/payload-command.d.ts +6 -6
- package/dist/payload-command.d.ts.map +1 -1
- package/dist/payload-command.js.map +1 -1
- package/dist/payload-state.d.ts +16 -0
- package/dist/payload-state.d.ts.map +1 -0
- package/dist/payload-state.js +14 -0
- package/dist/payload-state.js.map +1 -0
- package/dist/preset-command.d.ts +4 -4
- package/dist/preset-command.d.ts.map +1 -1
- package/dist/preset-command.js +33 -104
- package/dist/preset-command.js.map +1 -1
- package/dist/preview.d.ts +4 -4
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +17 -8
- package/dist/preview.js.map +1 -1
- package/dist/profile-command.d.ts +2 -2
- package/dist/profile-command.d.ts.map +1 -1
- package/dist/profile-command.js +15 -14
- package/dist/profile-command.js.map +1 -1
- package/dist/profile-service.d.ts.map +1 -1
- package/dist/profile-service.js +23 -39
- package/dist/profile-service.js.map +1 -1
- package/dist/prompt-analysis.d.ts +24 -0
- package/dist/prompt-analysis.d.ts.map +1 -0
- package/dist/prompt-analysis.js +84 -0
- package/dist/prompt-analysis.js.map +1 -0
- package/dist/prompt-runtime.d.ts +19 -0
- package/dist/prompt-runtime.d.ts.map +1 -0
- package/dist/prompt-runtime.js +30 -0
- package/dist/prompt-runtime.js.map +1 -0
- package/dist/regex.js +6 -12
- package/dist/regex.js.map +1 -1
- package/dist/render-helpers.d.ts +2 -10
- package/dist/render-helpers.d.ts.map +1 -1
- package/dist/render-helpers.js +3 -53
- package/dist/render-helpers.js.map +1 -1
- package/dist/repositories/agent-profile.d.ts +36 -0
- package/dist/repositories/agent-profile.d.ts.map +1 -0
- package/dist/repositories/agent-profile.js +153 -0
- package/dist/repositories/agent-profile.js.map +1 -0
- package/dist/repositories/index.d.ts +3 -0
- package/dist/repositories/index.d.ts.map +1 -0
- package/dist/repositories/index.js +3 -0
- package/dist/repositories/index.js.map +1 -0
- package/dist/repositories/prompt-stack.d.ts +57 -0
- package/dist/repositories/prompt-stack.d.ts.map +1 -0
- package/dist/repositories/prompt-stack.js +175 -0
- package/dist/repositories/prompt-stack.js.map +1 -0
- package/dist/runtime/profile-runtime.d.ts +2 -2
- package/dist/runtime/profile-runtime.d.ts.map +1 -1
- package/dist/runtime/profile-runtime.js +13 -10
- package/dist/runtime/profile-runtime.js.map +1 -1
- package/dist/runtime/prompt-stack-runtime.d.ts +4 -3
- package/dist/runtime/prompt-stack-runtime.d.ts.map +1 -1
- package/dist/runtime/prompt-stack-runtime.js +42 -57
- package/dist/runtime/prompt-stack-runtime.js.map +1 -1
- package/dist/runtime/tool-policy-runtime.d.ts +2 -2
- package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
- package/dist/runtime/tool-policy-runtime.js +3 -3
- package/dist/runtime/tool-policy-runtime.js.map +1 -1
- package/dist/session-adapter.d.ts +17 -0
- package/dist/session-adapter.d.ts.map +1 -0
- package/dist/session-adapter.js +57 -0
- package/dist/session-adapter.js.map +1 -0
- package/dist/slot-renderers.d.ts +16 -3
- package/dist/slot-renderers.d.ts.map +1 -1
- package/dist/slot-renderers.js +15 -63
- package/dist/slot-renderers.js.map +1 -1
- package/dist/stack-migration.d.ts +6 -0
- package/dist/stack-migration.d.ts.map +1 -1
- package/dist/stack-migration.js +49 -52
- package/dist/stack-migration.js.map +1 -1
- package/dist/subagent/fingerprints.d.ts +24 -0
- package/dist/subagent/fingerprints.d.ts.map +1 -0
- package/dist/subagent/fingerprints.js +81 -0
- package/dist/subagent/fingerprints.js.map +1 -0
- package/dist/subagent/host-port.d.ts +296 -0
- package/dist/subagent/host-port.d.ts.map +1 -0
- package/dist/subagent/host-port.js +560 -0
- package/dist/subagent/host-port.js.map +1 -0
- package/dist/subagent/index.d.ts +10 -10
- package/dist/subagent/index.d.ts.map +1 -1
- package/dist/subagent/index.js +9 -10
- package/dist/subagent/index.js.map +1 -1
- package/dist/subagent-host.d.ts +99 -18
- package/dist/subagent-host.d.ts.map +1 -1
- package/dist/subagent-host.js +143 -146
- package/dist/subagent-host.js.map +1 -1
- package/dist/template-render.d.ts +18 -0
- package/dist/template-render.d.ts.map +1 -0
- package/dist/template-render.js +232 -0
- package/dist/template-render.js.map +1 -0
- package/dist/types.d.ts +40 -27
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/web-editor/client-script.generated.d.ts.map +1 -1
- package/dist/web-editor/client-script.generated.js +1 -1
- package/dist/web-editor/client-script.generated.js.map +1 -1
- package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
- package/dist/web-editor/client-styles.generated.js +1 -1
- package/dist/web-editor/client-styles.generated.js.map +1 -1
- package/dist/web-editor/server.d.ts.map +1 -1
- package/dist/web-editor/server.js +1 -68
- package/dist/web-editor/server.js.map +1 -1
- package/dist/web-editor/styles.d.ts.map +1 -1
- package/dist/web-editor/styles.js +13 -0
- package/dist/web-editor/styles.js.map +1 -1
- package/dist/web-editor/types.d.ts +0 -35
- package/dist/web-editor/types.d.ts.map +1 -1
- package/dist/web-host.d.ts +4 -2
- package/dist/web-host.d.ts.map +1 -1
- package/dist/web-host.js +32 -103
- package/dist/web-host.js.map +1 -1
- package/dist/workspace.d.ts +74 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +351 -0
- package/dist/workspace.js.map +1 -0
- package/docs/README.md +6 -4
- package/docs/concepts/agent-profiles.md +1 -1
- package/docs/concepts/prompt-stacks.md +5 -5
- package/docs/design/README.md +21 -3
- package/docs/design/architecture-0.5.md +211 -0
- package/docs/design/archive/0.5-full-proposal/0.5-consumer-audit.md +62 -0
- package/docs/design/archive/0.5-full-proposal/0.5-inventory.md +208 -0
- package/docs/design/archive/0.5-full-proposal/0.5-phase0-decision-drafts.md +237 -0
- package/docs/design/archive/0.5-full-proposal/README.md +12 -0
- package/docs/design/archive/0.5-full-proposal/architecture-0.5.md +423 -0
- package/docs/design/archive/0.5-full-proposal/host-discovery-spike.md +103 -0
- package/docs/design/archive/0.5-full-proposal/template-language-spike.md +156 -0
- package/docs/design/context-diff-plan.md +72 -0
- package/docs/design/decision-template.md +33 -0
- package/docs/design/roadmap-0.4-archive.md +1 -1
- package/docs/design/subagents/interface-design.md +1 -1
- package/docs/development/architecture-rules.md +148 -0
- package/docs/development/roadmap.md +37 -5
- package/docs/development/scoped-global-profiles-stacks.md +1 -1
- package/docs/development/setup.md +6 -4
- package/docs/getting-started.md +5 -4
- package/docs/guides/custom-macros-and-slots.md +8 -7
- package/docs/guides/debugging.md +1 -1
- package/docs/guides/delegation.md +18 -22
- package/docs/guides/migrating-to-0.5.md +107 -0
- package/docs/guides/use-cases.md +7 -11
- package/docs/guides/web-editor.md +5 -9
- package/docs/reference/commands.md +4 -3
- package/docs/reference/configuration.md +17 -18
- package/docs/reference/features.md +34 -80
- package/docs/reference/macros-and-slots.md +70 -49
- package/docs/reference/public-api.md +64 -17
- package/docs/reference/stack-schema.md +14 -9
- package/docs/reference/subagent-host-port.md +49 -0
- package/docs/zh-CN/README.md +3 -3
- package/docs/zh-CN/concepts/agent-profiles.md +1 -1
- package/docs/zh-CN/concepts/prompt-stacks.md +4 -4
- package/docs/zh-CN/getting-started.md +3 -2
- package/docs/zh-CN/guides/delegation.md +10 -12
- package/docs/zh-CN/guides/migrating-to-0.5.md +92 -0
- package/docs/zh-CN/guides/web-editor.md +4 -4
- package/docs/zh-CN/reference/commands.md +3 -2
- package/examples/custom-system-status-extension/README.md +3 -3
- package/examples/custom-system-status-extension/index.ts +2 -1
- package/examples/custom-system-status-extension/prompt-stack.json +4 -3
- package/examples/default-prompt-stack.json +9 -4
- package/examples/image-reader-prompt-stack.json +16 -26
- package/examples/reviewer-prompt-stack.json +13 -24
- package/package.json +101 -120
- package/dist/runtime/subagent-runtime.d.ts +0 -45
- package/dist/runtime/subagent-runtime.d.ts.map +0 -1
- package/dist/runtime/subagent-runtime.js +0 -343
- package/dist/runtime/subagent-runtime.js.map +0 -1
- package/dist/runtime-state.d.ts +0 -30
- package/dist/runtime-state.d.ts.map +0 -1
- package/dist/runtime-state.js +0 -17
- package/dist/runtime-state.js.map +0 -1
- package/dist/sillytavern-importer/items.d.ts +0 -3
- package/dist/sillytavern-importer/items.d.ts.map +0 -1
- package/dist/sillytavern-importer/items.js +0 -88
- package/dist/sillytavern-importer/items.js.map +0 -1
- package/dist/sillytavern-importer/macros.d.ts +0 -15
- package/dist/sillytavern-importer/macros.d.ts.map +0 -1
- package/dist/sillytavern-importer/macros.js +0 -141
- package/dist/sillytavern-importer/macros.js.map +0 -1
- package/dist/sillytavern-importer/prompt-order.d.ts +0 -6
- package/dist/sillytavern-importer/prompt-order.d.ts.map +0 -1
- package/dist/sillytavern-importer/prompt-order.js +0 -38
- package/dist/sillytavern-importer/prompt-order.js.map +0 -1
- package/dist/sillytavern-importer/regex.d.ts +0 -3
- package/dist/sillytavern-importer/regex.d.ts.map +0 -1
- package/dist/sillytavern-importer/regex.js +0 -275
- package/dist/sillytavern-importer/regex.js.map +0 -1
- package/dist/sillytavern-importer/report.d.ts +0 -21
- package/dist/sillytavern-importer/report.d.ts.map +0 -1
- package/dist/sillytavern-importer/report.js +0 -166
- package/dist/sillytavern-importer/report.js.map +0 -1
- package/dist/sillytavern-importer/types.d.ts +0 -106
- package/dist/sillytavern-importer/types.d.ts.map +0 -1
- package/dist/sillytavern-importer/types.js +0 -2
- package/dist/sillytavern-importer/types.js.map +0 -1
- package/dist/sillytavern-importer.d.ts +0 -5
- package/dist/sillytavern-importer.d.ts.map +0 -1
- package/dist/sillytavern-importer.js +0 -117
- package/dist/sillytavern-importer.js.map +0 -1
- package/dist/subagent/canonical.d.ts +0 -22
- package/dist/subagent/canonical.d.ts.map +0 -1
- package/dist/subagent/canonical.js +0 -24
- package/dist/subagent/canonical.js.map +0 -1
- package/dist/subagent/context.d.ts +0 -8
- package/dist/subagent/context.d.ts.map +0 -1
- package/dist/subagent/context.js +0 -125
- package/dist/subagent/context.js.map +0 -1
- package/dist/subagent/contract.d.ts +0 -10
- package/dist/subagent/contract.d.ts.map +0 -1
- package/dist/subagent/contract.js +0 -10
- package/dist/subagent/contract.js.map +0 -1
- package/dist/subagent/plan.d.ts +0 -18
- package/dist/subagent/plan.d.ts.map +0 -1
- package/dist/subagent/plan.js +0 -157
- package/dist/subagent/plan.js.map +0 -1
- package/dist/subagent/preflight.d.ts +0 -4
- package/dist/subagent/preflight.d.ts.map +0 -1
- package/dist/subagent/preflight.js +0 -108
- package/dist/subagent/preflight.js.map +0 -1
- package/dist/subagent/request.d.ts +0 -4
- package/dist/subagent/request.d.ts.map +0 -1
- package/dist/subagent/request.js +0 -154
- package/dist/subagent/request.js.map +0 -1
- package/dist/subagent/response.d.ts +0 -8
- package/dist/subagent/response.d.ts.map +0 -1
- package/dist/subagent/response.js +0 -155
- package/dist/subagent/response.js.map +0 -1
- package/dist/subagent/tools.d.ts +0 -4
- package/dist/subagent/tools.d.ts.map +0 -1
- package/dist/subagent/tools.js +0 -42
- package/dist/subagent/tools.js.map +0 -1
- package/dist/subagent/types.d.ts +0 -272
- package/dist/subagent/types.d.ts.map +0 -1
- package/dist/subagent/types.js +0 -3
- package/dist/subagent/types.js.map +0 -1
- package/dist/subagent/validation.d.ts +0 -35
- package/dist/subagent/validation.d.ts.map +0 -1
- package/dist/subagent/validation.js +0 -314
- package/dist/subagent/validation.js.map +0 -1
- package/dist/subagent-command.d.ts +0 -5
- package/dist/subagent-command.d.ts.map +0 -1
- package/dist/subagent-command.js +0 -249
- package/dist/subagent-command.js.map +0 -1
- package/dist/subagent-profile-tool.d.ts +0 -49
- package/dist/subagent-profile-tool.d.ts.map +0 -1
- package/dist/subagent-profile-tool.js +0 -125
- package/dist/subagent-profile-tool.js.map +0 -1
- package/dist/subagent-tool.d.ts +0 -77
- package/dist/subagent-tool.d.ts.map +0 -1
- package/dist/subagent-tool.js +0 -559
- package/dist/subagent-tool.js.map +0 -1
- package/docs/guides/sillytavern-import.md +0 -47
- package/docs/reference/subagent-adapter.md +0 -204
- 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":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEjF,MAAM,WAAW,QAAQ;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE;QACZ,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;QAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,WAAW,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,eAAe,GAAG,iBAAiB,GAAG,aAAa,GAAG,UAAU,CAAC;AAE/G,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,KAAK,EAAE,eAAe,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,8BAA8B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACtC,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,8BAA8B,CAAC;CAC9C;AAED,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACtC,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAExF,MAAM,WAAW,yBAAyB;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -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"}
|