@elizaos/plugin-imessage 2.0.0-alpha.9 → 2.0.3-beta.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.
Files changed (44) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +179 -0
  3. package/auto-enable.ts +21 -0
  4. package/package.json +38 -12
  5. package/dist/accounts.d.ts +0 -135
  6. package/dist/accounts.d.ts.map +0 -1
  7. package/dist/accounts.js +0 -209
  8. package/dist/accounts.js.map +0 -1
  9. package/dist/actions/index.d.ts +0 -5
  10. package/dist/actions/index.d.ts.map +0 -1
  11. package/dist/actions/index.js +0 -5
  12. package/dist/actions/index.js.map +0 -1
  13. package/dist/actions/sendMessage.d.ts +0 -6
  14. package/dist/actions/sendMessage.d.ts.map +0 -1
  15. package/dist/actions/sendMessage.js +0 -178
  16. package/dist/actions/sendMessage.js.map +0 -1
  17. package/dist/config.d.ts +0 -60
  18. package/dist/config.d.ts.map +0 -1
  19. package/dist/config.js +0 -8
  20. package/dist/config.js.map +0 -1
  21. package/dist/index.d.ts +0 -23
  22. package/dist/index.d.ts.map +0 -1
  23. package/dist/index.js +0 -46
  24. package/dist/index.js.map +0 -1
  25. package/dist/providers/chatContext.d.ts +0 -6
  26. package/dist/providers/chatContext.d.ts.map +0 -1
  27. package/dist/providers/chatContext.js +0 -60
  28. package/dist/providers/chatContext.js.map +0 -1
  29. package/dist/providers/index.d.ts +0 -5
  30. package/dist/providers/index.d.ts.map +0 -1
  31. package/dist/providers/index.js +0 -5
  32. package/dist/providers/index.js.map +0 -1
  33. package/dist/rpc.d.ts +0 -194
  34. package/dist/rpc.d.ts.map +0 -1
  35. package/dist/rpc.js +0 -301
  36. package/dist/rpc.js.map +0 -1
  37. package/dist/service.d.ts +0 -71
  38. package/dist/service.d.ts.map +0 -1
  39. package/dist/service.js +0 -433
  40. package/dist/service.js.map +0 -1
  41. package/dist/types.d.ts +0 -163
  42. package/dist/types.d.ts.map +0 -1
  43. package/dist/types.js +0 -136
  44. package/dist/types.js.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shaw Walters and elizaOS 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.
