@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.
Files changed (218) hide show
  1. package/dist/authoring/assets/aw-config.d.mts +1 -50
  2. package/dist/authoring/assets/aw-config.mjs +58 -928
  3. package/dist/authoring/assets/aw-config.mjs.map +1 -1
  4. package/dist/authoring/scripts/init-plugin.mjs +28 -33
  5. package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
  6. package/dist/authoring/scripts/lib/plugin-version-check.d.mts +1 -0
  7. package/dist/authoring/scripts/lib/plugin-version-check.mjs +229 -8
  8. package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -1
  9. package/dist/authoring/scripts/validate-plugin.mjs +165 -45
  10. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  11. package/dist/scripts/bundle-plugins.js +18 -4
  12. package/dist/scripts/bundle-plugins.js.map +1 -1
  13. package/dist/scripts/test-plugin-scripts.d.ts +2 -0
  14. package/dist/scripts/test-plugin-scripts.js +21 -5
  15. package/dist/scripts/test-plugin-scripts.js.map +1 -1
  16. package/dist/src/commands/aw-capabilities.d.ts +1 -1
  17. package/dist/src/commands/aw-capabilities.js +1 -1
  18. package/dist/src/commands/aw-capabilities.js.map +1 -1
  19. package/dist/src/commands/catalog-dev-source.d.ts +6 -3
  20. package/dist/src/commands/catalog-dev-source.js +96 -35
  21. package/dist/src/commands/catalog-dev-source.js.map +1 -1
  22. package/dist/src/commands/catalog-publication-inspection.d.ts +1 -1
  23. package/dist/src/commands/catalog-publication-inspection.js +54 -8
  24. package/dist/src/commands/catalog-publication-inspection.js.map +1 -1
  25. package/dist/src/commands/catalog-publication-journal.js +1 -1
  26. package/dist/src/commands/catalog-publication-journal.js.map +1 -1
  27. package/dist/src/commands/catalog-source.d.ts +19 -4
  28. package/dist/src/commands/catalog-source.js +121 -12
  29. package/dist/src/commands/catalog-source.js.map +1 -1
  30. package/dist/src/commands/catalog-store.d.ts +26 -7
  31. package/dist/src/commands/catalog-store.js +361 -42
  32. package/dist/src/commands/catalog-store.js.map +1 -1
  33. package/dist/src/commands/console.js +28 -17
  34. package/dist/src/commands/console.js.map +1 -1
  35. package/dist/src/commands/operation-plan.d.ts +2 -1
  36. package/dist/src/commands/operation-plan.js +24 -0
  37. package/dist/src/commands/operation-plan.js.map +1 -1
  38. package/dist/src/commands/operation-planner.d.ts +2 -2
  39. package/dist/src/commands/operation-planner.js +11 -19
  40. package/dist/src/commands/operation-planner.js.map +1 -1
  41. package/dist/src/commands/options.d.ts +2 -2
  42. package/dist/src/commands/options.js +18 -4
  43. package/dist/src/commands/options.js.map +1 -1
  44. package/dist/src/commands/plugin-capabilities.js +2 -2
  45. package/dist/src/commands/plugin-capabilities.js.map +1 -1
  46. package/dist/src/commands/rebuild-command.d.ts +7 -0
  47. package/dist/src/commands/rebuild-command.js +769 -279
  48. package/dist/src/commands/rebuild-command.js.map +1 -1
  49. package/dist/src/commands/rebuild-integration.d.ts +24 -47
  50. package/dist/src/commands/rebuild-integration.js +1074 -1011
  51. package/dist/src/commands/rebuild-integration.js.map +1 -1
  52. package/dist/src/commands/rebuild-operations.d.ts +50 -12
  53. package/dist/src/commands/rebuild-operations.js +207 -101
  54. package/dist/src/commands/rebuild-operations.js.map +1 -1
  55. package/dist/src/commands/status-v6.d.ts +21 -2
  56. package/dist/src/commands/status-v6.js +163 -31
  57. package/dist/src/commands/status-v6.js.map +1 -1
  58. package/dist/src/commands/sync-command.d.ts +17 -0
  59. package/dist/src/commands/sync-command.js +45 -37
  60. package/dist/src/commands/sync-command.js.map +1 -1
  61. package/dist/src/commands/write-commands.d.ts +5 -0
  62. package/dist/src/commands/write-commands.js +50 -3
  63. package/dist/src/commands/write-commands.js.map +1 -1
  64. package/dist/src/generators/local-plugin.js +14 -4
  65. package/dist/src/generators/local-plugin.js.map +1 -1
  66. package/dist/src/index.js +216 -85
  67. package/dist/src/index.js.map +1 -1
  68. package/dist/src/output/command-receipt.js +1 -3
  69. package/dist/src/output/command-receipt.js.map +1 -1
  70. package/dist/src/output/rebuild-progress.js +1 -3
  71. package/dist/src/output/rebuild-progress.js.map +1 -1
  72. package/dist/src/portable/materializer.js +6 -6
  73. package/dist/src/portable/materializer.js.map +1 -1
  74. package/dist/src/tui/catalog-generation.js +41 -1
  75. package/dist/src/tui/catalog-generation.js.map +1 -1
  76. package/dist/src/tui/catalog-sources/session.d.ts +1 -0
  77. package/dist/src/tui/catalog-sources/session.js +16 -3
  78. package/dist/src/tui/catalog-sources/session.js.map +1 -1
  79. package/dist/src/tui/catalog-sources/types.d.ts +3 -2
  80. package/dist/src/tui/components.d.ts +4 -0
  81. package/dist/src/tui/components.js +36 -24
  82. package/dist/src/tui/components.js.map +1 -1
  83. package/dist/src/tui/console-app-v4.d.ts +13 -4
  84. package/dist/src/tui/console-app-v4.js +2067 -839
  85. package/dist/src/tui/console-app-v4.js.map +1 -1
  86. package/dist/src/tui/controller-runtime.js +585 -33
  87. package/dist/src/tui/controller-runtime.js.map +1 -1
  88. package/dist/src/tui/controller.d.ts +152 -6
  89. package/dist/src/tui/controller.js +1168 -156
  90. package/dist/src/tui/controller.js.map +1 -1
  91. package/dist/src/tui/diagnostic-projection.d.ts +22 -0
  92. package/dist/src/tui/diagnostic-projection.js +437 -0
  93. package/dist/src/tui/diagnostic-projection.js.map +1 -0
  94. package/dist/src/tui/diagnostics.d.ts +1 -1
  95. package/dist/src/tui/diagnostics.js +6 -1
  96. package/dist/src/tui/diagnostics.js.map +1 -1
  97. package/dist/src/tui/glossary.d.ts +23 -0
  98. package/dist/src/tui/glossary.js +42 -0
  99. package/dist/src/tui/glossary.js.map +1 -0
  100. package/dist/src/tui/index.d.ts +4 -1
  101. package/dist/src/tui/index.js +4 -1
  102. package/dist/src/tui/index.js.map +1 -1
  103. package/dist/src/tui/keys.d.ts +44 -0
  104. package/dist/src/tui/keys.js +43 -15
  105. package/dist/src/tui/keys.js.map +1 -1
  106. package/dist/src/tui/lifecycle-action-view.d.ts +6 -0
  107. package/dist/src/tui/lifecycle-action-view.js +34 -0
  108. package/dist/src/tui/lifecycle-action-view.js.map +1 -0
  109. package/dist/src/tui/model.d.ts +12 -2
  110. package/dist/src/tui/model.js +128 -52
  111. package/dist/src/tui/model.js.map +1 -1
  112. package/dist/src/tui/operation-diagnostic-screens.d.ts +21 -0
  113. package/dist/src/tui/operation-diagnostic-screens.js +101 -0
  114. package/dist/src/tui/operation-diagnostic-screens.js.map +1 -0
  115. package/dist/src/tui/operation-history.d.ts +80 -0
  116. package/dist/src/tui/operation-history.js +130 -0
  117. package/dist/src/tui/operation-history.js.map +1 -0
  118. package/dist/src/tui/operation-review-planner.js +306 -86
  119. package/dist/src/tui/operation-review-planner.js.map +1 -1
  120. package/dist/src/tui/router.d.ts +82 -17
  121. package/dist/src/tui/router.js +186 -38
  122. package/dist/src/tui/router.js.map +1 -1
  123. package/dist/src/tui/screen-registry.d.ts +546 -0
  124. package/dist/src/tui/screen-registry.js +179 -0
  125. package/dist/src/tui/screen-registry.js.map +1 -0
  126. package/dist/src/tui/session-console-app.d.ts +6 -0
  127. package/dist/src/tui/session-console-app.js +13 -0
  128. package/dist/src/tui/session-console-app.js.map +1 -0
  129. package/dist/src/tui/session-host.d.ts +44 -0
  130. package/dist/src/tui/session-host.js +197 -0
  131. package/dist/src/tui/session-host.js.map +1 -0
  132. package/dist/src/types.d.ts +64 -3
  133. package/dist/src/types.js +1 -1
  134. package/dist/src/types.js.map +1 -1
  135. package/dist/src/utils/agent-version.js +1 -1
  136. package/dist/src/utils/agent-version.js.map +1 -1
  137. package/dist/src/utils/artifact-renderer.d.ts +2 -1
  138. package/dist/src/utils/artifact-renderer.js +52 -52
  139. package/dist/src/utils/artifact-renderer.js.map +1 -1
  140. package/dist/src/utils/bundle-layout.js +4 -4
  141. package/dist/src/utils/bundle-layout.js.map +1 -1
  142. package/dist/src/utils/catalog-capability-projection.d.ts +8 -0
  143. package/dist/src/utils/catalog-capability-projection.js +14 -0
  144. package/dist/src/utils/catalog-capability-projection.js.map +1 -0
  145. package/dist/src/utils/catalog-generation-resolver.d.ts +14 -2
  146. package/dist/src/utils/catalog-generation-resolver.js +49 -27
  147. package/dist/src/utils/catalog-generation-resolver.js.map +1 -1
  148. package/dist/src/utils/catalog-generation-service.d.ts +8 -1
  149. package/dist/src/utils/catalog-generation-service.js +81 -47
  150. package/dist/src/utils/catalog-generation-service.js.map +1 -1
  151. package/dist/src/utils/catalog-generation-store.d.ts +1 -0
  152. package/dist/src/utils/catalog-generation-store.js +60 -5
  153. package/dist/src/utils/catalog-generation-store.js.map +1 -1
  154. package/dist/src/utils/catalog-operation-context.js +1 -0
  155. package/dist/src/utils/catalog-operation-context.js.map +1 -1
  156. package/dist/src/utils/catalog-public-error.js +4 -0
  157. package/dist/src/utils/catalog-public-error.js.map +1 -1
  158. package/dist/src/utils/catalog-source-impact.d.ts +3 -2
  159. package/dist/src/utils/catalog-source-impact.js +142 -20
  160. package/dist/src/utils/catalog-source-impact.js.map +1 -1
  161. package/dist/src/utils/catalog-source-references.js +95 -9
  162. package/dist/src/utils/catalog-source-references.js.map +1 -1
  163. package/dist/src/utils/catalog-sources.d.ts +1 -1
  164. package/dist/src/utils/catalog-sources.js +19 -3
  165. package/dist/src/utils/catalog-sources.js.map +1 -1
  166. package/dist/src/utils/codex-manager.js +8 -0
  167. package/dist/src/utils/codex-manager.js.map +1 -1
  168. package/dist/src/utils/codex-native-observation.d.ts +34 -1
  169. package/dist/src/utils/codex-native-observation.js +132 -0
  170. package/dist/src/utils/codex-native-observation.js.map +1 -1
  171. package/dist/src/utils/codex-reconciler.d.ts +0 -2
  172. package/dist/src/utils/codex-reconciler.js.map +1 -1
  173. package/dist/src/utils/codex-shared-native.d.ts +2 -26
  174. package/dist/src/utils/codex-shared-native.js +8 -82
  175. package/dist/src/utils/codex-shared-native.js.map +1 -1
  176. package/dist/src/utils/git-catalog-provider.d.ts +3 -0
  177. package/dist/src/utils/git-catalog-provider.js +40 -1
  178. package/dist/src/utils/git-catalog-provider.js.map +1 -1
  179. package/dist/src/utils/local-marketplace.d.ts +1 -0
  180. package/dist/src/utils/local-marketplace.js +69 -73
  181. package/dist/src/utils/local-marketplace.js.map +1 -1
  182. package/dist/src/utils/multi-source-catalog.js +1 -0
  183. package/dist/src/utils/multi-source-catalog.js.map +1 -1
  184. package/dist/src/utils/native-cli.d.ts +9 -4
  185. package/dist/src/utils/native-cli.js +280 -34
  186. package/dist/src/utils/native-cli.js.map +1 -1
  187. package/dist/src/utils/path-catalog-provider.js +2 -0
  188. package/dist/src/utils/path-catalog-provider.js.map +1 -1
  189. package/dist/src/utils/plugin-config-write.d.ts +15 -13
  190. package/dist/src/utils/plugin-config-write.js +418 -198
  191. package/dist/src/utils/plugin-config-write.js.map +1 -1
  192. package/dist/src/utils/plugin-config.d.ts +48 -4
  193. package/dist/src/utils/plugin-config.js +289 -38
  194. package/dist/src/utils/plugin-config.js.map +1 -1
  195. package/dist/src/utils/plugin-scripts.d.ts +20 -12
  196. package/dist/src/utils/plugin-scripts.js +376 -109
  197. package/dist/src/utils/plugin-scripts.js.map +1 -1
  198. package/dist/src/utils/process-tree.d.ts +2 -2
  199. package/dist/src/utils/process-tree.js +1 -1
  200. package/dist/src/utils/process-tree.js.map +1 -1
  201. package/dist/src/utils/project-boundary.d.ts +11 -1
  202. package/dist/src/utils/project-boundary.js +17 -8
  203. package/dist/src/utils/project-boundary.js.map +1 -1
  204. package/dist/src/utils/safe-operation-diagnostic.d.ts +15 -0
  205. package/dist/src/utils/safe-operation-diagnostic.js +33 -0
  206. package/dist/src/utils/safe-operation-diagnostic.js.map +1 -0
  207. package/dist/src/utils/sensitive-content.d.ts +1 -0
  208. package/dist/src/utils/sensitive-content.js +15 -0
  209. package/dist/src/utils/sensitive-content.js.map +1 -0
  210. package/dist/src/utils/windows-claude-shim.d.ts +9 -0
  211. package/dist/src/utils/windows-claude-shim.js +141 -0
  212. package/dist/src/utils/windows-claude-shim.js.map +1 -0
  213. package/dist/vitest.config.js +91 -10
  214. package/dist/vitest.config.js.map +1 -1
  215. package/package.json +9 -9
  216. package/dist/authoring/templates/aw-config-runtime.d.mts +0 -2
  217. package/dist/authoring/templates/aw-config-runtime.mjs +0 -407
  218. 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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"}
