@elizaos/plugin-imessage 2.0.0-alpha.9 → 2.0.0-beta.1

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 (59) hide show
  1. package/README.md +184 -0
  2. package/auto-enable.ts +21 -0
  3. package/dist/api/bluebubbles-routes.d.ts +10 -0
  4. package/dist/api/bluebubbles-routes.d.ts.map +1 -0
  5. package/dist/api/bluebubbles-routes.js +132 -0
  6. package/dist/api/bluebubbles-routes.js.map +1 -0
  7. package/dist/api/imessage-routes.d.ts +80 -0
  8. package/dist/api/imessage-routes.d.ts.map +1 -0
  9. package/dist/api/imessage-routes.js +230 -0
  10. package/dist/api/imessage-routes.js.map +1 -0
  11. package/dist/chatdb-reader.d.ts +240 -0
  12. package/dist/chatdb-reader.d.ts.map +1 -0
  13. package/dist/chatdb-reader.js +647 -0
  14. package/dist/chatdb-reader.js.map +1 -0
  15. package/dist/connector-account-provider.d.ts +18 -0
  16. package/dist/connector-account-provider.d.ts.map +1 -0
  17. package/dist/connector-account-provider.js +83 -0
  18. package/dist/connector-account-provider.js.map +1 -0
  19. package/dist/contacts-reader.d.ts +147 -0
  20. package/dist/contacts-reader.d.ts.map +1 -0
  21. package/dist/contacts-reader.js +481 -0
  22. package/dist/contacts-reader.js.map +1 -0
  23. package/dist/index.d.ts +11 -11
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +48 -16
  26. package/dist/index.js.map +1 -1
  27. package/dist/providers/index.d.ts +1 -2
  28. package/dist/providers/index.d.ts.map +1 -1
  29. package/dist/providers/index.js +2 -2
  30. package/dist/providers/index.js.map +1 -1
  31. package/dist/rpc.d.ts +16 -4
  32. package/dist/rpc.d.ts.map +1 -1
  33. package/dist/rpc.js +103 -11
  34. package/dist/rpc.js.map +1 -1
  35. package/dist/service.d.ts +203 -8
  36. package/dist/service.d.ts.map +1 -1
  37. package/dist/service.js +1368 -107
  38. package/dist/service.js.map +1 -1
  39. package/dist/setup-routes.d.ts +38 -0
  40. package/dist/setup-routes.d.ts.map +1 -0
  41. package/dist/setup-routes.js +322 -0
  42. package/dist/setup-routes.js.map +1 -0
  43. package/dist/types.d.ts +29 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js +2 -0
  46. package/dist/types.js.map +1 -1
  47. package/package.json +19 -10
  48. package/dist/actions/index.d.ts +0 -5
  49. package/dist/actions/index.d.ts.map +0 -1
  50. package/dist/actions/index.js +0 -5
  51. package/dist/actions/index.js.map +0 -1
  52. package/dist/actions/sendMessage.d.ts +0 -6
  53. package/dist/actions/sendMessage.d.ts.map +0 -1
  54. package/dist/actions/sendMessage.js +0 -178
  55. package/dist/actions/sendMessage.js.map +0 -1
  56. package/dist/providers/chatContext.d.ts +0 -6
  57. package/dist/providers/chatContext.d.ts.map +0 -1
  58. package/dist/providers/chatContext.js +0 -60
  59. package/dist/providers/chatContext.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-imessage",
3
- "version": "2.0.0-alpha.9",
3
+ "version": "2.0.0-beta.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,11 +12,20 @@
12
12
  }
13
13
  },
14
14
  "files": [
15
- "dist"
15
+ "dist",
16
+ "auto-enable.ts"
16
17
  ],
18
+ "elizaos": {
19
+ "plugin": {
20
+ "autoEnableModule": "./auto-enable.ts",
21
+ "capabilities": [
22
+ "messaging"
23
+ ]
24
+ }
25
+ },
17
26
  "scripts": {
18
27
  "build": "bun run build.ts",
19
- "test": "vitest run --config vitest.config.ts --passWithNoTests",
28
+ "test": "vitest run --config vitest.config.ts",
20
29
  "test:watch": "vitest --config vitest.config.ts",
21
30
  "lint": "bunx @biomejs/biome check --write --unsafe .",
22
31
  "lint:check": "bunx @biomejs/biome check .",
@@ -25,16 +34,16 @@
25
34
  "typecheck": "tsc --noEmit"
26
35
  },
