@parhelia/core 0.3.12816 → 0.3.12822
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/config.js +2 -12
- package/dist/config/config.js.map +1 -1
- package/dist/editor/ContentTree.d.ts +1 -1
- package/dist/editor/ContentTree.js +25 -3
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js +4 -4
- package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js +1 -1
- package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentStopCommand.js +16 -14
- package/dist/editor/ai/terminal/useAgentStopCommand.js.map +1 -1
- package/dist/editor/client/EditorShell.js +20 -4
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/hooks/activeSessionSnapshots.js +0 -2
- package/dist/editor/client/hooks/activeSessionSnapshots.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +2 -2
- package/dist/editor/client/hooks/useSocketMessageHandler.js +43 -29
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/operations.js +12 -3
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/media-selector/Thumbnails.js +23 -10
- package/dist/editor/media-selector/Thumbnails.js.map +1 -1
- package/dist/editor/media-selector/mediaItemDrag.d.ts +22 -5
- package/dist/editor/media-selector/mediaItemDrag.js +108 -10
- package/dist/editor/media-selector/mediaItemDrag.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +13 -0
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeInsertModeExit.d.ts +22 -0
- package/dist/editor/page-viewer/bridgeInsertModeExit.js +20 -0
- package/dist/editor/page-viewer/bridgeInsertModeExit.js.map +1 -0
- package/dist/editor/reviews/DecisionsMatrix.js +8 -75
- package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
- package/dist/editor/settings/QuotaInfo.js +3 -2
- package/dist/editor/settings/QuotaInfo.js.map +1 -1
- package/dist/editor/settings/SettingsView.js +6 -5
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/UsageLeaderboard.js +12 -12
- package/dist/editor/settings/UsageLeaderboard.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +45 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/sidebar/ComponentTree.js +12 -1
- package/dist/editor/sidebar/ComponentTree.js.map +1 -1
- package/dist/editor/tree-indicators/GutterContext.js +14 -8
- package/dist/editor/tree-indicators/GutterContext.js.map +1 -1
- package/dist/lib/sanitize.js +1 -1
- package/dist/lib/sanitize.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/task-board/TaskBoardWorkspace.js +186 -7
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CreateTaskDialog.d.ts +2 -0
- package/dist/task-board/components/CreateTaskDialog.js +6 -3
- package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
- package/dist/task-board/components/GoalCoverageBar.d.ts +4 -0
- package/dist/task-board/components/GoalCoverageBar.js +22 -0
- package/dist/task-board/components/GoalCoverageBar.js.map +1 -0
- package/dist/task-board/components/GoalDataView.d.ts +39 -0
- package/dist/task-board/components/GoalDataView.js +385 -0
- package/dist/task-board/components/GoalDataView.js.map +1 -0
- package/dist/task-board/components/GoalsMatrix.d.ts +16 -0
- package/dist/task-board/components/GoalsMatrix.js +129 -0
- package/dist/task-board/components/GoalsMatrix.js.map +1 -0
- package/dist/task-board/components/ProjectDashboard.d.ts +1 -1
- package/dist/task-board/components/ProjectGoalsPanel.d.ts +16 -0
- package/dist/task-board/components/ProjectGoalsPanel.js +74 -113
- package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
- package/dist/task-board/components/SubgoalStatusIcon.d.ts +4 -0
- package/dist/task-board/components/SubgoalStatusIcon.js +19 -0
- package/dist/task-board/components/SubgoalStatusIcon.js.map +1 -0
- package/dist/task-board/components/goalDisplaySpec.d.ts +19 -0
- package/dist/task-board/components/goalDisplaySpec.js +72 -0
- package/dist/task-board/components/goalDisplaySpec.js.map +1 -0
- package/dist/task-board/goalRefreshState.d.ts +6 -0
- package/dist/task-board/goalRefreshState.js +11 -0
- package/dist/task-board/goalRefreshState.js.map +1 -0
- package/dist/task-board/goalTaskNavigationState.d.ts +43 -0
- package/dist/task-board/goalTaskNavigationState.js +65 -0
- package/dist/task-board/goalTaskNavigationState.js.map +1 -0
- package/dist/task-board/types.d.ts +6 -0
- package/dist/types.d.ts +0 -2
- package/package.json +2 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const initialGoalTaskNavigationState = {
|
|
2
|
+
pending: null,
|
|
3
|
+
outcome: { kind: "none" },
|
|
4
|
+
};
|
|
5
|
+
function sameId(left, right) {
|
|
6
|
+
return left?.toLowerCase() === right.toLowerCase();
|
|
7
|
+
}
|
|
8
|
+
export function reduceGoalTaskNavigation(state, action) {
|
|
9
|
+
switch (action.type) {
|
|
10
|
+
case "request": {
|
|
11
|
+
const isCurrentProject = sameId(action.currentProjectId, action.projectId);
|
|
12
|
+
const existingTask = isCurrentProject
|
|
13
|
+
? action.currentTaskIds.find((taskId) => sameId(taskId, action.taskId))
|
|
14
|
+
: undefined;
|
|
15
|
+
if (existingTask) {
|
|
16
|
+
return {
|
|
17
|
+
pending: null,
|
|
18
|
+
outcome: { kind: "select", taskId: existingTask },
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (isCurrentProject &&
|
|
22
|
+
action.inFlightGeneration === undefined &&
|
|
23
|
+
action.latestIssuedGeneration > 0) {
|
|
24
|
+
return { pending: null, outcome: { kind: "missing" } };
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
pending: {
|
|
28
|
+
projectId: action.projectId,
|
|
29
|
+
taskId: action.taskId,
|
|
30
|
+
requiredGeneration: action.inFlightGeneration ?? action.latestIssuedGeneration + 1,
|
|
31
|
+
},
|
|
32
|
+
outcome: {
|
|
33
|
+
kind: "load",
|
|
34
|
+
projectId: action.projectId,
|
|
35
|
+
switchProject: !isCurrentProject,
|
|
36
|
+
refresh: isCurrentProject && action.inFlightGeneration === undefined,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
case "projectSelected":
|
|
41
|
+
return {
|
|
42
|
+
pending: state.pending && sameId(action.projectId, state.pending.projectId)
|
|
43
|
+
? state.pending
|
|
44
|
+
: null,
|
|
45
|
+
outcome: { kind: "none" },
|
|
46
|
+
};
|
|
47
|
+
case "tasksLoaded": {
|
|
48
|
+
if (!state.pending ||
|
|
49
|
+
!sameId(action.projectId, state.pending.projectId) ||
|
|
50
|
+
action.generation < state.pending.requiredGeneration) {
|
|
51
|
+
return { ...state, outcome: { kind: "none" } };
|
|
52
|
+
}
|
|
53
|
+
const matchedTask = action.taskIds.find((taskId) => sameId(taskId, state.pending.taskId));
|
|
54
|
+
return {
|
|
55
|
+
pending: null,
|
|
56
|
+
outcome: matchedTask
|
|
57
|
+
? { kind: "select", taskId: matchedTask }
|
|
58
|
+
: { kind: "missing" },
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
case "cancel":
|
|
62
|
+
return initialGoalTaskNavigationState;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=goalTaskNavigationState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goalTaskNavigationState.js","sourceRoot":"","sources":["../../src/task-board/goalTaskNavigationState.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,9 @@ export type GoalData = unknown;
|
|
|
65
65
|
export type GoalCoverage = {
|
|
66
66
|
total: number;
|
|
67
67
|
done: number;
|
|
68
|
+
inProgress: number;
|
|
69
|
+
failed: number;
|
|
70
|
+
pending: number;
|
|
68
71
|
skipped: number;
|
|
69
72
|
hasMeasurableSubgoals: boolean;
|
|
70
73
|
percent?: number | null;
|
|
@@ -115,12 +118,15 @@ export type GoalDefinition = {
|
|
|
115
118
|
sortOrder?: number;
|
|
116
119
|
defaultScopeJson?: string | null;
|
|
117
120
|
dataShape?: string | null;
|
|
121
|
+
displaySpec?: string | null;
|
|
118
122
|
};
|
|
119
123
|
export type ProjectGoalsResponse = {
|
|
120
124
|
projectId: string;
|
|
121
125
|
includeDescendants: boolean;
|
|
122
126
|
goals: Goal[];
|
|
123
127
|
catalog: GoalDefinition[];
|
|
128
|
+
/** Raw Display Spec JSON keyed by source goal-definition id, including disabled definitions. */
|
|
129
|
+
displaySpecs?: Record<string, string>;
|
|
124
130
|
/** Effective permission per project id in scope (row-by-row edit gating). */
|
|
125
131
|
permissions: Record<string, ProjectPermission | string>;
|
|
126
132
|
};
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parhelia/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.12822",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -95,6 +95,7 @@
|
|
|
95
95
|
"follow-redirects": "^1.16.0",
|
|
96
96
|
"html-entities": "^2.6.0",
|
|
97
97
|
"html2canvas-pro": "^2.2.0",
|
|
98
|
+
"isomorphic-dompurify": "3.19.0",
|
|
98
99
|
"lucide-react": "^0.486.0",
|
|
99
100
|
"morphdom": "^2.7.5",
|
|
100
101
|
"postcss": "^8.5.14",
|