@lesliechan721/aw 0.1.0-beta.12 → 0.1.0-beta.14

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 (72) hide show
  1. package/dist/src/commands/catalog-dev-source.d.ts +31 -0
  2. package/dist/src/commands/catalog-dev-source.js +165 -5
  3. package/dist/src/commands/catalog-dev-source.js.map +1 -1
  4. package/dist/src/commands/catalog-generation.d.ts +5 -0
  5. package/dist/src/commands/catalog-generation.js.map +1 -1
  6. package/dist/src/commands/catalog-publication-journal.d.ts +12 -0
  7. package/dist/src/commands/catalog-publication-journal.js +77 -0
  8. package/dist/src/commands/catalog-publication-journal.js.map +1 -1
  9. package/dist/src/commands/catalog-store.d.ts +5 -0
  10. package/dist/src/commands/catalog-store.js +19 -1
  11. package/dist/src/commands/catalog-store.js.map +1 -1
  12. package/dist/src/commands/dependency-operation-plan.d.ts +7 -0
  13. package/dist/src/commands/dependency-operation-plan.js +63 -27
  14. package/dist/src/commands/dependency-operation-plan.js.map +1 -1
  15. package/dist/src/commands/rebuild-command.d.ts +22 -8
  16. package/dist/src/commands/rebuild-command.js +562 -250
  17. package/dist/src/commands/rebuild-command.js.map +1 -1
  18. package/dist/src/commands/rebuild-integration.js +188 -67
  19. package/dist/src/commands/rebuild-integration.js.map +1 -1
  20. package/dist/src/commands/reconcile-operation-plan.d.ts +11 -9
  21. package/dist/src/commands/reconcile-operation-plan.js +25 -6
  22. package/dist/src/commands/reconcile-operation-plan.js.map +1 -1
  23. package/dist/src/commands/status-v6.js +2 -2
  24. package/dist/src/commands/status-v6.js.map +1 -1
  25. package/dist/src/commands/write-commands.d.ts +2 -1
  26. package/dist/src/commands/write-commands.js +24 -1
  27. package/dist/src/commands/write-commands.js.map +1 -1
  28. package/dist/src/tui/catalog-management-screens.d.ts +45 -0
  29. package/dist/src/tui/catalog-management-screens.js +25 -0
  30. package/dist/src/tui/catalog-management-screens.js.map +1 -0
  31. package/dist/src/tui/catalog-management.d.ts +240 -0
  32. package/dist/src/tui/catalog-management.js +856 -0
  33. package/dist/src/tui/catalog-management.js.map +1 -0
  34. package/dist/src/tui/catalog-sources/session.d.ts +5 -0
  35. package/dist/src/tui/catalog-sources/session.js +49 -1
  36. package/dist/src/tui/catalog-sources/session.js.map +1 -1
  37. package/dist/src/tui/catalog-sources/types.d.ts +11 -0
  38. package/dist/src/tui/console-app-v4.d.ts +1 -1
  39. package/dist/src/tui/console-app-v4.js +2184 -564
  40. package/dist/src/tui/console-app-v4.js.map +1 -1
  41. package/dist/src/tui/controller-runtime.js +609 -13
  42. package/dist/src/tui/controller-runtime.js.map +1 -1
  43. package/dist/src/tui/controller.d.ts +121 -6
  44. package/dist/src/tui/controller.js +667 -17
  45. package/dist/src/tui/controller.js.map +1 -1
  46. package/dist/src/tui/dependency-graph.d.ts +67 -0
  47. package/dist/src/tui/dependency-graph.js +399 -0
  48. package/dist/src/tui/dependency-graph.js.map +1 -0
  49. package/dist/src/tui/lifecycle-action-view.js +4 -2
  50. package/dist/src/tui/lifecycle-action-view.js.map +1 -1
  51. package/dist/src/tui/model.d.ts +37 -0
  52. package/dist/src/tui/model.js +179 -17
  53. package/dist/src/tui/model.js.map +1 -1
  54. package/dist/src/tui/operation-review-planner.js +244 -8
  55. package/dist/src/tui/operation-review-planner.js.map +1 -1
  56. package/dist/src/tui/plugin-write-task.d.ts +66 -0
  57. package/dist/src/tui/plugin-write-task.js +265 -0
  58. package/dist/src/tui/plugin-write-task.js.map +1 -0
  59. package/dist/src/tui/router.d.ts +38 -2
  60. package/dist/src/tui/router.js.map +1 -1
  61. package/dist/src/tui/screen-registry.d.ts +105 -6
  62. package/dist/src/tui/screen-registry.js +31 -4
  63. package/dist/src/tui/screen-registry.js.map +1 -1
  64. package/dist/src/utils/catalog-generation-service.d.ts +4 -0
  65. package/dist/src/utils/catalog-generation-service.js.map +1 -1
  66. package/dist/src/utils/codex-shared-native.d.ts +4 -0
  67. package/dist/src/utils/codex-shared-native.js +13 -0
  68. package/dist/src/utils/codex-shared-native.js.map +1 -1
  69. package/dist/src/utils/local-marketplace.d.ts +14 -1
  70. package/dist/src/utils/local-marketplace.js +242 -14
  71. package/dist/src/utils/local-marketplace.js.map +1 -1
  72. package/package.json +3 -3