package/README.md ADDED
@@ -0,0 +1,179 @@
1
+ # @elizaos/plugin-imessage
2
+
3
+ iMessage plugin for elizaOS agents. Enables chat integration with Apple's iMessage on macOS.
4
+
5
+ **Note: This plugin only works on macOS systems.**
6
+
7
+ ## Features
8
+
9
+ - **Send Messages**: Send text messages via iMessage
10
+ - **Direct & Group Chats**: Support for direct messages and group conversations
11
+ - **Attachments**: Send media attachments (via CLI tool)
12
+ - **Message Polling**: Receive incoming messages via polling
13
+ - **Policy Controls**: Configure DM and group policies
14
+
15
+ ## Requirements
16
+
17
+ - **macOS**: This plugin only works on macOS
18
+ - **Messages App Access**: Full Disk Access permission may be required
19
+ - **Optional CLI Tool**: For enhanced functionality, use an iMessage CLI tool
20
+
21
+ ## Installation
22
+
23
+ ```bash
24
+ # npm
25
+ npm install @elizaos/plugin-imessage
26
+
27
+ # bun
28
+ bun add @elizaos/plugin-imessage
29
+ ```
30
+
31
+ ## Configuration
32
+
33
+ ### Environment Variables
34
+
35
+ | Variable | Description | Required |
36
+ |----------|-------------|----------|
37
+ | `IMESSAGE_CLI_PATH` | Path to iMessage CLI tool | No |
38
+ | `IMESSAGE_DB_PATH` | Path to iMessage database | No |
39
+ | `IMESSAGE_POLL_INTERVAL_MS` | Polling interval in ms | No |
40
+ | `IMESSAGE_DM_POLICY` | DM policy: open, pairing, allowlist, disabled | No |
41
+ | `IMESSAGE_GROUP_POLICY` | Group policy: open, allowlist, disabled | No |
42
+ | `IMESSAGE_ALLOW_FROM` | Comma-separated handles for allowlist | No |
43
+ | `IMESSAGE_ENABLED` | Enable/disable the plugin | No |
44
+ | `IMESSAGE_BACKFILL` | Rows before current DB tip to replay on startup | No |
45
+
46
+ ### Agent Configuration
47
+
48
+ ```json
49
+ {
50
+ "plugins": ["@elizaos/plugin-imessage"],
51
+ "pluginParameters": {
52
+ "IMESSAGE_DM_POLICY": "pairing",
53
+ "IMESSAGE_GROUP_POLICY": "allowlist",
54
+ "IMESSAGE_POLL_INTERVAL_MS": "5000"
55
+ }
56
+ }
57
+ ```
58
+
59
+ ## Setup
60
+
61
+ ### Permissions
62
+
63
+ 1. Open System Settings > Privacy & Security > Full Disk Access
64
+ 2. Grant Full Disk Access to:
65
+ - Your terminal app (or the Eliza process)
66
+ 3. Allow Messages app to be controlled via AppleScript (Automation permission)
67
+
68
+ ### CLI Tool (Optional)
69
+
70
+ For enhanced functionality, you can use an iMessage CLI tool (e.g. `imsg`). Set the path once installed:
71
+
72
+ ```bash
73
+ IMESSAGE_CLI_PATH=/usr/local/bin/imsg
74
+ ```
75
+
76
+ ## Usage
77
+
78
+ ### Actions
79
+
80
+ iMessage sending is exposed through the canonical message connector action. Use
81
+ `source: "imessage"` when a request needs to target iMessage explicitly.
82
+
83
+ | Primary action | Operation | Description |
84
+ |----------------|-----------|-------------|
85
+ | `MESSAGE` | `send` | Send a text message to a phone number, email, contact, or chat |
86
+
87
+ ### Providers
88
+
89
+ iMessage does not register standalone planner providers. Chat and contact
90
+ context is exposed through the iMessage message connector hooks.
91
+
92
+ ## How It Works
93
+
94
+ The plugin uses two methods to interact with iMessage:
95
+
96
+ 1. **AppleScript** (default): Uses macOS's built-in scripting support to send messages through the Messages app
97
+ 2. **CLI Tool** (optional): Uses a command-line tool for more features
98
+
99
+ ### AppleScript Method
100
+
101
+ ```applescript
102
+ tell application "Messages"
103
+ set targetService to 1st account whose service type = iMessage
104
+ set targetBuddy to participant "+1234567890" of targetService
105
+ send "Hello!" to targetBuddy
106
+ end tell
107
+ ```
108
+
109
+ ## Message Targets
110
+
111
+ iMessage supports multiple target types:
112
+
113
+ - **Phone Numbers**: `+1234567890`, `1234567890`
114
+ - **Email Addresses**: `user@example.com`
115
+ - **Chat IDs**: `chat_id:UUID` (for existing chats)
116
+
117
+ ## Policies
118
+
119
+ ### DM Policies
120
+
121
+ | Policy | Description |
122
+ |--------|-------------|
123
+ | `open` | Accept DMs from anyone |
124
+ | `pairing` | Accept DMs and remember senders |
125
+ | `allowlist` | Only accept from IMESSAGE_ALLOW_FROM list |
126
+ | `disabled` | Don't accept any DMs |
127
+
128
+ ### Group Policies
129
+
130
+ | Policy | Description |
131
+ |--------|-------------|
132
+ | `open` | Respond to anyone in groups |
133
+ | `allowlist` | Only respond to allowed users |
134
+ | `disabled` | Don't respond in groups |
135
+
136
+ ## Limitations
137
+
138
+ - **macOS Only**: iMessage doesn't have an official API and only works on macOS
139
+ - **No Official API**: Sending still relies on AppleScript or CLI tools
140
+ - **Permissions**: Message history requires Full Disk Access, sending through
141
+ Messages requires Automation, and contact resolution/editing requires
142
+ Contacts access
143
+ - **Rate Limits**: Apple may throttle excessive automation
144
+
145
+ ## Development
146
+
147
+ ### Building
148
+
149
+ ```bash
150
+ bun run --cwd plugins/plugin-imessage build
151
+ ```
152
+
153
+ ### Testing
154
+
155
+ Testing requires a macOS environment with Messages app configured:
156
+
157
+ ```bash
158
+ bun run --cwd plugins/plugin-imessage test
159
+ ```
160
+
161
+ ## Troubleshooting
162
+
163
+ ### "Cannot access Messages app"
164
+
165
+ 1. Ensure Full Disk Access is granted
166
+ 2. Ensure Automation permissions are granted if sending through Messages fails
167
+ 3. Try opening Messages app manually first
168
+
169
+ ### "Service not available"
170
+
171
+ 1. Check that you're running on macOS
172
+ 2. Verify the Messages app is installed and configured
173
+
174
+ ### Messages not sending
175
+
176
+ 1. Check that iMessage is signed in and working
177
+ 2. Verify the recipient has iMessage enabled
178
+ 3. Check for rate limiting (try again later)
179
+
package/auto-enable.ts ADDED
@@ -0,0 +1,21 @@
1
+ // Auto-enable check for @elizaos/plugin-imessage.
2
+ //
3
+ // Plugin manifest entry-point — referenced by package.json's
4
+ // `elizaos.plugin.autoEnableModule`. Keep this module light: env reads only,
5
+ // no service init, no transitive imports of the full plugin runtime. The
6
+ // auto-enable engine loads dozens of these per boot.
7
+ import type { PluginAutoEnableContext } from "@elizaos/core";
8
+
9
+ /** Enable when an `imessage` connector block is present and not explicitly disabled. */
10
+ export function shouldEnable(ctx: PluginAutoEnableContext): boolean {
11
+ const c = (ctx.config.connectors as Record<string, unknown> | undefined)
12
+ ?.imessage;
13
+ if (!c || typeof c !== "object") return false;
14
+ const config = c as Record<string, unknown>;
15
+ if (config.enabled === false) return false;
16
+ // The full per-connector field check (chat.db / Messages.app integration)
17
+ // lives in the central engine's isConnectorConfigured. We delegate to a
18
+ // simple "block present + not explicitly disabled" check here; the central
19
+ // engine's stricter check remains as a fallback during migration.
20
+ return true;
21
+ }
package/package.json CHANGED
@@ -1,40 +1,65 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-imessage",
3
- "version": "2.0.0-alpha.9",
3
+ "version": "2.0.3-beta.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
8
8
  ".": {
9
9
  "types": "./dist/index.d.ts",
10
+ "eliza-source": {
11
+ "types": "./src/index.ts",
12
+ "import": "./src/index.ts",
13
+ "default": "./src/index.ts"
14
+ },
10
15
  "import": "./dist/index.js",
11
16
  "default": "./dist/index.js"
17
+ },
18
+ "./*.css": "./dist/*.css",
19
+ "./*": {
20
+ "types": "./dist/*.d.ts",
21
+ "eliza-source": {
22
+ "types": "./src/*.ts",
23
+ "import": "./src/*.ts",
24
+ "default": "./src/*.ts"
25
+ },
26
+ "import": "./dist/*.js",
27
+ "default": "./dist/*.js"
12
28
  }
