Skip to content

Add agent conversation widgets and encrypted key vault - #404

Merged
jlewi merged 12 commits into
mainfrom
feat/agents-monitor-ui
Oct 4, 2026
Merged

jlewi merged 12 commits into
mainfrom
feat/agents-monitor-ui

Conversation

@jlewi

@jlewi jlewi commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

JavaScript notebook cells can now render an Agents API conversation with live Markdown, tool details, turn status, paginated history, and a message composer. Edit/Render controls let users change the source without unmounting the monitor.

Adds an encrypted local Key Vault for named credentials, masked secret inputs with eye toggles, and a solid key icon that reflects lock state. Connect resolves the current vault value and restores the selected key name after reload; secrets and live conversation state are excluded from saved widget output.

Validation:

  • Full app suite: 184 files, 1,951 tests passed.
  • Focused agent/vault suite: 38 tests passed; now included in PR CI alongside notebook, sandbox, and action regressions.
  • Local Go fixture browser verification of rendering, pagination, and message submission.
  • Production build and required console tests; build/unit-test workflow passed; browser scenario workflow must pass before merge.

Review fixes: defer history reconnects while a message submission is in flight; remove unsupported duplicate-prevention promises; await asynchronous menu dismissal in the existing Copy test. Reviewed credential lifetime, encryption/storage failure handling, sandbox access, safe Markdown, stream recovery, turn status, and pagination.

Limitations: custom proxy configuration remains memory-only and must be restored after reload. The vault is local to the browser and origin, with no passphrase recovery. Live API message submission has not been exercised with real credentials. The repository-wide TypeScript check has existing errors outside the added agent/vault modules; those modules report none.

CI follow-up: the repository-wide source scan and full comment-lifecycle regression exceeded Vitest’s default five-second timeout on the shared runner. Their bounded timeouts are now 30s and 20s respectively; assertions are unchanged and all 99 tests in those two files passed locally.

Signed-off-by: Jeremy lewi <jeremy@lewi.us>
Signed-off-by: Jeremy lewi <jeremy@lewi.us>
Signed-off-by: Jeremy lewi <jeremy@lewi.us>
Signed-off-by: Jeremy lewi <jeremy@lewi.us>
Signed-off-by: Jeremy lewi <jeremy@lewi.us>
Signed-off-by: Jeremy lewi <jeremy@lewi.us>
Signed-off-by: Jeremy lewi <jeremy@lewi.us>
Signed-off-by: Jeremy lewi <jeremy@lewi.us>
Signed-off-by: Jeremy lewi <jeremy@lewi.us>

@jlewi jlewi left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the full feature diff against current main, including transport/API assumptions, SSE parsing and recovery, root/subagent status, pagination, abort/unmount behavior, message submission retries, vault encryption and cross-tab invalidation, credential serialization, sandbox allowlists, Markdown rendering, and notebook Edit/Render integration.

Addressed before merge:

  • Scheduled reconnects now wait for an in-flight message request to settle; added a regression test proving the send is not aborted by turn-completion refreshes.
  • Retry copy and docs no longer promise duplicate prevention based solely on an Idempotency-Key header. They instruct users to inspect saved conversation state before resubmitting.
  • Fixed an existing timing-sensitive Copy-menu assertion to await dismissal.
  • Added agent/vault and notebook integration regressions to PR CI and reconciled the design doc with current secret-edit and Connect behavior.

Final local validation: 184 app test files / 1,951 tests passed, required production build and 7 console tests passed, focused agent/vault lint passed. Repository-wide typechecking still has existing errors outside the added agent/vault modules. Earlier browser checks used the local Go fixture; real authenticated message submission remains unverified.

No remaining blocking findings from this review. Merge is conditional on passing the final GitHub checks.

@jlewi
jlewi enabled auto-merge (squash) October 4, 2026 00:14
@jlewi
jlewi merged commit 99dc94f into main Oct 4, 2026
3 checks passed
@jlewi
jlewi deleted the feat/agents-monitor-ui branch October 4, 2026 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant