@elizaos/agent 2.0.0-alpha.344 → 2.0.0-alpha.346

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 (69) hide show
  1. package/apps/app-lifeops/src/inbox/message-fetcher.d.ts.map +1 -1
  2. package/apps/app-lifeops/src/inbox/message-fetcher.js +1 -0
  3. package/apps/app-lifeops/src/inbox/types.d.ts +2 -0
  4. package/apps/app-lifeops/src/inbox/types.d.ts.map +1 -1
  5. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts.map +1 -1
  6. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.js +1 -0
  7. package/package.json +5 -5
  8. package/packages/agent/src/actions/manage-tasks.d.ts +1 -0
  9. package/packages/agent/src/actions/manage-tasks.d.ts.map +1 -1
  10. package/packages/agent/src/actions/manage-tasks.js +24 -0
  11. package/packages/agent/src/api/conversation-routes.d.ts.map +1 -1
  12. package/packages/agent/src/api/conversation-routes.js +42 -37
  13. package/packages/agent/src/api/relationships-routes.d.ts.map +1 -1
  14. package/packages/agent/src/api/relationships-routes.js +21 -8
  15. package/packages/agent/src/api/workbench-helpers.d.ts.map +1 -1
  16. package/packages/agent/src/api/workbench-helpers.js +7 -0
  17. package/packages/agent/src/runtime/plugin-collector.d.ts.map +1 -1
  18. package/packages/agent/src/runtime/plugin-collector.js +22 -11
  19. package/packages/agent/src/triggers/scheduling.d.ts.map +1 -1
  20. package/packages/agent/src/triggers/scheduling.js +1 -3
  21. package/packages/app-core/src/api/client-types-core.d.ts +6 -0
  22. package/packages/app-core/src/api/client-types-core.d.ts.map +1 -1
  23. package/packages/app-core/src/config/boot-config-store.d.ts +2 -0
  24. package/packages/app-core/src/config/boot-config-store.d.ts.map +1 -1
  25. package/packages/shared/src/contracts/lifeops.d.ts +1 -0
  26. package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
  27. package/packages/typescript/src/features/basic-capabilities/providers/actionState.d.ts.map +1 -1
  28. package/packages/typescript/src/features/basic-capabilities/providers/actionState.js +8 -51
  29. package/packages/typescript/src/features/basic-capabilities/providers/actions.d.ts.map +1 -1
  30. package/packages/typescript/src/features/basic-capabilities/providers/actions.js +2 -2
  31. package/packages/typescript/src/features/basic-capabilities/providers/non-actionable-chatter.d.ts.map +1 -1
  32. package/packages/typescript/src/features/basic-capabilities/providers/non-actionable-chatter.js +2 -4
  33. package/packages/typescript/src/features/basic-capabilities/providers/providers.d.ts.map +1 -1
  34. package/packages/typescript/src/features/basic-capabilities/providers/providers.js +2 -2
  35. package/packages/typescript/src/features/knowledge/utils.d.ts.map +1 -1
  36. package/packages/typescript/src/features/knowledge/utils.js +4 -3
  37. package/packages/typescript/src/runtime.d.ts +2 -0
  38. package/packages/typescript/src/runtime.d.ts.map +1 -1
  39. package/packages/typescript/src/runtime.js +80 -0
  40. package/packages/typescript/src/services/message.d.ts +3 -1
  41. package/packages/typescript/src/services/message.d.ts.map +1 -1
  42. package/packages/typescript/src/services/message.js +91 -135
  43. package/packages/typescript/src/utils/action-results.d.ts +33 -0
  44. package/packages/typescript/src/utils/action-results.d.ts.map +1 -0
  45. package/packages/typescript/src/utils/action-results.js +169 -0
  46. package/packages/typescript/src/utils/context-catalog.d.ts.map +1 -1
  47. package/packages/typescript/src/utils/context-catalog.js +11 -0
  48. package/packages/typescript/src/utils/context-routing.d.ts +3 -0
  49. package/packages/typescript/src/utils/context-routing.d.ts.map +1 -1
  50. package/packages/typescript/src/utils/context-routing.js +88 -0
  51. package/packages/typescript/src/utils/message-text.d.ts +5 -0
  52. package/packages/typescript/src/utils/message-text.d.ts.map +1 -0
  53. package/packages/typescript/src/utils/message-text.js +24 -0
  54. package/packages/typescript/src/utils.d.ts +2 -1
  55. package/packages/typescript/src/utils.d.ts.map +1 -1
  56. package/packages/typescript/src/utils.js +2 -1
  57. package/plugins/plugin-imessage/typescript/src/chatdb-reader.d.ts +9 -0
  58. package/plugins/plugin-imessage/typescript/src/chatdb-reader.d.ts.map +1 -1
  59. package/plugins/plugin-imessage/typescript/src/chatdb-reader.js +171 -80
  60. package/plugins/plugin-imessage/typescript/src/index.d.ts +1 -1
  61. package/plugins/plugin-imessage/typescript/src/index.d.ts.map +1 -1
  62. package/plugins/plugin-imessage/typescript/src/service.d.ts +7 -1
  63. package/plugins/plugin-imessage/typescript/src/service.d.ts.map +1 -1
  64. package/plugins/plugin-imessage/typescript/src/service.js +18 -11
  65. package/plugins/plugin-imessage/typescript/src/setup-routes.d.ts +2 -1
  66. package/plugins/plugin-imessage/typescript/src/setup-routes.d.ts.map +1 -1
  67. package/plugins/plugin-imessage/typescript/src/setup-routes.js +55 -2
  68. package/plugins/plugin-imessage/typescript/src/types.d.ts +8 -0
  69. package/plugins/plugin-imessage/typescript/src/types.d.ts.map +1 -1