13
29
  },
14
30
  "files": [
15
- "dist"
31
+ "dist",
32
+ "auto-enable.ts"
16
33
  ],
34
+ "elizaos": {
35
+ "plugin": {
36
+ "autoEnableModule": "./auto-enable.ts",
37
+ "capabilities": [
38
+ "messaging"
39
+ ]
40
+ }
41
+ },
17
42
  "scripts": {
18
43
  "build": "bun run build.ts",
19
- "test": "vitest run --config vitest.config.ts --passWithNoTests",
44
+ "test": "vitest run --config vitest.config.ts",
20
45
  "test:watch": "vitest --config vitest.config.ts",
21
46
  "lint": "bunx @biomejs/biome check --write --unsafe .",
22
47
  "lint:check": "bunx @biomejs/biome check .",
23
48
  "format": "bunx @biomejs/biome format --write .",
24
49
  "format:check": "bunx @biomejs/biome format .",
25
- "typecheck": "tsc --noEmit"
50
+ "typecheck": "tsgo --noEmit"
26
51
  },
27
52
  "dependencies": {
28
- "@elizaos/core": "2.0.0-alpha.3",
29
- "zod": "^4.3.6"
53
+ "@elizaos/core": "2.0.3-beta.2",
54
+ "zod": "^4.4.3"
30
55
  },