27
36
  "dependencies": {
28
- "@elizaos/core": "2.0.0-alpha.3",
29
- "zod": "^4.3.6"
37
+ "@elizaos/core": "2.0.0-beta.1",
38
+ "zod": "^4.4.3"
30
39
  },
31
40
  "devDependencies": {
32
- "@types/node": "^20.0.0",
33
- "typescript": "^5.6.0",
34
- "vitest": "^2.0.0",
35
- "@biomejs/biome": "^2.3.11"
41
+ "@biomejs/biome": "^2.4.14",
42
+ "@types/node": "^22.19.17",
43
+ "typescript": "^6.0.3",
44
+ "vitest": "^4.0.0"
36
45
  },
37
- "milady": {
46
+ "eliza": {
38
47
  "platforms": [
39
48
  "node"
40
49
  ],
@@ -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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * iMessage plugin actions.
3
- */
4
- export { sendMessage } from "./sendMessage.js";
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Send message action for the iMessage plugin.
3
- */
4
- import type { Action } from "@elizaos/core";
5
- export declare const sendMessage: Action;
6
- //# sourceMappingURL=sendMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sendMessage.d.ts","sourceRoot":"","sources":["../../src/actions/sendMessage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AA8BvB,eAAO,MAAM,WAAW,EAAE,MAwLzB,CAAC"}
@@ -1,178 +0,0 @@
1
- /**
2
- * Send message action for the iMessage plugin.
3
- */
4
- import { composePromptFromState, logger, ModelType, parseJSONObjectFromText } from "@elizaos/core";
5
- import { IMESSAGE_SERVICE_NAME, isValidIMessageTarget, normalizeIMessageTarget } from "../types.js";
6
- const SEND_MESSAGE_TEMPLATE = `# Task: Extract iMessage parameters
7
-
8
- Based on the conversation, determine what message to send and to whom.
9
-
10
- Recent conversation:
11
- {{recentMessages}}
12
-
13
- Extract the following:
14
- 1. text: The message content to send
15
- 2. to: The recipient (phone number, email, or "current" to reply)
16
-
17
- Respond with a JSON object:
18
- \`\`\`json
19
- {
20
- "text": "message to send",
21
- "to": "phone/email or 'current'"
22
- }
23
- \`\`\`
24
- `;
25
- export const sendMessage = {
26
- name: "IMESSAGE_SEND_MESSAGE",
27
- similes: ["SEND_IMESSAGE", "IMESSAGE_TEXT", "TEXT_IMESSAGE", "SEND_IMSG"],
28
- description: "Send a text message via iMessage (macOS only)",
29
- validate: async (runtime, message, state) => {
30
- const source = String(message.content.source ?? "");
31
- if (source !== "imessage")
32
- return false;
33
- const text = typeof message.content.text === "string" ? message.content.text.trim() : "";
34
- const lower = text.toLowerCase();
35
- const keywords = ["send", "text", "message", "reply", "imessage"];
36
- const hasKeyword = keywords.some((kw) => lower.includes(kw)) || source === "imessage";
37
- const hasIntentPattern = /\b(send|text|message|reply|imessage)\b/i.test(text) || source === "imessage";
38
- const hasContext = source === "imessage" &&
39
- (Boolean(message.content.source) ||
40
- Boolean(state?.roomId || state?.conversationId || message.roomId) ||
41
- (typeof runtime?.getService === "function" &&
42
- Boolean(runtime.getService(IMESSAGE_SERVICE_NAME))));
43
- const hasStructuredInput = Boolean(message.content.actions?.includes("IMESSAGE_SEND_MESSAGE")) ||
44
- (typeof message.content === "object" &&
45
- typeof message.content.to === "string");
46
- const hasInput = text.length > 0 || hasStructuredInput || source === "imessage";
47
- return hasKeyword && hasIntentPattern && hasContext && hasInput;
48
- },
49
- handler: async (runtime, message, state, _options, callback) => {
50
- const imessageService = runtime.getService(IMESSAGE_SERVICE_NAME);
51
- if (!imessageService || !imessageService.isConnected()) {
52
- if (callback) {
53
- callback({
54
- text: "iMessage service is not available.",
55
- source: "imessage",
56
- });
57
- }
58
- return { success: false, error: "iMessage service not available" };
59
- }
60
- if (!imessageService.isMacOS()) {
61
- if (callback) {
62
- callback({
63
- text: "iMessage is only available on macOS.",
64
- source: "imessage",
65
- });
66
- }
67
- return { success: false, error: "iMessage requires macOS" };
68
- }
69
- // Compose state if not provided
70
- const currentState = state ?? (await runtime.composeState(message));
71
- // Extract parameters using LLM
72
- const prompt = await composePromptFromState({
73
- template: SEND_MESSAGE_TEMPLATE,
74
- state: currentState,
75
- });
76
- let msgInfo = null;
77
- for (let attempt = 0; attempt < 3; attempt++) {
78
- const response = await runtime.useModel(ModelType.TEXT_SMALL, {
79
- prompt,
80
- });
81
- const parsed = parseJSONObjectFromText(response);
82
- if (parsed?.text) {
83
- msgInfo = {
84
- text: String(parsed.text),
85
- to: String(parsed.to || "current"),
86
- };
87
- break;
88
- }
89
- }
90
- if (!msgInfo || !msgInfo.text) {
91
- if (callback) {
92
- callback({
93
- text: "I couldn't understand what message you want me to send. Please try again.",
94
- source: "imessage",
95
- });
96
- }
97
- return { success: false, error: "Could not extract message parameters" };
98
- }
99
- // Determine target
100
- let targetId;
101
- if (msgInfo.to && msgInfo.to !== "current") {
102
- const normalized = normalizeIMessageTarget(msgInfo.to);
103
- if (normalized && isValidIMessageTarget(normalized)) {
104
- targetId = normalized;
105
- }
106
- }
107
- // Fall back to current chat
108
- if (!targetId) {
109
- const stateData = (currentState.data || {});
110
- targetId = stateData.chatId || stateData.handle;
111
- }
112
- if (!targetId) {
113
- if (callback) {
114
- callback({
115
- text: "I couldn't determine who to send the message to. Please specify a phone number or email.",
116
- source: "imessage",
117
- });
118
- }
119
- return { success: false, error: "Could not determine recipient" };
120
- }
121
- // Send message
122
- const result = await imessageService.sendMessage(targetId, msgInfo.text);
123
- if (!result.success) {
124
- if (callback) {
125
- callback({
126
- text: `Failed to send message: ${result.error}`,
127
- source: "imessage",
128
- });
129
- }
130
- return { success: false, error: result.error };
131
- }
132
- logger.debug(`Sent iMessage to ${targetId}`);
133
- if (callback) {
134
- callback({
135
- text: "Message sent successfully.",
136
- source: message.content.source,
137
- });
138
- }
139
- return {
140
- success: true,
141
- data: {
142
- to: targetId,
143
- messageId: result.messageId,
144
- },
145
- };
146
- },
147
- examples: [
148
- [
149
- {
150
- name: "{{user1}}",
151
- content: { text: "Send them a message saying 'Hello!'" },
152
- },
153
- {
154
- name: "{{agent}}",
155
- content: {
156
- text: "I'll send that message via iMessage.",
157
- actions: ["IMESSAGE_SEND_MESSAGE"],
158
- },
159
- },
160
- ],
161
- [
162
- {
163
- name: "{{user1}}",
164
- content: {
165
- text: "Text +1234567890 saying 'I'll be there in 10 minutes'",
166
- },
167
- },
168
- {
169
- name: "{{agent}}",
170
- content: {
171
- text: "I'll send that text.",
172
- actions: ["IMESSAGE_SEND_MESSAGE"],
173
- },
174
- },
175
- ],
176
- ],
177
- };
178
- //# sourceMappingURL=sendMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sendMessage.js","sourceRoot":"","sources":["../../src/actions/sendMessage.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Chat context provider for the iMessage plugin.
3
- */
4
- import type { Provider } from "@elizaos/core";
5
- export declare const chatContextProvider: Provider;
6
- //# sourceMappingURL=chatContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chatContext.d.ts","sourceRoot":"","sources":["../../src/providers/chatContext.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAyB,QAAQ,EAAyB,MAAM,eAAe,CAAC;AAI5F,eAAO,MAAM,mBAAmB,EAAE,QA8DjC,CAAC"}
@@ -1,60 +0,0 @@
1
- /**
2
- * Chat context provider for the iMessage plugin.
3
- */
4
- import { IMESSAGE_SERVICE_NAME } from "../types.js";
5
- export const chatContextProvider = {
6
- name: "imessageChatContext",
7
- description: "Provides information about the current iMessage chat context",
8
- dynamic: true,
9
- get: async (runtime, message, state) => {
10
- // Only provide context for iMessage messages
11
- if (message.content.source !== "imessage") {
12
- return {
13
- data: {},
14
- values: {},
15
- text: "",
16
- };
17
- }
18
- const imessageService = runtime.getService(IMESSAGE_SERVICE_NAME);
19
- if (!imessageService || !imessageService.isConnected()) {
20
- return {
21
- data: { connected: false },
22
- values: { connected: false },
23
- text: "",
24
- };
25
- }
26
- const agentName = state?.agentName || "The agent";
27
- const stateData = (state?.data || {});
28
- const handle = stateData.handle;
29
- const chatId = stateData.chatId;
30
- const chatType = stateData.chatType;
31
- const displayName = stateData.displayName;
32
- let chatDescription = "";
33
- if (chatType === "group") {
34
- chatDescription = displayName ? `group chat "${displayName}"` : "a group chat";
35
- }
36
- else {
37
- chatDescription = handle ? `direct message with ${handle}` : "a direct message";
38
- }
39
- const responseText = `${agentName} is chatting via iMessage in ${chatDescription}. ` +
40
- "iMessage supports text messages and attachments.";
41
- return {
42
- data: {
43
- handle,
44
- chatId,
45
- chatType: chatType || "direct",
46
- displayName,
47
- connected: true,
48
- platform: "imessage",
49
- },
50
- values: {
51
- handle,
52
- chatId,
53
- chatType: chatType || "direct",
54
- displayName,
55
- },
56
- text: responseText,
57
- };
58
- },
59
- };
60
- //# sourceMappingURL=chatContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chatContext.js","sourceRoot":"","sources":["../../src/providers/chatContext.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,CAAC,MAAM,mBAAmB,GAAa;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,8DAA8D;IAE3E,OAAO,EAAE,IAAI;IACb,GAAG,EAAE,KAAK,EAAE,OAAsB,EAAE,OAAe,EAAE,KAAY,EAA2B,EAAE;QAC5F,6CAA6C;QAC7C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1C,OAAO;gBACL,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAkB,qBAAqB,CAAC,CAAC;QAEnF,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;YACvD,OAAO;gBACL,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;gBAC1B,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;gBAC5B,IAAI,EAAE,EAAE;aACT,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,WAAW,CAAC;QAClD,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAA4B,CAAC;QAEjE,MAAM,MAAM,GAAG,SAAS,CAAC,MAA4B,CAAC;QACtD,MAAM,MAAM,GAAG,SAAS,CAAC,MAA4B,CAAC;QACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAA8B,CAAC;QAC1D,MAAM,WAAW,GAAG,SAAS,CAAC,WAAiC,CAAC;QAEhE,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,WAAW,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAClF,CAAC;QAED,MAAM,YAAY,GAChB,GAAG,SAAS,gCAAgC,eAAe,IAAI;YAC/D,kDAAkD,CAAC;QAErD,OAAO;YACL,IAAI,EAAE;gBACJ,MAAM;gBACN,MAAM;gBACN,QAAQ,EAAE,QAAQ,IAAI,QAAQ;gBAC9B,WAAW;gBACX,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,UAAU;aACrB;YACD,MAAM,EAAE;gBACN,MAAM;gBACN,MAAM;gBACN,QAAQ,EAAE,QAAQ,IAAI,QAAQ;gBAC9B,WAAW;aACZ;YACD,IAAI,EAAE,YAAY;SACnB,CAAC;IACJ,CAAC;CACF,CAAC"}