Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
14fd01c
feat(targets): remove the plugin target from the public target model …
ScriptedAlchemy Sep 4, 2026
27625cb
feat(build): plan the selected projections into one composite root (#…
ScriptedAlchemy Sep 5, 2026
c399633
Merge origin/main into feat/555-composite-root-w1
ScriptedAlchemy Sep 5, 2026
5d59c40
Merge origin/main (#583) into feat/555-composite-root-w1
ScriptedAlchemy Sep 5, 2026
e10164a
feat(build): AB4106 for mixed advanced-registry selections; validate/…
ScriptedAlchemy Sep 5, 2026
4dfeb01
Merge origin/main into feat/555-composite-root-w1
ScriptedAlchemy Sep 5, 2026
c7612b5
test(packed): read the composite root's bin/ and single mcp/ entry in…
ScriptedAlchemy Sep 5, 2026
f171840
Merge origin/main (#580) into feat/555-composite-root-w1
ScriptedAlchemy Sep 5, 2026
e550073
fix(inspect): describe the same event allowed-targets set the build b…
ScriptedAlchemy Sep 5, 2026
91a99af
Merge origin/main (#585) into feat/555-composite-root-w1
ScriptedAlchemy Sep 5, 2026
06e2272
build: carry #585's MCP App compile diagnostics through the composite…
ScriptedAlchemy Sep 5, 2026
a36c3d6
test(cli): MCP App compile report attributes the view to the composit…
ScriptedAlchemy Sep 5, 2026
4424053
Merge remote-tracking branch 'origin/main' into feat/555-composite-ro…
ScriptedAlchemy Sep 5, 2026
4eef2ff
build: identify the event runtime by the artifact alone; port #569's …
ScriptedAlchemy Sep 5, 2026
2b32f26
Merge remote-tracking branch 'origin/main' into feat/555-composite-ro…
ScriptedAlchemy Sep 5, 2026
6250a1a
test(prepack): #588's prebuilt payload lands in the composite root (h…
ScriptedAlchemy Sep 5, 2026
f9f61af
changeset: the event runtime endpoint is the artifact's alone (#592 b…
ScriptedAlchemy Sep 5, 2026
df35c13
review: lineage fallback is the one host whose MCP document lists the…
ScriptedAlchemy Sep 5, 2026
2d49a9b
build: host the composite root's event runtime per selected host's fi…
ScriptedAlchemy Sep 5, 2026
56cf961
wip(manifest): artifact manifest v2 — projections, routes, executable…
ScriptedAlchemy Sep 5, 2026
4a67f71
Merge remote-tracking branch 'origin/feat/555-composite-root-w1' into…
ScriptedAlchemy Sep 5, 2026
68a154e
test(browser): mount each MCP App as one host of the composite select…
ScriptedAlchemy Sep 5, 2026
d19dc0a
test(manifest): retarget hook and MCP suites at the v2 artifact manifest
ScriptedAlchemy Sep 5, 2026
7950e8b
test: migrate manifest coverage to v2
ScriptedAlchemy Sep 5, 2026
48b39da
refactor: read install identity from artifact manifest
ScriptedAlchemy Sep 5, 2026
9918622
Merge remote-tracking branch 'origin/feat/555-composite-root-w1' into…
ScriptedAlchemy Sep 5, 2026
7fbef34
feat: inspect authoritative artifact manifest
ScriptedAlchemy Sep 5, 2026
2c2fb98
Merge remote-tracking branch 'origin/main' into w1-merge
ScriptedAlchemy Sep 5, 2026
021a164
docs: fold #599's per-code diagnostics rows into the composite root —…
ScriptedAlchemy Sep 5, 2026
1841b07
feat(cli): resolve MCP --target from the artifact manifest
ScriptedAlchemy Sep 5, 2026
40eff56
manifest: routes.cli.routes may hold projected MCP tool routes (route…
ScriptedAlchemy Sep 5, 2026
9fa388f
Merge branch 'lane/592-a1' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
0c123ab
Merge branch 'lane/592-a2' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
6eb5c3d
Merge branch 'lane/592-c' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
93df824
Merge branch 'lane/592-e' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
d8ae5cd
Merge branch 'lane/592-f' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
755a953
test(build-compose): TargetRegistry is constructed, keep the value im…
ScriptedAlchemy Sep 5, 2026
6558432
review: judge built-in hosts by adapter identity in AB4106 and --host…
ScriptedAlchemy Sep 5, 2026
511464d
docs: AB4106 judges the shipped adapters by identity
ScriptedAlchemy Sep 5, 2026
249e8f2
manifest: hooks[].routeId for event-route wrappers; cross-check CLI c…
ScriptedAlchemy Sep 5, 2026
a9dabf1
workbench: hook playground rows are manifest hook rows (host, kind, r…
ScriptedAlchemy Sep 5, 2026
4929718
test(workbench): hook client fixture carries manifest hook rows
ScriptedAlchemy Sep 5, 2026
dfb55b5
docs(manifest): agent-bundle.manifest.json v2 reference; consumers re…
ScriptedAlchemy Sep 5, 2026
9158be4
feat(validate): AB6039/AB6040 manifest coherence lane over the v2 art…
ScriptedAlchemy Sep 5, 2026
323dc9b
Merge branch 'main' into feat/555-composite-root-w1
ScriptedAlchemy Sep 5, 2026
91f4cd4
fix: resolve MCP documents from artifact manifest
ScriptedAlchemy Sep 5, 2026
9c60594
Merge branch 'lane/592-d' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
136b3d3
Merge branch 'lane/592-e' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
26ae4d1
Merge branch 'lane/592-g' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
5df30b0
docs(manifest): hooks[].routeId and projected CLI tool routes (en, zh)
ScriptedAlchemy Sep 5, 2026
064a74c
test: exercise host validation by adapter identity through validate -…
ScriptedAlchemy Sep 5, 2026
89ab62d
Ship a JSON Schema for agent-bundle.manifest.json (#592 step 3)
ScriptedAlchemy Sep 5, 2026
1b770a4
test: validate --artifact takes the project root too
ScriptedAlchemy Sep 5, 2026
f75e284
validate: manifest coherence judges MCP rows against the MCP lane's s…
ScriptedAlchemy Sep 5, 2026
a4f7a61
Merge branch 'lane/592-b' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
70f8935
schema: hooks[].routeId, projected CLI tool routes; writer output val…
ScriptedAlchemy Sep 5, 2026
a3fd0d7
Merge origin/main (#578 composite root, #603 route contracts) into fe…
ScriptedAlchemy Sep 5, 2026
3598380
doctor: AB7306 recovery names the composite root and manifest projection
Sep 5, 2026
ea5395f
Merge origin/main into feat/592-authoritative-manifest
Sep 5, 2026
63d4133
review fixes: reciprocal contract binding, ENOENT-only missing manife…
ScriptedAlchemy Sep 5, 2026
fd0f3c7
Merge origin/main (#578 squash 62b69c068) into feat/592-authoritative…
ScriptedAlchemy Sep 5, 2026
fade92f
validator: judge document→row MCP coherence by built-in host identity…
ScriptedAlchemy Sep 5, 2026
c967774
manifest: projections[].builtInHost records the shipped adapter ident…
ScriptedAlchemy Sep 5, 2026
cf0ab62
test: mcp-probe fixture records the claude adapter identity
ScriptedAlchemy Sep 5, 2026
e9fe054
fixtures record built-in identity; advanced-adapter MCP documents own…
ScriptedAlchemy Sep 5, 2026
8da8205
validator: the coherence lane reuses the contracts the target-contrac…
ScriptedAlchemy Sep 5, 2026
871bb02
Merge origin/main (#597 architecture page, #614 site theme)
ScriptedAlchemy Sep 5, 2026
cbd9d4a
docs: architecture page describes manifest v2 (#597 follow-up); expor…
ScriptedAlchemy Sep 5, 2026
f8fb5fb
feat(workbench): project manifest application explorer
ScriptedAlchemy Sep 5, 2026
6d69c88
Merge branch 'lane/592-e-explorer' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
c0ec2ec
Prove artifact-manifest paths stay relocatable when the composite roo…
ScriptedAlchemy Sep 5, 2026
dc9a0ac
Merge branch 'lane/592-c-relocatable' into feat/592-authoritative-man…
ScriptedAlchemy Sep 5, 2026
a93d9ff
paths: one relocatable-path rule (core/paths isRelocatablePosixPath) …
ScriptedAlchemy Sep 5, 2026
c877af8
refactor(build): serialize manifest from compiler plans
ScriptedAlchemy Sep 5, 2026
78344ca
docs: describe authoritative manifest generation
ScriptedAlchemy Sep 5, 2026
05322f5
manifest: split operational compiler facts into compiler.recordVersion 1
ScriptedAlchemy Sep 5, 2026
1e4cfc4
readers: consume manifest.compiler for operational facts
ScriptedAlchemy Sep 5, 2026
b3ae562
docs: document the public contract vs compiler record
ScriptedAlchemy Sep 5, 2026
030ad8f
test: read provenance and compiler.project after the manifest split
ScriptedAlchemy Sep 5, 2026
abddf9c
Merge lane/592-a-single-source: manifest serialized from compiler pla…
ScriptedAlchemy Sep 5, 2026
9ae8d7e
docs(architecture): no separate coherence pass; AB6010 carries adapte…
ScriptedAlchemy Sep 5, 2026
05d59e6
Merge lane/592-b-compiler-record: operational facts move to manifest.…
ScriptedAlchemy Sep 5, 2026
34efc02
test: explorer fixture follows the compiler record split
ScriptedAlchemy Sep 5, 2026
abef8c1
rstest: drop the deleted coherence test from the integration list
ScriptedAlchemy Sep 5, 2026
f363ca6
Merge remote-tracking branch 'origin/main' into feat/592-authoritativ…
ScriptedAlchemy Sep 5, 2026
9d00732
docs(architecture): public contract vs compiler record; explorer proj…
ScriptedAlchemy Sep 5, 2026
3d311bc
Add inspect --artifact so a copied composite root is read through the…
ScriptedAlchemy Sep 5, 2026
a9a114b
fix: trust manifest inventory for installs
ScriptedAlchemy Sep 5, 2026
6ec2406
docs: describe authoritative install inventory
ScriptedAlchemy Sep 5, 2026
11dc8e7
manifest: MCP/hooks pointers come from the adapter runtime and hook c…
ScriptedAlchemy Sep 5, 2026
3be79f5
Merge branch 'lane/592-f-inventory' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
ee659e3
Merge lane/592-g-inspect: inspect --artifact over a bare composite root
ScriptedAlchemy Sep 5, 2026
3659395
deslop: reuse errorMessage from core/errors, drop dead projectionFor …
ScriptedAlchemy Sep 5, 2026
3aef71e
fix: reindex derived artifact variants
ScriptedAlchemy Sep 5, 2026
8c6cdf4
docs: explain variant manifest reindexing
ScriptedAlchemy Sep 5, 2026
0e34c65
deslop: drop type-bypassing casts, restating comments, and repetitive…
ScriptedAlchemy Sep 5, 2026
627ca79
Merge branch 'lane/592-f2-variants' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
92c1b66
Merge origin/main (#564 web surface, #618 preflight gates, #610 TypeD…
ScriptedAlchemy Sep 5, 2026
464f30c
manifest: carry the web section through v2 — schema, referenced-path …
ScriptedAlchemy Sep 5, 2026
6f69911
tests: preflight artifact graph reads hook rows from the manifest, no…
ScriptedAlchemy Sep 5, 2026
19e8900
Merge origin/main (#623 compiler service) into feat/592-authoritative…
ScriptedAlchemy Sep 5, 2026
5d08581
tests: compiler-evidence fixture supplies the route graph the manifes…
ScriptedAlchemy Sep 5, 2026
ff3d3ef
review: doctor --from keeps AB7001 from the identity reader; mcp run …
ScriptedAlchemy Sep 5, 2026
60148f9
tests(packed): provenance lives on compiler.provenance; the packed MC…
ScriptedAlchemy Sep 5, 2026
fe49a13
Address second self-review: keep AB7001 in doctor, launch host MCP li…
ScriptedAlchemy Sep 5, 2026
565bd77
Merge remote-tracking branch 'origin/main' into feat/592-authoritativ…
ScriptedAlchemy Sep 5, 2026
7769b21
Merge origin/main (#629 application explorer, #630 definePrebuilt) in…
ScriptedAlchemy Sep 5, 2026
c31d363
feat(manifest): serialize definePrebuilt payloads as distribution.pay…
ScriptedAlchemy Sep 5, 2026
472d64d
Merge origin/main (#616 CLI projections, #628) into feat/592-authorit…
ScriptedAlchemy Sep 5, 2026
59dbb1e
chore: deslop merge delta (gpt-5.6-sol-medium, 1 edit)
ScriptedAlchemy Sep 5, 2026
2d5eb05
Address merge-delta review: payload host-filtering proof, transport o…
ScriptedAlchemy Sep 5, 2026
e91b068
web-host: read declared projections from manifest v2 projections[].ho…
ScriptedAlchemy Sep 5, 2026
d1ac38c
Merge remote-tracking branch 'origin/main' into feat/592-authoritativ…
ScriptedAlchemy Sep 5, 2026
ec0bb3e
feat(manifest): record event route execution
ScriptedAlchemy Sep 5, 2026
eaaec73
Pin a strict closed-key inventory for manifest v2 and surface payload…
ScriptedAlchemy Sep 5, 2026
92648ba
test: add combined manifest proof
ScriptedAlchemy Sep 5, 2026
599328b
Merge lane/592-c (compatibility policy, payload rows on inspect) into…
ScriptedAlchemy Sep 5, 2026
4086ced
Merge branch 'lane/592-d' into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
66ac75e
manifest-key-inventory: merge narrowed row properties over the shared…
ScriptedAlchemy Sep 5, 2026
ed8fc33
combined proof: assert routes.events[].execution from the built manifest
ScriptedAlchemy Sep 5, 2026
6fd1e2a
docs: readers refuse any other manifestVersion in either direction
ScriptedAlchemy Sep 5, 2026
80bca3a
Merge remote-tracking branch 'origin/main' into feat/592-authoritativ…
ScriptedAlchemy Sep 5, 2026
ca25cde
manifest: one launch record for compiled MCP servers
ScriptedAlchemy Sep 5, 2026
32dfeae
Merge lane/592-b (canonical launch record) into feat/592-authoritativ…
ScriptedAlchemy Sep 5, 2026
61c64cd
combined proof: assert executables.mcpServers[].launch; bare plugin-d…
ScriptedAlchemy Sep 5, 2026
8315760
manifest: prebuilt MCP servers carry the same launch record (kind 'pr…
ScriptedAlchemy Sep 5, 2026
74ccb99
deslop: 5 edits
ScriptedAlchemy Sep 5, 2026
17edaf1
Honor manifest launch records in mcp run fallback; web reader require…
ScriptedAlchemy Sep 5, 2026
e747874
Merge origin/main (#640 state root, #636 runtime entry isolation) int…
ScriptedAlchemy Sep 5, 2026
3681b41
Rewire the read-only state-root proof to the manifest launch record
ScriptedAlchemy Sep 5, 2026
6b10803
Remove the prebuilt launch test's temporary home
ScriptedAlchemy Sep 5, 2026
9b8ce27
Anchor the manifest-only mcp run fallback on the durable plugin root;…
ScriptedAlchemy Sep 5, 2026
66ac3a7
Document the lean web reader as the one non-parser consumer
ScriptedAlchemy Sep 5, 2026
d9ad450
Merge origin/main (#638 compile evidence record, #642 state lifecycle…
ScriptedAlchemy Sep 5, 2026
93fa0e1
Locate the declared state root through the installed manifest's MCP p…
ScriptedAlchemy Sep 5, 2026
2387162
Deslop the state-root rewire; state the inherited state-root fallback
ScriptedAlchemy Sep 5, 2026
d31aca7
fix(manifest): lean web reader rejects unsupported versions, duplicat…
ScriptedAlchemy Sep 5, 2026
e4b91e4
Merge remote-tracking branch 'origin/main' into feat/592-authoritativ…
ScriptedAlchemy Sep 5, 2026
9f29d10
test(workbench): avoid terminal close locator race
ScriptedAlchemy Sep 5, 2026
30bf1da
test(manifest): combined proof checks compile evidence survives reind…
ScriptedAlchemy Sep 5, 2026
8efb9ad
Merge remote-tracking branch 'origin/feat/592-authoritative-manifest'…
ScriptedAlchemy Sep 5, 2026
c78bfc8
chore: deslop pass over the reader/reindex delta
ScriptedAlchemy Sep 5, 2026
8fa2618
fix(manifest): launch records name indexed bytes only in both readers…
ScriptedAlchemy Sep 5, 2026
d057898
test(manifest): match server-name diagnostics
ScriptedAlchemy Sep 5, 2026
c974575
fix(manifest): the runtime-owned state root is reserved everywhere — …
ScriptedAlchemy Sep 5, 2026
4755e04
Merge remote-tracking branch 'origin/feat/592-authoritative-manifest'…
ScriptedAlchemy Sep 5, 2026
d3c8d4e
Merge remote-tracking branch 'origin/main' into fix/604-mcp-app-race
ScriptedAlchemy Sep 5, 2026
d1018de
fix(manifest): one files[] path rule for both readers — never the man…
ScriptedAlchemy Sep 5, 2026
4d61036
Merge remote-tracking branch 'origin/feat/592-authoritative-manifest'…
ScriptedAlchemy Sep 5, 2026
6b7955d
Merge origin/main (#634, #646) into feat/592-authoritative-manifest
ScriptedAlchemy Sep 5, 2026
bb241b2
chore: deslop the post-review reader/evidence delta
ScriptedAlchemy Sep 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/592-authoritative-manifest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"agent-bundle": minor
---

Make `agent-bundle.manifest.json` (`manifestVersion: 2`) the authoritative index of the composite plugin root: it gains `application`, `projections[]` (one row per selected host with its `builtInHost` adapter identity, `documents` pointers, and `marketplace` name), the compiled `routes` graph (CLI commands carry their `<tool>.cli.ts` `projection` and option `aliases`, and `routes.events[].execution` records preflight, provider, fallback, and runtime metadata), `executables` (`bins[]`, `hooks[]`, `mcpServers[]`, `scripts[]`), and `distribution` (`channels`, `install` pointers, and `payloads[]` — each `definePrebuilt` directory with its hosts and `runtimeDependencies`), while operational compiler facts move to a `compiler` record versioned independently by `recordVersion`. `targets[]` is renamed to `projections[]` and the `agent-bundle.hooks.json` sidecar is removed. The contract ships as `agent-bundle/schemas/agent-bundle.manifest.schema.json`, exported as `artifactManifestSchema` and `validateArtifactManifestSchema` beside `readArtifactManifest`, `parseArtifactManifest`, `artifactManifestName`, `artifactManifestVersion`, and `artifactCompilerRecordVersion`; every path-valued field must be root-relative. `install`, `uninstall`, and `doctor --from` take identity, the host plugin document, the copy set, and the content hash from the manifest instead of probing host files, so `AB7001` now covers a missing or non-canonical manifest, a host without a built-in projection, a missing pointer, or a missing or digest-mismatched `files[]` row; `serve-app` and `mcp list|invoke|run` resolve servers from `executables.mcpServers[]` (`--target` optional when one projection runs the server); `hooks list`, `hooks simulate`, and `AB6018` read `executables.hooks[]`; `AB6010` verifies each projection's adapter identity; `inspect --json` adds `output.manifest`, the new `inspect --artifact <root>` prints the application view of a bare composite root, and each compiled or prebuilt `executables.mcpServers[]` row carries one `launch` record (`entry`, `worker?`, `args[]` as `artifact` paths or `literal` values, `env`) that `<plugin> web` and the host MCP documents start from — `web.apps[]` no longer copies `entry`, `args`, or `env` and instead names its server (#604)
8 changes: 4 additions & 4 deletions docs/canvases/agent-bundle-walkthrough.canvas.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -569,13 +569,13 @@ export default function AgentBundleWalkthrough() {
<Text size="small" tone="secondary">
agent-bundle.manifest.json records, per emitted file, its sha256 and the exact
source inputs that produced it, plus the project revision (the artifact epoch),
each target's adapter revision, and the sha256 of every
pinned host schema it was validated against. agent-bundle.hooks.json is the
canonical hook index across targets.
each projection's adapter revision, and the sha256 of every
pinned host schema it was validated against. Its executables.hooks[] rows are the
canonical hook inventory across hosts (no separate hook index file).
</Text>
<Text size="small" tone="tertiary">
Source: dist/agent-bundle.manifest.json fields files[].sha256, files[].sourceInputs,
project.revision, targets[].schemas[].
project.revision, projections[].schemas[], executables.hooks[].
</Text>
</Stack>
</Grid>
Expand Down
25 changes: 19 additions & 6 deletions docs/diagnostics.md

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion docs/entry-conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -1266,7 +1266,8 @@ export default defineConfig({
remain hash-locked to the manifest. Declaration provenance is recorded as
`kind: 'prebuilt'`. Hooks with prebuilt handlers are packaged like native
hook documents: they do not compile wrappers and do not appear in the
simulatable hook index. MCP Apps declared on a prebuilt server stay a
manifest's `executables.hooks[]` rows, so `hooks list` and `hooks simulate`
do not see them. MCP Apps declared on a prebuilt server stay a
development surface (the Workbench compiles them live); the build assumes
the payload already serves the resource.
- **Declare what the payload loads.** Because payload trees are opaque,
Expand Down
9 changes: 6 additions & 3 deletions packages/agent-bundle/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,9 +228,12 @@ the shipped document in the install receipt (`cursorExpansion`), and
itself stays spec-conformant for other Agent Plugins clients.

Cursor installation is user-scoped. Claude also accepts `--scope project` and
`--scope local`; Codex is user-scoped. `--from` names the plugin root itself —
the directory that holds the selected host's manifest — and a source-free copy
of that root is accepted.
`--scope local`; Codex is user-scoped. `--from` names the composite root itself —
the directory that holds `agent-bundle.manifest.json` — and a source-free copy
of that root is accepted. Identity (name, version, marketplace) and the host
plugin document come from that manifest's `application` and `projections[]`
rows, never from probing host files; a root whose manifest is missing, not
canonical, or has no projection for the host is refused with `AB7001`.

### Reinstall after a same-version rebuild

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,15 @@ export default {
template: './views/status.html',
},
},
// One artifact-path argument (the packaged payload file) beside a
// literal, and env carrying a plugin-data token: the launch record
// must carry all three for <plugin> web to start the server with them.
args: ['--config', 'agent-bundle:path:plugin-root/config/status.json'],
env: { STATUS_CACHE: 'agent-bundle:path:plugin-data/cache', STATUS_MODE: 'packed' },
},
},
},
payload: { config: './payload/config' },
plugin: {
description: 'A plugin whose MCP App is exposed through web.apps and opened with <plugin> web.',
name: 'web-surface-fixture',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "status": "packed" }
10 changes: 9 additions & 1 deletion packages/agent-bundle/fixtures/web-surface/src/mcp/status.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,15 @@ export default function createStatusServer(): McpServer {
}, async () => ({
_meta: { ui: { resourceUri: app.resourceUri } },
content: [{ text: 'status: healthy', type: 'text' }],
structuredContent: { status: 'healthy' },
// Echoes the launch so the packed proof can read what the host started.
structuredContent: {
launch: {
args: process.argv.slice(2),
cache: process.env['STATUS_CACHE'] ?? null,
mode: process.env['STATUS_MODE'] ?? null,
},
status: 'healthy',
},
}));

return server;
Expand Down
2 changes: 2 additions & 0 deletions packages/agent-bundle/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"files": [
"bin",
"dist",
"schemas",
"LICENSE",
"NOTICE",
"README.md"
Expand Down Expand Up @@ -96,6 +97,7 @@
"types": "./dist/test/browser.d.ts",
"import": "./dist/test/browser.js"
},
"./schemas/agent-bundle.manifest.schema.json": "./schemas/agent-bundle.manifest.schema.json",
"./web-host": {
"types": "./dist/web-host.d.ts",
"import": "./dist/web-host.js"
Expand Down
Loading
Loading