agent-merge-broker 0.14.2 → 0.15.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/README.md +55 -30
- package/dist/bootstrap.d.ts +0 -1
- package/dist/bootstrap.js +0 -1
- package/dist/broker.d.ts +0 -1
- package/dist/broker.js +0 -1
- package/dist/candidate-lifecycle.d.ts +0 -1
- package/dist/candidate-lifecycle.js +0 -1
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +46 -1
- package/dist/config.d.ts +0 -1
- package/dist/config.js +0 -1
- package/dist/core.d.ts +19 -0
- package/dist/core.js +18 -0
- package/dist/errors.d.ts +0 -1
- package/dist/errors.js +0 -1
- package/dist/gate-authority.d.ts +0 -1
- package/dist/gate-authority.js +0 -1
- package/dist/git-locators.d.ts +0 -1
- package/dist/git-locators.js +0 -1
- package/dist/git.d.ts +0 -1
- package/dist/git.js +0 -1
- package/dist/hooks.d.ts +0 -1
- package/dist/hooks.js +0 -1
- package/dist/index.d.ts +1 -19
- package/dist/index.js +2 -18
- package/dist/mcp-cli.d.ts +0 -1
- package/dist/mcp-cli.js +0 -1
- package/dist/mcp.d.ts +0 -1
- package/dist/mcp.js +0 -1
- package/dist/patterns.d.ts +0 -1
- package/dist/patterns.js +0 -1
- package/dist/process.d.ts +0 -1
- package/dist/process.js +0 -1
- package/dist/provenance.d.ts +0 -1
- package/dist/provenance.js +0 -1
- package/dist/publisher.d.ts +0 -1
- package/dist/publisher.js +0 -1
- package/dist/scheduler.d.ts +0 -1
- package/dist/scheduler.js +0 -1
- package/dist/schema-identity.d.ts +0 -1
- package/dist/schema-identity.js +0 -1
- package/dist/serve-log.d.ts +0 -1
- package/dist/serve-log.js +0 -1
- package/dist/service.d.ts +0 -1
- package/dist/service.js +0 -1
- package/dist/state-codec.d.ts +0 -1
- package/dist/state-codec.js +0 -1
- package/dist/status.d.ts +0 -1
- package/dist/status.js +0 -1
- package/dist/storage.d.ts +53 -0
- package/dist/storage.js +310 -0
- package/dist/store.d.ts +2 -1
- package/dist/store.js +66 -17
- package/dist/submission-attestation.d.ts +0 -1
- package/dist/submission-attestation.js +0 -1
- package/dist/submission-retention.d.ts +0 -1
- package/dist/submission-retention.js +0 -1
- package/dist/submission.d.ts +0 -1
- package/dist/submission.js +0 -1
- package/dist/support.d.ts +0 -1
- package/dist/support.js +0 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -1
- package/dist/validation.d.ts +0 -1
- package/dist/validation.js +0 -1
- package/dist/verify.d.ts +0 -1
- package/dist/verify.js +0 -1
- package/package.json +4 -9
- package/CHANGELOG.md +0 -575
- package/CODE_OF_CONDUCT.md +0 -28
- package/CONTRIBUTING.md +0 -50
- package/ROADMAP.md +0 -121
- package/SUPPORT.md +0 -31
- package/VISION.md +0 -143
- package/dist/bootstrap.d.ts.map +0 -1
- package/dist/bootstrap.js.map +0 -1
- package/dist/broker.d.ts.map +0 -1
- package/dist/broker.js.map +0 -1
- package/dist/candidate-lifecycle.d.ts.map +0 -1
- package/dist/candidate-lifecycle.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/gate-authority.d.ts.map +0 -1
- package/dist/gate-authority.js.map +0 -1
- package/dist/git-locators.d.ts.map +0 -1
- package/dist/git-locators.js.map +0 -1
- package/dist/git.d.ts.map +0 -1
- package/dist/git.js.map +0 -1
- package/dist/hooks.d.ts.map +0 -1
- package/dist/hooks.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/mcp-cli.d.ts.map +0 -1
- package/dist/mcp-cli.js.map +0 -1
- package/dist/mcp.d.ts.map +0 -1
- package/dist/mcp.js.map +0 -1
- package/dist/patterns.d.ts.map +0 -1
- package/dist/patterns.js.map +0 -1
- package/dist/process.d.ts.map +0 -1
- package/dist/process.js.map +0 -1
- package/dist/provenance.d.ts.map +0 -1
- package/dist/provenance.js.map +0 -1
- package/dist/publisher.d.ts.map +0 -1
- package/dist/publisher.js.map +0 -1
- package/dist/scheduler.d.ts.map +0 -1
- package/dist/scheduler.js.map +0 -1
- package/dist/schema-identity.d.ts.map +0 -1
- package/dist/schema-identity.js.map +0 -1
- package/dist/serve-log.d.ts.map +0 -1
- package/dist/serve-log.js.map +0 -1
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js.map +0 -1
- package/dist/state-codec.d.ts.map +0 -1
- package/dist/state-codec.js.map +0 -1
- package/dist/status.d.ts.map +0 -1
- package/dist/status.js.map +0 -1
- package/dist/store.d.ts.map +0 -1
- package/dist/store.js.map +0 -1
- package/dist/submission-attestation.d.ts.map +0 -1
- package/dist/submission-attestation.js.map +0 -1
- package/dist/submission-retention.d.ts.map +0 -1
- package/dist/submission-retention.js.map +0 -1
- package/dist/submission.d.ts.map +0 -1
- package/dist/submission.js.map +0 -1
- package/dist/support.d.ts.map +0 -1
- package/dist/support.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/validation.d.ts.map +0 -1
- package/dist/validation.js.map +0 -1
- package/dist/verify.d.ts.map +0 -1
- package/dist/verify.js.map +0 -1
- package/docs/ARCHITECTURE.md +0 -552
- package/docs/COMPATIBILITY.md +0 -369
- package/docs/GETTING_STARTED.md +0 -595
- package/docs/PROTOCOL.md +0 -624
- package/docs/RELEASING.md +0 -75
- package/docs/SECURITY.md +0 -347
- package/examples/local-gate/README.md +0 -25
- package/examples/local-gate/run.mjs +0 -137
- package/examples/two-agents/README.md +0 -42
- package/examples/two-agents/run.mjs +0 -146
- package/examples/two-agents/run.sh +0 -143
package/README.md
CHANGED
|
@@ -18,22 +18,24 @@ protection, or forge merge queue.
|
|
|
18
18
|
|
|
19
19
|
## Release status
|
|
20
20
|
|
|
21
|
-
Version **0.
|
|
21
|
+
Version **0.15.0** includes the complete Coordinate workflow and trusted local-ref Gate validation,
|
|
22
22
|
with Gate diagnostics, abandonment and archival, detached signed validation evidence, offline
|
|
23
|
-
verification, stricter state diagnostics, and release safeguards.
|
|
23
|
+
verification, stricter state diagnostics, leaner packaging, storage maintenance, and release safeguards.
|
|
24
|
+
The documentation tracks source;
|
|
24
25
|
check the [npm version history](https://www.npmjs.com/package/agent-merge-broker?activeTab=versions)
|
|
25
26
|
for published availability.
|
|
26
27
|
|
|
27
28
|
The `v0.14.0` and `v0.14.1` GitHub tags remain available, but neither version was published to npm.
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
The companion core package is published separately; confirm its version in
|
|
30
|
+
[npm's core package history](https://www.npmjs.com/package/agent-merge-broker-core?activeTab=versions).
|
|
30
31
|
|
|
31
|
-
Version 0.
|
|
32
|
+
Version 0.15.0 requires **Node.js 22 or newer**; version 0.13.0 supported Node.js 20.12 or newer.
|
|
32
33
|
Git 2.31+ is required for Coordinate; Gate requires Git 2.46+. Linux, macOS, and Windows are
|
|
33
34
|
supported. GitHub CLI is required only for GitHub pull-request publication.
|
|
34
35
|
|
|
35
|
-
See [Compatibility](docs/COMPATIBILITY.md),
|
|
36
|
-
[
|
|
36
|
+
See [Compatibility](https://github.com/WeSpitfire/agent-merge-broker/blob/main/docs/COMPATIBILITY.md),
|
|
37
|
+
[Changelog](https://github.com/WeSpitfire/agent-merge-broker/blob/main/CHANGELOG.md), and
|
|
38
|
+
[Roadmap](https://github.com/WeSpitfire/agent-merge-broker/blob/main/ROADMAP.md) for the exact boundaries. Gate approval, publication, and merge authorization
|
|
37
39
|
remain planned.
|
|
38
40
|
|
|
39
41
|
## Try both routes locally
|
|
@@ -53,16 +55,31 @@ The Coordinate example combines four commits from two workers and rejects an ove
|
|
|
53
55
|
The Gate example validates one candidate, rejects another, signs the accepted result, verifies it
|
|
54
56
|
offline, and previews archival.
|
|
55
57
|
|
|
56
|
-
## Install
|
|
58
|
+
## Install once, use across projects
|
|
59
|
+
|
|
60
|
+
Keep the tool outside your project's dependencies with a version-pinned global installation:
|
|
57
61
|
|
|
58
62
|
```bash
|
|
59
|
-
npm install --
|
|
60
|
-
|
|
63
|
+
npm install --global agent-merge-broker@0.15.0
|
|
64
|
+
# From the repository you want to coordinate:
|
|
65
|
+
merge-broker init --base main --base-ref origin/main --remote origin
|
|
61
66
|
git add .merge-broker AGENTS.md
|
|
62
67
|
git commit -m 'Configure Agent Merge Broker'
|
|
63
|
-
|
|
68
|
+
merge-broker doctor
|
|
64
69
|
```
|
|
65
70
|
|
|
71
|
+
This does not add the broker to your project's `package.json` or `node_modules`. Prefer a
|
|
72
|
+
project-local, lockfile-pinned dev dependency when a team or CI needs to reproduce the entire
|
|
73
|
+
dependency tree. For pinned execution through npm's cache, or local installation instructions, see
|
|
74
|
+
[Getting started](https://github.com/WeSpitfire/agent-merge-broker/blob/main/docs/GETTING_STARTED.md#2-install-and-initialize).
|
|
75
|
+
|
|
76
|
+
`agent-merge-broker-core` offers the same Coordinate/Gate CLI and core Node API
|
|
77
|
+
without the MCP server or SDK dependency. Keep `agent-merge-broker` for MCP support and existing
|
|
78
|
+
imports. Choose one package per installation because they share CLI aliases, and confirm the
|
|
79
|
+
desired version is published for that package. Version 0.15.0 tarballs omit debug maps and long guides/examples while keeping
|
|
80
|
+
runtime code, TypeScript definitions, schemas, templates, README, and license. Full source and
|
|
81
|
+
guides remain on GitHub.
|
|
82
|
+
|
|
66
83
|
Initialization detects validation commands the repository already declares. Review
|
|
67
84
|
`.merge-broker/config.json` before using it: configuration is executable policy, and validators run
|
|
68
85
|
with the broker user's permissions. The public signing key belongs in committed policy; the private
|
|
@@ -76,18 +93,18 @@ protected-branch provenance verification load their applicable policy from the e
|
|
|
76
93
|
In each worker's linked worktree:
|
|
77
94
|
|
|
78
95
|
```bash
|
|
79
|
-
|
|
96
|
+
merge-broker task claim SEARCH-1 --holder worker/search --path 'src/search/**'
|
|
80
97
|
# Edit and commit the change.
|
|
81
|
-
|
|
98
|
+
merge-broker task candidate SEARCH-1 --since-base
|
|
82
99
|
```
|
|
83
100
|
|
|
84
101
|
The integration owner then runs:
|
|
85
102
|
|
|
86
103
|
```bash
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
104
|
+
merge-broker plan
|
|
105
|
+
merge-broker integrate --dry-run
|
|
106
|
+
merge-broker integrate
|
|
107
|
+
merge-broker status
|
|
91
108
|
```
|
|
92
109
|
|
|
93
110
|
Expiring leases reduce predictable collisions; commit receipts identify immutable work. The broker
|
|
@@ -97,8 +114,8 @@ branch, or GitHub pull request. Optional approval binds evidence and permission
|
|
|
97
114
|
candidate, base, and policy revision. Durable intents allow interrupted publication and merge
|
|
98
115
|
decisions to be reconciled.
|
|
99
116
|
|
|
100
|
-
Use [Getting started](docs/GETTING_STARTED.md) for validation, publication, approval, service, and
|
|
101
|
-
recovery recipes. The [worker protocol](docs/PROTOCOL.md) documents CLI/JSON, Node, and permission-
|
|
117
|
+
Use [Getting started](https://github.com/WeSpitfire/agent-merge-broker/blob/main/docs/GETTING_STARTED.md) for validation, publication, approval, service, and
|
|
118
|
+
recovery recipes. The [worker protocol](https://github.com/WeSpitfire/agent-merge-broker/blob/main/docs/PROTOCOL.md) documents CLI/JSON, Node, and permission-
|
|
102
119
|
separated stdio MCP integration.
|
|
103
120
|
|
|
104
121
|
## Route 2: validate a trusted existing branch
|
|
@@ -106,9 +123,9 @@ separated stdio MCP integration.
|
|
|
106
123
|
From a reviewed checkout whose protected base contains the committed broker policy:
|
|
107
124
|
|
|
108
125
|
```bash
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
126
|
+
merge-broker candidate authority setup
|
|
127
|
+
merge-broker candidate adopt --ref refs/heads/producer/candidate
|
|
128
|
+
merge-broker candidate show <submission-id>
|
|
112
129
|
```
|
|
113
130
|
|
|
114
131
|
The candidate must already exist locally and be a nonempty linear descendant of the registered
|
|
@@ -116,7 +133,7 @@ base. Gate derives its history and paths, materializes its raw Git bytes, and ru
|
|
|
116
133
|
broker-authoritative validators. A `SubmissionRecord` reports `validated`, `rejected`, or `failed`
|
|
117
134
|
without inventing tasks or leases. A rejected candidate exits nonzero.
|
|
118
135
|
|
|
119
|
-
Version 0.
|
|
136
|
+
Version 0.15.0 includes these operational commands:
|
|
120
137
|
|
|
121
138
|
```bash
|
|
122
139
|
merge-broker doctor --gate
|
|
@@ -130,11 +147,11 @@ merge-broker candidate list --all
|
|
|
130
147
|
Detached attestations use Ed25519 DSSE and a versioned in-toto validation statement. Offline
|
|
131
148
|
verification requires an independently trusted key and expected commit, tree, base, policy digest,
|
|
132
149
|
and authority digest. A valid signature can describe a rejection; validation evidence never grants
|
|
133
|
-
merge authorization. [Protocol](docs/PROTOCOL.md) includes the full verifier command, abandonment,
|
|
134
|
-
retention options, and immutable [schema identities](schemas/identities.json).
|
|
150
|
+
merge authorization. [Protocol](https://github.com/WeSpitfire/agent-merge-broker/blob/main/docs/PROTOCOL.md) includes the full verifier command, abandonment,
|
|
151
|
+
retention options, and immutable [schema identities](https://github.com/WeSpitfire/agent-merge-broker/blob/main/schemas/identities.json).
|
|
135
152
|
|
|
136
153
|
Gate accepts trusted local code. A disposable worktree is not an execution sandbox. Read the
|
|
137
|
-
[security model](docs/SECURITY.md) before choosing the broker host and credentials.
|
|
154
|
+
[security model](https://github.com/WeSpitfire/agent-merge-broker/blob/main/docs/SECURITY.md) before choosing the broker host and credentials.
|
|
138
155
|
|
|
139
156
|
## Operate and contribute
|
|
140
157
|
|
|
@@ -143,14 +160,22 @@ replays local interrupted operations. Coordinate publication uses `batch publish
|
|
|
143
160
|
and `batch refresh` to observe the forge before proceeding. Gate archival preserves audit records,
|
|
144
161
|
and releasing a retained Git ref requires an explicit option.
|
|
145
162
|
|
|
163
|
+
`storage show` reports broker-managed file sizes without reading file contents.
|
|
164
|
+
`storage compact --older-than 30` previews lossless compression of closed audit-log rotations;
|
|
165
|
+
add `--apply` to perform it. It does not prune evidence, recovery state, keys, worktrees, or Git refs.
|
|
166
|
+
Upgrade all audit readers first: versions before 0.15.0 cannot read compressed rotations.
|
|
167
|
+
See the [storage recipe](https://github.com/WeSpitfire/agent-merge-broker/blob/main/docs/GETTING_STARTED.md#inspect-and-compact-storage).
|
|
168
|
+
|
|
146
169
|
For protected-branch enforcement of Coordinate provenance, pin the composite action to the matching
|
|
147
|
-
release tag: `WeSpitfire/agent-merge-broker/verify@v0.
|
|
148
|
-
[Getting started](docs/GETTING_STARTED.md) and the [release guide](docs/RELEASING.md).
|
|
170
|
+
release tag: `WeSpitfire/agent-merge-broker/verify@v0.15.0`. Configuration examples are in
|
|
171
|
+
[Getting started](https://github.com/WeSpitfire/agent-merge-broker/blob/main/docs/GETTING_STARTED.md) and the [release guide](https://github.com/WeSpitfire/agent-merge-broker/blob/main/docs/RELEASING.md).
|
|
149
172
|
|
|
150
173
|
Source verification includes the full test suite, both examples, and installation of the actual npm
|
|
151
174
|
tarball. Publication waits for the same immutable commit to pass Linux, macOS, and Windows checks
|
|
152
175
|
and publishes the tested tarball through npm trusted publishing.
|
|
153
176
|
|
|
154
|
-
See [Architecture](docs/ARCHITECTURE.md),
|
|
155
|
-
[
|
|
177
|
+
See [Architecture](https://github.com/WeSpitfire/agent-merge-broker/blob/main/docs/ARCHITECTURE.md),
|
|
178
|
+
[Vision](https://github.com/WeSpitfire/agent-merge-broker/blob/main/VISION.md),
|
|
179
|
+
[Contributing](https://github.com/WeSpitfire/agent-merge-broker/blob/main/CONTRIBUTING.md), and
|
|
180
|
+
[Support](https://github.com/WeSpitfire/agent-merge-broker/blob/main/SUPPORT.md). The project is licensed under [Apache-2.0](LICENSE). Pre-1.0 persisted formats
|
|
156
181
|
are versioned, but compatibility changes may still require a documented migration.
|
package/dist/bootstrap.d.ts
CHANGED
|
@@ -14,4 +14,3 @@ export declare function detectBootstrapPlan(root: string): Promise<BootstrapPlan
|
|
|
14
14
|
export declare function applyBootstrapPlan(config: BrokerConfig, plan: BootstrapPlan): boolean;
|
|
15
15
|
export declare function installAgentContract(root: string): Promise<AgentContractResult>;
|
|
16
16
|
export declare function hasAgentContract(root: string): Promise<boolean>;
|
|
17
|
-
//# sourceMappingURL=bootstrap.d.ts.map
|
package/dist/bootstrap.js
CHANGED
package/dist/broker.d.ts
CHANGED
package/dist/broker.js
CHANGED
|
@@ -16,4 +16,3 @@ export declare function assertCandidateBinding(candidate: CandidateRecord, bindi
|
|
|
16
16
|
}): void;
|
|
17
17
|
export declare function assertCurrentApprovalPolicy(config: BrokerConfig, candidate: CandidateRecord): void;
|
|
18
18
|
export declare function upsertEvidence(candidate: CandidateRecord, evidence: VerificationEvidence): void;
|
|
19
|
-
//# sourceMappingURL=candidate-lifecycle.d.ts.map
|
package/dist/cli.d.ts
CHANGED
package/dist/cli.js
CHANGED
|
@@ -9,6 +9,9 @@ import { BrokerError, CommandError } from "./errors.js";
|
|
|
9
9
|
import { formatServeEvent, isErrorEvent, serveEventJson, shouldReportIdle, } from "./serve-log.js";
|
|
10
10
|
import { MergeBroker } from "./broker.js";
|
|
11
11
|
import { GitRepository } from "./git.js";
|
|
12
|
+
import { loadConfig } from "./config.js";
|
|
13
|
+
import { StateStore } from "./store.js";
|
|
14
|
+
import { compactAuditStorage, inspectStorage } from "./storage.js";
|
|
12
15
|
import { prePushHook } from "./hooks.js";
|
|
13
16
|
import { formatBrokerStatus } from "./status.js";
|
|
14
17
|
import { createSupportBundle } from "./support.js";
|
|
@@ -1048,6 +1051,49 @@ program
|
|
|
1048
1051
|
...(result.archivePath ? [`Archive: ${result.archivePath}`] : []),
|
|
1049
1052
|
].join("\n"));
|
|
1050
1053
|
});
|
|
1054
|
+
const storage = program.command("storage").description("inspect broker storage and compact closed audit logs without deleting evidence");
|
|
1055
|
+
// Inspection/preview must not initialize absent state or create keys and lock directories.
|
|
1056
|
+
async function storageContext() {
|
|
1057
|
+
const repo = await GitRepository.discover(globalOptions().cwd);
|
|
1058
|
+
const config = await loadConfig(repo.root);
|
|
1059
|
+
const store = new StateStore(repo.commonGitDir, config.stateDirectory, config.leases.lockTimeoutSeconds);
|
|
1060
|
+
return { repo, config, store };
|
|
1061
|
+
}
|
|
1062
|
+
storage.command("show")
|
|
1063
|
+
.description("report logical bytes and file counts; never read stored secrets or follow symlinks")
|
|
1064
|
+
.action(async () => {
|
|
1065
|
+
const { repo, config, store } = await storageContext();
|
|
1066
|
+
const report = await inspectStorage(store, {
|
|
1067
|
+
repositoryRoot: repo.root,
|
|
1068
|
+
...(config.integration.provenance?.directory ? { provenanceDirectory: config.integration.provenance.directory } : {}),
|
|
1069
|
+
});
|
|
1070
|
+
output(report, [
|
|
1071
|
+
`Broker storage: ${report.logicalBytes.toLocaleString("en-US")} logical bytes in ${report.files} files${report.complete ? "" : " (partial)"}.`,
|
|
1072
|
+
...report.categories.map((item) => ` ${item.category}: ${item.logicalBytes.toLocaleString("en-US")} bytes, ${item.files} files`),
|
|
1073
|
+
"Excludes npm installations, general repository files, Git object history, and filesystem allocation overhead.",
|
|
1074
|
+
...report.skipped.map((item) => `Skipped ${item.path}: ${item.reason}`),
|
|
1075
|
+
].join("\n"));
|
|
1076
|
+
});
|
|
1077
|
+
storage.command("compact")
|
|
1078
|
+
.description("preview lossless compression of closed audit logs; active and recovery data stay untouched")
|
|
1079
|
+
.option("--older-than <days>", "minimum modification age of closed audit logs", "30")
|
|
1080
|
+
.option("--apply", "write verified gzip copies and remove only their redundant originals")
|
|
1081
|
+
.action(async (options) => {
|
|
1082
|
+
const { store } = await storageContext();
|
|
1083
|
+
const result = await compactAuditStorage(store, {
|
|
1084
|
+
olderThanDays: Number(options.olderThan),
|
|
1085
|
+
apply: options.apply ?? false,
|
|
1086
|
+
});
|
|
1087
|
+
output(result, [
|
|
1088
|
+
result.applied
|
|
1089
|
+
? `Compressed ${result.compressedFiles} closed audit segments; saved ${result.savedBytes.toLocaleString("en-US")} bytes.`
|
|
1090
|
+
: `Eligible: ${result.eligibleFiles} closed audit segments (${result.eligibleBytes.toLocaleString("en-US")} bytes). Preview only; add --apply to compress.`,
|
|
1091
|
+
"Audit evidence is preserved. No active state, signing keys, worktrees, or retained Git refs are deleted.",
|
|
1092
|
+
"Compacted audit history requires a broker version with gzip archive support.",
|
|
1093
|
+
...result.entries.map((item) => `${item.status}: ${item.path}${item.reason ? ` — ${item.reason}` : ""}`),
|
|
1094
|
+
...result.skipped.map((item) => `Skipped ${item.path}: ${item.reason}`),
|
|
1095
|
+
].join("\n"));
|
|
1096
|
+
});
|
|
1051
1097
|
program
|
|
1052
1098
|
.command("recover")
|
|
1053
1099
|
.description("recover interrupted integrations and candidate validation submissions")
|
|
@@ -1325,4 +1371,3 @@ program.parseAsync().catch((error) => {
|
|
|
1325
1371
|
}
|
|
1326
1372
|
process.exitCode = 1;
|
|
1327
1373
|
});
|
|
1328
|
-
//# sourceMappingURL=cli.js.map
|
package/dist/config.d.ts
CHANGED
|
@@ -19,4 +19,3 @@ export declare function isSafeStateDirectory(value: unknown): value is string;
|
|
|
19
19
|
export declare function validateConfig(value: unknown): BrokerConfig;
|
|
20
20
|
export declare function loadConfig(repoRoot: string): Promise<BrokerConfig>;
|
|
21
21
|
export declare function writeConfig(repoRoot: string, config: BrokerConfig): Promise<string>;
|
|
22
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.js
CHANGED
package/dist/core.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { MergeBroker, type AdoptCandidateInput, type ClaimTaskInput, type RegisterCandidateAuthorityOptions, type RegisterTaskInput, } from "./broker.js";
|
|
2
|
+
export { adoptedRef, GitRepository, type LinearCommitHistory, type PinnedGitCommit, type WorktreeInfo, } from "./git.js";
|
|
3
|
+
export { StateStore, type ArchivedStateSlice, type LockStatus } from "./store.js";
|
|
4
|
+
export { inspectStorage, compactAuditStorage, type StorageCategory, type StorageReport, type StorageCompactionOptions, type StorageCompactionResult, } from "./storage.js";
|
|
5
|
+
export { installHooks, prePushHook, uninstallHooks, type HookInstallation } from "./hooks.js";
|
|
6
|
+
export { describeServeEvent, formatServeEvent, serveEventJson, shouldReportIdle, type ServeEvent, } from "./serve-log.js";
|
|
7
|
+
export { currentServicePlatform, installService, launchdPlist, serviceFilePath, serviceName, systemdUnit, windowsTaskXml, quoteWindowsArgument, uninstallService, type ServiceDefinition, type ServiceInstallation, type ServiceOptions, type ServicePlatform, } from "./service.js";
|
|
8
|
+
export { defaultConfig, initializeConfig, loadConfig, validateConfig, writeConfig } from "./config.js";
|
|
9
|
+
export { applyBootstrapPlan, detectBootstrapPlan, hasAgentContract, installAgentContract, type AgentContractResult, type BootstrapPlan, } from "./bootstrap.js";
|
|
10
|
+
export { scheduleTasks } from "./scheduler.js";
|
|
11
|
+
export { formatBrokerStatus } from "./status.js";
|
|
12
|
+
export { createSupportBundle, sanitizeSupportData, type SupportBundle } from "./support.js";
|
|
13
|
+
export { githubCliPublisher, type ForgePublisher, type PublicationResult, type PullRequestState, } from "./publisher.js";
|
|
14
|
+
export { buildBatchProvenance, generateProvenanceSigningIdentity, provenanceKeyId, provenancePath, publicKeyFromPrivate, signBatchProvenance, validateProvenancePublicKey, verifyBatchProvenanceSignature, type ProvenanceSigningIdentity, } from "./provenance.js";
|
|
15
|
+
export { batchIdFromBranch, policyFromBase, verifyProvenance, type ProvenanceVerification, type VerifyProvenanceOptions, } from "./verify.js";
|
|
16
|
+
export { BrokerError, CommandError, ValidationError } from "./errors.js";
|
|
17
|
+
export { signSubmissionAttestation, verifySubmissionAttestation, submissionAttestationEnvelopeSchema, submissionAttestationStatementSchema, SUBMISSION_ATTESTATION_PAYLOAD_TYPE, SUBMISSION_ATTESTATION_PREDICATE_TYPE, type SubmissionAttestationEnvelope, type SubmissionAttestationStatement, type SubmissionAttestationVerificationOptions, type SubmissionAttestationVerificationResult, } from "./submission-attestation.js";
|
|
18
|
+
export { schemaFingerprint, schemaSnapshotIdentity } from "./schema-identity.js";
|
|
19
|
+
export type * from "./types.js";
|
package/dist/core.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { MergeBroker, } from "./broker.js";
|
|
2
|
+
export { adoptedRef, GitRepository, } from "./git.js";
|
|
3
|
+
export { StateStore } from "./store.js";
|
|
4
|
+
export { inspectStorage, compactAuditStorage, } from "./storage.js";
|
|
5
|
+
export { installHooks, prePushHook, uninstallHooks } from "./hooks.js";
|
|
6
|
+
export { describeServeEvent, formatServeEvent, serveEventJson, shouldReportIdle, } from "./serve-log.js";
|
|
7
|
+
export { currentServicePlatform, installService, launchdPlist, serviceFilePath, serviceName, systemdUnit, windowsTaskXml, quoteWindowsArgument, uninstallService, } from "./service.js";
|
|
8
|
+
export { defaultConfig, initializeConfig, loadConfig, validateConfig, writeConfig } from "./config.js";
|
|
9
|
+
export { applyBootstrapPlan, detectBootstrapPlan, hasAgentContract, installAgentContract, } from "./bootstrap.js";
|
|
10
|
+
export { scheduleTasks } from "./scheduler.js";
|
|
11
|
+
export { formatBrokerStatus } from "./status.js";
|
|
12
|
+
export { createSupportBundle, sanitizeSupportData } from "./support.js";
|
|
13
|
+
export { githubCliPublisher, } from "./publisher.js";
|
|
14
|
+
export { buildBatchProvenance, generateProvenanceSigningIdentity, provenanceKeyId, provenancePath, publicKeyFromPrivate, signBatchProvenance, validateProvenancePublicKey, verifyBatchProvenanceSignature, } from "./provenance.js";
|
|
15
|
+
export { batchIdFromBranch, policyFromBase, verifyProvenance, } from "./verify.js";
|
|
16
|
+
export { BrokerError, CommandError, ValidationError } from "./errors.js";
|
|
17
|
+
export { signSubmissionAttestation, verifySubmissionAttestation, submissionAttestationEnvelopeSchema, submissionAttestationStatementSchema, SUBMISSION_ATTESTATION_PAYLOAD_TYPE, SUBMISSION_ATTESTATION_PREDICATE_TYPE, } from "./submission-attestation.js";
|
|
18
|
+
export { schemaFingerprint, schemaSnapshotIdentity } from "./schema-identity.js";
|
package/dist/errors.d.ts
CHANGED
package/dist/errors.js
CHANGED
package/dist/gate-authority.d.ts
CHANGED
package/dist/gate-authority.js
CHANGED
package/dist/git-locators.d.ts
CHANGED
|
@@ -5,4 +5,3 @@ export declare function canonicalRemoteUrl(value: string, repoRoot: string): str
|
|
|
5
5
|
export declare function localFileRemotePath(value: string, remote: string, purpose: "fetch" | "publication"): string;
|
|
6
6
|
/** Remove one command record terminator without changing legal whitespace in a local pathname. */
|
|
7
7
|
export declare function singleGitOutputRecord(output: string): string | undefined;
|
|
8
|
-
//# sourceMappingURL=git-locators.d.ts.map
|
package/dist/git-locators.js
CHANGED
|
@@ -107,4 +107,3 @@ export function singleGitOutputRecord(output) {
|
|
|
107
107
|
// risk resolving the replacement-character spelling to a different repository on disk.
|
|
108
108
|
return value.length > 0 && !/[\0\r\n\ufffd]/u.test(value) ? value : undefined;
|
|
109
109
|
}
|
|
110
|
-
//# sourceMappingURL=git-locators.js.map
|
package/dist/git.d.ts
CHANGED
package/dist/git.js
CHANGED
package/dist/hooks.d.ts
CHANGED
package/dist/hooks.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { adoptedRef, GitRepository, type LinearCommitHistory, type PinnedGitCommit, type WorktreeInfo, } from "./git.js";
|
|
3
|
-
export { StateStore, type ArchivedStateSlice, type LockStatus } from "./store.js";
|
|
4
|
-
export { installHooks, prePushHook, uninstallHooks, type HookInstallation } from "./hooks.js";
|
|
5
|
-
export { describeServeEvent, formatServeEvent, serveEventJson, shouldReportIdle, type ServeEvent, } from "./serve-log.js";
|
|
6
|
-
export { currentServicePlatform, installService, launchdPlist, serviceFilePath, serviceName, systemdUnit, windowsTaskXml, quoteWindowsArgument, uninstallService, type ServiceDefinition, type ServiceInstallation, type ServiceOptions, type ServicePlatform, } from "./service.js";
|
|
7
|
-
export { defaultConfig, initializeConfig, loadConfig, validateConfig, writeConfig } from "./config.js";
|
|
8
|
-
export { applyBootstrapPlan, detectBootstrapPlan, hasAgentContract, installAgentContract, type AgentContractResult, type BootstrapPlan, } from "./bootstrap.js";
|
|
9
|
-
export { scheduleTasks } from "./scheduler.js";
|
|
10
|
-
export { formatBrokerStatus } from "./status.js";
|
|
11
|
-
export { createSupportBundle, sanitizeSupportData, type SupportBundle } from "./support.js";
|
|
1
|
+
export * from "./core.js";
|
|
12
2
|
export { createMcpServer, mcpToolNames, type McpProfile } from "./mcp.js";
|
|
13
|
-
export { githubCliPublisher, type ForgePublisher, type PublicationResult, type PullRequestState, } from "./publisher.js";
|
|
14
|
-
export { buildBatchProvenance, generateProvenanceSigningIdentity, provenanceKeyId, provenancePath, publicKeyFromPrivate, signBatchProvenance, validateProvenancePublicKey, verifyBatchProvenanceSignature, type ProvenanceSigningIdentity, } from "./provenance.js";
|
|
15
|
-
export { batchIdFromBranch, policyFromBase, verifyProvenance, type ProvenanceVerification, type VerifyProvenanceOptions, } from "./verify.js";
|
|
16
|
-
export { BrokerError, CommandError, ValidationError } from "./errors.js";
|
|
17
|
-
export { signSubmissionAttestation, verifySubmissionAttestation, submissionAttestationEnvelopeSchema, submissionAttestationStatementSchema, SUBMISSION_ATTESTATION_PAYLOAD_TYPE, SUBMISSION_ATTESTATION_PREDICATE_TYPE, type SubmissionAttestationEnvelope, type SubmissionAttestationStatement, type SubmissionAttestationVerificationOptions, type SubmissionAttestationVerificationResult, } from "./submission-attestation.js";
|
|
18
|
-
export { schemaFingerprint, schemaSnapshotIdentity } from "./schema-identity.js";
|
|
19
|
-
export type * from "./types.js";
|
|
20
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export { StateStore } from "./store.js";
|
|
4
|
-
export { installHooks, prePushHook, uninstallHooks } from "./hooks.js";
|
|
5
|
-
export { describeServeEvent, formatServeEvent, serveEventJson, shouldReportIdle, } from "./serve-log.js";
|
|
6
|
-
export { currentServicePlatform, installService, launchdPlist, serviceFilePath, serviceName, systemdUnit, windowsTaskXml, quoteWindowsArgument, uninstallService, } from "./service.js";
|
|
7
|
-
export { defaultConfig, initializeConfig, loadConfig, validateConfig, writeConfig } from "./config.js";
|
|
8
|
-
export { applyBootstrapPlan, detectBootstrapPlan, hasAgentContract, installAgentContract, } from "./bootstrap.js";
|
|
9
|
-
export { scheduleTasks } from "./scheduler.js";
|
|
10
|
-
export { formatBrokerStatus } from "./status.js";
|
|
11
|
-
export { createSupportBundle, sanitizeSupportData } from "./support.js";
|
|
1
|
+
// Preserve the full package's public API; CLI-only consumers use the shared core entry point.
|
|
2
|
+
export * from "./core.js";
|
|
12
3
|
export { createMcpServer, mcpToolNames } from "./mcp.js";
|
|
13
|
-
export { githubCliPublisher, } from "./publisher.js";
|
|
14
|
-
export { buildBatchProvenance, generateProvenanceSigningIdentity, provenanceKeyId, provenancePath, publicKeyFromPrivate, signBatchProvenance, validateProvenancePublicKey, verifyBatchProvenanceSignature, } from "./provenance.js";
|
|
15
|
-
export { batchIdFromBranch, policyFromBase, verifyProvenance, } from "./verify.js";
|
|
16
|
-
export { BrokerError, CommandError, ValidationError } from "./errors.js";
|
|
17
|
-
export { signSubmissionAttestation, verifySubmissionAttestation, submissionAttestationEnvelopeSchema, submissionAttestationStatementSchema, SUBMISSION_ATTESTATION_PAYLOAD_TYPE, SUBMISSION_ATTESTATION_PREDICATE_TYPE, } from "./submission-attestation.js";
|
|
18
|
-
export { schemaFingerprint, schemaSnapshotIdentity } from "./schema-identity.js";
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
package/dist/mcp-cli.d.ts
CHANGED
package/dist/mcp-cli.js
CHANGED
package/dist/mcp.d.ts
CHANGED
package/dist/mcp.js
CHANGED
package/dist/patterns.d.ts
CHANGED
|
@@ -6,4 +6,3 @@ export declare function patternsMayOverlap(left: string, right: string): boolean
|
|
|
6
6
|
export declare function patternSetsMayOverlap(left: string[], right: string[]): boolean;
|
|
7
7
|
export declare function pathsOverlap(left: string[], right: string[]): string | undefined;
|
|
8
8
|
export declare function matchedSerializedPatterns(paths: string[], patterns: string[]): string[];
|
|
9
|
-
//# sourceMappingURL=patterns.d.ts.map
|
package/dist/patterns.js
CHANGED
package/dist/process.d.ts
CHANGED
package/dist/process.js
CHANGED
package/dist/provenance.d.ts
CHANGED
package/dist/provenance.js
CHANGED
package/dist/publisher.d.ts
CHANGED
|
@@ -77,4 +77,3 @@ export interface PullRequestState {
|
|
|
77
77
|
export declare function inspectPullRequest(repoRoot: string, pullRequestUrl: string): Promise<PullRequestState>;
|
|
78
78
|
export declare function defaultProjectTitle(repoRoot: string): string;
|
|
79
79
|
export declare const githubCliPublisher: ForgePublisher;
|
|
80
|
-
//# sourceMappingURL=publisher.d.ts.map
|
package/dist/publisher.js
CHANGED
package/dist/scheduler.d.ts
CHANGED
package/dist/scheduler.js
CHANGED
package/dist/schema-identity.js
CHANGED
package/dist/serve-log.d.ts
CHANGED
package/dist/serve-log.js
CHANGED
package/dist/service.d.ts
CHANGED
package/dist/service.js
CHANGED
package/dist/state-codec.d.ts
CHANGED
|
@@ -3,4 +3,3 @@ import { type CurrentBrokerState, type SubmissionRecord } from "./types.js";
|
|
|
3
3
|
export declare function decodeBrokerState(value: unknown): CurrentBrokerState;
|
|
4
4
|
/** Shared decoder for archived submission manifests, with the same additive-field behavior. */
|
|
5
5
|
export declare function decodeSubmissionRecord(value: unknown, location?: string): SubmissionRecord;
|
|
6
|
-
//# sourceMappingURL=state-codec.d.ts.map
|
package/dist/state-codec.js
CHANGED
package/dist/status.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { BrokerConfig, BrokerState } from "./types.js";
|
|
2
2
|
/** Human status is an operator surface: it includes both state and the safest useful next action. */
|
|
3
3
|
export declare function formatBrokerStatus(state: BrokerState, config: BrokerConfig, at?: Date): string;
|
|
4
|
-
//# sourceMappingURL=status.d.ts.map
|
package/dist/status.js
CHANGED