@lesliechan721/aw 0.1.0-beta.10 → 0.1.0-beta.11
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.
- package/dist/authoring/assets/aw-config.d.mts +1 -50
- package/dist/authoring/assets/aw-config.mjs +58 -928
- package/dist/authoring/assets/aw-config.mjs.map +1 -1
- package/dist/authoring/scripts/init-plugin.mjs +28 -33
- package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
- package/dist/authoring/scripts/lib/plugin-version-check.d.mts +1 -0
- package/dist/authoring/scripts/lib/plugin-version-check.mjs +229 -8
- package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -1
- package/dist/authoring/scripts/validate-plugin.mjs +165 -45
- package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
- package/dist/scripts/bundle-plugins.js +18 -4
- package/dist/scripts/bundle-plugins.js.map +1 -1
- package/dist/scripts/test-plugin-scripts.d.ts +2 -0
- package/dist/scripts/test-plugin-scripts.js +21 -5
- package/dist/scripts/test-plugin-scripts.js.map +1 -1
- package/dist/src/commands/aw-capabilities.d.ts +1 -1
- package/dist/src/commands/aw-capabilities.js +1 -1
- package/dist/src/commands/aw-capabilities.js.map +1 -1
- package/dist/src/commands/catalog-dev-source.d.ts +6 -3
- package/dist/src/commands/catalog-dev-source.js +96 -35
- package/dist/src/commands/catalog-dev-source.js.map +1 -1
- package/dist/src/commands/catalog-publication-inspection.d.ts +1 -1
- package/dist/src/commands/catalog-publication-inspection.js +54 -8
- package/dist/src/commands/catalog-publication-inspection.js.map +1 -1
- package/dist/src/commands/catalog-publication-journal.js +1 -1
- package/dist/src/commands/catalog-publication-journal.js.map +1 -1
- package/dist/src/commands/catalog-source.d.ts +19 -4
- package/dist/src/commands/catalog-source.js +121 -12
- package/dist/src/commands/catalog-source.js.map +1 -1
- package/dist/src/commands/catalog-store.d.ts +26 -7
- package/dist/src/commands/catalog-store.js +361 -42
- package/dist/src/commands/catalog-store.js.map +1 -1
- package/dist/src/commands/console.js +28 -17
- package/dist/src/commands/console.js.map +1 -1
- package/dist/src/commands/operation-plan.d.ts +2 -1
- package/dist/src/commands/operation-plan.js +24 -0
- package/dist/src/commands/operation-plan.js.map +1 -1
- package/dist/src/commands/operation-planner.d.ts +2 -2
- package/dist/src/commands/operation-planner.js +11 -19
- package/dist/src/commands/operation-planner.js.map +1 -1
- package/dist/src/commands/options.d.ts +2 -2
- package/dist/src/commands/options.js +18 -4
- package/dist/src/commands/options.js.map +1 -1
- package/dist/src/commands/plugin-capabilities.js +2 -2
- package/dist/src/commands/plugin-capabilities.js.map +1 -1
- package/dist/src/commands/rebuild-command.d.ts +7 -0
- package/dist/src/commands/rebuild-command.js +769 -279
- package/dist/src/commands/rebuild-command.js.map +1 -1
- package/dist/src/commands/rebuild-integration.d.ts +24 -47
- package/dist/src/commands/rebuild-integration.js +1074 -1011
- package/dist/src/commands/rebuild-integration.js.map +1 -1
- package/dist/src/commands/rebuild-operations.d.ts +50 -12
- package/dist/src/commands/rebuild-operations.js +207 -101
- package/dist/src/commands/rebuild-operations.js.map +1 -1
- package/dist/src/commands/status-v6.d.ts +21 -2
- package/dist/src/commands/status-v6.js +163 -31
- package/dist/src/commands/status-v6.js.map +1 -1
- package/dist/src/commands/sync-command.d.ts +17 -0
- package/dist/src/commands/sync-command.js +45 -37
- package/dist/src/commands/sync-command.js.map +1 -1
- package/dist/src/commands/write-commands.d.ts +5 -0
- package/dist/src/commands/write-commands.js +50 -3
- package/dist/src/commands/write-commands.js.map +1 -1
- package/dist/src/generators/local-plugin.js +14 -4
- package/dist/src/generators/local-plugin.js.map +1 -1
- package/dist/src/index.js +216 -85
- package/dist/src/index.js.map +1 -1
- package/dist/src/output/command-receipt.js +1 -3
- package/dist/src/output/command-receipt.js.map +1 -1
- package/dist/src/output/rebuild-progress.js +1 -3
- package/dist/src/output/rebuild-progress.js.map +1 -1
- package/dist/src/portable/materializer.js +6 -6
- package/dist/src/portable/materializer.js.map +1 -1
- package/dist/src/tui/catalog-generation.js +41 -1
- package/dist/src/tui/catalog-generation.js.map +1 -1
- package/dist/src/tui/catalog-sources/session.d.ts +1 -0
- package/dist/src/tui/catalog-sources/session.js +16 -3
- package/dist/src/tui/catalog-sources/session.js.map +1 -1
- package/dist/src/tui/catalog-sources/types.d.ts +3 -2
- package/dist/src/tui/components.d.ts +4 -0
- package/dist/src/tui/components.js +36 -24
- package/dist/src/tui/components.js.map +1 -1
- package/dist/src/tui/console-app-v4.d.ts +13 -4
- package/dist/src/tui/console-app-v4.js +2067 -839
- package/dist/src/tui/console-app-v4.js.map +1 -1
- package/dist/src/tui/controller-runtime.js +585 -33
- package/dist/src/tui/controller-runtime.js.map +1 -1
- package/dist/src/tui/controller.d.ts +152 -6
- package/dist/src/tui/controller.js +1168 -156
- package/dist/src/tui/controller.js.map +1 -1
- package/dist/src/tui/diagnostic-projection.d.ts +22 -0
- package/dist/src/tui/diagnostic-projection.js +437 -0
- package/dist/src/tui/diagnostic-projection.js.map +1 -0
- package/dist/src/tui/diagnostics.d.ts +1 -1
- package/dist/src/tui/diagnostics.js +6 -1
- package/dist/src/tui/diagnostics.js.map +1 -1
- package/dist/src/tui/glossary.d.ts +23 -0
- package/dist/src/tui/glossary.js +42 -0
- package/dist/src/tui/glossary.js.map +1 -0
- package/dist/src/tui/index.d.ts +4 -1
- package/dist/src/tui/index.js +4 -1
- package/dist/src/tui/index.js.map +1 -1
- package/dist/src/tui/keys.d.ts +44 -0
- package/dist/src/tui/keys.js +43 -15
- package/dist/src/tui/keys.js.map +1 -1
- package/dist/src/tui/lifecycle-action-view.d.ts +6 -0
- package/dist/src/tui/lifecycle-action-view.js +34 -0
- package/dist/src/tui/lifecycle-action-view.js.map +1 -0
- package/dist/src/tui/model.d.ts +12 -2
- package/dist/src/tui/model.js +128 -52
- package/dist/src/tui/model.js.map +1 -1
- package/dist/src/tui/operation-diagnostic-screens.d.ts +21 -0
- package/dist/src/tui/operation-diagnostic-screens.js +101 -0
- package/dist/src/tui/operation-diagnostic-screens.js.map +1 -0
- package/dist/src/tui/operation-history.d.ts +80 -0
- package/dist/src/tui/operation-history.js +130 -0
- package/dist/src/tui/operation-history.js.map +1 -0
- package/dist/src/tui/operation-review-planner.js +306 -86
- package/dist/src/tui/operation-review-planner.js.map +1 -1
- package/dist/src/tui/router.d.ts +82 -17
- package/dist/src/tui/router.js +186 -38
- package/dist/src/tui/router.js.map +1 -1
- package/dist/src/tui/screen-registry.d.ts +546 -0
- package/dist/src/tui/screen-registry.js +179 -0
- package/dist/src/tui/screen-registry.js.map +1 -0
- package/dist/src/tui/session-console-app.d.ts +6 -0
- package/dist/src/tui/session-console-app.js +13 -0
- package/dist/src/tui/session-console-app.js.map +1 -0
- package/dist/src/tui/session-host.d.ts +44 -0
- package/dist/src/tui/session-host.js +197 -0
- package/dist/src/tui/session-host.js.map +1 -0
- package/dist/src/types.d.ts +64 -3
- package/dist/src/types.js +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils/agent-version.js +1 -1
- package/dist/src/utils/agent-version.js.map +1 -1
- package/dist/src/utils/artifact-renderer.d.ts +2 -1
- package/dist/src/utils/artifact-renderer.js +52 -52
- package/dist/src/utils/artifact-renderer.js.map +1 -1
- package/dist/src/utils/bundle-layout.js +4 -4
- package/dist/src/utils/bundle-layout.js.map +1 -1
- package/dist/src/utils/catalog-capability-projection.d.ts +8 -0
- package/dist/src/utils/catalog-capability-projection.js +14 -0
- package/dist/src/utils/catalog-capability-projection.js.map +1 -0
- package/dist/src/utils/catalog-generation-resolver.d.ts +14 -2
- package/dist/src/utils/catalog-generation-resolver.js +49 -27
- package/dist/src/utils/catalog-generation-resolver.js.map +1 -1
- package/dist/src/utils/catalog-generation-service.d.ts +8 -1
- package/dist/src/utils/catalog-generation-service.js +81 -47
- package/dist/src/utils/catalog-generation-service.js.map +1 -1
- package/dist/src/utils/catalog-generation-store.d.ts +1 -0
- package/dist/src/utils/catalog-generation-store.js +60 -5
- package/dist/src/utils/catalog-generation-store.js.map +1 -1
- package/dist/src/utils/catalog-operation-context.js +1 -0
- package/dist/src/utils/catalog-operation-context.js.map +1 -1
- package/dist/src/utils/catalog-public-error.js +4 -0
- package/dist/src/utils/catalog-public-error.js.map +1 -1
- package/dist/src/utils/catalog-source-impact.d.ts +3 -2
- package/dist/src/utils/catalog-source-impact.js +142 -20
- package/dist/src/utils/catalog-source-impact.js.map +1 -1
- package/dist/src/utils/catalog-source-references.js +95 -9
- package/dist/src/utils/catalog-source-references.js.map +1 -1
- package/dist/src/utils/catalog-sources.d.ts +1 -1
- package/dist/src/utils/catalog-sources.js +19 -3
- package/dist/src/utils/catalog-sources.js.map +1 -1
- package/dist/src/utils/codex-manager.js +8 -0
- package/dist/src/utils/codex-manager.js.map +1 -1
- package/dist/src/utils/codex-native-observation.d.ts +34 -1
- package/dist/src/utils/codex-native-observation.js +132 -0
- package/dist/src/utils/codex-native-observation.js.map +1 -1
- package/dist/src/utils/codex-reconciler.d.ts +0 -2
- package/dist/src/utils/codex-reconciler.js.map +1 -1
- package/dist/src/utils/codex-shared-native.d.ts +2 -26
- package/dist/src/utils/codex-shared-native.js +8 -82
- package/dist/src/utils/codex-shared-native.js.map +1 -1
- package/dist/src/utils/git-catalog-provider.d.ts +3 -0
- package/dist/src/utils/git-catalog-provider.js +40 -1
- package/dist/src/utils/git-catalog-provider.js.map +1 -1
- package/dist/src/utils/local-marketplace.d.ts +1 -0
- package/dist/src/utils/local-marketplace.js +69 -73
- package/dist/src/utils/local-marketplace.js.map +1 -1
- package/dist/src/utils/multi-source-catalog.js +1 -0
- package/dist/src/utils/multi-source-catalog.js.map +1 -1
- package/dist/src/utils/native-cli.d.ts +9 -4
- package/dist/src/utils/native-cli.js +280 -34
- package/dist/src/utils/native-cli.js.map +1 -1
- package/dist/src/utils/path-catalog-provider.js +2 -0
- package/dist/src/utils/path-catalog-provider.js.map +1 -1
- package/dist/src/utils/plugin-config-write.d.ts +15 -13
- package/dist/src/utils/plugin-config-write.js +418 -198
- package/dist/src/utils/plugin-config-write.js.map +1 -1
- package/dist/src/utils/plugin-config.d.ts +48 -4
- package/dist/src/utils/plugin-config.js +289 -38
- package/dist/src/utils/plugin-config.js.map +1 -1
- package/dist/src/utils/plugin-scripts.d.ts +20 -12
- package/dist/src/utils/plugin-scripts.js +376 -109
- package/dist/src/utils/plugin-scripts.js.map +1 -1
- package/dist/src/utils/process-tree.d.ts +2 -2
- package/dist/src/utils/process-tree.js +1 -1
- package/dist/src/utils/process-tree.js.map +1 -1
- package/dist/src/utils/project-boundary.d.ts +11 -1
- package/dist/src/utils/project-boundary.js +17 -8
- package/dist/src/utils/project-boundary.js.map +1 -1
- package/dist/src/utils/safe-operation-diagnostic.d.ts +15 -0
- package/dist/src/utils/safe-operation-diagnostic.js +33 -0
- package/dist/src/utils/safe-operation-diagnostic.js.map +1 -0
- package/dist/src/utils/sensitive-content.d.ts +1 -0
- package/dist/src/utils/sensitive-content.js +15 -0
- package/dist/src/utils/sensitive-content.js.map +1 -0
- package/dist/src/utils/windows-claude-shim.d.ts +9 -0
- package/dist/src/utils/windows-claude-shim.js +141 -0
- package/dist/src/utils/windows-claude-shim.js.map +1 -0
- package/dist/vitest.config.js +91 -10
- package/dist/vitest.config.js.map +1 -1
- package/package.json +9 -9
- package/dist/authoring/templates/aw-config-runtime.d.mts +0 -2
- package/dist/authoring/templates/aw-config-runtime.mjs +0 -407
- package/dist/authoring/templates/aw-config-runtime.mjs.map +0 -1
|
@@ -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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"}
|
package/dist/src/tui/router.d.ts
CHANGED
|
@@ -1,18 +1,54 @@
|
|
|
1
1
|
import type { PlatformName, Scope } from '../types.js';
|
|
2
2
|
export type PortableBlockerCode = 'requiredConfigMissing' | 'portableSkillsCliMissing' | 'portableSkillsCliIncompatible' | 'portableScopeUnavailable' | 'portableValidationFailed';
|
|
3
3
|
export type PluginInstallFilter = 'all' | 'uninstalled';
|
|
4
|
-
export type CatalogActivationBlockReason = 'configDraft' | 'sourceDraft' | 'portableDraft' | 'activeReview' | 'reviewPreparation' | 'writeProgress' | 'sourceMutationProgress' | 'refreshProgress';
|
|
5
4
|
export interface ConfigInvalidStoreEvidence {
|
|
6
5
|
scope: Scope;
|
|
7
6
|
code: 'invalidJson' | 'schemaVersionUnsupported' | 'identityMismatch' | 'invalidValues';
|
|
8
7
|
pathSummary: string;
|
|
9
8
|
}
|
|
9
|
+
export type ConfigResumeRoute = {
|
|
10
|
+
name: 'configFields';
|
|
11
|
+
pluginId: string;
|
|
12
|
+
layer: {
|
|
13
|
+
scope: Scope | 'effective';
|
|
14
|
+
};
|
|
15
|
+
} | {
|
|
16
|
+
name: 'configFieldEditor';
|
|
17
|
+
pluginId: string;
|
|
18
|
+
layer: {
|
|
19
|
+
scope: Scope;
|
|
20
|
+
};
|
|
21
|
+
fieldKey: string;
|
|
22
|
+
editor: 'boolean' | 'number' | 'string' | 'object';
|
|
23
|
+
mode?: 'choices' | 'custom';
|
|
24
|
+
} | {
|
|
25
|
+
name: 'configObjectPropertyEditor';
|
|
26
|
+
pluginId: string;
|
|
27
|
+
layer: {
|
|
28
|
+
scope: Scope;
|
|
29
|
+
};
|
|
30
|
+
fieldKey: string;
|
|
31
|
+
propertyKey?: string;
|
|
32
|
+
dynamic: boolean;
|
|
33
|
+
stage: 'key' | 'action' | 'choices' | 'custom';
|
|
34
|
+
} | {
|
|
35
|
+
name: 'configFieldAction';
|
|
36
|
+
pluginId: string;
|
|
37
|
+
layer: {
|
|
38
|
+
scope: Scope;
|
|
39
|
+
};
|
|
40
|
+
fieldKey: string;
|
|
41
|
+
};
|
|
10
42
|
export type TuiRoute = {
|
|
11
43
|
name: 'home';
|
|
12
44
|
} | {
|
|
13
45
|
name: 'pluginList';
|
|
14
46
|
mode: 'browse' | 'installed';
|
|
15
47
|
sourceId?: string;
|
|
48
|
+
} | {
|
|
49
|
+
name: 'batchSelection';
|
|
50
|
+
} | {
|
|
51
|
+
name: 'batchPlacement';
|
|
16
52
|
} | {
|
|
17
53
|
name: 'pluginPreview';
|
|
18
54
|
pluginId: string;
|
|
@@ -117,6 +153,9 @@ export type TuiRoute = {
|
|
|
117
153
|
invalidStores?: ConfigInvalidStoreEvidence[];
|
|
118
154
|
diagnosticCode?: string;
|
|
119
155
|
diagnosticStage?: string;
|
|
156
|
+
resumeRoute?: ConfigResumeRoute;
|
|
157
|
+
resumeContext?: Pick<TuiPageContext, 'configGroupId' | 'focusIndex' | 'scrollOffset'>;
|
|
158
|
+
storedScopes?: Scope[];
|
|
120
159
|
} | {
|
|
121
160
|
name: 'sourceList';
|
|
122
161
|
} | {
|
|
@@ -129,35 +168,39 @@ export type TuiRoute = {
|
|
|
129
168
|
name: 'sourceAdd';
|
|
130
169
|
step: 'type' | 'id' | 'location' | 'refPolicy' | 'ref' | 'subdir';
|
|
131
170
|
owner: string;
|
|
171
|
+
returnToDraft?: true;
|
|
132
172
|
} | {
|
|
133
173
|
name: 'sourceEdit';
|
|
134
174
|
sourceId: string;
|
|
175
|
+
owner?: string;
|
|
135
176
|
} | {
|
|
136
|
-
name: '
|
|
137
|
-
|
|
138
|
-
} | {
|
|
139
|
-
name: 'catalogCandidate';
|
|
140
|
-
sourceId: string;
|
|
141
|
-
} | {
|
|
142
|
-
name: 'catalogRefreshPolicy';
|
|
143
|
-
sourceId: string;
|
|
177
|
+
name: 'sourceSave';
|
|
178
|
+
owner: string;
|
|
144
179
|
} | {
|
|
145
|
-
name: '
|
|
146
|
-
|
|
180
|
+
name: 'configSave';
|
|
181
|
+
pluginId: string;
|
|
182
|
+
layer: {
|
|
183
|
+
scope: Scope;
|
|
184
|
+
};
|
|
147
185
|
} | {
|
|
148
|
-
name: '
|
|
149
|
-
|
|
186
|
+
name: 'scriptTimeout';
|
|
187
|
+
owner: string;
|
|
150
188
|
} | {
|
|
151
|
-
name: '
|
|
189
|
+
name: 'sourceRemoveBlocked';
|
|
152
190
|
sourceId: string;
|
|
153
|
-
reason: CatalogActivationBlockReason;
|
|
154
|
-
operation?: 'reload';
|
|
155
|
-
preservedLabel?: string;
|
|
156
191
|
} | {
|
|
157
192
|
name: 'issueList';
|
|
158
193
|
} | {
|
|
159
194
|
name: 'issueDetail';
|
|
160
195
|
issueId: string;
|
|
196
|
+
} | {
|
|
197
|
+
name: 'operationHistory';
|
|
198
|
+
} | {
|
|
199
|
+
name: 'operationDiagnostic';
|
|
200
|
+
recordId: string;
|
|
201
|
+
} | {
|
|
202
|
+
name: 'operationReportPreview';
|
|
203
|
+
recordId: string;
|
|
161
204
|
} | {
|
|
162
205
|
name: 'reviewPreparing';
|
|
163
206
|
preparationId: string;
|
|
@@ -176,6 +219,7 @@ export interface TuiPageContext {
|
|
|
176
219
|
scrollOffset?: number;
|
|
177
220
|
query?: string;
|
|
178
221
|
sourceTabId?: string;
|
|
222
|
+
focusedEntityId?: string;
|
|
179
223
|
installFilter?: PluginInstallFilter;
|
|
180
224
|
configGroupId?: string;
|
|
181
225
|
}
|
|
@@ -185,15 +229,36 @@ export interface TuiRouteFrame {
|
|
|
185
229
|
}
|
|
186
230
|
export interface TuiRouterSnapshot {
|
|
187
231
|
current: TuiRouteFrame;
|
|
232
|
+
currentFrameId: string;
|
|
233
|
+
currentFlowId?: string;
|
|
188
234
|
depth: number;
|
|
189
235
|
}
|
|
236
|
+
export type TuiFlowKind = 'pluginInstall' | 'pluginMaintenance' | 'configEdit' | 'sourceEdit' | 'sourceRecovery' | 'portableInstall' | 'batchWrite';
|
|
237
|
+
export interface TuiFlowScope {
|
|
238
|
+
id: string;
|
|
239
|
+
kind: TuiFlowKind;
|
|
240
|
+
parentFlowId?: string;
|
|
241
|
+
originFrameId: string;
|
|
242
|
+
returnTarget: TuiRoute;
|
|
243
|
+
returnContext?: TuiPageContext;
|
|
244
|
+
}
|
|
190
245
|
export declare class TuiRouter {
|
|
191
246
|
#private;
|
|
192
247
|
get snapshot(): TuiRouterSnapshot;
|
|
193
248
|
push(route: TuiRoute, context?: TuiPageContext): TuiRouterSnapshot;
|
|
194
249
|
replace(route: TuiRoute, context?: TuiPageContext): TuiRouterSnapshot;
|
|
195
250
|
updateContext(update: Partial<TuiPageContext>): TuiRouterSnapshot;
|
|
251
|
+
normalizeRoutes(normalize: (route: TuiRoute) => TuiRoute): TuiRouterSnapshot;
|
|
196
252
|
back(): TuiRouterSnapshot;
|
|
253
|
+
beginFlow(kind: TuiFlowKind, returnTarget?: TuiRoute, originFrameId?: string, returnContext?: TuiPageContext): TuiFlowScope;
|
|
254
|
+
beginPluginFlow(kind: Extract<TuiFlowKind, 'pluginInstall' | 'pluginMaintenance'>, pluginId: string): TuiFlowScope;
|
|
255
|
+
beginBatchFlow(): TuiFlowScope;
|
|
256
|
+
activeFlow(): TuiFlowScope | undefined;
|
|
257
|
+
finishFlow(target?: TuiRoute, terminalRoute?: TuiRoute): TuiRouterSnapshot | undefined;
|
|
258
|
+
abandonFlow(flowId: string): TuiRouterSnapshot | undefined;
|
|
259
|
+
resetToRoot(route?: Extract<TuiRoute, {
|
|
260
|
+
name: 'home';
|
|
261
|
+
}>): TuiRouterSnapshot;
|
|
197
262
|
beginConfigFlow(pluginId: string): TuiRoute;
|
|
198
263
|
configOrigin(pluginId: string): TuiRoute | undefined;
|
|
199
264
|
resetConfigFlow(pluginId: string, target?: TuiRoute): TuiRouterSnapshot | undefined;
|
package/dist/src/tui/router.js
CHANGED
|
@@ -1,19 +1,40 @@
|
|
|
1
1
|
function copyFrame(frame) {
|
|
2
|
-
return structuredClone(frame);
|
|
2
|
+
return structuredClone({ route: frame.route, context: frame.context });
|
|
3
3
|
}
|
|
4
4
|
export class TuiRouter {
|
|
5
|
-
#stack = [{ route: { name: 'home' }, context: {} }];
|
|
6
|
-
#
|
|
7
|
-
#
|
|
5
|
+
#stack = [{ id: 'frame-1', route: { name: 'home' }, context: {} }];
|
|
6
|
+
#flows = new Map();
|
|
7
|
+
#nextFrameId = 2;
|
|
8
|
+
#nextFlowId = 1;
|
|
9
|
+
#activeFlowId;
|
|
8
10
|
get snapshot() {
|
|
9
|
-
|
|
11
|
+
const current = this.#stack.at(-1);
|
|
12
|
+
return {
|
|
13
|
+
current: copyFrame(current),
|
|
14
|
+
currentFrameId: current.id,
|
|
15
|
+
...(current.flowId ? { currentFlowId: current.flowId } : {}),
|
|
16
|
+
depth: this.#stack.length,
|
|
17
|
+
};
|
|
10
18
|
}
|
|
11
19
|
push(route, context = {}) {
|
|
12
|
-
this.#stack.push(structuredClone({
|
|
20
|
+
this.#stack.push(structuredClone({
|
|
21
|
+
id: `frame-${this.#nextFrameId++}`,
|
|
22
|
+
route,
|
|
23
|
+
context,
|
|
24
|
+
...(this.#activeFlowId ? { flowId: this.#activeFlowId } : {}),
|
|
25
|
+
}));
|
|
13
26
|
return this.snapshot;
|
|
14
27
|
}
|
|
15
28
|
replace(route, context = {}) {
|
|
16
|
-
this.#stack
|
|
29
|
+
const current = this.#stack.at(-1);
|
|
30
|
+
this.#stack[this.#stack.length - 1] = structuredClone({
|
|
31
|
+
id: current.id,
|
|
32
|
+
route,
|
|
33
|
+
context,
|
|
34
|
+
...(current.flowId ?? this.#activeFlowId
|
|
35
|
+
? { flowId: current.flowId ?? this.#activeFlowId }
|
|
36
|
+
: {}),
|
|
37
|
+
});
|
|
17
38
|
return this.snapshot;
|
|
18
39
|
}
|
|
19
40
|
updateContext(update) {
|
|
@@ -21,60 +42,181 @@ export class TuiRouter {
|
|
|
21
42
|
current.context = { ...current.context, ...update };
|
|
22
43
|
return this.snapshot;
|
|
23
44
|
}
|
|
45
|
+
normalizeRoutes(normalize) {
|
|
46
|
+
const normalizedFrames = [];
|
|
47
|
+
const remappedFrameIds = new Map();
|
|
48
|
+
for (const frame of this.#stack) {
|
|
49
|
+
const normalizedRoute = normalize(frame.route);
|
|
50
|
+
const changed = JSON.stringify(normalizedRoute) !== JSON.stringify(frame.route);
|
|
51
|
+
const normalizedFrame = structuredClone({ ...frame, route: normalizedRoute });
|
|
52
|
+
const previous = normalizedFrames.at(-1);
|
|
53
|
+
if (previous && (previous.changed || changed)
|
|
54
|
+
&& JSON.stringify(previous.frame.route) === JSON.stringify(normalizedRoute)) {
|
|
55
|
+
remappedFrameIds.set(frame.id, previous.frame.id);
|
|
56
|
+
previous.changed = true;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
normalizedFrames.push({ frame: normalizedFrame, changed });
|
|
60
|
+
}
|
|
61
|
+
this.#stack.splice(0, this.#stack.length, ...normalizedFrames.map(({ frame }) => frame));
|
|
62
|
+
for (const flow of this.#flows.values()) {
|
|
63
|
+
flow.originFrameId = remappedFrameIds.get(flow.originFrameId) ?? flow.originFrameId;
|
|
64
|
+
flow.returnTarget = structuredClone(normalize(flow.returnTarget));
|
|
65
|
+
}
|
|
66
|
+
return this.snapshot;
|
|
67
|
+
}
|
|
24
68
|
back() {
|
|
25
69
|
if (this.#stack.length > 1)
|
|
26
70
|
this.#stack.pop();
|
|
27
|
-
|
|
28
|
-
|
|
71
|
+
this.#restoreActiveFlow();
|
|
72
|
+
return this.snapshot;
|
|
73
|
+
}
|
|
74
|
+
beginFlow(kind, returnTarget = this.#stack.at(-1).route, originFrameId, returnContext) {
|
|
75
|
+
const origin = originFrameId
|
|
76
|
+
? this.#stack.find((frame) => frame.id === originFrameId) ?? this.#stack.at(-1)
|
|
77
|
+
: this.#stack.at(-1);
|
|
78
|
+
const parentFlowId = origin.flowId ?? this.#activeFlowId;
|
|
79
|
+
const id = `flow-${this.#nextFlowId++}`;
|
|
80
|
+
const flow = {
|
|
81
|
+
id,
|
|
82
|
+
kind,
|
|
83
|
+
...(parentFlowId ? { parentFlowId } : {}),
|
|
84
|
+
originFrameId: origin.id,
|
|
85
|
+
returnTarget: structuredClone(returnTarget),
|
|
86
|
+
...(returnContext ? { returnContext: structuredClone(returnContext) } : {}),
|
|
87
|
+
};
|
|
88
|
+
this.#flows.set(id, flow);
|
|
89
|
+
this.#activeFlowId = id;
|
|
90
|
+
return structuredClone(flow);
|
|
91
|
+
}
|
|
92
|
+
beginPluginFlow(kind, pluginId) {
|
|
93
|
+
let origin = this.#stack.at(-1);
|
|
94
|
+
for (let index = this.#stack.length - 1; index >= 0; index -= 1) {
|
|
95
|
+
const candidate = this.#stack[index];
|
|
96
|
+
if ((candidate.route.name === 'pluginPreview' || candidate.route.name === 'pluginDetail')
|
|
97
|
+
&& candidate.route.pluginId === pluginId) {
|
|
98
|
+
origin = candidate;
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return this.beginFlow(kind, { name: 'pluginDetail', pluginId }, origin.id);
|
|
103
|
+
}
|
|
104
|
+
beginBatchFlow() {
|
|
105
|
+
const origin = this.#stack.at(-1);
|
|
106
|
+
if (origin.route.name !== 'pluginList') {
|
|
107
|
+
throw new Error('Batch flow must start from a plugin list.');
|
|
108
|
+
}
|
|
109
|
+
return this.beginFlow('batchWrite', { name: 'pluginList', mode: 'installed' }, origin.id);
|
|
110
|
+
}
|
|
111
|
+
activeFlow() {
|
|
112
|
+
const flow = this.#activeFlowId ? this.#flows.get(this.#activeFlowId) : undefined;
|
|
113
|
+
return flow ? structuredClone(flow) : undefined;
|
|
114
|
+
}
|
|
115
|
+
finishFlow(target, terminalRoute) {
|
|
116
|
+
const flow = this.#activeFlowId ? this.#flows.get(this.#activeFlowId) : undefined;
|
|
117
|
+
if (!flow)
|
|
118
|
+
return undefined;
|
|
119
|
+
const origin = this.#stack.findIndex((frame) => frame.id === flow.originFrameId);
|
|
120
|
+
if (origin < 0) {
|
|
121
|
+
this.#flows.delete(flow.id);
|
|
122
|
+
this.#restoreActiveFlow();
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
const descendants = new Set([flow.id]);
|
|
126
|
+
let changed = true;
|
|
127
|
+
while (changed) {
|
|
128
|
+
changed = false;
|
|
129
|
+
for (const candidate of this.#flows.values()) {
|
|
130
|
+
if (candidate.parentFlowId && descendants.has(candidate.parentFlowId)
|
|
131
|
+
&& !descendants.has(candidate.id)) {
|
|
132
|
+
descendants.add(candidate.id);
|
|
133
|
+
changed = true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
this.#stack.splice(origin + 1);
|
|
138
|
+
const originFrame = this.#stack[origin];
|
|
139
|
+
const nextRoute = structuredClone(target ?? flow.returnTarget);
|
|
140
|
+
this.#stack[origin] = {
|
|
141
|
+
id: originFrame.id,
|
|
142
|
+
route: nextRoute,
|
|
143
|
+
context: structuredClone(flow.returnContext ?? originFrame.context),
|
|
144
|
+
...(flow.parentFlowId ? { flowId: flow.parentFlowId } : {}),
|
|
145
|
+
};
|
|
146
|
+
for (const flowId of descendants)
|
|
147
|
+
this.#flows.delete(flowId);
|
|
148
|
+
this.#activeFlowId = flow.parentFlowId;
|
|
149
|
+
if (terminalRoute) {
|
|
150
|
+
this.#stack.push({
|
|
151
|
+
id: `frame-${this.#nextFrameId++}`,
|
|
152
|
+
route: structuredClone(terminalRoute),
|
|
153
|
+
context: {},
|
|
154
|
+
});
|
|
29
155
|
}
|
|
30
156
|
return this.snapshot;
|
|
31
157
|
}
|
|
158
|
+
abandonFlow(flowId) {
|
|
159
|
+
const flow = this.#flows.get(flowId);
|
|
160
|
+
if (!flow)
|
|
161
|
+
return undefined;
|
|
162
|
+
const origin = this.#stack.find((frame) => frame.id === flow.originFrameId);
|
|
163
|
+
if (!origin)
|
|
164
|
+
return undefined;
|
|
165
|
+
this.#activeFlowId = flowId;
|
|
166
|
+
return this.finishFlow(origin.route);
|
|
167
|
+
}
|
|
168
|
+
resetToRoot(route = { name: 'home' }) {
|
|
169
|
+
const root = this.#stack[0];
|
|
170
|
+
this.#stack.splice(0, this.#stack.length, { id: root.id, route: structuredClone(route), context: {} });
|
|
171
|
+
this.#flows.clear();
|
|
172
|
+
this.#activeFlowId = undefined;
|
|
173
|
+
return this.snapshot;
|
|
174
|
+
}
|
|
175
|
+
#restoreActiveFlow() {
|
|
176
|
+
const flowId = this.#stack.at(-1)?.flowId;
|
|
177
|
+
this.#activeFlowId = flowId && this.#flows.has(flowId) ? flowId : undefined;
|
|
178
|
+
}
|
|
32
179
|
beginConfigFlow(pluginId) {
|
|
33
|
-
const
|
|
34
|
-
const route = this.#stack[index].route;
|
|
180
|
+
const route = this.#stack.at(-1).route;
|
|
35
181
|
if ((route.name !== 'pluginPreview' && route.name !== 'pluginDetail')
|
|
36
182
|
|| route.pluginId !== pluginId) {
|
|
37
183
|
throw new Error('Config flow must start from its plugin preview or detail.');
|
|
38
184
|
}
|
|
39
|
-
this
|
|
185
|
+
this.beginFlow('configEdit', route);
|
|
40
186
|
return structuredClone(route);
|
|
41
187
|
}
|
|
42
188
|
configOrigin(pluginId) {
|
|
43
|
-
|
|
189
|
+
const flow = this.#activeFlowId ? this.#flows.get(this.#activeFlowId) : undefined;
|
|
190
|
+
if (flow?.kind !== 'configEdit')
|
|
44
191
|
return undefined;
|
|
45
|
-
const frame = this.#stack
|
|
192
|
+
const frame = this.#stack.find((candidate) => candidate.id === flow.originFrameId);
|
|
46
193
|
if (!frame || (frame.route.name !== 'pluginPreview' && frame.route.name !== 'pluginDetail')
|
|
47
194
|
|| frame.route.pluginId !== pluginId) {
|
|
48
|
-
this.#configOrigin = undefined;
|
|
49
195
|
return undefined;
|
|
50
196
|
}
|
|
51
197
|
return copyFrame(frame).route;
|
|
52
198
|
}
|
|
53
199
|
resetConfigFlow(pluginId, target) {
|
|
54
|
-
if (!this.configOrigin(pluginId)
|
|
200
|
+
if (!this.configOrigin(pluginId))
|
|
55
201
|
return undefined;
|
|
56
|
-
this
|
|
57
|
-
this.#configOrigin = undefined;
|
|
58
|
-
if (target && JSON.stringify(this.#stack.at(-1).route) !== JSON.stringify(target)) {
|
|
59
|
-
this.replace(target);
|
|
60
|
-
}
|
|
61
|
-
return this.snapshot;
|
|
202
|
+
return this.finishFlow(target);
|
|
62
203
|
}
|
|
63
204
|
beginPortableFlow(pluginId) {
|
|
64
|
-
const
|
|
65
|
-
const currentFrame = this.#stack[currentIndex];
|
|
205
|
+
const currentFrame = this.#stack.at(-1);
|
|
66
206
|
if ((currentFrame.route.name === 'pluginPreview' || currentFrame.route.name === 'pluginDetail')
|
|
67
207
|
&& currentFrame.route.pluginId === pluginId) {
|
|
68
|
-
|
|
208
|
+
const active = this.activeFlow();
|
|
209
|
+
if (active?.kind !== 'portableInstall')
|
|
210
|
+
this.beginFlow('portableInstall', currentFrame.route);
|
|
69
211
|
return copyFrame(currentFrame).route;
|
|
70
212
|
}
|
|
71
|
-
|
|
72
|
-
|
|
213
|
+
const active = this.activeFlow();
|
|
214
|
+
if (active?.kind === 'portableInstall') {
|
|
215
|
+
const frame = this.#stack.find((candidate) => candidate.id === active.originFrameId);
|
|
73
216
|
if (frame && (frame.route.name === 'pluginPreview' || frame.route.name === 'pluginDetail')
|
|
74
217
|
&& frame.route.pluginId === pluginId) {
|
|
75
218
|
return copyFrame(frame).route;
|
|
76
219
|
}
|
|
77
|
-
this.#portableOrigin = undefined;
|
|
78
220
|
}
|
|
79
221
|
let existingOrigin = -1;
|
|
80
222
|
for (let candidate = this.#stack.length - 1; candidate >= 0; candidate -= 1) {
|
|
@@ -92,17 +234,22 @@ export class TuiRouter {
|
|
|
92
234
|
this.replace({ name: 'pluginPreview', pluginId });
|
|
93
235
|
route = this.#stack[index].route;
|
|
94
236
|
}
|
|
95
|
-
this
|
|
237
|
+
this.beginFlow('portableInstall', route, this.#stack[index].id);
|
|
96
238
|
return structuredClone(route);
|
|
97
239
|
}
|
|
98
240
|
portableOrigin(pluginId) {
|
|
99
|
-
|
|
100
|
-
|
|
241
|
+
const flow = this.activeFlow();
|
|
242
|
+
if (flow?.kind === 'portableInstall') {
|
|
243
|
+
const frame = this.#stack.find((candidate) => candidate.id === flow.originFrameId);
|
|
244
|
+
if (frame && 'pluginId' in frame.route && frame.route.pluginId === pluginId) {
|
|
245
|
+
return copyFrame(frame).route;
|
|
246
|
+
}
|
|
101
247
|
}
|
|
102
248
|
return { name: 'pluginPreview', pluginId };
|
|
103
249
|
}
|
|
104
250
|
discardSourceFlow(owner, returnRoute) {
|
|
105
|
-
const start = this.#stack.findIndex((frame) => frame.route.name === 'sourceAdd'
|
|
251
|
+
const start = this.#stack.findIndex((frame) => (frame.route.name === 'sourceAdd' || frame.route.name === 'sourceEdit')
|
|
252
|
+
&& frame.route.owner === owner);
|
|
106
253
|
if (start >= 0)
|
|
107
254
|
this.#stack.splice(start);
|
|
108
255
|
const current = this.#stack.at(-1).route;
|
|
@@ -121,16 +268,17 @@ export class TuiRouter {
|
|
|
121
268
|
return this.snapshot;
|
|
122
269
|
}
|
|
123
270
|
resetPortableFlow(pluginId) {
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
271
|
+
const flow = this.activeFlow();
|
|
272
|
+
const origin = flow?.kind === 'portableInstall'
|
|
273
|
+
? this.#stack.find((frame) => frame.id === flow.originFrameId)
|
|
274
|
+
: undefined;
|
|
275
|
+
if (origin && (origin.route.name === 'pluginPreview' || origin.route.name === 'pluginDetail')
|
|
276
|
+
&& origin.route.pluginId === pluginId) {
|
|
277
|
+
this.finishFlow();
|
|
129
278
|
}
|
|
130
279
|
else {
|
|
131
280
|
this.replace({ name: 'pluginPreview', pluginId });
|
|
132
281
|
}
|
|
133
|
-
this.#portableOrigin = undefined;
|
|
134
282
|
return this.snapshot;
|
|
135
283
|
}
|
|
136
284
|
}
|