@songsid/agend 2.2.0-beta.1 → 2.2.0-beta.2
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/README.md +1 -1
- package/README.zh-TW.md +1 -1
- package/dist/agent-cli-instructions.md +10 -7
- package/dist/agent-endpoint.js +21 -9
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/agent-whats-new.d.ts +47 -0
- package/dist/agent-whats-new.js +141 -0
- package/dist/agent-whats-new.js.map +1 -0
- package/dist/auth-api.d.ts +2 -2
- package/dist/auth-api.js +2 -2
- package/dist/auth-api.js.map +1 -1
- package/dist/backend/kiro-engine-ledger.d.ts +5 -0
- package/dist/backend/kiro-engine-ledger.js +20 -0
- package/dist/backend/kiro-engine-ledger.js.map +1 -1
- package/dist/backend/kiro-identity.d.ts +6 -0
- package/dist/backend/kiro-identity.js +19 -5
- package/dist/backend/kiro-identity.js.map +1 -1
- package/dist/backend/kiro.d.ts +14 -2
- package/dist/backend/kiro.js +84 -9
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend/types.d.ts +4 -2
- package/dist/backend/types.js.map +1 -1
- package/dist/channel/adapters/discord.d.ts +11 -1
- package/dist/channel/adapters/discord.js +23 -1
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/adapters/telegram.d.ts +9 -1
- package/dist/channel/adapters/telegram.js +22 -2
- package/dist/channel/adapters/telegram.js.map +1 -1
- package/dist/channel/mcp-server.js +9 -1
- package/dist/channel/mcp-server.js.map +1 -1
- package/dist/channel/mcp-tools.d.ts +11 -0
- package/dist/channel/mcp-tools.js +23 -12
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/channel/tool-router.js +7 -2
- package/dist/channel/tool-router.js.map +1 -1
- package/dist/channel/types.d.ts +11 -1
- package/dist/cli.js +55 -16
- package/dist/cli.js.map +1 -1
- package/dist/command-table.js +1 -1
- package/dist/command-table.js.map +1 -1
- package/dist/config-validator.js +48 -0
- package/dist/config-validator.js.map +1 -1
- package/dist/cross-instance-envelope.d.ts +15 -2
- package/dist/cross-instance-envelope.js +27 -5
- package/dist/cross-instance-envelope.js.map +1 -1
- package/dist/daemon.d.ts +36 -0
- package/dist/daemon.js +157 -6
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-outbox.d.ts +6 -0
- package/dist/delivery-outbox.js.map +1 -1
- package/dist/fleet-manager.d.ts +41 -0
- package/dist/fleet-manager.js +218 -5
- package/dist/fleet-manager.js.map +1 -1
- package/dist/general-knowledge/skills/backend-providers/SKILL.md +1 -1
- package/dist/general-knowledge/skills/credential-profiles/SKILL.md +9 -6
- package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +11 -2
- package/dist/general-knowledge/skills/delegation-playbook/SKILL.md +8 -8
- package/dist/general-knowledge/skills/fleet-config/SKILL.md +5 -5
- package/dist/general-knowledge/skills/fleet-health/SKILL.md +4 -4
- package/dist/general-knowledge/skills/fleet-restart/SKILL.md +13 -13
- package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +3 -2
- package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +6 -0
- package/dist/general-knowledge/skills/model-discovery/SKILL.md +9 -9
- package/dist/general-knowledge/skills/multi-channel/SKILL.md +8 -2
- package/dist/general-knowledge/skills/scheduling/SKILL.md +5 -3
- package/dist/general-knowledge/skills/session-management/SKILL.md +6 -5
- package/dist/general-knowledge/skills/tui-effort/SKILL.md +2 -2
- package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +4 -3
- package/dist/general-knowledge/steering/core-rules.md +8 -7
- package/dist/instance-avatar.d.ts +36 -0
- package/dist/instance-avatar.js +57 -0
- package/dist/instance-avatar.js.map +1 -0
- package/dist/instance-config-impact.js +5 -0
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +4 -0
- package/dist/instance-lifecycle.js +3 -1
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/instructions.d.ts +2 -0
- package/dist/instructions.js +10 -7
- package/dist/instructions.js.map +1 -1
- package/dist/locale.js +32 -26
- package/dist/locale.js.map +1 -1
- package/dist/next-steps.js +1 -1
- package/dist/next-steps.js.map +1 -1
- package/dist/outbound-handlers.js +7 -4
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +8 -0
- package/dist/outbound-schemas.js +15 -5
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/public-web-gateway.js +3 -0
- package/dist/public-web-gateway.js.map +1 -1
- package/dist/service-activation.js +4 -3
- package/dist/service-activation.js.map +1 -1
- package/dist/settings-api.js +71 -21
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-change.js +70 -1
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-effect.js +26 -4
- package/dist/settings-effect.js.map +1 -1
- package/dist/settings-http-confirmation.js +7 -0
- package/dist/settings-http-confirmation.js.map +1 -1
- package/dist/setup-form.d.ts +1 -1
- package/dist/setup-form.js +1 -1
- package/dist/status-emojis.d.ts +10 -3
- package/dist/status-emojis.js +11 -2
- package/dist/status-emojis.js.map +1 -1
- package/dist/tips.js +4 -4
- package/dist/tips.js.map +1 -1
- package/dist/transcript-monitor.d.ts +8 -0
- package/dist/transcript-monitor.js +26 -2
- package/dist/transcript-monitor.js.map +1 -1
- package/dist/transcript-sources.d.ts +54 -0
- package/dist/transcript-sources.js +188 -27
- package/dist/transcript-sources.js.map +1 -1
- package/dist/transcript-turns.d.ts +15 -2
- package/dist/transcript-turns.js +15 -2
- package/dist/transcript-turns.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/ui/chat-emojis.js +33 -0
- package/dist/ui/chat-render.js +12 -0
- package/dist/ui/chat-thread.js +1 -1
- package/dist/ui/panel-chat.js +13 -3
- package/dist/ui/panel-needs.js +5 -2
- package/dist/ui/panel-settings.js +117 -26
- package/dist/ui/settings-dialogs.js +7 -2
- package/dist/ui/settings-model.js +2 -1
- package/dist/ui/settings-strings.js +38 -2
- package/dist/ui/shared/app-i18n.js +2 -2
- package/dist/ui/shared/app-route.js +1 -1
- package/dist/ui/shared/app.css +25 -0
- package/dist/ui/shared/instance-nav.js +77 -8
- package/dist/ui/shared/signin.js +7 -7
- package/dist/ui/shared/view-strings.js +2 -2
- package/dist/ui/signin.html +1 -1
- package/dist/update-install.d.ts +15 -1
- package/dist/update-install.js +6 -0
- package/dist/update-install.js.map +1 -1
- package/dist/update-preflight.d.ts +100 -0
- package/dist/update-preflight.js +264 -0
- package/dist/update-preflight.js.map +1 -0
- package/dist/updater-caller.d.ts +31 -0
- package/dist/updater-caller.js +109 -0
- package/dist/updater-caller.js.map +1 -0
- package/dist/view-api.d.ts +1 -1
- package/dist/view-api.js +33 -8
- package/dist/view-api.js.map +1 -1
- package/dist/wake-coordinator.d.ts +11 -0
- package/dist/wake-coordinator.js +38 -4
- package/dist/wake-coordinator.js.map +1 -1
- package/dist/web-api.d.ts +11 -0
- package/dist/web-api.js +54 -0
- package/dist/web-api.js.map +1 -1
- package/dist/web-auth.d.ts +2 -2
- package/dist/web-auth.js +5 -3
- package/dist/web-auth.js.map +1 -1
- package/dist/web-host-guard.d.ts +3 -11
- package/dist/web-host-guard.js +3 -12
- package/dist/web-host-guard.js.map +1 -1
- package/dist/web-images.d.ts +47 -0
- package/dist/web-images.js +169 -0
- package/dist/web-images.js.map +1 -0
- package/dist/web-session.d.ts +36 -1
- package/dist/web-session.js +52 -5
- package/dist/web-session.js.map +1 -1
- package/dist/web-settings-patch.d.ts +21 -0
- package/dist/web-settings-patch.js +74 -0
- package/dist/web-settings-patch.js.map +1 -0
- package/dist/web-shell-routes.d.ts +1 -1
- package/dist/web-shell-routes.js +1 -1
- package/dist/web-shell-routes.js.map +1 -1
- package/dist/workflow-templates/default.md +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1546,7 +1546,8 @@ program
|
|
|
1546
1546
|
catch {
|
|
1547
1547
|
return false;
|
|
1548
1548
|
} },
|
|
1549
|
-
// `agend install` activates by default; the update owns stop/start, so only the file is refreshed here.
|
|
1549
|
+
// `agend install` activates by default; the update owns stop/start, so only the file is refreshed here. Only
|
|
1550
|
+
// an existing service is refreshed: a detached fleet's update never calls this (#1631).
|
|
1550
1551
|
refresh: () => {
|
|
1551
1552
|
const result = capture(newAgend.command, [...newAgend.args, "install", "--no-activate"]);
|
|
1552
1553
|
if (result.status === 0)
|
|
@@ -1663,6 +1664,42 @@ program
|
|
|
1663
1664
|
process.exitCode = 1;
|
|
1664
1665
|
return;
|
|
1665
1666
|
}
|
|
1667
|
+
// ── Check if npm global needs sudo (read-only; decides the nvm path the preflight judges) ──
|
|
1668
|
+
let needsSudo = false;
|
|
1669
|
+
try {
|
|
1670
|
+
const prefix = execSync("npm config get prefix", { encoding: "utf-8" }).trim();
|
|
1671
|
+
const { accessSync, constants } = await import("node:fs");
|
|
1672
|
+
try {
|
|
1673
|
+
accessSync(prefix, constants.W_OK);
|
|
1674
|
+
}
|
|
1675
|
+
catch {
|
|
1676
|
+
needsSudo = true;
|
|
1677
|
+
}
|
|
1678
|
+
}
|
|
1679
|
+
catch { /* assume no sudo needed */ }
|
|
1680
|
+
// ── #1441 B: can the target run here, on the Node it will actually run on? ──
|
|
1681
|
+
// Read where the install runs (#1623 review): a direct install runs `npm` and the release's `node` from this
|
|
1682
|
+
// environment, so it is decided now, before anything is touched. An nvm install runs nvm's npm and Node 22, which
|
|
1683
|
+
// exist only once nvm has selected them: runUpdateInstall decides it there, before the lock and npm.
|
|
1684
|
+
const preflight = targetVersion ? await import("./update-preflight.js") : null;
|
|
1685
|
+
if (preflight && targetVersion && !needsSudo) {
|
|
1686
|
+
const verdict = preflight.preflightUpdate({
|
|
1687
|
+
run: (argv, timeoutMs) => {
|
|
1688
|
+
const r = spawnSync(argv[0], argv.slice(1), { encoding: "utf-8", timeout: timeoutMs, stdio: ["ignore", "pipe", "ignore"] });
|
|
1689
|
+
return { status: r.status, stdout: r.stdout ?? "" };
|
|
1690
|
+
},
|
|
1691
|
+
npm: "npm",
|
|
1692
|
+
}, pkg, targetVersion, "the `node` on PATH");
|
|
1693
|
+
if (verdict.kind === "refuse") {
|
|
1694
|
+
console.error(`\n${verdict.message}\n`);
|
|
1695
|
+
// A chat-started /update (Discord, Telegram, an agent) is waiting on this: the reason is its outcome.
|
|
1696
|
+
setUpdateProgressStage(DATA_DIR, "failed", { error: `Not updated: ${verdict.summary}. Nothing was changed.` });
|
|
1697
|
+
process.exitCode = 1;
|
|
1698
|
+
return;
|
|
1699
|
+
}
|
|
1700
|
+
if (verdict.kind === "unknown")
|
|
1701
|
+
console.log(verdict.note);
|
|
1702
|
+
}
|
|
1666
1703
|
if (targetVersion) {
|
|
1667
1704
|
console.log(`\n Updating AgEnD v${pkgVersion} → v${targetVersion}...\n`);
|
|
1668
1705
|
}
|
|
@@ -1684,19 +1721,6 @@ program
|
|
|
1684
1721
|
process.exit(1);
|
|
1685
1722
|
};
|
|
1686
1723
|
setUpdateProgressStage(DATA_DIR, "downloading");
|
|
1687
|
-
// ── Check if npm global needs sudo ──
|
|
1688
|
-
let needsSudo = false;
|
|
1689
|
-
try {
|
|
1690
|
-
const prefix = execSync("npm config get prefix", { encoding: "utf-8" }).trim();
|
|
1691
|
-
const { accessSync, constants } = await import("node:fs");
|
|
1692
|
-
try {
|
|
1693
|
-
accessSync(prefix, constants.W_OK);
|
|
1694
|
-
}
|
|
1695
|
-
catch {
|
|
1696
|
-
needsSudo = true;
|
|
1697
|
-
}
|
|
1698
|
-
}
|
|
1699
|
-
catch { /* assume no sudo needed */ }
|
|
1700
1724
|
if (needsSudo) {
|
|
1701
1725
|
// ── nvm path: install without sudo ──
|
|
1702
1726
|
if (!existsSync(nvmSh)) {
|
|
@@ -1728,6 +1752,9 @@ program
|
|
|
1728
1752
|
process.once("exit", () => releaseLock());
|
|
1729
1753
|
const installed = runUpdateInstall({
|
|
1730
1754
|
pkg, targetVersion, viaNvm: needsSudo, nvmSh, rollback: true,
|
|
1755
|
+
...(preflight && targetVersion && needsSudo
|
|
1756
|
+
? { preflight: preflight.installPreflight(pkg, targetVersion, "the Node 22 nvm selected", { log: m => console.log(m), error: m => console.error(m) }) }
|
|
1757
|
+
: {}),
|
|
1731
1758
|
lock: prefix => {
|
|
1732
1759
|
const lock = acquireInstallLock(prefix, { spec: pkg, agendHome: DATA_DIR }, {
|
|
1733
1760
|
pid: process.pid, processStart: admission.processStart, newToken: () => randomBytes(16).toString("hex"),
|
|
@@ -1786,7 +1813,19 @@ program
|
|
|
1786
1813
|
.option("--activate", "Deprecated; service activation is now the default")
|
|
1787
1814
|
.option("--no-activate", "Write the service file without activating it")
|
|
1788
1815
|
.action(async (opts) => {
|
|
1789
|
-
const { installService, activateService, detectPlatform, renderLaunchdPlist, launchdPlistPath } = await import("./service-installer.js");
|
|
1816
|
+
const { installService, activateService, detectPlatform, renderLaunchdPlist, launchdPlistPath, getServicePath, getSystemServicePath } = await import("./service-installer.js");
|
|
1817
|
+
// #1631 B: an older updater (2.2.0-beta.1 and before) refreshes a hand-started fleet's service too, through this
|
|
1818
|
+
// command — which would CREATE a unit or plist, and every later update would then take a manager it may not reach
|
|
1819
|
+
// as the authority. When no service exists and it is certain this is that updater's refresh, write nothing. A
|
|
1820
|
+
// manual `agend install` (with or without --no-activate) creates the service as always.
|
|
1821
|
+
if (opts.activate === false && getServicePath() === null && getSystemServicePath() === null) {
|
|
1822
|
+
const { startedByUpdater, systemUpdaterCallerProbe } = await import("./updater-caller.js");
|
|
1823
|
+
const caller = startedByUpdater(systemUpdaterCallerProbe(DATA_DIR, pkgVersion));
|
|
1824
|
+
if (caller.updater) {
|
|
1825
|
+
console.log(" No service to refresh: this update runs a hand-started fleet, so none was created (`agend install` creates one).");
|
|
1826
|
+
return;
|
|
1827
|
+
}
|
|
1828
|
+
}
|
|
1790
1829
|
const execPath = canonicalCliEntry();
|
|
1791
1830
|
const serviceVars = {
|
|
1792
1831
|
label: "com.agend.fleet",
|
|
@@ -2578,7 +2617,7 @@ program
|
|
|
2578
2617
|
console.log("Web token rotated.");
|
|
2579
2618
|
console.log("Every previously issued dashboard link and browser session is now rejected.");
|
|
2580
2619
|
console.log("A running fleet picks this up immediately — no restart needed.");
|
|
2581
|
-
console.log("Sign in again with `agend web` (prints a one-time code), or /
|
|
2620
|
+
console.log("Sign in again with `agend web` (prints a one-time code), or /web in your chat channel.");
|
|
2582
2621
|
});
|
|
2583
2622
|
program
|
|
2584
2623
|
.command("view")
|