@@ -0,0 +1,66 @@
1
+ import type { PlatformName, Scope } from '../types.js';
2
+ import type { TuiViewModel } from './model.js';
3
+ export type PluginWriteTaskGoal = 'restore' | 'update';
4
+ export type PluginWriteTaskMethod = 'sync' | 'reinstall';
5
+ export interface PluginWriteTaskExpectedUpdate {
6
+ installedVersion: string;
7
+ activeVersion: string;
8
+ sourceIdentity: string;
9
+ generationKey: string;
10
+ }
11
+ export interface PluginWriteTaskTarget {
12
+ pluginId: string;
13
+ platform: PlatformName;
14
+ scope: Scope;
15
+ expectedUpdate?: PluginWriteTaskExpectedUpdate;
16
+ }
17
+ export interface PluginWriteTaskIntent {
18
+ kind: 'pluginWriteTask';
19
+ goal: PluginWriteTaskGoal;
20
+ targets: PluginWriteTaskTarget[];
21
+ executionPolicy: 'all' | 'executableSubset';
22
+ scriptTimeoutMs?: number;
23
+ }
24
+ export type PluginWriteTaskBlockReason = 'catalogActivationRequired' | 'updateEvidenceIncomplete' | 'updateIncompatible' | 'restoreVersionChanged' | 'restoreVersionUnverified' | 'manualRecoveryRequired' | 'taskActionConflict' | 'targetUnavailable';
25
+ export interface PluginWriteTaskCandidate {
26
+ target: PluginWriteTaskTarget;
27
+ displayName: string;
28
+ sourceId: string;
29
+ eligible: boolean;
30
+ blockReason?: PluginWriteTaskBlockReason;
31
+ recommendedMethod?: PluginWriteTaskMethod;
32
+ issueIds: string[];
33
+ }
34
+ export interface PluginWriteTaskCause {
35
+ causeKey: string;
36
+ issueId: string;
37
+ sourceId: string;
38
+ sourceIdentity: string;
39
+ repairTarget: Omit<PluginWriteTaskTarget, 'expectedUpdate'>;
40
+ method: PluginWriteTaskMethod;
41
+ consumers: Array<Omit<PluginWriteTaskTarget, 'expectedUpdate'>>;
42
+ restoreVersionEvidence?: {
43
+ state: 'preserved' | 'absent';
44
+ activeVersion: string;
45
+ installedVersion?: string;
46
+ };
47
+ }
48
+ export interface PluginWriteTaskBlockedTarget {
49
+ target: PluginWriteTaskTarget;
50
+ reason: PluginWriteTaskBlockReason;
51
+ issueIds: string[];
52
+ errorCodes?: string[];
53
+ }
54
+ export interface PluginWriteTaskDraft {
55
+ requestedTargets: PluginWriteTaskTarget[];
56
+ executableTargets: PluginWriteTaskTarget[];
57
+ causes: PluginWriteTaskCause[];
58
+ blockedTargets: PluginWriteTaskBlockedTarget[];
59
+ }
60
+ export declare function evaluatePluginWriteTaskRestoreVersion(target: Omit<PluginWriteTaskTarget, 'expectedUpdate'>, allowAbsent: boolean, model: Pick<TuiViewModel, 'plugins'>): {
61
+ evidence?: PluginWriteTaskCause['restoreVersionEvidence'];
62
+ blockReason?: 'restoreVersionChanged' | 'restoreVersionUnverified' | 'manualRecoveryRequired';
63
+ };
64
+ export declare function buildPluginWriteTaskCandidates(model: Pick<TuiViewModel, 'plugins' | 'issues'>, goal: PluginWriteTaskGoal): PluginWriteTaskCandidate[];
65
+ export declare function buildPluginWriteTaskDraft(intent: PluginWriteTaskIntent, model: Pick<TuiViewModel, 'plugins' | 'issues'>, providedCandidates?: readonly PluginWriteTaskCandidate[]): PluginWriteTaskDraft;
66
+ export declare function pluginWriteTaskTargetKey(target: Pick<PluginWriteTaskTarget, 'pluginId' | 'platform' | 'scope'>): string;
@@ -0,0 +1,265 @@
1
+ function targetKey(target) {
2
+ return [target.pluginId, target.platform, target.scope].join('\0');
3
+ }
4
+ function canonicalTargets(targets) {
5
+ return [...new Map(targets.map((target) => [targetKey(target), structuredClone(target)])).values()]
6
+ .sort((left, right) => targetKey(left).localeCompare(targetKey(right), 'en'));
7
+ }
8
+ function exactTarget(target) {
9
+ return { pluginId: target.pluginId, platform: target.platform, scope: target.scope };
10
+ }
11
+ function issueConsumers(issue) {
12
+ const affected = issue.affectedTargets ?? [];
13
+ if (affected.length > 0) {
14
+ return canonicalTargets(affected.map((target) => ({
15
+ pluginId: target.pluginId,
16
+ platform: target.platform,
17
+ scope: target.scope,
18
+ }))).map(exactTarget);
19
+ }
20
+ const root = issue.rootEntity
21
+ ?? (issue.pluginId && issue.platform && issue.scope
22
+ ? { pluginId: issue.pluginId, platform: issue.platform, scope: issue.scope }
23
+ : undefined);
24
+ return root ? [root] : [];
25
+ }
26
+ function issueMethod(issue) {
27
+ for (const action of issue.actions) {
28
+ if (action.writeAction === 'sync')
29
+ return 'sync';
30
+ if (action.writeAction === 'reinstall')
31
+ return 'reinstall';
32
+ if (action.writeAction === 'install' && issue.dependencyPluginId)
33
+ return 'sync';
34
+ }
35
+ return undefined;
36
+ }
37
+ function issueRepairTarget(issue) {
38
+ if (issue.dependencyPluginId && issue.dependencyPlatform && issue.dependencyScope) {
39
+ return {
40
+ pluginId: issue.dependencyPluginId,
41
+ platform: issue.dependencyPlatform,
42
+ scope: issue.dependencyScope,
43
+ };
44
+ }
45
+ return issue.rootEntity
46
+ ?? (issue.pluginId && issue.platform && issue.scope
47
+ ? { pluginId: issue.pluginId, platform: issue.platform, scope: issue.scope }
48
+ : undefined);
49
+ }
50
+ export function evaluatePluginWriteTaskRestoreVersion(target, allowAbsent, model) {
51
+ const plugin = model.plugins.find((candidate) => candidate.pluginId === target.pluginId);
52
+ const revision = plugin?.update.targets.find((candidate) => candidate.platform === target.platform && candidate.scope === target.scope);
53
+ const installedInOtherScope = plugin?.update.targets.find((candidate) => candidate.platform === target.platform
54
+ && candidate.scope !== target.scope
55
+ && candidate.installedVersion !== undefined);
56
+ if (revision?.installedVersion) {
57
+ if (!revision.activeVersion)
58
+ return { blockReason: 'restoreVersionUnverified' };
59
+ if (revision.installedVersion !== revision.activeVersion) {
60
+ return { blockReason: 'restoreVersionChanged' };
61
+ }
62
+ return {
63
+ evidence: {
64
+ state: 'preserved',
65
+ installedVersion: revision.installedVersion,
66
+ activeVersion: revision.activeVersion,
67
+ },
68
+ };
69
+ }
70
+ if (installedInOtherScope) {
71
+ const activeVersion = revision?.activeVersion ?? plugin?.version;
72
+ return activeVersion && installedInOtherScope.installedVersion !== activeVersion
73
+ ? { blockReason: 'restoreVersionChanged' }
74
+ : { blockReason: 'manualRecoveryRequired' };
75
+ }
76
+ const activeVersion = revision?.activeVersion ?? plugin?.version;
77
+ return allowAbsent && activeVersion
78
+ ? { evidence: { state: 'absent', activeVersion } }
79
+ : { blockReason: 'restoreVersionUnverified' };
80
+ }
81
+ function restoreIssueVersionEvidence(issue, model) {
82
+ const repairTarget = issueRepairTarget(issue);
83
+ return repairTarget
84
+ ? evaluatePluginWriteTaskRestoreVersion(repairTarget, issue.category === 'dependencyMissing', model).evidence
85
+ : undefined;
86
+ }
87
+ function restoreIssueVersionBlockReason(issue, model) {
88
+ const repairTarget = issueRepairTarget(issue);
89
+ return repairTarget
90
+ ? evaluatePluginWriteTaskRestoreVersion(repairTarget, issue.category === 'dependencyMissing', model).blockReason
91
+ : 'restoreVersionUnverified';
92
+ }
93
+ function restoreCandidate(options) {
94
+ const matchingIssues = options.issues.filter((issue) => issueConsumers(issue)
95
+ .some((consumer) => targetKey(consumer) === targetKey(options.target)));
96
+ const actionable = matchingIssues.map((issue) => issueMethod(issue));
97
+ const update = options.plugin.update.targets.find((candidate) => candidate.platform === options.target.platform && candidate.scope === options.target.scope);
98
+ let blockReason;
99
+ if (!update?.installedVersion || !update.activeVersion)
100
+ blockReason = 'restoreVersionUnverified';
101
+ else if (update.installedVersion !== update.activeVersion)
102
+ blockReason = 'restoreVersionChanged';
103
+ else {
104
+ blockReason = matchingIssues.map((issue) => restoreIssueVersionBlockReason(issue, options.model))
105
+ .find((reason) => reason !== undefined);
106
+ }
107
+ if (!blockReason && (matchingIssues.length === 0 || actionable.some((method) => method === undefined))) {
108
+ blockReason = 'manualRecoveryRequired';
109
+ }
110
+ const methods = new Set(actionable.filter((method) => Boolean(method)));
111
+ return {
112
+ target: options.target,
113
+ displayName: options.plugin.displayName,
114
+ sourceId: options.plugin.sourceId,
115
+ eligible: blockReason === undefined,
116
+ ...(blockReason ? { blockReason } : {}),
117
+ ...(methods.has('reinstall') ? { recommendedMethod: 'reinstall' }
118
+ : methods.has('sync') ? { recommendedMethod: 'sync' } : {}),
119
+ issueIds: matchingIssues.map((issue) => issue.issueId).sort((left, right) => left.localeCompare(right, 'en')),
120
+ };
121
+ }
122
+ function updateCandidate(options) {
123
+ const update = options.plugin.update.targets.find((candidate) => candidate.platform === options.platform && candidate.scope === options.scope);
124
+ let blockReason;
125
+ if (update.requiresCatalogActivation)
126
+ blockReason = 'catalogActivationRequired';
127
+ else if (update.eligibility === 'incompatible')
128
+ blockReason = 'updateIncompatible';
129
+ else if (!update.installedVersion || !update.availableVersion
130
+ || !options.plugin.update.sourceIdentity || !options.plugin.update.generationKey) {
131
+ blockReason = 'updateEvidenceIncomplete';
132
+ }
133
+ const expectedUpdate = blockReason === undefined ? {
134
+ installedVersion: update.installedVersion,
135
+ activeVersion: update.availableVersion,
136
+ sourceIdentity: options.plugin.update.sourceIdentity,
137
+ generationKey: options.plugin.update.generationKey,
138
+ } : undefined;
139
+ return {
140
+ target: {
141
+ pluginId: options.plugin.pluginId,
142
+ platform: options.platform,
143
+ scope: options.scope,
144
+ ...(expectedUpdate ? { expectedUpdate } : {}),
145
+ },
146
+ displayName: options.plugin.displayName,
147
+ sourceId: options.plugin.sourceId,
148
+ eligible: blockReason === undefined,
149
+ ...(blockReason ? { blockReason } : {}),
150
+ recommendedMethod: update.eligibility === 'needsRepair' ? 'reinstall' : 'sync',
151
+ issueIds: [],
152
+ };
153
+ }
154
+ export function buildPluginWriteTaskCandidates(model, goal) {
155
+ if (goal === 'update') {
156
+ return model.plugins.flatMap((plugin) => plugin.update.targets
157
+ .filter((target) => target.availableVersion !== undefined)
158
+ .map((target) => updateCandidate({
159
+ plugin,
160
+ platform: target.platform,
161
+ scope: target.scope,
162
+ }))).sort((left, right) => targetKey(left.target).localeCompare(targetKey(right.target), 'en'));
163
+ }
164
+ const candidates = new Map();
165
+ for (const issue of model.issues) {
166
+ for (const target of issueConsumers(issue)) {
167
+ const plugin = model.plugins.find((candidate) => candidate.pluginId === target.pluginId);
168
+ if (!plugin)
169
+ continue;
170
+ candidates.set(targetKey(target), restoreCandidate({
171
+ plugin,
172
+ target,
173
+ issues: model.issues,
174
+ model,
175
+ }));
176
+ }
177
+ }
178
+ return [...candidates.values()].sort((left, right) => targetKey(left.target).localeCompare(targetKey(right.target), 'en'));
179
+ }
180
+ export function buildPluginWriteTaskDraft(intent, model, providedCandidates) {
181
+ const requestedTargets = canonicalTargets(intent.targets);
182
+ const candidates = new Map((providedCandidates ?? buildPluginWriteTaskCandidates(model, intent.goal))
183
+ .map((candidate) => [targetKey(candidate.target), candidate]));
184
+ const blockedTargets = [];
185
+ const executableTargets = [];
186
+ for (const target of requestedTargets) {
187
+ const candidate = candidates.get(targetKey(target));
188
+ const expectedMatches = intent.goal !== 'update' || JSON.stringify(target.expectedUpdate)
189
+ === JSON.stringify(candidate?.target.expectedUpdate);
190
+ if (!candidate || !candidate.eligible || !expectedMatches) {
191
+ blockedTargets.push({
192
+ target,
193
+ reason: candidate?.blockReason ?? (expectedMatches
194
+ ? 'targetUnavailable' : 'updateEvidenceIncomplete'),
195
+ issueIds: candidate?.issueIds ?? [],
196
+ });
197
+ continue;
198
+ }
199
+ executableTargets.push(target);
200
+ }
201
+ const executableKeys = new Set(executableTargets.map(targetKey));
202
+ const causes = new Map();
203
+ if (intent.goal === 'update') {
204
+ for (const target of executableTargets) {
205
+ const candidate = candidates.get(targetKey(target));
206
+ const sourceIdentity = target.expectedUpdate.sourceIdentity;
207
+ const causeKey = ['update', sourceIdentity, targetKey(target),
208
+ target.expectedUpdate.activeVersion].join('\0');
209
+ causes.set(causeKey, {
210
+ causeKey,
211
+ issueId: causeKey,
212
+ sourceId: candidate.sourceId,
213
+ sourceIdentity,
214
+ repairTarget: exactTarget(target),
215
+ method: candidate.recommendedMethod,
216
+ consumers: [exactTarget(target)],
217
+ });
218
+ }
219
+ }
220
+ else {
221
+ for (const issue of model.issues) {
222
+ const consumers = issueConsumers(issue).filter((target) => executableKeys.has(targetKey(target)));
223
+ const repairTarget = issueRepairTarget(issue);
224
+ const method = issueMethod(issue);
225
+ if (consumers.length === 0 || !repairTarget || !method || !issue.sourceIdentity || !issue.sourceId)
226
+ continue;
227
+ const causeKey = [issue.issueId, issue.sourceIdentity, targetKey(repairTarget)].join('\0');
228
+ const current = causes.get(causeKey);
229
+ if (current && current.method !== method) {
230
+ for (const consumer of consumers) {
231
+ executableKeys.delete(targetKey(consumer));
232
+ blockedTargets.push({
233
+ target: requestedTargets.find((target) => targetKey(target) === targetKey(consumer)),
234
+ reason: 'taskActionConflict',
235
+ issueIds: [issue.issueId],
236
+ });
237
+ }
238
+ causes.delete(causeKey);
239
+ continue;
240
+ }
241
+ causes.set(causeKey, {
242
+ causeKey,
243
+ issueId: issue.issueId,
244
+ sourceId: issue.sourceId,
245
+ sourceIdentity: issue.sourceIdentity,
246
+ repairTarget,
247
+ method,
248
+ consumers: canonicalTargets([...(current?.consumers ?? []), ...consumers]).map(exactTarget),
249
+ restoreVersionEvidence: restoreIssueVersionEvidence(issue, model),
250
+ });
251
+ }
252
+ }
253
+ const finalExecutable = executableTargets.filter((target) => executableKeys.has(targetKey(target)));
254
+ return {
255
+ requestedTargets,
256
+ executableTargets: finalExecutable,
257
+ causes: [...causes.values()].filter((cause) => cause.consumers.some((consumer) => executableKeys.has(targetKey(consumer)))).sort((left, right) => left.causeKey.localeCompare(right.causeKey, 'en')),
258
+ blockedTargets: [...new Map(blockedTargets.map((blocked) => [targetKey(blocked.target), blocked]))
259
+ .values()].sort((left, right) => targetKey(left.target).localeCompare(targetKey(right.target), 'en')),
260
+ };
261
+ }
262
+ export function pluginWriteTaskTargetKey(target) {
263
+ return targetKey(target);
264
+ }
265
+ //# sourceMappingURL=plugin-write-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-write-task.js","sourceRoot":"","sources":["../../../src/tui/plugin-write-task.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { PlatformName, Scope } from '../types.js';
2
2
  export type PortableBlockerCode = 'requiredConfigMissing' | 'portableSkillsCliMissing' | 'portableSkillsCliIncompatible' | 'portableScopeUnavailable' | 'portableValidationFailed';
