@roackb2/heddle 1.1.0 → 1.2.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.
- package/dist/src/cli/ask.d.ts.map +1 -1
- package/dist/src/cli/ask.js +11 -1
- package/dist/src/cli/ask.js.map +1 -1
- package/dist/src/cli/chat/App.d.ts.map +1 -1
- package/dist/src/cli/chat/App.js +11 -143
- package/dist/src/cli/chat/App.js.map +1 -1
- package/dist/src/cli/chat/adapters/slash-command-context.js +1 -1
- package/dist/src/cli/chat/adapters/slash-command-context.js.map +1 -1
- package/dist/src/cli/chat/hooks/{tui-agent-turn-lifecycle.d.ts → controllers/run/tui-agent-turn-lifecycle.d.ts} +1 -1
- package/dist/src/cli/chat/hooks/controllers/run/tui-agent-turn-lifecycle.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/controllers/run/tui-agent-turn-lifecycle.js.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-agent-turn-result.d.ts → controllers/run/tui-agent-turn-result.d.ts} +4 -4
- package/dist/src/cli/chat/hooks/controllers/run/tui-agent-turn-result.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-agent-turn-result.js → controllers/run/tui-agent-turn-result.js} +6 -6
- package/dist/src/cli/chat/hooks/controllers/run/tui-agent-turn-result.js.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-compaction-status.d.ts → controllers/run/tui-compaction-status.d.ts} +4 -4
- package/dist/src/cli/chat/hooks/controllers/run/tui-compaction-status.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-compaction-status.js → controllers/run/tui-compaction-status.js} +1 -1
- package/dist/src/cli/chat/hooks/controllers/run/tui-compaction-status.js.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-direct-shell-result.d.ts → controllers/run/tui-direct-shell-result.d.ts} +3 -3
- package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell-result.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-direct-shell-result.js → controllers/run/tui-direct-shell-result.js} +3 -3
- package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell-result.js.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-direct-shell.d.ts → controllers/run/tui-direct-shell.d.ts} +5 -5
- package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-direct-shell.js → controllers/run/tui-direct-shell.js} +9 -8
- package/dist/src/cli/chat/hooks/controllers/run/tui-direct-shell.js.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-drift-observer.d.ts → controllers/run/tui-drift-observer.d.ts} +3 -3
- package/dist/src/cli/chat/hooks/controllers/run/tui-drift-observer.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-drift-observer.js → controllers/run/tui-drift-observer.js} +2 -2
- package/dist/src/cli/chat/hooks/controllers/run/tui-drift-observer.js.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-ordinary-turn.d.ts → controllers/run/tui-ordinary-turn.d.ts} +5 -5
- package/dist/src/cli/chat/hooks/controllers/run/tui-ordinary-turn.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-ordinary-turn.js → controllers/run/tui-ordinary-turn.js} +2 -2
- package/dist/src/cli/chat/hooks/controllers/run/tui-ordinary-turn.js.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-run-loop-events.d.ts → controllers/run/tui-run-loop-events.d.ts} +4 -4
- package/dist/src/cli/chat/hooks/controllers/run/tui-run-loop-events.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-run-loop-events.js → controllers/run/tui-run-loop-events.js} +4 -4
- package/dist/src/cli/chat/hooks/controllers/run/tui-run-loop-events.js.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-tool-approval.d.ts → controllers/run/tui-tool-approval.d.ts} +3 -3
- package/dist/src/cli/chat/hooks/controllers/run/tui-tool-approval.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/{tui-tool-approval.js → controllers/run/tui-tool-approval.js} +4 -4
- package/dist/src/cli/chat/hooks/controllers/run/tui-tool-approval.js.map +1 -0
- package/dist/src/cli/chat/hooks/{useAgentRun.d.ts → controllers/useAgentRunController.d.ts} +9 -9
- package/dist/src/cli/chat/hooks/controllers/useAgentRunController.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/{useAgentRun.js → controllers/useAgentRunController.js} +14 -14
- package/dist/src/cli/chat/hooks/controllers/useAgentRunController.js.map +1 -0
- package/dist/src/cli/chat/hooks/controllers/useChatAppController.d.ts +24 -0
- package/dist/src/cli/chat/hooks/controllers/useChatAppController.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/controllers/useChatAppController.js +174 -0
- package/dist/src/cli/chat/hooks/controllers/useChatAppController.js.map +1 -0
- package/dist/src/cli/chat/hooks/{usePromptSubmission.d.ts → controllers/usePromptSubmissionController.d.ts} +7 -7
- package/dist/src/cli/chat/hooks/controllers/usePromptSubmissionController.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/{usePromptSubmission.js → controllers/usePromptSubmissionController.js} +4 -4
- package/dist/src/cli/chat/hooks/controllers/usePromptSubmissionController.js.map +1 -0
- package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts +1 -1
- package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useChatSessions.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useChatSessions.js +49 -77
- package/dist/src/cli/chat/hooks/useChatSessions.js.map +1 -1
- package/dist/src/cli/chat/submit.js +1 -1
- package/dist/src/cli/chat/submit.js.map +1 -1
- package/dist/src/cli/session.js +1 -1
- package/dist/src/cli/session.js.map +1 -1
- package/dist/src/core/awareness/domains/coding/collectors/project-signals.d.ts +12 -0
- package/dist/src/core/awareness/domains/coding/collectors/project-signals.d.ts.map +1 -0
- package/dist/src/core/awareness/domains/coding/collectors/project-signals.js +187 -0
- package/dist/src/core/awareness/domains/coding/collectors/project-signals.js.map +1 -0
- package/dist/src/core/awareness/domains/coding/collectors/workspace.d.ts +3 -1
- package/dist/src/core/awareness/domains/coding/collectors/workspace.d.ts.map +1 -1
- package/dist/src/core/awareness/domains/coding/collectors/workspace.js +20 -11
- package/dist/src/core/awareness/domains/coding/collectors/workspace.js.map +1 -1
- package/dist/src/core/awareness/domains/coding/detectors/go.d.ts +3 -0
- package/dist/src/core/awareness/domains/coding/detectors/go.d.ts.map +1 -0
- package/dist/src/core/awareness/domains/coding/detectors/go.js +48 -0
- package/dist/src/core/awareness/domains/coding/detectors/go.js.map +1 -0
- package/dist/src/core/awareness/domains/coding/detectors/javascript.d.ts +3 -0
- package/dist/src/core/awareness/domains/coding/detectors/javascript.d.ts.map +1 -0
- package/dist/src/core/awareness/domains/coding/detectors/javascript.js +90 -0
- package/dist/src/core/awareness/domains/coding/detectors/javascript.js.map +1 -0
- package/dist/src/core/awareness/domains/coding/detectors/python.d.ts +3 -0
- package/dist/src/core/awareness/domains/coding/detectors/python.d.ts.map +1 -0
- package/dist/src/core/awareness/domains/coding/detectors/python.js +79 -0
- package/dist/src/core/awareness/domains/coding/detectors/python.js.map +1 -0
- package/dist/src/core/awareness/domains/coding/detectors/types.d.ts +18 -0
- package/dist/src/core/awareness/domains/coding/detectors/types.d.ts.map +1 -0
- package/dist/src/core/awareness/domains/coding/detectors/types.js +2 -0
- package/dist/src/core/awareness/domains/coding/detectors/types.js.map +1 -0
- package/dist/src/core/awareness/domains/coding/format.d.ts.map +1 -1
- package/dist/src/core/awareness/domains/coding/format.js +6 -0
- package/dist/src/core/awareness/domains/coding/format.js.map +1 -1
- package/dist/src/core/awareness/domains/coding/provider.d.ts.map +1 -1
- package/dist/src/core/awareness/domains/coding/provider.js +18 -1
- package/dist/src/core/awareness/domains/coding/provider.js.map +1 -1
- package/dist/src/core/awareness/domains/coding/types.d.ts +68 -1
- package/dist/src/core/awareness/domains/coding/types.d.ts.map +1 -1
- package/dist/src/core/awareness/types.d.ts +1 -1
- package/dist/src/core/awareness/types.d.ts.map +1 -1
- package/dist/src/core/chat/engine/sessions/{storage.d.ts → repository/file-chat-session-repository.d.ts} +16 -18
- package/dist/src/core/chat/engine/sessions/repository/file-chat-session-repository.d.ts.map +1 -0
- package/dist/src/core/chat/engine/sessions/{storage.js → repository/file-chat-session-repository.js} +62 -51
- package/dist/src/core/chat/engine/sessions/repository/file-chat-session-repository.js.map +1 -0
- package/dist/src/core/chat/engine/sessions/service.d.ts +6 -1
- package/dist/src/core/chat/engine/sessions/service.d.ts.map +1 -1
- package/dist/src/core/chat/engine/sessions/service.js +95 -13
- package/dist/src/core/chat/engine/sessions/service.js.map +1 -1
- package/dist/src/core/chat/engine/sessions/session-record.d.ts +15 -0
- package/dist/src/core/chat/engine/sessions/session-record.d.ts.map +1 -0
- package/dist/src/core/chat/engine/sessions/session-record.js +59 -0
- package/dist/src/core/chat/engine/sessions/session-record.js.map +1 -0
- package/dist/src/core/chat/engine/turns/context.js +1 -1
- package/dist/src/core/chat/engine/turns/context.js.map +1 -1
- package/dist/src/core/chat/engine/turns/memory-maintenance.d.ts.map +1 -1
- package/dist/src/core/chat/engine/turns/memory-maintenance.js +2 -1
- package/dist/src/core/chat/engine/turns/memory-maintenance.js.map +1 -1
- package/dist/src/core/chat/engine/turns/persistence.d.ts.map +1 -1
- package/dist/src/core/chat/engine/turns/persistence.js +2 -1
- package/dist/src/core/chat/engine/turns/persistence.js.map +1 -1
- package/dist/src/core/chat/engine/turns/preflight.d.ts.map +1 -1
- package/dist/src/core/chat/engine/turns/preflight.js +2 -1
- package/dist/src/core/chat/engine/turns/preflight.js.map +1 -1
- package/dist/src/core/chat/engine/turns/result.js +1 -1
- package/dist/src/core/chat/engine/turns/result.js.map +1 -1
- package/dist/src/core/chat/engine/turns/run-conversation-turn.d.ts.map +1 -1
- package/dist/src/core/chat/engine/turns/run-conversation-turn.js +2 -1
- package/dist/src/core/chat/engine/turns/run-conversation-turn.js.map +1 -1
- package/dist/src/core/chat/engine/turns/service.js +1 -1
- package/dist/src/core/chat/engine/turns/service.js.map +1 -1
- package/dist/src/core/chat/engine/types.d.ts +1 -0
- package/dist/src/core/chat/engine/types.d.ts.map +1 -1
- package/dist/src/core/tools/toolkits/coding-awareness/project-dashboard.d.ts.map +1 -1
- package/dist/src/core/tools/toolkits/coding-awareness/project-dashboard.js +9 -4
- package/dist/src/core/tools/toolkits/coding-awareness/project-dashboard.js.map +1 -1
- package/dist/src/server/features/control-plane/services/chat-sessions.d.ts.map +1 -1
- package/dist/src/server/features/control-plane/services/chat-sessions.js +11 -1
- package/dist/src/server/features/control-plane/services/chat-sessions.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.js.map +0 -1
- package/dist/src/cli/chat/hooks/tui-agent-turn-result.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/tui-agent-turn-result.js.map +0 -1
- package/dist/src/cli/chat/hooks/tui-compaction-status.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/tui-compaction-status.js.map +0 -1
- package/dist/src/cli/chat/hooks/tui-direct-shell-result.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/tui-direct-shell-result.js.map +0 -1
- package/dist/src/cli/chat/hooks/tui-direct-shell.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/tui-direct-shell.js.map +0 -1
- package/dist/src/cli/chat/hooks/tui-drift-observer.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/tui-drift-observer.js.map +0 -1
- package/dist/src/cli/chat/hooks/tui-ordinary-turn.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/tui-ordinary-turn.js.map +0 -1
- package/dist/src/cli/chat/hooks/tui-run-loop-events.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/tui-run-loop-events.js.map +0 -1
- package/dist/src/cli/chat/hooks/tui-tool-approval.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/tui-tool-approval.js.map +0 -1
- package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/useAgentRun.js.map +0 -1
- package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts.map +0 -1
- package/dist/src/cli/chat/hooks/usePromptSubmission.js.map +0 -1
- package/dist/src/cli/chat/state/storage.d.ts +0 -2
- package/dist/src/cli/chat/state/storage.d.ts.map +0 -1
- package/dist/src/cli/chat/state/storage.js +0 -2
- package/dist/src/cli/chat/state/storage.js.map +0 -1
- package/dist/src/core/chat/engine/sessions/storage.d.ts.map +0 -1
- package/dist/src/core/chat/engine/sessions/storage.js.map +0 -1
- /package/dist/src/cli/chat/hooks/{tui-agent-turn-lifecycle.js → controllers/run/tui-agent-turn-lifecycle.js} +0 -0
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* CLI host session hook.
|
|
3
|
+
*
|
|
4
|
+
* Boundary rule:
|
|
5
|
+
* - this hook should be a React-facing adapter over core session services;
|
|
6
|
+
* - it should not own session storage mechanics or session collection policy.
|
|
7
|
+
*
|
|
8
|
+
* Current compromise:
|
|
9
|
+
* this hook still keeps React state for host rendering and local selection.
|
|
10
|
+
* The intended long-term shape is for hosts to stay thin adapters over core
|
|
11
|
+
* services while storage and session semantics remain behind the engine
|
|
12
|
+
* boundary.
|
|
13
|
+
*/
|
|
14
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
15
|
import { resolveWorkspaceContext } from '../../../core/runtime/workspaces.js';
|
|
4
16
|
import { resolveNewSessionExecutionPreferences } from '../../../core/chat/engine/sessions/preferences/service.js';
|
|
17
|
+
import { createConversationSessionService, summarizeConversationSession, } from '../../../core/chat/engine/sessions/service.js';
|
|
5
18
|
export function useChatSessions({ sessionCatalogFile, apiKeyPresent, defaultModel, workspaceRoot, stateRoot }) {
|
|
6
19
|
const workspaceId = useMemo(() => resolveWorkspaceContext({ workspaceRoot, stateRoot }).activeWorkspace.id, [workspaceRoot, stateRoot]);
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}, [sessionCatalogFile,
|
|
20
|
+
const sessionService = useMemo(() => createConversationSessionService({
|
|
21
|
+
config: {
|
|
22
|
+
workspaceRoot,
|
|
23
|
+
stateRoot,
|
|
24
|
+
sessionStoragePath: sessionCatalogFile,
|
|
25
|
+
model: defaultModel,
|
|
26
|
+
apiKeyPresent,
|
|
27
|
+
workspaceId,
|
|
28
|
+
},
|
|
29
|
+
}), [apiKeyPresent, defaultModel, sessionCatalogFile, stateRoot, workspaceId, workspaceRoot]);
|
|
30
|
+
const initialSessions = useMemo(() => sessionService.list(), [sessionService]);
|
|
31
|
+
const [sessions, setSessions] = useState(initialSessions);
|
|
32
|
+
const [activeSessionId, setActiveSessionId] = useState(() => initialSessions[0]?.id ?? 'session-1');
|
|
17
33
|
useEffect(() => {
|
|
18
34
|
if (!sessions.some((session) => session.id === activeSessionId) && sessions[0]) {
|
|
19
35
|
setActiveSessionId(sessions[0].id);
|
|
20
36
|
}
|
|
21
37
|
}, [activeSessionId, sessions]);
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
if (sessions.length > 0) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const fallback = createChatSession({
|
|
27
|
-
id: 'session-1',
|
|
28
|
-
name: 'Session 1',
|
|
29
|
-
apiKeyPresent,
|
|
30
|
-
...resolveNewSessionExecutionPreferences({
|
|
31
|
-
defaultModel,
|
|
32
|
-
}),
|
|
33
|
-
workspaceId,
|
|
34
|
-
});
|
|
35
|
-
setSessions([fallback]);
|
|
36
|
-
setActiveSessionId(fallback.id);
|
|
37
|
-
}, [apiKeyPresent, defaultModel, sessions, workspaceId]);
|
|
38
38
|
const activeSession = useMemo(() => sessions.find((session) => session.id === activeSessionId) ?? sessions[0], [activeSessionId, sessions]);
|
|
39
39
|
const recentSessions = useMemo(() => [...sessions].sort((left, right) => right.updatedAt.localeCompare(left.updatedAt)).slice(0, 8), [sessions]);
|
|
40
|
-
const activeSessionSummary = activeSession ?
|
|
40
|
+
const activeSessionSummary = activeSession ? summarizeConversationSession(activeSession) : undefined;
|
|
41
41
|
const listRecentSessionsMessage = recentSessions.length > 0 ?
|
|
42
42
|
[
|
|
43
43
|
'Recent sessions:',
|
|
@@ -47,14 +47,12 @@ export function useChatSessions({ sessionCatalogFile, apiKeyPresent, defaultMode
|
|
|
47
47
|
]
|
|
48
48
|
: ['No saved sessions yet.'];
|
|
49
49
|
const updateSessionById = useCallback((sessionId, updater) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}));
|
|
57
|
-
}, []);
|
|
50
|
+
const updated = sessionService.update(sessionId, updater);
|
|
51
|
+
if (!updated) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
setSessions(sessionService.list());
|
|
55
|
+
}, [sessionService]);
|
|
58
56
|
const updateActiveSession = useCallback((updater) => {
|
|
59
57
|
updateSessionById(activeSessionId, updater);
|
|
60
58
|
}, [activeSessionId, updateSessionById]);
|
|
@@ -68,50 +66,37 @@ export function useChatSessions({ sessionCatalogFile, apiKeyPresent, defaultMode
|
|
|
68
66
|
}));
|
|
69
67
|
}, [updateSessionById]);
|
|
70
68
|
const createSession = useCallback((name, preferences) => {
|
|
71
|
-
const id = `session-${Date.now()}`;
|
|
72
69
|
const nextPreferences = resolveNewSessionExecutionPreferences({
|
|
73
70
|
defaultModel,
|
|
74
71
|
inherited: preferences,
|
|
75
72
|
});
|
|
76
|
-
const nextSession =
|
|
77
|
-
id
|
|
78
|
-
name
|
|
73
|
+
const nextSession = sessionService.create({
|
|
74
|
+
id: `session-${Date.now()}`,
|
|
75
|
+
name,
|
|
79
76
|
apiKeyPresent,
|
|
80
77
|
...nextPreferences,
|
|
81
78
|
workspaceId,
|
|
82
79
|
});
|
|
83
|
-
setSessions((
|
|
84
|
-
setActiveSessionId(id);
|
|
80
|
+
setSessions(sessionService.list().slice(0, 24));
|
|
81
|
+
setActiveSessionId(nextSession.id);
|
|
85
82
|
return nextSession;
|
|
86
|
-
}, [apiKeyPresent, defaultModel, workspaceId]);
|
|
83
|
+
}, [apiKeyPresent, defaultModel, sessionService, workspaceId]);
|
|
87
84
|
const renameSession = useCallback((name) => {
|
|
88
85
|
updateActiveSession((session) => ({ ...session, name }));
|
|
89
86
|
}, [updateActiveSession]);
|
|
90
87
|
const removeSession = useCallback((id) => {
|
|
91
88
|
const removedActive = id === activeSessionId;
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return [
|
|
99
|
-
createChatSession({
|
|
100
|
-
id: 'session-1',
|
|
101
|
-
name: 'Session 1',
|
|
102
|
-
apiKeyPresent,
|
|
103
|
-
...resolveNewSessionExecutionPreferences({
|
|
104
|
-
defaultModel,
|
|
105
|
-
}),
|
|
106
|
-
workspaceId,
|
|
107
|
-
}),
|
|
108
|
-
];
|
|
109
|
-
});
|
|
89
|
+
const deleted = sessionService.delete(id);
|
|
90
|
+
if (!deleted) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
const nextSessions = sessionService.list();
|
|
94
|
+
setSessions(nextSessions);
|
|
110
95
|
if (removedActive) {
|
|
111
|
-
setActiveSessionId(
|
|
96
|
+
setActiveSessionId(nextSessions[0]?.id ?? 'session-1');
|
|
112
97
|
}
|
|
113
98
|
return removedActive;
|
|
114
|
-
}, [activeSessionId,
|
|
99
|
+
}, [activeSessionId, sessionService]);
|
|
115
100
|
return {
|
|
116
101
|
sessions,
|
|
117
102
|
activeSessionId,
|
|
@@ -128,17 +113,4 @@ export function useChatSessions({ sessionCatalogFile, apiKeyPresent, defaultMode
|
|
|
128
113
|
removeSession,
|
|
129
114
|
};
|
|
130
115
|
}
|
|
131
|
-
function getNextSessionNumber(sessions) {
|
|
132
|
-
const highestGenericNumber = sessions.reduce((highest, session) => {
|
|
133
|
-
if (!isGenericSessionName(session.name)) {
|
|
134
|
-
return highest;
|
|
135
|
-
}
|
|
136
|
-
const parsed = Number.parseInt(session.name.replace(/^Session\s+/, ''), 10);
|
|
137
|
-
if (!Number.isFinite(parsed)) {
|
|
138
|
-
return highest;
|
|
139
|
-
}
|
|
140
|
-
return Math.max(highest, parsed);
|
|
141
|
-
}, 0);
|
|
142
|
-
return highestGenericNumber + 1;
|
|
143
|
-
}
|
|
144
116
|
//# sourceMappingURL=useChatSessions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatSessions.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/useChatSessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useChatSessions.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/useChatSessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { runLocalCommand } from './state/local-commands.js';
|
|
2
2
|
import { buildCompactionRunningContext, compactChatHistoryWithArchive } from './state/compaction.js';
|
|
3
|
-
import { createInitialMessages } from '
|
|
3
|
+
import { createInitialMessages } from '../../core/chat/engine/sessions/session-record.js';
|
|
4
4
|
import { buildConversationMessages, normalizeInlineText } from './utils/format.js';
|
|
5
5
|
export async function submitChatPrompt(args) {
|
|
6
6
|
const prompt = normalizeInlineText(args.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/cli/chat/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/cli/chat/submit.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/session.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
|
-
import { deriveSessionStoragePaths, migrateLegacyChatSessions } from '../core/chat/engine/sessions/
|
|
3
|
+
import { deriveSessionStoragePaths, migrateLegacyChatSessions } from '../core/chat/engine/sessions/repository/file-chat-session-repository.js';
|
|
4
4
|
export async function runSessionCli(args, options = {}) {
|
|
5
5
|
const parsed = parseSessionArgs(args);
|
|
6
6
|
if (parsed.command !== 'migrate') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,yEAAyE,CAAC;AAO/I,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc,EAAE,UAA6B,EAAE;IACjF,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAE/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB;QACE,YAAY,QAAQ,CAAC,MAAM,iBAAiB;QAC5C,gBAAgB,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,OAAO,KAAK,CAAC,UAAU,EAAE;QAClF,YAAY,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,KAAK,CAAC,WAAW,EAAE;QACtH,0BAA0B,KAAK,CAAC,WAAW,EAAE;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CACpB,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACvB,OAAO;QACL,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACvD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AwarenessLimit, AwarenessSource } from '../../../types.js';
|
|
2
|
+
import type { CodingInspectionSurface, CodingProjectSignals, CodingWorkingEnvironment } from '../types.js';
|
|
3
|
+
export declare function collectCodingProjectSignals(input: {
|
|
4
|
+
workspaceRoot: string;
|
|
5
|
+
environment: CodingWorkingEnvironment;
|
|
6
|
+
}): Promise<{
|
|
7
|
+
projectSignals: CodingProjectSignals;
|
|
8
|
+
inspectionSurfaces: CodingInspectionSurface[];
|
|
9
|
+
sources: AwarenessSource[];
|
|
10
|
+
limits: AwarenessLimit[];
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=project-signals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-signals.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/awareness/domains/coding/collectors/project-signals.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAyBrB,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,wBAAwB,CAAC;CACvC,GAAG,OAAO,CAAC;IACV,cAAc,EAAE,oBAAoB,CAAC;IACrC,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;IAC9C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B,CAAC,CAkFD"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { readdir, readFile } from 'node:fs/promises';
|
|
2
|
+
import { goProjectDetector } from '../detectors/go.js';
|
|
3
|
+
import { javascriptProjectDetector } from '../detectors/javascript.js';
|
|
4
|
+
import { pythonProjectDetector } from '../detectors/python.js';
|
|
5
|
+
import { OMITTED_PATH_SEGMENTS } from './git.js';
|
|
6
|
+
const DIRECTORY_ROLES = {
|
|
7
|
+
source: ['src', 'lib', 'app', 'cmd', 'internal', 'pkg'],
|
|
8
|
+
tests: ['test', 'tests', '__tests__'],
|
|
9
|
+
docs: ['docs'],
|
|
10
|
+
examples: ['examples'],
|
|
11
|
+
scripts: ['scripts'],
|
|
12
|
+
config: ['config', '.github'],
|
|
13
|
+
};
|
|
14
|
+
const SUPPORTED_PROJECT_DETECTORS = [
|
|
15
|
+
javascriptProjectDetector,
|
|
16
|
+
pythonProjectDetector,
|
|
17
|
+
goProjectDetector,
|
|
18
|
+
];
|
|
19
|
+
export async function collectCodingProjectSignals(input) {
|
|
20
|
+
const sources = [];
|
|
21
|
+
const limits = [];
|
|
22
|
+
const observedDirectories = {
|
|
23
|
+
source: [],
|
|
24
|
+
tests: [],
|
|
25
|
+
docs: [],
|
|
26
|
+
examples: [],
|
|
27
|
+
scripts: [],
|
|
28
|
+
config: [],
|
|
29
|
+
};
|
|
30
|
+
let dirents;
|
|
31
|
+
try {
|
|
32
|
+
dirents = await readdir(input.workspaceRoot, { withFileTypes: true });
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
limits.push({
|
|
36
|
+
kind: 'unavailable',
|
|
37
|
+
subject: 'project signals',
|
|
38
|
+
detail: `Could not read workspace root entries: ${error instanceof Error ? error.message : String(error)}`,
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
projectSignals: {
|
|
42
|
+
detectedProjects: [],
|
|
43
|
+
observedDirectories,
|
|
44
|
+
configFiles: [],
|
|
45
|
+
},
|
|
46
|
+
inspectionSurfaces: buildInspectionSurfaces({
|
|
47
|
+
projectSignals: {
|
|
48
|
+
detectedProjects: [],
|
|
49
|
+
observedDirectories,
|
|
50
|
+
configFiles: [],
|
|
51
|
+
},
|
|
52
|
+
environment: input.environment,
|
|
53
|
+
}),
|
|
54
|
+
sources,
|
|
55
|
+
limits,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
const visibleDirents = dirents.filter((dirent) => !OMITTED_PATH_SEGMENTS.has(dirent.name));
|
|
59
|
+
const rootEntries = visibleDirents.map((dirent) => dirent.name).sort();
|
|
60
|
+
for (const dirent of visibleDirents) {
|
|
61
|
+
if (!dirent.isDirectory()) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
for (const [role, names] of Object.entries(DIRECTORY_ROLES)) {
|
|
65
|
+
if (names.includes(dirent.name)) {
|
|
66
|
+
observedDirectories[role].push(dirent.name);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const detectorInput = {
|
|
71
|
+
workspaceRoot: input.workspaceRoot,
|
|
72
|
+
rootEntries,
|
|
73
|
+
readText: (relativePath) => readWorkspaceText(input.workspaceRoot, relativePath),
|
|
74
|
+
};
|
|
75
|
+
const contributions = (await Promise.all(SUPPORTED_PROJECT_DETECTORS.map((detector) => detector.detect(detectorInput)))).filter((value) => value !== null);
|
|
76
|
+
const projectSignals = mergeProjectSignals(contributions, observedDirectories);
|
|
77
|
+
for (const contribution of contributions) {
|
|
78
|
+
sources.push(...contribution.sources);
|
|
79
|
+
limits.push(...contribution.limits);
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
projectSignals,
|
|
83
|
+
inspectionSurfaces: buildInspectionSurfaces({
|
|
84
|
+
projectSignals,
|
|
85
|
+
environment: input.environment,
|
|
86
|
+
}),
|
|
87
|
+
sources: dedupeSources(sources),
|
|
88
|
+
limits,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
async function readWorkspaceText(workspaceRoot, relativePath) {
|
|
92
|
+
try {
|
|
93
|
+
return await readFile(`${workspaceRoot}/${relativePath}`, 'utf8');
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function mergeProjectSignals(contributions, observedDirectories) {
|
|
100
|
+
const detectedProjects = new Map();
|
|
101
|
+
const configFiles = new Set();
|
|
102
|
+
for (const contribution of contributions) {
|
|
103
|
+
detectedProjects.set(contribution.project.kind, contribution.project);
|
|
104
|
+
for (const configFile of contribution.configFiles) {
|
|
105
|
+
configFiles.add(configFile);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const normalizedObservedDirectories = normalizeObservedDirectories(observedDirectories);
|
|
109
|
+
return {
|
|
110
|
+
detectedProjects: [...detectedProjects.values()].sort((left, right) => left.kind.localeCompare(right.kind)),
|
|
111
|
+
observedDirectories: normalizedObservedDirectories,
|
|
112
|
+
configFiles: [...configFiles].sort(),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function buildInspectionSurfaces(args) {
|
|
116
|
+
const surfaces = [];
|
|
117
|
+
const manifestPaths = args.projectSignals.detectedProjects
|
|
118
|
+
.flatMap((project) => project.manifests.map((manifest) => manifest.path));
|
|
119
|
+
if (manifestPaths.length > 0) {
|
|
120
|
+
surfaces.push({
|
|
121
|
+
kind: 'manifest',
|
|
122
|
+
paths: manifestPaths.sort(),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
for (const [role, paths] of Object.entries(args.projectSignals.observedDirectories)) {
|
|
126
|
+
if (paths.length === 0) {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
surfaces.push({
|
|
130
|
+
kind: 'directory',
|
|
131
|
+
role,
|
|
132
|
+
paths,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
if (args.projectSignals.configFiles.length > 0) {
|
|
136
|
+
surfaces.push({
|
|
137
|
+
kind: 'config_file',
|
|
138
|
+
paths: args.projectSignals.configFiles,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
const verificationLabels = args.projectSignals.detectedProjects
|
|
142
|
+
.flatMap((project) => project.verificationSurfaces.map((surface) => surface.label));
|
|
143
|
+
if (verificationLabels.length > 0) {
|
|
144
|
+
surfaces.push({
|
|
145
|
+
kind: 'verification_surface',
|
|
146
|
+
labels: verificationLabels.sort(),
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
const dirtyCounts = {
|
|
150
|
+
staged: args.environment.paths.staged.length,
|
|
151
|
+
modified: args.environment.paths.modified.length,
|
|
152
|
+
deleted: args.environment.paths.deleted.length,
|
|
153
|
+
untracked: args.environment.paths.untracked.length,
|
|
154
|
+
renamed: args.environment.paths.renamed.length,
|
|
155
|
+
};
|
|
156
|
+
if (Object.values(dirtyCounts).some((count) => count > 0)) {
|
|
157
|
+
surfaces.push({
|
|
158
|
+
kind: 'dirty_paths',
|
|
159
|
+
counts: dirtyCounts,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
return surfaces;
|
|
163
|
+
}
|
|
164
|
+
function dedupeSources(sources) {
|
|
165
|
+
const seen = new Set();
|
|
166
|
+
const deduped = [];
|
|
167
|
+
for (const source of sources) {
|
|
168
|
+
const key = `${source.kind}|${source.command ?? ''}|${source.path ?? ''}|${source.note ?? ''}`;
|
|
169
|
+
if (seen.has(key)) {
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
seen.add(key);
|
|
173
|
+
deduped.push(source);
|
|
174
|
+
}
|
|
175
|
+
return deduped;
|
|
176
|
+
}
|
|
177
|
+
function normalizeObservedDirectories(observedDirectories) {
|
|
178
|
+
return {
|
|
179
|
+
source: [...observedDirectories.source].sort(),
|
|
180
|
+
tests: [...observedDirectories.tests].sort(),
|
|
181
|
+
docs: [...observedDirectories.docs].sort(),
|
|
182
|
+
examples: [...observedDirectories.examples].sort(),
|
|
183
|
+
scripts: [...observedDirectories.scripts].sort(),
|
|
184
|
+
config: [...observedDirectories.config].sort(),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=project-signals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-signals.js","sourceRoot":"","sources":["../../../../../../../src/core/awareness/domains/coding/collectors/project-signals.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AwarenessCollectInput, AwarenessLimit, AwarenessSource } from '../../../types.js';
|
|
2
|
-
import type { CodingWorkingEnvironment, CodingWorkspaceTree } from '../types.js';
|
|
2
|
+
import type { CodingInspectionSurface, CodingProjectSignals, CodingWorkingEnvironment, CodingWorkspaceTree } from '../types.js';
|
|
3
3
|
export declare function collectCodingWorkingEnvironment(input: AwarenessCollectInput): Promise<{
|
|
4
4
|
environment: CodingWorkingEnvironment;
|
|
5
5
|
sources: AwarenessSource[];
|
|
@@ -8,6 +8,8 @@ export declare function collectCodingWorkingEnvironment(input: AwarenessCollectI
|
|
|
8
8
|
export declare function collectCodingProjectDashboard(input: AwarenessCollectInput): Promise<{
|
|
9
9
|
environment: CodingWorkingEnvironment;
|
|
10
10
|
workspaceTree: CodingWorkspaceTree;
|
|
11
|
+
projectSignals: CodingProjectSignals;
|
|
12
|
+
inspectionSurfaces: CodingInspectionSurface[];
|
|
11
13
|
sources: AwarenessSource[];
|
|
12
14
|
limits: AwarenessLimit[];
|
|
13
15
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/awareness/domains/coding/collectors/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/awareness/domains/coding/collectors/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAKrB,wBAAsB,+BAA+B,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAC3F,WAAW,EAAE,wBAAwB,CAAC;IACtC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B,CAAC,CAyBD;AAED,wBAAsB,6BAA6B,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;IACzF,WAAW,EAAE,wBAAwB,CAAC;IACtC,aAAa,EAAE,mBAAmB,CAAC;IACnC,cAAc,EAAE,oBAAoB,CAAC;IACrC,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;IAC9C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B,CAAC,CAsBD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { collectGitWorkingEnvironment } from './git.js';
|
|
2
|
+
import { collectCodingProjectSignals } from './project-signals.js';
|
|
2
3
|
import { collectCodingWorkspaceTree } from './workspace-tree.js';
|
|
3
4
|
export async function collectCodingWorkingEnvironment(input) {
|
|
4
5
|
const sources = [{
|
|
@@ -25,31 +26,39 @@ export async function collectCodingWorkingEnvironment(input) {
|
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
28
|
export async function collectCodingProjectDashboard(input) {
|
|
28
|
-
const
|
|
29
|
-
|
|
29
|
+
const environmentResult = await collectCodingWorkingEnvironment(input);
|
|
30
|
+
const [treeResult, projectSignalsResult] = await Promise.all([
|
|
30
31
|
collectCodingWorkspaceTree({
|
|
31
32
|
workspaceRoot: input.workspaceRoot,
|
|
32
33
|
maxDepth: input.maxDepth,
|
|
33
34
|
maxEntries: input.maxEntries,
|
|
34
35
|
}),
|
|
36
|
+
collectCodingProjectSignals({
|
|
37
|
+
workspaceRoot: input.workspaceRoot,
|
|
38
|
+
environment: environmentResult.environment,
|
|
39
|
+
}),
|
|
35
40
|
]);
|
|
36
41
|
return {
|
|
37
42
|
environment: environmentResult.environment,
|
|
38
43
|
workspaceTree: treeResult.tree,
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
projectSignals: projectSignalsResult.projectSignals,
|
|
45
|
+
inspectionSurfaces: projectSignalsResult.inspectionSurfaces,
|
|
46
|
+
sources: mergeSources(environmentResult.sources, treeResult.sources, projectSignalsResult.sources),
|
|
47
|
+
limits: [...environmentResult.limits, ...treeResult.limits, ...projectSignalsResult.limits],
|
|
41
48
|
};
|
|
42
49
|
}
|
|
43
|
-
function mergeSources(
|
|
50
|
+
function mergeSources(...sourceGroups) {
|
|
44
51
|
const seen = new Set();
|
|
45
52
|
const merged = [];
|
|
46
|
-
for (const
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
for (const sources of sourceGroups) {
|
|
54
|
+
for (const source of sources) {
|
|
55
|
+
const key = `${source.kind}|${source.command ?? ''}|${source.path ?? ''}|${source.note ?? ''}`;
|
|
56
|
+
if (seen.has(key)) {
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
seen.add(key);
|
|
60
|
+
merged.push(source);
|
|
50
61
|
}
|
|
51
|
-
seen.add(key);
|
|
52
|
-
merged.push(source);
|
|
53
62
|
}
|
|
54
63
|
return merged;
|
|
55
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../../../../src/core/awareness/domains/coding/collectors/workspace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../../../../src/core/awareness/domains/coding/collectors/workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/awareness/domains/coding/detectors/go.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D,eAAO,MAAM,iBAAiB,EAAE,2BAkD/B,CAAC"}
|