@archipelagolab/lobi 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +164 -0
- package/ENDOFFILE +0 -0
- package/EOF +0 -0
- package/LICENSE +21 -0
- package/SPEC-SUPPORT.md +116 -0
- package/YAMLEND +0 -0
- package/api.ts +18 -0
- package/archipelagolab-lobi-1.0.0.tgz +0 -0
- package/auth-presence.ts +56 -0
- package/channel-plugin-api.ts +3 -0
- package/cli-metadata.ts +11 -0
- package/contract-api.ts +17 -0
- package/docs/CHECKLIST.md +83 -0
- package/docs/FORK_SDK_GUIDE.md +279 -0
- package/helper-api.ts +3 -0
- package/index.test.ts +61 -0
- package/index.ts +65 -0
- package/openclaw.plugin.json +23 -0
- package/package.json +52 -0
- package/plugin-entry.handlers.runtime.ts +1 -0
- package/runtime-api.ts +54 -0
- package/runtime-heavy-api.ts +1 -0
- package/scripts/migrate-to-lobi.sh +72 -0
- package/secret-contract-api.ts +5 -0
- package/setup-entry.ts +13 -0
- package/src/account-selection.test.ts +124 -0
- package/src/account-selection.ts +226 -0
- package/src/actions.account-propagation.test.ts +251 -0
- package/src/actions.test.ts +251 -0
- package/src/actions.ts +336 -0
- package/src/approval-auth.test.ts +23 -0
- package/src/approval-auth.ts +25 -0
- package/src/approval-handler.runtime.test.ts +46 -0
- package/src/approval-handler.runtime.ts +400 -0
- package/src/approval-ids.ts +6 -0
- package/src/approval-native.test.ts +329 -0
- package/src/approval-native.ts +336 -0
- package/src/approval-reactions.test.ts +107 -0
- package/src/approval-reactions.ts +158 -0
- package/src/auth-precedence.ts +61 -0
- package/src/channel-account-paths.ts +92 -0
- package/src/channel.account-paths.test.ts +102 -0
- package/src/channel.directory.test.ts +601 -0
- package/src/channel.resolve.test.ts +38 -0
- package/src/channel.runtime.ts +16 -0
- package/src/channel.setup.test.ts +269 -0
- package/src/channel.ts +570 -0
- package/src/cli-metadata.ts +19 -0
- package/src/cli.test.ts +1015 -0
- package/src/cli.ts +1198 -0
- package/src/config-adapter.ts +41 -0
- package/src/config-schema.test.ts +90 -0
- package/src/config-schema.ts +114 -0
- package/src/directory-live.test.ts +200 -0
- package/src/directory-live.ts +238 -0
- package/src/doctor-contract.ts +287 -0
- package/src/doctor.test.ts +440 -0
- package/src/doctor.ts +262 -0
- package/src/env-vars.ts +92 -0
- package/src/exec-approval-resolver.test.ts +68 -0
- package/src/exec-approval-resolver.ts +23 -0
- package/src/exec-approvals.test.ts +483 -0
- package/src/exec-approvals.ts +290 -0
- package/src/group-mentions.ts +41 -0
- package/src/legacy-crypto-inspector-availability.test.ts +81 -0
- package/src/legacy-crypto-inspector-availability.ts +60 -0
- package/src/legacy-crypto.test.ts +234 -0
- package/src/legacy-crypto.ts +549 -0
- package/src/legacy-state.test.ts +86 -0
- package/src/legacy-state.ts +156 -0
- package/src/matrix/account-config.ts +150 -0
- package/src/matrix/accounts.readiness.test.ts +27 -0
- package/src/matrix/accounts.test.ts +757 -0
- package/src/matrix/accounts.ts +194 -0
- package/src/matrix/actions/client.test.ts +215 -0
- package/src/matrix/actions/client.ts +31 -0
- package/src/matrix/actions/devices.test.ts +114 -0
- package/src/matrix/actions/devices.ts +34 -0
- package/src/matrix/actions/limits.test.ts +15 -0
- package/src/matrix/actions/limits.ts +6 -0
- package/src/matrix/actions/messages.test.ts +289 -0
- package/src/matrix/actions/messages.ts +123 -0
- package/src/matrix/actions/pins.test.ts +74 -0
- package/src/matrix/actions/pins.ts +64 -0
- package/src/matrix/actions/polls.test.ts +71 -0
- package/src/matrix/actions/polls.ts +109 -0
- package/src/matrix/actions/profile.test.ts +109 -0
- package/src/matrix/actions/profile.ts +37 -0
- package/src/matrix/actions/reactions.test.ts +135 -0
- package/src/matrix/actions/reactions.ts +59 -0
- package/src/matrix/actions/room.test.ts +79 -0
- package/src/matrix/actions/room.ts +71 -0
- package/src/matrix/actions/summary.test.ts +87 -0
- package/src/matrix/actions/summary.ts +88 -0
- package/src/matrix/actions/types.ts +82 -0
- package/src/matrix/actions/verification.test.ts +105 -0
- package/src/matrix/actions/verification.ts +237 -0
- package/src/matrix/actions.ts +37 -0
- package/src/matrix/active-client.ts +26 -0
- package/src/matrix/async-lock.ts +18 -0
- package/src/matrix/backup-health.ts +115 -0
- package/src/matrix/client/config-runtime-api.ts +14 -0
- package/src/matrix/client/config-secret-input.runtime.ts +1 -0
- package/src/matrix/client/config.ts +982 -0
- package/src/matrix/client/create-client.test.ts +115 -0
- package/src/matrix/client/create-client.ts +101 -0
- package/src/matrix/client/env-auth.ts +6 -0
- package/src/matrix/client/file-sync-store.test.ts +265 -0
- package/src/matrix/client/file-sync-store.ts +289 -0
- package/src/matrix/client/logging.ts +123 -0
- package/src/matrix/client/migration-snapshot.runtime.ts +1 -0
- package/src/matrix/client/private-network-host.ts +56 -0
- package/src/matrix/client/runtime.ts +4 -0
- package/src/matrix/client/shared.test.ts +344 -0
- package/src/matrix/client/shared.ts +306 -0
- package/src/matrix/client/storage.test.ts +634 -0
- package/src/matrix/client/storage.ts +544 -0
- package/src/matrix/client/types.ts +50 -0
- package/src/matrix/client-bootstrap.test.ts +84 -0
- package/src/matrix/client-bootstrap.ts +164 -0
- package/src/matrix/client-resolver.test-helpers.ts +147 -0
- package/src/matrix/client.test.ts +1521 -0
- package/src/matrix/client.ts +23 -0
- package/src/matrix/config-paths.ts +31 -0
- package/src/matrix/config-update.test.ts +237 -0
- package/src/matrix/config-update.ts +291 -0
- package/src/matrix/credentials-read.ts +206 -0
- package/src/matrix/credentials-write.runtime.ts +26 -0
- package/src/matrix/credentials.test.ts +501 -0
- package/src/matrix/credentials.ts +95 -0
- package/src/matrix/deps.test.ts +74 -0
- package/src/matrix/deps.ts +225 -0
- package/src/matrix/device-health.test.ts +45 -0
- package/src/matrix/device-health.ts +31 -0
- package/src/matrix/direct-management.test.ts +350 -0
- package/src/matrix/direct-management.ts +347 -0
- package/src/matrix/direct-room.test.ts +61 -0
- package/src/matrix/direct-room.ts +128 -0
- package/src/matrix/draft-stream.test.ts +406 -0
- package/src/matrix/draft-stream.ts +216 -0
- package/src/matrix/encryption-guidance.ts +27 -0
- package/src/matrix/errors.ts +21 -0
- package/src/matrix/format.test.ts +340 -0
- package/src/matrix/format.ts +428 -0
- package/src/matrix/legacy-crypto-inspector.ts +95 -0
- package/src/matrix/media-errors.ts +20 -0
- package/src/matrix/media-text.ts +169 -0
- package/src/matrix/monitor/access-state.test.ts +45 -0
- package/src/matrix/monitor/access-state.ts +77 -0
- package/src/matrix/monitor/ack-config.test.ts +57 -0
- package/src/matrix/monitor/ack-config.ts +26 -0
- package/src/matrix/monitor/allowlist.test.ts +45 -0
- package/src/matrix/monitor/allowlist.ts +94 -0
- package/src/matrix/monitor/auto-join.test.ts +203 -0
- package/src/matrix/monitor/auto-join.ts +86 -0
- package/src/matrix/monitor/config.test.ts +197 -0
- package/src/matrix/monitor/config.ts +303 -0
- package/src/matrix/monitor/context-summary.ts +43 -0
- package/src/matrix/monitor/direct.test.ts +529 -0
- package/src/matrix/monitor/direct.ts +270 -0
- package/src/matrix/monitor/events.test.ts +1524 -0
- package/src/matrix/monitor/events.ts +213 -0
- package/src/matrix/monitor/handler.body-for-agent.test.ts +396 -0
- package/src/matrix/monitor/handler.group-history.test.ts +648 -0
- package/src/matrix/monitor/handler.media-failure.test.ts +267 -0
- package/src/matrix/monitor/handler.test-helpers.ts +308 -0
- package/src/matrix/monitor/handler.test.ts +2952 -0
- package/src/matrix/monitor/handler.thread-root-media.test.ts +82 -0
- package/src/matrix/monitor/handler.ts +1679 -0
- package/src/matrix/monitor/inbound-dedupe.test.ts +146 -0
- package/src/matrix/monitor/inbound-dedupe.ts +267 -0
- package/src/matrix/monitor/index.test.ts +920 -0
- package/src/matrix/monitor/index.ts +434 -0
- package/src/matrix/monitor/legacy-crypto-restore.test.ts +206 -0
- package/src/matrix/monitor/legacy-crypto-restore.ts +139 -0
- package/src/matrix/monitor/location.ts +100 -0
- package/src/matrix/monitor/media.test.ts +159 -0
- package/src/matrix/monitor/media.ts +119 -0
- package/src/matrix/monitor/mentions.test.ts +289 -0
- package/src/matrix/monitor/mentions.ts +177 -0
- package/src/matrix/monitor/reaction-events.test.ts +326 -0
- package/src/matrix/monitor/reaction-events.ts +187 -0
- package/src/matrix/monitor/recent-invite.test.ts +92 -0
- package/src/matrix/monitor/recent-invite.ts +30 -0
- package/src/matrix/monitor/replies.test.ts +265 -0
- package/src/matrix/monitor/replies.ts +136 -0
- package/src/matrix/monitor/reply-context.test.ts +276 -0
- package/src/matrix/monitor/reply-context.ts +92 -0
- package/src/matrix/monitor/room-history.test.ts +258 -0
- package/src/matrix/monitor/room-history.ts +301 -0
- package/src/matrix/monitor/room-info.test.ts +201 -0
- package/src/matrix/monitor/room-info.ts +126 -0
- package/src/matrix/monitor/rooms.test.ts +121 -0
- package/src/matrix/monitor/rooms.ts +52 -0
- package/src/matrix/monitor/route.test.ts +255 -0
- package/src/matrix/monitor/route.ts +178 -0
- package/src/matrix/monitor/runtime-api.ts +31 -0
- package/src/matrix/monitor/startup-verification.test.ts +294 -0
- package/src/matrix/monitor/startup-verification.ts +237 -0
- package/src/matrix/monitor/startup.test.ts +257 -0
- package/src/matrix/monitor/startup.ts +218 -0
- package/src/matrix/monitor/status.ts +111 -0
- package/src/matrix/monitor/sync-lifecycle.test.ts +224 -0
- package/src/matrix/monitor/sync-lifecycle.ts +91 -0
- package/src/matrix/monitor/task-runner.ts +38 -0
- package/src/matrix/monitor/thread-context.test.ts +149 -0
- package/src/matrix/monitor/thread-context.ts +108 -0
- package/src/matrix/monitor/threads.test.ts +68 -0
- package/src/matrix/monitor/threads.ts +85 -0
- package/src/matrix/monitor/types.ts +30 -0
- package/src/matrix/monitor/verification-events.ts +627 -0
- package/src/matrix/monitor/verification-utils.test.ts +47 -0
- package/src/matrix/monitor/verification-utils.ts +46 -0
- package/src/matrix/outbound-media-runtime.ts +1 -0
- package/src/matrix/poll-summary.ts +110 -0
- package/src/matrix/poll-types.test.ts +205 -0
- package/src/matrix/poll-types.ts +433 -0
- package/src/matrix/probe.runtime.ts +4 -0
- package/src/matrix/probe.test.ts +154 -0
- package/src/matrix/probe.ts +96 -0
- package/src/matrix/profile.test.ts +154 -0
- package/src/matrix/profile.ts +184 -0
- package/src/matrix/reaction-common.test.ts +96 -0
- package/src/matrix/reaction-common.ts +147 -0
- package/src/matrix/sdk/crypto-bootstrap.test.ts +505 -0
- package/src/matrix/sdk/crypto-bootstrap.ts +341 -0
- package/src/matrix/sdk/crypto-facade.test.ts +197 -0
- package/src/matrix/sdk/crypto-facade.ts +207 -0
- package/src/matrix/sdk/crypto-node.runtime.test.ts +27 -0
- package/src/matrix/sdk/crypto-node.runtime.ts +9 -0
- package/src/matrix/sdk/crypto-runtime.ts +11 -0
- package/src/matrix/sdk/decrypt-bridge.ts +356 -0
- package/src/matrix/sdk/event-helpers.test.ts +60 -0
- package/src/matrix/sdk/event-helpers.ts +71 -0
- package/src/matrix/sdk/http-client.test.ts +134 -0
- package/src/matrix/sdk/http-client.ts +87 -0
- package/src/matrix/sdk/idb-persistence-lock.ts +51 -0
- package/src/matrix/sdk/idb-persistence.lock-order.test.ts +108 -0
- package/src/matrix/sdk/idb-persistence.test-helpers.ts +88 -0
- package/src/matrix/sdk/idb-persistence.test.ts +149 -0
- package/src/matrix/sdk/idb-persistence.ts +283 -0
- package/src/matrix/sdk/logger.test.ts +25 -0
- package/src/matrix/sdk/logger.ts +108 -0
- package/src/matrix/sdk/read-response-with-limit.ts +19 -0
- package/src/matrix/sdk/recovery-key-store.test.ts +385 -0
- package/src/matrix/sdk/recovery-key-store.ts +430 -0
- package/src/matrix/sdk/transport.test.ts +161 -0
- package/src/matrix/sdk/transport.ts +344 -0
- package/src/matrix/sdk/types.ts +236 -0
- package/src/matrix/sdk/verification-manager.test.ts +509 -0
- package/src/matrix/sdk/verification-manager.ts +694 -0
- package/src/matrix/sdk/verification-status.ts +23 -0
- package/src/matrix/sdk.test.ts +2568 -0
- package/src/matrix/sdk.ts +1789 -0
- package/src/matrix/send/client.test.ts +174 -0
- package/src/matrix/send/client.ts +90 -0
- package/src/matrix/send/formatting.ts +189 -0
- package/src/matrix/send/media.ts +244 -0
- package/src/matrix/send/targets.test.ts +254 -0
- package/src/matrix/send/targets.ts +104 -0
- package/src/matrix/send/types.ts +134 -0
- package/src/matrix/send.test.ts +958 -0
- package/src/matrix/send.ts +609 -0
- package/src/matrix/session-store-metadata.ts +108 -0
- package/src/matrix/startup-abort.ts +44 -0
- package/src/matrix/sync-state.ts +27 -0
- package/src/matrix/target-ids.ts +102 -0
- package/src/matrix/thread-bindings-shared.ts +201 -0
- package/src/matrix/thread-bindings.test.ts +673 -0
- package/src/matrix/thread-bindings.ts +577 -0
- package/src/matrix-migration.runtime.ts +9 -0
- package/src/migration-config.test.ts +228 -0
- package/src/migration-config.ts +243 -0
- package/src/migration-snapshot-backup.ts +117 -0
- package/src/migration-snapshot.test.ts +184 -0
- package/src/migration-snapshot.ts +55 -0
- package/src/onboarding.resolve.test.ts +55 -0
- package/src/onboarding.test-harness.ts +158 -0
- package/src/onboarding.test.ts +665 -0
- package/src/onboarding.ts +773 -0
- package/src/outbound.test.ts +173 -0
- package/src/outbound.ts +78 -0
- package/src/plugin-entry.runtime.js +159 -0
- package/src/plugin-entry.runtime.test.ts +108 -0
- package/src/plugin-entry.runtime.ts +68 -0
- package/src/profile-update.ts +68 -0
- package/src/record-shared.ts +3 -0
- package/src/resolve-targets.test.ts +178 -0
- package/src/resolve-targets.ts +175 -0
- package/src/resolver.ts +21 -0
- package/src/runtime-api.ts +144 -0
- package/src/runtime.ts +7 -0
- package/src/secret-contract.ts +174 -0
- package/src/session-route.test.ts +315 -0
- package/src/session-route.ts +113 -0
- package/src/setup-bootstrap.ts +94 -0
- package/src/setup-config.ts +222 -0
- package/src/setup-contract.ts +89 -0
- package/src/setup-core.test.ts +326 -0
- package/src/setup-core.ts +50 -0
- package/src/setup-surface.ts +4 -0
- package/src/startup-maintenance.test.ts +227 -0
- package/src/startup-maintenance.ts +114 -0
- package/src/storage-paths.ts +92 -0
- package/src/test-helpers.ts +42 -0
- package/src/test-mocks.ts +55 -0
- package/src/test-runtime.ts +72 -0
- package/src/test-support/monitor-route-test-support.ts +8 -0
- package/src/tool-actions.runtime.ts +1 -0
- package/src/tool-actions.test.ts +422 -0
- package/src/tool-actions.ts +498 -0
- package/src/types.ts +230 -0
- package/test-api.ts +2 -0
- package/thread-bindings-runtime.ts +4 -0
- package/tsconfig.json +16 -0
package/src/types.ts
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ContextVisibilityMode,
|
|
3
|
+
DmPolicy,
|
|
4
|
+
GroupPolicy,
|
|
5
|
+
OpenClawConfig,
|
|
6
|
+
SecretInput,
|
|
7
|
+
} from "./runtime-api.js";
|
|
8
|
+
export type { ContextVisibilityMode, DmPolicy, GroupPolicy };
|
|
9
|
+
|
|
10
|
+
export type ReplyToMode = "off" | "first" | "all" | "batched";
|
|
11
|
+
|
|
12
|
+
export type MatrixDmConfig = {
|
|
13
|
+
/** If false, ignore all incoming Matrix DMs. Default: true. */
|
|
14
|
+
enabled?: boolean;
|
|
15
|
+
/** Direct message access policy (default: pairing). */
|
|
16
|
+
policy?: DmPolicy;
|
|
17
|
+
/** Allowlist for DM senders (matrix user IDs or "*"). */
|
|
18
|
+
allowFrom?: Array<string | number>;
|
|
19
|
+
/**
|
|
20
|
+
* How Matrix DMs map to sessions.
|
|
21
|
+
* - `per-user` (default): all DM rooms with the same routed peer share one DM session.
|
|
22
|
+
* - `per-room`: each Matrix DM room gets its own session key.
|
|
23
|
+
*/
|
|
24
|
+
sessionScope?: "per-user" | "per-room";
|
|
25
|
+
/** Per-DM thread reply behavior override (off|inbound|always). Overrides top-level threadReplies for direct messages. */
|
|
26
|
+
threadReplies?: "off" | "inbound" | "always";
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export type MatrixRoomConfig = {
|
|
30
|
+
/** Restrict this room entry to a specific Matrix account in multi-account setups. */
|
|
31
|
+
account?: string;
|
|
32
|
+
/** If false, disable the bot in this room. */
|
|
33
|
+
enabled?: boolean;
|
|
34
|
+
/** Require mentioning the bot to trigger replies. */
|
|
35
|
+
requireMention?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Allow messages from other configured Matrix bot accounts.
|
|
38
|
+
* true accepts all configured bot senders; "mentions" requires they mention this bot.
|
|
39
|
+
*/
|
|
40
|
+
allowBots?: boolean | "mentions";
|
|
41
|
+
/** Optional tool policy overrides for this room. */
|
|
42
|
+
tools?: { allow?: string[]; deny?: string[] };
|
|
43
|
+
/** If true, reply without mention requirements. */
|
|
44
|
+
autoReply?: boolean;
|
|
45
|
+
/** Optional allowlist for room senders (matrix user IDs). */
|
|
46
|
+
users?: Array<string | number>;
|
|
47
|
+
/** Optional skill filter for this room. */
|
|
48
|
+
skills?: string[];
|
|
49
|
+
/** Optional system prompt snippet for this room. */
|
|
50
|
+
systemPrompt?: string;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export type MatrixActionConfig = {
|
|
54
|
+
reactions?: boolean;
|
|
55
|
+
messages?: boolean;
|
|
56
|
+
pins?: boolean;
|
|
57
|
+
profile?: boolean;
|
|
58
|
+
memberInfo?: boolean;
|
|
59
|
+
channelInfo?: boolean;
|
|
60
|
+
verification?: boolean;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export type MatrixThreadBindingsConfig = {
|
|
64
|
+
enabled?: boolean;
|
|
65
|
+
idleHours?: number;
|
|
66
|
+
maxAgeHours?: number;
|
|
67
|
+
spawnSubagentSessions?: boolean;
|
|
68
|
+
spawnAcpSessions?: boolean;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export type MatrixExecApprovalTarget = "dm" | "channel" | "both";
|
|
72
|
+
|
|
73
|
+
export type MatrixExecApprovalConfig = {
|
|
74
|
+
/** If true, deliver exec approvals through Matrix-native prompts. */
|
|
75
|
+
enabled?: boolean;
|
|
76
|
+
/** Optional approver Matrix user IDs. Falls back to dm.allowFrom. */
|
|
77
|
+
approvers?: Array<string | number>;
|
|
78
|
+
/** Optional agent allowlist for approval delivery. */
|
|
79
|
+
agentFilter?: string[];
|
|
80
|
+
/** Optional session allowlist for approval delivery. */
|
|
81
|
+
sessionFilter?: string[];
|
|
82
|
+
/** Where approval prompts should go. Default: dm. */
|
|
83
|
+
target?: MatrixExecApprovalTarget;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export type MatrixStreamingMode = "partial" | "quiet" | "off";
|
|
87
|
+
|
|
88
|
+
export type MatrixNetworkConfig = {
|
|
89
|
+
/** Dangerous opt-in for trusted private/internal Matrix homeservers. */
|
|
90
|
+
dangerouslyAllowPrivateNetwork?: boolean;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/** Per-account Matrix config (excludes the accounts field to prevent recursion). */
|
|
94
|
+
export type MatrixAccountConfig = Omit<MatrixConfig, "accounts">;
|
|
95
|
+
|
|
96
|
+
export type MatrixConfig = {
|
|
97
|
+
/** Optional display name for this account (used in CLI/UI lists). */
|
|
98
|
+
name?: string;
|
|
99
|
+
/** If false, do not start Matrix. Default: true. */
|
|
100
|
+
enabled?: boolean;
|
|
101
|
+
/** Multi-account configuration keyed by account ID. */
|
|
102
|
+
accounts?: Record<string, MatrixAccountConfig>;
|
|
103
|
+
/** Optional default account id when multiple accounts are configured. */
|
|
104
|
+
defaultAccount?: string;
|
|
105
|
+
/** Matrix homeserver URL (https://matrix.example.org). */
|
|
106
|
+
homeserver?: string;
|
|
107
|
+
/** Network policy overrides for trusted private/internal Matrix homeservers. */
|
|
108
|
+
network?: MatrixNetworkConfig;
|
|
109
|
+
/** Optional HTTP(S) proxy URL for Matrix connections (e.g. http://127.0.0.1:7890). */
|
|
110
|
+
proxy?: string;
|
|
111
|
+
/** Matrix user id (@user:server). */
|
|
112
|
+
userId?: string;
|
|
113
|
+
/** Matrix access token. */
|
|
114
|
+
accessToken?: SecretInput;
|
|
115
|
+
/** Matrix password (used only to fetch access token). */
|
|
116
|
+
password?: SecretInput;
|
|
117
|
+
/** Optional Matrix device id (recommended when using access tokens + E2EE). */
|
|
118
|
+
deviceId?: string;
|
|
119
|
+
/** Optional device name when logging in via password. */
|
|
120
|
+
deviceName?: string;
|
|
121
|
+
/** Optional desired Matrix avatar source (mxc:// or http(s) URL). */
|
|
122
|
+
avatarUrl?: string;
|
|
123
|
+
/** Initial sync limit for startup (defaults to matrix-js-sdk behavior). */
|
|
124
|
+
initialSyncLimit?: number;
|
|
125
|
+
/** Enable end-to-end encryption (E2EE). Default: false. */
|
|
126
|
+
encryption?: boolean;
|
|
127
|
+
/** If true, enforce allowlists for groups + DMs regardless of policy. */
|
|
128
|
+
allowlistOnly?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Allow messages from other configured Matrix bot accounts.
|
|
131
|
+
* true accepts all configured bot senders; "mentions" requires they mention this bot.
|
|
132
|
+
*/
|
|
133
|
+
allowBots?: boolean | "mentions";
|
|
134
|
+
/** Group message policy (default: allowlist). */
|
|
135
|
+
groupPolicy?: GroupPolicy;
|
|
136
|
+
/** Supplemental context visibility policy (all|allowlist|allowlist_quote). */
|
|
137
|
+
contextVisibility?: ContextVisibilityMode;
|
|
138
|
+
/**
|
|
139
|
+
* Enable shared block-streaming replies for Matrix.
|
|
140
|
+
*
|
|
141
|
+
* Default: false. Matrix keeps `streaming: "off"` as final-only delivery
|
|
142
|
+
* unless block streaming is explicitly enabled.
|
|
143
|
+
*/
|
|
144
|
+
blockStreaming?: boolean;
|
|
145
|
+
/** Allowlist for group senders (matrix user IDs). */
|
|
146
|
+
groupAllowFrom?: Array<string | number>;
|
|
147
|
+
/** Control reply threading when reply tags are present (off|first|all|batched). */
|
|
148
|
+
replyToMode?: ReplyToMode;
|
|
149
|
+
/** How to handle thread replies (off|inbound|always). */
|
|
150
|
+
threadReplies?: "off" | "inbound" | "always";
|
|
151
|
+
/** Outbound text chunk size (chars). Default: 4000. */
|
|
152
|
+
textChunkLimit?: number;
|
|
153
|
+
/** Chunking mode: "length" (default) splits by size; "newline" splits on every newline. */
|
|
154
|
+
chunkMode?: "length" | "newline";
|
|
155
|
+
/** Outbound response prefix override for this channel/account. */
|
|
156
|
+
responsePrefix?: string;
|
|
157
|
+
/** Ack reaction emoji override for this channel/account. */
|
|
158
|
+
ackReaction?: string;
|
|
159
|
+
/** Ack reaction scope override for this channel/account. */
|
|
160
|
+
ackReactionScope?: "group-mentions" | "group-all" | "direct" | "all" | "none" | "off";
|
|
161
|
+
/** Inbound reaction notifications for bot-authored Matrix messages. */
|
|
162
|
+
reactionNotifications?: "off" | "own";
|
|
163
|
+
/** Thread/session binding behavior for Matrix room threads. */
|
|
164
|
+
threadBindings?: MatrixThreadBindingsConfig;
|
|
165
|
+
/** Whether Matrix should auto-request self verification on startup when unverified. */
|
|
166
|
+
startupVerification?: "off" | "if-unverified";
|
|
167
|
+
/** Cooldown window for automatic startup verification requests. Default: 24 hours. */
|
|
168
|
+
startupVerificationCooldownHours?: number;
|
|
169
|
+
/** Max outbound media size in MB. */
|
|
170
|
+
mediaMaxMb?: number;
|
|
171
|
+
/**
|
|
172
|
+
* Number of recent room messages shown to the agent as context when it is mentioned
|
|
173
|
+
* in a group chat (0 = disabled). Applies to room messages that did not directly
|
|
174
|
+
* trigger a reply. Default: 0 (disabled).
|
|
175
|
+
*/
|
|
176
|
+
historyLimit?: number;
|
|
177
|
+
/** Auto-join invites (always|allowlist|off). Default: off. */
|
|
178
|
+
autoJoin?: "always" | "allowlist" | "off";
|
|
179
|
+
/** Allowlist for auto-join invites (room IDs, aliases). */
|
|
180
|
+
autoJoinAllowlist?: Array<string | number>;
|
|
181
|
+
/** Direct message policy + allowlist overrides. */
|
|
182
|
+
dm?: MatrixDmConfig;
|
|
183
|
+
/** Matrix-native exec approval delivery config. */
|
|
184
|
+
execApprovals?: MatrixExecApprovalConfig;
|
|
185
|
+
/** Room config allowlist keyed by room ID or alias (names resolved to IDs when possible). */
|
|
186
|
+
groups?: Record<string, MatrixRoomConfig>;
|
|
187
|
+
/** Room config allowlist keyed by room ID or alias. Legacy; use groups. */
|
|
188
|
+
rooms?: Record<string, MatrixRoomConfig>;
|
|
189
|
+
/** Per-action tool gating (default: true for all). */
|
|
190
|
+
actions?: MatrixActionConfig;
|
|
191
|
+
/**
|
|
192
|
+
* Streaming mode for Matrix replies.
|
|
193
|
+
* - `"partial"`: edit a single draft message in place for the current
|
|
194
|
+
* assistant block as the model generates text using normal Matrix text
|
|
195
|
+
* messages. This preserves legacy preview-first notification behavior.
|
|
196
|
+
* - `"quiet"`: edit a single quiet draft notice in place for the current
|
|
197
|
+
* assistant block as the model generates text.
|
|
198
|
+
* - `"off"`: deliver the full reply once the model finishes.
|
|
199
|
+
* - Use `blockStreaming: true` when you want completed assistant blocks to
|
|
200
|
+
* stay visible as separate progress messages. When combined with
|
|
201
|
+
* preview streaming, Matrix keeps a live draft for the current block and
|
|
202
|
+
* preserves completed blocks as separate messages.
|
|
203
|
+
* - `true` maps to `"partial"`, `false` maps to `"off"` for backward
|
|
204
|
+
* compatibility.
|
|
205
|
+
* Default: `"off"`.
|
|
206
|
+
*/
|
|
207
|
+
streaming?: MatrixStreamingMode | boolean;
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
export type CoreConfig = {
|
|
211
|
+
channels?: {
|
|
212
|
+
lobi?: MatrixConfig;
|
|
213
|
+
defaults?: {
|
|
214
|
+
groupPolicy?: "open" | "allowlist" | "disabled";
|
|
215
|
+
contextVisibility?: ContextVisibilityMode;
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
commands?: {
|
|
219
|
+
useAccessGroups?: boolean;
|
|
220
|
+
};
|
|
221
|
+
session?: {
|
|
222
|
+
store?: string;
|
|
223
|
+
};
|
|
224
|
+
messages?: {
|
|
225
|
+
ackReaction?: string;
|
|
226
|
+
ackReactionScope?: "group-mentions" | "group-all" | "direct" | "all" | "none" | "off";
|
|
227
|
+
};
|
|
228
|
+
secrets?: OpenClawConfig["secrets"];
|
|
229
|
+
[key: string]: unknown;
|
|
230
|
+
};
|
package/test-api.ts
ADDED
package/tsconfig.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../tsconfig.package-boundary.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"rootDir": "."
|
|
5
|
+
},
|
|
6
|
+
"include": ["./*.ts", "./src/**/*.ts"],
|
|
7
|
+
"exclude": [
|
|
8
|
+
"./**/*.test.ts",
|
|
9
|
+
"./dist/**",
|
|
10
|
+
"./node_modules/**",
|
|
11
|
+
"./src/test-support/**",
|
|
12
|
+
"./src/**/*test-helpers.ts",
|
|
13
|
+
"./src/**/*test-harness.ts",
|
|
14
|
+
"./src/**/*test-support.ts"
|
|
15
|
+
]
|
|
16
|
+
}
|