@lesliechan721/aw 0.1.0-beta.4 → 0.1.0-beta.6

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 (99) hide show
  1. package/dist/authoring/scripts/lib/plugin-version-check.d.mts +14 -0
  2. package/dist/authoring/scripts/lib/plugin-version-check.mjs +10 -224
  3. package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -1
  4. package/dist/authoring/scripts/remove-plugin.d.mts +2 -0
  5. package/dist/authoring/scripts/remove-plugin.mjs +366 -0
  6. package/dist/authoring/scripts/remove-plugin.mjs.map +1 -0
  7. package/dist/authoring/scripts/validate-plugin.mjs +9 -46
  8. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  9. package/dist/scripts/bundle-plugins.d.ts +0 -2
  10. package/dist/scripts/bundle-plugins.js +4 -2
  11. package/dist/scripts/bundle-plugins.js.map +1 -1
  12. package/dist/scripts/plugin-staging.d.ts +1 -16
  13. package/dist/scripts/plugin-staging.js +8 -115
  14. package/dist/scripts/plugin-staging.js.map +1 -1
  15. package/dist/src/authoring/workspace-commands.d.ts +9 -1
  16. package/dist/src/authoring/workspace-commands.js +24 -16
  17. package/dist/src/authoring/workspace-commands.js.map +1 -1
  18. package/dist/src/commands/catalog-publication-inspection.d.ts +106 -0
  19. package/dist/src/commands/catalog-publication-inspection.js +444 -0
  20. package/dist/src/commands/catalog-publication-inspection.js.map +1 -0
  21. package/dist/src/commands/catalog-publish.d.ts +18 -2
  22. package/dist/src/commands/catalog-publish.js +261 -316
  23. package/dist/src/commands/catalog-publish.js.map +1 -1
  24. package/dist/src/commands/catalog-status.d.ts +60 -0
  25. package/dist/src/commands/catalog-status.js +251 -0
  26. package/dist/src/commands/catalog-status.js.map +1 -0
  27. package/dist/src/commands/plugin-capabilities.d.ts +22 -0
  28. package/dist/src/commands/plugin-capabilities.js +143 -0
  29. package/dist/src/commands/plugin-capabilities.js.map +1 -0
  30. package/dist/src/commands/rebuild-command.d.ts +2 -0
  31. package/dist/src/commands/rebuild-command.js +37 -6
  32. package/dist/src/commands/rebuild-command.js.map +1 -1
  33. package/dist/src/commands/rebuild-integration.d.ts +1 -0
  34. package/dist/src/commands/rebuild-integration.js +55 -57
  35. package/dist/src/commands/rebuild-integration.js.map +1 -1
  36. package/dist/src/commands/status-v4.d.ts +21 -0
  37. package/dist/src/commands/status-v4.js +63 -2
  38. package/dist/src/commands/status-v4.js.map +1 -1
  39. package/dist/src/index.js +79 -18
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/tui/components.d.ts +70 -0
  42. package/dist/src/tui/components.js +149 -6
  43. package/dist/src/tui/components.js.map +1 -1
  44. package/dist/src/tui/console-app-v4.js +1660 -628
  45. package/dist/src/tui/console-app-v4.js.map +1 -1
  46. package/dist/src/tui/controller-runtime.d.ts +5 -1
  47. package/dist/src/tui/controller-runtime.js +184 -33
  48. package/dist/src/tui/controller-runtime.js.map +1 -1
  49. package/dist/src/tui/controller.d.ts +35 -2
  50. package/dist/src/tui/controller.js +300 -39
  51. package/dist/src/tui/controller.js.map +1 -1
  52. package/dist/src/tui/diagnostics.d.ts +31 -0
  53. package/dist/src/tui/diagnostics.js +71 -0
  54. package/dist/src/tui/diagnostics.js.map +1 -0
  55. package/dist/src/tui/index.d.ts +5 -3
  56. package/dist/src/tui/index.js +3 -1
  57. package/dist/src/tui/index.js.map +1 -1
  58. package/dist/src/tui/model.d.ts +33 -4
  59. package/dist/src/tui/model.js +252 -17
  60. package/dist/src/tui/model.js.map +1 -1
  61. package/dist/src/tui/router.d.ts +15 -9
  62. package/dist/src/tui/router.js +35 -0
  63. package/dist/src/tui/router.js.map +1 -1
  64. package/dist/src/tui/theme.d.ts +18 -10
  65. package/dist/src/tui/theme.js +18 -10
  66. package/dist/src/tui/theme.js.map +1 -1
  67. package/dist/src/tui/viewport.d.ts +20 -0
  68. package/dist/src/tui/viewport.js +29 -0
  69. package/dist/src/tui/viewport.js.map +1 -0
  70. package/dist/src/utils/catalog-runtime-projection.d.ts +1 -7
  71. package/dist/src/utils/catalog-runtime-projection.js +2 -62
  72. package/dist/src/utils/catalog-runtime-projection.js.map +1 -1
  73. package/dist/src/utils/catalog-source-cache.d.ts +12 -11
  74. package/dist/src/utils/catalog-source-cache.js +20 -0
  75. package/dist/src/utils/catalog-source-cache.js.map +1 -1
  76. package/dist/src/utils/dynamic-skill-tree.js +1 -1
  77. package/dist/src/utils/dynamic-skill-tree.js.map +1 -1
  78. package/dist/src/utils/git-catalog-provider.js +1 -1
  79. package/dist/src/utils/git-catalog-provider.js.map +1 -1
  80. package/dist/src/utils/manifest.d.ts +0 -1
  81. package/dist/src/utils/manifest.js +0 -1
  82. package/dist/src/utils/manifest.js.map +1 -1
  83. package/dist/src/utils/plugin-config.js +28 -30
  84. package/dist/src/utils/plugin-config.js.map +1 -1
  85. package/dist/src/utils/skill-validation.d.ts +1 -1
  86. package/dist/src/utils/skill-validation.js +1 -1
  87. package/dist/src/utils/skill-validation.js.map +1 -1
  88. package/dist/src/utils/state-paths.d.ts +1 -0
  89. package/dist/src/utils/state-paths.js +5 -0
  90. package/dist/src/utils/state-paths.js.map +1 -1
  91. package/package.json +3 -4
  92. package/dist/src/utils/plugin-authoring-capabilities.d.ts +0 -23
  93. package/dist/src/utils/plugin-authoring-capabilities.js +0 -37
  94. package/dist/src/utils/plugin-authoring-capabilities.js.map +0 -1
  95. package/dist/src/utils/plugin-authoring-capabilities.json +0 -92
  96. package/dist/src/utils/skill-frontmatter-capabilities.d.ts +0 -201
  97. package/dist/src/utils/skill-frontmatter-capabilities.js +0 -5
  98. package/dist/src/utils/skill-frontmatter-capabilities.js.map +0 -1
  99. package/dist/src/utils/skill-frontmatter-capabilities.json +0 -200
