jumbo-cli 3.19.0 → 3.21.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 (91) hide show
  1. package/dist/application/context/relations/audit/AmbiguousRelationNodeFinding.d.ts +6 -0
  2. package/dist/application/context/relations/audit/AmbiguousRelationNodeFinding.d.ts.map +1 -0
  3. package/dist/application/context/relations/audit/AmbiguousRelationNodeFinding.js +2 -0
  4. package/dist/application/context/relations/audit/AmbiguousRelationNodeFinding.js.map +1 -0
  5. package/dist/application/context/relations/audit/AuditRelationsController.d.ts +13 -0
  6. package/dist/application/context/relations/audit/AuditRelationsController.d.ts.map +1 -0
  7. package/dist/application/context/relations/audit/AuditRelationsController.js +15 -0
  8. package/dist/application/context/relations/audit/AuditRelationsController.js.map +1 -0
  9. package/dist/application/context/relations/audit/AuditRelationsRequest.d.ts +6 -0
  10. package/dist/application/context/relations/audit/AuditRelationsRequest.d.ts.map +1 -0
  11. package/dist/application/context/relations/audit/AuditRelationsRequest.js +2 -0
  12. package/dist/application/context/relations/audit/AuditRelationsRequest.js.map +1 -0
  13. package/dist/application/context/relations/audit/DanglingRelationFinding.d.ts +8 -0
  14. package/dist/application/context/relations/audit/DanglingRelationFinding.d.ts.map +1 -0
  15. package/dist/application/context/relations/audit/DanglingRelationFinding.js +2 -0
  16. package/dist/application/context/relations/audit/DanglingRelationFinding.js.map +1 -0
  17. package/dist/application/context/relations/audit/IRelationNodeCatalog.d.ts +5 -0
  18. package/dist/application/context/relations/audit/IRelationNodeCatalog.d.ts.map +1 -0
  19. package/dist/application/context/relations/audit/IRelationNodeCatalog.js +2 -0
  20. package/dist/application/context/relations/audit/IRelationNodeCatalog.js.map +1 -0
  21. package/dist/application/context/relations/audit/InactiveOnlyRelationNodeFinding.d.ts +8 -0
  22. package/dist/application/context/relations/audit/InactiveOnlyRelationNodeFinding.d.ts.map +1 -0
  23. package/dist/application/context/relations/audit/InactiveOnlyRelationNodeFinding.js +2 -0
  24. package/dist/application/context/relations/audit/InactiveOnlyRelationNodeFinding.js.map +1 -0
  25. package/dist/application/context/relations/audit/IsolatedRelationNodeFinding.d.ts +7 -0
  26. package/dist/application/context/relations/audit/IsolatedRelationNodeFinding.d.ts.map +1 -0
  27. package/dist/application/context/relations/audit/IsolatedRelationNodeFinding.js +2 -0
  28. package/dist/application/context/relations/audit/IsolatedRelationNodeFinding.js.map +1 -0
  29. package/dist/application/context/relations/audit/RelationAuditPolicy.d.ts +15 -0
  30. package/dist/application/context/relations/audit/RelationAuditPolicy.d.ts.map +1 -0
  31. package/dist/application/context/relations/audit/RelationAuditPolicy.js +131 -0
  32. package/dist/application/context/relations/audit/RelationAuditPolicy.js.map +1 -0
  33. package/dist/application/context/relations/audit/RelationAuditResult.d.ts +30 -0
  34. package/dist/application/context/relations/audit/RelationAuditResult.d.ts.map +1 -0
  35. package/dist/application/context/relations/audit/RelationAuditResult.js +2 -0
  36. package/dist/application/context/relations/audit/RelationAuditResult.js.map +1 -0
  37. package/dist/application/context/relations/audit/RelationAuditSummary.d.ts +13 -0
  38. package/dist/application/context/relations/audit/RelationAuditSummary.d.ts.map +1 -0
  39. package/dist/application/context/relations/audit/RelationAuditSummary.js +2 -0
  40. package/dist/application/context/relations/audit/RelationAuditSummary.js.map +1 -0
  41. package/dist/application/context/relations/audit/RelationNodeCatalogEntry.d.ts +8 -0
  42. package/dist/application/context/relations/audit/RelationNodeCatalogEntry.d.ts.map +1 -0
  43. package/dist/application/context/relations/audit/RelationNodeCatalogEntry.js +2 -0
  44. package/dist/application/context/relations/audit/RelationNodeCatalogEntry.js.map +1 -0
  45. package/dist/application/host/IApplicationContainer.d.ts +4 -0
  46. package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
  47. package/dist/domain/relations/Constants.d.ts +8 -0
  48. package/dist/domain/relations/Constants.d.ts.map +1 -1
  49. package/dist/domain/relations/Constants.js +8 -0
  50. package/dist/domain/relations/Constants.js.map +1 -1
  51. package/dist/infrastructure/context/relations/audit/SqliteRelationNodeCatalog.d.ts +11 -0
  52. package/dist/infrastructure/context/relations/audit/SqliteRelationNodeCatalog.d.ts.map +1 -0
  53. package/dist/infrastructure/context/relations/audit/SqliteRelationNodeCatalog.js +36 -0
  54. package/dist/infrastructure/context/relations/audit/SqliteRelationNodeCatalog.js.map +1 -0
  55. package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
  56. package/dist/infrastructure/host/HostBuilder.js +8 -0
  57. package/dist/infrastructure/host/HostBuilder.js.map +1 -1
  58. package/dist/presentation/cli/commands/registry/generated-commands.d.ts.map +1 -1
  59. package/dist/presentation/cli/commands/registry/generated-commands.js +6 -0
  60. package/dist/presentation/cli/commands/registry/generated-commands.js.map +1 -1
  61. package/dist/presentation/cli/commands/relations/audit/RelationAuditOutputBuilder.d.ts +11 -0
  62. package/dist/presentation/cli/commands/relations/audit/RelationAuditOutputBuilder.d.ts.map +1 -0
  63. package/dist/presentation/cli/commands/relations/audit/RelationAuditOutputBuilder.js +91 -0
  64. package/dist/presentation/cli/commands/relations/audit/RelationAuditOutputBuilder.js.map +1 -0
  65. package/dist/presentation/cli/commands/relations/audit/relations.audit.d.ts +8 -0
  66. package/dist/presentation/cli/commands/relations/audit/relations.audit.d.ts.map +1 -0
  67. package/dist/presentation/cli/commands/relations/audit/relations.audit.js +58 -0
  68. package/dist/presentation/cli/commands/relations/audit/relations.audit.js.map +1 -0
  69. package/dist/presentation/tui/application-shell/App.d.ts.map +1 -1
  70. package/dist/presentation/tui/application-shell/App.js +24 -20
  71. package/dist/presentation/tui/application-shell/App.js.map +1 -1
  72. package/dist/presentation/tui/goals/AddGoalRequestFactory.d.ts +4 -4
  73. package/dist/presentation/tui/goals/AddGoalRequestFactory.js +9 -6
  74. package/dist/presentation/tui/goals/AddGoalRequestFactory.js.map +1 -1
  75. package/dist/presentation/tui/goals/GoalAuthoringFlow.d.ts +13 -6
  76. package/dist/presentation/tui/goals/GoalAuthoringFlow.d.ts.map +1 -1
  77. package/dist/presentation/tui/goals/GoalAuthoringFlow.js +194 -36
  78. package/dist/presentation/tui/goals/GoalAuthoringFlow.js.map +1 -1
  79. package/dist/presentation/tui/goals/GoalAuthoringFlowConstants.d.ts +33 -4
  80. package/dist/presentation/tui/goals/GoalAuthoringFlowConstants.d.ts.map +1 -1
  81. package/dist/presentation/tui/goals/GoalAuthoringFlowConstants.js +32 -4
  82. package/dist/presentation/tui/goals/GoalAuthoringFlowConstants.js.map +1 -1
  83. package/dist/presentation/tui/goals/GoalsScreen.d.ts.map +1 -1
  84. package/dist/presentation/tui/goals/GoalsScreen.js +32 -22
  85. package/dist/presentation/tui/goals/GoalsScreen.js.map +1 -1
  86. package/dist/presentation/tui/wizard/Wizard.js +1 -1
  87. package/dist/presentation/tui/wizard/Wizard.js.map +1 -1
  88. package/dist/presentation/tui/wizard/WizardTextInput.d.ts.map +1 -1
  89. package/dist/presentation/tui/wizard/WizardTextInput.js +5 -3
  90. package/dist/presentation/tui/wizard/WizardTextInput.js.map +1 -1
  91. package/package.json +1 -1
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"GoalAuthoringFlow.js","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/GoalAuthoringFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,iCAAiC,CAAC;AAezC,MAAM,aAAa,GAAoC;IACrD;QACE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK;QACtC,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,WAAW;QAClD,MAAM,EAAE;YACN;gBACE,GAAG,EAAE,qBAAqB,CAAC,KAAK;gBAChC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;gBAC7C,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB;aAC/D;YACD;gBACE,GAAG,EAAE,qBAAqB,CAAC,SAAS;gBACpC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS;gBACjD,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB;aACnE;SACF;KACF;CACO,CAAC;AAEX,MAAM,WAAW,GAAoC;IACnD;QACE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK;QACpC,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,WAAW;QAChD,MAAM,EAAE;YACN;gBACE,GAAG,EAAE,qBAAqB,CAAC,QAAQ;gBACnC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;gBAC7C,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB;gBAC9D,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,GAAG,EAAE,qBAAqB,CAAC,SAAS;gBACpC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ;gBAC9C,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;gBAC/D,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;CACO,CAAC;AAEX,MAAM,gBAAgB,GAAoC;IACxD;QACE,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,KAAK;QACzC,WAAW,EAAE,iBAAiB,CAAC,UAAU,CAAC,WAAW;QACrD,MAAM,EAAE;YACN;gBACE,GAAG,EAAE,qBAAqB,CAAC,aAAa;gBACxC,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY;gBACvD,WAAW,EACT,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,uBAAuB;gBAC7D,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,GAAG,EAAE,qBAAqB,CAAC,SAAS;gBACpC,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ;gBACnD,WAAW,EAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB;gBACpE,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,GAAG,EAAE,qBAAqB,CAAC,kBAAkB;gBAC7C,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB;gBAC5D,WAAW,EACT,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,4BAA4B;gBAClE,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;CACO,CAAC;AAEX,MAAM,eAAe,GAAoC;IACvD;QACE,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAAK;QACxC,WAAW,EAAE,iBAAiB,CAAC,SAAS,CAAC,WAAW;QACpD,MAAM,EAAE;YACN;gBACE,GAAG,EAAE,qBAAqB,CAAC,MAAM;gBACjC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;gBAChD,WAAW,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB;gBACjE,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,GAAG,EAAE,qBAAqB,CAAC,QAAQ;gBACnC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ;gBAClD,WAAW,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB;gBACnE,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;CACO,CAAC;AASX,MAAM,UAAU,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,aAAa,GAAG,IAAI,EACpB,QAAQ,GAAG,KAAK,GACO;IACvB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,kBAAkB,CAAC,OAAO,CAC3B,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC;QAC7C,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;IACH,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC;QACvD,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,EAAE;QACZ,iBAAiB,EAAE,EAAE;KACtB,CAAC,CAAC;IACH,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC;QACrD,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,iBAAiB,GAAG,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,EACzC,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,MAA8B,EAAE,EAAE;QAC9D,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,YAAY,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxB,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,MAA8B,EAAE,EAAE;QAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,mBAAmB,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;QACjD,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;QACnD,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QAExC,IACE,MAAM,CAAC,qBAAqB,CAAC,qBAAqB,CAAC;YACnD,2BAA2B,CAAC,GAAG,EAC/B,CAAC;YACD,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;YAC5C,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,MAA8B,EAAE,EAAE;QAC5D,cAAc,CAAC;YACb,OAAO,EAAE,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE;YACrD,QAAQ,EAAE,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,EAAE;SACxD,CAAC,CAAC;QACH,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,MAA8B,EAAE,EAAE;QACjE,mBAAmB,CAAC;YAClB,YAAY,EAAE,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAI,EAAE;YAC/D,QAAQ,EAAE,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,EAAE;YACvD,iBAAiB,EACf,MAAM,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,EAAE;SACzD,CAAC,CAAC;QACH,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,MAA8B,EAAE,EAAE;QAChE,MAAM,mBAAmB,GAAG;YAC1B,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE;YAClD,QAAQ,EAAE,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE;SACvD,CAAC;QACF,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QACxC,UAAU,CAAC;YACT,KAAK;YACL,SAAS;YACT,eAAe;YACf,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;YACnC,YAAY,EAAE,gBAAgB,CAAC,YAAY;YAC3C,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;YACrD,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;SACvC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC1B,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;YAC5C,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,IAAI,KAAK,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;QACzC,OAAO,CACL,oBAAC,MAAM,IACL,GAAG,EAAE,kBAAkB,CAAC,OAAO,EAC/B,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAC9B,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EACnC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,OAAO,CAAC,GACpE,CACH,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QAC1C,OAAO,CACL,oBAAC,MAAM,IACL,GAAG,EAAE,YAAY,SAAS,EAAE,EAC5B,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAC9B,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,kBAAkB,EAC1B,aAAa,EAAE;gBACb,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAC/B,eAAe,CAAC,iBAAiB,CAAC,IAAI,EAAE;gBAC1C,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,EAC3C,iBAAiB,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC;oBAC5C,CAAC,CAAC,2BAA2B,CAAC,GAAG;oBACjC,CAAC,CAAC,2BAA2B,CAAC,EAAE;aACrC,EACD,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GACrE,CACH,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACvC,OAAO,CACL,oBAAC,MAAM,IACL,GAAG,EAAE,kBAAkB,CAAC,KAAK,EAC7B,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,WAAW,EAC1B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAClE,CACH,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,kBAAkB,CAAC,UAAU,EAAE,CAAC;QAC5C,OAAO,CACL,oBAAC,MAAM,IACL,GAAG,EAAE,kBAAkB,CAAC,UAAU,EAClC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAC9B,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,uBAAuB,EAClC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,oBAAoB,EAC5B,aAAa,EAAE,gBAAgB,EAC/B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,UAAU,CAAC,GACvE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,oBAAC,MAAM,IACL,GAAG,EAAE,kBAAkB,CAAC,SAAS,EACjC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAC9B,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,sBAAsB,EACjC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,EACrD,aAAa,EAAE,eAAe,EAC9B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,SAAS,CAAC,GACtE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,eAAuB;IAEvB,OAAO;QACL;YACE,KAAK,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,WAAW,IAAI,eAAe,EAAE;YACrE,WAAW,EAAE,iBAAiB,CAAC,QAAQ,CAAC,WAAW;YACnD,MAAM,EAAE;gBACN;oBACE,GAAG,EAAE,qBAAqB,CAAC,SAAS;oBACpC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB;oBAClD,WAAW,EAAE,iBAAiB,CAAC,QAAQ,CAAC,2BAA2B;iBACpE;gBACD;oBACE,GAAG,EAAE,qBAAqB,CAAC,qBAAqB;oBAChD,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,mBAAmB;oBACrD,IAAI,EAAE,eAAe,CAAC,MAAM;oBAC5B,YAAY,EAAE,2BAA2B,CAAC,EAAE;iBAC7C;aACF;SACF;KACO,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"GoalAuthoringFlow.js","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/GoalAuthoringFlow.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ export declare const GoalAuthoringFieldKey: {
11
11
  readonly OBJECTIVE: "objective";
12
12
  readonly SCOPE_IN: "scopeIn";
13
13
  readonly SCOPE_OUT: "scopeOut";
14
+ readonly ADD_ANOTHER_SCOPE_IN: "addAnotherScopeIn";
15
+ readonly ADD_ANOTHER_SCOPE_OUT: "addAnotherScopeOut";
14
16
  readonly PREVIOUS_GOAL: "previousGoal";
15
17
  readonly NEXT_GOAL: "nextGoal";
16
18
  readonly PREREQUISITE_GOALS: "prerequisiteGoals";
@@ -32,11 +34,14 @@ export declare const GoalAuthoringCopy: {
32
34
  };
33
35
  };
