jumbo-cli 3.20.0 → 3.22.0

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 (61) hide show
  1. package/assets/skills/review-jumbo-goal/SKILL.md +10 -7
  2. package/dist/application/context/decisions/DecisionView.d.ts +1 -1
  3. package/dist/application/context/decisions/show/IShowDecisionGateway.d.ts +6 -0
  4. package/dist/application/context/decisions/show/IShowDecisionGateway.d.ts.map +1 -0
  5. package/dist/application/context/decisions/show/IShowDecisionGateway.js +2 -0
  6. package/dist/application/context/decisions/show/IShowDecisionGateway.js.map +1 -0
  7. package/dist/application/context/decisions/show/LocalShowDecisionGateway.d.ts +10 -0
  8. package/dist/application/context/decisions/show/LocalShowDecisionGateway.d.ts.map +1 -0
  9. package/dist/application/context/decisions/show/LocalShowDecisionGateway.js +13 -0
  10. package/dist/application/context/decisions/show/LocalShowDecisionGateway.js.map +1 -0
  11. package/dist/application/context/decisions/show/ShowDecisionController.d.ts +9 -0
  12. package/dist/application/context/decisions/show/ShowDecisionController.d.ts.map +1 -0
  13. package/dist/application/context/decisions/show/ShowDecisionController.js +9 -0
  14. package/dist/application/context/decisions/show/ShowDecisionController.js.map +1 -0
  15. package/dist/application/context/decisions/show/ShowDecisionRequest.d.ts +4 -0
  16. package/dist/application/context/decisions/show/ShowDecisionRequest.d.ts.map +1 -0
  17. package/dist/application/context/decisions/show/ShowDecisionRequest.js +2 -0
  18. package/dist/application/context/decisions/show/ShowDecisionRequest.js.map +1 -0
  19. package/dist/application/context/decisions/show/ShowDecisionResponse.d.ts +5 -0
  20. package/dist/application/context/decisions/show/ShowDecisionResponse.d.ts.map +1 -0
  21. package/dist/application/context/decisions/show/ShowDecisionResponse.js +2 -0
  22. package/dist/application/context/decisions/show/ShowDecisionResponse.js.map +1 -0
  23. package/dist/application/host/IApplicationContainer.d.ts +2 -0
  24. package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
  25. package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
  26. package/dist/infrastructure/host/HostBuilder.js +5 -0
  27. package/dist/infrastructure/host/HostBuilder.js.map +1 -1
  28. package/dist/presentation/cli/commands/decisions/show/DecisionShowOutputBuilder.d.ts +12 -0
  29. package/dist/presentation/cli/commands/decisions/show/DecisionShowOutputBuilder.d.ts.map +1 -0
  30. package/dist/presentation/cli/commands/decisions/show/DecisionShowOutputBuilder.js +73 -0
  31. package/dist/presentation/cli/commands/decisions/show/DecisionShowOutputBuilder.js.map +1 -0
  32. package/dist/presentation/cli/commands/decisions/show/decision.show.d.ts +7 -0
  33. package/dist/presentation/cli/commands/decisions/show/decision.show.d.ts.map +1 -0
  34. package/dist/presentation/cli/commands/decisions/show/decision.show.js +52 -0
  35. package/dist/presentation/cli/commands/decisions/show/decision.show.js.map +1 -0
  36. package/dist/presentation/cli/commands/registry/generated-commands.d.ts.map +1 -1
  37. package/dist/presentation/cli/commands/registry/generated-commands.js +6 -0
  38. package/dist/presentation/cli/commands/registry/generated-commands.js.map +1 -1
  39. package/dist/presentation/tui/application-shell/App.d.ts.map +1 -1
  40. package/dist/presentation/tui/application-shell/App.js +24 -20
  41. package/dist/presentation/tui/application-shell/App.js.map +1 -1
  42. package/dist/presentation/tui/goals/AddGoalRequestFactory.d.ts +4 -4
  43. package/dist/presentation/tui/goals/AddGoalRequestFactory.js +9 -6
  44. package/dist/presentation/tui/goals/AddGoalRequestFactory.js.map +1 -1
  45. package/dist/presentation/tui/goals/GoalAuthoringFlow.d.ts +13 -6
  46. package/dist/presentation/tui/goals/GoalAuthoringFlow.d.ts.map +1 -1
  47. package/dist/presentation/tui/goals/GoalAuthoringFlow.js +194 -36
  48. package/dist/presentation/tui/goals/GoalAuthoringFlow.js.map +1 -1
  49. package/dist/presentation/tui/goals/GoalAuthoringFlowConstants.d.ts +33 -4
  50. package/dist/presentation/tui/goals/GoalAuthoringFlowConstants.d.ts.map +1 -1
  51. package/dist/presentation/tui/goals/GoalAuthoringFlowConstants.js +32 -4
  52. package/dist/presentation/tui/goals/GoalAuthoringFlowConstants.js.map +1 -1
  53. package/dist/presentation/tui/goals/GoalsScreen.d.ts.map +1 -1
  54. package/dist/presentation/tui/goals/GoalsScreen.js +32 -22
  55. package/dist/presentation/tui/goals/GoalsScreen.js.map +1 -1
  56. package/dist/presentation/tui/wizard/Wizard.js +1 -1
  57. package/dist/presentation/tui/wizard/Wizard.js.map +1 -1
  58. package/dist/presentation/tui/wizard/WizardTextInput.d.ts.map +1 -1
  59. package/dist/presentation/tui/wizard/WizardTextInput.js +5 -3
  60. package/dist/presentation/tui/wizard/WizardTextInput.js.map +1 -1
  61. package/package.json +3 -3
@@ -7,6 +7,7 @@ import { MegaMenu } from "../navigation/MegaMenu.js";
7
7
  import { SearchOverlay } from "../search/SearchOverlay.js";
8
8
  import { InitFlow } from "../project-initialization/InitFlow.js";
9
9
  import { GoalAuthoringFlow } from "../goals/GoalAuthoringFlow.js";
10
+ import { GoalAuthoringRequestStatus } from "../goals/GoalAuthoringFlowConstants.js";
10
11
  import { AddGoalRequestFactory } from "../goals/AddGoalRequestFactory.js";
11
12
  import { DEFAULT_SCREEN_INDEX } from "../navigation/ScreenDefinitions.js";
12
13
  import { ActionDispatcher } from "../action-dispatch/ActionDispatcher.js";