@@ -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: 'sourceRemoveBlocked';
137
- sourceId: string;
138
- } | {
139
- name: 'catalogCandidate';
140
- sourceId: string;
141
- } | {
142
- name: 'catalogRefreshPolicy';
143
- sourceId: string;
177
+ name: 'sourceSave';
178
+ owner: string;
144
179
  } | {
145
- name: 'catalogRefresh';
146
- sourceId: string;
180
+ name: 'configSave';
181
+ pluginId: string;
182
+ layer: {
183
+ scope: Scope;
184
+ };
147
185
  } | {
148
- name: 'catalogImmutableViolation';
149
- sourceId: string;
186
+ name: 'scriptTimeout';
187
+ owner: string;
150
188
  } | {
151
- name: 'catalogActivationBlocked';
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;
@@ -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
- #portableOrigin;
7
- #configOrigin;
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
- return { current: copyFrame(this.#stack.at(-1)), depth: this.#stack.length };
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({ route, context }));
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[this.#stack.length - 1] = structuredClone({ route, context });
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
- if (this.#configOrigin && this.#stack.length - 1 <= this.#configOrigin.index) {
28
- this.#configOrigin = undefined;
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 index = this.#stack.length - 1;
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.#configOrigin = { pluginId, index };
185
+ this.beginFlow('configEdit', route);
40
186
  return structuredClone(route);
41
187
  }
42
188
  configOrigin(pluginId) {
43
- if (this.#configOrigin?.pluginId !== pluginId)
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[this.#configOrigin.index];
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) || !this.#configOrigin)
200
+ if (!this.configOrigin(pluginId))
55
201
  return undefined;
56
- this.#stack.splice(this.#configOrigin.index + 1);
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 currentIndex = this.#stack.length - 1;
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
- this.#portableOrigin = { pluginId, index: currentIndex };
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
- if (this.#portableOrigin?.pluginId === pluginId) {
72
- const frame = this.#stack[this.#portableOrigin.index];
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.#portableOrigin = { pluginId, index };
237
+ this.beginFlow('portableInstall', route, this.#stack[index].id);
96
238
  return structuredClone(route);
97
239
  }
98
240
  portableOrigin(pluginId) {
99
- if (this.#portableOrigin?.pluginId === pluginId) {
100
- return copyFrame(this.#stack[this.#portableOrigin.index]).route;
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' && frame.route.owner === owner);
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 origin = this.#portableOrigin?.pluginId === pluginId
125
- ? this.#portableOrigin.index
126
- : -1;
127
- if (origin >= 0 && origin < this.#stack.length) {
128
- this.#stack.splice(origin + 1);
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
  }