@lesliechan721/aw 0.1.0-beta.18 → 0.1.0-beta.19

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 (42) hide show
  1. package/dist/src/commands/operation-planner.d.ts +3 -3
  2. package/dist/src/commands/status-v6.d.ts +81 -31
  3. package/dist/src/commands/status-v6.js +494 -183
  4. package/dist/src/commands/status-v6.js.map +1 -1
  5. package/dist/src/commands/wizard.d.ts +2 -2
  6. package/dist/src/index.js +2 -2
  7. package/dist/src/tui/catalog-sources/projection.d.ts +2 -2
  8. package/dist/src/tui/catalog-sources/screens.js +17 -10
  9. package/dist/src/tui/catalog-sources/screens.js.map +1 -1
  10. package/dist/src/tui/console-app-v4.js +1291 -435
  11. package/dist/src/tui/console-app-v4.js.map +1 -1
  12. package/dist/src/tui/controller-runtime.d.ts +3 -3
  13. package/dist/src/tui/controller-runtime.js +85 -27
  14. package/dist/src/tui/controller-runtime.js.map +1 -1
  15. package/dist/src/tui/controller.d.ts +17 -7
  16. package/dist/src/tui/controller.js +265 -24
  17. package/dist/src/tui/controller.js.map +1 -1
  18. package/dist/src/tui/dependency-graph.d.ts +3 -0
  19. package/dist/src/tui/dependency-graph.js +37 -1
  20. package/dist/src/tui/dependency-graph.js.map +1 -1
  21. package/dist/src/tui/diagnostic-projection.d.ts +1 -0
  22. package/dist/src/tui/diagnostic-projection.js +51 -4
  23. package/dist/src/tui/diagnostic-projection.js.map +1 -1
  24. package/dist/src/tui/model.d.ts +22 -12
  25. package/dist/src/tui/model.js +251 -86
  26. package/dist/src/tui/model.js.map +1 -1
  27. package/dist/src/tui/operation-history.d.ts +1 -0
  28. package/dist/src/tui/operation-history.js +5 -0
  29. package/dist/src/tui/operation-history.js.map +1 -1
  30. package/dist/src/tui/operation-review-planner.js +67 -2
  31. package/dist/src/tui/operation-review-planner.js.map +1 -1
  32. package/dist/src/tui/plugin-write-task.d.ts +2 -0
  33. package/dist/src/tui/plugin-write-task.js.map +1 -1
  34. package/dist/src/tui/router.d.ts +6 -0
  35. package/dist/src/tui/router.js +56 -12
  36. package/dist/src/tui/router.js.map +1 -1
  37. package/dist/src/tui/screen-registry.d.ts +7 -0
  38. package/dist/src/utils/plugin-config-write.js +3 -3
  39. package/dist/src/utils/plugin-config-write.js.map +1 -1
  40. package/dist/src/utils/target-eligibility.d.ts +2 -2
  41. package/dist/src/utils/target-eligibility.js.map +1 -1
  42. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import type { StatusTargetRevision, StatusV7RecoveryAction, StatusV7State } from './status-v6.js';
1
+ import type { StatusTargetRevision, StatusV8RecoveryAction, StatusV8State } from './status-v6.js';
2
2
  import type { RebuildReceiptJson } from '../output/command-receipt.js';
3
3
  import type { PlatformName, Scope } from '../types.js';
4
4
  export type LifecycleActionId = 'install' | 'sync' | 'refreshAndSync' | 'reinstall' | 'uninstall' | 'cleanup';
