@lesliechan721/aw 0.1.0-beta.20 → 0.1.0-beta.22

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 (38) hide show
  1. package/dist/src/commands/status-v6.js +49 -32
  2. package/dist/src/commands/status-v6.js.map +1 -1
  3. package/dist/src/tui/components.d.ts +1 -0
  4. package/dist/src/tui/components.js +3 -1
  5. package/dist/src/tui/components.js.map +1 -1
  6. package/dist/src/tui/console-app-v4.d.ts +1 -1
  7. package/dist/src/tui/console-app-v4.js +756 -1127
  8. package/dist/src/tui/console-app-v4.js.map +1 -1
  9. package/dist/src/tui/controller-runtime.js +65 -42
  10. package/dist/src/tui/controller-runtime.js.map +1 -1
  11. package/dist/src/tui/controller.d.ts +4 -30
  12. package/dist/src/tui/controller.js +7 -219
  13. package/dist/src/tui/controller.js.map +1 -1
  14. package/dist/src/tui/dependency-graph.d.ts +3 -3
  15. package/dist/src/tui/dependency-graph.js +15 -14
  16. package/dist/src/tui/dependency-graph.js.map +1 -1
  17. package/dist/src/tui/glossary.d.ts +1 -1
  18. package/dist/src/tui/glossary.js +1 -1
  19. package/dist/src/tui/glossary.js.map +1 -1
  20. package/dist/src/tui/model.d.ts +2 -0
  21. package/dist/src/tui/model.js +67 -30
  22. package/dist/src/tui/model.js.map +1 -1
  23. package/dist/src/tui/operation-review-planner.js +8 -195
  24. package/dist/src/tui/operation-review-planner.js.map +1 -1
  25. package/dist/src/tui/plugin-write-task.js +4 -0
  26. package/dist/src/tui/plugin-write-task.js.map +1 -1
  27. package/dist/src/tui/router.d.ts +4 -16
  28. package/dist/src/tui/router.js.map +1 -1
  29. package/dist/src/tui/screen-registry.d.ts +10 -57
  30. package/dist/src/tui/screen-registry.js +1 -15
  31. package/dist/src/tui/screen-registry.js.map +1 -1
  32. package/package.json +3 -3
  33. package/dist/src/tui/catalog-management-screens.d.ts +0 -45
  34. package/dist/src/tui/catalog-management-screens.js +0 -25
  35. package/dist/src/tui/catalog-management-screens.js.map +0 -1
  36. package/dist/src/tui/catalog-management.d.ts +0 -240
  37. package/dist/src/tui/catalog-management.js +0 -856
  38. package/dist/src/tui/catalog-management.js.map +0 -1
@@ -1,10 +1,8 @@
1
1
  import { requestedIntentAction } from '../output/command-receipt.js';
2
- import { resolveCatalogVersionMutation } from '@lesliechan721/aw-plugin-core';
3
2
  import { catalogSourceAutoCheckOnlyValue } from './catalog-sources/review.js';
4
3
  import { parseScriptTimeoutMs, SCRIPT_TIMEOUT_DEFAULT_MS, } from '../commands/options.js';
5
4
  import { MANAGED_CODEX_VERSION } from '../utils/codex-manager.js';
6
5
  import { platformLabel, scopeLabel } from './glossary.js';
7
- import { projectCatalogSourceLocation } from '../utils/catalog-source-presentation.js';
8
6
  function plannerError(code, message) {
9
7
  return new Error(`${code}: ${message}`);
10
8
  }
