@elizaos/autonomous 2.0.0-alpha.10
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/LICENSE +21 -0
- package/package.json +270 -0
- package/src/actions/emote.ts +101 -0
- package/src/actions/restart.ts +101 -0
- package/src/actions/send-message.ts +168 -0
- package/src/actions/stream-control.ts +439 -0
- package/src/actions/switch-stream-source.ts +126 -0
- package/src/actions/terminal.ts +186 -0
- package/src/api/agent-admin-routes.ts +178 -0
- package/src/api/agent-lifecycle-routes.ts +129 -0
- package/src/api/agent-model.ts +143 -0
- package/src/api/agent-transfer-routes.ts +211 -0
- package/src/api/apps-routes.ts +210 -0
- package/src/api/auth-routes.ts +90 -0
- package/src/api/bsc-trade.ts +736 -0
- package/src/api/bug-report-routes.ts +161 -0
- package/src/api/character-routes.ts +421 -0
- package/src/api/cloud-billing-routes.ts +598 -0
- package/src/api/cloud-compat-routes.ts +192 -0
- package/src/api/cloud-routes.ts +529 -0
- package/src/api/cloud-status-routes.ts +234 -0
- package/src/api/compat-utils.ts +154 -0
- package/src/api/connector-health.ts +135 -0
- package/src/api/coordinator-wiring.ts +179 -0
- package/src/api/credit-detection.ts +47 -0
- package/src/api/database.ts +1357 -0
- package/src/api/diagnostics-routes.ts +389 -0
- package/src/api/drop-service.ts +205 -0
- package/src/api/early-logs.ts +111 -0
- package/src/api/http-helpers.ts +252 -0
- package/src/api/index.ts +85 -0
- package/src/api/knowledge-routes.ts +1189 -0
- package/src/api/knowledge-service-loader.ts +92 -0
- package/src/api/memory-bounds.ts +121 -0
- package/src/api/memory-routes.ts +349 -0
- package/src/api/merkle-tree.ts +239 -0
- package/src/api/models-routes.ts +72 -0
- package/src/api/nfa-routes.ts +169 -0
- package/src/api/nft-verify.ts +188 -0
- package/src/api/og-tracker.ts +72 -0
- package/src/api/parse-action-block.ts +145 -0
- package/src/api/permissions-routes.ts +222 -0
- package/src/api/plugin-validation.ts +355 -0
- package/src/api/provider-switch-config.ts +455 -0
- package/src/api/registry-routes.ts +165 -0
- package/src/api/registry-service.ts +292 -0
- package/src/api/route-helpers.ts +21 -0
- package/src/api/sandbox-routes.ts +1480 -0
- package/src/api/server.ts +17674 -0
- package/src/api/signal-routes.ts +265 -0
- package/src/api/stream-persistence.ts +297 -0
- package/src/api/stream-route-state.ts +48 -0
- package/src/api/stream-routes.ts +1046 -0
- package/src/api/stream-voice-routes.ts +208 -0
- package/src/api/streaming-text.ts +129 -0
- package/src/api/streaming-types.ts +23 -0
- package/src/api/subscription-routes.ts +283 -0
- package/src/api/terminal-run-limits.ts +31 -0
- package/src/api/training-backend-check.ts +40 -0
- package/src/api/training-routes.ts +314 -0
- package/src/api/training-service-like.ts +46 -0
- package/src/api/trajectory-routes.ts +714 -0
- package/src/api/trigger-routes.ts +438 -0
- package/src/api/twitter-verify.ts +226 -0
- package/src/api/tx-service.ts +193 -0
- package/src/api/wallet-dex-prices.ts +206 -0
- package/src/api/wallet-evm-balance.ts +989 -0
- package/src/api/wallet-routes.ts +505 -0
- package/src/api/wallet-rpc.ts +523 -0
- package/src/api/wallet-trading-profile.ts +694 -0
- package/src/api/wallet.ts +745 -0
- package/src/api/whatsapp-routes.ts +282 -0
- package/src/api/zip-utils.ts +130 -0
- package/src/auth/anthropic.ts +63 -0
- package/src/auth/apply-stealth.ts +38 -0
- package/src/auth/claude-code-stealth.ts +141 -0
- package/src/auth/credentials.ts +226 -0
- package/src/auth/index.ts +18 -0
- package/src/auth/openai-codex.ts +94 -0
- package/src/auth/types.ts +24 -0
- package/src/awareness/registry.ts +220 -0
- package/src/bin.ts +10 -0
- package/src/cli/index.ts +36 -0
- package/src/cli/parse-duration.ts +43 -0
- package/src/cloud/auth.test.ts +370 -0
- package/src/cloud/auth.ts +176 -0
- package/src/cloud/backup.test.ts +150 -0
- package/src/cloud/backup.ts +50 -0
- package/src/cloud/base-url.ts +45 -0
- package/src/cloud/bridge-client.test.ts +481 -0
- package/src/cloud/bridge-client.ts +307 -0
- package/src/cloud/cloud-manager.test.ts +223 -0
- package/src/cloud/cloud-manager.ts +151 -0
- package/src/cloud/cloud-proxy.test.ts +122 -0
- package/src/cloud/cloud-proxy.ts +52 -0
- package/src/cloud/index.ts +23 -0
- package/src/cloud/reconnect.test.ts +178 -0
- package/src/cloud/reconnect.ts +108 -0
- package/src/cloud/validate-url.test.ts +147 -0
- package/src/cloud/validate-url.ts +176 -0
- package/src/config/character-schema.ts +44 -0
- package/src/config/config.ts +149 -0
- package/src/config/env-vars.ts +86 -0
- package/src/config/includes.ts +196 -0
- package/src/config/index.ts +15 -0
- package/src/config/object-utils.ts +10 -0
- package/src/config/paths.ts +92 -0
- package/src/config/plugin-auto-enable.ts +520 -0
- package/src/config/schema.ts +1342 -0
- package/src/config/telegram-custom-commands.ts +99 -0
- package/src/config/types.agent-defaults.ts +342 -0
- package/src/config/types.agents.ts +112 -0
- package/src/config/types.gateway.ts +243 -0
- package/src/config/types.hooks.ts +124 -0
- package/src/config/types.messages.ts +201 -0
- package/src/config/types.milady.ts +791 -0
- package/src/config/types.tools.ts +416 -0
- package/src/config/types.ts +7 -0
- package/src/config/zod-schema.agent-runtime.ts +777 -0
- package/src/config/zod-schema.core.ts +778 -0
- package/src/config/zod-schema.hooks.ts +139 -0
- package/src/config/zod-schema.providers-core.ts +1126 -0
- package/src/config/zod-schema.session.ts +98 -0
- package/src/config/zod-schema.ts +865 -0
- package/src/contracts/apps.ts +46 -0
- package/src/contracts/awareness.ts +56 -0
- package/src/contracts/config.ts +172 -0
- package/src/contracts/drop.ts +21 -0
- package/src/contracts/index.ts +8 -0
- package/src/contracts/onboarding.ts +592 -0
- package/src/contracts/permissions.ts +52 -0
- package/src/contracts/verification.ts +9 -0
- package/src/contracts/wallet.ts +503 -0
- package/src/diagnostics/integration-observability.ts +132 -0
- package/src/emotes/catalog.ts +655 -0
- package/src/external-modules.d.ts +7 -0
- package/src/hooks/discovery.test.ts +357 -0
- package/src/hooks/discovery.ts +231 -0
- package/src/hooks/eligibility.ts +146 -0
- package/src/hooks/hooks.test.ts +320 -0
- package/src/hooks/index.ts +8 -0
- package/src/hooks/loader.test.ts +418 -0
- package/src/hooks/loader.ts +256 -0
- package/src/hooks/registry.test.ts +168 -0
- package/src/hooks/registry.ts +74 -0
- package/src/hooks/types.ts +121 -0
- package/src/index.ts +19 -0
- package/src/onboarding-presets.ts +828 -0
- package/src/plugins/custom-rtmp/index.ts +40 -0
- package/src/providers/admin-trust.ts +76 -0
- package/src/providers/session-bridge.ts +143 -0
- package/src/providers/session-utils.ts +42 -0
- package/src/providers/simple-mode.ts +113 -0
- package/src/providers/ui-catalog.ts +135 -0
- package/src/providers/workspace-provider.ts +213 -0
- package/src/providers/workspace.ts +497 -0
- package/src/runtime/agent-event-service.ts +57 -0
- package/src/runtime/cloud-onboarding.test.ts +489 -0
- package/src/runtime/cloud-onboarding.ts +408 -0
- package/src/runtime/core-plugins.ts +53 -0
- package/src/runtime/custom-actions.ts +605 -0
- package/src/runtime/eliza.ts +4941 -0
- package/src/runtime/embedding-presets.ts +73 -0
- package/src/runtime/index.ts +8 -0
- package/src/runtime/milady-plugin.ts +180 -0
- package/src/runtime/onboarding-names.ts +76 -0
- package/src/runtime/release-plugin-policy.ts +119 -0
- package/src/runtime/restart.ts +59 -0
- package/src/runtime/trajectory-persistence.ts +2584 -0
- package/src/runtime/version.ts +6 -0
- package/src/security/audit-log.ts +222 -0
- package/src/security/network-policy.ts +91 -0
- package/src/server/index.ts +6 -0
- package/src/services/agent-export.ts +976 -0
- package/src/services/app-manager.ts +755 -0
- package/src/services/browser-capture.ts +215 -0
- package/src/services/coding-agent-context.ts +355 -0
- package/src/services/fallback-training-service.ts +196 -0
- package/src/services/index.ts +17 -0
- package/src/services/mcp-marketplace.ts +327 -0
- package/src/services/plugin-manager-types.ts +185 -0
- package/src/services/privy-wallets.ts +352 -0
- package/src/services/registry-client-app-meta.ts +201 -0
- package/src/services/registry-client-endpoints.ts +253 -0
- package/src/services/registry-client-local.ts +485 -0
- package/src/services/registry-client-network.ts +173 -0
- package/src/services/registry-client-queries.ts +176 -0
- package/src/services/registry-client-types.ts +104 -0
- package/src/services/registry-client.ts +366 -0
- package/src/services/remote-signing-service.ts +261 -0
- package/src/services/sandbox-engine.ts +753 -0
- package/src/services/sandbox-manager.ts +503 -0
- package/src/services/self-updater.ts +213 -0
- package/src/services/signal-pairing.ts +189 -0
- package/src/services/signing-policy.ts +230 -0
- package/src/services/skill-catalog-client.ts +195 -0
- package/src/services/skill-marketplace.ts +909 -0
- package/src/services/stream-manager.ts +707 -0
- package/src/services/tts-stream-bridge.ts +465 -0
- package/src/services/update-checker.ts +163 -0
- package/src/services/version-compat.ts +367 -0
- package/src/services/whatsapp-pairing.ts +279 -0
- package/src/shared/ui-catalog-prompt.ts +1158 -0
- package/src/test-support/process-helpers.ts +35 -0
- package/src/test-support/route-test-helpers.ts +113 -0
- package/src/test-support/test-helpers.ts +304 -0
- package/src/testing/index.ts +3 -0
- package/src/triggers/action.ts +342 -0
- package/src/triggers/runtime.ts +432 -0
- package/src/triggers/scheduling.ts +472 -0
- package/src/triggers/types.ts +133 -0
- package/src/types/app-hyperscape-routes-shim.d.ts +29 -0
- package/src/types/external-modules.d.ts +7 -0
- package/src/utils/exec-safety.ts +23 -0
- package/src/utils/number-parsing.ts +112 -0
- package/src/utils/spoken-text.ts +65 -0
- package/src/version-resolver.ts +60 -0
- package/test/api/agent-admin-routes.test.ts +160 -0
- package/test/api/agent-lifecycle-routes.test.ts +164 -0
- package/test/api/agent-transfer-routes.test.ts +136 -0
- package/test/api/apps-routes.test.ts +140 -0
- package/test/api/auth-routes.test.ts +160 -0
- package/test/api/bug-report-routes.test.ts +88 -0
- package/test/api/knowledge-routes.test.ts +73 -0
- package/test/api/lifecycle.test.ts +342 -0
- package/test/api/memory-routes.test.ts +74 -0
- package/test/api/models-routes.test.ts +112 -0
- package/test/api/nfa-routes.test.ts +78 -0
- package/test/api/permissions-routes.test.ts +185 -0
- package/test/api/registry-routes.test.ts +157 -0
- package/test/api/signal-routes.test.ts +113 -0
- package/test/api/subscription-routes.test.ts +90 -0
- package/test/api/trigger-routes.test.ts +87 -0
- package/test/api/wallet-routes.observability.test.ts +191 -0
- package/test/api/wallet-routes.test.ts +502 -0
- package/test/diagnostics/integration-observability.test.ts +135 -0
- package/test/security/audit-log.test.ts +229 -0
- package/test/security/network-policy.test.ts +143 -0
- package/test/services/version-compat.test.ts +127 -0
- package/tsconfig.build.json +21 -0
- package/tsconfig.json +19 -0
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/package.json
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@elizaos/autonomous",
|
|
3
|
+
"version": "2.0.0-alpha.10",
|
|
4
|
+
"description": "Standalone autonomous agent runtime and backend server package for elizaOS.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://github.com/elizaOS/eliza",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/elizaOS/eliza.git",
|
|
11
|
+
"directory": "packages/autonomous"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"autonomous",
|
|
15
|
+
"agent",
|
|
16
|
+
"backend",
|
|
17
|
+
"runtime",
|
|
18
|
+
"elizaos"
|
|
19
|
+
],
|
|
20
|
+
"main": "src/index.ts",
|
|
21
|
+
"bin": {
|
|
22
|
+
"eliza-autonomous": "./src/bin.ts"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"clean": "rm -rf dist",
|
|
26
|
+
"build": "bun run build:dist",
|
|
27
|
+
"build:dist": "rm -rf dist && tsc -p tsconfig.build.json && node ../../scripts/prepare-package-dist.mjs packages/autonomous --compiled-prefix=packages/autonomous/src",
|
|
28
|
+
"typecheck": "test -f ../prompts/dist/typescript/index.ts || (cd ../prompts && bun run build:typescript) && tsc --noEmit -p tsconfig.json",
|
|
29
|
+
"lint:check": "bunx @biomejs/biome check ./src/actions ./src/api ./src/auth ./src/awareness ./src/bin.ts ./src/cli ./src/cloud ./src/config ./src/contracts ./src/diagnostics ./src/emotes ./src/hooks ./src/index.ts ./src/onboarding-presets.ts ./src/plugins ./src/providers ./src/runtime ./src/security ./src/server ./src/services ./src/shared ./src/testing ./src/triggers ./src/utils ./src/version-resolver.ts",
|
|
30
|
+
"pack:dry-run": "cd dist && npm pack --dry-run"
|
|
31
|
+
},
|
|
32
|
+
"exports": {
|
|
33
|
+
".": "./src/index.ts",
|
|
34
|
+
"./api": "./src/api/index.ts",
|
|
35
|
+
"./api/agent-admin-routes": "./src/api/agent-admin-routes.ts",
|
|
36
|
+
"./api/agent-lifecycle-routes": "./src/api/agent-lifecycle-routes.ts",
|
|
37
|
+
"./api/agent-model": "./src/api/agent-model.ts",
|
|
38
|
+
"./api/agent-transfer-routes": "./src/api/agent-transfer-routes.ts",
|
|
39
|
+
"./api/apps-routes": "./src/api/apps-routes.ts",
|
|
40
|
+
"./api/auth-routes": "./src/api/auth-routes.ts",
|
|
41
|
+
"./api/bsc-trade": "./src/api/bsc-trade.ts",
|
|
42
|
+
"./api/bug-report-routes": "./src/api/bug-report-routes.ts",
|
|
43
|
+
"./api/character-routes": "./src/api/character-routes.ts",
|
|
44
|
+
"./api/database": "./src/api/database.ts",
|
|
45
|
+
"./api/diagnostics-routes": "./src/api/diagnostics-routes.ts",
|
|
46
|
+
"./api/drop-service": "./src/api/drop-service.ts",
|
|
47
|
+
"./api/cloud-billing-routes": "./src/api/cloud-billing-routes.ts",
|
|
48
|
+
"./api/cloud-compat-routes": "./src/api/cloud-compat-routes.ts",
|
|
49
|
+
"./api/cloud-routes": "./src/api/cloud-routes.ts",
|
|
50
|
+
"./api/cloud-status-routes": "./src/api/cloud-status-routes.ts",
|
|
51
|
+
"./api/compat-utils": "./src/api/compat-utils.ts",
|
|
52
|
+
"./api/connector-health": "./src/api/connector-health.ts",
|
|
53
|
+
"./api/coordinator-wiring": "./src/api/coordinator-wiring.ts",
|
|
54
|
+
"./api/credit-detection": "./src/api/credit-detection.ts",
|
|
55
|
+
"./api/http-helpers": "./src/api/http-helpers.ts",
|
|
56
|
+
"./api/knowledge-service-loader": "./src/api/knowledge-service-loader.ts",
|
|
57
|
+
"./api/knowledge-routes": "./src/api/knowledge-routes.ts",
|
|
58
|
+
"./api/memory-bounds": "./src/api/memory-bounds.ts",
|
|
59
|
+
"./api/models-routes": "./src/api/models-routes.ts",
|
|
60
|
+
"./api/memory-routes": "./src/api/memory-routes.ts",
|
|
61
|
+
"./api/merkle-tree": "./src/api/merkle-tree.ts",
|
|
62
|
+
"./api/nfa-routes": "./src/api/nfa-routes.ts",
|
|
63
|
+
"./api/nft-verify": "./src/api/nft-verify.ts",
|
|
64
|
+
"./api/og-tracker": "./src/api/og-tracker.ts",
|
|
65
|
+
"./api/permissions-routes": "./src/api/permissions-routes.ts",
|
|
66
|
+
"./api/registry-routes": "./src/api/registry-routes.ts",
|
|
67
|
+
"./api/route-helpers": "./src/api/route-helpers.ts",
|
|
68
|
+
"./api/sandbox-routes": "./src/api/sandbox-routes.ts",
|
|
69
|
+
"./api/early-logs": "./src/api/early-logs.ts",
|
|
70
|
+
"./api/parse-action-block": "./src/api/parse-action-block.ts",
|
|
71
|
+
"./api/plugin-validation": "./src/api/plugin-validation.ts",
|
|
72
|
+
"./api/provider-switch-config": "./src/api/provider-switch-config.ts",
|
|
73
|
+
"./api/registry-service": "./src/api/registry-service.ts",
|
|
74
|
+
"./api/server": "./src/api/server.ts",
|
|
75
|
+
"./api/signal-routes": "./src/api/signal-routes.ts",
|
|
76
|
+
"./api/stream-route-state": "./src/api/stream-route-state.ts",
|
|
77
|
+
"./api/stream-routes": "./src/api/stream-routes.ts",
|
|
78
|
+
"./api/streaming-text": "./src/api/streaming-text.ts",
|
|
79
|
+
"./api/stream-voice-routes": "./src/api/stream-voice-routes.ts",
|
|
80
|
+
"./api/subscription-routes": "./src/api/subscription-routes.ts",
|
|
81
|
+
"./api/terminal-run-limits": "./src/api/terminal-run-limits.ts",
|
|
82
|
+
"./api/training-backend-check": "./src/api/training-backend-check.ts",
|
|
83
|
+
"./api/training-routes": "./src/api/training-routes.ts",
|
|
84
|
+
"./api/training-service-like": "./src/api/training-service-like.ts",
|
|
85
|
+
"./api/trigger-routes": "./src/api/trigger-routes.ts",
|
|
86
|
+
"./api/trajectory-routes": "./src/api/trajectory-routes.ts",
|
|
87
|
+
"./api/tx-service": "./src/api/tx-service.ts",
|
|
88
|
+
"./api/twitter-verify": "./src/api/twitter-verify.ts",
|
|
89
|
+
"./api/zip-utils": "./src/api/zip-utils.ts",
|
|
90
|
+
"./api/wallet": "./src/api/wallet.ts",
|
|
91
|
+
"./api/wallet-dex-prices": "./src/api/wallet-dex-prices.ts",
|
|
92
|
+
"./api/wallet-evm-balance": "./src/api/wallet-evm-balance.ts",
|
|
93
|
+
"./api/wallet-routes": "./src/api/wallet-routes.ts",
|
|
94
|
+
"./api/wallet-rpc": "./src/api/wallet-rpc.ts",
|
|
95
|
+
"./api/wallet-trading-profile": "./src/api/wallet-trading-profile.ts",
|
|
96
|
+
"./api/whatsapp-routes": "./src/api/whatsapp-routes.ts",
|
|
97
|
+
"./auth": "./src/auth/index.ts",
|
|
98
|
+
"./auth/anthropic": "./src/auth/anthropic.ts",
|
|
99
|
+
"./auth/apply-stealth": "./src/auth/apply-stealth.ts",
|
|
100
|
+
"./auth/claude-code-stealth": "./src/auth/claude-code-stealth.ts",
|
|
101
|
+
"./auth/credentials": "./src/auth/credentials.ts",
|
|
102
|
+
"./auth/openai-codex": "./src/auth/openai-codex.ts",
|
|
103
|
+
"./auth/types": "./src/auth/types.ts",
|
|
104
|
+
"./actions/emote": "./src/actions/emote.ts",
|
|
105
|
+
"./actions/restart": "./src/actions/restart.ts",
|
|
106
|
+
"./actions/send-message": "./src/actions/send-message.ts",
|
|
107
|
+
"./actions/stream-control": "./src/actions/stream-control.ts",
|
|
108
|
+
"./actions/switch-stream-source": "./src/actions/switch-stream-source.ts",
|
|
109
|
+
"./actions/terminal": "./src/actions/terminal.ts",
|
|
110
|
+
"./awareness/registry": "./src/awareness/registry.ts",
|
|
111
|
+
"./cli": "./src/cli/index.ts",
|
|
112
|
+
"./cloud": "./src/cloud/index.ts",
|
|
113
|
+
"./cloud/auth": "./src/cloud/auth.ts",
|
|
114
|
+
"./cloud/backup": "./src/cloud/backup.ts",
|
|
115
|
+
"./cloud/base-url": "./src/cloud/base-url.ts",
|
|
116
|
+
"./cloud/bridge-client": "./src/cloud/bridge-client.ts",
|
|
117
|
+
"./cloud/cloud-manager": "./src/cloud/cloud-manager.ts",
|
|
118
|
+
"./cloud/cloud-proxy": "./src/cloud/cloud-proxy.ts",
|
|
119
|
+
"./cloud/reconnect": "./src/cloud/reconnect.ts",
|
|
120
|
+
"./cloud/validate-url": "./src/cloud/validate-url.ts",
|
|
121
|
+
"./config": "./src/config/index.ts",
|
|
122
|
+
"./config/character-schema": "./src/config/character-schema.ts",
|
|
123
|
+
"./config/config": "./src/config/config.ts",
|
|
124
|
+
"./config/env-vars": "./src/config/env-vars.ts",
|
|
125
|
+
"./config/includes": "./src/config/includes.ts",
|
|
126
|
+
"./config/object-utils": "./src/config/object-utils.ts",
|
|
127
|
+
"./config/paths": "./src/config/paths.ts",
|
|
128
|
+
"./config/plugin-auto-enable": "./src/config/plugin-auto-enable.ts",
|
|
129
|
+
"./config/schema": "./src/config/schema.ts",
|
|
130
|
+
"./config/types": "./src/config/types.ts",
|
|
131
|
+
"./config/types.agent-defaults": "./src/config/types.agent-defaults.ts",
|
|
132
|
+
"./config/types.agents": "./src/config/types.agents.ts",
|
|
133
|
+
"./config/types.gateway": "./src/config/types.gateway.ts",
|
|
134
|
+
"./config/types.hooks": "./src/config/types.hooks.ts",
|
|
135
|
+
"./config/types.messages": "./src/config/types.messages.ts",
|
|
136
|
+
"./config/types.milady": "./src/config/types.milady.ts",
|
|
137
|
+
"./config/types.tools": "./src/config/types.tools.ts",
|
|
138
|
+
"./config/zod-schema": "./src/config/zod-schema.ts",
|
|
139
|
+
"./contracts": "./src/contracts/index.ts",
|
|
140
|
+
"./contracts/apps": "./src/contracts/apps.ts",
|
|
141
|
+
"./contracts/awareness": "./src/contracts/awareness.ts",
|
|
142
|
+
"./contracts/config": "./src/contracts/config.ts",
|
|
143
|
+
"./contracts/drop": "./src/contracts/drop.ts",
|
|
144
|
+
"./contracts/onboarding": "./src/contracts/onboarding.ts",
|
|
145
|
+
"./contracts/permissions": "./src/contracts/permissions.ts",
|
|
146
|
+
"./contracts/verification": "./src/contracts/verification.ts",
|
|
147
|
+
"./contracts/wallet": "./src/contracts/wallet.ts",
|
|
148
|
+
"./emotes/catalog": "./src/emotes/catalog.ts",
|
|
149
|
+
"./diagnostics/integration-observability": "./src/diagnostics/integration-observability.ts",
|
|
150
|
+
"./hooks": "./src/hooks/index.ts",
|
|
151
|
+
"./hooks/discovery": "./src/hooks/discovery.ts",
|
|
152
|
+
"./hooks/eligibility": "./src/hooks/eligibility.ts",
|
|
153
|
+
"./hooks/index": "./src/hooks/index.ts",
|
|
154
|
+
"./hooks/loader": "./src/hooks/loader.ts",
|
|
155
|
+
"./hooks/registry": "./src/hooks/registry.ts",
|
|
156
|
+
"./hooks/types": "./src/hooks/types.ts",
|
|
157
|
+
"./onboarding-presets": "./src/onboarding-presets.ts",
|
|
158
|
+
"./plugins/custom-rtmp": "./src/plugins/custom-rtmp/index.ts",
|
|
159
|
+
"./providers/admin-trust": "./src/providers/admin-trust.ts",
|
|
160
|
+
"./providers/session-bridge": "./src/providers/session-bridge.ts",
|
|
161
|
+
"./providers/session-utils": "./src/providers/session-utils.ts",
|
|
162
|
+
"./providers/simple-mode": "./src/providers/simple-mode.ts",
|
|
163
|
+
"./providers/ui-catalog": "./src/providers/ui-catalog.ts",
|
|
164
|
+
"./providers/workspace": "./src/providers/workspace.ts",
|
|
165
|
+
"./providers/workspace-provider": "./src/providers/workspace-provider.ts",
|
|
166
|
+
"./runtime": "./src/runtime/index.ts",
|
|
167
|
+
"./runtime/core-plugins": "./src/runtime/core-plugins.ts",
|
|
168
|
+
"./runtime/embedding-presets": "./src/runtime/embedding-presets.ts",
|
|
169
|
+
"./runtime/agent-event-service": "./src/runtime/agent-event-service.ts",
|
|
170
|
+
"./runtime/eliza": "./src/runtime/eliza.ts",
|
|
171
|
+
"./runtime/custom-actions": "./src/runtime/custom-actions.ts",
|
|
172
|
+
"./runtime/milady-plugin": "./src/runtime/milady-plugin.ts",
|
|
173
|
+
"./runtime/cloud-onboarding": "./src/runtime/cloud-onboarding.ts",
|
|
174
|
+
"./runtime/onboarding-names": "./src/runtime/onboarding-names.ts",
|
|
175
|
+
"./runtime/restart": "./src/runtime/restart.ts",
|
|
176
|
+
"./runtime/release-plugin-policy": "./src/runtime/release-plugin-policy.ts",
|
|
177
|
+
"./runtime/trajectory-persistence": "./src/runtime/trajectory-persistence.ts",
|
|
178
|
+
"./runtime/version": "./src/runtime/version.ts",
|
|
179
|
+
"./security/audit-log": "./src/security/audit-log.ts",
|
|
180
|
+
"./security/network-policy": "./src/security/network-policy.ts",
|
|
181
|
+
"./server": "./src/server/index.ts",
|
|
182
|
+
"./shared/ui-catalog-prompt": "./src/shared/ui-catalog-prompt.ts",
|
|
183
|
+
"./services": "./src/services/index.ts",
|
|
184
|
+
"./triggers/action": "./src/triggers/action.ts",
|
|
185
|
+
"./triggers/runtime": "./src/triggers/runtime.ts",
|
|
186
|
+
"./triggers/scheduling": "./src/triggers/scheduling.ts",
|
|
187
|
+
"./triggers/types": "./src/triggers/types.ts",
|
|
188
|
+
"./services/agent-export": "./src/services/agent-export.ts",
|
|
189
|
+
"./services/app-manager": "./src/services/app-manager.ts",
|
|
190
|
+
"./services/browser-capture": "./src/services/browser-capture.ts",
|
|
191
|
+
"./services/coding-agent-context": "./src/services/coding-agent-context.ts",
|
|
192
|
+
"./services/fallback-training-service": "./src/services/fallback-training-service.ts",
|
|
193
|
+
"./services/mcp-marketplace": "./src/services/mcp-marketplace.ts",
|
|
194
|
+
"./services/plugin-manager-types": "./src/services/plugin-manager-types.ts",
|
|
195
|
+
"./services/privy-wallets": "./src/services/privy-wallets.ts",
|
|
196
|
+
"./services/registry-client": "./src/services/registry-client.ts",
|
|
197
|
+
"./services/remote-signing-service": "./src/services/remote-signing-service.ts",
|
|
198
|
+
"./services/sandbox-engine": "./src/services/sandbox-engine.ts",
|
|
199
|
+
"./services/sandbox-manager": "./src/services/sandbox-manager.ts",
|
|
200
|
+
"./services/skill-catalog-client": "./src/services/skill-catalog-client.ts",
|
|
201
|
+
"./services/skill-marketplace": "./src/services/skill-marketplace.ts",
|
|
202
|
+
"./services/self-updater": "./src/services/self-updater.ts",
|
|
203
|
+
"./services/signal-pairing": "./src/services/signal-pairing.ts",
|
|
204
|
+
"./services/signing-policy": "./src/services/signing-policy.ts",
|
|
205
|
+
"./services/stream-manager": "./src/services/stream-manager.ts",
|
|
206
|
+
"./services/tts-stream-bridge": "./src/services/tts-stream-bridge.ts",
|
|
207
|
+
"./services/update-checker": "./src/services/update-checker.ts",
|
|
208
|
+
"./services/version-compat": "./src/services/version-compat.ts",
|
|
209
|
+
"./services/whatsapp-pairing": "./src/services/whatsapp-pairing.ts",
|
|
210
|
+
"./testing": "./src/testing/index.ts",
|
|
211
|
+
"./utils/number-parsing": "./src/utils/number-parsing.ts",
|
|
212
|
+
"./utils/spoken-text": "./src/utils/spoken-text.ts",
|
|
213
|
+
"./version-resolver": "./src/version-resolver.ts"
|
|
214
|
+
},
|
|
215
|
+
"peerDependencies": {
|
|
216
|
+
"@elizaos/core": "2.0.0-alpha.10",
|
|
217
|
+
"@elizaos/signal-native": "*"
|
|
218
|
+
},
|
|
219
|
+
"peerDependenciesMeta": {
|
|
220
|
+
"@elizaos/signal-native": {
|
|
221
|
+
"optional": true
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"publishConfig": {
|
|
225
|
+
"access": "public"
|
|
226
|
+
},
|
|
227
|
+
"dependencies": {
|
|
228
|
+
"@clack/prompts": "^1.0.0",
|
|
229
|
+
"@elizaos/plugin-coding-agent": "0.1.0-next.1",
|
|
230
|
+
"@elizaos/plugin-local-embedding": "alpha",
|
|
231
|
+
"@elizaos/plugin-ollama": "alpha",
|
|
232
|
+
"@elizaos/plugin-openai": "alpha",
|
|
233
|
+
"@elizaos/plugin-pdf": "alpha",
|
|
234
|
+
"@elizaos/plugin-personality": "alpha",
|
|
235
|
+
"@elizaos/plugin-pi-ai": "alpha",
|
|
236
|
+
"@elizaos/plugin-plugin-manager": "alpha",
|
|
237
|
+
"@elizaos/plugin-rolodex": "alpha",
|
|
238
|
+
"@elizaos/plugin-secrets-manager": "alpha",
|
|
239
|
+
"@elizaos/plugin-shell": "alpha",
|
|
240
|
+
"@elizaos/plugin-sql": "alpha",
|
|
241
|
+
"@elizaos/plugin-todo": "alpha",
|
|
242
|
+
"@elizaos/plugin-trajectory-logger": "alpha",
|
|
243
|
+
"@elizaos/plugin-trust": "alpha",
|
|
244
|
+
"@elizaos/prompts": "2.0.0-alpha.10",
|
|
245
|
+
"@elizaos/skills": "2.0.0-alpha.10",
|
|
246
|
+
"@hapi/boom": "^10.0.1",
|
|
247
|
+
"@mariozechner/pi-ai": "0.52.12",
|
|
248
|
+
"@noble/curves": "^2.0.1",
|
|
249
|
+
"@whiskeysockets/baileys": "7.0.0-rc.9",
|
|
250
|
+
"coding-agent-adapters": "0.12.0",
|
|
251
|
+
"drizzle-orm": "0.45.1",
|
|
252
|
+
"ethers": "^6.16.0",
|
|
253
|
+
"git-workspace-service": "0.4.4",
|
|
254
|
+
"json5": "^2.2.3",
|
|
255
|
+
"pg": "^8.16.3",
|
|
256
|
+
"pino": "^10.3.1",
|
|
257
|
+
"pty-manager": "1.9.8",
|
|
258
|
+
"puppeteer-core": "^24.37.5",
|
|
259
|
+
"qrcode": "^1.5.4",
|
|
260
|
+
"ws": "^8.19.0",
|
|
261
|
+
"zod": "^4.3.6"
|
|
262
|
+
},
|
|
263
|
+
"devDependencies": {
|
|
264
|
+
"@types/node": "^25.0.3",
|
|
265
|
+
"@types/pg": "^8.15.2",
|
|
266
|
+
"@types/ws": "^8.18.1",
|
|
267
|
+
"typescript": "^5.9.3"
|
|
268
|
+
},
|
|
269
|
+
"gitHead": "f77b9c9a2906a357415ad9d687ebc75bcf93926d"
|
|
270
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PLAY_EMOTE action — plays an emote animation on the avatar.
|
|
3
|
+
*
|
|
4
|
+
* When triggered the action:
|
|
5
|
+
* 1. Extracts the emote ID from required structured parameters
|
|
6
|
+
* 2. Looks up the emote in the catalog
|
|
7
|
+
* 3. POSTs to the local API server to trigger the animation
|
|
8
|
+
* 4. Returns success without posting chat text
|
|
9
|
+
*
|
|
10
|
+
* @module actions/emote
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import type { Action, HandlerOptions } from "@elizaos/core";
|
|
14
|
+
import { AGENT_EMOTE_BY_ID } from "../emotes/catalog";
|
|
15
|
+
|
|
16
|
+
/** API port for posting emote requests. */
|
|
17
|
+
const API_PORT = process.env.API_PORT || process.env.SERVER_PORT || "2138";
|
|
18
|
+
|
|
19
|
+
export const emoteAction: Action = {
|
|
20
|
+
name: "PLAY_EMOTE",
|
|
21
|
+
|
|
22
|
+
similes: [
|
|
23
|
+
"EMOTE",
|
|
24
|
+
"ANIMATE",
|
|
25
|
+
"GESTURE",
|
|
26
|
+
"DANCE",
|
|
27
|
+
"WAVE",
|
|
28
|
+
"PLAY_ANIMATION",
|
|
29
|
+
"DO_EMOTE",
|
|
30
|
+
"PERFORM",
|
|
31
|
+
],
|
|
32
|
+
|
|
33
|
+
description:
|
|
34
|
+
"Play a one-shot emote animation on the avatar, then return to idle. " +
|
|
35
|
+
"This is a silent non-blocking visual side action that does not create " +
|
|
36
|
+
"chat text on its own. Only call it when you set the required emote " +
|
|
37
|
+
"parameter to a valid emote ID. If you also want speech, chain it " +
|
|
38
|
+
"before, after, or alongside other actions in the same turn " +
|
|
39
|
+
"(for example with REPLY, SEND_MESSAGE, or stream actions).",
|
|
40
|
+
|
|
41
|
+
validate: async (_runtime, _message, _state) => {
|
|
42
|
+
// Always valid — the handler will check if the emote exists.
|
|
43
|
+
return true;
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
handler: async (_runtime, _message, _state, options) => {
|
|
47
|
+
try {
|
|
48
|
+
const params = (options as HandlerOptions | undefined)?.parameters;
|
|
49
|
+
const emoteId =
|
|
50
|
+
typeof params?.emote === "string" ? params.emote.trim() : "";
|
|
51
|
+
|
|
52
|
+
if (!emoteId) {
|
|
53
|
+
return { text: "", success: false };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Look up the emote in the catalog.
|
|
57
|
+
const emote = AGENT_EMOTE_BY_ID.get(emoteId);
|
|
58
|
+
if (!emote) {
|
|
59
|
+
return {
|
|
60
|
+
text: "",
|
|
61
|
+
success: false,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// POST to the local API server to trigger the emote.
|
|
66
|
+
const response = await fetch(`http://localhost:${API_PORT}/api/emote`, {
|
|
67
|
+
method: "POST",
|
|
68
|
+
headers: { "Content-Type": "application/json" },
|
|
69
|
+
body: JSON.stringify({ emoteId: emote.id }),
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
if (!response.ok) {
|
|
73
|
+
return {
|
|
74
|
+
text: "",
|
|
75
|
+
success: false,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return {
|
|
80
|
+
text: "",
|
|
81
|
+
success: true,
|
|
82
|
+
data: { emoteId: emote.id },
|
|
83
|
+
};
|
|
84
|
+
} catch (_err) {
|
|
85
|
+
return {
|
|
86
|
+
text: "",
|
|
87
|
+
success: false,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
parameters: [
|
|
93
|
+
{
|
|
94
|
+
name: "emote",
|
|
95
|
+
description:
|
|
96
|
+
"Required emote ID to play once silently before returning to idle",
|
|
97
|
+
required: true,
|
|
98
|
+
schema: { type: "string" as const },
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RESTART_AGENT action — gracefully restarts the agent.
|
|
3
|
+
*
|
|
4
|
+
* When triggered the action:
|
|
5
|
+
* 1. Persists a "Restarting…" memory so the event is visible in logs
|
|
6
|
+
* 2. Returns a brief restart notice to the caller
|
|
7
|
+
* 3. After a short delay (so the response can flush), invokes
|
|
8
|
+
* {@link requestRestart} which delegates to the registered
|
|
9
|
+
* {@link RestartHandler}.
|
|
10
|
+
*
|
|
11
|
+
* In CLI mode the default handler exits with code 75 so the runner script
|
|
12
|
+
* rebuilds and relaunches. In headless / Electron mode a custom handler
|
|
13
|
+
* performs an in-process restart (stop → re-init → hot-swap references).
|
|
14
|
+
*
|
|
15
|
+
* @module actions/restart
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import crypto from "node:crypto";
|
|
19
|
+
import type { Action, HandlerOptions, Memory, UUID } from "@elizaos/core";
|
|
20
|
+
import { logger } from "@elizaos/core";
|
|
21
|
+
import { requestRestart } from "../runtime/restart";
|
|
22
|
+
|
|
23
|
+
/** Small delay (ms) before restarting so the response has time to flush. */
|
|
24
|
+
const SHUTDOWN_DELAY_MS = 1_500;
|
|
25
|
+
|
|
26
|
+
export const restartAction: Action = {
|
|
27
|
+
name: "RESTART_AGENT",
|
|
28
|
+
|
|
29
|
+
similes: [
|
|
30
|
+
"RESTART",
|
|
31
|
+
"REBOOT",
|
|
32
|
+
"RELOAD",
|
|
33
|
+
"REFRESH",
|
|
34
|
+
"RESPAWN",
|
|
35
|
+
"RESTART_SELF",
|
|
36
|
+
"REBOOT_AGENT",
|
|
37
|
+
"RELOAD_AGENT",
|
|
38
|
+
],
|
|
39
|
+
|
|
40
|
+
description:
|
|
41
|
+
"Restart the agent process. This stops the runtime, rebuilds if source " +
|
|
42
|
+
"files changed, and relaunches — picking up new code, config, or plugins.",
|
|
43
|
+
|
|
44
|
+
validate: async (_runtime, _message, _state) => {
|
|
45
|
+
// Always valid — the registered handler decides how (or whether) to restart.
|
|
46
|
+
return true;
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
handler: async (runtime, message, _state, options) => {
|
|
50
|
+
// This action declares parameters, so the runtime provides HandlerOptions.
|
|
51
|
+
const params = (options as HandlerOptions | undefined)?.parameters;
|
|
52
|
+
const reason =
|
|
53
|
+
typeof params?.reason === "string" ? params.reason : undefined;
|
|
54
|
+
|
|
55
|
+
const restartText = reason ? `Restarting… (${reason})` : "Restarting…";
|
|
56
|
+
|
|
57
|
+
logger.info(`[milady] ${restartText}`);
|
|
58
|
+
|
|
59
|
+
// Persist a "Restarting…" memory so it shows up in the message log.
|
|
60
|
+
try {
|
|
61
|
+
const restartMemory: Memory = {
|
|
62
|
+
id: crypto.randomUUID() as UUID,
|
|
63
|
+
entityId: runtime.agentId,
|
|
64
|
+
roomId: message.roomId,
|
|
65
|
+
worldId: message.worldId,
|
|
66
|
+
content: {
|
|
67
|
+
text: restartText,
|
|
68
|
+
source: "milady",
|
|
69
|
+
type: "system",
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
await runtime.createMemory(restartMemory, "messages");
|
|
73
|
+
} catch (err) {
|
|
74
|
+
// Non-fatal — the restart still proceeds even if the memory write fails.
|
|
75
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
76
|
+
logger.warn(`[milady] Could not persist restart memory: ${msg}`);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Schedule the restart slightly after returning so the response can be
|
|
80
|
+
// delivered to the user / channel before the process bounces.
|
|
81
|
+
setTimeout(() => {
|
|
82
|
+
requestRestart(reason);
|
|
83
|
+
}, SHUTDOWN_DELAY_MS);
|
|
84
|
+
|
|
85
|
+
return {
|
|
86
|
+
text: restartText,
|
|
87
|
+
success: true,
|
|
88
|
+
values: { restarting: true },
|
|
89
|
+
data: { reason },
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
parameters: [
|
|
94
|
+
{
|
|
95
|
+
name: "reason",
|
|
96
|
+
description: "Optional reason for the restart (logged for diagnostics).",
|
|
97
|
+
required: false,
|
|
98
|
+
schema: { type: "string" as const },
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import type { Action, Content, HandlerOptions } from "@elizaos/core";
|
|
2
|
+
|
|
3
|
+
type MessageTransportService = {
|
|
4
|
+
sendDirectMessage?: (
|
|
5
|
+
targetEntityId: string,
|
|
6
|
+
content: Content,
|
|
7
|
+
) => Promise<void>;
|
|
8
|
+
sendRoomMessage?: (targetRoomId: string, content: Content) => Promise<void>;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const sendMessageAction: Action = {
|
|
12
|
+
name: "SEND_MESSAGE",
|
|
13
|
+
similes: ["DM", "MESSAGE", "SEND_DM", "POST_MESSAGE"],
|
|
14
|
+
description:
|
|
15
|
+
"Send a message to a user or room on a specific platform/service using explicit parameters.",
|
|
16
|
+
|
|
17
|
+
validate: async () => true,
|
|
18
|
+
|
|
19
|
+
handler: async (runtime, _message, _state, options) => {
|
|
20
|
+
const params = (options as HandlerOptions | undefined)?.parameters;
|
|
21
|
+
const targetType =
|
|
22
|
+
params?.targetType === "user" || params?.targetType === "room"
|
|
23
|
+
? params.targetType
|
|
24
|
+
: null;
|
|
25
|
+
const source =
|
|
26
|
+
typeof params?.source === "string" ? params.source.trim() : "";
|
|
27
|
+
const target =
|
|
28
|
+
typeof params?.target === "string" ? params.target.trim() : "";
|
|
29
|
+
const text = typeof params?.text === "string" ? params.text.trim() : "";
|
|
30
|
+
|
|
31
|
+
if (!targetType || !source || !target || !text) {
|
|
32
|
+
return {
|
|
33
|
+
text: "SEND_MESSAGE requires targetType, source, target, and text parameters.",
|
|
34
|
+
success: false,
|
|
35
|
+
values: {
|
|
36
|
+
success: false,
|
|
37
|
+
error: "INVALID_PARAMETERS",
|
|
38
|
+
},
|
|
39
|
+
data: {
|
|
40
|
+
actionName: "SEND_MESSAGE",
|
|
41
|
+
targetType,
|
|
42
|
+
source: source || null,
|
|
43
|
+
target: target || null,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const service = runtime.getService(
|
|
49
|
+
source,
|
|
50
|
+
) as MessageTransportService | null;
|
|
51
|
+
if (!service) {
|
|
52
|
+
return {
|
|
53
|
+
text: `Message service '${source}' is not available.`,
|
|
54
|
+
success: false,
|
|
55
|
+
values: {
|
|
56
|
+
success: false,
|
|
57
|
+
error: "SERVICE_NOT_FOUND",
|
|
58
|
+
},
|
|
59
|
+
data: {
|
|
60
|
+
actionName: "SEND_MESSAGE",
|
|
61
|
+
targetType,
|
|
62
|
+
source,
|
|
63
|
+
target,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (targetType === "user") {
|
|
69
|
+
if (!service.sendDirectMessage) {
|
|
70
|
+
return {
|
|
71
|
+
text: `Direct messaging is not supported by '${source}'.`,
|
|
72
|
+
success: false,
|
|
73
|
+
values: {
|
|
74
|
+
success: false,
|
|
75
|
+
error: "DIRECT_MESSAGE_UNSUPPORTED",
|
|
76
|
+
},
|
|
77
|
+
data: {
|
|
78
|
+
actionName: "SEND_MESSAGE",
|
|
79
|
+
targetType,
|
|
80
|
+
source,
|
|
81
|
+
target,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
await service.sendDirectMessage(target, { text, source });
|
|
86
|
+
return {
|
|
87
|
+
text: `Message sent to user ${target} on ${source}.`,
|
|
88
|
+
success: true,
|
|
89
|
+
values: {
|
|
90
|
+
success: true,
|
|
91
|
+
targetType,
|
|
92
|
+
source,
|
|
93
|
+
target,
|
|
94
|
+
},
|
|
95
|
+
data: {
|
|
96
|
+
actionName: "SEND_MESSAGE",
|
|
97
|
+
targetType,
|
|
98
|
+
source,
|
|
99
|
+
target,
|
|
100
|
+
text,
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (!service.sendRoomMessage) {
|
|
106
|
+
return {
|
|
107
|
+
text: `Room messaging is not supported by '${source}'.`,
|
|
108
|
+
success: false,
|
|
109
|
+
values: {
|
|
110
|
+
success: false,
|
|
111
|
+
error: "ROOM_MESSAGE_UNSUPPORTED",
|
|
112
|
+
},
|
|
113
|
+
data: {
|
|
114
|
+
actionName: "SEND_MESSAGE",
|
|
115
|
+
targetType,
|
|
116
|
+
source,
|
|
117
|
+
target,
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
await service.sendRoomMessage(target, { text, source });
|
|
122
|
+
return {
|
|
123
|
+
text: `Message sent to room ${target} on ${source}.`,
|
|
124
|
+
success: true,
|
|
125
|
+
values: {
|
|
126
|
+
success: true,
|
|
127
|
+
targetType,
|
|
128
|
+
source,
|
|
129
|
+
target,
|
|
130
|
+
},
|
|
131
|
+
data: {
|
|
132
|
+
actionName: "SEND_MESSAGE",
|
|
133
|
+
targetType,
|
|
134
|
+
source,
|
|
135
|
+
target,
|
|
136
|
+
text,
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
},
|
|
140
|
+
|
|
141
|
+
parameters: [
|
|
142
|
+
{
|
|
143
|
+
name: "targetType",
|
|
144
|
+
description: "Target entity type: user or room.",
|
|
145
|
+
required: true,
|
|
146
|
+
schema: { type: "string" as const, enum: ["user", "room"] },
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
name: "source",
|
|
150
|
+
description: "Messaging source/service name (e.g. telegram, discord).",
|
|
151
|
+
required: true,
|
|
152
|
+
schema: { type: "string" as const },
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: "target",
|
|
156
|
+
description:
|
|
157
|
+
"Target identifier. For users: entity ID/username. For rooms: room ID/name.",
|
|
158
|
+
required: true,
|
|
159
|
+
schema: { type: "string" as const },
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
name: "text",
|
|
163
|
+
description: "Message text to send.",
|
|
164
|
+
required: true,
|
|
165
|
+
schema: { type: "string" as const },
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
};
|