@dungsil/dsh-plugin-ui-vcs 0.4.1 → 0.4.2

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.
Files changed (3) hide show
  1. package/dist/client.js +41 -19
  2. package/dist/index.js +24 -12
  3. package/package.json +36 -33
package/dist/client.js CHANGED
@@ -10085,23 +10085,22 @@ function attentionDelete() {
10085
10085
  function peekDelete() {
10086
10086
  return "~";
10087
10087
  }
10088
- // ../../node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/lib/index.js
10088
+ // ../../node_modules/.pnpm/mdast-util-gfm-table@2.0.1/node_modules/mdast-util-gfm-table/lib/index.js
10089
10089
  /**
10090
- * @typedef {import('mdast').InlineCode} InlineCode
10091
- * @typedef {import('mdast').Table} Table
10092
- * @typedef {import('mdast').TableCell} TableCell
10093
- * @typedef {import('mdast').TableRow} TableRow
10094
- *
10095
- * @typedef {import('markdown-table').Options} MarkdownTableOptions
10096
- *
10097
- * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext
10098
- * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension
10099
- * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle
10100
- *
10101
- * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension
10102
- * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle
10103
- * @typedef {import('mdast-util-to-markdown').State} State
10104
- * @typedef {import('mdast-util-to-markdown').Info} Info
10090
+ * @import {Heading, InlineCode, Table, TableCell, TableRow} from 'mdast'
10091
+ * @import {Options as MarkdownTableOptions} from 'markdown-table'
10092
+ * @import {
10093
+ * CompileContext,
10094
+ * Extension as FromMarkdownExtension,
10095
+ * Handle as FromMarkdownHandle,
10096
+ * } from 'mdast-util-from-markdown'
10097
+ * @import {
10098
+ * Options as ToMarkdownExtension,
10099
+ * Handle as ToMarkdownHandle,
10100
+ * Info,
10101
+ * Join,
10102
+ * State
10103
+ * } from 'mdast-util-to-markdown'
10105
10104
  */
10106
10105
  /**
10107
10106
  * @typedef Options
@@ -10140,6 +10139,8 @@ function gfmTableFromMarkdown() {
10140
10139
  };
10141
10140
  }
10142
10141
  /**
10142
+ * Enter a table.
10143
+ *
10143
10144
  * @this {CompileContext}
10144
10145
  * @type {FromMarkdownHandle}
10145
10146
  */
@@ -10150,11 +10151,14 @@ function enterTable(token) {
10150
10151
  align: align.map(function(d) {
10151
10152
  return d === "none" ? null : d;
10152
10153
  }),
10153
- children: []
10154
+ children: [],
10155
+ position: void 0
10154
10156
  }, token);
10155
10157
  this.data.inTable = true;
10156
10158
  }
10157
10159
  /**
10160
+ * Exit a table.
10161
+ *
10158
10162
  * @this {CompileContext}
10159
10163
  * @type {FromMarkdownHandle}
10160
10164
  */
@@ -10163,16 +10167,21 @@ function exitTable(token) {
10163
10167
  this.data.inTable = void 0;
10164
10168
  }
10165
10169
  /**
10170
+ * Enter a row.
10171
+ *
10166
10172
  * @this {CompileContext}
10167
10173
  * @type {FromMarkdownHandle}
10168
10174
  */
10169
10175
  function enterRow(token) {
10170
10176
  this.enter({
10171
10177
  type: "tableRow",
10172
- children: []
10178
+ children: [],
10179
+ position: void 0
10173
10180
  }, token);
10174
10181
  }
10175
10182
  /**
10183
+ * Exit a row or cell.
10184
+ *
10176
10185
  * @this {CompileContext}
10177
10186
  * @type {FromMarkdownHandle}
10178
10187
  */
@@ -10180,16 +10189,24 @@ function exit(token) {
10180
10189
  this.exit(token);
10181
10190
  }
10182
10191
  /**
10192
+ * Enter a cell.
10193
+ *
10183
10194
  * @this {CompileContext}
10184
10195
  * @type {FromMarkdownHandle}
10185
10196
  */
