@hraness/ghostget 0.17.6 → 0.18.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 +301 -0
- package/README.md +16 -9
- package/dist/apple-photos-client.js +2 -1
- package/dist/beeper-client.js +2 -1
- package/dist/client.js +1 -0
- package/dist/imessage-direct-install-2gm3kge7.js +324 -0
- package/dist/index-01eeae9e.js +5 -0
- package/dist/index-2ymnp8xv.js +145 -0
- package/dist/index-en5hycxp.js +175 -0
- package/dist/{index-cytf8d9p.js → index-hfbygww8.js} +1 -1
- package/dist/index-n4szk3nw.js +50 -0
- package/dist/index-yq6maz71.js +1105 -0
- package/dist/index-z1w83f81.js +4 -0
- package/dist/index.js +4 -47
- package/dist/messaging-automation-api.js +21 -0
- package/dist/messaging-automation-j4274hvc.js +609 -0
- package/dist/messaging-native-install-8w1j36ah.js +16 -0
- package/dist/messaging.js +1 -0
- package/dist/omni-client.js +1 -0
- package/dist/whatsapp-automation-runtime-hgh1e9rm.js +845 -0
- package/dist/whatsapp-client.js +1 -0
- package/docs/control-panel.md +147 -0
- package/docs/imessage-direct-provider.md +31 -7
- package/docs/messaging-automation.md +103 -0
- package/package.json +66 -7
- package/skills/ghostget/SKILL.md +3 -1
- package/skills/ghostget/references/control-panel.md +43 -0
- package/skills/ghostget/references/install.md +5 -5
- package/skills/ghostget/references/linkedin-adapter.md +222 -12
- package/skills/ghostget/references/platform-patterns.md +1 -1
- package/src/args.ts +18 -5
- package/src/assets/adapters/imessage/wrench-web-adapter.json +126 -0
- package/src/assets/adapters/linkedin/wrench-web-adapter.json +1 -1
- package/src/assets/adapters/whatsapp/wrench-web-adapter.json +144 -0
- package/src/assets/messaging-runtime/NOTICE.txt +2580 -0
- package/src/assets/messaging-runtime/imsg-darwin-arm64.gz +0 -0
- package/src/assets/messaging-runtime/phone-number-info.plist.gz +0 -0
- package/src/assets/messaging-runtime/phone-number-metadata.json.gz +0 -0
- package/src/assets/messaging-runtime/phone-number-privacy.plist.gz +0 -0
- package/src/assets/messaging-runtime/wacli-darwin-arm64.gz +0 -0
- package/src/auth.ts +35 -1
- package/src/beeper-client-types.ts +1 -1
- package/src/cli.ts +18 -0
- package/src/confirmed-write-platform.ts +16 -1
- package/src/control/account-revision.ts +16 -0
- package/src/control/activity.ts +104 -0
- package/src/control/approval-broker.ts +59 -0
- package/src/control/approval-client.ts +49 -0
- package/src/control/bundled-interfaces.ts +20 -0
- package/src/control/cli.ts +20 -0
- package/src/control/connections.ts +87 -0
- package/src/control/credential-helper.ts +152 -0
- package/src/control/helper.ts +79 -0
- package/src/control/interface-cli.ts +22 -0
- package/src/control/interface-json.ts +94 -0
- package/src/control/interface-schema.ts +120 -0
- package/src/control/interfaces.ts +438 -0
- package/src/control/protocol.ts +182 -0
- package/src/control/service.ts +104 -0
- package/src/control/validation.ts +103 -0
- package/src/control/vault.ts +105 -0
- package/src/control/web-gateway.ts +62 -0
- package/src/control/web-policy.ts +56 -0
- package/src/ghostget.ts +18 -4
- package/src/messaging-automation-api.ts +12 -0
- package/src/messaging-automation-descriptors.ts +29 -0
- package/src/messaging-automation-factory.ts +148 -0
- package/src/messaging-automation-server.ts +183 -0
- package/src/messaging-automation-types.ts +155 -0
- package/src/messaging-automation-validation.ts +110 -0
- package/src/messaging-automation.ts +356 -0
- package/src/messaging-runtime.ts +3 -0
- package/src/oauth-google.ts +11 -5
- package/src/omni-runtime.ts +18 -3
- package/src/operation-permission-store.ts +92 -0
- package/src/operation-permission.ts +308 -0
- package/src/pinned-https.ts +5 -0
- package/src/plugins/imessage-direct/plugin.ts +12 -1
- package/src/plugins/imessage-direct/vendor/0003-feat-rpc-add-no-fetch-rich-cards.patch +276 -0
- package/src/plugins/imessage-direct/vendor/provenance.json +84 -10
- package/src/plugins/linkedin-web/plugin.ts +1 -1
- package/src/plugins/whatsapp-linked-device/plugin.ts +7 -2
- package/src/plugins/whatsapp-linked-device/vendor/0001-ghostget-private-messaging.patch +1093 -0
- package/src/plugins/whatsapp-linked-device/vendor/README.md +39 -0
- package/src/plugins/whatsapp-linked-device/vendor/provenance.json +45 -0
- package/src/provider-http.ts +11 -3
- package/src/provider-plugin-contract-identity.ts +2 -2
- package/src/provider-plugin-import-analysis.ts +52 -0
- package/src/provider-plugin-module-analysis.ts +21 -1
- package/src/provider-plugin-registry.ts +4 -8
- package/src/provider-plugin.ts +18 -8
- package/src/providers/imessage-automation.ts +250 -0
- package/src/providers/imessage-direct-install.ts +7 -0
- package/src/providers/imessage-direct-runtime.ts +32 -2
- package/src/providers/imessage-direct.ts +13 -3
- package/src/providers/linkedin-contact-failure.ts +21 -0
- package/src/providers/linkedin-contact-platform.ts +8 -1
- package/src/providers/linkedin-contact-program.ts +34 -5
- package/src/providers/linkedin-web-contact.ts +1223 -35
- package/src/providers/linkedin-web-profile-browser.ts +659 -45
- package/src/providers/linkedin-web-runtime.ts +1 -0
- package/src/providers/linkedin-web.ts +46 -2
- package/src/providers/messaging-native-artifacts.ts +38 -0
- package/src/providers/messaging-native-install.ts +75 -0
- package/src/providers/whatsapp-automation-runtime.ts +240 -0
- package/src/providers/whatsapp-automation.ts +153 -0
- package/src/read-client.ts +12 -2
- package/src/runtime.ts +81 -9
- package/src/state-helper.ts +2 -0
- package/src/storage.ts +71 -1
- package/src/usage.ts +9 -1
- package/src/version.ts +1 -1
- package/src/web-session-contract-definitions.ts +1 -1
- package/tsconfig.json +3 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"baseCommit": "25beb76c902b0acf2dd7ae392f1b0792f6813240"
|
|
7
7
|
},
|
|
8
8
|
"reviewedPatchStack": {
|
|
9
|
-
"tipCommit": "
|
|
9
|
+
"tipCommit": "520b82ab025c1d4d57333b552aa65c9ae3fdb5fd",
|
|
10
10
|
"patches": [
|
|
11
11
|
{
|
|
12
12
|
"file": "0001-fix-keep-AppleScript-send-payloads-out-of-child-argv.patch",
|
|
@@ -37,31 +37,79 @@
|
|
|
37
37
|
"Sources/imsg/RPCServer.swift",
|
|
38
38
|
"Tests/imsgTests/RPCServerTests.swift"
|
|
39
39
|
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"file": "0003-feat-rpc-add-no-fetch-rich-cards.patch",
|
|
43
|
+
"commit": "520b82ab025c1d4d57333b552aa65c9ae3fdb5fd",
|
|
44
|
+
"sha256": "c2346afca4dd0f9721c235db4f692d6a2d6dece36481e074d94b5ce78f2e019b",
|
|
45
|
+
"purpose": "Native URL cards without helper metadata/image fetching, safe exact-chat fixtures, and release-only adjacent resource lookup without a build-path fallback.",
|
|
46
|
+
"changedFiles": [
|
|
47
|
+
"Sources/imsg/RPCServer+BridgeMessageHandlers.swift",
|
|
48
|
+
"Sources/imsg/RichLinkPreparer.swift",
|
|
49
|
+
"Tests/imsgTests/RPCBridgeMessageHandlersTests.swift",
|
|
50
|
+
"Tests/imsgTests/RPCSendRichLinkValidationTests.swift",
|
|
51
|
+
"Tests/imsgTests/RPCServerTests.swift",
|
|
52
|
+
"Tests/imsgTests/RichLinkPreparerTests.swift",
|
|
53
|
+
"docs/rpc.md",
|
|
54
|
+
"scripts/patch-deps.sh"
|
|
55
|
+
]
|
|
40
56
|
}
|
|
41
57
|
]
|
|
42
58
|
},
|
|
43
59
|
"artifact": {
|
|
44
60
|
"platform": "darwin",
|
|
45
61
|
"arch": "arm64",
|
|
46
|
-
"executableSha256": "
|
|
62
|
+
"executableSha256": "46c4c73c81c7db2d516c2d467c66aff03c73de196996d646bc8afce0ea85cff6",
|
|
47
63
|
"reportedVersion": "0.14.1",
|
|
48
64
|
"build": {
|
|
49
65
|
"swift": "Apple Swift 6.3.3 (swiftlang-6.3.3.1.3 clang-2100.1.1.101)",
|
|
50
|
-
"sdk": "
|
|
66
|
+
"sdk": "MacOSX26.5.sdk",
|
|
51
67
|
"command": [
|
|
52
|
-
"env",
|
|
53
|
-
"SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX15.4.sdk",
|
|
54
|
-
"CLANG_MODULE_CACHE_PATH=<private-build-cache>",
|
|
55
|
-
"SWIFTPM_MODULECACHE_OVERRIDE=<private-build-cache>",
|
|
56
68
|
"swift",
|
|
57
69
|
"build",
|
|
70
|
+
"--jobs",
|
|
71
|
+
"4",
|
|
58
72
|
"--disable-sandbox",
|
|
73
|
+
"--cache-path",
|
|
74
|
+
".swiftpm-cache",
|
|
75
|
+
"--config-path",
|
|
76
|
+
".swiftpm-config",
|
|
77
|
+
"--security-path",
|
|
78
|
+
".swiftpm-security",
|
|
79
|
+
"--disable-automatic-resolution",
|
|
59
80
|
"-c",
|
|
60
81
|
"release",
|
|
61
82
|
"--product",
|
|
62
|
-
"imsg"
|
|
83
|
+
"imsg",
|
|
84
|
+
"-Xlinker",
|
|
85
|
+
"-S"
|
|
86
|
+
],
|
|
87
|
+
"preparation": [
|
|
88
|
+
"scripts/generate-version.sh",
|
|
89
|
+
"swift package --force-resolved-versions resolve",
|
|
90
|
+
"scripts/patch-deps.sh"
|
|
91
|
+
],
|
|
92
|
+
"linking": "Apple linker omits STABS/DWARF at link time before its default content-derived UUID and ad-hoc signature; no post-link byte rewriting.",
|
|
93
|
+
"dependencyPatches": [
|
|
94
|
+
"Pinned upstream patch-deps.sh retains PhoneNumberKit command-line/symlink bundle lookup and SQLite resource preparation.",
|
|
95
|
+
"Third reviewed patch keeps the generated Bundle.module fallback only in DEBUG; release builds require the adjacent shipped bundle and otherwise fail explicitly."
|
|
63
96
|
]
|
|
64
|
-
}
|
|
97
|
+
},
|
|
98
|
+
"executableBytes": 4525960,
|
|
99
|
+
"compression": "gzip",
|
|
100
|
+
"validation": {
|
|
101
|
+
"targetedSwiftTests": 35,
|
|
102
|
+
"signedBytesIdentical": true,
|
|
103
|
+
"strictAdHocSignatureVerification": true,
|
|
104
|
+
"userAndWorkspacePathsAbsent": true,
|
|
105
|
+
"installedLayoutVersion": "0.14.1",
|
|
106
|
+
"installedReleasePhoneNumberKitResourceParse": true,
|
|
107
|
+
"liveAccountOrSendQualification": false,
|
|
108
|
+
"releaseBuilds": 2,
|
|
109
|
+
"cleanRebuilds": 1
|
|
110
|
+
},
|
|
111
|
+
"compressedSha256": "12861bdb93779405f7cc4cb4a47fc1d6ea3bf2fc8cec5ed69f2197ce96804532",
|
|
112
|
+
"compressedBytes": 1490956
|
|
65
113
|
},
|
|
66
114
|
"reviewBoundary": {
|
|
67
115
|
"liveSendPerformed": false,
|
|
@@ -75,6 +123,32 @@
|
|
|
75
123
|
"service": "iMessage",
|
|
76
124
|
"transport": "applescript",
|
|
77
125
|
"smsFallback": false,
|
|
78
|
-
"exactRouteLookup": "chats.get(chat_id) returns one exact current chat projection and rejects an unknown row"
|
|
126
|
+
"exactRouteLookup": "chats.get(chat_id) returns one exact current chat projection and rejects an unknown row",
|
|
127
|
+
"noFetchNativeCards": "Owner automation requests send.rich fetch_metadata=false; helper metadata/image loading is bypassed while native rich-card dispatch remains. Messages/recipient network behavior is outside this helper claim.",
|
|
128
|
+
"nativeRichBridge": "Requires an already-working compatible injected bridge; upstream setup requires disabled SIP. Installation and tests change no security setting or Messages process."
|
|
129
|
+
},
|
|
130
|
+
"bundledResources": {
|
|
131
|
+
"repository": "https://github.com/marmelroy/PhoneNumberKit",
|
|
132
|
+
"version": "5.0.6",
|
|
133
|
+
"commit": "e18a029dbada1d8eb32e3f81a4eb72eba539ff75",
|
|
134
|
+
"files": [
|
|
135
|
+
{
|
|
136
|
+
"source": "Sources/PhoneNumberKit/Resources/PhoneNumberMetadata.json",
|
|
137
|
+
"installed": "PhoneNumberKit_PhoneNumberKit.bundle/Contents/Resources/PhoneNumberMetadata.json",
|
|
138
|
+
"sha256": "cbfe80ee5ee9901f46893a4d2c353d5eb513a21e62529ee5dfaa4e94b4460d83"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"source": "Sources/PhoneNumberKit/PrivacyInfo.xcprivacy",
|
|
142
|
+
"installed": "PhoneNumberKit_PhoneNumberKit.bundle/Contents/Resources/PrivacyInfo.xcprivacy",
|
|
143
|
+
"sha256": "561040f7a52952f75d02d4b6758382ff48c563d6f25c84a09f1a655f6dc60ff8"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"source": "Ghostget-generated macOS resource bundle metadata",
|
|
147
|
+
"installed": "PhoneNumberKit_PhoneNumberKit.bundle/Contents/Info.plist",
|
|
148
|
+
"sha256": "161f6c4a3ceaee9ab2ce30e33c80e605a11e196c53e9791f87341e01bf80d7e9"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"notices": "src/assets/messaging-runtime/NOTICE.txt",
|
|
152
|
+
"installActivatesProvider": false
|
|
79
153
|
}
|
|
80
154
|
}
|
|
@@ -189,7 +189,7 @@ function linkedinArticleDraftV2Dispatches(
|
|
|
189
189
|
|
|
190
190
|
const currentOperations = webSessionContractOperations(
|
|
191
191
|
Object.values(linkedinContracts),
|
|
192
|
-
"
|
|
192
|
+
"e7b252e0332557f3e8cc764800ada4972ca093d9974e2b876a904588523f441c",
|
|
193
193
|
{
|
|
194
194
|
"posts.publish": [2],
|
|
195
195
|
},
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { automationOperationDefinitions } from "../../messaging-automation-descriptors";
|
|
1
2
|
import {
|
|
2
3
|
defineProviderPlugin,
|
|
3
4
|
lazyWebSessionRuntime,
|
|
@@ -26,6 +27,10 @@ export const whatsappLinkedDevicePlugin = defineProviderPlugin({
|
|
|
26
27
|
displayName: "WhatsApp Linked Device",
|
|
27
28
|
sourceKind: "built-in",
|
|
28
29
|
implementationSources: webImplementationSources(import.meta.url, [
|
|
30
|
+
["native/wacli-darwin-arm64.gz", "../../assets/messaging-runtime/wacli-darwin-arm64.gz"],
|
|
31
|
+
["native/NOTICE.txt", "../../assets/messaging-runtime/NOTICE.txt"],
|
|
32
|
+
["vendor/private-messaging.patch", "./vendor/0001-ghostget-private-messaging.patch"],
|
|
33
|
+
["vendor/provenance.json", "./vendor/provenance.json"],
|
|
29
34
|
["kernel/auth.ts", "../../auth.ts"],
|
|
30
35
|
["kernel/state-helper.bunfig.toml", "../../state-helper.bunfig.toml"],
|
|
31
36
|
["kernel/storage.ts", "../../storage.ts"],
|
|
@@ -48,7 +53,7 @@ export const whatsappLinkedDevicePlugin = defineProviderPlugin({
|
|
|
48
53
|
origin: "https://web.whatsapp.com",
|
|
49
54
|
protectedHostnameFamilies: ["whatsapp.com"],
|
|
50
55
|
authKinds: linkedDeviceAuthKinds,
|
|
51
|
-
operations: webSessionContractOperations(
|
|
56
|
+
operations: [...webSessionContractOperations(
|
|
52
57
|
Object.values(whatsappContracts),
|
|
53
58
|
"a5c32c0b7c210fd98aee086455b2fde1151c7cf1806fd2e0f6c3e269d10ac13f",
|
|
54
59
|
{ "contacts.list": [1] },
|
|
@@ -68,7 +73,7 @@ export const whatsappLinkedDevicePlugin = defineProviderPlugin({
|
|
|
68
73
|
materialize: materializeWhatsAppMessagingRead,
|
|
69
74
|
},
|
|
70
75
|
},
|
|
71
|
-
),
|
|
76
|
+
), ...automationOperationDefinitions("whatsapp")],
|
|
72
77
|
subject: {
|
|
73
78
|
format: "whatsapp:pn:<phone> or whatsapp:lid:<linked-id>",
|
|
74
79
|
matches: (value) => /^whatsapp:(?:pn:[0-9]{5,20}|lid:[0-9]{5,32})$/u.test(value),
|