Skip to content

feat(gateway): add adapter SDK contract - #446

Closed
esafwan wants to merge 1 commit into
developfrom
feature/gateway-adapter-sdk
Closed

feat(gateway): add adapter SDK contract#446
esafwan wants to merge 1 commit into
developfrom
feature/gateway-adapter-sdk

Conversation

@esafwan

@esafwan esafwan commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a pure-Python Gateway Adapter SDK, independently mergeable from the draft Gateway foundation.

  • Defines credential schema, capabilities, verified inbound request, normalized event, outbound reply/delivery types.
  • Adds a fail-closed adapter protocol, deterministic provider registry, and reusable conformance runner.
  • Adds focused fake-adapter contract tests.

Boundary

This does not add a public endpoint, provider adapter, Frappe DocType, or Integration Settings fields. Provider adapters remain separate follow-up PRs and must validate native input before calling the Gateway foundation.

Verification

  • python3 -m py_compile huf/ai/gateway_adapters/*.py huf/ai/tests/test_gateway_adapter_sdk.py
  • Isolated Frappe-environment test from a disposable clone: 6/6 passing (huf.ai.tests.test_gateway_adapter_sdk).

Regional readiness

  • Feishu/Lark is the first candidate once feat(gateway): add secure channel gateway foundation #441 and this SDK have landed; implementation must select and fixture-test one official ingress transport.
  • WeCom, DingTalk, and VK remain evidence-gated.
  • Kakao requires CS Talk/Business approval; consumer/channel APIs are not treated as two-way support.
  • MAX remains gated on privacy, deployment, and legal review.

Related PRs

Runtime bridge

@esafwan

esafwan commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by consolidated Gateway PR #473, preserving the foundation, SDK, adapter, runtime bridge, security, and documentation scope.

@esafwan

esafwan commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by / consolidated into #473.\n\nRelated gateway PRs: #441 #442 #443 #446 #447 #448 #449

esafwan added a commit that referenced this pull request Jul 26, 2026
…me list (#481)

- gatewayApi.ts: replace stale access_policy with direct_policy/room_policy/
  room_sender_policy/mention_required/pairing_ttl_minutes; expand provider type.
- GatewaysPage.tsx: use direct_policy; add TODO comments; fallback icons/names
  for providers without adapter UIs.
- App.tsx / app-sidebar.tsx: comment out /gateways route and sidebar item while
  the feature is incomplete.
- flow_run.json: remove Gateway from trigger_type options.
- gateway_service.py: add TODO where Gateway trigger_type is used.
- docs/gateway-todo.md: new shame list / restoration checklist.
- AGENTS.md: link to docs/gateway-todo.md.

Refs #473, #441, #442, #443, #446, #447, #448, #449.
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