@ycodium-ai/plugin-im 0.2.2596 → 0.2.2658

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/locales/en.json CHANGED
@@ -82,7 +82,20 @@
82
82
  "projectArchived": "Project \"{{title}}\" is archived. Restore it, then message again.",
83
83
  "projectMissing": "The project bound to \"{{group}}\" is no longer on this machine (it may have been deleted), so a thread cannot be started. In Ycodium's chat settings, pick a project for this group again.",
84
84
  "threadGone": "The earlier session was deleted or archived, so this group now starts a new one.",
85
- "teamGone": "The team this group was sending to no longer exists, so messages go to a normal session again."
85
+ "teamGone": "The team this group was sending to no longer exists, so messages go to a normal session again.",
86
+ "attachmentReceived": "Got {{names}} ({{count}} waiting). Tell me what to do with them.",
87
+ "attachmentFailed": "Could not take {{name}}: {{reason}}.",
88
+ "attachmentReason": {
89
+ "tooLarge": "it is over the {{limit}} limit",
90
+ "downloadFailed": "the download failed",
91
+ "storeFailed": "it could not be saved",
92
+ "empty": "it is empty"
93
+ },
94
+ "attachmentLimit": "At most {{max}} attachments go with one message, so {{name}} was left out. Send a message about the current ones first.",
95
+ "attachmentsNoTeam": "Files cannot be sent to a team yet, so they were left out. Send /thread to go back to a normal session.",
96
+ "unsupportedType": "I can't process {{type}} messages yet.",
97
+ "unsupportedFolder": "Folders can't be downloaded. Zip it and send the archive instead.",
98
+ "sendingFile": "Sending {{name}}:"
86
99
  },
87
100
  "approval": {
88
101
  "allow": "Allow",
@@ -90,6 +103,50 @@
90
103
  "alreadyHandled": "Already handled",
91
104
  "replyHint": "Reply with the number."
92
105
  },
106
+ "question": {
107
+ "title": "❓ Question",
108
+ "planTitle": "📝 Plan review",
109
+ "planApprove": "Approve plan",
110
+ "planApproveHint": "Let the agent start implementing this plan.",
111
+ "planRevise": "Revise plan",
112
+ "planReviseHint": "Ask the agent to rework the plan before going ahead.",
113
+ "planStop": "Stop here",
114
+ "planStopHint": "Leave plan mode without implementing this plan.",
115
+ "freeformHint": "Or reply with a message to answer in your own words.",
116
+ "replyOne": "Reply with the number.",
117
+ "replyMany": "Reply with the numbers, separated by commas.",
118
+ "submit": "✅ Submit",
119
+ "pickFirst": "Pick at least one option first.",
120
+ "answered": "Answer: {{answer}}",
121
+ "elsewhere": "Already answered elsewhere (the web app or another client).",
122
+ "cancelled": "This question was closed without an answer.",
123
+ "alreadyHandled": "Already handled",
124
+ "sendFailed": "Could not hand your answer to the agent. The question may have been answered elsewhere or already closed."
125
+ },
126
+ "queue": {
127
+ "title": "⏳ Queued",
128
+ "waitRunning": "It goes out when the current reply finishes. To add it to the reply in progress now, tap Steer.",
129
+ "waitPaused": "Sending is paused (the last reply was stopped or failed). Tap Resume sending to carry on.",
130
+ "waitIdle": "It goes out shortly.",
131
+ "steer": "➡️ Steer",
132
+ "withdraw": "↩️ Withdraw",
133
+ "resume": "▶️ Resume sending",
134
+ "steeringTitle": "⏳ Steering…",
135
+ "steering": "💬 Adding it to the current reply…",
136
+ "sendingTitle": "📤 Sending…",
137
+ "sending": "Sending it now.",
138
+ "steeredTitle": "✅ Steered",
139
+ "steered": "Added to the current reply.",
140
+ "sentTitle": "📤 Sent",
141
+ "sent": "It went out as its own turn.",
142
+ "removedTitle": "🗑️ Withdrawn",
143
+ "removed": "Withdrawn. It will not be sent.",
144
+ "steerFailed": "Could not add it to the current reply (the reply may have just ended or changed). It stays queued and goes out when the reply finishes.",
145
+ "withdrawFailed": "Could not withdraw it: it has already started sending.",
146
+ "resumeFailed": "Could not resume sending. Try again in a moment.",
147
+ "alreadyHandled": "Already handled",
148
+ "plainNotice": "Queued: this message goes out when the current reply finishes."
149
+ },
93
150
  "command": {
94
151
  "teamSelected": "OK. From now on messages go to \"{{title}}\".",
95
152
  "threadSelected": "OK. From now on messages start a normal session.",
@@ -98,6 +155,9 @@
98
155
  "newSession": "OK. The next message starts a new session.",
99
156
  "stopNoSession": "Nothing is running in this group.",
100
157
  "stopNoTurn": "No turn is running right now.",
158
+ "continued": "Resumed. The waiting messages are being sent.",
159
+ "continueNothing": "Nothing to resume: sending is not paused in this group.",
160
+ "continueFailed": "Could not resume sending. Try again in a moment.",
101
161
  "stopped": "Stopped. The session is still there — just keep talking."
102
162
  },
