@agent-link/agent 0.1.258 → 0.1.259
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/backends/types.d.ts +6 -0
- package/dist/backends/types.js +10 -2
- package/dist/backends/types.js.map +1 -1
- package/dist/connection.js +133 -43
- package/dist/connection.js.map +1 -1
- package/dist/copilot.d.ts +28 -0
- package/dist/copilot.js +172 -59
- package/dist/copilot.js.map +1 -1
- package/dist/history.d.ts +19 -0
- package/dist/history.js +238 -54
- package/dist/history.js.map +1 -1
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.js +1 -1
- package/dist/runtime.js.map +1 -1
- package/package.json +1 -1
package/dist/copilot.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { spawn, execFileSync } from 'child_process';
|
|
12
12
|
import { createInterface } from 'readline';
|
|
13
|
-
import { readdirSync, readFileSync, writeFileSync, existsSync, rmSync,
|
|
13
|
+
import { readdirSync, readFileSync, writeFileSync, existsSync, rmSync, mkdirSync } from 'fs';
|
|
14
14
|
import { dirname, join, resolve } from 'path';
|
|
15
15
|
import { homedir, platform } from 'os';
|
|
16
16
|
import { randomUUID } from 'crypto';
|
|
@@ -19,6 +19,7 @@ import { copilotCapabilities } from './backends/types.js';
|
|
|
19
19
|
import { CONFIG_DIR } from './config.js';
|
|
20
20
|
import { getCleanEnv } from './sdk.js';
|
|
21
21
|
import { getProvider, resolveProviderCommand } from './providers.js';
|
|
22
|
+
import { FileCache } from './file-cache.js';
|
|
22
23
|
// ── Module state ───────────────────────────────────────────────────────────
|
|
23
24
|
const conversations = new Map();
|
|
24
25
|
const sendFns = new Set();
|
|
@@ -734,6 +735,66 @@ export function cleanupAllCopilotConversations() {
|
|
|
734
735
|
}
|
|
735
736
|
// ── Session listing ────────────────────────────────────────────────────────
|
|
736
737
|
const COPILOT_SESSION_DIR = join(homedir(), '.copilot', 'session-state');
|
|
738
|
+
const COPILOT_SESSION_LIST_LIMIT = 150;
|
|
739
|
+
function normalizeCursorPath(value) {
|
|
740
|
+
const normalized = value.replace(/\\/g, '/').replace(/\/+$/, '');
|
|
741
|
+
return process.platform === 'win32' ? normalized.toLowerCase() : normalized;
|
|
742
|
+
}
|
|
743
|
+
function normalizeSessionLimit(limit) {
|
|
744
|
+
if (limit == null)
|
|
745
|
+
return COPILOT_SESSION_LIST_LIMIT;
|
|
746
|
+
if (limit === Number.POSITIVE_INFINITY)
|
|
747
|
+
return Number.POSITIVE_INFINITY;
|
|
748
|
+
if (!Number.isFinite(limit) || limit <= 0)
|
|
749
|
+
return COPILOT_SESSION_LIST_LIMIT;
|
|
750
|
+
return Math.min(Math.floor(limit), 500);
|
|
751
|
+
}
|
|
752
|
+
function compareCursorSortKeys(a, b) {
|
|
753
|
+
const lastModifiedDiff = b.lastModified - a.lastModified;
|
|
754
|
+
if (lastModifiedDiff !== 0)
|
|
755
|
+
return lastModifiedDiff;
|
|
756
|
+
const sessionDiff = a.sessionId.localeCompare(b.sessionId);
|
|
757
|
+
if (sessionDiff !== 0)
|
|
758
|
+
return sessionDiff;
|
|
759
|
+
return a.tieBreaker.localeCompare(b.tieBreaker);
|
|
760
|
+
}
|
|
761
|
+
function encodeCopilotCursor(scope, sortKey, workDir) {
|
|
762
|
+
return Buffer.from(JSON.stringify({
|
|
763
|
+
v: 1,
|
|
764
|
+
provider: 'copilot',
|
|
765
|
+
scope,
|
|
766
|
+
...(scope === 'workdir' && workDir ? { workDir: normalizeCursorPath(workDir) } : {}),
|
|
767
|
+
lastModified: sortKey.lastModified,
|
|
768
|
+
sessionId: sortKey.sessionId,
|
|
769
|
+
tieBreaker: sortKey.tieBreaker,
|
|
770
|
+
}), 'utf-8').toString('base64url');
|
|
771
|
+
}
|
|
772
|
+
function decodeCopilotCursor(cursor, scope, workDir) {
|
|
773
|
+
let parsed;
|
|
774
|
+
try {
|
|
775
|
+
parsed = JSON.parse(Buffer.from(cursor, 'base64url').toString('utf-8'));
|
|
776
|
+
}
|
|
777
|
+
catch {
|
|
778
|
+
throw new Error('Invalid copilot session list cursor');
|
|
779
|
+
}
|
|
780
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
781
|
+
throw new Error('Invalid copilot session list cursor');
|
|
782
|
+
}
|
|
783
|
+
const value = parsed;
|
|
784
|
+
if (value.v !== 1
|
|
785
|
+
|| value.provider !== 'copilot'
|
|
786
|
+
|| value.scope !== scope
|
|
787
|
+
|| typeof value.lastModified !== 'number'
|
|
788
|
+
|| !Number.isFinite(value.lastModified)
|
|
789
|
+
|| typeof value.sessionId !== 'string'
|
|
790
|
+
|| typeof value.tieBreaker !== 'string') {
|
|
791
|
+
throw new Error('Invalid copilot session list cursor');
|
|
792
|
+
}
|
|
793
|
+
if (scope === 'workdir' && value.workDir !== normalizeCursorPath(workDir || '')) {
|
|
794
|
+
throw new Error('Copilot session list cursor does not match requested workDir');
|
|
795
|
+
}
|
|
796
|
+
return { lastModified: value.lastModified, sessionId: value.sessionId, tieBreaker: value.tieBreaker };
|
|
797
|
+
}
|
|
737
798
|
function parseSimpleYaml(content) {
|
|
738
799
|
const result = {};
|
|
739
800
|
const lines = content.split('\n');
|
|
@@ -766,44 +827,98 @@ function parseSimpleYaml(content) {
|
|
|
766
827
|
}
|
|
767
828
|
return result;
|
|
768
829
|
}
|
|
769
|
-
|
|
830
|
+
function parseCopilotWorkspaceYaml(filePath, stats) {
|
|
831
|
+
const yaml = parseSimpleYaml(readFileSync(filePath, 'utf-8'));
|
|
832
|
+
const sourceDir = filePath.replace(/\\/g, '/').split('/').slice(-2, -1)[0] || '';
|
|
833
|
+
const cwd = yaml.cwd || '';
|
|
834
|
+
const updatedAt = yaml.updated_at ? new Date(yaml.updated_at).getTime() : 0;
|
|
835
|
+
const title = yaml.name || 'Untitled';
|
|
836
|
+
const folderName = cwd.replace(/[\\/]+$/, '').split(/[\\/]/).pop() || cwd;
|
|
837
|
+
return {
|
|
838
|
+
sessionId: yaml.id || sourceDir,
|
|
839
|
+
title,
|
|
840
|
+
preview: title.length > 60 ? title.substring(0, 60) + '...' : title,
|
|
841
|
+
lastModified: updatedAt || stats.mtimeMs,
|
|
842
|
+
projectPath: cwd,
|
|
843
|
+
projectFolder: folderName,
|
|
844
|
+
sourcePath: filePath,
|
|
845
|
+
};
|
|
846
|
+
}
|
|
847
|
+
const copilotWorkspaceCache = new FileCache({
|
|
848
|
+
name: 'copilot-workspace',
|
|
849
|
+
compute: parseCopilotWorkspaceYaml,
|
|
850
|
+
maxEntries: 10000,
|
|
851
|
+
ttlMs: 0,
|
|
852
|
+
debug: false,
|
|
853
|
+
});
|
|
854
|
+
function listCopilotWorkspaceFiles() {
|
|
770
855
|
if (!existsSync(COPILOT_SESSION_DIR))
|
|
771
856
|
return [];
|
|
772
|
-
const sessions = [];
|
|
773
|
-
const normalizedWorkDir = workDir.replace(/\\/g, '/').toLowerCase();
|
|
774
857
|
try {
|
|
775
858
|
const dirs = readdirSync(COPILOT_SESSION_DIR, { withFileTypes: true });
|
|
859
|
+
const files = [];
|
|
776
860
|
for (const dir of dirs) {
|
|
777
861
|
if (!dir.isDirectory())
|
|
778
862
|
continue;
|
|
779
863
|
const wsPath = join(COPILOT_SESSION_DIR, dir.name, 'workspace.yaml');
|
|
780
|
-
if (
|
|
781
|
-
|
|
782
|
-
try {
|
|
783
|
-
const yaml = parseSimpleYaml(readFileSync(wsPath, 'utf-8'));
|
|
784
|
-
const cwd = (yaml.cwd || '').replace(/\\/g, '/').toLowerCase();
|
|
785
|
-
// Filter by workDir match
|
|
786
|
-
if (cwd !== normalizedWorkDir)
|
|
787
|
-
continue;
|
|
788
|
-
const updatedAt = yaml.updated_at ? new Date(yaml.updated_at).getTime() : 0;
|
|
789
|
-
const title = yaml.name || 'Untitled';
|
|
790
|
-
sessions.push({
|
|
791
|
-
sessionId: yaml.id || dir.name,
|
|
792
|
-
title,
|
|
793
|
-
preview: title.length > 60 ? title.substring(0, 60) + '...' : title,
|
|
794
|
-
lastModified: updatedAt || statSync(wsPath).mtimeMs,
|
|
795
|
-
});
|
|
796
|
-
}
|
|
797
|
-
catch {
|
|
798
|
-
// Skip broken workspace.yaml
|
|
799
|
-
}
|
|
864
|
+
if (existsSync(wsPath))
|
|
865
|
+
files.push(wsPath);
|
|
800
866
|
}
|
|
867
|
+
return files;
|
|
801
868
|
}
|
|
802
869
|
catch {
|
|
803
|
-
|
|
870
|
+
return [];
|
|
804
871
|
}
|
|
805
|
-
|
|
806
|
-
|
|
872
|
+
}
|
|
873
|
+
function getCopilotSessionEntries(workDir) {
|
|
874
|
+
const normalizedWorkDir = workDir ? normalizeCursorPath(workDir) : '';
|
|
875
|
+
const entries = [];
|
|
876
|
+
for (const wsPath of listCopilotWorkspaceFiles()) {
|
|
877
|
+
const parsed = copilotWorkspaceCache.get(wsPath);
|
|
878
|
+
if (!parsed)
|
|
879
|
+
continue;
|
|
880
|
+
if (normalizedWorkDir && normalizeCursorPath(parsed.projectPath) !== normalizedWorkDir)
|
|
881
|
+
continue;
|
|
882
|
+
entries.push({
|
|
883
|
+
session: parsed,
|
|
884
|
+
sortKey: {
|
|
885
|
+
lastModified: parsed.lastModified,
|
|
886
|
+
sessionId: parsed.sessionId,
|
|
887
|
+
tieBreaker: normalizeCursorPath(wsPath),
|
|
888
|
+
},
|
|
889
|
+
});
|
|
890
|
+
}
|
|
891
|
+
entries.sort((a, b) => compareCursorSortKeys(a.sortKey, b.sortKey));
|
|
892
|
+
return entries;
|
|
893
|
+
}
|
|
894
|
+
export function listCopilotSessions(workDir) {
|
|
895
|
+
return listCopilotSessionsPage(workDir, { limit: Number.POSITIVE_INFINITY }).sessions;
|
|
896
|
+
}
|
|
897
|
+
export function listCopilotSessionsPage(workDir, options = {}) {
|
|
898
|
+
const entries = getCopilotSessionEntries(workDir);
|
|
899
|
+
const limit = normalizeSessionLimit(options.limit);
|
|
900
|
+
let startIndex = 0;
|
|
901
|
+
if (options.cursor) {
|
|
902
|
+
const cursor = decodeCopilotCursor(options.cursor, 'workdir', workDir);
|
|
903
|
+
startIndex = entries.findIndex(entry => compareCursorSortKeys(entry.sortKey, cursor) > 0);
|
|
904
|
+
if (startIndex < 0)
|
|
905
|
+
return { sessions: [], hasMore: false };
|
|
906
|
+
}
|
|
907
|
+
const pageEntries = limit === Number.POSITIVE_INFINITY
|
|
908
|
+
? entries.slice(startIndex)
|
|
909
|
+
: entries.slice(startIndex, startIndex + limit);
|
|
910
|
+
const nextIndex = startIndex + pageEntries.length;
|
|
911
|
+
const hasMore = nextIndex < entries.length;
|
|
912
|
+
return {
|
|
913
|
+
sessions: pageEntries.map(({ session }) => ({
|
|
914
|
+
sessionId: session.sessionId,
|
|
915
|
+
title: session.title,
|
|
916
|
+
preview: session.preview,
|
|
917
|
+
lastModified: session.lastModified,
|
|
918
|
+
})),
|
|
919
|
+
hasMore,
|
|
920
|
+
...(hasMore && pageEntries.length > 0 ? { nextCursor: encodeCopilotCursor('workdir', pageEntries[pageEntries.length - 1].sortKey, workDir) } : {}),
|
|
921
|
+
};
|
|
807
922
|
}
|
|
808
923
|
// ── Session history ────────────────────────────────────────────────────────
|
|
809
924
|
export function readCopilotSessionMessages(_workDir, sessionId) {
|
|
@@ -885,39 +1000,37 @@ export function readCopilotSessionMessages(_workDir, sessionId) {
|
|
|
885
1000
|
return messages;
|
|
886
1001
|
}
|
|
887
1002
|
export function listAllCopilotSessions(limit = 500) {
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
try {
|
|
900
|
-
const yaml = parseSimpleYaml(readFileSync(wsPath, 'utf-8'));
|
|
901
|
-
const updatedAt = yaml.updated_at ? new Date(yaml.updated_at).getTime() : 0;
|
|
902
|
-
const title = yaml.name || 'Untitled';
|
|
903
|
-
const cwd = yaml.cwd || '';
|
|
904
|
-
// Derive folder name from cwd (last segment)
|
|
905
|
-
const folderName = cwd.replace(/[\\/]+$/, '').split(/[\\/]/).pop() || cwd;
|
|
906
|
-
sessions.push({
|
|
907
|
-
sessionId: yaml.id || dir.name,
|
|
908
|
-
projectPath: cwd,
|
|
909
|
-
projectFolder: folderName,
|
|
910
|
-
title,
|
|
911
|
-
firstPrompt: title,
|
|
912
|
-
lastModified: updatedAt || statSync(wsPath).mtimeMs,
|
|
913
|
-
});
|
|
914
|
-
}
|
|
915
|
-
catch { /* skip */ }
|
|
916
|
-
}
|
|
1003
|
+
return listAllCopilotSessionsPage({ limit }).sessions;
|
|
1004
|
+
}
|
|
1005
|
+
export function listAllCopilotSessionsPage(options = {}) {
|
|
1006
|
+
const entries = getCopilotSessionEntries();
|
|
1007
|
+
const limit = normalizeSessionLimit(options.limit);
|
|
1008
|
+
let startIndex = 0;
|
|
1009
|
+
if (options.cursor) {
|
|
1010
|
+
const cursor = decodeCopilotCursor(options.cursor, 'global');
|
|
1011
|
+
startIndex = entries.findIndex(entry => compareCursorSortKeys(entry.sortKey, cursor) > 0);
|
|
1012
|
+
if (startIndex < 0)
|
|
1013
|
+
return { sessions: [], hasMore: false, indexState: 'ready' };
|
|
917
1014
|
}
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
1015
|
+
const pageEntries = limit === Number.POSITIVE_INFINITY
|
|
1016
|
+
? entries.slice(startIndex)
|
|
1017
|
+
: entries.slice(startIndex, startIndex + limit);
|
|
1018
|
+
const nextIndex = startIndex + pageEntries.length;
|
|
1019
|
+
const hasMore = nextIndex < entries.length;
|
|
1020
|
+
return {
|
|
1021
|
+
sessions: pageEntries.map(({ session }) => ({
|
|
1022
|
+
sessionId: session.sessionId,
|
|
1023
|
+
projectPath: session.projectPath,
|
|
1024
|
+
projectFolder: session.projectFolder,
|
|
1025
|
+
stableIdentity: normalizeCursorPath(session.sourcePath),
|
|
1026
|
+
title: session.title,
|
|
1027
|
+
firstPrompt: session.title,
|
|
1028
|
+
lastModified: session.lastModified,
|
|
1029
|
+
})),
|
|
1030
|
+
hasMore,
|
|
1031
|
+
...(hasMore && pageEntries.length > 0 ? { nextCursor: encodeCopilotCursor('global', pageEntries[pageEntries.length - 1].sortKey) } : {}),
|
|
1032
|
+
indexState: 'ready',
|
|
1033
|
+
};
|
|
921
1034
|
}
|
|
922
1035
|
// ── Session rename ─────────────────────────────────────────────────────────
|
|
923
1036
|
export function renameCopilotSession(_workDir, sessionId, newTitle) {
|
package/dist/copilot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../src/copilot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../src/copilot.ts"],"names":[],"mappings":"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"}
|
package/dist/history.d.ts
CHANGED
|
@@ -24,11 +24,18 @@ export interface GlobalSessionInfo {
|
|
|
24
24
|
sessionId: string;
|
|
25
25
|
projectPath: string;
|
|
26
26
|
projectFolder: string;
|
|
27
|
+
stableIdentity?: string;
|
|
27
28
|
title: string;
|
|
28
29
|
firstPrompt: string;
|
|
29
30
|
lastModified: number;
|
|
30
31
|
gitBranch?: string;
|
|
31
32
|
}
|
|
33
|
+
export interface GlobalSessionListPage {
|
|
34
|
+
sessions: GlobalSessionInfo[];
|
|
35
|
+
hasMore: boolean;
|
|
36
|
+
nextCursor?: string;
|
|
37
|
+
indexState: 'ready';
|
|
38
|
+
}
|
|
32
39
|
interface ParsedSessionMetadata {
|
|
33
40
|
sessionId: string;
|
|
34
41
|
title: string;
|
|
@@ -40,6 +47,9 @@ interface ParsedSessionMetadata {
|
|
|
40
47
|
gitBranch?: string;
|
|
41
48
|
}
|
|
42
49
|
export declare const DEFAULT_SESSION_LIST_LIMIT = 150;
|
|
50
|
+
export declare const LEGACY_SESSION_LIST_CAP = 5000;
|
|
51
|
+
/** Test-only hook for proving long scans yield and in-flight scans coalesce. */
|
|
52
|
+
export declare function _setHistoryScanYieldHookForTests(hook: (() => void | Promise<void>) | null): void;
|
|
43
53
|
/** Test-only hook to reset cache state between specs. */
|
|
44
54
|
export declare function _resetSessionCache(): void;
|
|
45
55
|
/** Diagnostic snapshot. Used by handleListSessions for periodic logging. */
|
|
@@ -57,6 +67,10 @@ export declare function listSessionsPage(workDir: string, options?: {
|
|
|
57
67
|
limit?: number;
|
|
58
68
|
cursor?: string;
|
|
59
69
|
}): SessionListPage;
|
|
70
|
+
export declare function listSessionsPageAsync(workDir: string, options?: {
|
|
71
|
+
limit?: number;
|
|
72
|
+
cursor?: string;
|
|
73
|
+
}): Promise<SessionListPage>;
|
|
60
74
|
/**
|
|
61
75
|
* Read the message history from a session's JSONL file.
|
|
62
76
|
* Returns user messages and assistant text/tool_use blocks as a flat list.
|
|
@@ -91,3 +105,8 @@ export declare function renameSession(workDir: string, sessionId: string, newTit
|
|
|
91
105
|
* @param perProjectLimit - Optional max files to scan per project folder
|
|
92
106
|
*/
|
|
93
107
|
export declare function listAllRecentSessions(limit?: number, perProjectLimit?: number): Promise<GlobalSessionInfo[]>;
|
|
108
|
+
export declare function listAllRecentSessionsPage(options?: {
|
|
109
|
+
limit?: number;
|
|
110
|
+
cursor?: string;
|
|
111
|
+
perProjectLimit?: number;
|
|
112
|
+
}): Promise<GlobalSessionListPage>;
|