@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
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Versioned sections identify checked package source. Starting with v0.16.13,
|
|
4
|
+
a version is publicly released after its exact canonical GitHub archive and
|
|
5
|
+
provenance are published in an immutable Release. npm mirrors are optional.
|
|
6
|
+
Historical entries retain their original delivery coordinates.
|
|
7
|
+
|
|
8
|
+
## Unreleased
|
|
9
|
+
|
|
10
|
+
## 0.17.2 - 2026-09-10
|
|
11
|
+
|
|
12
|
+
- Publish `@hraness/ghostget` to npm as ordinary software by owner decision:
|
|
13
|
+
the package carries no `contentPolicy` declaration and no `DISCLOSURE` file,
|
|
14
|
+
matching the other Hraness listings, and the optional npm mirror publishes
|
|
15
|
+
directly through the workflow's trusted publisher instead of a staged
|
|
16
|
+
publish that needs two-factor promotion. The exact canonical GitHub archive
|
|
17
|
+
remains the release authority.
|
|
18
|
+
|
|
19
|
+
## 0.17.1 - 2026-09-10
|
|
20
|
+
|
|
21
|
+
- Read GitHub job logs with `--allow-escape-sequences` during release source
|
|
22
|
+
admission; the hosted runner's current `gh` otherwise refuses logs that carry
|
|
23
|
+
terminal escape sequences, which failed the `v0.17.0` request before any
|
|
24
|
+
canonical asset was built. That tag and run are retained without assets.
|
|
25
|
+
|
|
26
|
+
## 0.17.0 - 2026-09-09
|
|
27
|
+
|
|
28
|
+
- Rename the project, CLI, SDK package, and public Agent Skill to Ghostget, with
|
|
29
|
+
`ghostget.com` as the canonical website and `@hraness/ghostget` as the package.
|
|
30
|
+
- Preserve existing local state, encrypted records, receipts, and adapter
|
|
31
|
+
formats during the upgrade. New installations use Ghostget names; the
|
|
32
|
+
[migration guide](docs/ghostget-migration.md) lists compatibility names.
|
|
33
|
+
- Keep historical release coordinates and the original first-capture recording
|
|
34
|
+
intact, with the recording identified as predating the rename.
|
|
35
|
+
|
|
36
|
+
## 0.16.17 - 2026-09-09
|
|
37
|
+
|
|
38
|
+
- Adopt published Sweet Cookie 0.4.3 through KB 0.19.6 and the exact verification
|
|
39
|
+
dependency. Retain explicit browser keychain selection for custom profiles.
|
|
40
|
+
- Reject opaque partition metadata in cookie-file web sessions before request
|
|
41
|
+
replay, including malformed flags and opaque records without a partition key.
|
|
42
|
+
|
|
43
|
+
## 0.16.16 - 2026-09-09
|
|
44
|
+
|
|
45
|
+
- Retry exact claim-read drift during browser admission after ownership
|
|
46
|
+
reconciliation, preserving the two-browser cap, deadlines, and unsafe-state
|
|
47
|
+
refusal. Retain immutable v0.16.15 and its failed mirror evidence.
|
|
48
|
+
|
|
49
|
+
## 0.16.15 - 2026-09-09
|
|
50
|
+
|
|
51
|
+
- Pin consumer compiler and declaration versions to the qualified source tuple;
|
|
52
|
+
retain strict checks and log resolved identities.
|
|
53
|
+
- Preserve both failed v0.16.14 attempts and their evidence. Neither published
|
|
54
|
+
artifacts.
|
|
55
|
+
|
|
56
|
+
## 0.16.14 - 2026-09-09
|
|
57
|
+
|
|
58
|
+
- Check the real canonical npm archive in required PR CI before tagging, using
|
|
59
|
+
the same pinned Node and npm versions as the release workflow. Retain Bun
|
|
60
|
+
package checks and exact archive, payload, provenance, and install admission.
|
|
61
|
+
- Retain the failed v0.16.13 tag: its source gate passed, but canonical archive
|
|
62
|
+
preparation exceeded the compressed-byte ceiling before any asset upload.
|
|
63
|
+
This version becomes public only after its own immutable Release succeeds.
|
|
64
|
+
|
|
65
|
+
## 0.16.13 - 2026-09-09
|
|
66
|
+
|
|
67
|
+
- Distribute the same named CLI and seven SDK exports through a versioned
|
|
68
|
+
GitHub Release archive with an exact manifest, checksums, signed provenance,
|
|
69
|
+
and isolated installation checks. Keep existing dependency pins.
|
|
70
|
+
- Publish canonical artifacts independently of npm staging. Optional npm
|
|
71
|
+
mirrors consume identical verified archive bytes and retain stage-only OIDC,
|
|
72
|
+
durable intent, unsafe-configuration checks, and required two-factor promotion.
|
|
73
|
+
- Admit production through immutable canonical artifact evidence and independent
|
|
74
|
+
promotion provenance verification while retaining the exact source, App,
|
|
75
|
+
canary, conditional ref write, revocation, provider, and public-readback guards.
|
|
76
|
+
|
|
77
|
+
## 0.16.12 - 2026-09-08
|
|
78
|
+
|
|
79
|
+
- Add LinkedIn `contacts.read` for first-degree Contact info with bounded reads
|
|
80
|
+
and exact account and profile identity checks.
|
|
81
|
+
- Compile shared website styles while preserving typography, keyboard focus,
|
|
82
|
+
touch targets, forced colors, and reduced motion.
|
|
83
|
+
|
|
84
|
+
## 0.16.11 - 2026-09-07
|
|
85
|
+
|
|
86
|
+
- Own LinkedIn profile-activity browser acquisition, current-account binding,
|
|
87
|
+
independent profile observation, bounded page projection and native cleanup
|
|
88
|
+
in an Effect 3.22.1 program. Keep pagination, result shapes and close order.
|
|
89
|
+
- Use producer-owned identity evidence and typed browser failures for account
|
|
90
|
+
mismatch and authentication repair; diagnostic text cannot grant either.
|
|
91
|
+
- Own the complete R2/R3 confirmation lifecycle in one native Effect program:
|
|
92
|
+
claim validation, durable journal/receipt/ledger/recovery preparation, dispatch,
|
|
93
|
+
result reconciliation and cleanup. Keep the public Promise interfaces and
|
|
94
|
+
existing preview, confirmation and at-most-once authority.
|
|
95
|
+
- Persist dispatch and accepted-target callbacks synchronously before their
|
|
96
|
+
returned Promises can be awaited. Preserve the exact selected native cleanup
|
|
97
|
+
rejection, including falsey values, while earlier causes remain private.
|
|
98
|
+
- Retain physical cleanup custody and durable recovery after uncertain native
|
|
99
|
+
work. Lost acknowledgment withholds unproven output and never permits an
|
|
100
|
+
automatic resubmission; journal-proven output survives a repairable projection
|
|
101
|
+
failure without repeating execution.
|
|
102
|
+
|
|
103
|
+
## 0.16.10 - 2026-09-07
|
|
104
|
+
|
|
105
|
+
- Show the Ra mark and five social links in the shared website footer, with
|
|
106
|
+
compact spacing and the existing mailing signup.
|
|
107
|
+
- Report Reddit read throttling as a structured retryable failure. Validate
|
|
108
|
+
retry metadata and keep provider response details out of public diagnostics.
|
|
109
|
+
|
|
110
|
+
## 0.16.9 - 2026-09-06
|
|
111
|
+
|
|
112
|
+
- Move R1 read receipt sequencing, deadline handling, cleanup admission, GitHub
|
|
113
|
+
organization reads, and LinkedIn self-profile and company reads into bounded
|
|
114
|
+
Effect 3.22.1 programs. Preserve public Promise interfaces, result projections,
|
|
115
|
+
and R2/R3 write dispatch rules. Require typed identity-response metadata for
|
|
116
|
+
the reviewed LinkedIn transport fallback.
|
|
117
|
+
- Prevent GitHub read retries when response cleanup fails or times out, including
|
|
118
|
+
cancellation that rejects without an error value. Keep cleanup causes private.
|
|
119
|
+
- Wait for native cleanup proof before releasing authenticated read admission.
|
|
120
|
+
A 30-second cleanup-join deadline retains unsafe admission; late cleanup cannot
|
|
121
|
+
upgrade that settled outcome. Preserve contained-browser ownership and
|
|
122
|
+
private-root checks.
|
|
123
|
+
- Keep built-in durable contract identities fixed while deriving and revalidating
|
|
124
|
+
the complete current source/dependency closure. Reuse pre-encoded UTF-8 sort
|
|
125
|
+
keys during dependency discovery; fresh trust observations and byte ordering
|
|
126
|
+
remain unchanged. The added Effect dependency expands that inspected graph.
|
|
127
|
+
- Refresh the reviewed X UserTweets query descriptor and bind changed user
|
|
128
|
+
identity shapes to the requested account. When the response omits user-level
|
|
129
|
+
identity, require matching authored-post evidence; reject contradictory or
|
|
130
|
+
unproven identities with structured contract-drift refusal.
|
|
131
|
+
|
|
132
|
+
## 0.16.8 - 2026-09-06
|
|
133
|
+
|
|
134
|
+
- Preserve completed LinkedIn profile and organization statistics and Instagram
|
|
135
|
+
profile statistics when their contained browser exits naturally just after
|
|
136
|
+
the single close attempt. Cleanup may retry only one strict, no-effect
|
|
137
|
+
convergence proof: exact dead owner, two inactive session reads, unchanged
|
|
138
|
+
private roots, three spaced CDP refusals, and a final owner, session, and root
|
|
139
|
+
reproof before the existing durable journals remove either root. Never repeat
|
|
140
|
+
the provider read, close attempt, or termination signal, and keep malformed,
|
|
141
|
+
identity-drifted, root-replaced, CDP-ambiguous, and claim-drifted states
|
|
142
|
+
fail-closed.
|
|
143
|
+
- Bind LinkedIn profile-activity requests to the observed REST.li variable
|
|
144
|
+
ordering and escaping. Treat the current `total: 0` response as a terminal
|
|
145
|
+
page, and advance from a positive paging total without inventing a missing
|
|
146
|
+
next link.
|
|
147
|
+
|
|
148
|
+
## 0.16.7 - 2026-09-05
|
|
149
|
+
|
|
150
|
+
- Recover a same-boot contained-browser cleanup when its pinned daemon exits
|
|
151
|
+
naturally between the initial live-owner proof and the first session read.
|
|
152
|
+
Require repeated inactive-session and unchanged private-root proofs, then a
|
|
153
|
+
final dead-owner proof plus three consecutive CDP refusals; issue no close
|
|
154
|
+
or signal on this path.
|
|
155
|
+
|
|
156
|
+
## 0.16.6 - 2026-09-05
|
|
157
|
+
|
|
158
|
+
- Add Beeper `contacts.list@3` on beeper-linked-device 2.4.0 as a Desktop
|
|
159
|
+
loopback contract that walks `hasMore` and `oldestCursor` pages up to the
|
|
160
|
+
existing 200-item bound and returns an opaque continuation when more remain.
|
|
161
|
+
Keep contracts 1 and 2 on official CLI 0.6.2 with the first-page window.
|
|
162
|
+
- Page a signed-in LinkedIn member's recent-activity feed through
|
|
163
|
+
`linkedin-web feeds.read@2` (`feed=profile-activity`) with durable URNs,
|
|
164
|
+
commentary, and engagement counts when LinkedIn supplies them. Keep the
|
|
165
|
+
home-feed reservation as archived `feeds.read@1`.
|
|
166
|
+
- Add observed Reddit `flair.user.choices` and `flair.post.choices` reads
|
|
167
|
+
through the exact old-Reddit selector contract. Selection writes stay
|
|
168
|
+
`capture-required`.
|
|
169
|
+
- Move Instagram authenticated-web profile statistics reads into a contained
|
|
170
|
+
browser session with fail-closed drift handling.
|
|
171
|
+
- Align the public website with the shared Hraness footer and marketing
|
|
172
|
+
design contracts.
|
|
173
|
+
|
|
174
|
+
## 0.16.5 - 2026-09-04
|
|
175
|
+
|
|
176
|
+
- Require the production-outcome job after either mutually exclusive ref path,
|
|
177
|
+
so an intentionally skipped alternate writer can no longer suppress terminal
|
|
178
|
+
Vercel and public-site verification.
|
|
179
|
+
- Emit a canonical release marker only from a verified Production build and
|
|
180
|
+
bind the apex, Beeper guide, `llms.txt`, `www` redirect, GitHub deployment,
|
|
181
|
+
immutable Release, tag, and exact Vercel deployment URL before promotion
|
|
182
|
+
succeeds.
|
|
183
|
+
- Treat Vercel custom-domain auto-assignment as a persistent project invariant
|
|
184
|
+
with exact setting-only admission and fail-closed staged-deployment recovery.
|
|
185
|
+
- Allow GitHub's Latest Release projection a bounded create-only convergence
|
|
186
|
+
window pinned to its exact predecessor, while existing releases and terminal
|
|
187
|
+
readbacks remain immediate and exact.
|
|
188
|
+
- Require fresh signed-in administrator proof of immutable Releases and the
|
|
189
|
+
no-bypass version-tag update/deletion ruleset before a release tag is pushed.
|
|
190
|
+
|
|
191
|
+
## 0.16.4 - 2026-09-03
|
|
192
|
+
|
|
193
|
+
- Add public `clasificados-web listings.search` for reviewed San Juan rental
|
|
194
|
+
list pages. Return canonical listing URLs, rent, beds, baths, and a
|
|
195
|
+
neighborhood derived from street, ZIP, known address, or list-card
|
|
196
|
+
coordinates rather than broker copy. Document the Zillow-group PerimeterX
|
|
197
|
+
and Puerto Rico MLS public-search blockers instead of shipping capture-required
|
|
198
|
+
stubs.
|
|
199
|
+
- Add bounded Apple Photos contact evidence through a detached private worker.
|
|
200
|
+
The worker captures full Photos and Contacts SQLite databases with `VACUUM
|
|
201
|
+
INTO`, so transient copies can contain unselected columns and raw blobs even
|
|
202
|
+
though returned JSON excludes them. Wrench never opens, copies, or asks
|
|
203
|
+
Photos to materialize referenced photo or video asset files.
|
|
204
|
+
- Add a native, read-only WhatsApp Message Like Me schema-2 export from one
|
|
205
|
+
existing Wacli 0.15.0 local store. The seven-file private bundle excludes
|
|
206
|
+
proven PN/LID self chats and reactions, reports incomplete local-history and
|
|
207
|
+
`reaction-state-unproven` evidence when applicable, and cannot pair, sync, or
|
|
208
|
+
send.
|
|
209
|
+
- Publish dedicated Apple Photos and WhatsApp SDK entrypoints and bind the
|
|
210
|
+
WhatsApp consumer to immutable Message Like Me v0.7.0 contract bytes.
|
|
211
|
+
Runtime Wacli admission verifies the official release, exact SHA-256, and
|
|
212
|
+
offline code signature; the installer separately repeats online notarization.
|
|
213
|
+
- Version the complete reviewed Beeper CLI 0.6.2 surface independently from the
|
|
214
|
+
executable identity. The v2.3 adapter exposes 32 semantic operations, keeps
|
|
215
|
+
every other command explicitly classified, retains v2.2, v2.1, and v2.0 as
|
|
216
|
+
exact upgrade baselines, and leaves destructive or unbounded surfaces inert.
|
|
217
|
+
- Export one bounded page of the signed-in X account's bookmarks, keyed by
|
|
218
|
+
`post_id`, while resolving the reviewed Bookmarks operation across overlapping
|
|
219
|
+
webpack maps.
|
|
220
|
+
- Publish an Omarchy desktop-root news take that keeps a session-wide host
|
|
221
|
+
privilege grant distinct from one named, release-attested Wrench operation.
|
|
222
|
+
- Require immutable, canonically timestamped GitHub Releases for completed
|
|
223
|
+
release ordering. Bind release and promotion to exact source, main, workflow,
|
|
224
|
+
and high-privilege control ancestry before and after irreversible publication,
|
|
225
|
+
while preserving uncertain post-publication evidence without rollback.
|
|
226
|
+
- Bind production promotion to a one-repository release App, an explicit
|
|
227
|
+
expected-old Git lease, and terminal Vercel outcome evidence. Keep the
|
|
228
|
+
established production ref protected against deletion, non-fast-forward
|
|
229
|
+
movement, and ordinary-writer updates.
|
|
230
|
+
|
|
231
|
+
## 0.16.3 - 2026-09-01
|
|
232
|
+
|
|
233
|
+
`@hraness/wrench@0.16.3` is an irreversibly consumed stale-source npm-only
|
|
234
|
+
coordinate from `c2d956ca4102d38c29e24ca4e13f26ce862b47f3`. npm published it
|
|
235
|
+
on 2026-09-03, but it has no matching Git tag, GitHub Release, or production
|
|
236
|
+
promotion, and it is not a completed Wrench release.
|
|
237
|
+
|
|
238
|
+
- Redesign the release-bound product site around a result-first hero, a
|
|
239
|
+
three-step proof, a capability fact grid, a verified install block, and
|
|
240
|
+
explicit CLI, SDK, and Agent Skill paths while retaining canonical metadata
|
|
241
|
+
and compact-layout coverage.
|
|
242
|
+
- Route Beeper account listing, chat search, exact-chat reads, message history,
|
|
243
|
+
and filtered message search through fixed authenticated Desktop loopback
|
|
244
|
+
`GET` routes. Preserve opaque older/newer cursors across bounded pages, reject
|
|
245
|
+
replay or coordinate drift, and never call the separate mark-read route.
|
|
246
|
+
- Let Beeper message search paginate an exact account/chat/date-filtered local
|
|
247
|
+
index without query text. Keep the prior v2.1.0 and v2.0.0 adapter manifests
|
|
248
|
+
as exact upgrade baselines, and retain the local-materialization
|
|
249
|
+
caveat rather than claiming complete remote provider history.
|
|
250
|
+
- Accept one `x-web` `posts.publish` body up to the reviewed CreateTweet
|
|
251
|
+
25000-unit bound without truncation. Bind long-form text from `note_tweet`
|
|
252
|
+
when CreateTweet returns a short `full_text` preview. Thread and reply item
|
|
253
|
+
caps stay 280.
|
|
254
|
+
- Refresh the reviewed X UserTweets and SearchTimeline operation coordinates
|
|
255
|
+
from current authenticated bundle evidence.
|
|
256
|
+
- Recover an orphaned same-boot browser session through a durable doctor lease
|
|
257
|
+
bound to its exact daemon start identity, launch, CDP endpoint, and private
|
|
258
|
+
root generations. Prepared, launch-intent, quiescent, and per-root removal
|
|
259
|
+
phases make close, TERM, and deletion recovery crash-resumable. Changed or
|
|
260
|
+
unprovable state remains fail-closed without making reboot part of the
|
|
261
|
+
recovery contract.
|
|
262
|
+
- Return a bound `cleanup-required` result when durable realm admission blocks
|
|
263
|
+
an R1 read before dispatch. JSON callers retain the no-retry category while
|
|
264
|
+
the cleanup-unsafe claim remains fail-closed.
|
|
265
|
+
- Fail closed before every Vercel build unless a true local invocation has no
|
|
266
|
+
Vercel signal or the checked-in release marker and exact platform state agree.
|
|
267
|
+
- Resolve the production release tag through a separately byte-bounded GitHub
|
|
268
|
+
SHA response while retaining fixed local `git rev-parse HEAD` evidence,
|
|
269
|
+
removing the remote Git descendant boundary from website admission.
|
|
270
|
+
- Move automatic main-only npm staging out of GitHub deployment review. npm
|
|
271
|
+
still requires separate human inspection and two-factor approval before the
|
|
272
|
+
staged version becomes public.
|
|
273
|
+
|
|
274
|
+
## 0.16.2 - 2026-08-28
|
|
275
|
+
|
|
276
|
+
- Require agentic messaging resolution to consume one opaque list-candidate
|
|
277
|
+
route reference. Wrench reloads the checked provider target from encrypted
|
|
278
|
+
private state and proves it with an exact read, so callers cannot inject or
|
|
279
|
+
replace a provider account, network, conversation ID, or recipient match.
|
|
280
|
+
The changed discovery, route, and resolve wire artifacts are V2; the shipped
|
|
281
|
+
v0.16.1 V1 shapes remain available only for strict archival parsing.
|
|
282
|
+
- Start stage-only npm verification automatically when a greater stable package
|
|
283
|
+
version reaches `main`. Unchanged manifest versions stop before OIDC, and the
|
|
284
|
+
terminal staging job requires maintainer approval through the protected
|
|
285
|
+
`npm-stage` environment before npm's separate two-factor approval.
|
|
286
|
+
- Add the Agent Skill to npm discovery metadata and link npm, GitHub, and
|
|
287
|
+
skills.sh from the README and public software identity.
|
|
288
|
+
- Centralize the packed, unpacked, and file-count ceilings used by source
|
|
289
|
+
artifact inspection and clean-consumer package smoke tests. The reviewed
|
|
290
|
+
limits retain bounded room for the observed Linux and macOS gzip spread.
|
|
291
|
+
|
|
292
|
+
- Add a strict machine-readable Hraness social-profile collection manifest,
|
|
293
|
+
correct the second X account to Life Days Left, and bind the current Twitch
|
|
294
|
+
and GitHub organization metrics plus the expected Threads eligibility gap.
|
|
295
|
+
- Project stable, secret-free failure categories and retry dispositions for
|
|
296
|
+
failed R1 reads across every provider in the Hraness manifest. Consumers can
|
|
297
|
+
distinguish target, auth, account, provider, timeout, contract, and cleanup
|
|
298
|
+
failures without exposing provider responses or inventing retry policy.
|
|
299
|
+
|
|
300
|
+
## 0.16.1 - 2026-08-27
|
|
301
|
+
|
|
302
|
+
- Add a provider-neutral agentic messaging facade that keeps exact routes,
|
|
303
|
+
current context, prose, replies, and receipts in encrypted state and
|
|
304
|
+
explicit owner-only artifacts. One private preview authorizes one ordered
|
|
305
|
+
one-to-eight-bubble turn; the durable journal preserves submitted, failed,
|
|
306
|
+
partial, and indeterminate outcomes without retrying uncertain work.
|
|
307
|
+
- Qualify Beeper Desktop for exact live agentic actions through its loopback
|
|
308
|
+
API. Wrench binds one account and conversation, checks participants and the
|
|
309
|
+
exact expected own-message prefix before every remaining bubble, and stops
|
|
310
|
+
on foreign activity, edits, deletions, reorderings, or provider drift.
|
|
311
|
+
- Add a reviewed direct iMessage local transport with fixed JSON-RPC stdin,
|
|
312
|
+
exact chat-row revalidation, AppleScript private files, disabled SMS
|
|
313
|
+
fallback, and independent outgoing `chat.db` acceptance evidence. Threaded
|
|
314
|
+
replies remain unsupported and every bubble has a separate no-retry fence.
|
|
315
|
+
- Vendor and verify a patched Wacli/Whatsmeow stdin-only private transport.
|
|
316
|
+
The registered WhatsApp action remains unavailable until controlled live
|
|
317
|
+
freshness, acceptance, and reconciliation qualification is complete.
|
|
318
|
+
- Ship the reviewed iMessage transport installer through the public CLI with
|
|
319
|
+
digest verification, no-overwrite semantics, path-private diagnostics, and
|
|
320
|
+
fail-closed handling for unsafe source and state paths.
|
|
321
|
+
- Add an exact lightweight `wrench --version` command and bind package smoke
|
|
322
|
+
tests to the installed binary's immutable release identity.
|
|
323
|
+
|
|
324
|
+
## 0.16.0 - 2026-08-27
|
|
325
|
+
|
|
326
|
+
- Redesign wrench.rip as a restrained editorial site with a supported-actions-only
|
|
327
|
+
provider directory, task-first capability labels, and no zero-action service
|
|
328
|
+
cards in the public catalog.
|
|
329
|
+
- Add `x-web articles.read@2` for one exact current-viewer-owned private Article
|
|
330
|
+
draft. The closed R1 result binds its ID, owner, Draft lifecycle, unpublished
|
|
331
|
+
state, title, and bounded rich content; published X Articles and LinkedIn
|
|
332
|
+
Article reads remain unsupported.
|
|
333
|
+
- Add `reddit-web media.read@2` for one exact Reddit-hosted video post through
|
|
334
|
+
the current-account-bound `/api/info` exchange. The metadata-only R1 result
|
|
335
|
+
returns post fields, dimensions, duration, safety flags, and completed status
|
|
336
|
+
without playback URLs; standalone Threads post and media reads and Marketplace
|
|
337
|
+
media reads remain unsupported.
|
|
338
|
+
|
|
339
|
+
## 0.15.1 - 2026-08-27
|
|
340
|
+
|
|
341
|
+
- Publish Wrench through the public npm registry with an exact Bun runtime
|
|
342
|
+
floor, a bounded package inventory, and stage-only trusted publishing for
|
|
343
|
+
later releases.
|
|
344
|
+
- Declare Wrench's authenticated browser and provider capabilities as dual-use
|
|
345
|
+
content and ship the required disclosure in every package.
|
|
346
|
+
- Admit TAB, LF, and CR in projected X post bodies. Request headers, cursors,
|
|
347
|
+
timestamps, every other C0 control, and DEL remain fail-closed.
|
|
348
|
+
|
|
349
|
+
## 0.15.0 - 2026-08-27
|
|
350
|
+
|
|
351
|
+
- Add a source-only `local-cli` provider transport with schema-v6 adapter
|
|
352
|
+
selectors, exact per-platform executable identity, implementation-bound
|
|
353
|
+
plans and receipts, strict subprocess lifecycles, and no generic argv or
|
|
354
|
+
portable native-process authority.
|
|
355
|
+
- Expand the pinned Beeper Desktop integration from five reads to typed account,
|
|
356
|
+
bridge, contact, conversation, message, send, edit, reaction, conversation
|
|
357
|
+
state, metadata, reminder, draft, focus, and presence operations. Bind all
|
|
358
|
+
four official 0.6.2 platform artifacts, isolate oclif user plugins and ambient
|
|
359
|
+
targets, and account for all 101 upstream commands in a checked coverage
|
|
360
|
+
ledger while leaving administrative, destructive, raw, and arbitrary-path
|
|
361
|
+
commands unavailable or R4.
|
|
362
|
+
- Preserve the released schema-1 contact-interaction receipt on its exact
|
|
363
|
+
macOS arm64 writer while keeping its 2,000-participant request ceiling;
|
|
364
|
+
cross-platform Beeper operations use the new versioned local-CLI contracts.
|
|
365
|
+
- Add a manifest-derived provider directory to wrench.rip with exact observed
|
|
366
|
+
and capture-required counts, grouped operation evidence, and local semantic
|
|
367
|
+
icons that do not imply provider endorsement.
|
|
368
|
+
- Publish a focused Beeper guide that binds its 32 observed operations to the
|
|
369
|
+
official CLI, adapter, semantic contracts, Desktop realm, executable hashes,
|
|
370
|
+
preview and dispatch rules, export boundaries, and explicit exclusions.
|
|
371
|
+
## 0.14.0 - 2026-08-26
|
|
372
|
+
|
|
373
|
+
- Add a versioned, body-free Beeper direct-contact interaction summary over
|
|
374
|
+
the same admitted sequential history as the Message Like Me v1 bundle. The
|
|
375
|
+
summary preserves exact account-scoped provider coordinates, directional and
|
|
376
|
+
conversation counts, first and last timestamps, provenance, completeness,
|
|
377
|
+
and a canonical digest while excluding bodies, media, group messages,
|
|
378
|
+
credentials, and local paths.
|
|
379
|
+
- Add `wrench beeper export-contact-interactions` plus the synchronous
|
|
380
|
+
`@hraness/wrench/beeper` client for long-running local relationship imports.
|
|
381
|
+
Its strict `{ receipt, output }` envelope binds the cleaned summary to the
|
|
382
|
+
auth identity, requested bounds, linked-device transport, immutable Wrench
|
|
383
|
+
release and verified official CLI pin, source versions, completeness, and
|
|
384
|
+
counts.
|
|
385
|
+
- Pin Message Like Me v0.4.0 as the canonical bundle-v1 parser, type, limit,
|
|
386
|
+
artifact-inventory, and current-manifest authority while preserving the
|
|
387
|
+
checked legacy exporter bytes.
|
|
388
|
+
- Add async and synchronous `invokeCapability` clients that return Wrench's
|
|
389
|
+
strictly parsed live receipt and output without requiring consumers to
|
|
390
|
+
duplicate the CLI protocol parser.
|
|
391
|
+
|
|
392
|
+
## 0.13.6 - 2026-08-25
|
|
393
|
+
|
|
394
|
+
- Scrub JPEG and PNG provenance before X media upload, and fail closed when
|
|
395
|
+
CreateTweet or independent TweetResultByRestId readback shows a Made with AI
|
|
396
|
+
sparkle on user-supplied copy.
|
|
397
|
+
- Treat a mid-read optional admission rewrite after live I/O as an auth-changed
|
|
398
|
+
discard so the live result cannot be published.
|
|
399
|
+
- Keep polling derivation-proxy readiness until the ready file is a complete
|
|
400
|
+
0600 regular file, so an O_EXCL create cannot fail the start race.
|
|
401
|
+
- Add an authenticated, current-viewer-bound Twitch profile read that binds the
|
|
402
|
+
fixed login-parameterized channel response to the viewer's immutable identity
|
|
403
|
+
before returning its exact follower count.
|
|
404
|
+
- Promote the Hraness Twitch row from an expected categorical gap to the
|
|
405
|
+
package-owned exact daily social-statistics workflow.
|
|
406
|
+
|
|
407
|
+
## 0.13.5 - 2026-08-24
|
|
408
|
+
|
|
409
|
+
- Add the Hraness Twitch channel to the package-owned social-statistics
|
|
410
|
+
manifest with an exact-only categorical-gap contract until its reviewed
|
|
411
|
+
capability and eligible authenticated source are available.
|
|
412
|
+
|
|
413
|
+
## 0.13.4 - 2026-08-24
|
|
414
|
+
|
|
415
|
+
- Add a credential-free, target-bound GitHub organization read that binds the
|
|
416
|
+
organization and completes its bounded public repository pagination before
|
|
417
|
+
projecting exact aggregate stars and followers.
|
|
418
|
+
- Preserve the existing GitHub profile read and document both public GitHub
|
|
419
|
+
social-statistics routes for scheduled consumers.
|
|
420
|
+
|
|
421
|
+
## 0.13.3 - 2026-08-24
|
|
422
|
+
|
|
423
|
+
- Add a credential-free, target-bound GitHub profile read through the fixed
|
|
424
|
+
public REST user endpoint, projecting exact follower, following, and public
|
|
425
|
+
repository counts.
|
|
426
|
+
- Add GitHub to the package-owned Hraness social-profile-statistics workflow.
|
|
427
|
+
|
|
428
|
+
## 0.13.2 - 2026-08-23
|
|
429
|
+
|
|
430
|
+
- Publish exact Threads text through `posts.publish@5` without requiring a
|
|
431
|
+
PNG, while preserving optional PNG publication and exact permalink readback.
|
|
432
|
+
- Restore exact LinkedIn personal and organization profile reads from a
|
|
433
|
+
path-backed signed-in Chrome realm. Wrench clones the dormant profile into a
|
|
434
|
+
private contained session, binds the current member before either target
|
|
435
|
+
read, keeps personal profile and connection reads sequential, and finalizes
|
|
436
|
+
the browser's private artifacts after every result.
|
|
437
|
+
|
|
438
|
+
## 0.13.1 - 2026-08-23
|
|
439
|
+
|
|
440
|
+
- Keep Beeper account selector aliases internal while returning plain,
|
|
441
|
+
bounded-JSON-safe account projections from contact and messaging reads.
|
|
442
|
+
|
|
443
|
+
## 0.13.0 - 2026-08-22
|
|
444
|
+
|
|
445
|
+
- Add a pinned, read-only Beeper Desktop provider for contacts and messaging
|
|
446
|
+
projections across locally connected accounts.
|
|
447
|
+
- Add `wrench beeper export-message-like-me` for private,
|
|
448
|
+
provenance-preserving Message Like Me bundles with canonical digests,
|
|
449
|
+
explicit completeness, graph validation, and no media downloads.
|
|
450
|
+
- Export Beeper accounts sequentially through the pinned official CLI with
|
|
451
|
+
redacted account-level progress, elapsed-time heartbeats, and cumulative
|
|
452
|
+
chat and message counts.
|
|
453
|
+
- Add durable process-aware recovery, global export admission, monitored raw
|
|
454
|
+
working limits, and atomic validated Message Like Me bundle publication.
|
|
455
|
+
- Normalize account-local self aliases before record allocation, preserve
|
|
456
|
+
distinct provider reaction facts, and reject contradictory identity or
|
|
457
|
+
snapshot evidence without exposing private coordinates. Bound repeated
|
|
458
|
+
participant work independently from output record cardinality.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Hraness contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|