103
163
  "status": {
@@ -119,12 +179,13 @@
119
179
  },
120
180
  "help": {
121
181
  "title": "Commands:",
182
+ "continue": "· /continue — resume sending after /stop or a failure paused it; the waiting messages go out",
122
183
  "stop": "· /stop — stop the turn that is running; the session stays",
123
184
  "status": "· /status — what is going on right now",
124
185
  "new": "· /new — forget the current session; the next message starts a new one",
125
186
  "team": "· /team name — send the next messages to a team; /team alone lists the teams",
126
187
  "thread": "· /thread — go back to a normal session",
127
- "aliases": "Chinese shortcuts (停 / 状态 / 新对话 / 会话列表 / 切换会话 / 换模型 / 计划模式 / 换团队 / 换对话) work when the reply language is Chinese.",
188
+ "aliases": "Chinese shortcuts (停 / 继续发送 / 状态 / 新对话 / 会话列表 / 切换会话 / 换模型 / 计划模式 / 换团队 / 换对话) work when the reply language is Chinese.",
128
189
  "sessions": "· /sessions — list the sessions this bot opened for this group's project",
129
190
  "resume": "· /resume number — switch to one of them (a number from /sessions, or the start of its id)",
130
191
  "model": "· /model — see the model this group uses; /model number or /model instance/model switches it",
@@ -213,6 +274,7 @@
213
274
  },
214
275
  "cmd": {
215
276
  "new": "New session",
277
+ "continue": "Resume sending",
216
278
  "stop": "Stop this turn",
217
279
  "sessions": "Sessions",
218
280
  "team": "Send to a team",
@@ -82,7 +82,20 @@
82
82
  "projectArchived": "项目「{{title}}」已归档,恢复后再发消息。",
83
83
  "projectMissing": "「{{group}}」绑的项目已经不在这台机器上了(可能被删了),开不了会话。到 Ycodium 的聊天设置里给这个群重新选一个项目。",
84
84
  "threadGone": "之前那条会话已被删除或归档,这个群改为开一条新会话。",
85
- "teamGone": "这个群原来派给的队已经不在了,接下来改回普通会话。"
85
+ "teamGone": "这个群原来派给的队已经不在了,接下来改回普通会话。",
86
+ "attachmentReceived": "收到 {{names}}(现有 {{count}} 个待处理)。说一句想让我怎么处理。",
87
+ "attachmentFailed": "没能收下 {{name}}:{{reason}}。",
88
+ "attachmentReason": {
89
+ "tooLarge": "超过了 {{limit}} 的上限",
90
+ "downloadFailed": "下载失败了",
91
+ "storeFailed": "保存不了",
92
+ "empty": "文件是空的"
93
+ },
94
+ "attachmentLimit": "一条消息最多带 {{max}} 个附件,所以 {{name}} 没收。先发一句话处理手上这些。",
95
+ "attachmentsNoTeam": "文件还发不到团队,这次没带上。发 /thread 回到普通会话。",
96
+ "unsupportedType": "我还不能处理 {{type}} 类型的消息。",
97
+ "unsupportedFolder": "文件夹没法下载,请打包成压缩文件再发。",
98
+ "sendingFile": "正在发送 {{name}}:"
86
99
  },
87
100
  "approval": {
88
101
  "allow": "允许",
@@ -90,6 +103,50 @@
90
103
  "alreadyHandled": "已处理",
91
104
  "replyHint": "回复编号即可。"
92
105
  },