@@ -9,7 +9,8 @@
9
9
  * Routes served (all under `/api/imessage`):
10
10
  *
11
11
  * GET /api/imessage/status service health + connection state
12
- * GET /api/imessage/messages recent messages from chat.db
12
+ * GET /api/imessage/messages newest messages from chat.db
13
+ * POST /api/imessage/messages send a message via Messages.app
13
14
  * GET /api/imessage/chats list of chats (DMs + groups)
14
15
  * GET /api/imessage/contacts every contact with full detail
15
16
  * POST /api/imessage/contacts create a new contact
@@ -69,8 +70,11 @@ async function handleMessages(req, res, runtime) {
69
70
  const url = new URL(req.url ?? "/api/imessage/messages", "http://localhost");
70
71
  const limitParam = url.searchParams.get("limit");
71
72
  const limit = Math.min(Math.max(1, Number.parseInt(limitParam ?? "50", 10) || 50), 500);
73
+ const chatId = url.searchParams.get("chatId")?.trim() || undefined;
72
74
  try {
73
- const messages = await service.getRecentMessages(limit);
75
+ const messages = typeof service.getMessages === "function"
76
+ ? await service.getMessages({ chatId, limit })
77
+ : await service.getRecentMessages(limit);
74
78
  res.status(200).json({ messages, count: messages.length });
75
79
  }
76
80
  catch (error) {
@@ -79,6 +83,49 @@ async function handleMessages(req, res, runtime) {
79
83
  });
80
84
  }
81
85
  }
86
+ // ── POST /api/imessage/messages ────────────────────────────────────
87
+ async function handleSendMessage(req, res, runtime) {
88
+ const service = resolveService(runtime);
89
+ if (!service) {
90
+ res.status(503).json({ error: "imessage service not registered" });
91
+ return;
92
+ }
93
+ const body = req.body ?? {};
94
+ const to = body.to?.trim() || "";
95
+ const chatId = body.chatId?.trim() || "";
96
+ const text = body.text?.trim() || "";
97
+ const mediaUrl = body.mediaUrl?.trim() || undefined;
98
+ if (!to && !chatId) {
99
+ res.status(400).json({
100
+ error: "either to or chatId is required",
101
+ });
102
+ return;
103
+ }
104
+ if (!text && !mediaUrl) {
105
+ res.status(400).json({
106
+ error: "either text or mediaUrl is required",
107
+ });
108
+ return;
109
+ }
110
+ try {
111
+ const result = await service.sendMessage(chatId ? `chat_id:${chatId}` : to, text, {
112
+ ...(mediaUrl ? { mediaUrl } : {}),
113
+ ...(typeof body.maxBytes === "number" ? { maxBytes: body.maxBytes } : {}),
114
+ });
115
+ if (!result.success) {
116
+ res.status(500).json({
117
+ error: result.error ?? "failed to send iMessage",
118
+ });
119
+ return;
120
+ }
121
+ res.status(200).json(result);
122
+ }
123
+ catch (error) {
124
+ res.status(500).json({
125
+ error: `sendMessage threw: ${error instanceof Error ? error.message : String(error)}`,
126
+ });
127
+ }
128
+ }
82
129
  // ── GET /api/imessage/chats ─────────────────────────────────────────
83
130
  async function handleChats(_req, res, runtime) {
84
131
  const service = resolveService(runtime);
@@ -235,6 +282,12 @@ export const imessageSetupRoutes = [
235
282
  handler: handleMessages,
236
283
  rawPath: true,
237
284
  },
285
+ {
286
+ type: "POST",
287
+ path: "/api/imessage/messages",
288
+ handler: handleSendMessage,
289
+ rawPath: true,
290
+ },
238
291
  {
239
292
  type: "GET",
240
293
  path: "/api/imessage/chats",
@@ -88,6 +88,12 @@ export interface IMessageMessage {
88
88
  /** Attachment paths */
89
89
  attachmentPaths?: string[];
90
90
  }
91
+ export interface IMessageListMessagesOptions {
92
+ /** Return only messages from this chat identifier. */
93
+ chatId?: string;
94
+ /** Maximum number of rows to return. */
95
+ limit?: number;
96
+ }
91
97
  /**
92
98
  * Options for sending a message
93
99
  */
@@ -135,6 +141,8 @@ export interface IIMessageService extends Service {
135
141
  sendMessage(to: string, text: string, options?: IMessageSendOptions): Promise<IMessageSendResult>;
136
142
  /** Get recent messages */
137
143
  getRecentMessages(limit?: number): Promise<IMessageMessage[]>;
144
+ /** List newest messages, optionally filtered to one chat. */
145
+ getMessages(options?: IMessageListMessagesOptions): Promise<IMessageMessage[]>;
138
146
  /** Get chats */
139
147
  getChats(): Promise<IMessageChat[]>;
140
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../plugins/plugin-imessage/typescript/src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../plugins/plugin-imessage/typescript/src/types.ts"],"names":[],"mappings":"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"}