feat(proactive-agents): vendored runtime types + Monaco + smoke test (spec 03)#14
feat(proactive-agents): vendored runtime types + Monaco + smoke test (spec 03)#14khaliqgant wants to merge 5 commits into
Conversation
…UI files) Spec 03 main-process + renderer scaffolding: - src/main/proactive-agent.ts + .bundle.ts + .types.ts: ProactiveAgentManager (list/create/update/deploy/pause/resume/undeploy + run-transcript), bundle stager for handler source, route through resolveCloudAuth. - components/proactive/: ProactiveAgentsSection, ProactiveAgentCard, ProactiveAgentEditor. - hooks/use-proactive-agent.ts. Builds on shared scaffolding (#7). NOTE: the UI is not wired yet — ProactiveAgentsSection is defined but never rendered, the AppTabKind union does not include 'proactive-agent-editor', App.tsx does not render the editor, and @monaco-editor/react is not in package.json. Those gaps, plus vendored runtime types and the cloud proactive-personas backend (routes/schema/runtime), are tracked in specs/03-proactive-agents.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CloudRunHandleStatus includes 'cancelled' but mapDeployStatus had no branch
for it, so a cancelled deployment fell through to the default 'active' and
was reported as a successful one (or produced a contradictory
{ status: 'active', error: '…' } pair).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…-agents/03-proactive-agents
Spec 03 remaining work — the unentangled portion. Adds the standalone artifacts; UI mounting (App.tsx/ui-store.ts/ProjectSettings.tsx) is deliberately left for a follow-up PR because those files have edits from other specs mixed in on the working branch. - scripts/sync-runtime-types.mjs: writes vendor/agentworkforce-runtime-types.d.ts from @agentworkforce/persona-kit at build time; wired via prebuild script. - vendor/agentworkforce-runtime-types.d.ts: vendored persona/runtime types that the editor type-checks the user's handler source against. - package.json: + @monaco-editor/react ^4.7.0, + prebuild + sync:runtime-types scripts. - test/proactive-agent.smoke.ts: vitest smoke that mocks @agentworkforce/deploy + cloud HTTP and walks create → deploy → simulated change event → run row succeeded, per spec acceptance gate #8. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Free Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
Per the v1 consolidation discussion on AgentWorkforce/cloud#912 → AgentWorkforce/cloud#919 (draft), the parallel cloud proactive-runtime modules the smoke test imported (proactive-trigger-router, proactive-runner) have been dropped in favour of reusing the existing agents + deployments + integration-watch-dispatcher pipeline. The smoke test was tightly coupled to those modules (relative imports from ../../cloud/packages/core/src/runtime/*) and to the /proactive-personas/* route surface that no longer exists. Retargeting it to the v1 surface would require a different test harness (the v1 dispatcher imports from cloud's web package, which pulls in Daytona + relayauth infrastructure not easily smoke-testable from pear). Pear's part of spec-03 acceptance gate #8 (deploy → trigger → succeeded) is more honestly covered by an end-to-end test in workforce (packages/deploy/src/modes/cloud.test.ts now asserts proactive personas flow through /deployments correctly) plus cloud's existing integration-watch-dispatcher tests. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Fix #11: WebGL doesn't repaint while the host is display:none. When the visible effect runs after a hidden→visible transition, call the new runtime.refreshOnShow() so the canvas redraws. Fix #10: the runtime captures opts.getInputSrtt once at first acquire. Rebind on each effect run via setInputSrttGetter so a remount with a fresh inputSrttRef can't leave the predictor reading a stale ref. Fix #14 (detach guard) was implemented inside the runtime in the prior commit by tracking lastMountedContainer — no use-terminal change needed.
Summary
Spec 03 (proactive agents in pear) — partial follow-up to merged PR #10. Adds the unentangled portion of the remaining work: build-time vendored types, the Monaco dep, the smoke test. The branch was caught up to
origin/mainfirst so the PR diff is clean.Three other spec-03 changes (UI mounting in
App.tsx,ui-store.ts,ProjectSettings.tsx) are deliberately deferred to a follow-up — those files contain edits from specs 01/02/05 mixed in on the working tree and need surgical hunk-picking to isolate.scripts/sync-runtime-types.mjs— generatesvendor/agentworkforce-runtime-types.d.tsfrom@agentworkforce/persona-kit, wired viaprebuild.vendor/agentworkforce-runtime-types.d.ts— vendored types the persona editor type-checks user handler source against.package.json/package-lock.json—@monaco-editor/react ^4.7.0+prebuild/sync:runtime-typesscripts.test/proactive-agent.smoke.ts— vitest smoke covering create → deploy → simulated change event → run row `succeeded` per acceptance gate feat(cloud-agents): pear-side cloud-agent feature (manager + UI scaffolding) #8.Acceptance gates covered
Deferred to follow-up PR: gates 1–3 (UI mounting), since they touch multi-spec files.
Test plan
🤖 Generated with Claude Code