10186
10197
  function enterCell(token) {
10187
10198
  this.enter({
10188
10199
  type: "tableCell",
10189
- children: []
10200
+ children: [],
10201
+ position: void 0
10190
10202
  }, token);
10191
10203
  }
10192
10204
  /**
10205
+ * Exit code (text).
10206
+ *
10207
+ * Overwrites the default code text data handler to unescape escaped pipes
10208
+ * when they are in tables.
10209
+ *
10193
10210
  * @this {CompileContext}
10194
10211
  * @type {FromMarkdownHandle}
10195
10212
  */
@@ -10202,9 +10219,14 @@ function exitCodeText(token) {
10202
10219
  this.exit(token);
10203
10220
  }
10204
10221
  /**
10222
+ * Unescape an escaped pipe.
10223
+ *
10205
10224
  * @param {string} $0
10225
+ * Whole match.
10206
10226
  * @param {string} $1
10227
+ * Escaped character.
10207
10228
  * @returns {string}
10229
+ * Replacement.
10208
10230
  */
10209
10231
  function replace($0, $1) {
10210
10232
  return $1 === "|" ? $1 : $0;
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ var __exportAll = (all, no_symbols) => {
16
16
  if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
17
17
  return target;
18
18
  };
19
- // ../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.6/node_modules/@deepseek-ai/cosmokit/lib/index.js
19
+ // ../../node_modules/.pnpm/@deepseek-ai+cosmokit@1.9.0/node_modules/@deepseek-ai/cosmokit/lib/index.js
20
20
  /** Return true when a value is `null` or `undefined`. */
21
21
  function isNullable(value) {
22
22
  return value === null || value === void 0;
@@ -269,7 +269,7 @@ var Time;
269
269
  }
270
270
  Time.template = template;
271
271
  })(Time || (Time = {}));
272
- // ../../node_modules/.pnpm/@deepseek-ai+schemastery@3.18.5/node_modules/@deepseek-ai/schemastery/lib/index.mjs
272
+ // ../../node_modules/.pnpm/@deepseek-ai+schemastery@3.19.0/node_modules/@deepseek-ai/schemastery/lib/index.mjs
273
273
  const kSchema = Symbol.for("schemastery");
274
274
  const kValidationError = Symbol.for("ValidationError");
275
275
  globalThis.__schemastery_index__ ??= 0;
@@ -906,9 +906,14 @@ async function inspectSession(ctx, id, signal) {
906
906
  signal.throwIfAborted();
907
907
  const live = ctx.get("agents")?.get(id);
908
908
  if (live) return live.session;
909
- const inspection = await ctx.sessionController.inspect(id, signal);
910
- signal.throwIfAborted();
911
- return Session.create(id, inspection.events, inspection.meta, inspection.inheritedEventCount);
909
+ const handle = await ctx.sessionPersistence.open(id, "read", { signal });
910
+ try {
911
+ const { events } = await handle.read(void 0, void 0, { signal });
912
+ signal.throwIfAborted();
913
+ return Session.create(id, events, handle.header, handle.inheritedEventCount);
914
+ } finally {
915
+ await handle.close();
916
+ }
912
917
  }
913
918
  // ../../tools/async/src/index.ts
