abtars 0.2.1 → 0.2.3-alpha.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/bundle/{_registry.generated-FNJOX7VV.js → _registry.generated-KM6LXTNJ.js} +3 -3
- package/bundle/abtars-cli.js +69 -14
- package/bundle/abtars-cli.js.map +3 -3
- package/bundle/abtars.js +122 -65
- package/bundle/abtars.js.map +3 -3
- package/bundle/{agent-registry-S2MNHQYQ.js → agent-registry-ABPFQXNL.js} +3 -3
- package/bundle/{chunk-QIAFGDRL.js → chunk-2SFN2VYD.js} +4 -4
- package/bundle/{chunk-3X6VGRL6.js → chunk-2W6JIHZ5.js} +4 -1
- package/bundle/chunk-2W6JIHZ5.js.map +7 -0
- package/bundle/{chunk-HCYENZAB.js → chunk-6TSCOXF6.js} +58 -27
- package/bundle/chunk-6TSCOXF6.js.map +7 -0
- package/bundle/{chunk-2SWKJX64.js → chunk-7B3GK5JQ.js} +3 -3
- package/bundle/{chunk-KL5QRHHK.js → chunk-ENXQMPV3.js} +1 -2
- package/bundle/chunk-ENXQMPV3.js.map +7 -0
- package/bundle/{chunk-WLAVZSVZ.js → chunk-GXKJKYU4.js} +70 -2
- package/bundle/chunk-GXKJKYU4.js.map +7 -0
- package/bundle/{chunk-Z4SWEFIY.js → chunk-HFPXN6NM.js} +4 -4
- package/bundle/chunk-HFPXN6NM.js.map +7 -0
- package/bundle/{chunk-MHK4UPM6.js → chunk-PKHYCNTT.js} +1 -1
- package/bundle/{chunk-OGZXYN6E.js → chunk-SEXVA3GK.js} +224 -46
- package/bundle/chunk-SEXVA3GK.js.map +7 -0
- package/bundle/chunk-W6ELWLAR.js +143 -0
- package/bundle/chunk-W6ELWLAR.js.map +7 -0
- package/bundle/{commands-AXW7L2MZ.js → commands-L6VIMPCR.js} +5 -5
- package/bundle/{direct-api-transport-LSAUIP5S.js → direct-api-transport-BK72AP3I.js} +18 -2
- package/bundle/direct-api-transport-BK72AP3I.js.map +7 -0
- package/bundle/{discord-adapter-LNWTIOUK.js → discord-adapter-DWIQRNDI.js} +6 -6
- package/bundle/{doctor-PIPSGI3H.js → doctor-WHTVSUOF.js} +36 -26
- package/bundle/doctor-WHTVSUOF.js.map +7 -0
- package/bundle/{install-FZT43PTH.js → install-Q4XNCPG7.js} +2 -2
- package/bundle/kanban-board-I52RHNHQ.js +31 -0
- package/bundle/{message-pipeline-QX272U5X.js → message-pipeline-GCSZCQWO.js} +5 -5
- package/bundle/meta.json +971 -768
- package/bundle/{phase-transport-BSGROTHY.js → phase-transport-F7GQRRYE.js} +4 -4
- package/bundle/{sleep-K7EXAFGW.js → sleep-MYOZ73IU.js} +3 -3
- package/bundle/{subagent-runtime-FQAT3564.js → subagent-runtime-QA4LVU4C.js} +2 -2
- package/bundle/{system-status-7K2QTH3J.js → system-status-KMKPAC5Z.js} +4 -2
- package/bundle/system-status-KMKPAC5Z.js.map +7 -0
- package/bundle/{telegram-adapter-LXLSG4SK.js → telegram-adapter-TRMCC634.js} +10 -7
- package/bundle/telegram-adapter-TRMCC634.js.map +7 -0
- package/bundle/{tool-registry-5PXNSYOI.js → tool-registry-CG7GIS64.js} +3 -2
- package/bundle/tool-registry-CG7GIS64.js.map +7 -0
- package/config/transport.default.json +2 -1
- package/install-manifest.json +1 -0
- package/package.json +2 -1
- package/scripts/abtars-daemon.service +0 -1
- package/scripts/abtars@.service +0 -1
- package/scripts/build-and-deploy.sh +35 -7
- package/bundle/chunk-3X6VGRL6.js.map +0 -7
- package/bundle/chunk-HCYENZAB.js.map +0 -7
- package/bundle/chunk-KL5QRHHK.js.map +0 -7
- package/bundle/chunk-OGZXYN6E.js.map +0 -7
- package/bundle/chunk-WLAVZSVZ.js.map +0 -7
- package/bundle/chunk-Z4SWEFIY.js.map +0 -7
- package/bundle/direct-api-transport-LSAUIP5S.js.map +0 -7
- package/bundle/doctor-PIPSGI3H.js.map +0 -7
- package/bundle/system-status-7K2QTH3J.js.map +0 -7
- package/bundle/telegram-adapter-LXLSG4SK.js.map +0 -7
- /package/bundle/{_registry.generated-FNJOX7VV.js.map → _registry.generated-KM6LXTNJ.js.map} +0 -0
- /package/bundle/{agent-registry-S2MNHQYQ.js.map → agent-registry-ABPFQXNL.js.map} +0 -0
- /package/bundle/{chunk-QIAFGDRL.js.map → chunk-2SFN2VYD.js.map} +0 -0
- /package/bundle/{chunk-2SWKJX64.js.map → chunk-7B3GK5JQ.js.map} +0 -0
- /package/bundle/{chunk-MHK4UPM6.js.map → chunk-PKHYCNTT.js.map} +0 -0
- /package/bundle/{commands-AXW7L2MZ.js.map → commands-L6VIMPCR.js.map} +0 -0
- /package/bundle/{discord-adapter-LNWTIOUK.js.map → discord-adapter-DWIQRNDI.js.map} +0 -0
- /package/bundle/{install-FZT43PTH.js.map → install-Q4XNCPG7.js.map} +0 -0
- /package/bundle/{message-pipeline-QX272U5X.js.map → kanban-board-I52RHNHQ.js.map} +0 -0
- /package/bundle/{phase-transport-BSGROTHY.js.map → message-pipeline-GCSZCQWO.js.map} +0 -0
- /package/bundle/{sleep-K7EXAFGW.js.map → phase-transport-F7GQRRYE.js.map} +0 -0
- /package/bundle/{subagent-runtime-FQAT3564.js.map → sleep-MYOZ73IU.js.map} +0 -0
- /package/bundle/{tool-registry-5PXNSYOI.js.map → subagent-runtime-QA4LVU4C.js.map} +0 -0
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
import "./chunk-DHPFI7OF.js";
|
|
7
7
|
import {
|
|
8
8
|
sleep_exports
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HFPXN6NM.js";
|
|
10
10
|
import {
|
|
11
11
|
hotskills_exports,
|
|
12
12
|
init_hotskills
|
|
13
13
|
} from "./chunk-NIYVCGBC.js";
|
|
14
14
|
import "./chunk-ITB2K6LI.js";
|
|
15
|
-
import "./chunk-JAJ3DUQ2.js";
|
|
16
15
|
import "./chunk-HAF2AFBW.js";
|
|
16
|
+
import "./chunk-JAJ3DUQ2.js";
|
|
17
17
|
import "./chunk-RTL7HO3N.js";
|
|
18
18
|
import "./chunk-TBLYGCPQ.js";
|
|
19
19
|
import "./chunk-H7RX7UCR.js";
|
|
@@ -36,4 +36,4 @@ var capabilities = [
|
|
|
36
36
|
export {
|
|
37
37
|
capabilities
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=_registry.generated-
|
|
39
|
+
//# sourceMappingURL=_registry.generated-KM6LXTNJ.js.map
|
package/bundle/abtars-cli.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
|
|
3
3
|
import {
|
|
4
4
|
install
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ENXQMPV3.js";
|
|
6
6
|
import {
|
|
7
7
|
rollback
|
|
8
8
|
} from "./chunk-EKHNWFEQ.js";
|
|
@@ -337,7 +337,7 @@ var ABMIND_EXCLUDE = [
|
|
|
337
337
|
"*.db-wal",
|
|
338
338
|
"*.db-shm"
|
|
339
339
|
];
|
|
340
|
-
var CONFIG_DIRS = ["config", "secret", "tasks", "skills", "core", "agents"];
|
|
340
|
+
var CONFIG_DIRS = ["config", "secret", "tasks", "skills", "core", "agents", "kanban"];
|
|
341
341
|
async function backup(opts = {}) {
|
|
342
342
|
const abHome = abtarsHome();
|
|
343
343
|
const abmindHome = process.env["ABMIND_HOME"] ?? join4(dirname(abHome), ".abmind");
|
|
@@ -1316,11 +1316,11 @@ import { hostname } from "node:os";
|
|
|
1316
1316
|
import { join as join10 } from "node:path";
|
|
1317
1317
|
import { readFileSync as readFileSync6, writeFileSync as writeFileSync3, existsSync as existsSync8 } from "node:fs";
|
|
1318
1318
|
import { copyFile as copyFile2, mkdir as mkdir4, chmod, readdir } from "node:fs/promises";
|
|
1319
|
-
import { rmSync as rmSync2, cpSync, readdirSync as readdirSync3, mkdirSync as mkdirSync2 } from "node:fs";
|
|
1319
|
+
import { rmSync as rmSync2, cpSync as cpSync2, readdirSync as readdirSync3, mkdirSync as mkdirSync2, copyFileSync } from "node:fs";
|
|
1320
1320
|
|
|
1321
1321
|
// src/cli/update-sources/local.ts
|
|
1322
1322
|
import { spawnSync as spawnSync2 } from "node:child_process";
|
|
1323
|
-
import { existsSync as existsSync6 } from "node:fs";
|
|
1323
|
+
import { existsSync as existsSync6, cpSync } from "node:fs";
|
|
1324
1324
|
import { copyFile, cp, mkdir as mkdir2, readFile as readFile2, rm, writeFile as writeFile2 } from "node:fs/promises";
|
|
1325
1325
|
import { join as join8 } from "node:path";
|
|
1326
1326
|
var LocalBuildError = class extends Error {
|
|
@@ -1426,7 +1426,11 @@ function makeLocalBuildSource(opts = {}) {
|
|
|
1426
1426
|
if (opts.skipInstall !== true) {
|
|
1427
1427
|
runCmd("npm", ["install", "--no-audit", "--no-fund"], repoRoot);
|
|
1428
1428
|
}
|
|
1429
|
-
runCmd("
|
|
1429
|
+
runCmd("node", ["esbuild.config.js"], repoRoot);
|
|
1430
|
+
const publicSrc = join8(repoRoot, "src", "components", "dashboard", "public");
|
|
1431
|
+
if (existsSync6(publicSrc)) cpSync(publicSrc, join8(repoRoot, "bundle", "public"), { recursive: true });
|
|
1432
|
+
const agentsSrc = join8(repoRoot, "agents");
|
|
1433
|
+
if (existsSync6(agentsSrc)) cpSync(agentsSrc, join8(repoRoot, "bundle", "agents"), { recursive: true });
|
|
1430
1434
|
const stagedPath = ctx.stagingDir;
|
|
1431
1435
|
await rm(stagedPath, { recursive: true, force: true });
|
|
1432
1436
|
await mkdir2(stagedPath, { recursive: true });
|
|
@@ -1622,6 +1626,9 @@ Use --source local (default) or --source npm.
|
|
|
1622
1626
|
writeSentinel(paths.home, { ...sentinelData, status: "success" });
|
|
1623
1627
|
process.stdout.write(`\u2713 Bridge healthy (PID ${health.pid}, tick at ${new Date(health.heartbeat).toISOString()})
|
|
1624
1628
|
`);
|
|
1629
|
+
const stateFile = join10(paths.home, "deploy.state");
|
|
1630
|
+
writeFileSync3(stateFile, JSON.stringify({ status: "success", completedAt: (/* @__PURE__ */ new Date()).toISOString(), version: staged.version }) + "\n");
|
|
1631
|
+
await syncAssets(paths.home, staged.stagedPath);
|
|
1625
1632
|
return 0;
|
|
1626
1633
|
}
|
|
1627
1634
|
process.stderr.write(`\u274C Bridge unhealthy after 60s. Auto-rolling back...
|
|
@@ -1662,6 +1669,7 @@ Use --source local (default) or --source npm.
|
|
|
1662
1669
|
}
|
|
1663
1670
|
}
|
|
1664
1671
|
async function copyAbmind(stagedPath, repoRoot) {
|
|
1672
|
+
if ((process.env["MEMORY"] ?? "auto") === "none") return;
|
|
1665
1673
|
const candidates = [
|
|
1666
1674
|
process.env["ABMIND_REPO"],
|
|
1667
1675
|
join10(repoRoot, "..", "abmind"),
|
|
@@ -1672,16 +1680,20 @@ async function copyAbmind(stagedPath, repoRoot) {
|
|
|
1672
1680
|
if (existsSync8(distDir)) {
|
|
1673
1681
|
const dest = join10(stagedPath, "bundle", "node_modules", "abmind");
|
|
1674
1682
|
mkdirSync2(dest, { recursive: true });
|
|
1675
|
-
|
|
1676
|
-
if (existsSync8(join10(src, "package.json")))
|
|
1677
|
-
if (existsSync8(join10(src, "prompts")))
|
|
1683
|
+
cpSync2(distDir, join10(dest, "dist"), { recursive: true });
|
|
1684
|
+
if (existsSync8(join10(src, "package.json"))) cpSync2(join10(src, "package.json"), join10(dest, "package.json"));
|
|
1685
|
+
if (existsSync8(join10(src, "prompts"))) cpSync2(join10(src, "prompts"), join10(dest, "prompts"), { recursive: true });
|
|
1678
1686
|
const stalePath = join10(stagedPath, "node_modules", "abmind");
|
|
1679
1687
|
if (existsSync8(stalePath)) rmSync2(stalePath, { recursive: true });
|
|
1680
1688
|
try {
|
|
1681
1689
|
const pkg = JSON.parse(readFileSync6(join10(dest, "package.json"), "utf-8"));
|
|
1682
1690
|
const abmindHome = process.env["ABMIND_HOME"] ?? join10(process.env["HOME"] ?? "", ".abmind");
|
|
1683
1691
|
mkdirSync2(abmindHome, { recursive: true });
|
|
1684
|
-
const
|
|
1692
|
+
const { spawnSync: spawnSync4 } = await import("node:child_process");
|
|
1693
|
+
const gitResult = spawnSync4("git", ["-C", src, "rev-parse", "--short", "HEAD"], { encoding: "utf-8" });
|
|
1694
|
+
const commit = gitResult.status === 0 ? gitResult.stdout.trim() : "";
|
|
1695
|
+
const version = commit ? `${pkg.version}-${commit}` : pkg.version;
|
|
1696
|
+
const manifest = { version, activatedAt: (/* @__PURE__ */ new Date()).toISOString(), source: "local" };
|
|
1685
1697
|
writeFileSync3(join10(abmindHome, "manifest.json"), JSON.stringify(manifest, null, 2) + "\n");
|
|
1686
1698
|
} catch {
|
|
1687
1699
|
}
|
|
@@ -1709,7 +1721,7 @@ async function postSwapHousekeeping(paths, repoRoot, _staged) {
|
|
|
1709
1721
|
}
|
|
1710
1722
|
process.stdout.write(`\u2713 scripts refreshed (${scriptFiles.length} files)
|
|
1711
1723
|
`);
|
|
1712
|
-
const { writeWrapper } = await import("./install-
|
|
1724
|
+
const { writeWrapper } = await import("./install-Q4XNCPG7.js");
|
|
1713
1725
|
await mkdir4(paths.bin, { recursive: true });
|
|
1714
1726
|
for (const name of installManifest.cliWrappers) {
|
|
1715
1727
|
await writeWrapper(paths.bin, name, paths.app, false);
|
|
@@ -1720,7 +1732,7 @@ async function postSwapHousekeeping(paths, repoRoot, _staged) {
|
|
|
1720
1732
|
const skillsCoreDst = join10(paths.home, "skills", "core");
|
|
1721
1733
|
if (existsSync8(skillsCoreSrc)) {
|
|
1722
1734
|
rmSync2(skillsCoreDst, { recursive: true, force: true });
|
|
1723
|
-
|
|
1735
|
+
cpSync2(skillsCoreSrc, skillsCoreDst, { recursive: true });
|
|
1724
1736
|
const files = readdirSync3(skillsCoreDst, { recursive: true });
|
|
1725
1737
|
const count = files.filter((f) => f.endsWith("SKILL.md")).length;
|
|
1726
1738
|
process.stdout.write(`\u2713 skills/core synced (${count} skills)
|
|
@@ -1735,13 +1747,13 @@ async function postSwapHousekeeping(paths, repoRoot, _staged) {
|
|
|
1735
1747
|
for (const f of readdirSync3(releaseConfig)) {
|
|
1736
1748
|
const src = join10(releaseConfig, f);
|
|
1737
1749
|
if (f.endsWith(".example")) {
|
|
1738
|
-
|
|
1750
|
+
cpSync2(src, join10(destConfig, f));
|
|
1739
1751
|
const target = join10(destConfig, f.replace(".example", ""));
|
|
1740
|
-
if (!existsSync8(target))
|
|
1752
|
+
if (!existsSync8(target)) cpSync2(src, target);
|
|
1741
1753
|
}
|
|
1742
1754
|
}
|
|
1743
1755
|
const defaultTransport = join10(releaseConfig, "transport.default.json");
|
|
1744
|
-
if (existsSync8(defaultTransport))
|
|
1756
|
+
if (existsSync8(defaultTransport)) cpSync2(defaultTransport, join10(destConfig, "transport.default.json"));
|
|
1745
1757
|
}
|
|
1746
1758
|
const transportJson = join10(paths.home, "config", "transport.json");
|
|
1747
1759
|
if (existsSync8(transportJson)) {
|
|
@@ -1869,6 +1881,49 @@ async function checkForUpdates(home, opts) {
|
|
|
1869
1881
|
`);
|
|
1870
1882
|
return 2;
|
|
1871
1883
|
}
|
|
1884
|
+
async function syncAssets(home, _stagedPath) {
|
|
1885
|
+
const abmindBundle = join10(home, "app", "bundle", "node_modules", "abmind");
|
|
1886
|
+
const abmindHome = process.env["ABMIND_HOME"] ?? join10(process.env["HOME"] ?? "", ".abmind");
|
|
1887
|
+
const coreDir = join10(abmindHome, "memory", "core");
|
|
1888
|
+
mkdirSync2(coreDir, { recursive: true });
|
|
1889
|
+
const mtSrc = join10(abmindBundle, "dist", "core", "memory-tools.md");
|
|
1890
|
+
if (existsSync8(mtSrc)) copyFileSync(mtSrc, join10(coreDir, "memory-tools.md"));
|
|
1891
|
+
for (const file of ["core_facts.md", "agent_notes.md"]) {
|
|
1892
|
+
const src = join10(abmindBundle, "templates", "core", file);
|
|
1893
|
+
if (!existsSync8(src)) continue;
|
|
1894
|
+
const live = join10(coreDir, file);
|
|
1895
|
+
if (!existsSync8(live)) {
|
|
1896
|
+
copyFileSync(src, live);
|
|
1897
|
+
} else {
|
|
1898
|
+
copyFileSync(src, join10(coreDir, file.replace(".md", ".template.md")));
|
|
1899
|
+
}
|
|
1900
|
+
}
|
|
1901
|
+
const sleepSrc = join10(abmindBundle, "prompts", "sleep");
|
|
1902
|
+
if (existsSync8(sleepSrc)) {
|
|
1903
|
+
const sleepDst = join10(abmindHome, "prompts", "sleep");
|
|
1904
|
+
mkdirSync2(sleepDst, { recursive: true });
|
|
1905
|
+
for (const f of readdirSync3(sleepSrc)) {
|
|
1906
|
+
copyFileSync(join10(sleepSrc, f), join10(sleepDst, f));
|
|
1907
|
+
}
|
|
1908
|
+
}
|
|
1909
|
+
const skillsSrc = join10(home, "app", "core", "skills");
|
|
1910
|
+
if (existsSync8(skillsSrc)) {
|
|
1911
|
+
const skillsDst = join10(home, "skills", "core");
|
|
1912
|
+
mkdirSync2(skillsDst, { recursive: true });
|
|
1913
|
+
cpSync2(skillsSrc, skillsDst, { recursive: true });
|
|
1914
|
+
}
|
|
1915
|
+
const agentSrc = join10(home, "app", "bundle", "agents", "default.md");
|
|
1916
|
+
if (existsSync8(agentSrc)) {
|
|
1917
|
+
const agentDst = join10(home, "agents");
|
|
1918
|
+
mkdirSync2(agentDst, { recursive: true });
|
|
1919
|
+
const live = join10(agentDst, "default.md");
|
|
1920
|
+
if (!existsSync8(live)) {
|
|
1921
|
+
copyFileSync(agentSrc, live);
|
|
1922
|
+
} else {
|
|
1923
|
+
copyFileSync(agentSrc, join10(agentDst, "default.template.md"));
|
|
1924
|
+
}
|
|
1925
|
+
}
|
|
1926
|
+
}
|
|
1872
1927
|
|
|
1873
1928
|
// src/cli/abtars.ts
|
|
1874
1929
|
process.umask(63);
|