@forgeax/game 0.3.3 → 0.3.4
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 +7 -4
- package/assets/asset3d/provider/asset3d-search-provider-c181c48fbffc933a7ce9a0836f7878ca5e6d77e1-darwin-arm64.tar.gz +0 -0
- package/assets/asset3d/provider/asset3d-search-provider-c181c48fbffc933a7ce9a0836f7878ca5e6d77e1-linux-x64.tar.gz +0 -0
- package/dist/main.js +8 -4
- package/docs/asset3d.md +12 -9
- package/docs/release-0.3.4.md +66 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -60,7 +60,7 @@ npx -y @forgeax/game@latest update --ide codex
|
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
`update` reports the configured transition, for example
|
|
63
|
-
`plugin 0.3.
|
|
63
|
+
`plugin 0.3.3 -> 0.3.4`. It refreshes configuration, skills, and routing from the
|
|
64
64
|
package being executed; it does not independently fetch another package.
|
|
65
65
|
|
|
66
66
|
> [!NOTE]
|
|
@@ -203,8 +203,9 @@ environment contract. The Provider access check returns only the exact download
|
|
|
203
203
|
origins required by the sandbox. Failed validation or installation rolls back a
|
|
204
204
|
newly written credential.
|
|
205
205
|
|
|
206
|
-
The npm package carries
|
|
207
|
-
|
|
206
|
+
The npm package carries digest-pinned Darwin arm64 and Linux x64 Provider archives
|
|
207
|
+
as inert assets. `enable` selects only the archive matching the current host and
|
|
208
|
+
reuses the exact verified Provider from
|
|
208
209
|
`~/.forgeax/providers/asset3d-search/<sha256>/`, or provisions that packaged archive
|
|
209
210
|
when the cache is absent. It never downloads Provider code from GitHub or another
|
|
210
211
|
repository. Only after Provider verification and its MCP handshake succeed does it merge the `forgeax` and
|
|
@@ -278,7 +279,9 @@ and evidence boundaries.
|
|
|
278
279
|
|
|
279
280
|
See [docs/runtime.md](docs/runtime.md) for the exact artifact and lifecycle contract.
|
|
280
281
|
For the current AW-default plus explicit EA environment contract and maintainer
|
|
281
|
-
publish checklist, see [docs/release-0.3.
|
|
282
|
+
publish checklist, see [docs/release-0.3.4.md](docs/release-0.3.4.md). The AW-default
|
|
283
|
+
plus explicit EA environment contract was introduced in
|
|
284
|
+
[docs/release-0.3.3.md](docs/release-0.3.3.md). The original AW
|
|
282
285
|
production default is recorded in [docs/release-0.3.2.md](docs/release-0.3.2.md), authenticated Provider
|
|
283
286
|
delivery is documented in [docs/release-0.3.1.md](docs/release-0.3.1.md),
|
|
284
287
|
and the original two-command onboarding contract remains documented in
|
|
Binary file
|
|
Binary file
|
package/dist/main.js
CHANGED
|
@@ -2946,7 +2946,7 @@ var RELEASE_IDENTITY_MIME = "application/vnd.forgeax.game-release-identity+json"
|
|
|
2946
2946
|
var RELEASE_IDENTITY = Object.freeze({
|
|
2947
2947
|
schema: RELEASE_IDENTITY_SCHEMA,
|
|
2948
2948
|
gamePackage: "@forgeax/game",
|
|
2949
|
-
gameVersion: "0.3.
|
|
2949
|
+
gameVersion: "0.3.4",
|
|
2950
2950
|
gameBin: "forgeax-game",
|
|
2951
2951
|
engineSdkPackage: ENGINE_SDK_PACKAGE,
|
|
2952
2952
|
engineSdkVersion: ENGINE_VERSION,
|
|
@@ -3356,7 +3356,7 @@ function launchSpec(mode) {
|
|
|
3356
3356
|
}
|
|
3357
3357
|
return {
|
|
3358
3358
|
command: "npx",
|
|
3359
|
-
args: ["-y", "-p", "@forgeax/game@0.3.
|
|
3359
|
+
args: ["-y", "-p", "@forgeax/game@0.3.4", "forgeax-game", "mcp"]
|
|
3360
3360
|
};
|
|
3361
3361
|
}
|
|
3362
3362
|
function asset3dLaunchSpec(mode) {
|
|
@@ -4275,8 +4275,12 @@ var RECEIPT_SCHEMA_SHA256 = "e0dc9e9fe9872f09af9fca6d0c17d22aca63c2b546c55c0b669
|
|
|
4275
4275
|
var ASSET3D_PROVIDER_COMMIT = "c181c48fbffc933a7ce9a0836f7878ca5e6d77e1";
|
|
4276
4276
|
var BUNDLED_ASSET3D_PROVIDERS = Object.freeze({
|
|
4277
4277
|
"darwin-arm64": {
|
|
4278
|
-
sha256: "
|
|
4278
|
+
sha256: "9492c507a3afe5cafcd50b5f782b313c8716c2e52f5def06592c6a100c0459db",
|
|
4279
4279
|
relativePath: "asset3d/provider/asset3d-search-provider-c181c48fbffc933a7ce9a0836f7878ca5e6d77e1-darwin-arm64.tar.gz"
|
|
4280
|
+
},
|
|
4281
|
+
"linux-x64": {
|
|
4282
|
+
sha256: "e6ac3df76c8b82f9fe2c063dd3f221324a9dad5176fd52535a5144b0ff6002d8",
|
|
4283
|
+
relativePath: "asset3d/provider/asset3d-search-provider-c181c48fbffc933a7ce9a0836f7878ca5e6d77e1-linux-x64.tar.gz"
|
|
4280
4284
|
}
|
|
4281
4285
|
});
|
|
4282
4286
|
var INSTALL_SCHEMA = "forgeax.asset3d-install/1.0.0";
|
|
@@ -5868,7 +5872,7 @@ async function runDormantAsset3dMcp() {
|
|
|
5868
5872
|
result: {
|
|
5869
5873
|
protocolVersion,
|
|
5870
5874
|
capabilities: { tools: {} },
|
|
5871
|
-
serverInfo: { name: "asset3d-search", version: "0.3.
|
|
5875
|
+
serverInfo: { name: "asset3d-search", version: "0.3.4" }
|
|
5872
5876
|
}
|
|
5873
5877
|
};
|
|
5874
5878
|
} else if (request2.method === "tools/list") {
|
package/docs/asset3d.md
CHANGED
|
@@ -14,11 +14,13 @@ second importer or Preview server.
|
|
|
14
14
|
|
|
15
15
|
> [!IMPORTANT]
|
|
16
16
|
> Provider archives are platform-specific artifacts. The npm package embeds the
|
|
17
|
-
> currently released Darwin arm64
|
|
18
|
-
> private source repository or release download.
|
|
17
|
+
> currently released Darwin arm64 and Linux x64 archives so a cache-empty user does
|
|
18
|
+
> not depend on a private source repository or release download. Linux requires an
|
|
19
|
+
> x86-64 host and Python 3.11 or 3.12. Installation deliberately returns
|
|
19
20
|
> `provider_platform_mismatch` when an archive target differs from the current host.
|
|
20
|
-
>
|
|
21
|
-
>
|
|
21
|
+
> Unsupported targets such as Linux arm64 and Windows fail closed. Each bundled
|
|
22
|
+
> target therefore needs its own digest, offline verification, MCP handshake, and
|
|
23
|
+
> real service-path evidence.
|
|
22
24
|
|
|
23
25
|
## Trust and data flow
|
|
24
26
|
|
|
@@ -178,11 +180,12 @@ successful; `asset3d abort` removes only its transaction quarantine.
|
|
|
178
180
|
## Distribution and evidence boundary
|
|
179
181
|
|
|
180
182
|
The packed Game Plugin includes the self-contained CLI bundle, existing connector
|
|
181
|
-
Skill, exact K0 TGZ, checked P0 result/receipt schemas, and
|
|
182
|
-
|
|
183
|
-
Engine payload, source checkout, credentials, or
|
|
184
|
-
|
|
185
|
-
artifact gate recomputes every embedded predecessor
|
|
183
|
+
Skill, exact K0 TGZ, checked P0 result/receipt schemas, and an inert, digest-pinned
|
|
184
|
+
Provider archive for every supported target. It does not embed a provisioned Python
|
|
185
|
+
environment, managed Provider cache, Engine payload, source checkout, credentials, or
|
|
186
|
+
workspace links. A disabled installation neither extracts an archive nor contacts a
|
|
187
|
+
network service. The package artifact gate recomputes every embedded predecessor
|
|
188
|
+
digest.
|
|
186
189
|
|
|
187
190
|
Controlled external-consumer evidence may establish package installation, raw MCP
|
|
188
191
|
framing, local redirect/ZIP handling, multi-GLB and texture import, reuse, refresh,
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# @forgeax/game 0.3.4 release contract
|
|
2
|
+
|
|
3
|
+
Version `0.3.4` adds a self-contained Linux x64 Asset3D Provider while preserving
|
|
4
|
+
the existing opt-in workflow. Ordinary `install` and `init` remain platform-neutral
|
|
5
|
+
and keep Asset3D disabled. A user enables Asset3D only from an initialized game:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx -y @forgeax/game@0.3.4 asset3d enable
|
|
9
|
+
npx -y @forgeax/game@0.3.4 asset3d doctor --json
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Supported Provider targets
|
|
13
|
+
|
|
14
|
+
| Host | Provider archive SHA-256 | Status |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| Darwin arm64 | `9492c507a3afe5cafcd50b5f782b313c8716c2e52f5def06592c6a100c0459db` | Supported |
|
|
17
|
+
| Linux x64 | `e6ac3df76c8b82f9fe2c063dd3f221324a9dad5176fd52535a5144b0ff6002d8` | Supported; Python 3.11 or 3.12 required |
|
|
18
|
+
|
|
19
|
+
Both archives bind Provider commit
|
|
20
|
+
`c181c48fbffc933a7ce9a0836f7878ca5e6d77e1`. The package build fails if either
|
|
21
|
+
source archive is absent, is a symlink, or differs from its approved digest. The npm
|
|
22
|
+
artifact gate repeats those checks against the packed bytes.
|
|
23
|
+
|
|
24
|
+
The offline wheelhouses omit upstream dependency test suites and redact
|
|
25
|
+
credential-shaped user-info from dependency documentation examples. Runtime modules
|
|
26
|
+
and package metadata remain present, each rewritten wheel is re-RECORDed and
|
|
27
|
+
hash-locked, and the resulting platform archives are byte-reproducible. This keeps
|
|
28
|
+
test-only public tokens and false credential patterns out of the npm payload.
|
|
29
|
+
|
|
30
|
+
Linux arm64 and Windows are not part of this release. `asset3d enable` fails closed
|
|
31
|
+
with `asset3d_provider_target_unreleased` on those hosts; it does not install a
|
|
32
|
+
different target or fall back to downloaded Provider code.
|
|
33
|
+
|
|
34
|
+
## Linux release gate
|
|
35
|
+
|
|
36
|
+
The Ubuntu x64 CI job performs the Linux-specific verification from the same package
|
|
37
|
+
assets that are published:
|
|
38
|
+
|
|
39
|
+
1. Provision the Provider into an empty managed cache without downloading Provider
|
|
40
|
+
code or Python dependencies.
|
|
41
|
+
2. Verify the archive manifest, target, file digests, wheel lock, and converter.
|
|
42
|
+
3. Execute the bundled Linux x64 `FBX2glTF` binary.
|
|
43
|
+
4. Launch the installed Provider over stdio MCP and require `search_asset` in
|
|
44
|
+
`tools/list`.
|
|
45
|
+
|
|
46
|
+
This proves Linux provisioning and MCP capability discovery. It does not substitute
|
|
47
|
+
for an authenticated request to the internal AW service, which requires network
|
|
48
|
+
reachability and user credentials and remains a separate environment acceptance
|
|
49
|
+
gate.
|
|
50
|
+
|
|
51
|
+
## Maintainer checklist
|
|
52
|
+
|
|
53
|
+
- [ ] `bun run typecheck`
|
|
54
|
+
- [ ] `bun test`
|
|
55
|
+
- [ ] `bun run build`
|
|
56
|
+
- [ ] `npm pack --ignore-scripts --pack-destination <empty-directory>`
|
|
57
|
+
- [ ] `bun run release:check -- <exact-tarball>`
|
|
58
|
+
- [ ] Ubuntu x64 `asset3d-linux-x64` CI job is green on the exact release commit.
|
|
59
|
+
- [ ] The packed artifact contains both Provider archives and no credential, source
|
|
60
|
+
checkout, managed cache, or provisioned Python environment.
|
|
61
|
+
- [ ] The exact tarball passes the repository secret and private-path scans before
|
|
62
|
+
publication.
|
|
63
|
+
|
|
64
|
+
The AW production default and explicit EA override remain as documented in
|
|
65
|
+
[`release-0.3.3.md`](release-0.3.3.md). Credential storage and real search/import
|
|
66
|
+
acceptance boundaries remain unchanged and are defined in [`asset3d.md`](asset3d.md).
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"packageManager": "bun@1.3.14",
|
|
3
3
|
"name": "@forgeax/game",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.4",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
7
7
|
"description": "@forgeax/game — an MCP/CLI connector for exact released ForgeaX Engine games and Engine-owned Preview.",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"docs/release-0.3.1.md",
|
|
26
26
|
"docs/release-0.3.2.md",
|
|
27
27
|
"docs/release-0.3.3.md",
|
|
28
|
+
"docs/release-0.3.4.md",
|
|
28
29
|
"README.md"
|
|
29
30
|
],
|
|
30
31
|
"scripts": {
|
|
@@ -32,6 +33,7 @@
|
|
|
32
33
|
"release:check": "bun scripts/check-package-artifact.ts",
|
|
33
34
|
"acceptance": "bun scripts/accept-packed-consumer.ts",
|
|
34
35
|
"acceptance:asset3d": "bun scripts/accept-asset3d-packed-consumer.ts",
|
|
36
|
+
"verify:asset3d-linux": "bun scripts/verify-linux-asset3d-provider.ts",
|
|
35
37
|
"release:publish": "bun scripts/publish-package.ts",
|
|
36
38
|
"prepack": "bun build.mjs",
|
|
37
39
|
"typecheck": "tsc --noEmit",
|