Skip to content

feat(signal): generalised native-prompt signal API v0.9.9#114

Merged
pbertsch merged 1 commit into
mainfrom
feat/signal-api
May 13, 2026
Merged

feat(signal): generalised native-prompt signal API v0.9.9#114
pbertsch merged 1 commit into
mainfrom
feat/signal-api

Conversation

@pbertsch
Copy link
Copy Markdown
Contributor

Summary

  • New deliver signal "name" ["value"] ProbeScript step unblocks any OS-level interaction the agent can't tap directly (push permission prompts, payment sheets, App Tracking Transparency, custom deep-link handlers)
  • awaitSignal(String name) → Future<String> in flutter_probe_agent — app calls this instead of the real OS API in PROBE_AGENT builds; CLI delivers the signal with deliver signal "name" ["value"]
  • DeliverSignal annotation step in flutter_probe_annotation; emitter support in flutter_probe_gen with golden fixtures
  • Bug fix: wait for animations to end parser was broken — TOKEN_FOR_KW is a filler so skipFillers() consumed it before the branch check; now correctly dispatches WaitAnimations and consumes trailing words
  • Bug fix: WaitAnimations had no display label in executor; now shows "wait for animations to end"

Test plan

  • go test ./... — all 16 packages pass
  • dart analyze — no issues in probe_agent, probe_annotation, probe_gen
  • 4/4 signal delivery probe tests pass on iPhone 17 Pro simulator (iOS 26.4): push permission (default value), payment success, payment failure, deep link with URL value
  • 17/18 auth tests still pass as regression check (1 is pre-existing biometric flake)
  • Golden integration test passes: signal_delivery.probe.golden parses cleanly via Go parser

- Parser: new `deliver signal "name" ["value"]` step (TOKEN_DELIVER/TOKEN_SIGNAL,
  VerbDeliverSignal, parseDeliverSignal)
- Parser: fix `wait for animations to end` parsing — TOKEN_FOR_KW is a filler
  so skipFillers() consumed it before the check; now checks TOKEN_ANIMATIONS
  directly and consumes trailing "to end"/"to finish" words
- Runner executor: WaitAnimations display label "wait for animations to end";
  VerbDeliverSignal dispatches probe.signal JSON-RPC
- probe_agent: signal.dart with awaitSignal()/deliverSignal(), probe.signal
  JSON-RPC handler, exported from flutter_probe_agent.dart
- probe_annotation: DeliverSignal step class
- probe_gen: DeliverSignal emitter case + signal_delivery golden fixtures
- CHANGELOG, version bumps to 0.9.9 across all packages
@pbertsch pbertsch requested a review from a team as a code owner May 13, 2026 06:36
@pbertsch pbertsch merged commit 9fa427a into main May 13, 2026
13 checks passed
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