@ycodium-ai/plugin-conversation 0.2.3034 → 0.2.3054

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 CHANGED
@@ -27,7 +27,6 @@ function createCommands(input) {
27
27
  turnCommand({
28
28
  threadId: input.threadId,
29
29
  text: input.text,
30
- now: input.now,
31
30
  messageId: input.messageId,
32
31
  commandId: input.turnCommandId,
33
32
  runtimeMode: input.runtimeMode,
@@ -38,8 +37,7 @@ function createCommands(input) {
38
37
  }
39
38
  function turnCommand(input) {
40
39
  return {
41
- type: "thread.turn.start",
42
- commandId: input.commandId,
40
+ requestId: input.commandId,
43
41
  threadId: input.threadId,
44
42
  message: {
45
43
  messageId: input.messageId,
@@ -49,7 +47,6 @@ function turnCommand(input) {
49
47
  },
50
48
  runtimeMode: input.runtimeMode,
51
49
  interactionMode: input.interactionMode,
52
- createdAt: input.now,
53
50
  ...input.modelSelection == null ? {} : { modelSelection: input.modelSelection }
54
51
  };
55
52
  }
@@ -1282,7 +1279,7 @@ async function createSession(ctx, projectId, text2, refresh) {
1282
1279
  const selection = await ctx.providers.resolveSelection({ base: project.defaultModelSelection });
1283
1280
  const now = (/* @__PURE__ */ new Date()).toISOString();
1284
1281
  const threadId = NodeCrypto.randomUUID();
1285
- const commands = createCommands({
1282
+ const [create, start] = createCommands({
1286
1283
  projectId,
1287
1284
  title: titleFromText(trimmed),
1288
1285
  text: trimmed,
@@ -1295,7 +1292,8 @@ async function createSession(ctx, projectId, text2, refresh) {
1295
1292
  messageId: NodeCrypto.randomUUID(),
1296
1293
  turnCommandId: NodeCrypto.randomUUID()
1297
1294
  });
1298
- for (const command of commands) await ctx.commands.dispatch(command);
1295
+ await ctx.commands.dispatch(create);
1296
+ await ctx.threads.turns.start(start);
1299
1297
  refresh(threadId);
1300
1298
  return { ok: true, threadId, walkedBack: false };
1301
1299
  }
@@ -1304,11 +1302,10 @@ async function sendFollowUp(ctx, threadId, text2, refresh) {
1304
1302
  if (trimmed.length === 0) return { ok: false, code: "empty" };
1305
1303
  const execution = await executionOf(ctx, threadId);
1306
1304
  if (execution === null) return { ok: false, code: "missing-thread" };
1307
- await ctx.commands.dispatch(
1305
+ await ctx.threads.turns.start(
1308
1306
  turnCommand({
1309
1307
  threadId,
1310
1308
  text: trimmed,
1311
- now: (/* @__PURE__ */ new Date()).toISOString(),
1312
1309
  messageId: NodeCrypto.randomUUID(),
1313
1310
  commandId: NodeCrypto.randomUUID(),
1314
1311
  runtimeMode: execution.runtimeMode,
@@ -1338,11 +1335,10 @@ async function forkSession(ctx, threadId, messageId, text2, refresh) {
1338
1335
  commandId: NodeCrypto.randomUUID()
1339
1336
  })
1340
1337
  );
1341
- await ctx.commands.dispatch(
1338
+ await ctx.threads.turns.start(
1342
1339
  turnCommand({
1343
1340
  threadId: childId,
1344
1341
  text: trimmed,
1345
- now,
1346
1342
  messageId: NodeCrypto.randomUUID(),
1347
1343
  commandId: NodeCrypto.randomUUID(),
1348
1344
  runtimeMode: execution?.runtimeMode ?? "full-access",
@@ -1380,7 +1376,7 @@ function abort(signal) {
1380
1376
  // src/index.ts
1381
1377
  var index_default = definePlugin({
1382
1378
  id: "conversation",
1383
- apiVersion: 9,
1379
+ apiVersion: 11,
1384
1380
  activate(ctx) {
1385
1381
  activateSessionMap(ctx);
1386
1382
  }
package/locales/en.json CHANGED
@@ -234,10 +234,12 @@
234
234
  "deletions_other": "{{count}} deletions"
235
235
  },
236
236
  "childThread": {
237
+ "open": "View thread ↗",
237
238
  "notification": {
238
239
  "settled": "“{{title}}” settled",
239
240
  "failed": "“{{title}}” failed",
240
241
  "approval": "“{{title}}” needs your approval",
242
+ "question": "“{{title}}” asked a question",
241
243
  "stopped": "“{{title}}” stopped",
242
244
  "pluginNotice": "{{title}}",
243
245
  "selfdevResolved": "Plugin request “{{title}}” resolved"
@@ -367,6 +369,7 @@
367
369
  "calls_other": "{{count}} calls",
368
370
  "cancelled": "{{count}} cancelled",
369
371
  "declaredStarted": "{{title}} started",
372
+ "declined": "{{count}} declined",
370
373
  "exitCode": "Exit code {{code}}",
371
374
  "failed": "{{count}} failed",
372
375
  "interrupted": "Stopped",
@@ -381,6 +384,8 @@
381
384
  "pageRange": "{{from}}–{{to}} of {{count}} calls",
382
385
  "previousPage": "Previous page",
383
386
  "running": "{{count}} running",
387
+ "showCancelled": "Show cancelled",
388
+ "showDeclined": "Show declined",
384
389
  "showFailure": "Show issue"
385
390
  },
386
391
  "approval": {
@@ -653,6 +658,7 @@
653
658
  "composer": {
654
659
  "modelFetching": "This agent's models are still loading, so the message wasn't sent. Send again once they arrive.",
655
660
  "modelMissing": "This agent has no model yet, so the message wasn't sent. Choose one, then send.",
661
+ "modelUnavailable": "This model is no longer available, so the message wasn't sent. Choose another model, then send.",
656
662
  "modelReady": "Models are ready. Press send again to send it.",
657
663
  "pluginLoading": "Loading plugin choices. Your draft and attachments are kept.",
658
664
  "pluginUnavailable": "This plugin action is unavailable. Enable the plugin in Settings, or choose a model to send a regular message. Your draft and attachments are kept.",
@@ -234,10 +234,12 @@
234
234
  "deletions_other": "{{count}} 处删除"
235
235
  },
236
236
  "childThread": {
237
+ "open": "打开子会话 ↗",
237
238
  "notification": {
238
239
  "settled": "“{{title}}”已收尾",
239
240
  "failed": "“{{title}}”失败",
240
241
  "approval": "“{{title}}”需要你的批准",
242
+ "question": "“{{title}}”提了一个问题",
241
243
  "stopped": "“{{title}}”已停止",
242
244
  "pluginNotice": "{{title}}",
243
245
  "selfdevResolved": "插件请求“{{title}}”已处理"
@@ -367,6 +369,7 @@
367
369
  "calls_other": "{{count}} 次调用",
368
370
  "cancelled": "{{count}} 个已取消",
369
371
  "declaredStarted": "{{title}}已开始",
372
+ "declined": "{{count}} 个已拒绝",
370
373
  "exitCode": "退出代码 {{code}}",
371
374
  "failed": "{{count}} 个失败",
372
375
  "interrupted": "已停止",
@@ -381,6 +384,8 @@
381
384
  "pageRange": "第 {{from}}–{{to}} 项,共 {{count}} 次调用",
382
385
  "previousPage": "上一页",
383
386
  "running": "{{count}} 个运行中",
387
+ "showCancelled": "显示已取消",
388
+ "showDeclined": "显示已拒绝",
384
389
  "showFailure": "显示问题"
385
390
  },
386
391
  "approval": {
@@ -653,6 +658,7 @@
653
658
  "composer": {
654
659
  "modelFetching": "这个 agent 的模型还在获取中,消息没有发出。模型到了再发送。",
655
660
  "modelMissing": "这个 agent 还没有模型,消息没有发出。先选一个模型再发送。",
661
+ "modelUnavailable": "这个模型现在用不了,消息没有发出。换一个模型再发送。",
656
662
  "modelReady": "模型已就绪,按发送即可。",
657
663
  "pluginLoading": "正在加载插件选项。你的草稿和附件将保留。",
658
664
  "pluginUnavailable": "此插件操作不可用。请在设置中启用该插件,或选择一个模型发送普通消息。你的草稿和附件将保留。",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ycodium-ai/plugin-conversation",
3
- "version": "0.2.3034",
3
+ "version": "0.2.3054",
4
4
  "description": "The conversation surface: chat, trajectory, and session map, the input card, the queue, and turn navigation.",
5
5
  "keywords": [
6
6
  "chat",
@@ -41,10 +41,10 @@
41
41
  "tailwindcss": "^4.0.0",
42
42
  "typescript": "~6.0.3",
43
43
  "vite-plus": "0.2.2",
44
- "@ycodium-ai/plugin-api": "0.2.3034",
44
+ "@ycodium-ai/plugin-api": "0.2.3054",
45
+ "ycodium-system-text": "0.0.0",
45
46
  "ycodium-workspace-path": "0.0.0",
46
- "ycodium-composer-tokens": "0.0.0",
47
- "ycodium-system-text": "0.0.0"
47
+ "ycodium-composer-tokens": "0.0.0"
48
48
  },
49
49
  "ycodium": {
50
50
  "plugin": "./dist/index.js",