@hraness/ghostget 0.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +458 -0
- package/LICENSE +21 -0
- package/README.md +1359 -0
- package/bunfig.toml +2 -0
- package/dist/apple-photos-client.js +704 -0
- package/dist/beeper-client.js +4602 -0
- package/dist/client.js +1605 -0
- package/dist/index-26yq8q16.js +31 -0
- package/dist/index-9t13b4k7.js +508 -0
- package/dist/index-axwm9b3v.js +5 -0
- package/dist/index-gwk7rbyj.js +30 -0
- package/dist/index.js +701 -0
- package/dist/messaging.js +1130 -0
- package/dist/omni-client.js +1406 -0
- package/dist/whatsapp-client.js +355 -0
- package/docs/imessage-direct-provider.md +106 -0
- package/docs/rental-listings.md +94 -0
- package/package.json +600 -0
- package/skills/ghostget/SKILL.md +251 -0
- package/skills/ghostget/agents/openai.yaml +4 -0
- package/skills/ghostget/references/adapter-contract.md +181 -0
- package/skills/ghostget/references/apple-photos.md +115 -0
- package/skills/ghostget/references/article-drafts.md +235 -0
- package/skills/ghostget/references/code-owned-provider-scaffold.md +134 -0
- package/skills/ghostget/references/cross-posting-video.md +139 -0
- package/skills/ghostget/references/cross-posting.md +82 -0
- package/skills/ghostget/references/derivation.md +390 -0
- package/skills/ghostget/references/hraness-social-profile-stats.json +269 -0
- package/skills/ghostget/references/install.md +66 -0
- package/skills/ghostget/references/linkedin-adapter.md +442 -0
- package/skills/ghostget/references/messaging.md +168 -0
- package/skills/ghostget/references/meta-comet-contract.md +153 -0
- package/skills/ghostget/references/platform-patterns.md +122 -0
- package/skills/ghostget/references/provider-plugins.md +496 -0
- package/skills/ghostget/references/reddit-flair.md +78 -0
- package/skills/ghostget/references/safety-and-state.md +214 -0
- package/skills/ghostget/references/settlement-and-duplicate-cleanup.md +79 -0
- package/skills/ghostget/references/social-platform-routing.md +66 -0
- package/skills/ghostget/references/social-profile-stats.md +195 -0
- package/skills/ghostget/references/social-video-platform-routing.md +89 -0
- package/skills/ghostget/references/whatsapp-adapter.md +101 -0
- package/skills/ghostget/references/x-adapter.md +332 -0
- package/skills/ghostget/references/x-ai-disclosure.md +71 -0
- package/src/apple-photos-cli.ts +639 -0
- package/src/apple-photos-client-types.ts +168 -0
- package/src/apple-photos-client.ts +201 -0
- package/src/apple-photos-contact-evidence.ts +838 -0
- package/src/apple-photos-local-source.ts +1131 -0
- package/src/args.ts +2053 -0
- package/src/article-draft-document.ts +417 -0
- package/src/article-draft-embeds.ts +123 -0
- package/src/article-draft-images.ts +214 -0
- package/src/assets/adapter-template/wrench-adapter.json +40 -0
- package/src/assets/adapters/beeper/wrench-web-adapter.json +1500 -0
- package/src/assets/adapters/beeper/wrench-web-adapter.v1.0.0.json +129 -0
- package/src/assets/adapters/beeper/wrench-web-adapter.v1.1.0.json +207 -0
- package/src/assets/adapters/beeper/wrench-web-adapter.v2.0.0.json +1463 -0
- package/src/assets/adapters/beeper/wrench-web-adapter.v2.1.0.json +1463 -0
- package/src/assets/adapters/beeper/wrench-web-adapter.v2.2.0.json +1475 -0
- package/src/assets/adapters/beeper/wrench-web-adapter.v2.3.0.json +1488 -0
- package/src/assets/adapters/bluesky/wrench-web-adapter.json +684 -0
- package/src/assets/adapters/bluesky/wrench-web-adapter.v1.0.0.json +581 -0
- package/src/assets/adapters/bluesky/wrench-web-adapter.v1.1.0.json +581 -0
- package/src/assets/adapters/bluesky/wrench-web-adapter.v1.2.0.json +581 -0
- package/src/assets/adapters/bluesky/wrench-web-adapter.v1.3.0.json +615 -0
- package/src/assets/adapters/bluesky/wrench-web-adapter.v1.4.0.json +684 -0
- package/src/assets/adapters/bluesky/wrench-web-adapter.v1.5.0.json +684 -0
- package/src/assets/adapters/bluesky/wrench-web-adapter.v1.6.0.json +684 -0
- package/src/assets/adapters/clasificados/wrench-web-adapter.json +54 -0
- package/src/assets/adapters/facebook/wrench-web-adapter.json +750 -0
- package/src/assets/adapters/facebook/wrench-web-adapter.v1.0.0.json +706 -0
- package/src/assets/adapters/facebook/wrench-web-adapter.v1.1.0.json +703 -0
- package/src/assets/adapters/facebook/wrench-web-adapter.v1.2.0.json +750 -0
- package/src/assets/adapters/facebook-group/wrench-web-adapter.json +682 -0
- package/src/assets/adapters/facebook-group/wrench-web-adapter.v1.0.0.json +583 -0
- package/src/assets/adapters/facebook-group/wrench-web-adapter.v1.1.0.json +682 -0
- package/src/assets/adapters/facebook-marketplace/wrench-web-adapter.json +437 -0
- package/src/assets/adapters/facebook-marketplace/wrench-web-adapter.v1.0.0.json +383 -0
- package/src/assets/adapters/facebook-marketplace/wrench-web-adapter.v1.1.0.json +437 -0
- package/src/assets/adapters/facebook-marketplace/wrench-web-adapter.v1.1.1.json +437 -0
- package/src/assets/adapters/facebook-page/wrench-web-adapter.json +880 -0
- package/src/assets/adapters/facebook-page/wrench-web-adapter.v1.0.0.json +740 -0
- package/src/assets/adapters/facebook-page/wrench-web-adapter.v1.1.0.json +880 -0
- package/src/assets/adapters/github/wrench-web-adapter.json +69 -0
- package/src/assets/adapters/github/wrench-web-adapter.v1.0.0.json +42 -0
- package/src/assets/adapters/github/wrench-web-adapter.v1.1.0.json +69 -0
- package/src/assets/adapters/gmail/wrench-adapter.json +161 -0
- package/src/assets/adapters/gmail/wrench-adapter.v1.2.0.json +157 -0
- package/src/assets/adapters/hacker-news/wrench-web-adapter.json +315 -0
- package/src/assets/adapters/hacker-news/wrench-web-adapter.v1.0.0.json +315 -0
- package/src/assets/adapters/imessage/wrench-web-adapter.json +236 -0
- package/src/assets/adapters/instagram/wrench-web-adapter.json +719 -0
- package/src/assets/adapters/instagram/wrench-web-adapter.v1.0.0.json +627 -0
- package/src/assets/adapters/instagram/wrench-web-adapter.v1.1.0.json +609 -0
- package/src/assets/adapters/instagram/wrench-web-adapter.v1.2.0.json +640 -0
- package/src/assets/adapters/instagram/wrench-web-adapter.v1.3.0.json +671 -0
- package/src/assets/adapters/instagram/wrench-web-adapter.v1.4.0.json +710 -0
- package/src/assets/adapters/instagram/wrench-web-adapter.v1.5.0.json +710 -0
- package/src/assets/adapters/instagram/wrench-web-adapter.v1.6.0.json +719 -0
- package/src/assets/adapters/instagram/wrench-web-adapter.v1.7.0.json +719 -0
- package/src/assets/adapters/linkedin/wrench-adapter.json +442 -0
- package/src/assets/adapters/linkedin/wrench-adapter.v0.4.0.json +124 -0
- package/src/assets/adapters/linkedin/wrench-adapter.v1.0.0.json +411 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.json +914 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.0.0.json +604 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.1.0.json +604 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.10.0.json +809 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.11.0.json +809 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.12.0.json +820 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.13.0.json +819 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.14.0.json +819 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.15.0.json +819 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.16.0.json +874 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.17.0.json +874 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.18.0.json +874 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.19.0.json +874 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.2.0.json +731 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.3.0.json +768 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.4.0.json +808 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.5.0.json +808 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.6.0.json +808 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.7.0.json +825 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.8.0.json +792 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.v1.9.0.json +809 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.json +855 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.0.0.json +577 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.1.0.json +604 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.10.0.json +712 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.11.0.json +712 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.12.0.json +712 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.2.0.json +653 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.3.0.json +712 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.4.0.json +713 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.5.0.json +712 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.6.0.json +713 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.7.0.json +713 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.8.0.json +713 -0
- package/src/assets/adapters/reddit/wrench-web-adapter.v1.9.0.json +713 -0
- package/src/assets/adapters/substack/wrench-web-adapter.json +936 -0
- package/src/assets/adapters/substack/wrench-web-adapter.v1.0.0.json +817 -0
- package/src/assets/adapters/substack/wrench-web-adapter.v1.1.0.json +812 -0
- package/src/assets/adapters/substack/wrench-web-adapter.v1.2.0.json +812 -0
- package/src/assets/adapters/substack/wrench-web-adapter.v1.3.0.json +902 -0
- package/src/assets/adapters/substack/wrench-web-adapter.v1.4.0.json +936 -0
- package/src/assets/adapters/substack/wrench-web-adapter.v1.5.0.json +936 -0
- package/src/assets/adapters/substack/wrench-web-adapter.v1.6.0.json +936 -0
- package/src/assets/adapters/threads/wrench-web-adapter.json +692 -0
- package/src/assets/adapters/threads/wrench-web-adapter.v1.0.0.json +629 -0
- package/src/assets/adapters/threads/wrench-web-adapter.v1.1.0.json +623 -0
- package/src/assets/adapters/threads/wrench-web-adapter.v1.2.0.json +622 -0
- package/src/assets/adapters/threads/wrench-web-adapter.v1.3.0.json +622 -0
- package/src/assets/adapters/threads/wrench-web-adapter.v1.4.0.json +622 -0
- package/src/assets/adapters/threads/wrench-web-adapter.v1.5.0.json +699 -0
- package/src/assets/adapters/threads/wrench-web-adapter.v1.6.0.json +693 -0
- package/src/assets/adapters/threads/wrench-web-adapter.v1.7.0.json +692 -0
- package/src/assets/adapters/tiktok/wrench-web-adapter.json +762 -0
- package/src/assets/adapters/tiktok/wrench-web-adapter.v1.0.0.json +681 -0
- package/src/assets/adapters/tiktok/wrench-web-adapter.v1.1.0.json +708 -0
- package/src/assets/adapters/tiktok/wrench-web-adapter.v1.2.0.json +762 -0
- package/src/assets/adapters/tiktok/wrench-web-adapter.v1.3.0.json +762 -0
- package/src/assets/adapters/twitch/wrench-web-adapter.json +42 -0
- package/src/assets/adapters/twitch/wrench-web-adapter.v1.0.0.json +42 -0
- package/src/assets/adapters/whatsapp/wrench-web-adapter.json +400 -0
- package/src/assets/adapters/whatsapp/wrench-web-adapter.v1.0.0.json +355 -0
- package/src/assets/adapters/whatsapp/wrench-web-adapter.v1.1.0.json +386 -0
- package/src/assets/adapters/whatsapp/wrench-web-adapter.v1.2.0.json +386 -0
- package/src/assets/adapters/whatsapp/wrench-web-adapter.v1.3.0.json +400 -0
- package/src/assets/adapters/x/wrench-adapter.json +749 -0
- package/src/assets/adapters/x/wrench-adapter.v1.0.0.json +700 -0
- package/src/assets/adapters/x/wrench-adapter.v1.1.0.json +707 -0
- package/src/assets/adapters/x/wrench-web-adapter.json +712 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.1.0.json +579 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.10.0.json +685 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.11.0.json +712 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.12.0.json +712 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.13.0.json +712 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.2.0.json +578 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.3.0.json +610 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.4.0.json +617 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.5.0.json +634 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.6.0.json +632 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.7.0.json +649 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.8.0.json +649 -0
- package/src/assets/adapters/x/wrench-web-adapter.v1.9.0.json +683 -0
- package/src/assets/adapters/youtube/wrench-web-adapter.json +561 -0
- package/src/assets/adapters/youtube/wrench-web-adapter.v1.0.0.json +465 -0
- package/src/assets/adapters/youtube/wrench-web-adapter.v1.1.0.json +519 -0
- package/src/assets/adapters/youtube/wrench-web-adapter.v1.2.0.json +561 -0
- package/src/assets/adapters/youtube/wrench-web-adapter.v1.3.0.json +561 -0
- package/src/assets/code-owned-provider-template/plugin.test.ts.template +54 -0
- package/src/assets/code-owned-provider-template/plugin.ts.template +102 -0
- package/src/assets/code-owned-provider-template/runtime.internal.test.ts.template +44 -0
- package/src/assets/code-owned-provider-template/runtime.ts.template +59 -0
- package/src/assets/code-owned-provider-template/wrench-adapter.json.template +33 -0
- package/src/assets/fonts/nebula-sans/LICENSE.txt +96 -0
- package/src/assets/fonts/nebula-sans/NebulaSans-Book.woff2 +0 -0
- package/src/assets/fonts/nebula-sans/PROVENANCE.md +14 -0
- package/src/assets.d.ts +4 -0
- package/src/auth.ts +1157 -0
- package/src/beeper-client-types.ts +169 -0
- package/src/beeper-client.ts +250 -0
- package/src/beeper-contact-interactions-cli.ts +180 -0
- package/src/beeper-contact-interactions.ts +1612 -0
- package/src/beeper-message-bundle-v1.ts +257 -0
- package/src/beeper-message-like-me-cli.ts +84 -0
- package/src/beeper-message-like-me-export.ts +2274 -0
- package/src/beeper-message-like-me-recovery.ts +931 -0
- package/src/beeper-message-like-me-source.ts +4034 -0
- package/src/browser-admission.ts +928 -0
- package/src/browser-snapshots.ts +260 -0
- package/src/browser.ts +3873 -0
- package/src/canonical-json.ts +60 -0
- package/src/catalog-cli.ts +638 -0
- package/src/cli.ts +208 -0
- package/src/client-types.ts +301 -0
- package/src/client.ts +2726 -0
- package/src/confirmed-write-failure.ts +44 -0
- package/src/confirmed-write-model.ts +72 -0
- package/src/confirmed-write-platform.ts +1055 -0
- package/src/confirmed-write-program.ts +224 -0
- package/src/confirmed-write-runtime.ts +16 -0
- package/src/cursor-token.ts +228 -0
- package/src/derivation-dnr-readiness.ts +367 -0
- package/src/derivation-file-chooser.ts +384 -0
- package/src/derivation-network-boundary.ts +835 -0
- package/src/derivation-network-guard.ts +782 -0
- package/src/derivation-network-proxy-helper.ts +440 -0
- package/src/derivation-network-proxy.ts +385 -0
- package/src/derive-command-helper.ts +693 -0
- package/src/derive-fixtures.ts +343 -0
- package/src/derive-review.ts +980 -0
- package/src/derive.ts +4754 -0
- package/src/fixtures/beeper-message-like-me-v1/accounts.ndjson +2 -0
- package/src/fixtures/beeper-message-like-me-v1/conversations.ndjson +1 -0
- package/src/fixtures/beeper-message-like-me-v1/manifest.json +1 -0
- package/src/fixtures/beeper-message-like-me-v1/messages.ndjson +2 -0
- package/src/fixtures/beeper-message-like-me-v1/participants.ndjson +3 -0
- package/src/fixtures/beeper-message-like-me-v1/reactions.ndjson +1 -0
- package/src/fixtures/beeper-message-like-me-v1/tombstones.ndjson +1 -0
- package/src/ghostget.ts +3672 -0
- package/src/gmail-capture.ts +1244 -0
- package/src/har-internal.ts +1242 -0
- package/src/har.ts +743 -0
- package/src/index.ts +218 -0
- package/src/invocation-read-platform.ts +55 -0
- package/src/invocation-read-program.ts +93 -0
- package/src/invocation-read-runtime.ts +11 -0
- package/src/linked-device-lifecycle-admission.ts +450 -0
- package/src/linked-device-lifecycle-journal.ts +1560 -0
- package/src/linked-device-lifecycle-runtime.ts +1602 -0
- package/src/local-cli-admission.ts +135 -0
- package/src/local-cli-contracts.ts +271 -0
- package/src/local-cli-execution.ts +98 -0
- package/src/local-cli-surface-contract.ts +1510 -0
- package/src/local-cli-tool-identity.ts +336 -0
- package/src/media/archive.ts +2325 -0
- package/src/media/args.ts +303 -0
- package/src/media/cli.ts +287 -0
- package/src/media/doctor.ts +475 -0
- package/src/media/ffmpeg.ts +1330 -0
- package/src/media/http-capture.ts +711 -0
- package/src/media/http-probe.ts +593 -0
- package/src/media/http.ts +387 -0
- package/src/media/index.ts +10 -0
- package/src/media/local-transcription.ts +613 -0
- package/src/media/lock.ts +321 -0
- package/src/media/manifest.ts +1712 -0
- package/src/media/metadata.ts +906 -0
- package/src/media/process.ts +723 -0
- package/src/media/revision.ts +166 -0
- package/src/media/runtime-closure.ts +1063 -0
- package/src/media/source-router.ts +187 -0
- package/src/media/transcriber-config.ts +1122 -0
- package/src/media/transcript-persistence-model.ts +15 -0
- package/src/media/transcript-persistence-platform.ts +89 -0
- package/src/media/transcript-persistence-program.ts +39 -0
- package/src/media/transcript-persistence-runtime.ts +24 -0
- package/src/media/transcript.ts +616 -0
- package/src/media/utf8-order.ts +30 -0
- package/src/media/whisper-cpp.ts +464 -0
- package/src/media/whisper-language.ts +58 -0
- package/src/media/yt-dlp.ts +439 -0
- package/src/message-like-me-agentic-messaging.ts +882 -0
- package/src/messaging-action-store.ts +793 -0
- package/src/messaging-runtime.ts +2136 -0
- package/src/messaging-store.ts +539 -0
- package/src/messaging-types.ts +1663 -0
- package/src/messaging.ts +334 -0
- package/src/model.ts +2671 -0
- package/src/oauth-google.ts +888 -0
- package/src/omni-client-types.ts +306 -0
- package/src/omni-client.ts +2225 -0
- package/src/omni-limits.ts +34 -0
- package/src/omni-model.ts +1614 -0
- package/src/omni-request.ts +379 -0
- package/src/omni-runtime.ts +1632 -0
- package/src/operation-deadline.ts +189 -0
- package/src/path-helper.ts +1656 -0
- package/src/pinned-https.ts +194 -0
- package/src/plan-assets.ts +832 -0
- package/src/platform-catalog.ts +1832 -0
- package/src/plugins/beeper-linked-device/plugin.ts +310 -0
- package/src/plugins/bluesky-web/plugin.ts +178 -0
- package/src/plugins/clasificados-web/plugin.ts +66 -0
- package/src/plugins/github-web/plugin.ts +80 -0
- package/src/plugins/gmail-official/plugin.ts +110 -0
- package/src/plugins/hacker-news-web/plugin.ts +52 -0
- package/src/plugins/imessage-direct/plugin.ts +195 -0
- package/src/plugins/imessage-direct/vendor/0001-fix-keep-AppleScript-send-payloads-out-of-child-argv.patch +1430 -0
- package/src/plugins/imessage-direct/vendor/0002-feat-rpc-add-exact-chat-lookup.patch +225 -0
- package/src/plugins/imessage-direct/vendor/provenance.json +80 -0
- package/src/plugins/linkedin-official/plugin.ts +84 -0
- package/src/plugins/linkedin-web/plugin.ts +412 -0
- package/src/plugins/meta-web/plugin.ts +317 -0
- package/src/plugins/reddit-web/flair.ts +492 -0
- package/src/plugins/reddit-web/plugin.ts +477 -0
- package/src/plugins/substack-web/plugin.ts +124 -0
- package/src/plugins/tiktok-web/plugin.ts +67 -0
- package/src/plugins/twitch-web/plugin.ts +54 -0
- package/src/plugins/whatsapp-linked-device/plugin.ts +105 -0
- package/src/plugins/x-official/plugin.ts +64 -0
- package/src/plugins/x-web/plugin.ts +488 -0
- package/src/plugins/youtube-web/plugin.ts +101 -0
- package/src/portable-run-recovery.ts +466 -0
- package/src/process-identity.ts +501 -0
- package/src/profile-clone-helper.ts +104 -0
- package/src/provider-catalog-views.ts +51 -0
- package/src/provider-context.ts +69 -0
- package/src/provider-contract-definitions-x.ts +45 -0
- package/src/provider-contract-definitions.ts +948 -0
- package/src/provider-contract-input-gmail.ts +176 -0
- package/src/provider-contract-input-linkedin.ts +77 -0
- package/src/provider-contract-input-x.ts +304 -0
- package/src/provider-contract-planning.ts +23 -0
- package/src/provider-contract-semantic-identity.ts +54 -0
- package/src/provider-contracts.ts +251 -0
- package/src/provider-http.ts +723 -0
- package/src/provider-plugin-auth.ts +36 -0
- package/src/provider-plugin-builtins.ts +229 -0
- package/src/provider-plugin-cleanup-barrier.ts +229 -0
- package/src/provider-plugin-cleanup-execution.ts +79 -0
- package/src/provider-plugin-cleanup-resource.ts +470 -0
- package/src/provider-plugin-contract-identity.ts +707 -0
- package/src/provider-plugin-host.ts +1972 -0
- package/src/provider-plugin-identifiers.ts +60 -0
- package/src/provider-plugin-invocation-lease.ts +889 -0
- package/src/provider-plugin-lifecycle-kernel.ts +566 -0
- package/src/provider-plugin-lifecycle.ts +1455 -0
- package/src/provider-plugin-module-analysis.ts +336 -0
- package/src/provider-plugin-package.ts +2530 -0
- package/src/provider-plugin-portable-authority.ts +106 -0
- package/src/provider-plugin-portable-catalog.ts +94 -0
- package/src/provider-plugin-portable-identity.ts +315 -0
- package/src/provider-plugin-portable-runtime.ts +2057 -0
- package/src/provider-plugin-protocol.ts +1625 -0
- package/src/provider-plugin-registry.ts +3342 -0
- package/src/provider-plugin-store.ts +2155 -0
- package/src/provider-plugin-test-fixture.ts +5 -0
- package/src/provider-plugin.ts +4907 -0
- package/src/provider-plugins.generated.ts +43 -0
- package/src/provider-plugins.ts +8 -0
- package/src/provider-subject.ts +41 -0
- package/src/provider.ts +315 -0
- package/src/providers/beeper-local-runtime.ts +5426 -0
- package/src/providers/beeper-local.ts +2739 -0
- package/src/providers/beeper-messaging.ts +462 -0
- package/src/providers/beeper-omni.ts +1159 -0
- package/src/providers/bluesky-web-runtime.ts +2895 -0
- package/src/providers/bluesky-web.ts +1614 -0
- package/src/providers/clasificados-web-runtime.ts +255 -0
- package/src/providers/clasificados-web.ts +503 -0
- package/src/providers/contact-projection.ts +301 -0
- package/src/providers/github-read-model.ts +94 -0
- package/src/providers/github-read-platform.ts +165 -0
- package/src/providers/github-read-program.ts +97 -0
- package/src/providers/github-web-runtime.ts +320 -0
- package/src/providers/github-web.ts +403 -0
- package/src/providers/gmail-api.ts +2834 -0
- package/src/providers/gmail-omni.ts +830 -0
- package/src/providers/gmail.ts +1130 -0
- package/src/providers/hacker-news-web-runtime.ts +220 -0
- package/src/providers/hacker-news-web.ts +809 -0
- package/src/providers/imessage-direct-install.ts +354 -0
- package/src/providers/imessage-direct-messaging.ts +532 -0
- package/src/providers/imessage-direct-omni.ts +400 -0
- package/src/providers/imessage-direct-runtime.ts +1498 -0
- package/src/providers/imessage-direct.ts +351 -0
- package/src/providers/instagram-video-foundations.ts +913 -0
- package/src/providers/instagram-web-profile-browser.ts +600 -0
- package/src/providers/iso-bmff.ts +338 -0
- package/src/providers/linkedin-company-platform.ts +42 -0
- package/src/providers/linkedin-company-program.ts +88 -0
- package/src/providers/linkedin-contact-failure.ts +84 -0
- package/src/providers/linkedin-contact-platform.ts +45 -0
- package/src/providers/linkedin-contact-program.ts +91 -0
- package/src/providers/linkedin-profile-activity-failure.ts +76 -0
- package/src/providers/linkedin-profile-activity-platform.ts +41 -0
- package/src/providers/linkedin-profile-activity-program.ts +67 -0
- package/src/providers/linkedin-read-failure.ts +52 -0
- package/src/providers/linkedin-self-platform.ts +53 -0
- package/src/providers/linkedin-self-program.ts +122 -0
- package/src/providers/linkedin-web-article-browser.ts +794 -0
- package/src/providers/linkedin-web-bootstrap.ts +146 -0
- package/src/providers/linkedin-web-contact.ts +830 -0
- package/src/providers/linkedin-web-feed-browser.ts +832 -0
- package/src/providers/linkedin-web-feed.ts +864 -0
- package/src/providers/linkedin-web-post-browser.ts +653 -0
- package/src/providers/linkedin-web-profile-browser.ts +683 -0
- package/src/providers/linkedin-web-runtime.ts +2388 -0
- package/src/providers/linkedin-web.ts +3305 -0
- package/src/providers/linkedin.ts +1885 -0
- package/src/providers/meta-bootstrap.ts +1043 -0
- package/src/providers/meta-facebook-group.ts +690 -0
- package/src/providers/meta-marketplace-relay.ts +747 -0
- package/src/providers/meta-omni.ts +373 -0
- package/src/providers/meta-relay-bundle.ts +1049 -0
- package/src/providers/meta-web-descriptors.ts +1740 -0
- package/src/providers/meta-web-runtime.ts +3388 -0
- package/src/providers/meta-web.ts +2931 -0
- package/src/providers/read-failure.ts +139 -0
- package/src/providers/reddit-omni.ts +462 -0
- package/src/providers/reddit-web-runtime.ts +1929 -0
- package/src/providers/reddit-web.ts +1611 -0
- package/src/providers/rental-listings.ts +460 -0
- package/src/providers/substack-omni.ts +406 -0
- package/src/providers/substack-video-mp4.ts +33 -0
- package/src/providers/substack-web-runtime.ts +2812 -0
- package/src/providers/substack-web.ts +1502 -0
- package/src/providers/tiktok-video-mp4.ts +33 -0
- package/src/providers/tiktok-web-runtime.ts +770 -0
- package/src/providers/tiktok-web.ts +2786 -0
- package/src/providers/twitch-web-runtime.ts +226 -0
- package/src/providers/twitch-web.ts +274 -0
- package/src/providers/whatsapp-account-identity.ts +55 -0
- package/src/providers/whatsapp-contact-projection-helper.ts +874 -0
- package/src/providers/whatsapp-contact-projection-protocol.ts +403 -0
- package/src/providers/whatsapp-interaction-projection-helper.ts +1452 -0
- package/src/providers/whatsapp-interaction-projection-protocol.ts +462 -0
- package/src/providers/whatsapp-message-export-projection-protocol.ts +532 -0
- package/src/providers/whatsapp-messaging.ts +132 -0
- package/src/providers/whatsapp-omni.ts +586 -0
- package/src/providers/whatsapp-web-runtime.ts +3108 -0
- package/src/providers/whatsapp-web.ts +1037 -0
- package/src/providers/x-image-provenance.ts +523 -0
- package/src/providers/x-made-with-ai.ts +106 -0
- package/src/providers/x-transaction-id.ts +413 -0
- package/src/providers/x-web-runtime.ts +3485 -0
- package/src/providers/x-web.ts +2332 -0
- package/src/providers/x.ts +1889 -0
- package/src/providers/youtube-web-runtime.ts +1400 -0
- package/src/providers/youtube-web.ts +1221 -0
- package/src/read-admission-runtime.ts +91 -0
- package/src/read-client.ts +521 -0
- package/src/read-effect-platform.ts +7 -0
- package/src/read-effect-runtime.ts +14 -0
- package/src/read-effect.ts +52 -0
- package/src/read-projection-admission.ts +866 -0
- package/src/read-projections.ts +3151 -0
- package/src/recovery.ts +1492 -0
- package/src/reviewed-template.ts +146 -0
- package/src/run-journal.ts +1272 -0
- package/src/runtime.ts +5116 -0
- package/src/scripts/generate-provider-plugin-catalog.ts +121 -0
- package/src/scripts/install-whatsapp-protocol.sh +232 -0
- package/src/scripts/recover-install-stages.ts +1491 -0
- package/src/scripts/resolve-state-home.ts +30 -0
- package/src/scripts/scaffold-web-provider.ts +973 -0
- package/src/scripts/sync-bundled-adapters.ts +695 -0
- package/src/session-secrets.ts +1183 -0
- package/src/state-helper.bunfig.toml +2 -0
- package/src/state-helper.ts +2914 -0
- package/src/storage.ts +3842 -0
- package/src/transport-policy.ts +2 -0
- package/src/usage.ts +182 -0
- package/src/version.ts +2 -0
- package/src/web-session-authentication-policy.ts +136 -0
- package/src/web-session-cleanup-admission.ts +2344 -0
- package/src/web-session-cleanup-join.ts +99 -0
- package/src/web-session-client.ts +996 -0
- package/src/web-session-contract-definitions.ts +820 -0
- package/src/web-session-contract-planning.ts +42 -0
- package/src/web-session-contracts.ts +228 -0
- package/src/web-session-cookies.ts +500 -0
- package/src/web-session-execution.ts +385 -0
- package/src/web-session-http.ts +373 -0
- package/src/web-session-read-errors.ts +19 -0
- package/src/web-session-read-runtime.ts +124 -0
- package/src/web-session-recovery.ts +818 -0
- package/src/web-session-sites.ts +58 -0
- package/src/web-session-template.ts +994 -0
- package/src/web-session.ts +93 -0
- package/src/whatsapp-client-binding.ts +21 -0
- package/src/whatsapp-client-types.ts +75 -0
- package/src/whatsapp-client.ts +395 -0
- package/src/whatsapp-export-coordinate.ts +17 -0
- package/src/whatsapp-message-bundle-v2.ts +195 -0
- package/src/whatsapp-message-like-me-cli.ts +195 -0
- package/src/whatsapp-message-like-me-export.ts +1072 -0
- package/src/whatsapp-message-like-me-source.ts +1012 -0
- package/tsconfig.json +67 -0
|
@@ -0,0 +1,750 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 4,
|
|
3
|
+
"id": "facebook-web",
|
|
4
|
+
"version": "1.3.0",
|
|
5
|
+
"displayName": "Facebook (Authenticated Internal API)",
|
|
6
|
+
"surfaceId": "facebook",
|
|
7
|
+
"origins": [
|
|
8
|
+
"https://www.facebook.com"
|
|
9
|
+
],
|
|
10
|
+
"browserDomains": [
|
|
11
|
+
"www.facebook.com"
|
|
12
|
+
],
|
|
13
|
+
"operations": {
|
|
14
|
+
"contacts.list": {
|
|
15
|
+
"description": "Capture-required contract reservation: list one bounded Facebook friends or Messenger-participant collection only after exact actor binding, paging, completeness, acknowledgement behavior, and directional message-history semantics are reviewed.",
|
|
16
|
+
"risk": "R1",
|
|
17
|
+
"sideEffect": "none",
|
|
18
|
+
"idempotency": "none",
|
|
19
|
+
"dedupeWindowMs": 0,
|
|
20
|
+
"input": {
|
|
21
|
+
"properties": {
|
|
22
|
+
"source": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "Provider-defined contact collection requiring a separate reviewed transport",
|
|
25
|
+
"enum": [
|
|
26
|
+
"friends",
|
|
27
|
+
"messenger-participants"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"cursor": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "Opaque cursor returned by the preceding reviewed page",
|
|
33
|
+
"minLength": 1,
|
|
34
|
+
"maxLength": 4096
|
|
35
|
+
},
|
|
36
|
+
"limit": {
|
|
37
|
+
"type": "number",
|
|
38
|
+
"description": "Maximum projected contacts",
|
|
39
|
+
"minimum": 1,
|
|
40
|
+
"maximum": 100
|
|
41
|
+
},
|
|
42
|
+
"stats_scan_limit": {
|
|
43
|
+
"type": "number",
|
|
44
|
+
"description": "Maximum reviewed message-history entries scanned per contact and direction",
|
|
45
|
+
"minimum": 1,
|
|
46
|
+
"maximum": 2000
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"required": [
|
|
50
|
+
"source"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"webSession": {
|
|
54
|
+
"site": "facebook",
|
|
55
|
+
"action": "contacts.list",
|
|
56
|
+
"contractVersion": 1,
|
|
57
|
+
"timeoutMs": 60000,
|
|
58
|
+
"maxOutputBytes": 10485760
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"comments.create": {
|
|
62
|
+
"description": "Capture-required contract reservation: the exact actor, audience, attachment transport, dispatch response, and independent publication readback require an authorized fixture.",
|
|
63
|
+
"risk": "R3",
|
|
64
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
65
|
+
"idempotency": "local-at-most-once",
|
|
66
|
+
"dedupeWindowMs": 86400000,
|
|
67
|
+
"input": {
|
|
68
|
+
"properties": {
|
|
69
|
+
"post_id": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "Exact Facebook post ID",
|
|
72
|
+
"minLength": 1,
|
|
73
|
+
"maxLength": 256
|
|
74
|
+
},
|
|
75
|
+
"body": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"description": "Comment body",
|
|
78
|
+
"minLength": 1,
|
|
79
|
+
"maxLength": 500
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"required": [
|
|
83
|
+
"post_id",
|
|
84
|
+
"body"
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
"webSession": {
|
|
88
|
+
"site": "facebook",
|
|
89
|
+
"action": "comments.create",
|
|
90
|
+
"contractVersion": 1,
|
|
91
|
+
"timeoutMs": 60000,
|
|
92
|
+
"maxOutputBytes": 10485760
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"comments.read": {
|
|
96
|
+
"description": "Capture-required contract reservation: the exact acknowledgement-free response and target binding still require a reviewed live capture.",
|
|
97
|
+
"risk": "R1",
|
|
98
|
+
"sideEffect": "none",
|
|
99
|
+
"idempotency": "none",
|
|
100
|
+
"dedupeWindowMs": 0,
|
|
101
|
+
"input": {
|
|
102
|
+
"properties": {
|
|
103
|
+
"post_id": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"description": "Exact Facebook post ID",
|
|
106
|
+
"minLength": 1,
|
|
107
|
+
"maxLength": 256
|
|
108
|
+
},
|
|
109
|
+
"cursor": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"description": "Opaque cursor returned by the preceding page",
|
|
112
|
+
"minLength": 1,
|
|
113
|
+
"maxLength": 4096
|
|
114
|
+
},
|
|
115
|
+
"limit": {
|
|
116
|
+
"type": "number",
|
|
117
|
+
"description": "Maximum comments",
|
|
118
|
+
"minimum": 1,
|
|
119
|
+
"maximum": 100
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"required": [
|
|
123
|
+
"post_id"
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
"webSession": {
|
|
127
|
+
"site": "facebook",
|
|
128
|
+
"action": "comments.read",
|
|
129
|
+
"contractVersion": 1,
|
|
130
|
+
"timeoutMs": 60000,
|
|
131
|
+
"maxOutputBytes": 10485760
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"content.edit": {
|
|
135
|
+
"description": "Capture-required contract reservation: the exact actor, audience, attachment transport, dispatch response, and independent publication readback require an authorized fixture.",
|
|
136
|
+
"risk": "R3",
|
|
137
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
138
|
+
"idempotency": "local-at-most-once",
|
|
139
|
+
"dedupeWindowMs": 86400000,
|
|
140
|
+
"input": {
|
|
141
|
+
"properties": {
|
|
142
|
+
"post_id": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"description": "Exact Facebook post ID",
|
|
145
|
+
"minLength": 1,
|
|
146
|
+
"maxLength": 256
|
|
147
|
+
},
|
|
148
|
+
"body": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"description": "Replacement text",
|
|
151
|
+
"minLength": 1,
|
|
152
|
+
"maxLength": 1000
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"required": [
|
|
156
|
+
"post_id",
|
|
157
|
+
"body"
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
"webSession": {
|
|
161
|
+
"site": "facebook",
|
|
162
|
+
"action": "content.edit",
|
|
163
|
+
"contractVersion": 1,
|
|
164
|
+
"timeoutMs": 60000,
|
|
165
|
+
"maxOutputBytes": 10485760
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"content.save": {
|
|
169
|
+
"description": "Capture-required contract reservation: the exact actor, target, mutation response, and independent desired-state readback require an authorized fixture.",
|
|
170
|
+
"risk": "R2",
|
|
171
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
172
|
+
"idempotency": "local-at-most-once",
|
|
173
|
+
"dedupeWindowMs": 86400000,
|
|
174
|
+
"input": {
|
|
175
|
+
"properties": {
|
|
176
|
+
"post_id": {
|
|
177
|
+
"type": "string",
|
|
178
|
+
"description": "Exact Facebook post ID",
|
|
179
|
+
"minLength": 1,
|
|
180
|
+
"maxLength": 256
|
|
181
|
+
},
|
|
182
|
+
"saved": {
|
|
183
|
+
"type": "boolean",
|
|
184
|
+
"description": "Exact desired saved state"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"required": [
|
|
188
|
+
"post_id",
|
|
189
|
+
"saved"
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
"webSession": {
|
|
193
|
+
"site": "facebook",
|
|
194
|
+
"action": "content.save",
|
|
195
|
+
"contractVersion": 1,
|
|
196
|
+
"timeoutMs": 60000,
|
|
197
|
+
"maxOutputBytes": 10485760
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
"content.share": {
|
|
201
|
+
"description": "Capture-required contract reservation: the exact actor, audience, attachment transport, dispatch response, and independent publication readback require an authorized fixture.",
|
|
202
|
+
"risk": "R3",
|
|
203
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
204
|
+
"idempotency": "local-at-most-once",
|
|
205
|
+
"dedupeWindowMs": 86400000,
|
|
206
|
+
"input": {
|
|
207
|
+
"properties": {
|
|
208
|
+
"post_id": {
|
|
209
|
+
"type": "string",
|
|
210
|
+
"description": "Exact Facebook post ID",
|
|
211
|
+
"minLength": 1,
|
|
212
|
+
"maxLength": 256
|
|
213
|
+
},
|
|
214
|
+
"destination": {
|
|
215
|
+
"type": "string",
|
|
216
|
+
"description": "Reviewed share destination",
|
|
217
|
+
"enum": [
|
|
218
|
+
"capture-required"
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
"required": [
|
|
223
|
+
"post_id",
|
|
224
|
+
"destination"
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
"webSession": {
|
|
228
|
+
"site": "facebook",
|
|
229
|
+
"action": "content.share",
|
|
230
|
+
"contractVersion": 1,
|
|
231
|
+
"timeoutMs": 60000,
|
|
232
|
+
"maxOutputBytes": 10485760
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"feeds.read": {
|
|
236
|
+
"description": "Observed contract: bounded initial signed-in Comet homepage preload with exact current-user binding; it makes no completion or pagination claim.",
|
|
237
|
+
"risk": "R1",
|
|
238
|
+
"sideEffect": "none",
|
|
239
|
+
"idempotency": "none",
|
|
240
|
+
"dedupeWindowMs": 0,
|
|
241
|
+
"input": {
|
|
242
|
+
"properties": {
|
|
243
|
+
"feed": {
|
|
244
|
+
"type": "string",
|
|
245
|
+
"description": "Reviewed feed",
|
|
246
|
+
"enum": [
|
|
247
|
+
"home"
|
|
248
|
+
]
|
|
249
|
+
},
|
|
250
|
+
"limit": {
|
|
251
|
+
"type": "number",
|
|
252
|
+
"description": "Maximum results",
|
|
253
|
+
"minimum": 1,
|
|
254
|
+
"maximum": 30
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
"required": [
|
|
258
|
+
"feed"
|
|
259
|
+
]
|
|
260
|
+
},
|
|
261
|
+
"webSession": {
|
|
262
|
+
"site": "facebook",
|
|
263
|
+
"action": "feeds.read",
|
|
264
|
+
"contractVersion": 2,
|
|
265
|
+
"timeoutMs": 60000,
|
|
266
|
+
"maxOutputBytes": 10485760
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
"likes.set": {
|
|
270
|
+
"description": "Capture-required contract reservation: the exact actor, target, mutation response, and independent desired-state readback require an authorized fixture.",
|
|
271
|
+
"risk": "R2",
|
|
272
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
273
|
+
"idempotency": "local-at-most-once",
|
|
274
|
+
"dedupeWindowMs": 86400000,
|
|
275
|
+
"input": {
|
|
276
|
+
"properties": {
|
|
277
|
+
"post_id": {
|
|
278
|
+
"type": "string",
|
|
279
|
+
"description": "Exact Facebook post ID",
|
|
280
|
+
"minLength": 1,
|
|
281
|
+
"maxLength": 256
|
|
282
|
+
},
|
|
283
|
+
"liked": {
|
|
284
|
+
"type": "boolean",
|
|
285
|
+
"description": "Exact desired like state"
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
"required": [
|
|
289
|
+
"post_id",
|
|
290
|
+
"liked"
|
|
291
|
+
]
|
|
292
|
+
},
|
|
293
|
+
"webSession": {
|
|
294
|
+
"site": "facebook",
|
|
295
|
+
"action": "likes.set",
|
|
296
|
+
"contractVersion": 1,
|
|
297
|
+
"timeoutMs": 60000,
|
|
298
|
+
"maxOutputBytes": 10485760
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
"media.publish": {
|
|
302
|
+
"description": "Capture-required contract reservation: the exact actor, audience, attachment transport, dispatch response, and independent publication readback require an authorized fixture.",
|
|
303
|
+
"risk": "R3",
|
|
304
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
305
|
+
"idempotency": "local-at-most-once",
|
|
306
|
+
"dedupeWindowMs": 86400000,
|
|
307
|
+
"input": {
|
|
308
|
+
"properties": {
|
|
309
|
+
"media": {
|
|
310
|
+
"type": "file",
|
|
311
|
+
"description": "Exact media file",
|
|
312
|
+
"maxBytes": 1073741824,
|
|
313
|
+
"mediaTypes": [
|
|
314
|
+
"image/*",
|
|
315
|
+
"video/*"
|
|
316
|
+
]
|
|
317
|
+
},
|
|
318
|
+
"caption": {
|
|
319
|
+
"type": "string",
|
|
320
|
+
"description": "Optional media caption",
|
|
321
|
+
"minLength": 1,
|
|
322
|
+
"maxLength": 1000
|
|
323
|
+
},
|
|
324
|
+
"audience": {
|
|
325
|
+
"type": "string",
|
|
326
|
+
"description": "Explicit audience",
|
|
327
|
+
"enum": [
|
|
328
|
+
"default"
|
|
329
|
+
]
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
"required": [
|
|
333
|
+
"media"
|
|
334
|
+
]
|
|
335
|
+
},
|
|
336
|
+
"webSession": {
|
|
337
|
+
"site": "facebook",
|
|
338
|
+
"action": "media.publish",
|
|
339
|
+
"contractVersion": 1,
|
|
340
|
+
"timeoutMs": 60000,
|
|
341
|
+
"maxOutputBytes": 10485760
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
"media.read": {
|
|
345
|
+
"description": "Capture-required contract reservation: the exact acknowledgement-free response and target binding still require a reviewed live capture.",
|
|
346
|
+
"risk": "R1",
|
|
347
|
+
"sideEffect": "none",
|
|
348
|
+
"idempotency": "none",
|
|
349
|
+
"dedupeWindowMs": 0,
|
|
350
|
+
"input": {
|
|
351
|
+
"properties": {
|
|
352
|
+
"post_id": {
|
|
353
|
+
"type": "string",
|
|
354
|
+
"description": "Exact Facebook post ID",
|
|
355
|
+
"minLength": 1,
|
|
356
|
+
"maxLength": 256
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
"required": [
|
|
360
|
+
"post_id"
|
|
361
|
+
]
|
|
362
|
+
},
|
|
363
|
+
"webSession": {
|
|
364
|
+
"site": "facebook",
|
|
365
|
+
"action": "media.read",
|
|
366
|
+
"contractVersion": 1,
|
|
367
|
+
"timeoutMs": 60000,
|
|
368
|
+
"maxOutputBytes": 10485760
|
|
369
|
+
}
|
|
370
|
+
},
|
|
371
|
+
"messaging.list": {
|
|
372
|
+
"description": "Capture-required contract reservation: a homepage Comet preload does not establish the inbox route or folder, paging or completeness, or acknowledgement/presence behavior; Messenger Msys/E2EE needs its own reviewed transport.",
|
|
373
|
+
"risk": "R1",
|
|
374
|
+
"sideEffect": "none",
|
|
375
|
+
"idempotency": "none",
|
|
376
|
+
"dedupeWindowMs": 0,
|
|
377
|
+
"input": {
|
|
378
|
+
"properties": {
|
|
379
|
+
"folder": {
|
|
380
|
+
"type": "string",
|
|
381
|
+
"description": "Reviewed inbox folder",
|
|
382
|
+
"enum": [
|
|
383
|
+
"inbox",
|
|
384
|
+
"message-requests",
|
|
385
|
+
"archived",
|
|
386
|
+
"spam"
|
|
387
|
+
]
|
|
388
|
+
},
|
|
389
|
+
"cursor": {
|
|
390
|
+
"type": "string",
|
|
391
|
+
"description": "Opaque cursor returned by the preceding page",
|
|
392
|
+
"minLength": 1,
|
|
393
|
+
"maxLength": 4096
|
|
394
|
+
},
|
|
395
|
+
"limit": {
|
|
396
|
+
"type": "number",
|
|
397
|
+
"description": "Maximum thread summaries",
|
|
398
|
+
"minimum": 1,
|
|
399
|
+
"maximum": 50
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
"required": [
|
|
403
|
+
"folder"
|
|
404
|
+
]
|
|
405
|
+
},
|
|
406
|
+
"webSession": {
|
|
407
|
+
"site": "facebook",
|
|
408
|
+
"action": "messaging.list",
|
|
409
|
+
"contractVersion": 2,
|
|
410
|
+
"timeoutMs": 60000,
|
|
411
|
+
"maxOutputBytes": 10485760
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
"messaging.read": {
|
|
415
|
+
"description": "Capture-required contract reservation: Messenger conversation reads require protocol-correct Lightspeed/Msys acknowledgement analysis.",
|
|
416
|
+
"risk": "R1",
|
|
417
|
+
"sideEffect": "none",
|
|
418
|
+
"idempotency": "none",
|
|
419
|
+
"dedupeWindowMs": 0,
|
|
420
|
+
"input": {
|
|
421
|
+
"properties": {
|
|
422
|
+
"conversation_id": {
|
|
423
|
+
"type": "string",
|
|
424
|
+
"description": "Exact conversation ID",
|
|
425
|
+
"minLength": 1,
|
|
426
|
+
"maxLength": 512
|
|
427
|
+
},
|
|
428
|
+
"cursor": {
|
|
429
|
+
"type": "string",
|
|
430
|
+
"description": "Opaque cursor returned by the preceding page",
|
|
431
|
+
"minLength": 1,
|
|
432
|
+
"maxLength": 4096
|
|
433
|
+
},
|
|
434
|
+
"limit": {
|
|
435
|
+
"type": "number",
|
|
436
|
+
"description": "Maximum messages",
|
|
437
|
+
"minimum": 1,
|
|
438
|
+
"maximum": 100
|
|
439
|
+
}
|
|
440
|
+
},
|
|
441
|
+
"required": [
|
|
442
|
+
"conversation_id"
|
|
443
|
+
]
|
|
444
|
+
},
|
|
445
|
+
"webSession": {
|
|
446
|
+
"site": "facebook",
|
|
447
|
+
"action": "messaging.read",
|
|
448
|
+
"contractVersion": 1,
|
|
449
|
+
"timeoutMs": 60000,
|
|
450
|
+
"maxOutputBytes": 10485760
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
"messaging.send": {
|
|
454
|
+
"description": "Capture-required contract reservation: Messenger send requires protocol-correct Lightspeed/Msys/E2EE and cannot be represented as a plaintext GraphQL replay.",
|
|
455
|
+
"risk": "R3",
|
|
456
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
457
|
+
"idempotency": "local-at-most-once",
|
|
458
|
+
"dedupeWindowMs": 86400000,
|
|
459
|
+
"input": {
|
|
460
|
+
"properties": {
|
|
461
|
+
"conversation_id": {
|
|
462
|
+
"type": "string",
|
|
463
|
+
"description": "Exact conversation ID",
|
|
464
|
+
"minLength": 1,
|
|
465
|
+
"maxLength": 512
|
|
466
|
+
},
|
|
467
|
+
"body": {
|
|
468
|
+
"type": "string",
|
|
469
|
+
"description": "Message body",
|
|
470
|
+
"minLength": 1,
|
|
471
|
+
"maxLength": 1000
|
|
472
|
+
},
|
|
473
|
+
"attachment": {
|
|
474
|
+
"type": "file",
|
|
475
|
+
"description": "Optional exact message attachment",
|
|
476
|
+
"maxBytes": 1073741824,
|
|
477
|
+
"mediaTypes": [
|
|
478
|
+
"image/*",
|
|
479
|
+
"video/*",
|
|
480
|
+
"application/pdf"
|
|
481
|
+
]
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
"required": [
|
|
485
|
+
"conversation_id",
|
|
486
|
+
"body"
|
|
487
|
+
]
|
|
488
|
+
},
|
|
489
|
+
"webSession": {
|
|
490
|
+
"site": "facebook",
|
|
491
|
+
"action": "messaging.send",
|
|
492
|
+
"contractVersion": 1,
|
|
493
|
+
"timeoutMs": 60000,
|
|
494
|
+
"maxOutputBytes": 10485760
|
|
495
|
+
}
|
|
496
|
+
},
|
|
497
|
+
"posts.publish": {
|
|
498
|
+
"description": "Capture-required contract reservation: the exact actor, audience, attachment transport, dispatch response, and independent publication readback require an authorized fixture.",
|
|
499
|
+
"risk": "R3",
|
|
500
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
501
|
+
"idempotency": "local-at-most-once",
|
|
502
|
+
"dedupeWindowMs": 86400000,
|
|
503
|
+
"input": {
|
|
504
|
+
"properties": {
|
|
505
|
+
"body": {
|
|
506
|
+
"type": "string",
|
|
507
|
+
"description": "Post body",
|
|
508
|
+
"minLength": 1,
|
|
509
|
+
"maxLength": 1000
|
|
510
|
+
},
|
|
511
|
+
"attachment": {
|
|
512
|
+
"type": "file",
|
|
513
|
+
"description": "Optional exact post attachment",
|
|
514
|
+
"maxBytes": 1073741824,
|
|
515
|
+
"mediaTypes": [
|
|
516
|
+
"image/*",
|
|
517
|
+
"video/*",
|
|
518
|
+
"image/gif"
|
|
519
|
+
]
|
|
520
|
+
},
|
|
521
|
+
"audience": {
|
|
522
|
+
"type": "string",
|
|
523
|
+
"description": "Explicit audience",
|
|
524
|
+
"enum": [
|
|
525
|
+
"default"
|
|
526
|
+
]
|
|
527
|
+
}
|
|
528
|
+
},
|
|
529
|
+
"required": [
|
|
530
|
+
"body"
|
|
531
|
+
]
|
|
532
|
+
},
|
|
533
|
+
"webSession": {
|
|
534
|
+
"site": "facebook",
|
|
535
|
+
"action": "posts.publish",
|
|
536
|
+
"contractVersion": 1,
|
|
537
|
+
"timeoutMs": 60000,
|
|
538
|
+
"maxOutputBytes": 10485760
|
|
539
|
+
}
|
|
540
|
+
},
|
|
541
|
+
"posts.quote": {
|
|
542
|
+
"description": "Capture-required contract reservation: the exact actor, audience, attachment transport, dispatch response, and independent publication readback require an authorized fixture.",
|
|
543
|
+
"risk": "R3",
|
|
544
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
545
|
+
"idempotency": "local-at-most-once",
|
|
546
|
+
"dedupeWindowMs": 86400000,
|
|
547
|
+
"input": {
|
|
548
|
+
"properties": {
|
|
549
|
+
"post_id": {
|
|
550
|
+
"type": "string",
|
|
551
|
+
"description": "Exact Facebook post ID",
|
|
552
|
+
"minLength": 1,
|
|
553
|
+
"maxLength": 256
|
|
554
|
+
},
|
|
555
|
+
"body": {
|
|
556
|
+
"type": "string",
|
|
557
|
+
"description": "Quote text",
|
|
558
|
+
"minLength": 1,
|
|
559
|
+
"maxLength": 1000
|
|
560
|
+
}
|
|
561
|
+
},
|
|
562
|
+
"required": [
|
|
563
|
+
"post_id",
|
|
564
|
+
"body"
|
|
565
|
+
]
|
|
566
|
+
},
|
|
567
|
+
"webSession": {
|
|
568
|
+
"site": "facebook",
|
|
569
|
+
"action": "posts.quote",
|
|
570
|
+
"contractVersion": 1,
|
|
571
|
+
"timeoutMs": 60000,
|
|
572
|
+
"maxOutputBytes": 10485760
|
|
573
|
+
}
|
|
574
|
+
},
|
|
575
|
+
"posts.read": {
|
|
576
|
+
"description": "Capture-required contract reservation: the exact acknowledgement-free response and target binding still require a reviewed live capture.",
|
|
577
|
+
"risk": "R1",
|
|
578
|
+
"sideEffect": "none",
|
|
579
|
+
"idempotency": "none",
|
|
580
|
+
"dedupeWindowMs": 0,
|
|
581
|
+
"input": {
|
|
582
|
+
"properties": {
|
|
583
|
+
"post_id": {
|
|
584
|
+
"type": "string",
|
|
585
|
+
"description": "Exact Facebook post ID",
|
|
586
|
+
"minLength": 1,
|
|
587
|
+
"maxLength": 256
|
|
588
|
+
}
|
|
589
|
+
},
|
|
590
|
+
"required": [
|
|
591
|
+
"post_id"
|
|
592
|
+
]
|
|
593
|
+
},
|
|
594
|
+
"webSession": {
|
|
595
|
+
"site": "facebook",
|
|
596
|
+
"action": "posts.read",
|
|
597
|
+
"contractVersion": 1,
|
|
598
|
+
"timeoutMs": 60000,
|
|
599
|
+
"maxOutputBytes": 10485760
|
|
600
|
+
}
|
|
601
|
+
},
|
|
602
|
+
"posts.repost": {
|
|
603
|
+
"description": "Capture-required contract reservation: the exact actor, audience, attachment transport, dispatch response, and independent publication readback require an authorized fixture.",
|
|
604
|
+
"risk": "R3",
|
|
605
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
606
|
+
"idempotency": "local-at-most-once",
|
|
607
|
+
"dedupeWindowMs": 86400000,
|
|
608
|
+
"input": {
|
|
609
|
+
"properties": {
|
|
610
|
+
"post_id": {
|
|
611
|
+
"type": "string",
|
|
612
|
+
"description": "Exact Facebook post ID",
|
|
613
|
+
"minLength": 1,
|
|
614
|
+
"maxLength": 256
|
|
615
|
+
},
|
|
616
|
+
"reposted": {
|
|
617
|
+
"type": "boolean",
|
|
618
|
+
"description": "Exact desired repost state"
|
|
619
|
+
}
|
|
620
|
+
},
|
|
621
|
+
"required": [
|
|
622
|
+
"post_id",
|
|
623
|
+
"reposted"
|
|
624
|
+
]
|
|
625
|
+
},
|
|
626
|
+
"webSession": {
|
|
627
|
+
"site": "facebook",
|
|
628
|
+
"action": "posts.repost",
|
|
629
|
+
"contractVersion": 1,
|
|
630
|
+
"timeoutMs": 60000,
|
|
631
|
+
"maxOutputBytes": 10485760
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
"reactions.set": {
|
|
635
|
+
"description": "Capture-required contract reservation: the exact actor, target, mutation response, and independent desired-state readback require an authorized fixture.",
|
|
636
|
+
"risk": "R2",
|
|
637
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
638
|
+
"idempotency": "local-at-most-once",
|
|
639
|
+
"dedupeWindowMs": 86400000,
|
|
640
|
+
"input": {
|
|
641
|
+
"properties": {
|
|
642
|
+
"post_id": {
|
|
643
|
+
"type": "string",
|
|
644
|
+
"description": "Exact Facebook post ID",
|
|
645
|
+
"minLength": 1,
|
|
646
|
+
"maxLength": 256
|
|
647
|
+
},
|
|
648
|
+
"reaction": {
|
|
649
|
+
"type": "string",
|
|
650
|
+
"description": "Exact desired reaction",
|
|
651
|
+
"enum": [
|
|
652
|
+
"none",
|
|
653
|
+
"like",
|
|
654
|
+
"love",
|
|
655
|
+
"care",
|
|
656
|
+
"haha",
|
|
657
|
+
"wow",
|
|
658
|
+
"sad",
|
|
659
|
+
"angry"
|
|
660
|
+
]
|
|
661
|
+
}
|
|
662
|
+
},
|
|
663
|
+
"required": [
|
|
664
|
+
"post_id",
|
|
665
|
+
"reaction"
|
|
666
|
+
]
|
|
667
|
+
},
|
|
668
|
+
"webSession": {
|
|
669
|
+
"site": "facebook",
|
|
670
|
+
"action": "reactions.set",
|
|
671
|
+
"contractVersion": 1,
|
|
672
|
+
"timeoutMs": 60000,
|
|
673
|
+
"maxOutputBytes": 10485760
|
|
674
|
+
}
|
|
675
|
+
},
|
|
676
|
+
"relationships.follow.set": {
|
|
677
|
+
"description": "Capture-required contract reservation: the exact actor, target, mutation response, and independent desired-state readback require an authorized fixture.",
|
|
678
|
+
"risk": "R2",
|
|
679
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
680
|
+
"idempotency": "local-at-most-once",
|
|
681
|
+
"dedupeWindowMs": 86400000,
|
|
682
|
+
"input": {
|
|
683
|
+
"properties": {
|
|
684
|
+
"user_id": {
|
|
685
|
+
"type": "string",
|
|
686
|
+
"description": "Exact target account ID",
|
|
687
|
+
"minLength": 1,
|
|
688
|
+
"maxLength": 80
|
|
689
|
+
},
|
|
690
|
+
"following": {
|
|
691
|
+
"type": "boolean",
|
|
692
|
+
"description": "Exact desired following state"
|
|
693
|
+
}
|
|
694
|
+
},
|
|
695
|
+
"required": [
|
|
696
|
+
"user_id",
|
|
697
|
+
"following"
|
|
698
|
+
]
|
|
699
|
+
},
|
|
700
|
+
"webSession": {
|
|
701
|
+
"site": "facebook",
|
|
702
|
+
"action": "relationships.follow.set",
|
|
703
|
+
"contractVersion": 1,
|
|
704
|
+
"timeoutMs": 60000,
|
|
705
|
+
"maxOutputBytes": 10485760
|
|
706
|
+
}
|
|
707
|
+
},
|
|
708
|
+
"replies.create": {
|
|
709
|
+
"description": "Capture-required contract reservation: the exact actor, audience, attachment transport, dispatch response, and independent publication readback require an authorized fixture.",
|
|
710
|
+
"risk": "R3",
|
|
711
|
+
"sideEffect": "Changes remote facebook state only after exact preview confirmation and reviewed dispatch.",
|
|
712
|
+
"idempotency": "local-at-most-once",
|
|
713
|
+
"dedupeWindowMs": 86400000,
|
|
714
|
+
"input": {
|
|
715
|
+
"properties": {
|
|
716
|
+
"post_id": {
|
|
717
|
+
"type": "string",
|
|
718
|
+
"description": "Exact Facebook post ID",
|
|
719
|
+
"minLength": 1,
|
|
720
|
+
"maxLength": 256
|
|
721
|
+
},
|
|
722
|
+
"comment_id": {
|
|
723
|
+
"type": "string",
|
|
724
|
+
"description": "Exact parent comment ID",
|
|
725
|
+
"minLength": 1,
|
|
726
|
+
"maxLength": 256
|
|
727
|
+
},
|
|
728
|
+
"body": {
|
|
729
|
+
"type": "string",
|
|
730
|
+
"description": "Reply body",
|
|
731
|
+
"minLength": 1,
|
|
732
|
+
"maxLength": 500
|
|
733
|
+
}
|
|
734
|
+
},
|
|
735
|
+
"required": [
|
|
736
|
+
"post_id",
|
|
737
|
+
"comment_id",
|
|
738
|
+
"body"
|
|
739
|
+
]
|
|
740
|
+
},
|
|
741
|
+
"webSession": {
|
|
742
|
+
"site": "facebook",
|
|
743
|
+
"action": "replies.create",
|
|
744
|
+
"contractVersion": 1,
|
|
745
|
+
"timeoutMs": 60000,
|
|
746
|
+
"maxOutputBytes": 10485760
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
}
|