914
919
  function createTaskQueue({ concurrency, maxPending }) {
@@ -979,6 +984,7 @@ const name$3 = "dungsil-vcs-pull-requests";
979
984
  const inject$3 = [
980
985
  "connection",
981
986
  "sessionController",
987
+ "sessionPersistence",
982
988
  "workingDirectory",
983
989
  "subprocess",
984
990
  "sandbox",
@@ -2165,7 +2171,7 @@ async function updateReview(run, context, texts) {
2165
2171
  context.existingReview = updated;
2166
2172
  return { url: updated.url };
2167
2173
  }
2168
- // ../../node_modules/.pnpm/@deepseek-ai+dsh-typert-protocol@0.2.1-rc.5_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-typert-protocol/lib/index.js
2174
+ // ../../node_modules/.pnpm/@deepseek-ai+dsh-typert-protocol@0.2.2-rc.1_@deepseek-ai+cordis@4.1.0/node_modules/@deepseek-ai/dsh-typert-protocol/lib/index.js
2169
2175
  /** The one Remote failure class shared by owners, the Gateway, and consumers. */
2170
2176
  /**
2171
2177
  * One Remote call failure: a real Error carrying its stable code and typed
@@ -2346,7 +2352,7 @@ function sameInvocation(left, right) {
2346
2352
  function validateName(subject, value) {
2347
2353
  if (!isTypertRemoteSegment(value)) throw new TypeError(`typert-protocol: ${subject} must contain only RPC endpoint segment characters`);
2348
2354
  }
2349
- // ../../node_modules/.pnpm/@deepseek-ai+dsh-util-values@0.2.1-rc.5_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-util-values/lib/index.js
2355
+ // ../../node_modules/.pnpm/@deepseek-ai+dsh-util-values@0.2.2-rc.1_@deepseek-ai+cordis@4.1.0/node_modules/@deepseek-ai/dsh-util-values/lib/index.js
2350
2356
  /**
2351
2357
  * Lazily scanned view of one JSON object's top-level fields, built from text
2352
2358
  * that may still be streaming or from an already parsed object. Nothing is
@@ -3022,7 +3028,7 @@ function deepFreeze(value) {
3022
3028
  }
3023
3029
  return value;
3024
3030
  }
3025
- // ../../node_modules/.pnpm/@deepseek-ai+dsh-util-crypto@0.2.1-rc.5_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-util-crypto/lib/index.js
3031
+ // ../../node_modules/.pnpm/@deepseek-ai+dsh-util-crypto@0.2.2-rc.1_@deepseek-ai+cordis@4.1.0/node_modules/@deepseek-ai/dsh-util-crypto/lib/index.js
3026
3032
  /**
3027
3033
  * Random v4 UUID, minted from `crypto.getRandomValues`.
3028
3034
  * @returns the UUID string.
@@ -3034,7 +3040,7 @@ function randomUUID() {
3034
3040
  }).join("");
3035
3041
  return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
3036
3042
  }
3037
- // ../../node_modules/.pnpm/@deepseek-ai+dsh-brand@0.2.1-rc.5_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-brand/lib/index.js
3043
+ // ../../node_modules/.pnpm/@deepseek-ai+dsh-brand@0.2.2-rc.1_@deepseek-ai+cordis@4.1.0/node_modules/@deepseek-ai/dsh-brand/lib/index.js
3038
3044
  /**
3039
3045
  * Duplicate-install-safe nominal primitive helpers.
3040
3046
  *
@@ -3056,10 +3062,10 @@ function randomUUID() {
3056
3062
  function brandString(value) {
3057
3063
  return value;
3058
3064
  }
3059
- // ../../node_modules/.pnpm/@deepseek-ai+dsh-timeout@0.2.1-rc.5_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-timeout/lib/index.js
3065
+ // ../../node_modules/.pnpm/@deepseek-ai+dsh-timeout@0.2.2-rc.1_@deepseek-ai+cordis@4.1.0/node_modules/@deepseek-ai/dsh-timeout/lib/index.js
3060
3066
  /** Largest delay Node schedules without clamping it to one millisecond. */
3061
3067
  const MAX_TIMER_DELAY_MS = 2147483647;
3062
- // ../../node_modules/.pnpm/@deepseek-ai+dsh-llm@0.2.1-rc.5_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-llm/lib/index.js
3068
+ // ../../node_modules/.pnpm/@deepseek-ai+dsh-llm@0.2.2-rc.1_@deepseek-ai+cordis@4.1.0/node_modules/@deepseek-ai/dsh-llm/lib/index.js
3063
3069
  /**
3064
3070
  * Detach and deep-freeze a message whose identity already exists.
3065
3071
  * @param message - complete message, including its stable identity.
@@ -4128,12 +4134,17 @@ var LlmError = class extends HarnessError {
4128
4134
  if (typeof model.provider !== "string" || model.provider !== provider || typeof model.id !== "string" || model.id.length === 0 || typeof model.name !== "string" || model.name.length === 0 || model.description !== void 0 && typeof model.description !== "string" || seen.has(model.id)) throw new LlmError(`adapter returned invalid or duplicate model metadata for provider "${provider}"`, "INVALID_CATALOG");
4129
4135
  seen.add(model.id);
4130
4136
  const inputModalities = this.detachedModalities(model.inputModalities);
4137
+ const badge = model.badge;
4131
4138
  return {
4132
4139
  provider: model.provider,
4133
4140
  id: model.id,
4134
4141
  name: model.name,
4135
4142
  ...model.description === void 0 ? {} : { description: model.description },
4136
- ...inputModalities === void 0 ? {} : { inputModalities }
4143
+ ...inputModalities === void 0 ? {} : { inputModalities },
4144
+ ...badge === void 0 ? {} : { badge: {
4145
+ text: typeof badge.text === "string" ? badge.text : { ...badge.text },
4146
+ tone: badge.tone
4147
+ } }
4137
4148
  };
4138
4149
  });
4139
4150
  }
@@ -5301,6 +5312,7 @@ const name = "dungsil-ui-vcs";
5301
5312
  const inject = [
5302
5313
  "connection",
5303
5314
  "sessionController",
5315
+ "sessionPersistence",
5304
5316
  "subprocess",
5305
5317
  "sandbox",
5306
5318
  "sandboxPolicy",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dungsil/dsh-plugin-ui-vcs",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Git actions and PR/MR review for GitHub, GitLab, Gitea and Forgejo.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,33 +25,35 @@
25
25
  "access": "public"
26
26
  },
27
27
  "devDependencies": {
28
- "@deepseek-ai/cordis": "4.0.5",
29
- "@deepseek-ai/dsh-agent": "0.2.1-rc.5",
30
- "@deepseek-ai/dsh-agent-loop-testkit": "0.2.1-rc.5",
31
- "@deepseek-ai/dsh-api-session-controller": "0.2.1-rc.5",
32
- "@deepseek-ai/dsh-app-boot": "0.2.1-rc.5",
33
- "@deepseek-ai/dsh-client-connection": "0.2.1-rc.5",
34
- "@deepseek-ai/dsh-client-locale": "0.2.1-rc.5",
35
- "@deepseek-ai/dsh-client-store": "0.2.1-rc.5",
36
- "@deepseek-ai/dsh-client-ui-conversation": "0.2.1-rc.5",
37
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.5",
38
- "@deepseek-ai/dsh-client-ui-session": "0.2.1-rc.5",
39
- "@deepseek-ai/dsh-client-ui-settings": "0.2.1-rc.5",
40
- "@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.1-rc.5",
41
- "@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.5",
42
- "@deepseek-ai/dsh-client-ui-workspace": "0.2.1-rc.5",
43
- "@deepseek-ai/dsh-config-editor": "0.2.1-rc.5",
44
- "@deepseek-ai/dsh-credentials-local": "0.2.1-rc.5",
45
- "@deepseek-ai/dsh-fs": "0.2.1-rc.5",
46
- "@deepseek-ai/dsh-llm": "0.2.1-rc.5",
47
- "@deepseek-ai/dsh-sandbox": "0.2.1-rc.5",
48
- "@deepseek-ai/dsh-sandbox-local": "0.2.1-rc.5",
49
- "@deepseek-ai/dsh-sandbox-policy": "0.2.1-rc.5",
50
- "@deepseek-ai/dsh-session": "0.2.1-rc.5",
51
- "@deepseek-ai/dsh-subprocess": "0.2.1-rc.5",
52
- "@deepseek-ai/dsh-subprocess-local": "0.2.1-rc.5",
53
- "@deepseek-ai/dsh-working-directory": "0.2.1-rc.5",
54
- "@deepseek-ai/schemastery": "~3.18.5",
28
+ "@deepseek-ai/cordis": "4.1.0",
29
+ "@deepseek-ai/dsh-agent": "0.2.2-rc.1",
30
+ "@deepseek-ai/dsh-agent-loop-testkit": "0.2.2-rc.1",
31
+ "@deepseek-ai/dsh-api-session-controller": "0.2.2-rc.1",
32
+ "@deepseek-ai/dsh-app-boot": "0.2.2-rc.1",
33
+ "@deepseek-ai/dsh-client-connection": "0.2.2-rc.1",
34
+ "@deepseek-ai/dsh-client-locale": "0.2.2-rc.1",
35
+ "@deepseek-ai/dsh-client-store": "0.2.2-rc.1",
36
+ "@deepseek-ai/dsh-client-ui-conversation": "0.2.2-rc.1",
37
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.2-rc.1",
38
+ "@deepseek-ai/dsh-client-ui-session": "0.2.2-rc.1",
39
+ "@deepseek-ai/dsh-client-ui-settings": "0.2.2-rc.1",
40
+ "@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.2-rc.1",
41
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.2-rc.1",
42
+ "@deepseek-ai/dsh-client-ui-workspace": "0.2.2-rc.1",
43
+ "@deepseek-ai/dsh-config-editor": "0.2.2-rc.1",
44
+ "@deepseek-ai/dsh-credentials-local": "0.2.2-rc.1",
45
+ "@deepseek-ai/dsh-fs": "0.2.2-rc.1",
46
+ "@deepseek-ai/dsh-llm": "0.2.2-rc.1",
47
+ "@deepseek-ai/dsh-sandbox": "0.2.2-rc.1",
48
+ "@deepseek-ai/dsh-sandbox-local": "0.2.2-rc.1",
49
+ "@deepseek-ai/dsh-sandbox-policy": "0.2.2-rc.1",
50
+ "@deepseek-ai/dsh-session": "0.2.2-rc.1",
51
+ "@deepseek-ai/dsh-session-persistence": "0.2.2-rc.1",
52
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.2.2-rc.1",
53
+ "@deepseek-ai/dsh-subprocess": "0.2.2-rc.1",
54
+ "@deepseek-ai/dsh-subprocess-local": "0.2.2-rc.1",
55
+ "@deepseek-ai/dsh-working-directory": "0.2.2-rc.1",
56
+ "@deepseek-ai/schemastery": "3.19.0",
55
57
  "@dungsil/dsh-async": "0.0.0",
56
58
  "@dungsil/dsh-tsconfig": "0.0.0",
57
59
  "@dungsil/dsh-ui": "0.0.0",
@@ -68,13 +70,14 @@
68
70
  },
69
71
  "peerDependencies": {
70
72
  "@deepseek-ai/cordis": "^4.0.5",
71
- "@deepseek-ai/dsh-client-connection": "^0.2.1-rc.5",
72
- "@deepseek-ai/dsh-client-ui-primitives": "^0.2.1-rc.5",
73
- "@deepseek-ai/dsh-config-editor": "0.2.1-rc.5",
74
- "@deepseek-ai/dsh-session": "^0.2.1-rc.5"
73
+ "@deepseek-ai/dsh-client-connection": "^0.2.1-rc.5 || ^0.2.2-rc.1",
74
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.2.1-rc.5 || ^0.2.2-rc.1",
75
+ "@deepseek-ai/dsh-config-editor": "0.2.1-rc.5 || ^0.2.2-rc.1",
76
+ "@deepseek-ai/dsh-session": "^0.2.1-rc.5 || ^0.2.2-rc.1",
77
+ "@deepseek-ai/dsh-session-persistence": "^0.2.1-rc.5 || ^0.2.2-rc.1"
75
78
  },
76
79
  "engines": {
77
- "dsh": "^0.2.1-rc.5",
80
+ "dsh": "^0.2.1-rc.5 || ^0.2.2-rc.1",
78
81
  "node": ">=24.9.0"
79
82
  },
80
83
  "dsh": {