@@ -82,8 +83,6 @@ function AppFrame({ version, directoryPath, actionControllers, onProjectInitiali
82
83
  const [notificationDrawerOpen, setNotificationDrawerOpen] = useState(false);
83
84
  const [screenModalOpen, setScreenModalOpen] = useState(false);
84
85
  const [goalStatusFilter, setGoalStatusFilter] = useState(undefined);
85
- const [goalAuthoringError, setGoalAuthoringError] = useState(null);
86
- const [goalAuthoringWorking, setGoalAuthoringWorking] = useState(false);
87
86
  const [lifecycleRouteOverride, setLifecycleRouteOverride] = useState(null);
88
87
  const [unprimedSkipped, setUnprimedSkipped] = useState(false);
89
88
  const [bannerAnimationComplete, setBannerAnimationComplete] = useState(!launchAnimationEnabled);
@@ -188,7 +187,6 @@ function AppFrame({ version, directoryPath, actionControllers, onProjectInitiali
188
187
  setInitFlowOpen(true);
189
188
  }
190
189
  if (goalAuthoringShortcutEnabled && (input === "g" || input === "G")) {
191
- setGoalAuthoringError(null);
192
190
  setGoalAuthoringOpen(true);
193
191
  }
194
192
  if (activeScreenIndex === DEFAULT_SCREEN_INDEX &&
@@ -214,7 +212,9 @@ function AppFrame({ version, directoryPath, actionControllers, onProjectInitiali
214
212
  closeOverlay();
215
213
  }, [onProjectInitialized, projectContext]);
216
214
  const handleInitComplete = useCallback(async (_values) => {
217
- await completeStateChangingOverlay(() => setInitFlowOpen(false), { reinstallStateReaders: true });
215
+ await completeStateChangingOverlay(() => setInitFlowOpen(false), {
216
+ reinstallStateReaders: true,
217
+ });
218
218
  }, [completeStateChangingOverlay]);
219
219
  const handleInitCancel = useCallback(() => {
220
220
  setInitFlowOpen(false);
@@ -222,21 +222,29 @@ function AppFrame({ version, directoryPath, actionControllers, onProjectInitiali
222
222
  const handleGoalAuthoringComplete = useCallback(async (values) => {
223
223
  const addGoalController = actionControllers?.addGoalController;
224
224
  if (addGoalController === undefined) {
225
- setGoalAuthoringError(AppCopy.goalAuthoringUnavailable);
226
- return;
225
+ return {
226
+ status: GoalAuthoringRequestStatus.FAILURE,
227
+ error: AppCopy.goalAuthoringUnavailable,
228
+ };
227
229
  }
228
- setGoalAuthoringWorking(true);
229
- setGoalAuthoringError(null);
230
230
  const result = await ActionDispatcher.dispatch(addGoalController, AddGoalRequestFactory.create(values));
231
- setGoalAuthoringWorking(false);
232
231
  if (!result.ok) {
233
- setGoalAuthoringError(result.error.message);
234
- return;
232
+ return {
233
+ status: GoalAuthoringRequestStatus.FAILURE,
234
+ error: result.error.message,
235
+ };
235
236
  }
236
- await completeStateChangingOverlay(() => setGoalAuthoringOpen(false), { lifecycleRouteOverride: ProjectLifecycle.PRIMED });
237
- }, [actionControllers, completeStateChangingOverlay]);
237
+ return {
238
+ status: GoalAuthoringRequestStatus.SUCCESS,
239
+ goalId: result.response.goalId,
240
+ };
241
+ }, [actionControllers]);
242
+ const handleGoalAuthoringAcknowledged = useCallback(async (_goalId) => {
243
+ await completeStateChangingOverlay(() => setGoalAuthoringOpen(false), {
244
+ lifecycleRouteOverride: ProjectLifecycle.PRIMED,
245
+ });
246
+ }, [completeStateChangingOverlay]);
238
247
  const handleGoalAuthoringCancel = useCallback(() => {
239
- setGoalAuthoringError(null);
240
248
  setGoalAuthoringOpen(false);
241
249
  }, []);
242
250
  const handleNotificationAction = useCallback(async (id) => {
@@ -251,11 +259,7 @@ function AppFrame({ version, directoryPath, actionControllers, onProjectInitiali
251
259
  const result = await cliUpdateController.upgrade(cliUpdateCheck.latestVersion);
252
260
  setCliUpgradeResult(result);
253
261
  setCliUpgradeWorking(false);
254
- }, [
255
- cliUpdateCheck,
256
- cliUpdateController,
257
- cliUpgradeWorking,
258
- ]);
262
+ }, [cliUpdateCheck, cliUpdateController, cliUpgradeWorking]);
259
263
  const handleBannerAnimationComplete = useCallback(() => {
260
264
  setBannerAnimationComplete(true);
261
265
  }, []);
@@ -278,7 +282,7 @@ function AppFrame({ version, directoryPath, actionControllers, onProjectInitiali
278
282
  initFlowOpen && (React.createElement(Box, { position: "absolute", width: "100%", height: "100%", flexDirection: "column" },
279
283
  React.createElement(InitFlow, { actionControllers: actionControllers, onComplete: handleInitComplete, onCancel: handleInitCancel }))),
280
284
  goalAuthoringOpen && (React.createElement(Box, { position: "absolute", width: "100%", height: "100%", flexDirection: "column" },
281
- React.createElement(GoalAuthoringFlow, { onComplete: handleGoalAuthoringComplete, onCancel: handleGoalAuthoringCancel, dispatchError: goalAuthoringError, disabled: goalAuthoringWorking }))),
285
+ React.createElement(GoalAuthoringFlow, { onComplete: handleGoalAuthoringComplete, onSuccessAcknowledged: handleGoalAuthoringAcknowledged, onCancel: handleGoalAuthoringCancel }))),
282
286
  searchOpen && (React.createElement(Box, { position: "absolute", width: "100%", height: "100%", flexDirection: "column" },
283
287
  React.createElement(SearchOverlay, { onClose: () => setSearchOpen(false), terminalWidth: columns, terminalHeight: Math.max(1, rows - FRAME_CHROME_ROWS) })))),
284
288
  React.createElement(Box, { flexShrink: 0 },
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../../src/presentation/tui/application-shell/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAWtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,wBAAwB,GAAG;IAC/B,WAAW,CAAC,MAAM;IAClB,WAAW,CAAC,aAAa;IACzB,WAAW,CAAC,WAAW;CACf,CAAC;AACX,MAAM,wBAAwB,GAAG,CAAC,WAAW,CAAC,MAAM,CAAU,CAAC;AAC/D,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AAC1D,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAC5C,MAAM,0BAA0B,GAAG;IACjC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACK,CAAC;AAEX,SAAS,qBAAqB;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC;QAC3C,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;KACxB,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,aAAa,CAAC;gBACZ,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;gBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;aACxB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,UAAU,CAAC;AACpB,CAAC;AAsBD,MAAM,UAAU,GAAG,CAAC,EAClB,OAAO,GAAG,EAAE,EACZ,aAAa,GAAG,EAAE,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,GAAG,IAAI,MACjB,EAAE;IACd,MAAM,CAAC,4BAA4B,EAAE,+BAA+B,CAAC,GACnE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAEnC,MAAM,wBAAwB,GAAG,WAAW,CAAC,KAAK,IAAsB,EAAE;QACxE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+BAA+B,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IAElD,OAAO,CACL,oBAAC,mBAAmB,IAClB,WAAW,EAAE,4BAA4B,EACzC,OAAO,EAAE,kBAAkB,IAE1B,uBAAuB,KAAK,SAAS,CAAC,CAAC,CAAC,CACvC,oBAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,wBAAwB,EAC9C,wBAAwB,EAAE,KAAK,EAC/B,cAAc,EAAE,cAAc,EAC9B,mBAAmB,EAAE,mBAAmB,EACxC,sBAAsB,EAAE,sBAAsB,GAC9C,CACH,CAAC,CAAC,CAAC,CACF,oBAAC,yBAAyB,IAAC,OAAO,EAAE,uBAAuB;QACzD,oBAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,wBAAwB,EAC9C,wBAAwB,EAAE,IAAI,EAC9B,cAAc,EAAE,cAAc,EAC9B,mBAAmB,EAAE,mBAAmB,EACxC,sBAAsB,EAAE,sBAAsB,GAC9C,CACwB,CAC7B,CACmB,CACvB,CAAC;AACJ,CAAC;AAaD,SAAS,QAAQ,CAAC,EAChB,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,GACR;IACd,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAClD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CACxD,oBAAoB,CACrB,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAC3C,QAAQ,CAAwC,SAAS,CAAC,CAAC;IAC7D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAClF,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GACvD,QAAQ,CAA+B,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CACpE,CAAC,sBAAsB,CACxB,CAAC;IACF,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAAG,QAAQ,CAC1E,CAAC,sBAAsB,CACxB,CAAC;IACF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,iBAAiB,CAAC,cAAc,EAAE,CACnC,CAAC;IACF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GACvC,QAAQ,CAA8B,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAC3C,QAAQ,CAA0B,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,qBAAqB,GACzB,cAAc,CAAC,IAAI,EAAE,cAAc,IAAI,gBAAgB,CAAC,aAAa,CAAC;IACxE,MAAM,2BAA2B,GAC/B,sBAAsB;QACtB,CAAC,qBAAqB,KAAK,gBAAgB,CAAC,QAAQ,IAAI,eAAe;YACrE,CAAC,CAAC,gBAAgB,CAAC,YAAY;YAC/B,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC7B,MAAM,mBAAmB,GACvB,CAAC,cAAc,CAAC,OAAO;QACvB,qBAAqB,KAAK,gBAAgB,CAAC,aAAa,CAAC;IAC3D,MAAM,mBAAmB,GACvB,CAAC,YAAY,IAAI,CAAC,iBAAiB,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC;IACtE,MAAM,sBAAsB,GAC1B,mBAAmB,IAAI,CAAC,eAAe,IAAI,CAAC,mBAAmB,CAAC;IAClE,MAAM,uBAAuB,GAC3B,mBAAmB,IAAI,CAAC,eAAe,IAAI,CAAC,sBAAsB,CAAC;IACrE,MAAM,uBAAuB,GAC3B,CAAC,YAAY;QACb,CAAC,iBAAiB;QAClB,CAAC,UAAU;QACX,CAAC,YAAY;QACb,iBAAiB,KAAK,oBAAoB;QAC1C,2BAA2B,KAAK,gBAAgB,CAAC,MAAM,CAAC;IAC1D,MAAM,4BAA4B,GAChC,CAAC,cAAc,CAAC,OAAO;QACvB,iBAAiB,KAAK,oBAAoB;QAC1C,CAAC,2BAA2B,KAAK,gBAAgB,CAAC,YAAY;YAC5D,uBAAuB,CAAC,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,qBAAqB,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACxD,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACjC,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACb,IACE,sBAAsB,KAAK,IAAI;YAC/B,qBAAqB,KAAK,sBAAsB,EAChD,CAAC;YACD,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,iBAAiB,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,CAAC;QACxD,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE;YACV,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,mBAAmB,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,mBAAmB;aACrB,KAAK,CAAC,OAAO,CAAC;aACd,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC1B,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAE1B,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,0BAA0B,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,0BAA0B,CACxB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,0BAA0B,CAAC,MAAM,CACjE,CAAC;QACJ,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAEpC,OAAO,GAAG,EAAE;YACV,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,IAAI,EAAE,CAAC;QACT,CAAC;QACD,IAAI,KAAK,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACtC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,mBAAmB,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5D,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,4BAA4B,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;YACrE,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,IACE,iBAAiB,KAAK,oBAAoB;YAC1C,qBAAqB,KAAK,gBAAgB,CAAC,QAAQ;YACnD,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,EAChC,CAAC;YACD,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,4BAA4B,GAAG,WAAW,CAC9C,KAAK,EACH,YAAwB,EACxB,UAGI,EAAE,EACN,EAAE;QACF,IAAI,OAAO,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACjD,yBAAyB,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAC1D,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,EAAE,CAAC;YAC3D,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QAED,YAAY,EAAE,CAAC;IACjB,CAAC,EACD,CAAC,oBAAoB,EAAE,cAAc,CAAC,CACvC,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,KAAK,EAAE,OAA+B,EAAE,EAAE;QACxC,MAAM,4BAA4B,CAChC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAC5B,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAChC,CAAC;IACJ,CAAC,EACD,CAAC,4BAA4B,CAAC,CAC/B,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,2BAA2B,GAAG,WAAW,CAC7C,KAAK,EAAE,MAA2B,EAAE,EAAE;QACpC,MAAM,iBAAiB,GAAG,iBAAiB,EAAE,iBAAiB,CAAC;QAC/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,qBAAqB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9B,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAC5C,iBAAiB,EACjB,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CACrC,CAAC;QACF,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,4BAA4B,CAChC,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,EACjC,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,MAAM,EAAE,CACpD,CAAC;IACJ,CAAC,EACD,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CAClD,CAAC;IAEF,MAAM,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE;QACjD,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5B,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,wBAAwB,GAAG,WAAW,CAC1C,KAAK,EAAE,EAAU,EAAE,EAAE;QACnB,IACE,EAAE,KAAK,0BAA0B;YACjC,mBAAmB,KAAK,SAAS;YACjC,cAAc,EAAE,MAAM,KAAK,kBAAkB;YAC7C,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ;YACpC,iBAAiB,EACjB,CAAC;YACD,OAAO;QACT,CAAC;QAED,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAC9C,cAAc,CAAC,aAAa,CAC7B,CAAC;QACF,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5B,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EACD;QACE,cAAc;QACd,mBAAmB;QACnB,iBAAiB;KAClB,CACF,CAAC;IAEF,MAAM,6BAA6B,GAAG,WAAW,CAAC,GAAG,EAAE;QACrD,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gCAAgC,GAAG,WAAW,CAAC,GAAG,EAAE;QACxD,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,0BAA0B,GAAG,WAAW,CAC5C,CAAC,SAAkC,EAAE,EAAE;QACrC,oBAAoB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5C,mBAAmB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAChD,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI;QACtD,oBAAC,GAAG,IAAC,UAAU,EAAE,CAAC;YAChB,oBAAC,MAAM,IACL,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,sBAAsB,EACxE,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,OAAO,GACtB,CACE;QACN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAC,UAAU;YAC1D,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;gBACtC,oBAAC,YAAY,IACX,iBAAiB,EAAE,iBAAiB,EACpC,qBAAqB,EAAE,2BAA2B,EAClD,gBAAgB,EAAE,uBAAuB,EACzC,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,iBAAiB,CAAC,EACrD,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EACvD,iBAAiB,EAAE,kBAAkB,EACrC,cAAc,EAAE,cAAc,EAC9B,sBAAsB,EAAE,sBAAsB,EAC9C,uBAAuB,EAAE,uBAAuB,EAChD,0BAA0B,EAAE,0BAA0B,EACtD,yBAAyB,EAAE,6BAA6B,EACxD,4BAA4B,EAAE,gCAAgC,GAC9D,CACE;YACL,YAAY,IAAI,CACf,oBAAC,GAAG,IACF,QAAQ,EAAC,UAAU,EACnB,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,aAAa,EAAC,QAAQ;gBAEtB,oBAAC,QAAQ,IACP,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,0BAA0B,EAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EACrC,aAAa,EAAE,OAAO,GACtB,CACE,CACP;YACA,YAAY,IAAI,CACf,oBAAC,GAAG,IACF,QAAQ,EAAC,UAAU,EACnB,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,aAAa,EAAC,QAAQ;gBAEtB,oBAAC,QAAQ,IACP,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,gBAAgB,GAC1B,CACE,CACP;YACA,iBAAiB,IAAI,CACpB,oBAAC,GAAG,IACF,QAAQ,EAAC,UAAU,EACnB,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,aAAa,EAAC,QAAQ;gBAEtB,oBAAC,iBAAiB,IAChB,UAAU,EAAE,2BAA2B,EACvC,QAAQ,EAAE,yBAAyB,EACnC,aAAa,EAAE,kBAAkB,EACjC,QAAQ,EAAE,oBAAoB,GAC9B,CACE,CACP;YACA,UAAU,IAAI,CACb,oBAAC,GAAG,IACF,QAAQ,EAAC,UAAU,EACnB,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,aAAa,EAAC,QAAQ;gBAEtB,oBAAC,aAAa,IACZ,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,iBAAiB,CAAC,GACrD,CACE,CACP,CACG;QACN,oBAAC,GAAG,IAAC,UAAU,EAAE,CAAC;YAChB,oBAAC,MAAM,IACL,aAAa,EAAE,OAAO,EACtB,gBAAgB,EAAE,sBAAsB,EACxC,mBAAmB,EACjB,UAAU;oBACR,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,uBAAuB;wBACzB,CAAC,CAAC,wBAAwB;wBAC1B,CAAC,CAAC,wBAAwB,EAE9B,aAAa,EAAE,kBAAkB,CAC/B,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,CACxB,EACD,oBAAoB,EAAE,wBAAwB,EAC9C,8BAA8B,EAAE,yBAAyB,GACzD,CACE,CACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,QAAuC;IAEvC,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC;SAC7D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChB,EAAE,EAAE,UAAU,MAAM,CAAC,IAAI,SAAS;QAClC,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB;QACnD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,iBAAiB;QAC1E,MAAM,EAAE,IAAI;KACb,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,kBAAkB,CACzB,cAA6C,EAC7C,cAA2C,EAC3C,gBAAyC,EACzC,iBAA0B,EAC1B,uBAA+B;IAE/B,MAAM,qBAAqB,GAAG,0BAA0B,CACtD,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,CACxB,CAAC;IAEF,OAAO;QACL,GAAG,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAClE,GAAG,+BAA+B,CAAC,cAAc,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,cAA2C,EAC3C,gBAAyC,EACzC,iBAA0B,EAC1B,uBAA+B;IAE/B,IAAI,cAAc,EAAE,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,cAAc,CAAC,YAAY,YAAY,cAAc,CAAC,aAAa,GAAG,CAAC;IAEvG,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,aAAa,GACjB,0BAA0B,CACxB,uBAAuB,GAAG,0BAA0B,CAAC,MAAM,CAC5D,CAAC;QACJ,OAAO;YACL,EAAE,EAAE,0BAA0B;YAC9B,KAAK,EAAE,4BAA4B,aAAa,EAAE;YAClD,IAAI,EAAE,GAAG,cAAc,uBAAuB;YAC9C,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO;YACL,EAAE,EAAE,0BAA0B;YAC9B,KAAK,EAAE,gBAAgB,CAAC,EAAE;gBACxB,CAAC,CAAC,wBAAwB;gBAC1B,CAAC,CAAC,kCAAkC;YACtC,IAAI,EAAE,gBAAgB,CAAC,EAAE;gBACvB,CAAC,CAAC,GAAG,cAAc,IAAI,gBAAgB,CAAC,OAAO,EAAE;gBACjD,CAAC,CAAC,GAAG,cAAc,IAAI,gBAAgB,CAAC,QAAQ,EAAE;YACpD,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO;YACL,EAAE,EAAE,0BAA0B;YAC9B,KAAK,EAAE,gCAAgC;YACvC,IAAI,EAAE,cAAc,cAAc,CAAC,aAAa,+BAA+B;YAC/E,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE;gBACN,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,SAAS;aACjB;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,0BAA0B;QAC9B,KAAK,EAAE,iCAAiC;QACxC,IAAI,EAAE,cAAc,cAAc,CAAC,aAAa,KAAK,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE;QAC1F,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../../src/presentation/tui/application-shell/App.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * AddGoalRequestFactory - Assembles an AddGoalRequest from GoalAuthoringValues.
3
3
  *
4
- * Normalizes free-text authoring fields at the presentation-application
5
- * boundary: blank optional text becomes undefined and whitespace/comma
6
- * separated lists become arrays. Shared by the App overlay and GoalsScreen
7
- * submission paths so the two cannot drift.
4
+ * Normalizes optional authoring fields at the presentation-application
5
+ * boundary. Scope arrays are copied without parsing so item content and order
6
+ * stay intact. Shared by the App overlay and GoalsScreen submission paths so
7
+ * the two cannot drift.
8
8
  */
9
9
  import type { AddGoalRequest } from "../../../application/context/goals/add/AddGoalRequest.js";
10
10
  import type { GoalAuthoringValues } from "./GoalAuthoringFlow.js";
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * AddGoalRequestFactory - Assembles an AddGoalRequest from GoalAuthoringValues.
3
3
  *
4
- * Normalizes free-text authoring fields at the presentation-application
5
- * boundary: blank optional text becomes undefined and whitespace/comma
6
- * separated lists become arrays. Shared by the App overlay and GoalsScreen
7
- * submission paths so the two cannot drift.
4
+ * Normalizes optional authoring fields at the presentation-application
5
+ * boundary. Scope arrays are copied without parsing so item content and order
6
+ * stay intact. Shared by the App overlay and GoalsScreen submission paths so
7
+ * the two cannot drift.
8
8
  */
9
9
  export const AddGoalRequestFactory = {
10
10
  create(values) {
@@ -12,8 +12,8 @@ export const AddGoalRequestFactory = {
12
12
  title: values.title,
13
13
  objective: values.objective,
14
14
  successCriteria: [...values.successCriteria],
15
- scopeIn: optionalList(values.scopeIn),
16
- scopeOut: optionalList(values.scopeOut),
15
+ scopeIn: optionalArray(values.scopeIn),
16
+ scopeOut: optionalArray(values.scopeOut),
17
17
  nextGoalId: optionalText(values.nextGoal),
18
18
  previousGoalId: optionalText(values.previousGoal),
19
19
  prerequisiteGoals: optionalList(values.prerequisiteGoals),
@@ -33,4 +33,7 @@ function optionalList(value) {
33
33
  .filter((item) => item.length > 0);
34
34
  return values.length > 0 ? values : undefined;
35
35
  }
36
+ function optionalArray(values) {
37
+ return values.length > 0 ? [...values] : undefined;
38
+ }
36
39
  //# sourceMappingURL=AddGoalRequestFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddGoalRequestFactory.js","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/AddGoalRequestFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,CAAC,MAA2B;QAChC,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;YAC5C,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;YACrC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;YACvC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzC,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;YACjD,iBAAiB,EAAE,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACzD,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;SACxC,CAAC;IACJ,CAAC;CACO,CAAC;AAEX,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,MAAM,GAAG,KAAK;SACjB,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"AddGoalRequestFactory.js","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/AddGoalRequestFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,CAAC,MAA2B;QAChC,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;YAC5C,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;YACtC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;YACxC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzC,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;YACjD,iBAAiB,EAAE,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACzD,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;SACxC,CAAC;IACJ,CAAC;CACO,CAAC;AAEX,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,MAAM,GAAG,KAAK;SACjB,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CAAC,MAAyB;IAC9C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC"}
@@ -1,22 +1,29 @@
1
1
  import React from "react";
2
+ import { GoalAuthoringRequestStatus } from "./GoalAuthoringFlowConstants.js";
2
3
  export interface GoalAuthoringValues {
3
4
  readonly title: string;
4
5
  readonly objective: string;
5
6
  readonly successCriteria: readonly string[];
6
- readonly scopeIn: string;
7
- readonly scopeOut: string;
7
+ readonly scopeIn: readonly string[];
8
+ readonly scopeOut: readonly string[];
8
9
  readonly nextGoal: string;
9
10
  readonly previousGoal: string;
10
11
  readonly prerequisiteGoals: string;
11
12
  readonly branch: string;
12
13
  readonly worktree: string;
13
14
  }
15
+ export type GoalAuthoringSubmissionResult = {
16
+ readonly status: typeof GoalAuthoringRequestStatus.SUCCESS;
17
+ readonly goalId: string;
18
+ } | {
19
+ readonly status: typeof GoalAuthoringRequestStatus.FAILURE;
20
+ readonly error: string;
21
+ };
14
22
  interface GoalAuthoringFlowProps {
15
- readonly onComplete: (values: GoalAuthoringValues) => void | Promise<void>;
23
+ readonly onComplete: (values: GoalAuthoringValues) => Promise<GoalAuthoringSubmissionResult>;
24
+ readonly onSuccessAcknowledged?: (goalId: string) => void | Promise<void>;
16
25
  readonly onCancel: () => void;
17
- readonly dispatchError?: string | null;
18
- readonly disabled?: boolean;
19
26
  }
20
- export declare function GoalAuthoringFlow({ onComplete, onCancel, dispatchError, disabled, }: GoalAuthoringFlowProps): React.ReactElement;
27
+ export declare function GoalAuthoringFlow({ onComplete, onSuccessAcknowledged, onCancel, }: GoalAuthoringFlowProps): React.ReactElement;
21
28
  export {};
22
29
  //# sourceMappingURL=GoalAuthoringFlow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoalAuthoringFlow.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/GoalAuthoringFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAajD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AA4FD,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,aAAoB,EACpB,QAAgB,GACjB,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAuM7C"}
1
+ {"version":3,"file":"GoalAuthoringFlow.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/GoalAuthoringFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAWjD,OAAO,EAOL,0BAA0B,EAK3B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,6BAA6B,GACrC;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,0BAA0B,CAAC,OAAO,CAAC;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,0BAA0B,CAAC,OAAO,CAAC;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AA6EN,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,UAAU,EAAE,CACnB,MAAM,EAAE,mBAAmB,KACxB,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AAMD,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,qBAAgC,EAChC,QAAQ,GACT,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAyS7C"}
@@ -1,7 +1,10 @@
1
1
  import React, { useMemo, useState } from "react";
2
+ import { Box, Text, useInput } from "ink";
3
+ import { BaseColors, SemanticColors, TuiGlyphs, } from "../../shared/DesignTokens.js";
4
+ import { KeyBadge } from "../ui-primitives/KeyBadge.js";
2
5
  import { Wizard } from "../wizard/Wizard.js";
3
6
  import { WizardFieldKind } from "../wizard/WizardConstants.js";
4
- import { AUTHORING_PROGRESS_LABELS, GoalAuthoringCopy, GoalAuthoringCriterionValue, GoalAuthoringFieldKey, GoalAuthoringStage, } from "./GoalAuthoringFlowConstants.js";
7
+ import { AUTHORING_PROGRESS_LABELS, GOAL_AUTHORING_RESULT_MAX_MESSAGE_LENGTH, GOAL_AUTHORING_RESULT_PANEL_WIDTH, GoalAuthoringCopy, GoalAuthoringCriterionValue, GoalAuthoringFieldKey, GoalAuthoringRequestStatus, GoalAuthoringResultCopy, GoalAuthoringResultInteractionKey, GoalAuthoringStage, } from "./GoalAuthoringFlowConstants.js";
5
8
  const DETAILS_STEPS = [
6
9
  {
7
10
  title: GoalAuthoringCopy.details.title,
@@ -20,26 +23,6 @@ const DETAILS_STEPS = [
20
23
  ],
21
24
  },
22
25
  ];
23
- const SCOPE_STEPS = [
24
- {
25
- title: GoalAuthoringCopy.scope.title,
26
- description: GoalAuthoringCopy.scope.description,
27
- fields: [
28
- {
29
- key: GoalAuthoringFieldKey.SCOPE_IN,
30
- label: GoalAuthoringCopy.scope.fields.scopeIn,
31
- placeholder: GoalAuthoringCopy.scope.fields.scopeInPlaceholder,
32
- required: false,
33
- },
34
- {
35
- key: GoalAuthoringFieldKey.SCOPE_OUT,
36
- label: GoalAuthoringCopy.scope.fields.scopeOut,
37
- placeholder: GoalAuthoringCopy.scope.fields.scopeOutPlaceholder,
38
- required: false,
39
- },
40
- ],
41
- },
42
- ];
43
26
  const SEQUENCING_STEPS = [
44
27
  {
45
28
  title: GoalAuthoringCopy.sequencing.title,
@@ -86,15 +69,17 @@ const WORKSPACE_STEPS = [
86
69
  ],
87
70
  },
88
71
  ];
89
- export function GoalAuthoringFlow({ onComplete, onCancel, dispatchError = null, disabled = false, }) {
72
+ export function GoalAuthoringFlow({ onComplete, onSuccessAcknowledged = () => { }, onCancel, }) {
90
73
  const [stage, setStage] = useState(GoalAuthoringStage.DETAILS);
91
74
  const [title, setTitle] = useState("");
92
75
  const [objective, setObjective] = useState("");
93
76
  const [successCriteria, setSuccessCriteria] = useState([]);
94
77
  const [scopeValues, setScopeValues] = useState({
95
- scopeIn: "",
96
- scopeOut: "",
78
+ scopeIn: [],
79
+ scopeOut: [],
97
80
  });
81
+ const [scopeFieldKey, setScopeFieldKey] = useState(GoalAuthoringFieldKey.SCOPE_IN);
82
+ const [scopeEditIndex, setScopeEditIndex] = useState(0);
98
83
  const [sequencingValues, setSequencingValues] = useState({
99
84
  previousGoal: "",
100
85
  nextGoal: "",
@@ -106,8 +91,11 @@ export function GoalAuthoringFlow({ onComplete, onCancel, dispatchError = null,
106
91
  branch: "",
107
92
  worktree: "",
108
93
  });
94
+ const [requestResult, setRequestResult] = useState(null);
95
+ const [acknowledgingSuccess, setAcknowledgingSuccess] = useState(false);
109
96
  const criterionNumber = criteriaEditIndex + 1;
110
97
  const criteriaSteps = useMemo(() => buildCriteriaSteps(criterionNumber), [criterionNumber]);
98
+ const scopeSteps = useMemo(() => buildScopeSteps(scopeFieldKey, scopeEditIndex + 1), [scopeEditIndex, scopeFieldKey]);
111
99
  const handleDetailsConfirm = (values) => {
112
100
  setTitle(values[GoalAuthoringFieldKey.TITLE] ?? "");
113
101
  setObjective(values[GoalAuthoringFieldKey.OBJECTIVE] ?? "");
@@ -128,10 +116,24 @@ export function GoalAuthoringFlow({ onComplete, onCancel, dispatchError = null,
128
116
  setStage(GoalAuthoringStage.SCOPE);
129
117
  };
130
118
  const handleScopeConfirm = (values) => {
131
- setScopeValues({
132
- scopeIn: values[GoalAuthoringFieldKey.SCOPE_IN] ?? "",
133
- scopeOut: values[GoalAuthoringFieldKey.SCOPE_OUT] ?? "",
134
- });
119
+ const item = values[scopeFieldKey] ?? "";
120
+ const nextScopeValues = {
121
+ ...scopeValues,
122
+ [scopeFieldKey]: replaceScopeItem(scopeValues[scopeFieldKey], scopeEditIndex, item),
123
+ };
124
+ setScopeValues(nextScopeValues);
125
+ if (values[scopeAddAnotherFieldKey(scopeFieldKey)] ===
126
+ GoalAuthoringCriterionValue.YES) {
127
+ setScopeEditIndex(scopeEditIndex + 1);
128
+ setWizardKey((current) => current + 1);
129
+ return;
130
+ }
131
+ if (scopeFieldKey === GoalAuthoringFieldKey.SCOPE_IN) {
132
+ setScopeFieldKey(GoalAuthoringFieldKey.SCOPE_OUT);
133
+ setScopeEditIndex(0);
134
+ setWizardKey((current) => current + 1);
135
+ return;
136
+ }
135
137
  setStage(GoalAuthoringStage.SEQUENCING);
136
138
  };
137
139
  const handleSequencingConfirm = (values) => {
@@ -142,13 +144,13 @@ export function GoalAuthoringFlow({ onComplete, onCancel, dispatchError = null,
142
144
  });
143
145
  setStage(GoalAuthoringStage.WORKSPACE);
144
146
  };
145
- const handleWorkspaceConfirm = (values) => {
147
+ const handleWorkspaceConfirm = async (values) => {
146
148
  const nextWorkspaceValues = {
147
149
  branch: values[GoalAuthoringFieldKey.BRANCH] ?? "",
148
150
  worktree: values[GoalAuthoringFieldKey.WORKTREE] ?? "",
149
151
  };
150
152
  setWorkspaceValues(nextWorkspaceValues);
151
- onComplete({
153
+ const authoringValues = {
152
154
  title,
153
155
  objective,
154
156
  successCriteria,
@@ -159,7 +161,17 @@ export function GoalAuthoringFlow({ onComplete, onCancel, dispatchError = null,
159
161
  prerequisiteGoals: sequencingValues.prerequisiteGoals,
160
162
  branch: nextWorkspaceValues.branch,
161
163
  worktree: nextWorkspaceValues.worktree,
162
- });
164
+ };
165
+ setRequestResult({ status: GoalAuthoringRequestStatus.PENDING });
166
+ try {
167
+ setRequestResult(await onComplete(authoringValues));
168
+ }
169
+ catch (caughtError) {
170
+ setRequestResult({
171
+ status: GoalAuthoringRequestStatus.FAILURE,
172
+ error: normalizeSubmissionError(caughtError),
173
+ });
174
+ }
163
175
  };
164
176
  const handleCriteriaBack = () => {
165
177
  if (criteriaEditIndex > 0) {
@@ -170,14 +182,54 @@ export function GoalAuthoringFlow({ onComplete, onCancel, dispatchError = null,
170
182
  setStage(GoalAuthoringStage.DETAILS);
171
183
  };
172
184
  const handleScopeBack = () => {
185
+ if (scopeEditIndex > 0) {
186
+ setScopeEditIndex(scopeEditIndex - 1);
187
+ setWizardKey((current) => current + 1);
188
+ return;
189
+ }
190
+ if (scopeFieldKey === GoalAuthoringFieldKey.SCOPE_OUT) {
191
+ setScopeFieldKey(GoalAuthoringFieldKey.SCOPE_IN);
192
+ setScopeEditIndex(Math.max(scopeValues.scopeIn.length - 1, 0));
193
+ setWizardKey((current) => current + 1);
194
+ return;
195
+ }
173
196
  setCriteriaEditIndex(Math.max(successCriteria.length - 1, 0));
174
197
  setStage(GoalAuthoringStage.CRITERIA);
175
198
  };
176
199
  const handleSequencingBack = () => {
200
+ setScopeFieldKey(GoalAuthoringFieldKey.SCOPE_OUT);
201
+ setScopeEditIndex(Math.max(scopeValues.scopeOut.length - 1, 0));
202
+ setWizardKey((current) => current + 1);
177
203
  setStage(GoalAuthoringStage.SCOPE);
178
204
  };
205
+ useInput((_input, key) => {
206
+ if (requestResult === null ||
207
+ requestResult.status === GoalAuthoringRequestStatus.PENDING ||
208
+ acknowledgingSuccess) {
209
+ return;
210
+ }
211
+ if (requestResult.status === GoalAuthoringRequestStatus.FAILURE &&
212
+ key.escape) {
213
+ onCancel();
214
+ return;
215
+ }
216
+ if (!key.return) {
217
+ return;
218
+ }
219
+ if (requestResult.status === GoalAuthoringRequestStatus.FAILURE) {
220
+ setRequestResult(null);
221
+ setWizardKey((current) => current + 1);
222
+ setStage(GoalAuthoringStage.WORKSPACE);
223
+ return;
224
+ }
225
+ setAcknowledgingSuccess(true);
226
+ void Promise.resolve(onSuccessAcknowledged(requestResult.goalId)).catch(() => setAcknowledgingSuccess(false));
227
+ });
228
+ if (requestResult !== null) {
229
+ return (React.createElement(GoalAuthoringResultScreen, { result: requestResult, acknowledgingSuccess: acknowledgingSuccess }));
230
+ }
179
231
  if (stage === GoalAuthoringStage.DETAILS) {
180
- return (React.createElement(Wizard, { key: GoalAuthoringStage.DETAILS, title: GoalAuthoringCopy.title, steps: DETAILS_STEPS, onConfirm: handleDetailsConfirm, onCancel: onCancel, initialValues: { title, objective }, dispatchError: dispatchError, disabled: disabled, progressLabel: AUTHORING_PROGRESS_LABELS[GoalAuthoringStage.DETAILS] }));
232
+ return (React.createElement(Wizard, { key: GoalAuthoringStage.DETAILS, title: GoalAuthoringCopy.title, steps: DETAILS_STEPS, onConfirm: handleDetailsConfirm, onCancel: onCancel, initialValues: { title, objective }, progressLabel: AUTHORING_PROGRESS_LABELS[GoalAuthoringStage.DETAILS] }));
181
233
  }
182
234
  if (stage === GoalAuthoringStage.CRITERIA) {
183
235
  return (React.createElement(Wizard, { key: `criteria-${wizardKey}`, title: GoalAuthoringCopy.title, steps: criteriaSteps, onConfirm: handleCriteriaConfirm, onCancel: onCancel, onBack: handleCriteriaBack, initialValues: {
@@ -185,15 +237,75 @@ export function GoalAuthoringFlow({ onComplete, onCancel, dispatchError = null,
185
237
  [GoalAuthoringFieldKey.ADD_ANOTHER_CRITERION]: criteriaEditIndex < successCriteria.length - 1
186
238
  ? GoalAuthoringCriterionValue.YES
187
239
  : GoalAuthoringCriterionValue.NO,
188
- }, dispatchError: dispatchError, disabled: disabled, progressLabel: AUTHORING_PROGRESS_LABELS[GoalAuthoringStage.CRITERIA] }));
240
+ }, progressLabel: AUTHORING_PROGRESS_LABELS[GoalAuthoringStage.CRITERIA] }));
189
241
  }
190
242
  if (stage === GoalAuthoringStage.SCOPE) {
191
- return (React.createElement(Wizard, { key: GoalAuthoringStage.SCOPE, title: GoalAuthoringCopy.title, steps: SCOPE_STEPS, onConfirm: handleScopeConfirm, onCancel: onCancel, onBack: handleScopeBack, initialValues: scopeValues, dispatchError: dispatchError, disabled: disabled, progressLabel: AUTHORING_PROGRESS_LABELS[GoalAuthoringStage.SCOPE] }));
243
+ return (React.createElement(Wizard, { key: `scope-${scopeFieldKey}-${wizardKey}`, title: GoalAuthoringCopy.title, steps: scopeSteps, onConfirm: handleScopeConfirm, onCancel: onCancel, onBack: handleScopeBack, initialValues: {
244
+ [scopeFieldKey]: scopeValues[scopeFieldKey][scopeEditIndex] ?? "",
245
+ [scopeAddAnotherFieldKey(scopeFieldKey)]: scopeEditIndex < scopeValues[scopeFieldKey].length - 1
246
+ ? GoalAuthoringCriterionValue.YES
247
+ : GoalAuthoringCriterionValue.NO,
248
+ }, progressLabel: AUTHORING_PROGRESS_LABELS[GoalAuthoringStage.SCOPE] }));
192
249
  }
193
250
  if (stage === GoalAuthoringStage.SEQUENCING) {
194
- return (React.createElement(Wizard, { key: GoalAuthoringStage.SEQUENCING, title: GoalAuthoringCopy.title, steps: SEQUENCING_STEPS, onConfirm: handleSequencingConfirm, onCancel: onCancel, onBack: handleSequencingBack, initialValues: sequencingValues, dispatchError: dispatchError, disabled: disabled, progressLabel: AUTHORING_PROGRESS_LABELS[GoalAuthoringStage.SEQUENCING] }));
251
+ return (React.createElement(Wizard, { key: GoalAuthoringStage.SEQUENCING, title: GoalAuthoringCopy.title, steps: SEQUENCING_STEPS, onConfirm: handleSequencingConfirm, onCancel: onCancel, onBack: handleSequencingBack, initialValues: sequencingValues, progressLabel: AUTHORING_PROGRESS_LABELS[GoalAuthoringStage.SEQUENCING] }));
252
+ }
253
+ return (React.createElement(Wizard, { key: `workspace-${wizardKey}`, title: GoalAuthoringCopy.title, steps: WORKSPACE_STEPS, onConfirm: handleWorkspaceConfirm, onCancel: onCancel, onBack: () => setStage(GoalAuthoringStage.SEQUENCING), initialValues: workspaceValues, progressLabel: AUTHORING_PROGRESS_LABELS[GoalAuthoringStage.WORKSPACE] }));
254
+ }
255
+ function GoalAuthoringResultScreen({ result, acknowledgingSuccess, }) {
256
+ const isPending = result.status === GoalAuthoringRequestStatus.PENDING;
257
+ const isSuccess = result.status === GoalAuthoringRequestStatus.SUCCESS;
258
+ const statusColor = isPending
259
+ ? SemanticColors.info
260
+ : isSuccess
261
+ ? SemanticColors.success
262
+ : SemanticColors.error;
263
+ const statusCopy = isPending
264
+ ? GoalAuthoringResultCopy.pending
265
+ : isSuccess
266
+ ? GoalAuthoringResultCopy.success
267
+ : GoalAuthoringResultCopy.failure;
268
+ return (React.createElement(Box, { width: "100%", height: "100%", overflow: "hidden", alignItems: "center", justifyContent: "center", flexGrow: 1 },
269
+ React.createElement(Box, { width: GOAL_AUTHORING_RESULT_PANEL_WIDTH, maxWidth: "100%", flexShrink: 1, flexDirection: "column", backgroundColor: BaseColors.black, paddingX: 4, paddingY: 2 },
270
+ React.createElement(Text, { color: SemanticColors.headline, bold: true },
271
+ TuiGlyphs.accentBar,
272
+ " ",
273
+ GoalAuthoringResultCopy.title),
274
+ React.createElement(Box, { marginTop: 1 },
275
+ React.createElement(Text, { color: SemanticColors.secondary },
276
+ GoalAuthoringResultCopy.statusLabel,
277
+ ":",
278
+ " "),
279
+ React.createElement(Text, { color: statusColor, bold: true }, result.status)),
280
+ React.createElement(Text, { color: statusColor, wrap: "truncate-end" }, statusCopy),
281
+ result.status === GoalAuthoringRequestStatus.SUCCESS && (React.createElement(Box, { marginTop: 1 },
282
+ React.createElement(Text, { color: SemanticColors.secondary },
283
+ GoalAuthoringResultCopy.goalIdLabel,
284
+ ":",
285
+ " "),
286
+ React.createElement(Text, { color: SemanticColors.primary, wrap: "wrap" }, result.goalId))),
287
+ result.status === GoalAuthoringRequestStatus.FAILURE && (React.createElement(Box, { marginTop: 1, flexDirection: "column" },
288
+ React.createElement(Text, { color: SemanticColors.secondary },
289
+ GoalAuthoringResultCopy.errorLabel,
290
+ ":"),
291
+ React.createElement(Text, { color: SemanticColors.error, wrap: "wrap" }, truncateResultMessage(result.error)))),
292
+ !isPending && (React.createElement(Box, { marginTop: 1, gap: 2, flexWrap: "wrap" },
293
+ React.createElement(KeyBadge, { char: GoalAuthoringResultInteractionKey.ACKNOWLEDGE, label: isSuccess
294
+ ? GoalAuthoringResultCopy.acknowledge
295
+ : GoalAuthoringResultCopy.retry, compact: true }),
296
+ !isSuccess && (React.createElement(KeyBadge, { char: GoalAuthoringResultInteractionKey.CANCEL, label: GoalAuthoringResultCopy.cancel, compact: true })))))));
297
+ }
298
+ function normalizeSubmissionError(caughtError) {
299
+ if (caughtError instanceof Error) {
300
+ return caughtError.message;
301
+ }
302
+ return String(caughtError);
303
+ }
304
+ function truncateResultMessage(message) {
305
+ if (message.length <= GOAL_AUTHORING_RESULT_MAX_MESSAGE_LENGTH) {
306
+ return message;
195
307
  }
196
- return (React.createElement(Wizard, { key: GoalAuthoringStage.WORKSPACE, title: GoalAuthoringCopy.title, steps: WORKSPACE_STEPS, onConfirm: handleWorkspaceConfirm, onCancel: onCancel, onBack: () => setStage(GoalAuthoringStage.SEQUENCING), initialValues: workspaceValues, dispatchError: dispatchError, disabled: disabled, progressLabel: AUTHORING_PROGRESS_LABELS[GoalAuthoringStage.WORKSPACE] }));
308
+ return `${message.slice(0, GOAL_AUTHORING_RESULT_MAX_MESSAGE_LENGTH - 3)}...`;
197
309
  }
198
310
  function buildCriteriaSteps(criterionNumber) {
199
311
  return [
@@ -216,4 +328,50 @@ function buildCriteriaSteps(criterionNumber) {
216
328
  },
217
329
  ];
218
330
  }
331
+ function buildScopeSteps(scopeFieldKey, itemNumber) {
332
+ const isScopeIn = scopeFieldKey === GoalAuthoringFieldKey.SCOPE_IN;
333
+ return [
334
+ {
335
+ title: `${isScopeIn
336
+ ? GoalAuthoringCopy.scope.scopeInTitlePrefix
337
+ : GoalAuthoringCopy.scope.scopeOutTitlePrefix} ${itemNumber}`,
338
+ description: GoalAuthoringCopy.scope.description,
339
+ fields: [
340
+ {
341
+ key: scopeFieldKey,
342
+ label: isScopeIn
343
+ ? GoalAuthoringCopy.scope.fields.scopeIn
344
+ : GoalAuthoringCopy.scope.fields.scopeOut,
345
+ placeholder: isScopeIn
346
+ ? GoalAuthoringCopy.scope.fields.scopeInPlaceholder
347
+ : GoalAuthoringCopy.scope.fields.scopeOutPlaceholder,
348
+ required: false,
349
+ },
350
+ {
351
+ key: scopeAddAnotherFieldKey(scopeFieldKey),
352
+ label: isScopeIn
353
+ ? GoalAuthoringCopy.scope.fields.addAnotherScopeIn
354
+ : GoalAuthoringCopy.scope.fields.addAnotherScopeOut,
355
+ kind: WizardFieldKind.YES_NO,
356
+ defaultValue: GoalAuthoringCriterionValue.NO,
357
+ },
358
+ ],
359
+ },
360
+ ];
361
+ }
362
+ function scopeAddAnotherFieldKey(scopeFieldKey) {
363
+ return scopeFieldKey === GoalAuthoringFieldKey.SCOPE_IN
364
+ ? GoalAuthoringFieldKey.ADD_ANOTHER_SCOPE_IN
365
+ : GoalAuthoringFieldKey.ADD_ANOTHER_SCOPE_OUT;
366
+ }
367
+ function replaceScopeItem(items, index, item) {
368
+ const nextItems = [...items];
369
+ if (item.trim().length === 0) {
370
+ nextItems.splice(index, 1);
371
+ }
372
+ else {
373
+ nextItems[index] = item;
374
+ }
375
+ return nextItems;
376
+ }
219
377
  //# sourceMappingURL=GoalAuthoringFlow.js.map