@proxysoul/soulforge 1.3.1 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +73 -62
- package/dist/init.lua +348 -0
- package/dist/opentui-assets/javascript/highlights.scm +205 -0
- package/dist/opentui-assets/javascript/tree-sitter-javascript.wasm +0 -0
- package/dist/opentui-assets/markdown/highlights.scm +150 -0
- package/dist/opentui-assets/markdown/injections.scm +27 -0
- package/dist/opentui-assets/markdown/tree-sitter-markdown.wasm +0 -0
- package/dist/opentui-assets/markdown_inline/highlights.scm +115 -0
- package/dist/opentui-assets/markdown_inline/tree-sitter-markdown_inline.wasm +0 -0
- package/dist/opentui-assets/typescript/highlights.scm +604 -0
- package/dist/opentui-assets/typescript/tree-sitter-typescript.wasm +0 -0
- package/dist/opentui-assets/zig/highlights.scm +284 -0
- package/dist/opentui-assets/zig/tree-sitter-zig.wasm +0 -0
- package/dist/workers/intelligence.worker.js +18 -12
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -67324,7 +67324,7 @@ __export(exports_tree_sitter2, {
|
|
|
67324
67324
|
import { existsSync as existsSync11 } from "fs";
|
|
67325
67325
|
import { readFile as readFile6 } from "fs/promises";
|
|
67326
67326
|
import { homedir as homedir9 } from "os";
|
|
67327
|
-
import { join as join10, resolve as resolve6 } from "path";
|
|
67327
|
+
import { dirname as dirname4, join as join10, resolve as resolve6 } from "path";
|
|
67328
67328
|
function extractImportSpecifiers(node, language) {
|
|
67329
67329
|
const specifiers = [];
|
|
67330
67330
|
collectSpecifiers(node, language, specifiers);
|
|
@@ -68459,11 +68459,17 @@ var init_tree_sitter2 = __esm(() => {
|
|
|
68459
68459
|
if (TreeSitterBackend.IS_BUNDLED) {
|
|
68460
68460
|
return join10(BUNDLED_WASM_DIR, basename2);
|
|
68461
68461
|
}
|
|
68462
|
-
|
|
68463
|
-
|
|
68464
|
-
|
|
68465
|
-
|
|
68466
|
-
|
|
68462
|
+
let dir = import.meta.dir;
|
|
68463
|
+
for (let i2 = 0;i2 < 5; i2++) {
|
|
68464
|
+
for (const sub of ["node_modules/web-tree-sitter", "node_modules/tree-sitter-wasms/out"]) {
|
|
68465
|
+
const p = join10(dir, sub, basename2);
|
|
68466
|
+
if (existsSync11(p))
|
|
68467
|
+
return p;
|
|
68468
|
+
}
|
|
68469
|
+
const parent = dirname4(dir);
|
|
68470
|
+
if (parent === dir)
|
|
68471
|
+
break;
|
|
68472
|
+
dir = parent;
|
|
68467
68473
|
}
|
|
68468
68474
|
return join10(BUNDLED_WASM_DIR, basename2);
|
|
68469
68475
|
}
|
|
@@ -239279,7 +239285,7 @@ var require_path_browserify = __commonJS((exports, module2) => {
|
|
|
239279
239285
|
_makeLong: function _makeLong(path) {
|
|
239280
239286
|
return path;
|
|
239281
239287
|
},
|
|
239282
|
-
dirname: function
|
|
239288
|
+
dirname: function dirname5(path) {
|
|
239283
239289
|
assertPath(path);
|
|
239284
239290
|
if (path.length === 0)
|
|
239285
239291
|
return ".";
|
|
@@ -311940,7 +311946,7 @@ import { Database as Database2 } from "bun:sqlite";
|
|
|
311940
311946
|
import { execSync as execSync4 } from "child_process";
|
|
311941
311947
|
import { chmodSync as chmodSync3, existsSync as existsSync14, mkdirSync as mkdirSync7, readFileSync as readFileSync8, statSync } from "fs";
|
|
311942
311948
|
import { stat as statAsync } from "fs/promises";
|
|
311943
|
-
import { dirname as
|
|
311949
|
+
import { dirname as dirname5, extname as extname3, join as join15, relative as relative2, resolve as resolve9 } from "path";
|
|
311944
311950
|
|
|
311945
311951
|
class RepoMap {
|
|
311946
311952
|
db;
|
|
@@ -312654,7 +312660,7 @@ class RepoMap {
|
|
|
312654
312660
|
return this.tsconfigPaths;
|
|
312655
312661
|
}
|
|
312656
312662
|
resolveImportSource(importSource, importerAbsPath) {
|
|
312657
|
-
const importerDir =
|
|
312663
|
+
const importerDir = dirname5(importerAbsPath);
|
|
312658
312664
|
let normalized = null;
|
|
312659
312665
|
if (importSource.startsWith("./") || importSource.startsWith("../")) {
|
|
312660
312666
|
normalized = importSource.replace(/\.(m?js|cjs|jsx)$/, "");
|
|
@@ -317126,7 +317132,7 @@ var init_post_edit = __esm(() => {
|
|
|
317126
317132
|
|
|
317127
317133
|
// src/core/tools/edit-file.ts
|
|
317128
317134
|
import { mkdir as mkdir2, readFile as readFile10, stat as statAsync3, writeFile as writeFile3 } from "fs/promises";
|
|
317129
|
-
import { dirname as
|
|
317135
|
+
import { dirname as dirname6, resolve as resolve13 } from "path";
|
|
317130
317136
|
function formatMetricDelta(label, before, after) {
|
|
317131
317137
|
const delta = after - before;
|
|
317132
317138
|
if (delta === 0)
|
|
@@ -317322,7 +317328,7 @@ var init_edit_file = __esm(() => {
|
|
|
317322
317328
|
const oldStr = args2.oldString;
|
|
317323
317329
|
const newStr = args2.newString;
|
|
317324
317330
|
if (oldStr === "") {
|
|
317325
|
-
const dir =
|
|
317331
|
+
const dir = dirname6(filePath);
|
|
317326
317332
|
let dirCreated = false;
|
|
317327
317333
|
try {
|
|
317328
317334
|
await statAsync3(dir);
|
|
@@ -333484,7 +333490,7 @@ var init_post_edit_fix = __esm(() => {
|
|
|
333484
333490
|
|
|
333485
333491
|
// src/core/tools/move-symbol.ts
|
|
333486
333492
|
import { access as access2, mkdir as mkdir3, readFile as readFile12, unlink as unlink2, writeFile as writeFile5 } from "fs/promises";
|
|
333487
|
-
import { dirname as
|
|
333493
|
+
import { dirname as dirname7, relative as relative5, resolve as resolve18 } from "path";
|
|
333488
333494
|
|
|
333489
333495
|
class WriteTransaction {
|
|
333490
333496
|
writes = [];
|
|
@@ -333511,7 +333517,7 @@ class WriteTransaction {
|
|
|
333511
333517
|
throw new Error(`Cannot write forbidden file: ${w.path} (${blocked})`);
|
|
333512
333518
|
}
|
|
333513
333519
|
for (const w of this.writes) {
|
|
333514
|
-
const dir =
|
|
333520
|
+
const dir = dirname7(w.path);
|
|
333515
333521
|
await mkdir3(dir, {
|
|
333516
333522
|
recursive: true
|
|
333517
333523
|
});
|
|
@@ -333616,7 +333622,7 @@ function findCommentStart(lines, defStart) {
|
|
|
333616
333622
|
return start2;
|
|
333617
333623
|
}
|
|
333618
333624
|
async function findProjectRoot(file2) {
|
|
333619
|
-
let dir =
|
|
333625
|
+
let dir = dirname7(resolve18(file2));
|
|
333620
333626
|
for (let depth = 0;depth < 20; depth++) {
|
|
333621
333627
|
for (const m of ["tsconfig.json", "package.json", "Cargo.toml", "go.mod", "pyproject.toml", "Makefile"]) {
|
|
333622
333628
|
try {
|
|
@@ -333624,12 +333630,12 @@ async function findProjectRoot(file2) {
|
|
|
333624
333630
|
return dir;
|
|
333625
333631
|
} catch {}
|
|
333626
333632
|
}
|
|
333627
|
-
const parent =
|
|
333633
|
+
const parent = dirname7(dir);
|
|
333628
333634
|
if (parent === dir)
|
|
333629
333635
|
break;
|
|
333630
333636
|
dir = parent;
|
|
333631
333637
|
}
|
|
333632
|
-
return
|
|
333638
|
+
return dirname7(file2);
|
|
333633
333639
|
}
|
|
333634
333640
|
async function grepSymbol(symbol26, root) {
|
|
333635
333641
|
try {
|
|
@@ -333770,7 +333776,7 @@ ${lines[j] ?? ""}`;
|
|
|
333770
333776
|
async resolveSource(source, contextFile) {
|
|
333771
333777
|
if (!source.startsWith("."))
|
|
333772
333778
|
return null;
|
|
333773
|
-
const dir =
|
|
333779
|
+
const dir = dirname7(contextFile);
|
|
333774
333780
|
const base = source.replace(/\.(js|ts|jsx|tsx|mjs|cjs)$/, "");
|
|
333775
333781
|
for (const ext of [".ts", ".tsx", ".js", ".jsx"]) {
|
|
333776
333782
|
const p = resolve18(dir, base + ext);
|
|
@@ -333782,7 +333788,7 @@ ${lines[j] ?? ""}`;
|
|
|
333782
333788
|
return null;
|
|
333783
333789
|
},
|
|
333784
333790
|
computePath(fromFile, toFile) {
|
|
333785
|
-
let rel = relative5(
|
|
333791
|
+
let rel = relative5(dirname7(fromFile), toFile).replace(/\.tsx?$/, ".js");
|
|
333786
333792
|
if (!rel.startsWith("."))
|
|
333787
333793
|
rel = `./${rel}`;
|
|
333788
333794
|
return rel;
|
|
@@ -333827,9 +333833,9 @@ ${lines[j] ?? ""}`;
|
|
|
333827
333833
|
const dots = source.match(/^(\.+)/);
|
|
333828
333834
|
const dotStr = dots?.[1] ?? ".";
|
|
333829
333835
|
const levels = dotStr.length - 1;
|
|
333830
|
-
let dir =
|
|
333836
|
+
let dir = dirname7(contextFile);
|
|
333831
333837
|
for (let i2 = 0;i2 < levels; i2++)
|
|
333832
|
-
dir =
|
|
333838
|
+
dir = dirname7(dir);
|
|
333833
333839
|
const parts3 = source.slice(dotStr.length).split(".");
|
|
333834
333840
|
const modPath2 = resolve18(dir, ...parts3);
|
|
333835
333841
|
if (await fileExists(`${modPath2}.py`))
|
|
@@ -333839,7 +333845,7 @@ ${lines[j] ?? ""}`;
|
|
|
333839
333845
|
return null;
|
|
333840
333846
|
}
|
|
333841
333847
|
const parts2 = source.split(".");
|
|
333842
|
-
const modPath = resolve18(
|
|
333848
|
+
const modPath = resolve18(dirname7(contextFile), ...parts2);
|
|
333843
333849
|
if (await fileExists(`${modPath}.py`))
|
|
333844
333850
|
return `${modPath}.py`;
|
|
333845
333851
|
if (await fileExists(resolve18(modPath, "__init__.py")))
|
|
@@ -333847,7 +333853,7 @@ ${lines[j] ?? ""}`;
|
|
|
333847
333853
|
return null;
|
|
333848
333854
|
},
|
|
333849
333855
|
computePath(fromFile, toFile) {
|
|
333850
|
-
const rel = relative5(
|
|
333856
|
+
const rel = relative5(dirname7(fromFile), toFile).replace(/\.py$/, "");
|
|
333851
333857
|
const parts2 = rel.split("/");
|
|
333852
333858
|
const upCount = parts2.filter((p) => p === "..").length;
|
|
333853
333859
|
const downParts = parts2.filter((p) => p !== "..");
|
|
@@ -333987,7 +333993,7 @@ ${lines[j] ?? ""}`;
|
|
|
333987
333993
|
return result;
|
|
333988
333994
|
},
|
|
333989
333995
|
async resolveSource(source, contextFile) {
|
|
333990
|
-
const p = resolve18(
|
|
333996
|
+
const p = resolve18(dirname7(contextFile), source);
|
|
333991
333997
|
try {
|
|
333992
333998
|
await access2(p);
|
|
333993
333999
|
return p;
|
|
@@ -333996,7 +334002,7 @@ ${lines[j] ?? ""}`;
|
|
|
333996
334002
|
}
|
|
333997
334003
|
},
|
|
333998
334004
|
computePath(fromFile, toFile) {
|
|
333999
|
-
return relative5(
|
|
334005
|
+
return relative5(dirname7(fromFile), toFile);
|
|
334000
334006
|
},
|
|
334001
334007
|
generate(_s, path) {
|
|
334002
334008
|
return `#include "${path}"`;
|
|
@@ -335981,7 +335987,7 @@ ${diagOutput}`;
|
|
|
335981
335987
|
|
|
335982
335988
|
// src/core/tools/rename-file.ts
|
|
335983
335989
|
import { mkdir as mkdir4, readFile as readFile15, rename as rename2, stat as statAsync7, writeFile as writeFile8 } from "fs/promises";
|
|
335984
|
-
import { dirname as
|
|
335990
|
+
import { dirname as dirname8, relative as relative6, resolve as resolve24 } from "path";
|
|
335985
335991
|
var renameFileTool;
|
|
335986
335992
|
var init_rename_file = __esm(() => {
|
|
335987
335993
|
init_intelligence();
|
|
@@ -336076,7 +336082,7 @@ var init_rename_file = __esm(() => {
|
|
|
336076
336082
|
appliedFiles.push(edit.file);
|
|
336077
336083
|
} catch {}
|
|
336078
336084
|
}
|
|
336079
|
-
const toDir =
|
|
336085
|
+
const toDir = dirname8(to);
|
|
336080
336086
|
await mkdir4(toDir, {
|
|
336081
336087
|
recursive: true
|
|
336082
336088
|
});
|
|
@@ -336397,10 +336403,10 @@ async function locateSymbol(router2, symbol26, hint) {
|
|
|
336397
336403
|
}
|
|
336398
336404
|
async function findProjectRoot2(file2) {
|
|
336399
336405
|
const {
|
|
336400
|
-
dirname:
|
|
336406
|
+
dirname: dirname9,
|
|
336401
336407
|
join: join20
|
|
336402
336408
|
} = __require("path");
|
|
336403
|
-
let dir =
|
|
336409
|
+
let dir = dirname9(file2);
|
|
336404
336410
|
const cwd2 = process.cwd();
|
|
336405
336411
|
while (dir.length >= cwd2.length) {
|
|
336406
336412
|
for (const marker21 of ["tsconfig.json", "package.json", "Cargo.toml", "go.mod", "pyproject.toml"]) {
|
|
@@ -336409,12 +336415,12 @@ async function findProjectRoot2(file2) {
|
|
|
336409
336415
|
return dir;
|
|
336410
336416
|
} catch {}
|
|
336411
336417
|
}
|
|
336412
|
-
const parent =
|
|
336418
|
+
const parent = dirname9(dir);
|
|
336413
336419
|
if (parent === dir)
|
|
336414
336420
|
break;
|
|
336415
336421
|
dir = parent;
|
|
336416
336422
|
}
|
|
336417
|
-
return
|
|
336423
|
+
return dirname9(file2);
|
|
336418
336424
|
}
|
|
336419
336425
|
async function findRemainingReferences(symbol26, definitionFile) {
|
|
336420
336426
|
try {
|
|
@@ -337149,7 +337155,7 @@ ${hint}` : stdout || stderr;
|
|
|
337149
337155
|
// src/core/skills/manager.ts
|
|
337150
337156
|
import { existsSync as existsSync16, readdirSync as readdirSync5, readFileSync as readFileSync9, realpathSync as realpathSync2, rmSync as rmSync2, statSync as statSync4 } from "fs";
|
|
337151
337157
|
import { homedir as homedir13 } from "os";
|
|
337152
|
-
import { dirname as
|
|
337158
|
+
import { dirname as dirname9, join as join20 } from "path";
|
|
337153
337159
|
async function searchSkills(query2) {
|
|
337154
337160
|
const url2 = `https://skills.sh/api/search?q=${encodeURIComponent(query2)}`;
|
|
337155
337161
|
const res = await fetch(url2);
|
|
@@ -337292,7 +337298,7 @@ function loadSkill(path) {
|
|
|
337292
337298
|
}
|
|
337293
337299
|
function removeInstalledSkill(skill) {
|
|
337294
337300
|
try {
|
|
337295
|
-
const dir =
|
|
337301
|
+
const dir = dirname9(skill.path);
|
|
337296
337302
|
if (existsSync16(dir)) {
|
|
337297
337303
|
rmSync2(dir, {
|
|
337298
337304
|
recursive: true
|
|
@@ -339324,7 +339330,7 @@ ${added.join(`
|
|
|
339324
339330
|
|
|
339325
339331
|
// src/core/tools/test-scaffold.ts
|
|
339326
339332
|
import { access as access4, mkdir as mkdir5, stat as stat5, writeFile as writeFile10 } from "fs/promises";
|
|
339327
|
-
import { basename as basename4, dirname as
|
|
339333
|
+
import { basename as basename4, dirname as dirname10, extname as extname8, join as join22, relative as relative11, resolve as resolve27 } from "path";
|
|
339328
339334
|
async function fileExists(path) {
|
|
339329
339335
|
try {
|
|
339330
339336
|
await access4(path);
|
|
@@ -339351,7 +339357,7 @@ async function detectTestFramework(cwd2) {
|
|
|
339351
339357
|
return "vitest";
|
|
339352
339358
|
}
|
|
339353
339359
|
async function inferTestPath(sourcePath) {
|
|
339354
|
-
const dir =
|
|
339360
|
+
const dir = dirname10(sourcePath);
|
|
339355
339361
|
const base = basename4(sourcePath, extname8(sourcePath));
|
|
339356
339362
|
const ext = extname8(sourcePath);
|
|
339357
339363
|
const testsDir = join22(dir, "__tests__");
|
|
@@ -339414,7 +339420,7 @@ var init_test_scaffold = __esm(() => {
|
|
|
339414
339420
|
};
|
|
339415
339421
|
}));
|
|
339416
339422
|
const outputPath = args2.output ?? await inferTestPath(file2);
|
|
339417
|
-
const relativePath = relative11(
|
|
339423
|
+
const relativePath = relative11(dirname10(outputPath), file2).replace(/\\/g, "/");
|
|
339418
339424
|
const importPath = relativePath.startsWith(".") ? relativePath : `./${relativePath}`;
|
|
339419
339425
|
const importPathNoExt = importPath.replace(/\.(ts|tsx|js|jsx|mts|cts|mjs|cjs)$/, "");
|
|
339420
339426
|
const lines = [];
|
|
@@ -339489,7 +339495,7 @@ var init_test_scaffold = __esm(() => {
|
|
|
339489
339495
|
error: "path outside project"
|
|
339490
339496
|
};
|
|
339491
339497
|
}
|
|
339492
|
-
await mkdir5(
|
|
339498
|
+
await mkdir5(dirname10(resolvedOutput), {
|
|
339493
339499
|
recursive: true
|
|
339494
339500
|
});
|
|
339495
339501
|
await writeFile10(resolvedOutput, content, "utf-8");
|
|
@@ -382217,7 +382223,7 @@ import { EventEmitter } from "events";
|
|
|
382217
382223
|
import { Buffer as Buffer2 } from "buffer";
|
|
382218
382224
|
import { Buffer as Buffer3 } from "buffer";
|
|
382219
382225
|
import { EventEmitter as EventEmitter2 } from "events";
|
|
382220
|
-
import { resolve as resolve31, dirname as
|
|
382226
|
+
import { resolve as resolve31, dirname as dirname11 } from "path";
|
|
382221
382227
|
import { fileURLToPath } from "url";
|
|
382222
382228
|
import { resolve as resolve210, isAbsolute, parse as parse7 } from "path";
|
|
382223
382229
|
import { existsSync as existsSync23 } from "fs";
|
|
@@ -385418,25 +385424,25 @@ function getParsers() {
|
|
|
385418
385424
|
filetype: "javascript",
|
|
385419
385425
|
aliases: ["javascriptreact"],
|
|
385420
385426
|
queries: {
|
|
385421
|
-
highlights: [resolve31(
|
|
385427
|
+
highlights: [resolve31(dirname11(fileURLToPath(import.meta.url)), highlights_default)]
|
|
385422
385428
|
},
|
|
385423
|
-
wasm: resolve31(
|
|
385429
|
+
wasm: resolve31(dirname11(fileURLToPath(import.meta.url)), tree_sitter_javascript_default)
|
|
385424
385430
|
},
|
|
385425
385431
|
{
|
|
385426
385432
|
filetype: "typescript",
|
|
385427
385433
|
aliases: ["typescriptreact"],
|
|
385428
385434
|
queries: {
|
|
385429
|
-
highlights: [resolve31(
|
|
385435
|
+
highlights: [resolve31(dirname11(fileURLToPath(import.meta.url)), highlights_default2)]
|
|
385430
385436
|
},
|
|
385431
|
-
wasm: resolve31(
|
|
385437
|
+
wasm: resolve31(dirname11(fileURLToPath(import.meta.url)), tree_sitter_typescript_default)
|
|
385432
385438
|
},
|
|
385433
385439
|
{
|
|
385434
385440
|
filetype: "markdown",
|
|
385435
385441
|
queries: {
|
|
385436
|
-
highlights: [resolve31(
|
|
385437
|
-
injections: [resolve31(
|
|
385442
|
+
highlights: [resolve31(dirname11(fileURLToPath(import.meta.url)), highlights_default3)],
|
|
385443
|
+
injections: [resolve31(dirname11(fileURLToPath(import.meta.url)), injections_default)]
|
|
385438
385444
|
},
|
|
385439
|
-
wasm: resolve31(
|
|
385445
|
+
wasm: resolve31(dirname11(fileURLToPath(import.meta.url)), tree_sitter_markdown_default),
|
|
385440
385446
|
injectionMapping: {
|
|
385441
385447
|
nodeTypes: {
|
|
385442
385448
|
inline: "markdown_inline",
|
|
@@ -385459,16 +385465,16 @@ function getParsers() {
|
|
|
385459
385465
|
{
|
|
385460
385466
|
filetype: "markdown_inline",
|
|
385461
385467
|
queries: {
|
|
385462
|
-
highlights: [resolve31(
|
|
385468
|
+
highlights: [resolve31(dirname11(fileURLToPath(import.meta.url)), highlights_default4)]
|
|
385463
385469
|
},
|
|
385464
|
-
wasm: resolve31(
|
|
385470
|
+
wasm: resolve31(dirname11(fileURLToPath(import.meta.url)), tree_sitter_markdown_inline_default)
|
|
385465
385471
|
},
|
|
385466
385472
|
{
|
|
385467
385473
|
filetype: "zig",
|
|
385468
385474
|
queries: {
|
|
385469
|
-
highlights: [resolve31(
|
|
385475
|
+
highlights: [resolve31(dirname11(fileURLToPath(import.meta.url)), highlights_default5)]
|
|
385470
385476
|
},
|
|
385471
|
-
wasm: resolve31(
|
|
385477
|
+
wasm: resolve31(dirname11(fileURLToPath(import.meta.url)), tree_sitter_zig_default)
|
|
385472
385478
|
}
|
|
385473
385479
|
];
|
|
385474
385480
|
}
|
|
@@ -429595,7 +429601,8 @@ async function start2(opts) {
|
|
|
429595
429601
|
exitOnCtrlC: false,
|
|
429596
429602
|
useKittyKeyboard: {
|
|
429597
429603
|
disambiguate: true
|
|
429598
|
-
}
|
|
429604
|
+
},
|
|
429605
|
+
openConsoleOnError: false
|
|
429599
429606
|
});
|
|
429600
429607
|
renderer = r4;
|
|
429601
429608
|
r4.setMaxListeners(30);
|
|
@@ -430417,7 +430424,7 @@ __export(exports_export, {
|
|
|
430417
430424
|
exportChat: () => exportChat
|
|
430418
430425
|
});
|
|
430419
430426
|
import { mkdirSync as mkdirSync10, writeFileSync as writeFileSync8 } from "fs";
|
|
430420
|
-
import { dirname as
|
|
430427
|
+
import { dirname as dirname14, join as join37 } from "path";
|
|
430421
430428
|
function formatTimestamp(ts) {
|
|
430422
430429
|
const d3 = new Date(ts);
|
|
430423
430430
|
return d3.toLocaleString("en-US", {
|
|
@@ -430599,7 +430606,7 @@ function exportChat(messages, opts) {
|
|
|
430599
430606
|
const slug = slugify2(title);
|
|
430600
430607
|
outPath = join37(exportDir, `${slug}-${stamp}${ext}`);
|
|
430601
430608
|
}
|
|
430602
|
-
const parentDir =
|
|
430609
|
+
const parentDir = dirname14(outPath);
|
|
430603
430610
|
mkdirSync10(parentDir, {
|
|
430604
430611
|
recursive: true
|
|
430605
430612
|
});
|
|
@@ -430685,9 +430692,9 @@ async function handleExportAll(ctx) {
|
|
|
430685
430692
|
const relPath = outPath.startsWith(ctx.cwd) ? outPath.slice(ctx.cwd.length + 1) : outPath;
|
|
430686
430693
|
sysMsg(ctx, `Diagnostic export \u2192 \`${relPath}\` (system prompt: ${String(Math.round(systemPrompt.length / 4))} tokens, ${String(coreMessages.length)} core messages, ${String(chatMessages.length)} chat messages)`);
|
|
430687
430694
|
const {
|
|
430688
|
-
dirname:
|
|
430695
|
+
dirname: dirname15
|
|
430689
430696
|
} = await import("path");
|
|
430690
|
-
Bun.spawn([process.platform === "darwin" ? "open" : "xdg-open",
|
|
430697
|
+
Bun.spawn([process.platform === "darwin" ? "open" : "xdg-open", dirname15(outPath)]);
|
|
430691
430698
|
}
|
|
430692
430699
|
async function handleExport(input, ctx) {
|
|
430693
430700
|
const trimmed = input.trim();
|
|
@@ -430734,9 +430741,9 @@ async function handleExport(input, ctx) {
|
|
|
430734
430741
|
const relPath = result.path.startsWith(ctx.cwd) ? result.path.slice(ctx.cwd.length + 1) : result.path;
|
|
430735
430742
|
sysMsg(ctx, `Exported ${String(result.messageCount)} messages \u2192 \`${relPath}\``);
|
|
430736
430743
|
const {
|
|
430737
|
-
dirname:
|
|
430744
|
+
dirname: dirname15
|
|
430738
430745
|
} = await import("path");
|
|
430739
|
-
const dir =
|
|
430746
|
+
const dir = dirname15(result.path);
|
|
430740
430747
|
const opener = process.platform === "darwin" ? "open" : process.platform === "win32" ? "explorer" : "xdg-open";
|
|
430741
430748
|
Bun.spawn([opener, dir]);
|
|
430742
430749
|
}
|
|
@@ -439076,13 +439083,13 @@ var init_useChat = __esm(() => {
|
|
|
439076
439083
|
// src/core/history/db.ts
|
|
439077
439084
|
import { Database as Database4 } from "bun:sqlite";
|
|
439078
439085
|
import { existsSync as existsSync30, mkdirSync as mkdirSync11 } from "fs";
|
|
439079
|
-
import { dirname as
|
|
439086
|
+
import { dirname as dirname15 } from "path";
|
|
439080
439087
|
|
|
439081
439088
|
class HistoryDB {
|
|
439082
439089
|
db;
|
|
439083
439090
|
writesSincePrune = 0;
|
|
439084
439091
|
constructor(dbPath) {
|
|
439085
|
-
const dir =
|
|
439092
|
+
const dir = dirname15(dbPath);
|
|
439086
439093
|
if (!existsSync30(dir))
|
|
439087
439094
|
mkdirSync11(dir, {
|
|
439088
439095
|
recursive: true
|
|
@@ -439984,7 +439991,7 @@ var init_InputBox = __esm(async () => {
|
|
|
439984
439991
|
// src/core/utils/syntax.ts
|
|
439985
439992
|
import { existsSync as existsSync31, readdirSync as readdirSync8 } from "fs";
|
|
439986
439993
|
import { homedir as homedir20 } from "os";
|
|
439987
|
-
import { dirname as
|
|
439994
|
+
import { dirname as dirname16, join as join41, resolve as resolve33 } from "path";
|
|
439988
439995
|
function discoverParsers() {
|
|
439989
439996
|
const parsers = [];
|
|
439990
439997
|
let dirs;
|
|
@@ -440051,16 +440058,20 @@ function getTSClient() {
|
|
|
440051
440058
|
}
|
|
440052
440059
|
return _tsClient;
|
|
440053
440060
|
}
|
|
440054
|
-
var
|
|
440061
|
+
var IS_COMPILED3, IS_DIST3, bundledAssets, distAssets, coreAssetsDir, MARKDOWN_INJECTION_MAP, TS_ALIASES, EXTRA_FILETYPES, theme, _syntaxStyle = null, _tsClient = null;
|
|
440055
440062
|
var init_syntax = __esm(async () => {
|
|
440056
440063
|
await init_core4();
|
|
440057
|
-
|
|
440064
|
+
IS_COMPILED3 = import.meta.url.includes("$bunfs");
|
|
440065
|
+
IS_DIST3 = !IS_COMPILED3 && import.meta.dir.includes("/dist");
|
|
440058
440066
|
bundledAssets = join41(homedir20(), ".soulforge", "opentui-assets");
|
|
440059
|
-
|
|
440067
|
+
distAssets = join41(import.meta.dir, "opentui-assets");
|
|
440068
|
+
if (IS_COMPILED3) {
|
|
440060
440069
|
coreAssetsDir = bundledAssets;
|
|
440070
|
+
} else if (IS_DIST3) {
|
|
440071
|
+
coreAssetsDir = existsSync31(distAssets) ? distAssets : bundledAssets;
|
|
440061
440072
|
} else {
|
|
440062
440073
|
try {
|
|
440063
|
-
coreAssetsDir = resolve33(
|
|
440074
|
+
coreAssetsDir = resolve33(dirname16(__require.resolve("@opentui/core")), "assets");
|
|
440064
440075
|
} catch {
|
|
440065
440076
|
coreAssetsDir = bundledAssets;
|
|
440066
440077
|
}
|