3
- export type PluginInstallFilter = 'all' | 'uninstalled';
3
+ export type PluginInstallFilter = 'all' | 'uninstalled' | 'updateAvailable';
4
4
  export interface ConfigInvalidStoreEvidence {
5
5
  scope: Scope;
6
6
  code: 'invalidJson' | 'schemaVersionUnsupported' | 'identityMismatch' | 'invalidValues';
@@ -45,6 +45,16 @@ export type TuiRoute = {
45
45
  name: 'pluginList';
46
46
  mode: 'browse' | 'installed';
47
47
  sourceId?: string;
48
+ } | {
49
+ name: 'pluginWriteTask';
50
+ pluginId: string;
51
+ goal: 'restore' | 'update';
52
+ targetKeys?: string[];
53
+ versionEvidence?: Record<string, string>;
54
+ batchOrigin?: {
55
+ flowId: string;
56
+ owner: 'batch-write';
57
+ };
48
58
  } | {
49
59
  name: 'batchSelection';
50
60
  } | {
@@ -76,8 +86,14 @@ export type TuiRoute = {
76
86
  name: 'pluginDependencies';
77
87
  pluginId: string;
78
88
  view?: 'relations' | 'removeBlocked';
89
+ direction?: 'dependencies' | 'dependents';
79
90
  platform?: PlatformName;
80
91
  scope?: Scope;
92
+ } | {
93
+ name: 'pluginDependencyNode';
94
+ pluginId: string;
95
+ nodePluginId: string;
96
+ direction: 'dependencies' | 'dependents';
81
97
  } | {
82
98
  name: 'installPlacement';
83
99
  pluginId: string;
@@ -96,6 +112,9 @@ export type TuiRoute = {
96
112
  } | {
97
113
  name: 'pluginDetail';
98
114
  pluginId: string;
115
+ } | {
116
+ name: 'pluginMore';
117
+ pluginId: string;
99
118
  } | {
100
119
  name: 'platform';
101
120
  pluginId: string;
@@ -161,6 +180,9 @@ export type TuiRoute = {
161
180
  } | {
162
181
  name: 'sourceDetail';
163
182
  sourceId: string;
183
+ } | {
184
+ name: 'sourceMore';
185
+ sourceId: string;
164
186
  } | {
165
187
  name: 'sourceTechnical';
166
188
  sourceId: string;
@@ -188,6 +210,20 @@ export type TuiRoute = {
188
210
  } | {
189
211
  name: 'sourceRemoveBlocked';
190
212
  sourceId: string;
213
+ } | {
214
+ name: 'catalogManagement';
215
+ } | {
216
+ name: 'catalogWorkspace';
217
+ view: 'overview' | 'select' | 'create' | 'version';
218
+ step?: 'ownerName' | 'ownerUrl' | 'displayName' | 'catalogVersion';
219
+ } | {
220
+ name: 'catalogDev';
221
+ step?: 'overview' | 'sourceId' | 'replacementPrimary';
222
+ } | {
223
+ name: 'catalogStore';
224
+ } | {
225
+ name: 'catalogPublish';
226
+ step: 'overview' | 'target' | 'branch';
191
227
  } | {
192
228
  name: 'issueList';
193
229
  } | {
@@ -233,7 +269,7 @@ export interface TuiRouterSnapshot {
233
269
  currentFlowId?: string;
234
270
  depth: number;
235
271
  }
236
- export type TuiFlowKind = 'pluginInstall' | 'pluginMaintenance' | 'configEdit' | 'sourceEdit' | 'sourceRecovery' | 'portableInstall' | 'batchWrite';
272
+ export type TuiFlowKind = 'pluginInstall' | 'pluginMaintenance' | 'configEdit' | 'sourceEdit' | 'sourceRecovery' | 'portableInstall' | 'batchWrite' | 'pluginWriteTask' | 'catalogManagement';
237
273
  export interface TuiFlowScope {
238
274
  id: string;
239
275
  kind: TuiFlowKind;
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/tui/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/tui/router.ts"],"names":[],"mappings":"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"}