34
36
  readonly scope: {
35
- readonly title: "Scope";
36
- readonly description: "Identify the work area and boundaries that keep the goal focused.";
37
+ readonly scopeInTitlePrefix: "Scope in item";
38
+ readonly scopeOutTitlePrefix: "Scope out item";
39
+ readonly description: "Add each work area or boundary as a separate item.";
37
40
  readonly fields: {
38
- readonly scopeIn: "Scope in (optional)";
39
- readonly scopeOut: "Scope out (optional)";
41
+ readonly scopeIn: "Scope in item (optional)";
42
+ readonly scopeOut: "Scope out item (optional)";
43
+ readonly addAnotherScopeIn: "Add another scope-in item?";
44
+ readonly addAnotherScopeOut: "Add another scope-out item?";
40
45
  readonly scopeInPlaceholder: "e.g. src/presentation/tui/goals";
41
46
  readonly scopeOutPlaceholder: "e.g. src/application";
42
47
  };
@@ -75,5 +80,29 @@ export declare const GoalAuthoringCriterionValue: {
75
80
  readonly YES: "yes";
76
81
  readonly NO: "no";
77
82
  };
83
+ export declare const GoalAuthoringRequestStatus: {
84
+ readonly PENDING: "pending";
85
+ readonly SUCCESS: "success";
86
+ readonly FAILURE: "failure";
87
+ };
88
+ export type GoalAuthoringRequestStatusValue = (typeof GoalAuthoringRequestStatus)[keyof typeof GoalAuthoringRequestStatus];
89
+ export declare const GoalAuthoringResultInteractionKey: {
90
+ readonly ACKNOWLEDGE: "enter";
91
+ readonly CANCEL: "esc";
92
+ };
93
+ export declare const GoalAuthoringResultCopy: {
94
+ readonly title: "Goal Request";
95
+ readonly statusLabel: "Status";
96
+ readonly goalIdLabel: "Goal ID";
97
+ readonly errorLabel: "Error";
98
+ readonly pending: "Submitting goal request...";
99
+ readonly success: "Goal created successfully.";
100
+ readonly failure: "Goal creation failed.";
101
+ readonly acknowledge: "continue";
102
+ readonly retry: "retry";
103
+ readonly cancel: "cancel";
104
+ };
105
+ export declare const GOAL_AUTHORING_RESULT_PANEL_WIDTH = 88;
106
+ export declare const GOAL_AUTHORING_RESULT_MAX_MESSAGE_LENGTH = 512;
78
107
  export declare const AUTHORING_PROGRESS_LABELS: Readonly<Record<GoalAuthoringStageValue, string>>;
79
108
  //# sourceMappingURL=GoalAuthoringFlowConstants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoalAuthoringFlowConstants.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/GoalAuthoringFlowConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;CAYxB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDpB,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;CAG9B,CAAC;AAEX,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAC9C,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAOxC,CAAC"}
1
+ {"version":3,"file":"GoalAuthoringFlowConstants.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/GoalAuthoringFlowConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;CAcxB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DpB,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;CAG9B,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX,MAAM,MAAM,+BAA+B,GACzC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,OAAO,0BAA0B,CAAC,CAAC;AAE/E,eAAO,MAAM,iCAAiC;;;CAGpC,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;CAW1B,CAAC;AAEX,eAAO,MAAM,iCAAiC,KAAK,CAAC;AACpD,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAE5D,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAC9C,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAOxC,CAAC"}
@@ -10,6 +10,8 @@ export const GoalAuthoringFieldKey = {
10
10
  OBJECTIVE: "objective",
11
11
  SCOPE_IN: "scopeIn",
12
12
  SCOPE_OUT: "scopeOut",
13
+ ADD_ANOTHER_SCOPE_IN: "addAnotherScopeIn",
14
+ ADD_ANOTHER_SCOPE_OUT: "addAnotherScopeOut",
13
15
  PREVIOUS_GOAL: "previousGoal",
14
16
  NEXT_GOAL: "nextGoal",
15
17
  PREREQUISITE_GOALS: "prerequisiteGoals",
@@ -31,11 +33,14 @@ export const GoalAuthoringCopy = {
31
33
  },
32
34
  },
33
35
  scope: {
34
- title: "Scope",
35
- description: "Identify the work area and boundaries that keep the goal focused.",
36
+ scopeInTitlePrefix: "Scope in item",
37
+ scopeOutTitlePrefix: "Scope out item",
38
+ description: "Add each work area or boundary as a separate item.",
36
39
  fields: {
37
- scopeIn: "Scope in (optional)",
38
- scopeOut: "Scope out (optional)",
40
+ scopeIn: "Scope in item (optional)",
41
+ scopeOut: "Scope out item (optional)",
42
+ addAnotherScopeIn: "Add another scope-in item?",
43
+ addAnotherScopeOut: "Add another scope-out item?",
39
44
  scopeInPlaceholder: "e.g. src/presentation/tui/goals",
40
45
  scopeOutPlaceholder: "e.g. src/application",
41
46
  },
@@ -74,6 +79,29 @@ export const GoalAuthoringCriterionValue = {
74
79
  YES: "yes",
75
80
  NO: "no",
76
81
  };
82
+ export const GoalAuthoringRequestStatus = {
83
+ PENDING: "pending",
84
+ SUCCESS: "success",
85
+ FAILURE: "failure",
86
+ };
87
+ export const GoalAuthoringResultInteractionKey = {
88
+ ACKNOWLEDGE: "enter",
89
+ CANCEL: "esc",
90
+ };
91
+ export const GoalAuthoringResultCopy = {
92
+ title: "Goal Request",
93
+ statusLabel: "Status",
94
+ goalIdLabel: "Goal ID",
95
+ errorLabel: "Error",
96
+ pending: "Submitting goal request...",
97
+ success: "Goal created successfully.",
98
+ failure: "Goal creation failed.",
99
+ acknowledge: "continue",
100
+ retry: "retry",
101
+ cancel: "cancel",
102
+ };
103
+ export const GOAL_AUTHORING_RESULT_PANEL_WIDTH = 88;
104
+ export const GOAL_AUTHORING_RESULT_MAX_MESSAGE_LENGTH = 512;
77
105
  export const AUTHORING_PROGRESS_LABELS = {
78
106
  [GoalAuthoringStage.DETAILS]: "1/5",
79
107
  [GoalAuthoringStage.CRITERIA]: "2/5",
@@ -1 +1 @@
1
- {"version":3,"file":"GoalAuthoringFlowConstants.js","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/GoalAuthoringFlowConstants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;CACd,CAAC;AAKX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,UAAU;IACrB,aAAa,EAAE,cAAc;IAC7B,SAAS,EAAE,UAAU;IACrB,kBAAkB,EAAE,mBAAmB;IACvC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,qBAAqB,EAAE,qBAAqB;CACpC,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE;QACP,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,kEAAkE;QACpE,MAAM,EAAE;YACN,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,WAAW;YACtB,gBAAgB,EAAE,kCAAkC;YACpD,oBAAoB,EAAE,iCAAiC;SACxD;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;QACd,WAAW,EACT,mEAAmE;QACrE,MAAM,EAAE;YACN,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,sBAAsB;YAChC,kBAAkB,EAAE,iCAAiC;YACrD,mBAAmB,EAAE,sBAAsB;SAC5C;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,oEAAoE;QACtE,MAAM,EAAE;YACN,YAAY,EAAE,0BAA0B;YACxC,QAAQ,EAAE,sBAAsB;YAChC,iBAAiB,EAAE,+BAA+B;YAClD,uBAAuB,EAAE,eAAe;YACxC,mBAAmB,EAAE,eAAe;YACpC,4BAA4B,EAAE,oBAAoB;SACnD;KACF;IACD,SAAS,EAAE;QACT,KAAK,EAAE,WAAW;QAClB,WAAW,EACT,wEAAwE;QAC1E,MAAM,EAAE;YACN,MAAM,EAAE,mBAAmB;YAC3B,QAAQ,EAAE,qBAAqB;YAC/B,iBAAiB,EAAE,qCAAqC;YACxD,mBAAmB,EAAE,sCAAsC;SAC5D;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,WAAW;QACxB,WAAW,EACT,6EAA6E;QAC/E,gBAAgB,EAAE,mBAAmB;QACrC,2BAA2B,EACzB,oDAAoD;QACtD,mBAAmB,EAAE,wBAAwB;KAC9C;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,GAAG,EAAE,KAAK;IACV,EAAE,EAAE,IAAI;CACA,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAElC;IACF,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,KAAK;IACnC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,KAAK;IACpC,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,KAAK;IACjC,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,KAAK;IACtC,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,KAAK;CACtC,CAAC"}
1
+ {"version":3,"file":"GoalAuthoringFlowConstants.js","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/GoalAuthoringFlowConstants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GoalsScreen.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/GoalsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAOzE,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAErF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2DAA2D,CAAC;AAcjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAmEjF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAClD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAC5C,cAAc,EACd,eAAe,CAChB,CAAC;IACF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACxD;AA0BD,wBAAgB,WAAW,CAAC,EAC1B,YAAY,EACZ,aAAa,EACb,gBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,GAClB,GAAE,gBAAqB,GAAG,KAAK,CAAC,YAAY,CA0O5C"}
1
+ {"version":3,"file":"GoalsScreen.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/goals/GoalsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAOzE,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2DAA2D,CAAC;AAkBjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAmEjF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAClD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAC5C,cAAc,EACd,eAAe,CAChB,CAAC;IACF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACxD;AA0BD,wBAAgB,WAAW,CAAC,EAC1B,YAAY,EACZ,aAAa,EACb,gBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,GAClB,GAAE,gBAAqB,GAAG,KAAK,CAAC,YAAY,CAgQ5C"}
@@ -1,10 +1,11 @@
1
1
  import React, { useCallback, useEffect, useMemo, useState } from "react";
2
2
  import { Box, Text, useInput } from "ink";
3
3
  import { BaseColors, SemanticColors, TuiGlyphs, } from "../../shared/DesignTokens.js";
4
- import { GoalStatus } from "../../../domain/goals/Constants.js";
4
+ import { GoalStatus, } from "../../../domain/goals/Constants.js";
5
5
  import { KeyBadge } from "../ui-primitives/KeyBadge.js";
6
6
  import { HorizontalRule } from "../ui-primitives/HorizontalRule.js";
7
7
  import { GoalAuthoringFlow } from "./GoalAuthoringFlow.js";
8
+ import { GoalAuthoringRequestStatus } from "./GoalAuthoringFlowConstants.js";
8
9
  import { AddGoalRequestFactory } from "./AddGoalRequestFactory.js";
9
10
  import { ActionDispatcher } from "../action-dispatch/ActionDispatcher.js";
10
11
  import { useGoalContext } from "../state-reading/useGoalContext.js";
@@ -37,8 +38,6 @@ export function GoalsScreen({ statusFilter, terminalWidth, shortcutsEnabled = tr
37
38
  const [sectionPageFlowIndex, setSectionPageFlowIndex] = useState(0);
38
39
  const [filterIndex, setFilterIndex] = useState(0);
39
40
  const [authoringOpen, setAuthoringOpen] = useState(false);
40
- const [authoringError, setAuthoringError] = useState(null);
41
- const [authoringWorking, setAuthoringWorking] = useState(false);
42
41
  const activeFilter = GOAL_STATUS_FILTERS[filterIndex];
43
42
  const requestedStatusFilter = useMemo(() => statusFilter ??
44
43
  (activeFilter === GOAL_STATUS_FILTER_ALL
@@ -59,9 +58,11 @@ export function GoalsScreen({ statusFilter, terminalWidth, shortcutsEnabled = tr
59
58
  ? toGoalListEntry(contextualGoal)
60
59
  : selectedGoal;
61
60
  const activeContext = contextualGoal !== undefined && contextualGoal.goalId === selectedGoal?.id
62
- ? goalContext.data?.contextualGoalView.context ?? EMPTY_GOAL_CONTEXT
61
+ ? (goalContext.data?.contextualGoalView.context ?? EMPTY_GOAL_CONTEXT)
63
62
  : EMPTY_GOAL_CONTEXT;
64
- const sections = useMemo(() => (activeGoal === undefined ? [] : buildGoalSections(activeGoal, activeContext)), [activeContext, activeGoal]);
63
+ const sections = useMemo(() => activeGoal === undefined
64
+ ? []
65
+ : buildGoalSections(activeGoal, activeContext), [activeContext, activeGoal]);
65
66
  const sectionPages = useMemo(() => sections.flatMap(toGoalSectionPages), [sections]);
66
67
  const activeSectionPage = sectionPages[sectionPageFlowIndex] ?? sectionPages[0];
67
68
  const filterLabel = statusFilter?.join(", ") ?? activeFilter;
@@ -100,7 +101,6 @@ export function GoalsScreen({ statusFilter, terminalWidth, shortcutsEnabled = tr
100
101
  return;
101
102
  }
102
103
  if (input === "n" || input === "N" || input === "a" || input === "A") {
103
- setAuthoringError(null);
104
104
  updateAuthoringOpen(true);
105
105
  return;
106
106
  }
@@ -126,26 +126,32 @@ export function GoalsScreen({ statusFilter, terminalWidth, shortcutsEnabled = tr
126
126
  });
127
127
  const handleAuthoringComplete = async (values) => {
128
128
  if (addGoalController === undefined) {
129
- setAuthoringError(GoalsScreenCopy.authoringUnavailable);
130
- return;
129
+ return {
130
+ status: GoalAuthoringRequestStatus.FAILURE,
131
+ error: GoalsScreenCopy.authoringUnavailable,
132
+ };
131
133
  }
132
- setAuthoringWorking(true);
133
- setAuthoringError(null);
134
134
  const result = await ActionDispatcher.dispatch(addGoalController, AddGoalRequestFactory.create(values));
135
- setAuthoringWorking(false);
136
135
  if (!result.ok) {
137
- setAuthoringError(result.error.message);
138
- return;
136
+ return {
137
+ status: GoalAuthoringRequestStatus.FAILURE,
138
+ error: result.error.message,
139
+ };
139
140
  }
140
- updateAuthoringOpen(false);
141
+ return {
142
+ status: GoalAuthoringRequestStatus.SUCCESS,
143
+ goalId: result.response.goalId,
144
+ };
145
+ };
146
+ const handleAuthoringAcknowledged = async (_goalId) => {
141
147
  await goalsList.refresh();
148
+ updateAuthoringOpen(false);
142
149
  };
143
150
  const handleAuthoringCancel = () => {
144
- setAuthoringError(null);
145
151
  updateAuthoringOpen(false);
146
152
  };
147
153
  if (authoringOpen) {
148
- return (React.createElement(GoalAuthoringFlow, { onComplete: handleAuthoringComplete, onCancel: handleAuthoringCancel, dispatchError: authoringError, disabled: authoringWorking }));
154
+ return (React.createElement(GoalAuthoringFlow, { onComplete: handleAuthoringComplete, onSuccessAcknowledged: handleAuthoringAcknowledged, onCancel: handleAuthoringCancel }));
149
155
  }
150
156
  return (React.createElement(Box, { flexDirection: "column", paddingTop: 1 },
151
157
  React.createElement(Box, { flexDirection: "column", paddingX: 1 },
@@ -157,7 +163,9 @@ export function GoalsScreen({ statusFilter, terminalWidth, shortcutsEnabled = tr
157
163
  React.createElement(Text, { color: SemanticColors.label },
158
164
  GoalsScreenCopy.showingLabel,
159
165
  " "),
160
- React.createElement(Text, { color: SemanticColors.primary }, selectedGoal ? `${selectedIndex + 1}/${visibleGoals.length}` : "0/0"),
166
+ React.createElement(Text, { color: SemanticColors.primary }, selectedGoal
167
+ ? `${selectedIndex + 1}/${visibleGoals.length}`
168
+ : "0/0"),
161
169
  React.createElement(KeyBadge, { char: "\u2191\u2193" })),
162
170
  React.createElement(Box, null,
163
171
  React.createElement(Text, { color: SemanticColors.label },
@@ -170,7 +178,8 @@ export function GoalsScreen({ statusFilter, terminalWidth, shortcutsEnabled = tr
170
178
  React.createElement(GoalHeading, { goal: activeGoal }),
171
179
  React.createElement(SectionHeading, { section: activeSectionPage.section, pageIndex: activeSectionPage.pageIndex, totalPages: activeSectionPage.totalPages }),
172
180
  goalContext.loading && goalContext.data === null && (React.createElement(Text, { color: SemanticColors.muted }, GoalsScreenCopy.loadingContext)),
173
- React.createElement(GoalSectionRows, { rows: activeSectionPage.rows, emptyText: activeSectionPage.section.emptyText ?? GoalsScreenCopy.emptyFieldValue }))))));
181
+ React.createElement(GoalSectionRows, { rows: activeSectionPage.rows, emptyText: activeSectionPage.section.emptyText ??
182
+ GoalsScreenCopy.emptyFieldValue }))))));
174
183
  }
175
184
  function GoalHeading({ goal, }) {
176
185
  return (React.createElement(Box, { flexDirection: "column" },
@@ -262,7 +271,10 @@ function buildGoalSections(goal, context) {
262
271
  },
263
272
  textSection("note", GoalsScreenCopy.sections.note, goal.note),
264
273
  textSection("reviewIssues", GoalsScreenCopy.sections.reviewIssues, goal.reviewIssues),
265
- listSection("successCriteria", GoalsScreenCopy.sections.successCriteria, goal.criteria.map((criterion) => ({ value: criterion, marker: "bullet" }))),
274
+ listSection("successCriteria", GoalsScreenCopy.sections.successCriteria, goal.criteria.map((criterion) => ({
275
+ value: criterion,
276
+ marker: "bullet",
277
+ }))),
266
278
  listSection("currentProgress", GoalsScreenCopy.sections.currentProgress, goal.progress.map((progress) => ({ value: progress, marker: "bullet" }))),
267
279
  listSection("scope", GoalsScreenCopy.sections.scope, [
268
280
  ...goal.scopeIn.map((scopeItem) => ({
@@ -290,9 +302,7 @@ function textSection(key, title, value) {
290
302
  key,
291
303
  title,
292
304
  paginated: false,
293
- rows: value === undefined || value.trim().length === 0
294
- ? []
295
- : [{ value }],
305
+ rows: value === undefined || value.trim().length === 0 ? [] : [{ value }],
296
306
  };
297
307
  }
298
308
  function listSection(key, title, rows) {