@@ -127,7 +125,7 @@ function offlineCleanupPreservedChanges(evidence) {
127
125
  {
128
126
  kind: 'keep',
129
127
  group: 'preserved',
130
- title: '保留外来、共享内容、插件设置、依赖范围覆盖和其他平台或使用位置',
128
+ title: '保留不属于插件或被共用的内容、插件设置、依赖使用范围和其他平台或位置',
131
129
  },
132
130
  {
133
131
  kind: 'keep',
@@ -191,20 +189,6 @@ function sourceMutationReviewChanges(mutation) {
191
189
  return changes.length > 0 ? changes : [{ kind: 'change', title: '更新来源配置' }];
192
190
  }
193
191
  function operationLabels(intent, evidence) {
194
- if (intent.kind === 'catalogManagement') {
195
- const labels = {
196
- workspaceInit: ['创建 Catalog Workspace', '创建并保存 Catalog Workspace scaffold。', '创建 Workspace', false],
197
- workspaceVersion: ['修改 Catalog 版本', '原子修改 Catalog metadata 中的版本。', '修改版本', false],
198
- workspaceBuild: ['构建 Catalog snapshot', '验证源码并构建可替换的 Catalog 输出。', '开始构建', false],
199
- devActivate: ['启用 Catalog 开发源', '构建或复用 snapshot,并更新共享来源配置和 Active 版本。', '启用开发源', false],
200
- devDeactivate: ['停用 Catalog 开发源', '从共享来源配置中移除 Workspace 管理的开发源。', '停用开发源', true],
201
- storePrune: ['清理 Catalog 本地存储', '只删除本次选择且执行时仍可安全回收的项目。', '确认清理', true],
202
- publishPlan: ['准备 Catalog 发布计划', '构建发布内容、读取远端状态,并保存可恢复的本地发布计划。', '准备发布计划', false],
203
- publishApply: ['发布 Catalog', '只应用已保存且身份匹配的发布计划,并核对远端 branch 和 tag。', '确认发布', false],
204
- };
205
- const [title, description, primaryLabel, destructive] = labels[intent.action];
206
- return { title, description, primaryLabel, destructive };
207
- }
208
192
  if (intent.kind === 'catalogSourcesRecovery') {
209
193
  return {
210
194
  title: '恢复插件目录来源配置',
@@ -360,58 +344,6 @@ function operationLabels(intent, evidence) {
360
344
  }
361
345
  throw plannerError('operationNotImplemented', '问题修复操作尚未接入。');
362
346
  }
363
- function safePublicationRemote(remote, remoteUrl) {
364
- if (remote) {
365
- return /^[A-Za-z0-9._-]+$/u.test(remote)
366
- ? remote : projectCatalogSourceLocation(remote);
367
- }
368
- return remoteUrl ? '已重新输入' : '未记录';
369
- }
370
- function catalogConfirmationDetails(intent, evidence) {
371
- const management = evidence.catalogManagement;
372
- if (!management || management.action !== intent.action)
373
- return [];
374
- if (intent.action === 'workspaceInit') {
375
- return [`初始版本:${intent.catalogVersion ?? '0.1.0'}`];
376
- }
377
- if (intent.action === 'workspaceVersion') {
378
- const currentVersion = management.workspace?.catalog.version;
379
- const targetVersion = intent.version ?? (currentVersion && intent.bump
380
- ? resolveCatalogVersionMutation(currentVersion, { bump: intent.bump })
381
- : `提升 ${intent.bump ?? '未选择'}`);
382
- return [`版本:${currentVersion ? `${currentVersion} → ${targetVersion}` : targetVersion}`];
383
- }
384
- if (intent.action === 'workspaceBuild') {
385
- return management.workspace?.catalog.version
386
- ? [`Catalog 版本:${management.workspace.catalog.version}`] : [];
387
- }
388
- if (intent.action === 'devActivate') {
389
- return [
390
- `来源 ID:${management.devActivation?.sourceId ?? intent.sourceId ?? 'catalog-dev'}`,
391
- ...(management.devActivation?.catalogVersion
392
- ? [`Catalog 版本:${management.devActivation.catalogVersion}`] : []),
393
- `主来源:${intent.primary ? '是' : '否'}`,
394
- ];
395
- }
396
- if (intent.action === 'devDeactivate') {
397
- return [`替代主来源:${intent.replacementPrimary ?? '不变'}`];
398
- }
399
- if (intent.action === 'storePrune') {
400
- return [`已选项目:${intent.items.length} 项`];
401
- }
402
- if (intent.action === 'publishPlan') {
403
- return [
404
- `发布远端:${safePublicationRemote(management.target?.remote ?? intent.remote, intent.remoteUrl)}`,
405
- `发布 branch:${management.target?.branch ?? intent.branch ?? 'catalog'}`,
406
- ];
407
- }
408
- return [
409
- ...(management.publication?.catalogVersion
410
- ? [`发布版本:${management.publication.catalogVersion}`] : []),
411
- `发布远端:${safePublicationRemote(management.publication?.remote ?? intent.remote, intent.remoteUrl)}`,
412
- `发布 branch:${management.publication?.branch ?? intent.branch ?? 'catalog'}`,
413
- ];
414
- }
415
347
  function dependencyRelation(plan, pluginId) {
416
348
  if (plan.requestedPluginIds.includes(pluginId))
417
349
  return 'requested';
@@ -420,121 +352,6 @@ function dependencyRelation(plan, pluginId) {
420
352
  : 'transitive';
421
353
  }
422
354
  function reviewChanges(intent, evidence, dependencyOverview) {
423
- if (intent.kind === 'catalogManagement') {
424
- const management = evidence?.catalogManagement;
425
- if (!management || management.action !== intent.action) {
426
- throw plannerError('catalogManagementUnavailable', '缺少 Catalog 管理确认信息。');
427
- }
428
- if (intent.action === 'workspaceInit')
429
- return [
430
- { kind: 'add', title: '创建 Catalog Workspace marker 和源码 scaffold' },
431
- { kind: 'change', title: '创建或更新 .gitignore', description: '追加 .aw/ 生成目录规则' },
432
- ...(intent.ownerName ? [{ kind: 'add', title: 'Catalog owner', description: '已设置' }] : []),
433
- ...(intent.ownerUrl ? [{ kind: 'add', title: 'Catalog owner URL', description: '已设置' }] : []),
434
- ...(intent.displayName ? [{ kind: 'add', title: 'Catalog display name', description: '已设置' }] : []),
435
- { kind: 'change', title: 'Catalog 初始版本', description: intent.catalogVersion ?? '0.1.0' },
436
- ...(intent.force ? [{ kind: 'warning', title: '修复匹配的受管 scaffold' }] : []),
437
- { kind: 'keep', title: '不会创建 Git commit 或发布内容' },
438
- ];
439
- if (intent.action === 'workspaceVersion') {
440
- const currentVersion = management.workspace?.catalog.version;
441
- const targetVersion = intent.version ?? (currentVersion && intent.bump
442
- ? resolveCatalogVersionMutation(currentVersion, { bump: intent.bump })
443
- : `提升 ${intent.bump ?? '未选择'}`);
444
- return [
445
- { kind: 'change', title: '更新 Catalog metadata 版本', description: currentVersion ? `${currentVersion} → ${targetVersion}` : targetVersion },
446
- { kind: 'keep', title: '不会自动构建或发布' },
447
- ];
448
- }
449
- if (intent.action === 'workspaceBuild')
450
- return [
451
- { kind: 'change', title: '验证 Workspace、插件依赖和 runtime closure' },
452
- { kind: 'change', title: '运行插件构建并生成 Catalog snapshot' },
453
- { kind: 'warning', title: '安装插件 package root 依赖并运行作者构建脚本' },
454
- ...(intent.force ? [{ kind: 'warning', title: '替换已验证为生成物的现有输出' }] : []),
455
- { kind: 'keep', title: '不会修改来源配置或发布远端' },
456
- ];
457
- if (intent.action === 'devActivate') {
458
- const activation = management.devActivation;
459
- if (!activation)
460
- throw plannerError('catalogDevActivationUnavailable', '缺少开发来源启用确认信息。');
461
- const affectedReferences = Object.values(activation.references)
462
- .reduce((sum, count) => sum + count, 0);
463
- return [
464
- { kind: 'keep', title: '使用已单独确认并构建的当前 Catalog snapshot', description: activation.catalogVersion },
465
- { kind: 'change', title: '保存 Workspace 管理的 Path 来源', description: activation.sourceId },
466
- { kind: 'change', title: '同步并启用开发 Catalog' },
467
- { kind: activation.inventoryComplete ? 'change' : 'warning',
468
- title: activation.inventoryComplete ? '已检查现有来源引用' : '来源引用清单不完整',
469
- description: `${affectedReferences} 个引用` },
470
- ...Object.entries(activation.references)
471
- .filter(([, count]) => count > 0)
472
- .map(([category, count]) => ({
473
- kind: 'warning', title: `受影响引用 · ${category}`, description: `${count} 个`,
474
- })),
475
- ...Object.entries(activation.changes)
476
- .filter(([, count]) => count > 0)
477
- .map(([category, count]) => ({
478
- kind: 'warning', title: `Catalog 变化 · ${category}`, description: `${count} 个插件`,
479
- })),
480
- ...(intent.primary || activation.primaryChange
481
- ? [{ kind: 'warning', title: '设为共享主来源', description: '会改变默认插件目录选择。' }]
482
- : []),
483
- ];
484
- }
485
- if (intent.action === 'devDeactivate') {
486
- const impact = management.devImpact;
487
- const affectedReferences = impact === undefined
488
- ? 0
489
- : Object.values(impact.references).reduce((sum, count) => sum + count, 0);
490
- return [
491
- { kind: 'remove', title: '移除 Workspace 管理的开发来源' },
492
- ...(intent.replacementPrimary ? [{ kind: 'change', title: '切换主来源', description: intent.replacementPrimary }] : []),
493
- { kind: 'keep', title: '保留 Workspace snapshot 和 Catalog store' },
494
- { kind: impact?.inventoryComplete === false ? 'warning' : 'change',
495
- title: impact?.inventoryComplete === false ? '来源引用清单不完整' : '已检查现有来源引用',
496
- description: `${affectedReferences} 个引用` },
497
- ...(impact?.primaryChange ? [{ kind: 'warning', title: '此操作会改变共享主来源' }] : []),
498
- ];
499
- }
500
- if (intent.action === 'storePrune') {
501
- const entries = management.store?.entries.filter((entry) => intent.items.some((item) => item.storeKey === entry.item.storeKey
502
- && item.category === entry.item.category)) ?? [];
503
- const bytes = entries.every((entry) => entry.reclaimableBytes !== null)
504
- ? entries.reduce((sum, entry) => sum + entry.reclaimableBytes, 0)
505
- : null;
506
- return [
507
- { kind: 'remove', title: `删除 ${entries.length} 个可回收项目`, description: bytes === null ? '大小未知' : `${bytes} bytes` },
508
- ...[...new Set(entries.map((entry) => entry.category))].map((category) => ({
509
- kind: 'remove', title: `Catalog store · ${category}`,
510
- description: `${entries.filter((entry) => entry.category === category).length} 项`,
511
- })),
512
- { kind: 'keep', title: '保留 Active、未到保留期限、foreign 和未选择项目' },
513
- { kind: 'warning', title: '执行时逐项重新检查身份、Active 和保留期限' },
514
- ];
515
- }
516
- if (intent.action === 'publishPlan')
517
- return [
518
- { kind: 'change', title: '构建并完整验证发布 snapshot' },
519
- { kind: 'change', title: '读取目标远端 branch 和 immutable tag' },
520
- { kind: 'add', title: '保存 version-scoped journal 和隔离 Git repository' },
521
- { kind: 'keep', title: '本步骤不会写入远端' },
522
- { kind: 'warning', title: '插件构建可运行 Workspace 提供的作者脚本' },
523
- ...(management.target?.remote ? [{ kind: 'keep', title: '远端', description: management.target.remote }] : []),
524
- { kind: 'keep', title: '发布 branch', description: management.target?.branch ?? 'catalog' },
525
- ];
526
- const publishRemote = safePublicationRemote(management.publication?.remote, intent.remoteUrl);
527
- return [
528
- { kind: 'change', title: '应用已保存的发布计划', description: management.publication?.catalogVersion },
529
- { kind: 'change', title: '写入并核对远端 branch 和 annotated tag' },
530
- { kind: 'keep', title: '发布远端', description: publishRemote },
531
- { kind: 'keep', title: '发布 branch', description: management.publication?.branch ?? intent.branch ?? 'catalog' },
532
- { kind: 'keep', title: '绑定旧 plan digest、Workspace identity、远端和 branch' },
533
- { kind: 'keep', title: '不要求当前 HEAD 或 metadata 仍与 plan 相同' },
534
- { kind: 'warning', title: management.publication?.state === 'uncertain'
535
- ? '对账并恢复结果不确定的发布' : '远端失败或结果未知时保留 recovery journal' },
536
- ];
537
- }
538
355
  if (intent.kind === 'catalogSourcesRecovery') {
539
356
  return [
540
357
  { kind: 'add', title: '备份损坏的 catalog-sources.json' },
@@ -598,7 +415,7 @@ function reviewChanges(intent, evidence, dependencyOverview) {
598
415
  pluginId: action.pluginId,
599
416
  title: action.codexPluginId,
600
417
  description: action.action === 'reuse'
601
- ? '复用完全相同的平台共享内容'
418
+ ? '复用完全相同的由平台共用内容'
602
419
  : `${{
603
420
  install: '添加',
604
421
  update: '更新',
@@ -606,7 +423,7 @@ function reviewChanges(intent, evidence, dependencyOverview) {
606
423
  replace: '替换',
607
424
  remove: '移除',
608
425
  none: '保持不变',
609
- }[action.action]}平台共享内容${action.affectsOtherScopes ? ' · 可能影响其他项目' : ''}`,
426
+ }[action.action]}由平台共用的内容${action.affectsOtherScopes ? ' · 可能影响其他项目' : ''}`,
610
427
  })),
611
428
  ...codexPlan.activationActions.user.map((action) => ({
612
429
  kind: action.action === 'none' ? 'keep' : action.desired ? 'change' : 'remove',
@@ -883,7 +700,7 @@ function reviewChanges(intent, evidence, dependencyOverview) {
883
700
  {
884
701
  kind: 'change', group: 'configImpact',
885
702
  title: `重新生成 ${sharedNativeTargets.map((target) => target.skillKey).join('、')} 动态 Skill`,
886
- description: '配置来源为个人默认;更新 Codex 平台共享内容会影响所有启用项目。',
703
+ description: '配置来源为个人默认;更新 Codex 由平台共用的内容会影响所有启用项目。',
887
704
  },
888
705
  { kind: 'keep', group: 'preserved', title: '保留所有项目和当前项目的启用位置' },
889
706
  { kind: 'keep', group: 'preserved', title: '当前项目 Agent role 继续使用当前项目配置' },
@@ -891,10 +708,10 @@ function reviewChanges(intent, evidence, dependencyOverview) {
891
708
  : [
892
709
  {
893
710
  kind: 'warning', group: 'configImpact',
894
- title: 'Codex 平台共享内容待同步',
711
+ title: 'Codex 由平台共用的内容待同步',
895
712
  description: '个人默认已保存;动态 Skill 尚未重新生成。',
896
713
  },
897
- { kind: 'keep', group: 'preserved', title: '当前平台共享内容和启用位置保持不变' },
714
+ { kind: 'keep', group: 'preserved', title: '当前由平台共用的内容和启用位置保持不变' },
898
715
  { kind: 'keep', group: 'preserved', title: '当前项目 Agent role 继续使用当前项目配置' },
899
716
  ];
900
717
  return [
@@ -1147,7 +964,7 @@ function technicalDetails(evidence) {
1147
964
  const task = evidence;
1148
965
  details.push(`任务目标:${task.taskPlan.requestedTargets.length} 个`);
1149
966
  details.push(`可执行目标:${task.taskPlan.executableTargets.length} 个`);
1150
- details.push(`共享根因:${task.taskPlan.causes.length} 个`);
967
+ details.push(`共同原因:${task.taskPlan.causes.length} 个`);
1151
968
  for (const source of task.taskPlan.sources) {
1152
969
  details.push(`任务来源:${source.sourceId} · ${source.requestedTargets.length} 个目标 · 计划 ${short(source.preview.operationPlan.planFingerprint)}`);
1153
970
  }
@@ -1214,7 +1031,6 @@ export function buildOperationReviewProjection(options) {
1214
1031
  && (evidence.config?.sharedNativeRenderTargets?.length ?? 0) > 0
1215
1032
  && (evidence.config?.affectedTargets.some((target) => target.platform === 'codex') ?? false);
1216
1033
  const requiresConfirmation = sharedNativeConfigApply
1217
- || intent.kind === 'catalogManagement'
1218
1034
  || Boolean(batchEvidence?.groups.some((group) => (group.preview.codexReconcilePlans ?? []).some((plan) => plan.review.requiresConfirmation)))
1219
1035
  || Boolean(taskEvidence?.taskPlan.sources.some((source) => (source.preview.codexReconcilePlans ?? []).some((plan) => plan.review.requiresConfirmation)))
1220
1036
  || (evidence.codexReconcilePlans ?? []).some((plan) => plan.review.requiresConfirmation)
@@ -1248,9 +1064,6 @@ export function buildOperationReviewProjection(options) {
1248
1064
  ? taskReviewChanges(intent, taskEvidence)
1249
1065
  : reviewChanges(intent, evidence, options.dependencyOverview)),
1250
1066
  ],
1251
- ...(intent.kind === 'catalogManagement'
1252
- ? { confirmationDetails: catalogConfirmationDetails(intent, evidence) }
1253
- : {}),
1254
1067
  technicalDetails: technicalDetails(evidence),
1255
1068
  ...(intent.kind === 'pluginWrite'
1256
1069
  ? { equivalentCommand: `aw ${intent.action === 'refreshAndSync' ? 'sync' : intent.action} ${intent.pluginId} --platform ${intent.platform} --scope ${intent.scope}${intent.action === 'refreshAndSync' ? ' --refresh' : ''}${scriptTimeoutChanges(intent).length > 0 ? ` --script-timeout ${parseScriptTimeoutMs(intent.scriptTimeoutMs ?? SCRIPT_TIMEOUT_DEFAULT_MS)}` : ''}${(intent.dependencyScopeOverrides ?? []).map((override) => ` --dependency-scope ${override.pluginId}#${override.platform}=${override.scope}`).join('')}${intent.action === 'cleanup' && intent.force === true ? ' --force' : ''}${evidence.codexManager?.state === 'requires-install' ? ' --allow-managed-codex-install' : ''}${requiresConfirmation || hasPreApply ? ' --yes' : ''}` }
@@ -1276,7 +1089,7 @@ export function buildOperationReviewProjection(options) {
1276
1089
  ])],
1277
1090
  ...(warning ? { warning }
1278
1091
  : sharedNativeConfigApply
1279
- ? { warning: '更新共享 Codex native 动态 Skill 会影响所有启用项目。' }
1092
+ ? { warning: '更新被共用的 Codex native 动态 Skill 会影响所有启用项目。' }
1280
1093
  : requiresConfirmation && (evidence.sourceWrite
1281
1094
  || evidence.catalogGeneration?.impact
1282
1095
  || evidence.catalogGeneration?.primaryImpact)
@@ -1 +1 @@
1
- {"version":3,"file":"operation-review-planner.js","sourceRoot":"","sources":["../../../src/tui/operation-review-planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-review-planner.js","sourceRoot":"","sources":["../../../src/tui/operation-review-planner.ts"],"names":[],"mappings":"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"}
@@ -124,6 +124,10 @@ function restoreCandidate(options) {
124
124
  if (!blockReason && (matchingIssues.length === 0 || actionable.some((method) => method === undefined))) {
125
125
  blockReason = 'manualRecoveryRequired';
126
126
  }
127
+ if (!blockReason && matchingIssues.some((issue) => issue.actions.some((action) => (action.writeAction === 'sync' || action.writeAction === 'reinstall')
128
+ && action.pluginId === options.target.pluginId && action.scope !== options.target.scope))) {
129
+ blockReason = 'manualRecoveryRequired';
130
+ }
127
131
  const methods = new Set(actionable.filter((method) => Boolean(method)));
128
132
  return {
129
133
  target: options.target,