@@ -1,4 +1,5 @@
1
1
  import type { CliExecutionContext } from '../commands/runtime.js';
2
+ import { type StatusTargetRevision, type StatusV4Target } from '../commands/status-v4.js';
2
3
  import { type CatalogSourceMutationProgress } from '../commands/catalog-source.js';
3
4
  import type { RebuildProgressFeed } from '../output/rebuild-progress.js';
4
5
  import { TuiController, type TuiControllerDependencies } from './controller.js';
@@ -7,5 +8,8 @@ export interface TuiControllerRuntimeTestHooks {
7
8
  onCatalogSourceProgress?: (event: CatalogSourceMutationProgress) => Promise<void> | void;
8
9
  }
9
10
  export declare function setTuiControllerRuntimeTestHooksForTests(hooks: TuiControllerRuntimeTestHooks | undefined): void;
10
- export declare function createTuiControllerDependencies(context: CliExecutionContext, progressFeed?: RebuildProgressFeed): TuiControllerDependencies;
11
+ export declare function statusTargetFingerprint(targets: StatusV4Target[], revisions?: StatusTargetRevision[]): string;
12
+ export declare function createTuiControllerDependencies(context: CliExecutionContext, progressFeed?: RebuildProgressFeed, options?: {
13
+ now?: () => number;
14
+ }): TuiControllerDependencies;
11
15
  export declare function createConsoleTuiV4Controller(context: CliExecutionContext, progressFeed?: RebuildProgressFeed): TuiController;
