dsh-archify-projects 0.1.1 → 0.2.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.
@@ -11,6 +11,7 @@
11
11
  * - 出图:可写工作目录,跑 archify;
12
12
  * - 提问:只读(read / glob / grep / skill),上下文只有这张图 + 概念表 + 代码库。
13
13
  */
14
+ import { randomUUID } from 'node:crypto';
14
15
  import { readFile, readdir, stat } from 'node:fs/promises';
15
16
  import path from 'node:path';
16
17
  import { buildAskPrompt, buildRunPrompt, parseArtifactMarkers, } from '../shared/prompt.js';
@@ -18,6 +19,7 @@ import { allDiagrams, DIAGRAM_KINDS, findDiagram, usageTotalOf, } from '../share
18
19
  import { projectDir, workspaceRoot } from './config.js';
19
20
  import { serviceOf, } from './context.js';
20
21
  import { allowedToolNames, readonlyToolNames, tightenAgent, tightenReadOnlyAgent, } from './policy.js';
22
+ import { readSettings } from './settings.js';
21
23
  import { ensureProjectWorkspace } from './workspace.js';
22
24
  /** 生成可读的运行 id(不追求全局唯一,台账里可区分即可)。 */
23
25
  export function newRunId(now = new Date()) {
@@ -193,19 +195,39 @@ export class Runner {
193
195
  /**
194
196
  * 建会话并投递提示词。
195
197
  *
196
- * 优先 `sessionController`(宿主的标准会话命令面);没有这个服务时退回
197
- * `agents.createSession` + `agent.followup`。两条路都用同一个 preset,
198
- * 限制不会因为走哪条路而消失。
198
+ * **首选「子代理会话」**:直接用 `ctx.agents.create` 建一个 `origin: 'subagent'`
199
+ * 的 agent,preset 通过 `agentPresets.mount()` 在它的 setup 作用域里装上,
200
+ * 模型走 `agentOptions`(用户在设置里选的,或宿主默认)。
201
+ *
202
+ * 这条路满足三件在 `sessionController` 那条路上做不到的事:
203
+ * 1. 会话被标成子代理 —— DSH 侧边栏的会话列表按 `origin === 'subagent'`
204
+ * 过滤,分析不再往用户的对话列表里塞一条条「新会话」;
205
+ * 2. 每次运行**可以带自己的模型**,而不会顺手改掉宿主里那个全局默认模型
206
+ * (`sessionController.selectModel` 会把选择存成默认,这是它的契约);
207
+ * 3. preset 的组装在 setup 里完成,工具白名单与 persona 与原来完全一致。
208
+ *
209
+ * 宿主没有 `agents.create` / `agentPresets`(或建会话抛错)时,退回
210
+ * `sessionController.create` + `prompt`,再退 `agents.createSession`:
211
+ * 功能不因宿主版本而消失,只是会话回到「普通会话 + 宿主默认模型」。
199
212
  */
200
213
  async openSession(workspaceDir, prompt, mode) {
201
214
  const { ctx, config } = this.deps;
202
215
  const allow = mode === 'ask' ? readonlyToolNames() : allowedToolNames();
203
216
  const presetId = mode === 'ask' ? config.askPresetId : config.presetId;
217
+ const model = await selectedModel(config);
218
+ const subagent = await this.openSubagentSession(workspaceDir, presetId, model, allow, mode);
219
+ if (subagent !== null) {
220
+ deliver(this.deps, subagent.agent, prompt);
221
+ return subagent.sessionId;
222
+ }
204
223
  const controller = serviceOf(ctx, 'sessionController');
205
224
  if (controller !== undefined) {
206
225
  const created = await controller.create({ cwd: workspaceDir, agentPreset: presetId });
207
226
  // 会话刚建好、还没开 turn:这时候收口工具面最干净
208
227
  this.tighten(created.sessionId, allow, mode);
228
+ // 老路也能吃到设置里的模型:直接改这条会话下一步的路由,
229
+ // 不走 `selectModel`(那个会把选择写成宿主的全局默认)。
230
+ applyModel(agentOf(ctx, created.sessionId), model);
209
231
  if (typeof controller.prompt === 'function') {
210
232
  await controller.prompt({
211
233
  requestId: newRequestId(),
@@ -227,27 +249,75 @@ export class Runner {
227
249
  });
228
250
  const agent = created.agent;
229
251
  this.tighten(agent.id ?? null, allow, mode);
230
- agent.followup({
231
- id: newRequestId(),
232
- content: [{ type: 'text', text: prompt }],
233
- source: { kind: 'user' },
234
- });
252
+ applyModel(agent, model);
253
+ deliver(this.deps, agent, prompt);
235
254
  const sessionId = agent.id ?? null;
236
255
  if (sessionId === null)
237
256
  throw new RunnerUnavailable('用 agents.createSession 起的会话没有 id');
238
257
  return sessionId;
239
258
  }
240
- /** 对该会话的 agent 作用域装工具白名单与守卫。 */
241
- tighten(sessionId, allow, mode) {
259
+ /**
260
+ * 建一个子代理会话(`origin: 'subagent'`)。
261
+ *
262
+ * 返回 null 表示「这条路走不了」(宿主缺服务 / 建会话失败),调用方退回普通会话。
263
+ * 失败只记一条 warn:子代理是**增强**,不是功能前提。
264
+ */
265
+ async openSubagentSession(workspaceDir, presetId, model, allow, mode) {
242
266
  const { ctx } = this.deps;
243
- const warn = (message) => {
244
- try {
245
- ctx.logger.warn(`[dsh-archify-projects] ${message}`);
267
+ const agents = serviceOf(ctx, 'agents');
268
+ const presets = serviceOf(ctx, 'agentPresets');
269
+ if (agents?.create === undefined || presets === undefined)
270
+ return null;
271
+ try {
272
+ const preset = await presets.resolve(presetId);
273
+ const sessionId = `session-${randomUUID()}`;
274
+ const handle = await agents.create({
275
+ sessionId,
276
+ meta: {
277
+ cwd: workspaceDir,
278
+ agentPreset: preset.id,
279
+ // 会话在 DSH 里算「子代理」:不占用户的对话列表
280
+ origin: 'subagent',
281
+ // 递归预算:本插件的分析不会再往下派子代理,固定 1 层
282
+ delegationDepth: 1,
283
+ },
284
+ ...(model === null ? {} : { agentOptions: { ...model } }),
285
+ setup: async (agentCtx) => {
286
+ await presets.mount(agentCtx, preset.id);
287
+ },
288
+ });
289
+ const agent = handle.agent;
290
+ // 在 setup 之后、第一条 prompt 之前收口工具面:只影响这一条会话
291
+ const warn = this.warn.bind(this);
292
+ if (agent.ctx !== undefined) {
293
+ if (mode === 'ask')
294
+ tightenReadOnlyAgent(agent.ctx, warn);
295
+ else
296
+ tightenAgent(agent.ctx, allow, warn);
246
297
  }
247
- catch {
248
- // 日志器不可用不影响运行
298
+ else {
299
+ warn('子代理会话没有 agent 作用域:工具白名单未生效');
249
300
  }
250
- };
301
+ return { sessionId, agent };
302
+ }
303
+ catch (err) {
304
+ this.warn(`建子代理会话失败,退回普通会话:${describeError(err)}`);
305
+ return null;
306
+ }
307
+ }
308
+ /** 统一的 warn(日志器不可用不影响运行)。 */
309
+ warn(message) {
310
+ try {
311
+ this.deps.ctx.logger.warn(`[dsh-archify-projects] ${message}`);
312
+ }
313
+ catch {
314
+ // 日志器不可用不影响运行
315
+ }
316
+ }
317
+ /** 对该会话的 agent 作用域装工具白名单与守卫。 */
318
+ tighten(sessionId, allow, mode) {
319
+ const { ctx } = this.deps;
320
+ const warn = (message) => this.warn(message);
251
321
  if (sessionId === null) {
252
322
  warn('会话没有 id:跳过工具收口');
253
323
  return;
@@ -891,6 +961,60 @@ async function firstHtmlIn(dir) {
891
961
  return null;
892
962
  }
893
963
  }
964
+ /** 宿主能不能自己建「子代理会话」(设置页据此显示会话形态)。 */
965
+ export function canCreateSubagentSessions(ctx) {
966
+ const agents = serviceOf(ctx, 'agents');
967
+ const presets = serviceOf(ctx, 'agentPresets');
968
+ if (agents?.create === undefined || presets === undefined)
969
+ return false;
970
+ return typeof presets.mount === 'function' && typeof presets.resolve === 'function';
971
+ }
972
+ /** 读设置里选的模型;读不到(文件缺失/损坏)就是「跟随宿主默认」。 */
973
+ async function selectedModel(config) {
974
+ try {
975
+ const settings = await readSettings(config);
976
+ return settings.model;
977
+ }
978
+ catch {
979
+ return null;
980
+ }
981
+ }
982
+ /**
983
+ * 把模型应用到一条**已经建好**的会话上。
984
+ *
985
+ * 走 `agent.model.select()`:它只改这条会话下一步的路由,不会像
986
+ * `sessionController.selectModel()` 那样把选择存成宿主的全局默认。
987
+ */
988
+ function applyModel(agent, model) {
989
+ if (model === null || agent === undefined)
990
+ return;
991
+ const selection = agent.model;
992
+ if (selection === undefined)
993
+ return;
994
+ try {
995
+ selection.select({ ...model });
996
+ }
997
+ catch {
998
+ // 宿主版本没有这个面:会话就用它自己的默认模型,不影响出图
999
+ }
1000
+ }
1001
+ /** 投一条用户消息(`followup` 会把消息排成独立的一轮并唤醒驱动)。 */
1002
+ function deliver(deps, agent, prompt) {
1003
+ try {
1004
+ agent.followup({
1005
+ id: newRequestId(),
1006
+ role: 'user',
1007
+ content: [{ type: 'text', text: prompt }],
1008
+ source: { kind: 'user' },
1009
+ });
1010
+ }
1011
+ catch (err) {
1012
+ deps.ctx.logger?.warn?.(`[dsh-archify-projects] 投递提示词失败:${describeError(err)}`);
1013
+ }
1014
+ }
1015
+ function describeError(err) {
1016
+ return err instanceof Error ? err.message : String(err);
1017
+ }
894
1018
  /** 超时包装。 */
895
1019
  export function withTimeout(promise, ms) {
896
1020
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/host/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/host/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * 插件级设置:目前只有一个字段——**这次分析用哪个模型**。
3
+ *
4
+ * 为什么单独落一个 `settings.json`,不塞进台账:
5
+ * - 台账是「项目数据」,删除/重建项目不该动到全局偏好;
6
+ * - 设置是**部署级**的(一台机器一份),和 `projects.json` 的生命周期不同;
7
+ * - 读写都在宿主侧,页面只通过 `GET/PUT /settings` 拿和存,不碰文件。
8
+ *
9
+ * 模型本身**不在插件里定义**:选项来自宿主已配置的模型目录
10
+ * (`sessionController.modelCatalog()`),这里只记住用户挑了哪一个。
11
+ * 挑的模型走 `agents.create({ agentOptions })` 创建会话,因此**不会**改到
12
+ * DSH 的全局默认模型——分析用哪个模型是插件自己的事。
13
+ */
14
+ import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
15
+ import path from 'node:path';
16
+ /** 默认设置:不指定模型,跟随宿主默认。 */
17
+ export const DEFAULT_SETTINGS = { model: null };
18
+ /** 设置文件的绝对路径。 */
19
+ export function settingsPath(config) {
20
+ return path.join(config.dataDir, 'settings.json');
21
+ }
22
+ /**
23
+ * 校验一个模型引用。
24
+ *
25
+ * 只做**形状**校验(非空字符串),不校验「宿主是否有这个模型」——那是
26
+ * catalog 的职责,由路由在写入前做一次;这里保证落盘的东西永远可用。
27
+ */
28
+ export function sanitizeModelRef(value) {
29
+ if (typeof value !== 'object' || value === null)
30
+ return null;
31
+ const raw = value;
32
+ const provider = typeof raw.provider === 'string' ? raw.provider.trim() : '';
33
+ const model = typeof raw.model === 'string' ? raw.model.trim() : '';
34
+ if (provider.length === 0 || model.length === 0)
35
+ return null;
36
+ const effort = typeof raw.reasoningEffort === 'string' ? raw.reasoningEffort.trim() : '';
37
+ return effort.length === 0 ? { provider, model } : { provider, model, reasoningEffort: effort };
38
+ }
39
+ /** 把任意解析结果收成全量的设置对象(缺字段补默认值)。 */
40
+ export function normalizeSettings(value) {
41
+ if (typeof value !== 'object' || value === null)
42
+ return DEFAULT_SETTINGS;
43
+ const raw = value;
44
+ // `model: null` 与「没有 model 字段」都表示「跟随宿主默认」
45
+ return { model: sanitizeModelRef(raw.model) };
46
+ }
47
+ /**
48
+ * 读设置。
49
+ *
50
+ * 文件不存在、是坏 JSON、或字段形状不对,都回落到默认值而不是抛错:
51
+ * 一个坏掉的偏好文件不应该让整个页面打不开。真正的 IO 错误(权限)也吞掉,
52
+ * 由调用方在日志里看到 `settings.json` 的读失败(见 index.ts)。
53
+ */
54
+ export async function readSettings(config) {
55
+ let text;
56
+ try {
57
+ text = await readFile(settingsPath(config), 'utf8');
58
+ }
59
+ catch {
60
+ return DEFAULT_SETTINGS;
61
+ }
62
+ try {
63
+ return normalizeSettings(JSON.parse(text));
64
+ }
65
+ catch {
66
+ return DEFAULT_SETTINGS;
67
+ }
68
+ }
69
+ /**
70
+ * 写设置(整份覆盖,先写临时文件再 rename,避免半截 JSON)。
71
+ *
72
+ * 返回落盘后的最终值:调用方拿它回给页面,页面就不用再猜「到底存成了什么」。
73
+ */
74
+ export async function writeSettings(config, next) {
75
+ const normalized = normalizeSettings(next);
76
+ const target = settingsPath(config);
77
+ await mkdir(path.dirname(target), { recursive: true });
78
+ const temp = `${target}.tmp`;
79
+ await writeFile(temp, `${JSON.stringify(normalized, null, 2)}\n`, 'utf8');
80
+ await rename(temp, target);
81
+ return normalized;
82
+ }
83
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/host/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 模型路由的稳定键:`provider::model`。
3
+ *
4
+ * 只在 host 与 client 之间共享这一个纯函数:页面用它决定下拉里「当前选中的
5
+ * 是哪一项」,宿主用它判重与校验。**不含推理强度**——同一个 provider/model
6
+ * 在下拉的语义里就是同一条路由(换了 effort 也不该出现两个「同一个模型」)。
7
+ */
8
+ /** 生成路由键。 */
9
+ export function modelKey(ref) {
10
+ return `${ref.provider}::${ref.model}`;
11
+ }
12
+ //# sourceMappingURL=model-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-key.js","sourceRoot":"","sources":["../../src/shared/model-key.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,aAAa;AACb,MAAM,UAAU,QAAQ,CAAC,GAAyC;IAChE,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,KAAK,EAAE,CAAA;AACxC,CAAC"}
@@ -21,6 +21,8 @@ export const ROUTES = {
21
21
  mergeQa: (id, qaId) => `${ROUTE_PREFIX}/projects/${encodeURIComponent(id)}/qa/${encodeURIComponent(qaId)}/merge`,
22
22
  childQa: (id, qaId) => `${ROUTE_PREFIX}/projects/${encodeURIComponent(id)}/qa/${encodeURIComponent(qaId)}/child`,
23
23
  runs: (id) => `${ROUTE_PREFIX}/projects/${encodeURIComponent(id)}/runs`,
24
+ /** 插件级设置(目前只有「分析用哪个模型」)。 */
25
+ settings: `${ROUTE_PREFIX}/settings`,
24
26
  artifact: (relativePath) => `${ROUTE_PREFIX}/artifact/${relativePath
25
27
  .split(/[\\/]+/)
26
28
  .map((part) => encodeURIComponent(part))
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/shared/protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,eAAe;AACf,MAAM,CAAC,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAEnD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,GAAG,YAAY,SAAS;IAChC,QAAQ,EAAE,GAAG,YAAY,WAAW;IACpC,OAAO,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE;IAC7E,KAAK,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,QAAQ;IACjF,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,SAAS;IACnF,0BAA0B;IAC1B,OAAO,EAAE,CAAC,EAAU,EAAE,IAAiB,EAAE,EAAE,CACzC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,YAAY,IAAI,EAAE;IACtE,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,WAAW;IACvF,aAAa,EAAE,CAAC,EAAU,EAAE,SAAiB,EAAE,EAAE,CAC/C,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,EAAE;IAChG,UAAU,EAAE,CAAC,EAAU,EAAE,SAAiB,EAAE,EAAE,CAC5C,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,aAAa;IAC3G,GAAG,EAAE,CAAC,EAAU,EAAE,SAAiB,EAAE,EAAE,CACrC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,MAAM;IACpG,OAAO,EAAE,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE,CACpC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ;IAC3F,OAAO,EAAE,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE,CACpC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ;IAC3F,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,OAAO;IAC/E,QAAQ,EAAE,CAAC,YAAoB,EAAE,EAAE,CACjC,GAAG,YAAY,aAAa,YAAY;SACrC,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACvC,IAAI,CAAC,GAAG,CAAC,EAAE;CACR,CAAA;AAiJV,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAA"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/shared/protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,eAAe;AACf,MAAM,CAAC,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAEnD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,GAAG,YAAY,SAAS;IAChC,QAAQ,EAAE,GAAG,YAAY,WAAW;IACpC,OAAO,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE;IAC7E,KAAK,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,QAAQ;IACjF,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,SAAS;IACnF,0BAA0B;IAC1B,OAAO,EAAE,CAAC,EAAU,EAAE,IAAiB,EAAE,EAAE,CACzC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,YAAY,IAAI,EAAE;IACtE,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,WAAW;IACvF,aAAa,EAAE,CAAC,EAAU,EAAE,SAAiB,EAAE,EAAE,CAC/C,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,EAAE;IAChG,UAAU,EAAE,CAAC,EAAU,EAAE,SAAiB,EAAE,EAAE,CAC5C,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,aAAa;IAC3G,GAAG,EAAE,CAAC,EAAU,EAAE,SAAiB,EAAE,EAAE,CACrC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,MAAM;IACpG,OAAO,EAAE,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE,CACpC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ;IAC3F,OAAO,EAAE,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE,CACpC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ;IAC3F,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,EAAE,CAAC,OAAO;IAC/E,4BAA4B;IAC5B,QAAQ,EAAE,GAAG,YAAY,WAAW;IACpC,QAAQ,EAAE,CAAC,YAAoB,EAAE,EAAE,CACjC,GAAG,YAAY,aAAa,YAAY;SACrC,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACvC,IAAI,CAAC,GAAG,CAAC,EAAE;CACR,CAAA;AAgNV,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-archify-projects",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "DSH 架构建模工作台:项目台账、Git 感知、复用 DSH agent 调 archify 产出项目结构图与领域图",
5
5
  "type": "module",
6
6
  "main": "lib/host/index.js",