106
+ "question": {
107
+ "title": "❓ 提问",
108
+ "planTitle": "📝 计划确认",
109
+ "planApprove": "批准计划",
110
+ "planApproveHint": "让 agent 按这份计划开始实施。",
111
+ "planRevise": "修改计划",
112
+ "planReviseHint": "让 agent 先修改计划,再继续往下做。",
113
+ "planStop": "到此为止",
114
+ "planStopHint": "退出计划模式,不实施这份计划。",
115
+ "freeformHint": "也可以直接回复一条消息,用自己的话作答。",
116
+ "replyOne": "回复编号即可。",
117
+ "replyMany": "回复编号,多个用逗号隔开。",
118
+ "submit": "✅ 提交",
119
+ "pickFirst": "先选一项再提交。",
120
+ "answered": "回答:{{answer}}",
121
+ "elsewhere": "已在别处回答(网页或其他客户端)。",
122
+ "cancelled": "这道提问已结束,没有收到回答。",
123
+ "alreadyHandled": "已处理",
124
+ "sendFailed": "没能把你的回答交给 agent。这道提问可能已在别处回答,或已经结束。"
125
+ },
126
+ "queue": {
127
+ "title": "⏳ 已排队",
128
+ "waitRunning": "当前这一轮回复结束后自动发出。想现在就送进正在进行的这一轮,点「插话」。",
129
+ "waitPaused": "发送已暂停(上一轮被停止或出错了)。点「恢复发送」继续。",
130
+ "waitIdle": "马上发出。",
131
+ "steer": "➡️ 插话",
132
+ "withdraw": "↩️ 撤回",
133
+ "resume": "▶️ 恢复发送",
134
+ "steeringTitle": "⏳ 插话中…",
135
+ "steering": "💬 正在送进当前这一轮…",
136
+ "sendingTitle": "📤 发送中…",
137
+ "sending": "正在发出。",
138
+ "steeredTitle": "✅ 已插话",
139
+ "steered": "已送进当前这一轮。",
140
+ "sentTitle": "📤 已发送",
141
+ "sent": "已作为单独的一轮发出。",
142
+ "removedTitle": "🗑️ 已撤回",
143
+ "removed": "已撤回,不会发出。",
144
+ "steerFailed": "没能送进当前这一轮(这一轮可能刚结束或已经换了)。消息仍在排队,这一轮结束后发出。",
145
+ "withdrawFailed": "没能撤回:这条消息已经开始发送了。",
146
+ "resumeFailed": "没能恢复发送,稍后再试。",
147
+ "alreadyHandled": "已处理",
148
+ "plainNotice": "已排队:当前这一轮回复结束后发出。"
149
+ },
93
150
  "command": {
94
151
  "teamSelected": "好,接下来派给「{{title}}」。",
95
152
  "threadSelected": "好,接下来开普通会话。",
@@ -98,6 +155,9 @@
98
155
  "newSession": "好,下一句话开一条新会话。",
99
156
  "stopNoSession": "这个群现在没有在跑的活儿。",
100
157
  "stopNoTurn": "现在没有在跑的一轮。",
158
+ "continued": "已恢复,排着的消息开始发送。",
159
+ "continueNothing": "没有可恢复的:这个群的发送没有被暂停。",
160
+ "continueFailed": "没能恢复发送,稍后再试。",
101
161
  "stopped": "停了。会话还在,接着说就行。"
102
162
  },
103
163
  "status": {
@@ -119,12 +179,13 @@
119
179
  },
120
180
  "help": {
121
181
  "title": "能用的命令:",
182
+ "continue": "· /continue —— /stop 或出错暂停了发送之后,用它恢复,排着的消息继续发出",
122
183
  "stop": "· /stop —— 停掉正在跑的这一轮,会话留着",
123
184
  "status": "· /status —— 现在在干什么",
124
185
  "new": "· /new —— 忘掉当前会话,下一句开新的",
125
186
  "team": "· /team 队名 —— 把接下来的活派给一支队;/team 不带名字看有哪些队",
126
187
  "thread": "· /thread —— 切回普通会话",
127
- "aliases": "中文也行:停 / 状态 / 新对话 / 会话列表 / 切换会话 / 换模型 / 计划模式 / 换团队 / 换对话。",
188
+ "aliases": "中文也行:停 / 继续发送 / 状态 / 新对话 / 会话列表 / 切换会话 / 换模型 / 计划模式 / 换团队 / 换对话。",
128
189
  "sessions": "· /sessions —— 列出本机器人为这个群的项目开过的会话",
129
190
  "resume": "· /resume 编号 —— 切到其中一条(/sessions 里的编号,或会话 id 的开头)",
130
191
  "model": "· /model —— 看这个群用的模型;/model 编号 或 /model 实例/模型 切换",
@@ -213,6 +274,7 @@
213
274
  },
214
275
  "cmd": {
215
276
  "new": "新会话",
277
+ "continue": "恢复发送",
216
278
  "stop": "停止本轮",
217
279
  "sessions": "会话列表",
218
280
  "team": "派给团队",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ycodium-ai/plugin-im",
3
- "version": "0.2.2596",
3
+ "version": "0.2.2658",
4
4
  "description": "Talk to your agents from Telegram, WeCom or Lark.",
5
5
  "keywords": [
6
6
  "im",
@@ -27,7 +27,7 @@
27
27
  "esbuild": "0.28.1",
28
28
  "markdown-it": "^15.0.2",
29
29
  "vite-plus": "0.2.2",
30
- "@ycodium-ai/plugin-api": "0.2.2596"
30
+ "@ycodium-ai/plugin-api": "0.2.2658"
31
31
  },
32
32
  "ycodium": {
33
33
  "plugin": "./dist/index.js",
@@ -35,6 +35,9 @@
35
35
  "description": "Talk to your agents from Telegram, WeCom or Lark.",
36
36
  "icon": "messageCircle",
37
37
  "permissions": [
38
+ {
39
+ "kind": "workspace.read"
40
+ },
38
41
  {
39
42
  "kind": "commands.dispatch",
40
43
  "commands": [
@@ -42,7 +45,11 @@
42
45
  "thread.meta.update",
43
46
  "thread.turn.start",
44
47
  "thread.turn.interrupt",
45
- "thread.approval.respond"
48
+ "thread.approval.respond",
49
+ "thread.user-input.respond",
50
+ "thread.turn-intent.run",
51
+ "thread.turn-intent.cancel",
52
+ "thread.turn-queue.resume"
46
53
  ]
47
54
  }
48
55
  ]