@@ -16,8 +16,8 @@ export interface LifecycleTargetFacts {
16
16
  pluginId: string;
17
17
  platform: PlatformName;
18
18
  scope: Scope;
19
- state: StatusV7State;
20
- recoveryActions: StatusV7RecoveryAction[];
19
+ state: StatusV8State;
20
+ recoveryActions: StatusV8RecoveryAction[];
21
21
  revision?: StatusTargetRevision['revision'];
22
22
  installable?: boolean;
23
23
  uninstallable?: boolean;
@@ -6,7 +6,7 @@ import { type NativeCliRunner } from '../utils/native-cli.js';
6
6
  import { createCodexNativeObservationSession, type CodexNativeObservationSession } from '../utils/codex-native-observation.js';
7
7
  import type { ArtifactCollisionEvidence } from '../utils/ownership.js';
8
8
  import { type SystemCodexInspection } from '../utils/codex-manager.js';
9
- export interface StatusV7CatalogSource {
9
+ export interface StatusV8CatalogSource {
10
10
  id: string;
11
11
  identity: string;
12
12
  type: CatalogSource['type'];
@@ -19,34 +19,61 @@ export interface StatusV7CatalogSource {
19
19
  error?: string;
20
20
  errorCode?: string;
21
21
  }
22
- export interface StatusV7Target {
22
+ interface StatusTargetIdentity {
23
23
  pluginName: string;
24
24
  sourceId: string;
25
25
  sourceIdentity: string;
26
26
  pluginId: string;
27
27
  version?: string;
28
28
  platform: PlatformName;
29
+ cwd: string;
30
+ }
31
+ export interface StatusV8Placement {
29
32
  scope: Scope;
33
+ state: StatusV8State;
34
+ components: StatusV8Component[];
35
+ reasons: StatusV8Reason[];
36
+ recoveryActions: StatusV8RecoveryAction[];
37
+ }
38
+ export interface StatusV8ClaudeTarget extends StatusTargetIdentity, StatusV8Placement {
39
+ platform: 'claude';
40
+ }
41
+ export interface StatusV8CodexTarget extends StatusTargetIdentity {
42
+ platform: 'codex';
43
+ state: StatusV8State;
44
+ components: StatusV8Component[];
45
+ reasons: StatusV8Reason[];
46
+ recoveryActions: StatusV8RecoveryAction[];
47
+ placements: StatusV8Placement[];
48
+ }
49
+ export type StatusV8Target = StatusV8ClaudeTarget | StatusV8CodexTarget;
50
+ export interface StatusScopedTarget extends StatusV8Placement {
51
+ pluginName: string;
52
+ sourceId: string;
53
+ sourceIdentity: string;
54
+ pluginId: string;
55
+ version?: string;
56
+ platform: PlatformName;
30
57
  cwd: string;
31
- state: StatusV7State;
32
- components: StatusV7Component[];
33
- reasons: StatusV7Reason[];
34
- recoveryActions: StatusV7RecoveryAction[];
58
+ sharedComponents?: StatusV8Component[];
59
+ sharedReasons?: StatusV8Reason[];
35
60
  }
36
- export type StatusV7State = 'absent' | 'ready' | 'needsSync' | 'orphaned' | 'blocked';
37
- export interface StatusV7RecoveryAction {
61
+ export declare function statusTargetPlacements(target: StatusV8Target): StatusScopedTarget[];
62
+ export declare function flattenStatusTargets(targets: readonly StatusV8Target[]): StatusScopedTarget[];
63
+ export type StatusV8State = 'absent' | 'ready' | 'needsSync' | 'orphaned' | 'blocked';
64
+ export interface StatusV8RecoveryAction {
38
65
  command: 'sync' | 'cleanup' | 'reinstall' | 'uninstall' | 'manual';
39
66
  scope?: Scope;
40
67
  description: string;
41
68
  }
42
- export type StatusV7DependencyReadinessState = 'ready' | 'absent' | 'blockedByCollision' | 'incomplete' | 'error';
43
- export interface StatusV7Component {
69
+ export type StatusV8DependencyReadinessState = 'ready' | 'absent' | 'blockedByCollision' | 'incomplete' | 'error';
70
+ export interface StatusV8Component {
44
71
  kind: 'intent' | 'ownership' | 'sharedNative' | 'activation' | 'extension' | 'dependency' | 'systemConsumer';
45
72
  key: string;
46
73
  state: string;
47
74
  metadata?: Record<string, string | number | boolean | string[]>;
48
75
  }
49
- export interface StatusV7Reason {
76
+ export interface StatusV8Reason {
50
77
  code: string;
51
78
  message: string;
52
79
  severity: 'warning' | 'blocking';
@@ -68,7 +95,7 @@ export interface StatusSharedNativeProjection {
68
95
  diagnostic?: string;
69
96
  staleCacheObserved?: boolean;
70
97
  }
71
- export declare function projectStatusSharedNativeReasons(sharedNative: StatusSharedNativeProjection | undefined, existingReasonCodes?: readonly string[], desiredEnabled?: boolean): StatusV7Reason[];
98
+ export declare function projectStatusSharedNativeReasons(sharedNative: StatusSharedNativeProjection | undefined, existingReasonCodes?: readonly string[], desiredEnabled?: boolean): StatusV8Reason[];
72
99
  export interface StatusActivationProjection {
73
100
  user?: boolean;
74
101
  project?: boolean;
@@ -85,19 +112,22 @@ export interface StatusIntentProjection {
85
112
  scopes: Scope[];
86
113
  relation: 'root' | 'dependency' | 'managed' | 'none';
87
114
  }
88
- export declare function statusTargetIntent(target: StatusV7Target): StatusIntentProjection;
89
- export declare function statusTargetOwnershipState(target: StatusV7Target): StatusOwnershipState;
90
- export declare function statusTargetSharedNative(target: StatusV7Target): StatusSharedNativeProjection | undefined;
91
- export declare function statusTargetActivation(target: StatusV7Target): StatusActivationProjection | undefined;
92
- export declare function statusTargetExtensions(target: StatusV7Target): StatusExtensionProjection | undefined;
93
- export interface StatusV7Payload {
94
- schemaVersion: 7;
115
+ type StatusComponentOwner = Pick<StatusV8Target | StatusV8Placement, 'components'> & {
116
+ sharedComponents?: StatusV8Component[];
117
+ };
118
+ export declare function statusTargetIntent(target: StatusComponentOwner): StatusIntentProjection;
119
+ export declare function statusTargetOwnershipState(target: StatusComponentOwner): StatusOwnershipState;
120
+ export declare function statusTargetSharedNative(target: StatusComponentOwner): StatusSharedNativeProjection | undefined;
121
+ export declare function statusTargetActivation(target: StatusComponentOwner): StatusActivationProjection | undefined;
122
+ export declare function statusTargetExtensions(target: StatusComponentOwner): StatusExtensionProjection | undefined;
123
+ export interface StatusV8Payload {
124
+ schemaVersion: 8;
95
125
  catalog: {
96
126
  primarySourceId: string;
97
127
  configDigest: string;
98
128
  compositeDigest: string;
99
129
  generationSetDigest?: string;
100
- sources: StatusV7CatalogSource[];
130
+ sources: StatusV8CatalogSource[];
101
131
  };
102
132
  filters: {
103
133
  plugins: string[];
@@ -105,8 +135,8 @@ export interface StatusV7Payload {
105
135
  scope?: Scope;
106
136
  cwd: string;
107
137
  };
108
- targets: StatusV7Target[];
109
- configIssues?: Array<NonNullable<StatusV7PluginSummary['configIssues']>[number] & {
138
+ targets: StatusV8Target[];
139
+ configIssues?: Array<NonNullable<StatusV8PluginSummary['configIssues']>[number] & {
110
140
  pluginId: string;
111
141
  pluginName: string;
112
142
  }>;
@@ -134,7 +164,7 @@ export interface StatusTargetRevision {
134
164
  scope: Scope;
135
165
  revision: TargetRevisionState;
136
166
  }
137
- export interface StatusV7PluginSummary {
167
+ export interface StatusV8PluginSummary {
138
168
  pluginName: string;
139
169
  pluginId: string;
140
170
  displayName?: string;
@@ -163,13 +193,13 @@ export interface StatusV7PluginSummary {
163
193
  export interface LiveConsoleItem {
164
194
  pluginName: string;
165
195
  version?: string;
166
- pluginSummary?: Omit<StatusV7PluginSummary, 'pluginName' | 'pluginId'>;
167
- targets: StatusV7Target[];
196
+ pluginSummary?: Omit<StatusV8PluginSummary, 'pluginName' | 'pluginId'>;
197
+ targets: StatusScopedTarget[];
168
198
  }
169
199
  export interface ConsoleItemsLoadResult {
170
200
  items: LiveConsoleItem[];
171
201
  catalogUnavailable: boolean;
172
- status: StatusV7Payload;
202
+ status: StatusV8Payload;
173
203
  }
174
204
  export declare function setStatusDependencyInspectionHookForTests(hook: (() => void) | undefined): void;
175
205
  export declare function loadConsoleItemsResult(options?: {
@@ -188,8 +218,28 @@ export declare function loadConsoleItems(options?: {
188
218
  }, runtime?: {
189
219
  env?: NodeJS.ProcessEnv;
190
220
  }): Promise<LiveConsoleItem[]>;
221
+ interface DesiredTargetState {
222
+ scopes: Scope[];
223
+ relation: 'root' | 'dependency' | 'managed' | 'none';
224
+ }
225
+ export declare function statusRecovery(options: {
226
+ state: StatusV8State;
227
+ desired: DesiredTargetState;
228
+ platform: PlatformName;
229
+ pluginId: string;
230
+ dependencyMoves?: Array<{
231
+ pluginId: string;
232
+ fromScope: Scope;
233
+ toScope: Scope;
234
+ }>;
235
+ sharedNative?: StatusSharedNativeProjection;
236
+ scope?: Scope;
237
+ actualEnabled?: boolean;
238
+ conflictRoots?: Partial<Record<Scope, string[]>>;
239
+ errorCodes?: string[];
240
+ }): StatusV8RecoveryAction[];
191
241
  export declare function projectTargetRevision(availableVersion: string | undefined, installedVersion: string | undefined): TargetRevisionState;
192
- declare function statusCommandV7InSession(options: {
242
+ declare function statusCommandV8InSession(options: {
193
243
  plugins?: string[];
194
244
  cwd: string;
195
245
  env?: NodeJS.ProcessEnv;
@@ -203,13 +253,13 @@ declare function statusCommandV7InSession(options: {
203
253
  inventoryCatalogSourceReferences?: typeof inventoryCatalogSourceReferences;
204
254
  codexObservationSession: Awaited<ReturnType<typeof createCodexNativeObservationSession>>;
205
255
  }): Promise<{
206
- payload: StatusV7Payload;
256
+ payload: StatusV8Payload;
207
257
  output: string;
208
258
  hasErrors: boolean;
209
- pluginSummaries: StatusV7PluginSummary[];
259
+ pluginSummaries: StatusV8PluginSummary[];
210
260
  targetRevisions: StatusTargetRevision[];
211
261
  }>;
212
- export declare function statusCommandV7(options: {
262
+ export declare function statusCommandV8(options: {
213
263
  plugins?: string[];
214
264
  cwd: string;
215
265
  env?: NodeJS.ProcessEnv;
@@ -222,5 +272,5 @@ export declare function statusCommandV7(options: {
222
272
  catalogOperationContext?: CatalogOperationContext;
223
273
  inventoryCatalogSourceReferences?: typeof inventoryCatalogSourceReferences;
224
274
  codexObservationSession?: CodexNativeObservationSession;
225
- }): ReturnType<typeof statusCommandV7InSession>;
275
+ }): ReturnType<typeof statusCommandV8InSession>;
226
276
  export {};