spur-board 0.8.2 → 0.9.1
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/cli.mjs +4 -7
- package/dist/{client-D4cveOHQ.mjs → client-C4Ee3Gfs.mjs} +1 -1
- package/dist/client.mjs +1 -1
- package/dist/{config-B1fVOLzp.mjs → config-BmT8hPi8.mjs} +2 -2
- package/dist/daemon.mjs +3056 -2572
- package/dist/mcp.mjs +3 -3
- package/dist/{src-g7u1onIP.mjs → src-DyDmiehC.mjs} +29 -3
- package/package.json +1 -1
- package/skills/setup/references/update.md +1 -1
package/dist/mcp.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { i as CliError, n as requestOperation } from "./client-
|
|
3
|
-
import { a as memoryVerdictCache, r as compareCatalogs, s as loadClientConfig, t as checkCatalog } from "./config-
|
|
1
|
+
import { N as ERRORS, f as renderMcpError, l as OPERATIONS } from "./src-DyDmiehC.mjs";
|
|
2
|
+
import { i as CliError, n as requestOperation } from "./client-C4Ee3Gfs.mjs";
|
|
3
|
+
import { a as memoryVerdictCache, r as compareCatalogs, s as loadClientConfig, t as checkCatalog } from "./config-BmT8hPi8.mjs";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
import { readFileSync } from "node:fs";
|
|
6
6
|
import { z } from "zod";
|
|
@@ -1638,7 +1638,14 @@ const OPERATIONS = [
|
|
|
1638
1638
|
sources: z.array(sourceViewSchema).describe("Freshness and availability of each source."),
|
|
1639
1639
|
warmingUp: z.boolean().describe("Whether required sources still need a complete poll."),
|
|
1640
1640
|
spurUnavailable: z.string().nullable().describe("One combined Spur availability line, or null when available."),
|
|
1641
|
-
hostLoad: z.string().nullable().describe("Host-load episode line, or null when absent.")
|
|
1641
|
+
hostLoad: z.string().nullable().describe("Host-load episode line, or null when absent."),
|
|
1642
|
+
transport: z.array(z.strictObject({
|
|
1643
|
+
gateway: z.string().min(1).describe("Chat gateway kind."),
|
|
1644
|
+
state: z.enum(["up", "down"]).describe("down while delivery to any space of the gateway is suspended."),
|
|
1645
|
+
since: z.iso.datetime().nullable().describe("When the earliest outage started, ISO 8601 UTC, or null when up."),
|
|
1646
|
+
reason: z.string().nullable().describe("Reason of the earliest outage, or null when up."),
|
|
1647
|
+
spaces: z.array(z.enum(SPACE_IDS)).describe("Spaces whose delivery is suspended.")
|
|
1648
|
+
}).describe("Transport health of one gateway.")).describe("Transport health of each chat gateway.")
|
|
1642
1649
|
}),
|
|
1643
1650
|
grants: operatorOrProjectAgent,
|
|
1644
1651
|
errors: ["not_found"],
|
|
@@ -1667,7 +1674,8 @@ const OPERATIONS = [
|
|
|
1667
1674
|
sources: [],
|
|
1668
1675
|
warmingUp: true,
|
|
1669
1676
|
spurUnavailable: null,
|
|
1670
|
-
hostLoad: null
|
|
1677
|
+
hostLoad: null,
|
|
1678
|
+
transport: []
|
|
1671
1679
|
}
|
|
1672
1680
|
}]
|
|
1673
1681
|
}),
|
|
@@ -2696,4 +2704,22 @@ var AdapterError = class extends Error {
|
|
|
2696
2704
|
}
|
|
2697
2705
|
};
|
|
2698
2706
|
//#endregion
|
|
2699
|
-
|
|
2707
|
+
//#region ../contracts/src/systemd.ts
|
|
2708
|
+
/**
|
|
2709
|
+
* systemd user-unit policy shared by the CLI unit writer and the daemon's board tick.
|
|
2710
|
+
*
|
|
2711
|
+
* The daemon notifies systemd by spawning `systemd-notify`, so the notifying process is a child
|
|
2712
|
+
* of the main PID: the unit needs `NotifyAccess=all`. `WATCHDOG_MS` is three board ticks, so a
|
|
2713
|
+
* single slow or failed tick does not restart the daemon.
|
|
2714
|
+
*/
|
|
2715
|
+
const BOARD_TICK_MS = 6e4;
|
|
2716
|
+
const SYSTEMD_SERVICE_SETTINGS = [
|
|
2717
|
+
"Type=notify",
|
|
2718
|
+
"NotifyAccess=all",
|
|
2719
|
+
`WatchdogSec=${String(3 * BOARD_TICK_MS)}ms`,
|
|
2720
|
+
"Restart=on-failure",
|
|
2721
|
+
"RestartSec=5s",
|
|
2722
|
+
"TimeoutStopSec=15s"
|
|
2723
|
+
];
|
|
2724
|
+
//#endregion
|
|
2725
|
+
export { parseActorId as A, RESERVED_PROJECT as B, prFactsSchema as C, actorIdSchema as D, ticketFactsSchema as E, errorEnvelopeSchema as F, requiredSecretKeys as H, successEnvelopeSchema as I, DEFAULT_HTTP_PORT as L, taskKeySchema as M, ERRORS as N, encodeActorId as O, errorContextSchema as P, DEFAULT_SLACK_APP_NAME as R, SESSION_STATUSES as S, sessionFactsSchema as T, SLACK_BOT_SCOPES as U, configSchema as V, messageRefSchema as _, entityRefSchema as a, eventPayloadSchemas as b, roleCanUseOperation as c, renderJsonError as d, renderMcpError as f, interactionRefSchema as g, inboundEventSchema as h, batchSchema as i, parseRef as j, errorCodeOf as k, OPERATIONS as l, conversationRefSchema as m, SYSTEMD_SERVICE_SETTINGS as n, sourceCursorSchema as o, SPACE_IDS as p, AdapterError as r, buildCatalogSnapshot as s, BOARD_TICK_MS as t, renderHttpProblem as u, userIdSchema as v, prRefSchema as w, SESSION_HEALTH_STATES as x, EVENT_KINDS as y, DEFAULT_SLACK_COMMAND as z };
|
package/package.json
CHANGED
|
@@ -6,6 +6,6 @@ Use this when the installed package is older than the intended release. Keep com
|
|
|
6
6
|
2. Install the newer package with the Node and user prefix visible to live Spur sessions. Verify `board --version` there. Do not reinstall a matching package.
|
|
7
7
|
3. If skills are older, ask before writing agent skill folders, run `board skills install`, and verify both installed copies. Record the install time so older live sessions can be identified.
|
|
8
8
|
For a local same-version trial, compare packed and installed bytes too; a matching stamp can hide old content.
|
|
9
|
-
4.
|
|
9
|
+
4. Before installing, note whether `board service status` reports `active` as `active`. Then run the new package's `board service install`: it rewrites the unit only when it differs, reloads systemd, starts a stopped service, and restarts an active service only when the unit changed. Run `board service restart` only when the service was active before install, install reported `changed` as `false`, and the daemon version changed. Do not restart twice or restart an unchanged service.
|
|
10
10
|
5. Run `board doctor --json` until no blocking check remains. Report live sessions that still use the older skill and ask the operator to restart those sessions. Do not assume an existing agent or MCP process reloaded updated files.
|
|
11
11
|
6. Never rewrite settled config, reissue an operator token, uninstall the service, or revoke a token as part of an update.
|