intentcall_platform 0.3.1 copy "intentcall_platform: ^0.3.1" to clipboard
intentcall_platform: ^0.3.1 copied to clipboard

PRE-RELEASE — Platform emitters and sync for intentcall (web manifest, WebMCP JS, bootstrap).

⚠️ Pre-release train — Highly experimental. APIs may change without notice. Not for production. Details.

intentcall_platform #

Platform emitters, PlatformSync, Dart-first WebMCP bootstrap, and optional Flutter plugin support for pending native invocation dispatch.

Native platform code should stay thin. Generated wrappers collect supported parameters, enqueue an IntentCallInvocationEnvelope, and let Dart execute the registered AgentRegistry handler after app launch or wake. App-extension hosted Dart execution is experimental and not a stable support claim.

For iOS and macOS, PlatformSync also maintains the generated Runner/Generated/IntentCallGenerated.swift file in the main Runner target's Sources build phase. That is an artifact/project-sync claim: successful Xcode builds, installation, Apple system discovery, and live invocation need proof in the consuming app.

Swift Package Manager support is declared for the iOS/macOS Flutter plugin under ios/intentcall_platform/Package.swift and macos/intentcall_platform/Package.swift. CocoaPods remains supported through the existing podspecs so current Flutter projects can use either native package integration path.

Invocation policy #

Native and WebMCP execution is deny-by-default in compiled profile/release builds. For local dogfood, IntentCallAuthorizationPolicy.debugAllowAll() opens execution only while Dart assertions are enabled; in compiled builds it behaves like denyAll().

Production apps should pass an explicit IntentCallAuthorizationPolicy with source and qualified-name allowlists, and use confirm for mutating or sensitive tools.

IntentCallFlutterHost.bindRegistry(...) is the high-level Flutter app entry point. It binds an AgentRegistry, optionally registers Dart-first WebMCP, drains pending native envelopes, and can listen for app-owned deep-link wakeups. Plain deep links are not trusted by default; they should normally wake the app so the pending native queue can be drained through the same authorization policy.

Manifest workflow (I4) #

agent_manifest.json is read from the project root first, then from web/. The web copy is commonly checked in and refreshed by CLI — not generated live from AgentRegistry yet.

Apps that generate protocol fallback artifacts must declare their own URI scheme with a top-level "protocolScheme" in agent_manifest.json, or pass an explicit scheme to the sync/emitter API. IntentCall does not reserve a global intentcall:// scheme because each app owns its platform URL declarations.

flutter-mcp-toolkit codegen sync \
  --platform web,android,ios,macos,linux,windows \
  --project-dir <app>

Use the same command with --check in CI. --check reports whether any generated artifact or native project membership would change without writing files.

One-time hooks #

flutter-mcp-toolkit init intentcall-platform --project-dir <flutter_app>

Future #

Registry-backed generateWebAgentManifest is deferred — edit agent_manifest.json, then codegen sync.

0
likes
0
points
673
downloads

Publisher

unverified uploader

Weekly Downloads

PRE-RELEASE — Platform emitters and sync for intentcall (web manifest, WebMCP JS, bootstrap).

Repository (GitHub)
View/report issues

Topics

#mcp #flutter #agents

License

unknown (license)

Dependencies

app_links, flutter, intentcall_core, intentcall_schema, meta, path, web

More

Packages that depend on intentcall_platform

Packages that implement intentcall_platform