openclaw-openagent 1.0.12 → 1.0.14
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/dist/index.js +2 -0
- package/dist/src/config/config-schema.d.ts +9 -0
- package/dist/src/config/config-schema.js +6 -0
- package/dist/src/messaging/executor.d.ts +2 -3
- package/dist/src/messaging/executor.js +4 -31
- package/dist/src/plugin-ui/assets/openagent-override.js +124 -18
- package/dist/src/proxy/auth-proxy.js +5 -0
- package/dist/src/runtime/update-checker.d.ts +18 -0
- package/dist/src/runtime/update-checker.js +216 -0
- package/index.ts +3 -0
- package/package.json +1 -3
- package/src/app/channel-tools.ts +0 -249
- package/src/app/discovery-tools.ts +0 -273
- package/src/app/download-file-tool.ts +0 -133
- package/src/app/hooks.ts +0 -144
- package/src/app/index.ts +0 -84
- package/src/app/messaging-tools.ts +0 -79
- package/src/app/ops-tools.ts +0 -155
- package/src/app/remote-agent-tool.ts +0 -762
- package/src/app/types.ts +0 -68
- package/src/app/upload-file-tool.ts +0 -411
- package/src/app/verbose-preflight.ts +0 -190
- package/src/auth/config.ts +0 -266
- package/src/auth/credential-manager.ts +0 -146
- package/src/auth/index.ts +0 -24
- package/src/auth/verify.ts +0 -99
- package/src/channel.ts +0 -566
- package/src/compat.ts +0 -94
- package/src/config/config-schema.ts +0 -39
- package/src/messaging/aggregator.ts +0 -120
- package/src/messaging/collector.ts +0 -89
- package/src/messaging/executor.ts +0 -72
- package/src/messaging/inbound.ts +0 -150
- package/src/messaging/index.ts +0 -11
- package/src/messaging/mention-protocol.ts +0 -94
- package/src/messaging/process-c2c-request.ts +0 -564
- package/src/messaging/process-message.ts +0 -373
- package/src/messaging/scheduler.ts +0 -55
- package/src/messaging/types.ts +0 -38
- package/src/plugin-ui/adapters/oc-2026-04.js +0 -103
- package/src/plugin-ui/adapters/oc-2026-05.js +0 -125
- package/src/plugin-ui/adapters/oc-2026-06.js +0 -125
- package/src/plugin-ui/adapters/oc-unknown.js +0 -48
- package/src/plugin-ui/assets/agentbook-icon.svg +0 -5
- package/src/plugin-ui/assets/bg.png +0 -0
- package/src/plugin-ui/assets/icon.png +0 -0
- package/src/plugin-ui/assets/magic.svg +0 -5
- package/src/plugin-ui/assets/openagent-override.js +0 -11156
- package/src/plugin-ui/build.cjs +0 -463
- package/src/plugin-ui/index.ts +0 -18
- package/src/plugin-ui/modules/agent-book/panel/agent-book.js +0 -570
- package/src/plugin-ui/modules/agent-book/panel/agent-card.js +0 -170
- package/src/plugin-ui/modules/agent-book/panel/agent-data.js +0 -643
- package/src/plugin-ui/modules/agent-book/panel/inject-ui.js +0 -665
- package/src/plugin-ui/modules/agent-book/panel/mention-state.js +0 -206
- package/src/plugin-ui/modules/agent-book/panel/styles.js +0 -833
- package/src/plugin-ui/modules/agent-book/panel/theme-adapter.js +0 -86
- package/src/plugin-ui/modules/agent-book/remote-agent-tool/components-core.js +0 -295
- package/src/plugin-ui/modules/agent-book/remote-agent-tool/thought-chain-card.js +0 -211
- package/src/plugin-ui/modules/agent-book/scanner.js +0 -131
- package/src/plugin-ui/modules/agent-book/travelcard/travel-cards.js +0 -500
- package/src/plugin-ui/modules/agent-book/travelcard/travel-engine.js +0 -652
- package/src/plugin-ui/modules/agent-book/travelcard/travel-styles.js +0 -256
- package/src/plugin-ui/modules/loader/bootstrap.js +0 -38
- package/src/plugin-ui/modules/loader/shared-state.js +0 -838
- package/src/plugin-ui/modules/loader/ws-intercept.js +0 -199
- package/src/plugin-ui/modules/remote-agent/chunk-parser.js +0 -161
- package/src/plugin-ui/modules/remote-agent/execution-card.js +0 -530
- package/src/plugin-ui/modules/remote-agent/markdown-renderer.js +0 -256
- package/src/plugin-ui/modules/remote-agent/media-links.js +0 -151
- package/src/plugin-ui/modules/remote-agent/native-style-adapter.js +0 -134
- package/src/plugin-ui/modules/remote-agent/output-card.js +0 -342
- package/src/plugin-ui/modules/remote-agent/progress-store.js +0 -363
- package/src/plugin-ui/modules/remote-agent/render-hooks.js +0 -1700
- package/src/plugin-ui/modules/remote-agent/styles.js +0 -896
- package/src/plugin-ui/modules/remote-agent/tool-card-model.js +0 -130
- package/src/plugin-ui/postinstall-deploy.cjs +0 -52
- package/src/plugin-ui/ui-extension-loader/backup.ts +0 -92
- package/src/plugin-ui/ui-extension-loader/index.ts +0 -276
- package/src/plugin-ui/ui-extension-loader/locator.ts +0 -152
- package/src/plugin-ui/ui-extension-loader/manifest.ts +0 -57
- package/src/plugin-ui/ui-extension-loader/registry-regex.ts +0 -944
- package/src/plugin-ui/ui-extension-loader/removed-extensions.ts +0 -70
- package/src/plugin-ui/ui-extension-loader/types.ts +0 -72
- package/src/proxy/auth-proxy.ts +0 -409
- package/src/runtime/account.ts +0 -549
- package/src/runtime/index.ts +0 -7
- package/src/runtime/plugin-runtime.ts +0 -94
- package/src/runtime/registry.ts +0 -71
- package/src/sdk/CLASS_MAP.md +0 -143
- package/src/sdk/index.d.ts +0 -126
- package/src/sdk/index.js +0 -23990
- package/src/sdk/modules/cloud-search-module.js +0 -1117
- package/src/sdk/modules/follow-module.js +0 -1069
- package/src/sdk/modules/group-module.js +0 -7397
- package/src/sdk/modules/relationship-module.js +0 -2269
- package/src/sdk/modules/signaling-module.js +0 -1468
- package/src/sdk/modules/tim-upload-plugin.js +0 -730
- package/src/sdk/node-env/http-request.js +0 -90
- package/src/sdk/node-env/index.js +0 -57
- package/src/sdk/node-env/storage.js +0 -114
- package/src/sdk/package.json +0 -10
- package/src/sdk/tsconfig.json +0 -16
- package/src/state/pending-invocation-store.ts +0 -43
- package/src/state/store.ts +0 -756
- package/src/tim/c2c.ts +0 -451
- package/src/tim/channels.ts +0 -364
- package/src/tim/client.ts +0 -330
- package/src/tim/index.ts +0 -18
- package/src/tim/messages.ts +0 -166
- package/src/tim/sdk-logger-init.ts +0 -50
- package/src/tools.ts +0 -10
- package/src/transport/factory.ts +0 -95
- package/src/transport/oasn/index.ts +0 -17
- package/src/transport/oasn/oasn-agent-card.ts +0 -111
- package/src/transport/oasn/oasn-discovery.ts +0 -108
- package/src/transport/oasn/oasn-files.ts +0 -210
- package/src/transport/oasn/oasn-http.ts +0 -529
- package/src/transport/oasn/oasn-invocation.ts +0 -604
- package/src/transport/oasn/oasn-normalize.ts +0 -133
- package/src/transport/oasn/oasn-register.ts +0 -33
- package/src/transport/oasn/oasn-transport.ts +0 -318
- package/src/transport/oasn/oasn-types.ts +0 -404
- package/src/transport/tim/index.ts +0 -8
- package/src/transport/tim/tim-transport.ts +0 -515
- package/src/transport/types.ts +0 -538
- package/src/types/openclaw-plugin-sdk-media-store.d.ts +0 -9
- package/src/types/openclaw.d.ts +0 -97
- package/src/types/tencentcloud-chat.d.ts +0 -15
- package/src/util/http.ts +0 -113
- package/src/util/logger.ts +0 -131
- package/src/util/url-resolver.ts +0 -77
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* mention-state.js — @Mention 状态机
|
|
3
|
-
*
|
|
4
|
-
* 模拟 Tiptap suggestion.ts 的核心逻辑,适配原生 textarea。
|
|
5
|
-
* 纯逻辑模块,不依赖 DOM、不操作面板 UI。
|
|
6
|
-
*
|
|
7
|
-
* 参考:
|
|
8
|
-
* - TIM suggestion.ts apply() L508-568(状态计算)
|
|
9
|
-
* - TIM findSuggestionMatch.ts L37-77(@ 匹配)
|
|
10
|
-
* - TIM suggestion.ts L491, L543-563(dismissed 机制)
|
|
11
|
-
*
|
|
12
|
-
* 需求文档:024-B-at-mention-trigger-logic-v1.md
|
|
13
|
-
* §1.1 弹出条件(⑤光标范围 ⑥选区/输入法 ⑦dismissed)
|
|
14
|
-
* §1.3 关闭条件(③删@ ④空格 ⑤光标移走)
|
|
15
|
-
* §1.4 dismissed 机制
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
// ── 状态变量 ──
|
|
19
|
-
// 对标 TIM suggestion.ts 的 Plugin state
|
|
20
|
-
|
|
21
|
-
let _active = false; // 面板是否激活(suggestion.ts:474 prev.active / next.active)
|
|
22
|
-
let _anchorPos = -1; // @ 字符在 value 中的位置(suggestion.ts:558 next.range.from)
|
|
23
|
-
let _dismissedPos = null; // ESC 关闭时记录的 @ 位置(suggestion.ts:491 dismissedRange)
|
|
24
|
-
let _isComposing = false; // 输入法组合中(suggestion.ts:508 editor.view.composing)
|
|
25
|
-
|
|
26
|
-
// ── 前缀正则 ──
|
|
27
|
-
// CL 的前缀规则:空白、换行、CJK、全角标点
|
|
28
|
-
// 对标 inject-ui.js:110 现有逻辑,保持兼容
|
|
29
|
-
const PREFIX_RE = /[\s\n\u4e00-\u9fff\u3000-\u303f\uff00-\uffef]/;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* 在 value 中找光标前最近的有效 @ 位置。
|
|
33
|
-
*
|
|
34
|
-
* "有效" = @ 前面是允许的前缀(行首、空白、CJK、全角标点)。
|
|
35
|
-
* 从光标往前逐字符扫描,遇到空格则停止(不跨空格找 @)。
|
|
36
|
-
*
|
|
37
|
-
* 对标 findSuggestionMatch.ts:37-71
|
|
38
|
-
*
|
|
39
|
-
* @param {string} value - textarea.value
|
|
40
|
-
* @param {number} cursorPos - textarea.selectionStart
|
|
41
|
-
* @returns {number} @ 的位置索引,找不到返回 -1
|
|
42
|
-
*/
|
|
43
|
-
function findAtAnchor(value, cursorPos) {
|
|
44
|
-
for (let i = cursorPos - 1; i >= 0; i--) {
|
|
45
|
-
const ch = value[i];
|
|
46
|
-
if (ch === '@') {
|
|
47
|
-
// 行首 或 前一字符满足前缀条件
|
|
48
|
-
if (i === 0 || PREFIX_RE.test(value[i - 1])) {
|
|
49
|
-
return i;
|
|
50
|
-
}
|
|
51
|
-
// 前缀不合法(如 "hello@"),继续往前找?不,直接返回 -1
|
|
52
|
-
// 因为更前面的 @ 已经跟当前光标不连续了
|
|
53
|
-
return -1;
|
|
54
|
-
}
|
|
55
|
-
// @ 到光标之间只允许非空白字符(query 部分)
|
|
56
|
-
// 遇到空白就停止——说明光标已经离开 @xxx 范围
|
|
57
|
-
if (/\s/.test(ch)) return -1;
|
|
58
|
-
}
|
|
59
|
-
return -1;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* 核心函数:评估当前 textarea 状态,决定面板动作。
|
|
64
|
-
*
|
|
65
|
-
* 每次 textarea 内容变化 或 光标移动 时调用。
|
|
66
|
-
* 对标 suggestion.ts apply() L508-568。
|
|
67
|
-
*
|
|
68
|
-
* @param {string} value - textarea.value
|
|
69
|
-
* @param {number} cursorPos - textarea.selectionStart
|
|
70
|
-
* @param {number} selectionEnd - textarea.selectionEnd
|
|
71
|
-
* @returns {{ action: 'open'|'update'|'close'|'none', query: string, anchorPos: number }}
|
|
72
|
-
*/
|
|
73
|
-
function evaluateState(value, cursorPos, selectionEnd) {
|
|
74
|
-
const result = { action: 'none', query: '', anchorPos: -1 };
|
|
75
|
-
|
|
76
|
-
// ── 条件 ⑥ 前半:输入法组合中 → 不处理 ──
|
|
77
|
-
// 对标 suggestion.ts:508 "empty || editor.view.composing"
|
|
78
|
-
if (_isComposing) {
|
|
79
|
-
return result;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// ── 条件 ⑥ 后半:有文字选区 → 关闭 ──
|
|
83
|
-
if (cursorPos !== selectionEnd) {
|
|
84
|
-
if (_active) {
|
|
85
|
-
_active = false;
|
|
86
|
-
_anchorPos = -1;
|
|
87
|
-
return { action: 'close', query: '', anchorPos: -1 };
|
|
88
|
-
}
|
|
89
|
-
return result;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// ── 全空检测:输入框清空 → 关闭 + 清 dismissed ──
|
|
93
|
-
if (value.trim() === '') {
|
|
94
|
-
_dismissedPos = null;
|
|
95
|
-
if (_active) {
|
|
96
|
-
_active = false;
|
|
97
|
-
_anchorPos = -1;
|
|
98
|
-
return { action: 'close', query: '', anchorPos: -1 };
|
|
99
|
-
}
|
|
100
|
-
return result;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// ── 条件 ⑤:找光标前的有效 @ ──
|
|
104
|
-
const anchorPos = findAtAnchor(value, cursorPos);
|
|
105
|
-
|
|
106
|
-
if (anchorPos === -1) {
|
|
107
|
-
// 没有有效的 @ → 关闭 + 清 dismissed
|
|
108
|
-
// 对标 suggestion.ts:565 "if (!match) { next.dismissedRange = null }"
|
|
109
|
-
_dismissedPos = null;
|
|
110
|
-
if (_active) {
|
|
111
|
-
_active = false;
|
|
112
|
-
_anchorPos = -1;
|
|
113
|
-
return { action: 'close', query: '', anchorPos: -1 };
|
|
114
|
-
}
|
|
115
|
-
return result;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// ── 提取 query(@ 后面到光标的文字)──
|
|
119
|
-
const query = value.slice(anchorPos + 1, cursorPos);
|
|
120
|
-
|
|
121
|
-
// ── 条件:@ 后有空格 → 关闭 ──
|
|
122
|
-
// 对标 findSuggestionMatch.ts:33 正则不匹配含空格
|
|
123
|
-
// 注意:query 中出现空格说明用户已经结束 @mention 输入
|
|
124
|
-
if (/\s/.test(query)) {
|
|
125
|
-
_dismissedPos = null;
|
|
126
|
-
if (_active) {
|
|
127
|
-
_active = false;
|
|
128
|
-
_anchorPos = -1;
|
|
129
|
-
return { action: 'close', query: '', anchorPos: -1 };
|
|
130
|
-
}
|
|
131
|
-
return result;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// ── 条件 ⑦:dismissed 检查 ──
|
|
135
|
-
// 对标 suggestion.ts:543-563 "match.range.from === dismissedRange.from"
|
|
136
|
-
if (_dismissedPos !== null && _dismissedPos === anchorPos) {
|
|
137
|
-
// 同一个 @ 位置被 ESC 关闭过 → 不弹出
|
|
138
|
-
if (_active) {
|
|
139
|
-
_active = false;
|
|
140
|
-
_anchorPos = -1;
|
|
141
|
-
return { action: 'close', query: '', anchorPos: -1 };
|
|
142
|
-
}
|
|
143
|
-
return result;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// ── 所有条件满足 → 打开或更新 ──
|
|
147
|
-
if (!_active) {
|
|
148
|
-
_active = true;
|
|
149
|
-
_anchorPos = anchorPos;
|
|
150
|
-
return { action: 'open', query, anchorPos };
|
|
151
|
-
} else {
|
|
152
|
-
_anchorPos = anchorPos;
|
|
153
|
-
return { action: 'update', query, anchorPos };
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// ── 状态管理函数 ──
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* ESC 关闭时调用:记录 dismissed 位置。
|
|
161
|
-
* 对标 suggestion.ts:491 设置 dismissedRange。
|
|
162
|
-
*
|
|
163
|
-
* dismissed 恢复条件(§1.4):
|
|
164
|
-
* ① 输入空格 → evaluateState 检测到 query 含空格 → _dismissedPos 被清空
|
|
165
|
-
* ② 新位置输入 @ → anchorPos !== _dismissedPos → 不受 dismissed 影响
|
|
166
|
-
* ③ 删掉原 @ → anchorPos === -1 → _dismissedPos 被清空
|
|
167
|
-
*/
|
|
168
|
-
function setDismissed() {
|
|
169
|
-
_dismissedPos = _anchorPos;
|
|
170
|
-
_active = false;
|
|
171
|
-
_anchorPos = -1;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* 面板正常关闭(选中 Agent / 点击 backdrop / 点击 ✕)。
|
|
176
|
-
* 不设置 dismissed——下次输入 @ 应该能正常弹出。
|
|
177
|
-
*/
|
|
178
|
-
function closeMention() {
|
|
179
|
-
_active = false;
|
|
180
|
-
_anchorPos = -1;
|
|
181
|
-
// 不动 _dismissedPos
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* 完全重置(选中 Agent 后、@ 被删除后)。
|
|
186
|
-
* 清空所有状态包括 dismissed。
|
|
187
|
-
*/
|
|
188
|
-
function resetMention() {
|
|
189
|
-
_active = false;
|
|
190
|
-
_anchorPos = -1;
|
|
191
|
-
_dismissedPos = null;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* 设置输入法组合状态。
|
|
196
|
-
* 由 compositionstart / compositionend 事件驱动。
|
|
197
|
-
* @param {boolean} composing
|
|
198
|
-
*/
|
|
199
|
-
function setComposing(composing) {
|
|
200
|
-
_isComposing = composing;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
// ── 状态读取 ──
|
|
204
|
-
|
|
205
|
-
function isActive() { return _active; }
|
|
206
|
-
function getAnchorPos() { return _anchorPos; }
|