31
56
  "devDependencies": {
32
- "@types/node": "^20.0.0",
33
- "typescript": "^5.6.0",
34
- "vitest": "^2.0.0",
35
- "@biomejs/biome": "^2.3.11"
57
+ "@biomejs/biome": "^2.4.14",
58
+ "@types/node": "^22.19.17",
59
+ "typescript": "^6.0.3",
60
+ "vitest": "^4.0.0"
36
61
  },
37
- "milady": {
62
+ "eliza": {
38
63
  "platforms": [
39
64
  "node"
40
65
  ],
@@ -91,5 +116,6 @@
91
116
  "sensitive": false
92
117
  }
93
118
  }
94
- }
119
+ },
120
+ "gitHead": "82fe0f44215954c2417328203f5bd6510985c1fc"
95
121
  }
@@ -1,135 +0,0 @@
1
- import type { IAgentRuntime } from "@elizaos/core";
2
- /**
3
- * Default account identifier used when no specific account is configured
4
- */
5
- export declare const DEFAULT_ACCOUNT_ID = "default";
6
- /**
7
- * Group-specific configuration
8
- */
9
- export interface IMessageGroupConfig {
10
- /** If false, ignore messages from this group */
11
- enabled?: boolean;
12
- /** Allowlist for users in this group */
13
- allowFrom?: Array<string | number>;
14
- /** Require bot mention to respond */
15
- requireMention?: boolean;
16
- /** Custom system prompt for this group */
17
- systemPrompt?: string;
18
- /** Skills enabled for this group */
19
- skills?: string[];
20
- }
21
- /**
22
- * Configuration for a single iMessage account
23
- */
24
- export interface IMessageAccountConfig {
25
- /** Optional display name for this account */
26
- name?: string;
27
- /** If false, do not start this iMessage account */
28
- enabled?: boolean;
29
- /** Path to the iMessage CLI tool */
30
- cliPath?: string;
31
- /** Path to the iMessage database */
32
- dbPath?: string;
33
- /** iMessage service type (iMessage or SMS) */
34
- service?: "iMessage" | "SMS";
35
- /** Phone number region code */
36
- region?: string;
37
- /** Allowlist for DM senders */
38
- allowFrom?: Array<string | number>;
39
- /** Allowlist for groups */
40
- groupAllowFrom?: Array<string | number>;
41
- /** DM access policy */
42
- dmPolicy?: "open" | "allowlist" | "pairing" | "disabled";
43
- /** Group message access policy */
44
- groupPolicy?: "open" | "allowlist" | "disabled";
45
- /** Whether to include attachments */
46
- includeAttachments?: boolean;
47
- /** Max media size in MB */
48
- mediaMaxMb?: number;
49
- /** Text chunk limit for messages */
50
- textChunkLimit?: number;
51
- /** Group-specific configurations */
52
- groups?: Record<string, IMessageGroupConfig>;
53
- }
54
- /**
55
- * Multi-account iMessage configuration structure
56
- */
57
- export interface IMessageMultiAccountConfig {
58
- /** Default/base configuration applied to all accounts */
59
- enabled?: boolean;
60
- cliPath?: string;
61
- dbPath?: string;
62
- service?: "iMessage" | "SMS";
63
- region?: string;
64
- dmPolicy?: "open" | "allowlist" | "pairing" | "disabled";
65
- groupPolicy?: "open" | "allowlist" | "disabled";
66
- includeAttachments?: boolean;
67
- mediaMaxMb?: number;
68
- textChunkLimit?: number;
69
- /** Per-account configuration overrides */
70
- accounts?: Record<string, IMessageAccountConfig>;
71
- /** Group configurations at base level */
72
- groups?: Record<string, IMessageGroupConfig>;
73
- }
74
- /**
75
- * Resolved iMessage account with all configuration merged
76
- */
77
- export interface ResolvedIMessageAccount {
78
- accountId: string;
79
- enabled: boolean;
80
- name?: string;
81
- cliPath: string;
82
- dbPath?: string;
83
- configured: boolean;
84
- config: IMessageAccountConfig;
85
- }
86
- /**
87
- * Normalizes an account ID, returning the default if not provided
88
- */
89
- export declare function normalizeAccountId(accountId?: string | null): string;
90
- /**
91
- * Gets the multi-account configuration from runtime settings
92
- */
93
- export declare function getMultiAccountConfig(runtime: IAgentRuntime): IMessageMultiAccountConfig;
94
- /**
95
- * Lists all configured account IDs
96
- */
97
- export declare function listIMessageAccountIds(runtime: IAgentRuntime): string[];
98
- /**
99
- * Resolves the default account ID to use
100
- */
101
- export declare function resolveDefaultIMessageAccountId(runtime: IAgentRuntime): string;
102
- /**
103
- * Resolves a complete iMessage account configuration
104
- */
105
- export declare function resolveIMessageAccount(runtime: IAgentRuntime, accountId?: string | null): ResolvedIMessageAccount;
106
- /**
107
- * Lists all enabled iMessage accounts
108
- */
109
- export declare function listEnabledIMessageAccounts(runtime: IAgentRuntime): ResolvedIMessageAccount[];
110
- /**
111
- * Checks if multi-account mode is enabled
112
- */
113
- export declare function isMultiAccountEnabled(runtime: IAgentRuntime): boolean;
114
- /**
115
- * Resolves group configuration for a specific group
116
- */
117
- export declare function resolveIMessageGroupConfig(runtime: IAgentRuntime, accountId: string, groupId: string): IMessageGroupConfig | undefined;
118
- /**
119
- * Checks if a user is allowed based on policy and allowlist
120
- */
121
- export declare function isIMessageUserAllowed(params: {
122
- identifier: string;
123
- accountConfig: IMessageAccountConfig;
124
- isGroup: boolean;
125
- groupId?: string;
126
- groupConfig?: IMessageGroupConfig;
127
- }): boolean;
128
- /**
129
- * Checks if mention is required in a group
130
- */
131
- export declare function isIMessageMentionRequired(params: {
132
- accountConfig: IMessageAccountConfig;
133
- groupConfig?: IMessageGroupConfig;
134
- }): boolean;
135
- //# sourceMappingURL=accounts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../src/accounts.ts"],"names":[],"mappings":"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"}
package/dist/accounts.js DELETED
@@ -1,209 +0,0 @@
1
- /**
2
- * Default account identifier used when no specific account is configured
3
- */
4
- export const DEFAULT_ACCOUNT_ID = "default";
5
- /**
6
- * Normalizes an account ID, returning the default if not provided
7
- */
8
- export function normalizeAccountId(accountId) {
9
- if (!accountId || typeof accountId !== "string") {
10
- return DEFAULT_ACCOUNT_ID;
11
- }
12
- const trimmed = accountId.trim().toLowerCase();
13
- if (!trimmed || trimmed === "default") {
14
- return DEFAULT_ACCOUNT_ID;
15
- }
16
- return trimmed;
17
- }
18
- /**
19
- * Gets the multi-account configuration from runtime settings
20
- */
21
- export function getMultiAccountConfig(runtime) {
22
- const characterIMessage = runtime.character?.settings?.imessage;
23
- return {
24
- enabled: characterIMessage?.enabled,
25
- cliPath: characterIMessage?.cliPath,
26
- dbPath: characterIMessage?.dbPath,
27
- service: characterIMessage?.service,
28
- region: characterIMessage?.region,
29
- dmPolicy: characterIMessage?.dmPolicy,
30
- groupPolicy: characterIMessage?.groupPolicy,
31
- includeAttachments: characterIMessage?.includeAttachments,
32
- mediaMaxMb: characterIMessage?.mediaMaxMb,
33
- textChunkLimit: characterIMessage?.textChunkLimit,
34
- accounts: characterIMessage?.accounts,
35
- groups: characterIMessage?.groups,
36
- };
37
- }
38
- /**
39
- * Lists all configured account IDs
40
- */
41
- export function listIMessageAccountIds(runtime) {
42
- const config = getMultiAccountConfig(runtime);
43
- const accounts = config.accounts;
44
- if (!accounts || typeof accounts !== "object") {
45
- return [DEFAULT_ACCOUNT_ID];
46
- }
47
- const ids = Object.keys(accounts).filter(Boolean);
48
- if (ids.length === 0) {
49
- return [DEFAULT_ACCOUNT_ID];
50
- }
51
- return ids.slice().sort((a, b) => a.localeCompare(b));
52
- }
53
- /**
54
- * Resolves the default account ID to use
55
- */
56
- export function resolveDefaultIMessageAccountId(runtime) {
57
- const ids = listIMessageAccountIds(runtime);
58
- if (ids.includes(DEFAULT_ACCOUNT_ID)) {
59
- return DEFAULT_ACCOUNT_ID;
60
- }
61
- return ids[0] ?? DEFAULT_ACCOUNT_ID;
62
- }
63
- /**
64
- * Gets the account-specific configuration
65
- */
66
- function getAccountConfig(runtime, accountId) {
67
- const config = getMultiAccountConfig(runtime);
68
- const accounts = config.accounts;
69
- if (!accounts || typeof accounts !== "object") {
70
- return undefined;
71
- }
72
- return accounts[accountId];
73
- }
74
- /**
75
- * Merges base configuration with account-specific overrides
76
- */
77
- function mergeIMessageAccountConfig(runtime, accountId) {
78
- const multiConfig = getMultiAccountConfig(runtime);
79
- const { accounts: _ignored, ...baseConfig } = multiConfig;
80
- const accountConfig = getAccountConfig(runtime, accountId) ?? {};
81
- // Get environment/runtime settings for the base config
82
- const envCliPath = runtime.getSetting("IMESSAGE_CLI_PATH");
83
- const envDbPath = runtime.getSetting("IMESSAGE_DB_PATH");
84
- const envDmPolicy = runtime.getSetting("IMESSAGE_DM_POLICY");
85
- const envGroupPolicy = runtime.getSetting("IMESSAGE_GROUP_POLICY");
86
- const envConfig = {
87
- cliPath: envCliPath || undefined,
88
- dbPath: envDbPath || undefined,
89
- dmPolicy: envDmPolicy,
90
- groupPolicy: envGroupPolicy,
91
- };
92
- // Merge order: env defaults < base config < account config
93
- return {
94
- ...envConfig,
95
- ...baseConfig,
96
- ...accountConfig,
97
- };
98
- }
99
- /**
100
- * Resolves a complete iMessage account configuration
101
- */
102
- export function resolveIMessageAccount(runtime, accountId) {
103
- const normalizedAccountId = normalizeAccountId(accountId);
104
- const multiConfig = getMultiAccountConfig(runtime);
105
- const baseEnabled = multiConfig.enabled !== false;
106
- const merged = mergeIMessageAccountConfig(runtime, normalizedAccountId);
107
- const accountEnabled = merged.enabled !== false;
108
- const enabled = baseEnabled && accountEnabled;
109
- const cliPath = merged.cliPath?.trim() || "imsg";
110
- // Determine if this account is actually configured
111
- const configured = Boolean(merged.cliPath?.trim() ||
112
- merged.dbPath?.trim() ||
113
- merged.service ||
114
- merged.region?.trim() ||
115
- (merged.allowFrom && merged.allowFrom.length > 0) ||
116
- (merged.groupAllowFrom && merged.groupAllowFrom.length > 0) ||
117
- merged.dmPolicy ||
118
- merged.groupPolicy ||
119
- typeof merged.includeAttachments === "boolean" ||
120
- typeof merged.mediaMaxMb === "number" ||
121
- typeof merged.textChunkLimit === "number" ||
122
- (merged.groups && Object.keys(merged.groups).length > 0));
123
- return {
124
- accountId: normalizedAccountId,
125
- enabled,
126
- name: merged.name?.trim() || undefined,
127
- cliPath,
128
- dbPath: merged.dbPath?.trim() || undefined,
129
- configured,
130
- config: merged,
131
- };
132
- }
133
- /**
134
- * Lists all enabled iMessage accounts
135
- */
136
- export function listEnabledIMessageAccounts(runtime) {
137
- return listIMessageAccountIds(runtime)
138
- .map((accountId) => resolveIMessageAccount(runtime, accountId))
139
- .filter((account) => account.enabled);
140
- }
141
- /**
142
- * Checks if multi-account mode is enabled
143
- */
144
- export function isMultiAccountEnabled(runtime) {
145
- const accounts = listEnabledIMessageAccounts(runtime);
146
- return accounts.length > 1;
147
- }
148
- /**
149
- * Resolves group configuration for a specific group
150
- */
151
- export function resolveIMessageGroupConfig(runtime, accountId, groupId) {
152
- const multiConfig = getMultiAccountConfig(runtime);
153
- const accountConfig = getAccountConfig(runtime, accountId);
154
- // Check account-level groups first
155
- const accountGroup = accountConfig?.groups?.[groupId];
156
- if (accountGroup) {
157
- return accountGroup;
158
- }
159
- // Fall back to base-level groups
160
- return multiConfig.groups?.[groupId];
161
- }
162
- /**
163
- * Checks if a user is allowed based on policy and allowlist
164
- */
165
- export function isIMessageUserAllowed(params) {
166
- const { identifier, accountConfig, isGroup, groupConfig } = params;
167
- if (isGroup) {
168
- const policy = accountConfig.groupPolicy ?? "allowlist";
169
- if (policy === "disabled") {
170
- return false;
171
- }
172
- if (policy === "open") {
173
- return true;
174
- }
175
- // Check group-specific allowlist first
176
- if (groupConfig?.allowFrom?.length) {
177
- return groupConfig.allowFrom.some((allowed) => String(allowed) === identifier);
178
- }
179
- // Check account-level group allowlist
180
- if (accountConfig.groupAllowFrom?.length) {
181
- return accountConfig.groupAllowFrom.some((allowed) => String(allowed) === identifier);
182
- }
183
- return policy !== "allowlist";
184
- }
185
- // DM handling
186
- const policy = accountConfig.dmPolicy ?? "pairing";
187
- if (policy === "disabled") {
188
- return false;
189
- }
190
- if (policy === "open") {
191
- return true;
192
- }
193
- if (policy === "pairing") {
194
- return true;
195
- }
196
- // Allowlist policy
197
- if (accountConfig.allowFrom?.length) {
198
- return accountConfig.allowFrom.some((allowed) => String(allowed) === identifier);
199
- }
200
- return false;
201
- }
202
- /**
203
- * Checks if mention is required in a group
204
- */
205
- export function isIMessageMentionRequired(params) {
206
- const { groupConfig } = params;
207
- return groupConfig?.requireMention ?? false;
208
- }
209
- //# sourceMappingURL=accounts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../src/accounts.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * iMessage plugin actions.
3
- */
4
- export { sendMessage } from "./sendMessage.js";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}