@@ -1,5 +1,5 @@
1
1
  import crypto from 'node:crypto';
2
- import { statusCommandV4 } from '../commands/status-v4.js';
2
+ import { statusCommandV4, } from '../commands/status-v4.js';
3
3
  import { addCatalogSourceCommand, listCatalogSources, preflightCatalogSourceMutation, removeCatalogSourceCommand, setPrimaryCatalogSourceCommand, updateCatalogSourceCommand, } from '../commands/catalog-source.js';
4
4
  import { cleanupWriteCommand, installWriteCommand, reinstallWriteCommand, uninstallWriteCommand, upgradeWriteCommand, } from '../commands/write-commands.js';
5
5
  import { readCliPackageInfo } from '../utils/local-marketplace.js';
@@ -38,6 +38,28 @@ export function setTuiControllerRuntimeTestHooksForTests(hooks) {
38
38
  function digest(value) {
39
39
  return `sha256:${crypto.createHash('sha256').update(JSON.stringify(value)).digest('hex')}`;
40
40
  }
41
+ export function statusTargetFingerprint(targets, revisions = []) {
42
+ return digest({
43
+ targets: targets.map((target) => ({
44
+ pluginId: target.pluginId,
45
+ sourceIdentity: target.sourceIdentity,
46
+ platform: target.platform,
47
+ scope: target.scope,
48
+ state: target.state,
49
+ errors: target.errors.map((error) => error.code).sort(),
50
+ components: target.components.map((component) => [component.key, component.state])
51
+ .sort(([left], [right]) => left.localeCompare(right, 'en')),
52
+ })).sort((left, right) => [left.pluginId, left.platform, left.scope].join('\0')
53
+ .localeCompare([right.pluginId, right.platform, right.scope].join('\0'), 'en')),
54
+ revisions: revisions.map((entry) => ({
55
+ pluginId: entry.pluginId,
56
+ platform: entry.platform,
57
+ scope: entry.scope,
58
+ revision: entry.revision,
59
+ })).sort((left, right) => [left.pluginId, left.platform, left.scope].join('\0')
60
+ .localeCompare([right.pluginId, right.platform, right.scope].join('\0'), 'en')),
61
+ });
62
+ }
41
63
  function operationReviewStale(message) {
42
64
  return new TuiOperationBlockedError('operationReviewStale', `operationReviewStale: ${message}`);
43
65
  }
@@ -77,12 +99,13 @@ const SOURCE_PROGRESS_PHASES = {
77
99
  function pluginIntent(intent) {
78
100
  return 'pluginId' in intent;
79
101
  }
80
- function assertIntentIsLegal(intent, targets) {
102
+ function assertIntentIsLegal(intent, targets, revisions = []) {
81
103
  const platforms = intent.platform === 'both'
82
104
  ? ['codex', 'claude']
83
105
  : [intent.platform];
84
106
  for (const platform of platforms) {
85
- const selected = targets.find((target) => target.platform === platform && target.scope === intent.scope);
107
+ const selected = targets.find((target) => target.pluginId === intent.pluginId
108
+ && target.platform === platform && target.scope === intent.scope);
86
109
  if (!selected || selected.errors.some((error) => error.code === 'unsupportedTarget')) {
87
110
  throw new TuiOperationBlockedError('unsupportedTarget', '所选插件不支持这个平台和使用位置。');
88
111
  }
@@ -95,7 +118,10 @@ function assertIntentIsLegal(intent, targets) {
95
118
  if (intent.action === 'install' && selected.state !== 'absent') {
96
119
  throw new TuiOperationBlockedError('targetAlreadyInstalled', '所选位置已经安装。');
97
120
  }
98
- if (intent.action === 'upgrade' && selected.state !== 'present') {
121
+ const revision = revisions.find((entry) => entry.pluginId === intent.pluginId
122
+ && entry.platform === platform && entry.scope === intent.scope)?.revision;
123
+ if (intent.action === 'upgrade'
124
+ && (selected.state !== 'present' || revision?.state !== 'upgradeAvailable')) {
99
125
  throw new TuiOperationBlockedError('targetStateChanged', '当前安装状态不允许执行这个操作。');
100
126
  }
101
127
  if (intent.action === 'uninstall' && !targetCanBeUninstalled(selected.state)) {
@@ -136,6 +162,13 @@ async function assertTypedIssueOrigin(intent, targets) {
136
162
  }
137
163
  return;
138
164
  }
165
+ else if (intent.originIssue.category === 'sourceUnavailable') {
166
+ if (intent.originIssue.actionId !== 'cleanup' || intent.action !== 'cleanup'
167
+ || !selected || !selected.errors.some((error) => error.code === 'bundleUnavailable')) {
168
+ stale('原 Catalog 缺失插件问题已变化。');
169
+ }
170
+ return;
171
+ }
139
172
  else if (intent.originIssue.category === 'scopeConflict') {
140
173
  const installedScopes = new Set(targets.filter((target) => target.pluginId === intent.pluginId
141
174
  && target.platform === intent.platform
@@ -360,7 +393,31 @@ async function loadDependencyOverviews(options) {
360
393
  };
361
394
  });
362
395
  }
363
- export function createTuiControllerDependencies(context, progressFeed) {
396
+ function createReviewStageReporter(options) {
397
+ let active;
398
+ const finish = async () => {
399
+ if (!active)
400
+ return;
401
+ const completed = active;
402
+ active = undefined;
403
+ await Promise.allSettled([Promise.resolve().then(() => options.context.debugLogger.log({
404
+ type: `review.prepare.${completed.stage}`,
405
+ level: 'debug',
406
+ target: 'debugLog',
407
+ message: 'TUI review preparation stage completed.',
408
+ data: { durationMs: Math.max(0, options.now() - completed.startedAt) },
409
+ }))]);
410
+ };
411
+ return {
412
+ async emit(stage) {
413
+ await finish();
414
+ active = { stage, startedAt: options.now() };
415
+ await options.onStage(stage);
416
+ },
417
+ finish,
418
+ };
419
+ }
420
+ export function createTuiControllerDependencies(context, progressFeed, options = {}) {
364
421
  const loadStatus = async (signal) => {
365
422
  signal.throwIfAborted();
366
423
  const packageInfo = await readCliPackageInfo();
@@ -392,6 +449,7 @@ export function createTuiControllerDependencies(context, progressFeed) {
392
449
  return {
393
450
  payload: result.payload,
394
451
  pluginSummaries: result.pluginSummaries,
452
+ targetRevisions: result.targetRevisions,
395
453
  dependencyOverviews,
396
454
  portablePluginIds,
397
455
  sourceDetails: configured.sources.map((source) => {
@@ -413,6 +471,7 @@ export function createTuiControllerDependencies(context, progressFeed) {
413
471
  ...(status?.catalogVersion ? { catalogVersion: status.catalogVersion } : {}),
414
472
  ...(status?.channel ? { channel: status.channel } : {}),
415
473
  ...(status?.freshness ? { freshness: status.freshness } : {}),
474
+ ...(status?.errorCode ? { errorCode: status.errorCode } : {}),
416
475
  configDigest: configured.configDigest,
417
476
  };
418
477
  }),
@@ -420,7 +479,7 @@ export function createTuiControllerDependencies(context, progressFeed) {
420
479
  }
421
480
  throw new TuiOperationBlockedError('operationReviewStale', '状态读取期间来源配置持续变化。请重试。');
422
481
  };
423
- const captureEvidence = async (intent, signal, freshnessPolicy = 'cacheFirst') => {
482
+ const captureEvidence = async (intent, signal, freshnessPolicy = 'cacheFirst', preparation) => {
424
483
  if (intent.kind === 'sourceMutation') {
425
484
  signal?.throwIfAborted();
426
485
  if (intent.action === 'add' && !intent.source
@@ -432,12 +491,16 @@ export function createTuiControllerDependencies(context, progressFeed) {
432
491
  : intent.action === 'update'
433
492
  ? { action: 'update', sourceId: intent.sourceId, update: intent.update }
434
493
  : { action: intent.action, sourceId: intent.sourceId };
494
+ await preparation?.reporter.emit('validate');
435
495
  const preview = await preflightCatalogSourceMutation({
436
496
  request,
437
497
  cwd: context.cwd,
438
498
  env: context.env,
439
499
  });
440
- return {
500
+ signal?.throwIfAborted();
501
+ await preparation?.reporter.emit('evidence');
502
+ signal?.throwIfAborted();
503
+ const evidence = {
441
504
  catalog: { configDigest: preview.configDigest, compositeDigest: preview.candidateDigest },
442
505
  sourceWrite: {
443
506
  configDigest: preview.configDigest,
@@ -448,6 +511,11 @@ export function createTuiControllerDependencies(context, progressFeed) {
448
511
  inventoryComplete: preview.references.errors.length === 0,
449
512
  },
450
513
  };
514
+ if (preparation?.validateIntent
515
+ && evidence.sourceWrite?.configDigest === evidence.sourceWrite?.candidateDigest) {
516
+ throw new TuiOperationBlockedError('sourceNoChanges', '来源没有变化。');
517
+ }
518
+ return evidence;
451
519
  }
452
520
  if (!pluginIntent(intent)) {
453
521
  throw new TuiOperationBlockedError('operationNotImplemented', '这个写操作尚未接入新 Controller。');
@@ -455,6 +523,7 @@ export function createTuiControllerDependencies(context, progressFeed) {
455
523
  signal?.throwIfAborted();
456
524
  const packageInfo = await readCliPackageInfo();
457
525
  if (intent.kind === 'portableInstall') {
526
+ await preparation?.reporter.emit('portable');
458
527
  const portable = await preparePortableInstall({
459
528
  selector: intent.pluginId,
460
529
  scope: intent.scope,
@@ -465,6 +534,9 @@ export function createTuiControllerDependencies(context, progressFeed) {
465
534
  cliVersion: packageInfo.version,
466
535
  signal,
467
536
  });
537
+ signal?.throwIfAborted();
538
+ await preparation?.reporter.emit('evidence');
539
+ signal?.throwIfAborted();
468
540
  return {
469
541
  catalog: {
470
542
  configDigest: portable.configDigest,
@@ -473,6 +545,7 @@ export function createTuiControllerDependencies(context, progressFeed) {
473
545
  portable,
474
546
  };
475
547
  }
548
+ await preparation?.reporter.emit('status');
476
549
  const status = await statusCommandV4({
477
550
  plugins: [...new Set([intent.pluginId,
478
551
  ...(intent.kind === 'pluginWrite' && intent.originIssue?.consumerPluginId
@@ -488,9 +561,69 @@ export function createTuiControllerDependencies(context, progressFeed) {
488
561
  signal?.throwIfAborted();
489
562
  if (intent.kind === 'pluginWrite') {
490
563
  await assertTypedIssueOrigin(intent, status.payload.targets);
564
+ if (preparation?.validateIntent) {
565
+ assertIntentIsLegal(intent, status.payload.targets, status.targetRevisions);
566
+ }
491
567
  }
492
568
  const configSnapshot = await readCatalogSourcesConfigSnapshot(context.env);
569
+ signal?.throwIfAborted();
570
+ if (configSnapshot.digest !== status.payload.catalog.configDigest) {
571
+ throw operationReviewStale('准备确认信息期间来源配置发生变化。');
572
+ }
493
573
  let dependencyPlan;
574
+ await preparation?.reporter.emit('catalog');
575
+ const bundleUnavailableCleanupTarget = intent.kind === 'pluginWrite'
576
+ && intent.action === 'cleanup'
577
+ && intent.originIssue?.category === 'sourceUnavailable'
578
+ && intent.originIssue.actionId === 'cleanup'
579
+ ? status.payload.targets.find((target) => target.pluginId === intent.pluginId
580
+ && target.platform === intent.platform
581
+ && target.scope === intent.scope
582
+ && target.errors.some((error) => error.code === 'bundleUnavailable'))
583
+ : undefined;
584
+ const catalogSource = bundleUnavailableCleanupTarget
585
+ ? status.payload.catalog.sources.find((source) => source.id === bundleUnavailableCleanupTarget.sourceId)
586
+ : undefined;
587
+ const selected = bundleUnavailableCleanupTarget
588
+ ? {
589
+ pluginName: bundleUnavailableCleanupTarget.pluginName,
590
+ source: {
591
+ sourceId: bundleUnavailableCleanupTarget.sourceId,
592
+ sourceIdentity: bundleUnavailableCleanupTarget.sourceIdentity,
593
+ ...(catalogSource?.requestedRef ? { requestedRef: catalogSource.requestedRef } : {}),
594
+ ...(catalogSource?.resolvedCommit ? { resolvedCommit: catalogSource.resolvedCommit } : {}),
595
+ },
596
+ }
597
+ : await withResolvedCatalogPlugin({
598
+ selector: intent.pluginId,
599
+ cliVersion: packageInfo.version,
600
+ freshnessPolicy,
601
+ configSnapshot,
602
+ env: context.env,
603
+ ...(signal ? { signal } : {}),
604
+ consume: async ({ plugin, source }) => {
605
+ if (preparation?.validateIntent && intent.kind === 'configSave') {
606
+ await preparation.reporter.emit('config');
607
+ if (!plugin.manifest.config) {
608
+ throw new TuiOperationBlockedError('configSchemaUnavailable', '这个插件没有设置 schema。');
609
+ }
610
+ await coercePluginConfigUpdates({
611
+ schema: plugin.manifest.config.schema,
612
+ updates: intent.updates ?? {},
613
+ cwd: context.cwd,
614
+ });
615
+ for (const key of intent.removeKeys ?? []) {
616
+ if (!plugin.manifest.config.schema[key]) {
617
+ throw new TuiOperationBlockedError('unknownConfigKey', '设置字段已变化,请重新检查。');
618
+ }
619
+ }
620
+ }
621
+ return {
622
+ pluginName: plugin.manifest.name,
623
+ source: sourceEvidenceForPlugin(source, plugin.manifest.name),
624
+ };
625
+ },
626
+ });
494
627
  const hasDeclaredDependencies = (status.pluginSummaries.find((summary) => summary.pluginId === intent.pluginId)?.dependencyTotalCount ?? 0) > 0;
495
628
  if (intent.kind === 'pluginWrite'
496
629
  && hasDeclaredDependencies
@@ -508,7 +641,12 @@ export function createTuiControllerDependencies(context, progressFeed) {
508
641
  ...context,
509
642
  expectedCatalogConfigDigest: status.payload.catalog.configDigest,
510
643
  previewDependencyPlanOnly: true,
644
+ ...(preparation ? {
645
+ previewCatalogFreshnessPolicy: 'cacheFirst',
646
+ onPreviewStage: (stage) => stage === 'catalog' ? undefined : preparation.reporter.emit(stage),
647
+ } : {}),
511
648
  });
649
+ signal?.throwIfAborted();
512
650
  dependencyPlan = preview.dependencyPlan;
513
651
  if (!dependencyPlan) {
514
652
  throw new TuiOperationBlockedError('dependencyGraphInvalid', '无法建立可信的依赖安装计划。');
@@ -518,18 +656,8 @@ export function createTuiControllerDependencies(context, progressFeed) {
518
656
  throw new TuiOperationBlockedError(blocker.errorCode ?? 'dependencyNotReady', `${blocker.errorCode ?? 'dependencyNotReady'}: 依赖安装计划被阻止。`);
519
657
  }
520
658
  }
521
- const selected = await withResolvedCatalogPlugin({
522
- selector: intent.pluginId,
523
- cliVersion: packageInfo.version,
524
- freshnessPolicy,
525
- configSnapshot,
526
- env: context.env,
527
- ...(signal ? { signal } : {}),
528
- consume: ({ plugin, source }) => ({
529
- pluginName: plugin.manifest.name,
530
- source: sourceEvidenceForPlugin(source, plugin.manifest.name),
531
- }),
532
- });
659
+ await preparation?.reporter.emit('evidence');
660
+ signal?.throwIfAborted();
533
661
  const evidence = {
534
662
  catalog: {
535
663
  configDigest: status.payload.catalog.configDigest,
@@ -537,17 +665,7 @@ export function createTuiControllerDependencies(context, progressFeed) {
537
665
  },
538
666
  source: selected.source,
539
667
  ...(dependencyPlan ? { dependencyPlan } : {}),
540
- targetFingerprint: digest(status.payload.targets.map((target) => ({
541
- pluginId: target.pluginId,
542
- sourceIdentity: target.sourceIdentity,
543
- platform: target.platform,
544
- scope: target.scope,
545
- state: target.state,
546
- errors: target.errors.map((error) => error.code).sort(),
547
- components: target.components.map((component) => [component.key, component.state])
548
- .sort(([left], [right]) => left.localeCompare(right, 'en')),
549
- })).sort((left, right) => [left.pluginId, left.platform, left.scope].join('\0')
550
- .localeCompare([right.pluginId, right.platform, right.scope].join('\0'), 'en'))),
668
+ targetFingerprint: statusTargetFingerprint(status.payload.targets, status.targetRevisions ?? []),
551
669
  };
552
670
  if (intent.kind === 'configSave' || intent.kind === 'configReset') {
553
671
  const store = await readPluginConfigStore({
@@ -559,6 +677,7 @@ export function createTuiControllerDependencies(context, progressFeed) {
559
677
  cwd: context.cwd,
560
678
  env: context.env,
561
679
  });
680
+ signal?.throwIfAborted();
562
681
  evidence.config = {
563
682
  scope: intent.scope,
564
683
  projectLayer: intent.projectLayer,
@@ -582,6 +701,22 @@ export function createTuiControllerDependencies(context, progressFeed) {
582
701
  dependencies: [],
583
702
  };
584
703
  },
704
+ async prepareReviewEvidence(intent, signal, onStage) {
705
+ const reporter = createReviewStageReporter({
706
+ context,
707
+ onStage,
708
+ now: options.now ?? Date.now,
709
+ });
710
+ try {
711
+ return await captureEvidence(intent, signal, 'cacheFirst', {
712
+ reporter,
713
+ validateIntent: true,
714
+ });
715
+ }
716
+ finally {
717
+ await reporter.finish();
718
+ }
719
+ },
585
720
  async validateIntent(intent, signal) {
586
721
  if (intent.kind === 'sourceMutation') {
587
722
  const evidence = await captureEvidence(intent, signal);
@@ -630,7 +765,7 @@ export function createTuiControllerDependencies(context, progressFeed) {
630
765
  });
631
766
  signal.throwIfAborted();
632
767
  await assertTypedIssueOrigin(intent, status.payload.targets);
633
- assertIntentIsLegal(intent, status.payload.targets);
768
+ assertIntentIsLegal(intent, status.payload.targets, status.targetRevisions);
634
769
  },
635
770
  async checkSource(sourceId, signal) {
636
771
  const packageInfo = await readCliPackageInfo();
@@ -685,7 +820,15 @@ export function createTuiControllerDependencies(context, progressFeed) {
685
820
  cwd: context.cwd,
686
821
  env: context.env,
687
822
  });
688
- return buildConfigGroups({ schema: plugin.manifest.config, read });
823
+ const effectiveRead = await resolveConfigRead({
824
+ pluginName: plugin.manifest.name,
825
+ plugin,
826
+ scope: 'effective',
827
+ projectLayer: layer.projectLayer,
828
+ cwd: context.cwd,
829
+ env: context.env,
830
+ });
831
+ return buildConfigGroups({ schema: plugin.manifest.config, read, effectiveRead });
689
832
  },
690
833
  });
691
834
  },
@@ -709,7 +852,15 @@ export function createTuiControllerDependencies(context, progressFeed) {
709
852
  cwd: context.cwd,
710
853
  env: context.env,
711
854
  });
712
- return buildConfigPage({ pluginId, schema: plugin.manifest.config, read });
855
+ const effectiveRead = layer.scope === 'effective' ? read : await resolveConfigRead({
856
+ pluginName: plugin.manifest.name,
857
+ plugin,
858
+ scope: 'effective',
859
+ projectLayer: layer.projectLayer,
860
+ cwd: context.cwd,
861
+ env: context.env,
862
+ });
863
+ return buildConfigPage({ pluginId, schema: plugin.manifest.config, read, effectiveRead });
713
864
  },
714
865
  });
715
866
  },
@@ -1 +1 @@
1
- {"version":3,"file":"controller-runtime.js","sourceRoot":"","sources":["../../../src/tui/controller-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-runtime.js","sourceRoot":"","sources":["../../../src/tui/controller-runtime.ts"],"names":[],"mappings":"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"}