Repository navigation
feat(provider-testmu): publish @agent-device/testmu on plugin contract v2 - #3770
Conversation
|
There was a problem hiding this comment.
No issues found across 12 files
You’re at about 93% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.
Size Report
Startup median (7 runs, lower is better):
|
ae3c4f2 to
d35d87e
Compare
d35d87e to
f8555c9
Compare
|
This PR is ready at f8555c9, and all 18 checks pass. I found no code problems. I did not rerun the packed-plugin check (including the agent-device@0.21.28 run), read built dist output, or run on a live TestMu AI device. The claim that a published 0.21.28 host loads the v1 entry rests on the PR body. Not blocking, and you can take or leave these: the README import example gets an untyped module from the published tarball, because the build sets dts:false and publishConfig.exports has no types condition, so either emit declarations with a types condition or show a .js example. Also, each resolve, verify and setup call builds both the webDriver descriptor and the connection and discards one, and a partial credentials object from a JS caller sets the missing key to undefined, which shadows the environment value and reports a missing credential with no test covering it. You could export createTestMuWebDriver and call it and createTestMuConnection directly, and in #3759 read credentials from options instead of rewriting env. Merge order is the only remaining step: the PR says it is blocked by #3748 and stacked on the docs PR, and I did not check that gate. The repo has no .changeset directory, so the CHANGELOG Unreleased entry covers the changeset item. |
f8555c9 to
7f449c5
Compare
|
Thanks. Taken in 7f449c5:
|
7f449c5 to
495046c
Compare
|
The PR is ready at 495046c. The earlier review at f8555c9 was also clean, and the new changes in provider-testmu look good. All 18 checks pass and I know of no conflicts. Nothing blocks merge. Not blocking, and you can take or leave these: a partial credentials object now reads the missing key from I did not run the tests locally. I did not trace the fingerprint or forwarding consumers past the contract comment. The delta also showed unrelated daemon changes from the base rebase, and I reviewed only the provider-testmu changes. |
495046c to
2dd219b
Compare
2dd219b to
73a0bbc
Compare
73a0bbc to
4c5b159
Compare
4c5b159 to
c09dbc6
Compare
|
Rebased onto the new #3769 (no conflicts). |
c09dbc6 to
1c548fb
Compare
1c548fb to
dfb5230
Compare
|
The code in 1c548fb is unchanged from the patch I reviewed earlier in 73a0bbc, so the earlier clean code review still holds. What is now fixed is that the PR has been rebased onto a new head, and the required evidence is in place. Local fake-server tests cover the HTTP behavior, so live TestMu cloud validation is not needed here. Not blocking: the factory in packages/provider-testmu/src/index.ts#L32 declares no credential variables when a partial CI is still pending. Two Smoke Tests jobs are queued or in progress with no failure, and the other 21 checks are green. This PR changes the packed-plugin exports and scripts/check-provider-plugin.mjs, so those lanes may exercise it; there is no failure to attribute yet. I ran no tests or builds, and I relied on the range-diff showing the patch as identical rather than re-diffing it. I did not re-run the pack-and-install check, with or without AGENT_DEVICE_CORE_SPEC. The PR body cites head 1c548fb, while your latest comment cites c09dbc6, so please confirm which head you meant. No review threads exist on this head. Before merge, the two Smoke Tests jobs must finish green, and #3748 and the stacked base PR must merge first. This review covers 1c548fb. The newer head dfb5230 is the same commit rebased onto 22f4e58, with no content change. |
…t v2 The package default-exports testmu(options) at ./agent-device and the root. Credentials come from options with LT_USERNAME and LT_ACCESS_KEY as the fallback. The v1 agentDevicePlugin declaration and its entry stay, so the package still loads on hosts without the v2 contract. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ion leaves to the environment Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… capabilities from package.json Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
This PR is ready at dfb5230. The earlier review at 73a0bbc is still the base, and the code now holds up. CI shows 23 checks, none failing, and there are no conflicts. Not blocking, and you can take or leave these: a partial credentials object from an untyped JS caller, such as {credentials:{username:'x'}}, gives an empty I did not run the packed-plugin check against agent-device@0.21.28, so that result is your report. I did not review the stacked base (plugin contract v2, daemon and registry), which is upstream. There is no live TestMu cloud run, but the change does not touch the device path and the fake-server tests cover the HTTP behavior. Merge waits for #3748 to land and for the stacked base PRs to merge first. |
dfb5230 to
a304bb7
Compare
|
Pushed |
|
The PR is ready at a304bb7. The earlier review at dfb5230 found nothing to fix, and this update keeps that result. Not blocking: index.test.ts:121 now compares All checks now pass at a304bb7. The PR's own diff touches only packages/provider-testmu, scripts/check-provider-plugin.mjs, .fallowrc.json and docs, and the daemon changes in the delta come from the stack base. There are no conflicts. I did not re-run the packed-plugin check against the local core or agent-device@0.21.28, so that result comes from the PR body. I did not inspect the bundled dist/agent-device.mjs. I ran no live TestMu cloud session, and unit tests cover the credential-precedence fix through the plugin's setup and connection entry points. The PR body says not to merge before #3748. That issue was closed as completed, so please update the body if it no longer blocks this PR. |
…ment * origin/main: feat(provider-testmu): publish @agent-device/testmu on plugin contract v2 (#3770) docs(plugins): document plugin contract v2, the inventory and ADR 0034 (#3769) feat(daemon): daemon status lists the registered provider plugins (#3768) feat(plugins): plugin contract v2 and one provider registry (#3767) # Conflicts: # packages/daemon/src/sessions/handlers/lease.ts # src/__tests__/cloud-connect-testmu.test.ts # src/cli/commands/connection.ts # src/cli/commands/daemon.ts # src/daemon-client/daemon-client-metadata.ts # src/daemon-client/daemon-client.ts
…-no-process-globals * refactor/host-environment: feat(provider-testmu): publish @agent-device/testmu on plugin contract v2 (#3770) docs(plugins): document plugin contract v2, the inventory and ADR 0034 (#3769) feat(daemon): daemon status lists the registered provider plugins (#3768) feat(plugins): plugin contract v2 and one provider registry (#3767) # Conflicts: # packages/daemon/src/server/http/daemon-runtime-composition.test.ts # packages/daemon/src/server/http/daemon-runtime-metadata-ownership.test.ts # packages/daemon/src/server/http/daemon-runtime.ts # src/daemon-composition.ts
Summary
Part 4 of 4, closes #3756 (stack of #3755, umbrella #3747). Stacked on the docs PR. Blocked by #3748: do not merge before it.
@agent-device/testmuis now a plugin contract v2 package../agent-deviceis thetestmu(options)factory. Credentials passed as options replace the environment variables, which stay the fallback. With options, the plugin declares no environment variables, so the daemon doesn't fingerprint them.agentDevicePlugindeclaration and its./dist/plugin.mjsentry stay, soagent-device plugins add @agent-device/testmustill works on hosts without v2. Hosts with v2 prefer the export. The v1 entry goes in 0.22: remove superseded plugin, client and environment APIs #3759.scripts/check-provider-plugin.mjstakesAGENT_DEVICE_CORE_SPECto install a published core instead of packing this checkout.Validation
pnpm check:affected --run --head a304bb7f40(the stack top, which contains this layer): passed (exactCommit). Packed plugin vianode scripts/check-provider-plugin.mjs packages/provider-testmu: passed against this checkout's packed core and withAGENT_DEVICE_CORE_SPEC=agent-device@0.21.28.🤖 Generated with Claude Code