hoi4-agent-tools 0.1.4 → 0.1.6
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/CHANGELOG.md +16 -0
- package/README.md +4 -4
- package/dist/hoi4_agent_tools/mcp/registry/metadata.d.ts +1 -1
- package/dist/hoi4_agent_tools/version.d.ts +1 -1
- package/dist/hoi4_agent_tools/version.js +1 -1
- package/docs/completion-report.md +26 -11
- package/docs/release.md +17 -7
- package/docs/self-hosting.md +2 -2
- package/package.json +1 -1
- package/schemas/configuration.schema.json +1 -1
- package/schemas/continuous-focus-palette.schema.json +1 -1
- package/schemas/focus-plan.schema.json +1 -1
- package/schemas/focus-planning-sidecar.schema.json +1 -1
- package/schemas/gui-animation-source.schema.json +1 -1
- package/schemas/gui-helper.schema.json +1 -1
- package/schemas/gui-scenario.schema.json +1 -1
- package/schemas/map-operation.schema.json +1 -1
- package/schemas/operation-result.schema.json +1 -1
- package/schemas/transaction-manifest.schema.json +1 -1
- package/server.json +2 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes are documented here. The project follows Semantic Versioning.
|
|
4
4
|
|
|
5
|
+
## [0.1.6] - 2026-07-11
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Omitted the redundant explicit `isSecret: false` environment-variable value because the pinned official Registry schema defines the field's default as false and the Registry canonically omits that default from published metadata.
|
|
10
|
+
- Kept strict byte-structural equality between checked-in `server.json` and the official Registry response instead of weakening verification with a broad normalizer.
|
|
11
|
+
- Preserved the immutable complete `v0.1.5` npm, GHCR, GitHub Release, and MCP Registry publication whose final cross-surface verifier stopped only on the schema-default serialization difference, then advanced every synchronized release surface for the fix-forward release.
|
|
12
|
+
|
|
13
|
+
## [0.1.5] - 2026-07-11
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- Accepted the live GitHub Releases API's empty-string representation for an omitted optional asset label while continuing to reject every non-empty alternate label.
|
|
18
|
+
- Added coverage for both canonical no-label representations and retained strict name, count, uploader, upload state, size, digest, API URL, and downloaded-byte verification for every release asset.
|
|
19
|
+
- Preserved the immutable `v0.1.4` npm package and GHCR image plus its exact unpublished GitHub draft after the draft verifier stopped before Release publication or MCP Registry publication, then advanced every synchronized release surface for the fix-forward release.
|
|
20
|
+
|
|
5
21
|
## [0.1.4] - 2026-07-11
|
|
6
22
|
|
|
7
23
|
### Fixed
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ The MCP server is the product interface. There is no focus editor, GUI editor, m
|
|
|
15
15
|
Requires Node.js 22 or 24.
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
npm install --global hoi4-agent-tools@0.1.
|
|
18
|
+
npm install --global hoi4-agent-tools@0.1.6
|
|
19
19
|
hoi4-agent-tools-setup --init-config /path/to/config.json --workspace /path/to/mod --game /path/to/game
|
|
20
20
|
hoi4-agent-tools-setup --diagnose --config /path/to/config.json
|
|
21
21
|
hoi4-agent-tools-setup --print-client-config --config /path/to/config.json
|
|
@@ -26,7 +26,7 @@ The generated configuration is read-only. Add `--enable-writes --server-state /s
|
|
|
26
26
|
For one-shot stdio installation, clients can launch:
|
|
27
27
|
|
|
28
28
|
```text
|
|
29
|
-
npx -y hoi4-agent-tools@0.1.
|
|
29
|
+
npx -y hoi4-agent-tools@0.1.6
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
with `HOI4_AGENT_CONFIG` set to the reviewed config path.
|
|
@@ -66,7 +66,7 @@ Generic JSON-based clients:
|
|
|
66
66
|
"mcpServers": {
|
|
67
67
|
"hoi4_agent_tools": {
|
|
68
68
|
"command": "npx",
|
|
69
|
-
"args": ["-y", "hoi4-agent-tools@0.1.
|
|
69
|
+
"args": ["-y", "hoi4-agent-tools@0.1.6"],
|
|
70
70
|
"env": { "HOI4_AGENT_CONFIG": "/absolute/path/to/config.json" }
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -78,7 +78,7 @@ Codex `config.toml`:
|
|
|
78
78
|
```toml
|
|
79
79
|
[mcp_servers.hoi4_agent_tools]
|
|
80
80
|
command = "npx"
|
|
81
|
-
args = ["-y", "hoi4-agent-tools@0.1.
|
|
81
|
+
args = ["-y", "hoi4-agent-tools@0.1.6"]
|
|
82
82
|
env = { HOI4_AGENT_CONFIG = "/absolute/path/to/config.json" }
|
|
83
83
|
```
|
|
84
84
|
|
|
@@ -4,6 +4,6 @@ export declare const MCP_REGISTRY_SERVER_NAME = "io.github.klimPaskov/hoi4-agent
|
|
|
4
4
|
export declare const MCP_REGISTRY_IDENTITY: {
|
|
5
5
|
readonly name: "io.github.klimPaskov/hoi4-agent-tools";
|
|
6
6
|
readonly packageName: "hoi4-agent-tools";
|
|
7
|
-
readonly version: "0.1.
|
|
7
|
+
readonly version: "0.1.6";
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PACKAGE_NAME = "hoi4-agent-tools";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.1.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.1.6";
|
|
3
3
|
export declare const MCP_PROTOCOL_VERSION = "2025-11-25";
|
|
4
4
|
export declare const CONFIG_VERSION = 1;
|
|
5
5
|
export declare const TRANSACTION_VERSION = 1;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LATEST_PROTOCOL_VERSION } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
export const PACKAGE_NAME = 'hoi4-agent-tools';
|
|
3
|
-
export const PACKAGE_VERSION = '0.1.
|
|
3
|
+
export const PACKAGE_VERSION = '0.1.6';
|
|
4
4
|
export const MCP_PROTOCOL_VERSION = LATEST_PROTOCOL_VERSION;
|
|
5
5
|
export const CONFIG_VERSION = 1;
|
|
6
6
|
export const TRANSACTION_VERSION = 1;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Completion report: 0.1.
|
|
1
|
+
# Completion report: 0.1.6 release candidate
|
|
2
2
|
|
|
3
|
-
- Candidate version: `0.1.
|
|
3
|
+
- Candidate version: `0.1.6`
|
|
4
4
|
- Report date: 2026-07-11
|
|
5
5
|
- Status: fix-forward implementation in qualification; public delivery incomplete
|
|
6
6
|
|
|
@@ -51,16 +51,31 @@ incorrectly required the URI itself to retain the tag. GitHub Release, MCP Regis
|
|
|
51
51
|
public verification were skipped. The npm `0.1.3` bytes, GHCR `0.1.3` digest, and tag are retained
|
|
52
52
|
as immutable audit evidence.
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
The immutable `v0.1.4` release attempt published and independently verified npm and the exact
|
|
55
|
+
two-platform GHCR image, then staged a four-asset GitHub draft with the expected names, sizes,
|
|
56
|
+
SHA-256 digests, upload states, and GitHub Actions bot ownership. The live Releases API represented
|
|
57
|
+
the omitted optional asset label as an empty string while the verifier accepted only `null`, so the
|
|
58
|
+
draft remained unpublished. MCP Registry and final public verification were skipped. The npm
|
|
59
|
+
`0.1.4` bytes, GHCR `0.1.4` digest, tag, draft, and draft assets are retained as immutable or
|
|
60
|
+
unchanged audit evidence.
|
|
61
|
+
|
|
62
|
+
The immutable `v0.1.5` release attempt published and independently verified npm, the exact
|
|
63
|
+
two-platform GHCR image with attestations, an immutable four-asset GitHub Release, and an
|
|
64
|
+
active/latest official MCP Registry record. Its final cross-surface verifier stopped because the
|
|
65
|
+
Registry canonically omitted explicit `isSecret: false`; the pinned official schema defines false
|
|
66
|
+
as that field's default. Every public object had already passed its dedicated publication gate and
|
|
67
|
+
remains unchanged as audit evidence.
|
|
68
|
+
|
|
69
|
+
No end-to-end workflow-complete multi-surface public release is claimed in this report. The
|
|
70
|
+
following evidence remains pending until the `0.1.6` fix-forward workflow finishes:
|
|
56
71
|
|
|
57
72
|
| Surface | Required completion evidence | Status |
|
|
58
73
|
| -------------- | --------------------------------------------------------------------------------------------------------- | ------------ |
|
|
59
|
-
| GitHub source | Public canonical repository containing the tested commit and immutable `v0.1.
|
|
60
|
-
| npm | Public `hoi4-agent-tools@0.1.
|
|
61
|
-
| GitHub release | Immutable `v0.1.
|
|
62
|
-
| GHCR | Public anonymous `0.1.
|
|
63
|
-
| MCP Registry | Exact `io.github.klimPaskov/hoi4-agent-tools@0.1.
|
|
74
|
+
| GitHub source | Public canonical repository containing the tested commit and immutable `v0.1.6` tag | Pending |
|
|
75
|
+
| npm | Public `hoi4-agent-tools@0.1.6` with exact tarball integrity and SLSA provenance | `0.1.5` only |
|
|
76
|
+
| GitHub release | Immutable `v0.1.6` release containing the exact npm and container digest manifests | `0.1.5` only |
|
|
77
|
+
| GHCR | Public anonymous `0.1.6` digest with two runtime platforms and source-bound SBOM/provenance subjects | `0.1.5` only |
|
|
78
|
+
| MCP Registry | Exact `io.github.klimPaskov/hoi4-agent-tools@0.1.6` metadata with official `active` and `isLatest` status | `0.1.5` only |
|
|
64
79
|
| Public install | Clean registry installation, signature audit, MCP initialization, and tool discovery | Pending |
|
|
65
80
|
|
|
66
81
|
## First-release completion sequence
|
|
@@ -69,8 +84,8 @@ pending until the `0.1.4` fix-forward workflow finishes:
|
|
|
69
84
|
2. Run the manual GHCR bootstrap workflow, make the new package public in GitHub, and verify the bootstrap index without saved credentials.
|
|
70
85
|
3. Create `npm-bootstrap-v0.0.0-bootstrap.1`, store a shortest-lived npm granular token only as `NPM_BOOTSTRAP_TOKEN`, and run the manual non-OIDC npm bootstrap workflow from that tag. The earlier immutable `.0` attempt stopped before publication; it is retained as audit evidence rather than rewritten.
|
|
71
86
|
4. Revoke and delete `NPM_BOOTSTRAP_TOKEN`, then configure npm trusted publishing for `klimPaskov/hoi4-agent-tools`, `release.yml`, and the explicit `npm publish` allowed action.
|
|
72
|
-
5. Preserve `v0.1.0`
|
|
73
|
-
6. Qualify the synchronized `0.1.
|
|
87
|
+
5. Preserve `v0.1.0` through `v0.1.4` as documented above, plus the immutable complete `v0.1.5` public objects whose final verifier stopped on schema-default serialization. Do not create `NPM_TOKEN`; the OIDC workflow rejects it.
|
|
88
|
+
6. Qualify the synchronized `0.1.6` fix-forward commit with canonical default omission and unchanged strict Registry equality, then create `v0.1.6` only from an exact green commit.
|
|
74
89
|
7. Allow the release workflow to publish and verify npm, digest-immutable GHCR, the immutable GitHub release, and MCP Registry in its enforced order.
|
|
75
90
|
8. Update this report with the commit, workflow run, public URLs, npm and image digests, and Registry status. Only then is public delivery complete.
|
|
76
91
|
|
package/docs/release.md
CHANGED
|
@@ -59,7 +59,7 @@ stable package is published, the normal strict stable-version monotonic and exac
|
|
|
59
59
|
## Immutable fix-forward history
|
|
60
60
|
|
|
61
61
|
Stable tags and public package versions are never moved, deleted, or overwritten after a failed
|
|
62
|
-
release attempt. The retained history before `0.1.
|
|
62
|
+
release attempt. The retained history before `0.1.6` is:
|
|
63
63
|
|
|
64
64
|
- `v0.1.0` stopped during prepublication validation, before any public writer ran;
|
|
65
65
|
- `v0.1.1` stopped before npm accepted bytes because npm interpreted a slash-containing relative
|
|
@@ -75,12 +75,22 @@ release attempt. The retained history before `0.1.4` is:
|
|
|
75
75
|
resolves the default Git context to the immutable commit. The provenance digest and URI were
|
|
76
76
|
commit-bound, and its environment separately carried the exact tag, repository, release workflow,
|
|
77
77
|
workflow SHA, event, and job. GitHub Release and MCP Registry writers were skipped.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
- `v0.1.4` published and independently verified npm and the exact two-platform GHCR image, then
|
|
79
|
+
staged an exact four-asset GitHub draft. The live Releases API represented an omitted optional
|
|
80
|
+
asset label as an empty string while the verifier accepted only `null`, so the draft remained
|
|
81
|
+
unpublished and MCP Registry publication was skipped. The tag, npm package, image, draft, and
|
|
82
|
+
draft assets remain unchanged as audit evidence.
|
|
83
|
+
- `v0.1.5` published and independently verified npm, the exact two-platform GHCR image, an
|
|
84
|
+
immutable four-asset GitHub Release, and an active/latest MCP Registry record. The final
|
|
85
|
+
cross-surface verifier rejected the Registry's omission of explicit `isSecret: false`, although
|
|
86
|
+
the pinned official schema defines false as that field's default and every public object passed
|
|
87
|
+
its preceding publication gate. All public objects remain unchanged as audit evidence.
|
|
88
|
+
|
|
89
|
+
`0.1.6` omits the redundant false default from checked-in Registry metadata so the strict verifier
|
|
90
|
+
can continue comparing the complete published server record without normalization. The normal
|
|
91
|
+
stable-version monotonic gate treats the public `0.1.5` package as immutable history and permits
|
|
92
|
+
only a strictly newer version. Rerunning or fixing a release never authorizes rewriting a tag,
|
|
93
|
+
package version, image tag, release asset, or Registry version.
|
|
84
94
|
|
|
85
95
|
## Required pre-tag immutability check
|
|
86
96
|
|
package/docs/self-hosting.md
CHANGED
|
@@ -128,7 +128,7 @@ place it beneath any source, capability, artifact, cache, fixture, or `storageRo
|
|
|
128
128
|
## Container
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
|
-
docker build -t hoi4-agent-tools:0.1.
|
|
131
|
+
docker build -t hoi4-agent-tools:0.1.6 .
|
|
132
132
|
docker run --read-only --rm -p 127.0.0.1:3210:3210 \
|
|
133
133
|
-e HOI4_AGENT_CONFIG=/config/config.json \
|
|
134
134
|
-v /srv/hoi4/config:/config:ro \
|
|
@@ -136,7 +136,7 @@ docker run --read-only --rm -p 127.0.0.1:3210:3210 \
|
|
|
136
136
|
-v /srv/hoi4/workspaces:/srv/hoi4/workspaces \
|
|
137
137
|
-v /var/lib/hoi4-agent-tools:/var/lib/hoi4-agent-tools \
|
|
138
138
|
-v /var/lib/hoi4-agent-tools-state:/var/lib/hoi4-agent-tools-state \
|
|
139
|
-
hoi4-agent-tools:0.1.
|
|
139
|
+
hoi4-agent-tools:0.1.6
|
|
140
140
|
```
|
|
141
141
|
|
|
142
142
|
Port publishing reaches the container through a non-loopback interface. The mounted configuration
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hoi4-agent-tools",
|
|
3
3
|
"mcpName": "io.github.klimPaskov/hoi4-agent-tools",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.6",
|
|
5
5
|
"description": "Source-preserving HOI4 workbench exposed as a safe Model Context Protocol server for coding agents",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.
|
|
2
|
+
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.6/schemas/configuration.schema.json",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.
|
|
2
|
+
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.6/schemas/continuous-focus-palette.schema.json",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.
|
|
2
|
+
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.6/schemas/focus-plan.schema.json",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.
|
|
2
|
+
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.6/schemas/focus-planning-sidecar.schema.json",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.
|
|
2
|
+
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.6/schemas/gui-animation-source.schema.json",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.
|
|
2
|
+
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.6/schemas/gui-helper.schema.json",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.
|
|
2
|
+
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.6/schemas/gui-scenario.schema.json",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.
|
|
2
|
+
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.6/schemas/map-operation.schema.json",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
4
|
"oneOf": [
|
|
5
5
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.
|
|
2
|
+
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.6/schemas/operation-result.schema.json",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.
|
|
2
|
+
"$id": "https://github.com/klimPaskov/hoi4-agent-tools/blob/v0.1.6/schemas/transaction-manifest.schema.json",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
package/server.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.klimPaskov/hoi4-agent-tools",
|
|
4
4
|
"title": "HOI4 Agent Tools",
|
|
5
5
|
"description": "Source-preserving HOI4 focus, scripted GUI, and map tools with safe transactions.",
|
|
6
|
-
"version": "0.1.
|
|
6
|
+
"version": "0.1.6",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/klimPaskov/hoi4-agent-tools",
|
|
9
9
|
"source": "github"
|
|
@@ -13,14 +13,13 @@
|
|
|
13
13
|
{
|
|
14
14
|
"registryType": "npm",
|
|
15
15
|
"identifier": "hoi4-agent-tools",
|
|
16
|
-
"version": "0.1.
|
|
16
|
+
"version": "0.1.6",
|
|
17
17
|
"environmentVariables": [
|
|
18
18
|
{
|
|
19
19
|
"name": "HOI4_AGENT_CONFIG",
|
|
20
20
|
"description": "Absolute path to a reviewed HOI4 Agent Tools server configuration file.",
|
|
21
21
|
"format": "filepath",
|
|
22
22
|
"isRequired": true,
|
|
23
|
-
"isSecret": false,
|
|
24
23
|
"placeholder": "/absolute/path/to/config.json"
|
|
25
24
|
}
|
|
26
25
|
],
|