@jacques-ai/core 0.0.7-alpha.1
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/archive/archive-store.d.ts +166 -0
- package/dist/archive/archive-store.d.ts.map +1 -0
- package/dist/archive/archive-store.js +612 -0
- package/dist/archive/archive-store.js.map +1 -0
- package/dist/archive/bulk-archive.d.ts +63 -0
- package/dist/archive/bulk-archive.d.ts.map +1 -0
- package/dist/archive/bulk-archive.js +315 -0
- package/dist/archive/bulk-archive.js.map +1 -0
- package/dist/archive/filename-utils.d.ts +39 -0
- package/dist/archive/filename-utils.d.ts.map +1 -0
- package/dist/archive/filename-utils.js +78 -0
- package/dist/archive/filename-utils.js.map +1 -0
- package/dist/archive/index.d.ts +21 -0
- package/dist/archive/index.d.ts.map +1 -0
- package/dist/archive/index.js +45 -0
- package/dist/archive/index.js.map +1 -0
- package/dist/archive/manifest-extractor.d.ts +40 -0
- package/dist/archive/manifest-extractor.d.ts.map +1 -0
- package/dist/archive/manifest-extractor.js +456 -0
- package/dist/archive/manifest-extractor.js.map +1 -0
- package/dist/archive/migration.d.ts +59 -0
- package/dist/archive/migration.d.ts.map +1 -0
- package/dist/archive/migration.js +172 -0
- package/dist/archive/migration.js.map +1 -0
- package/dist/archive/plan-cataloger.d.ts +24 -0
- package/dist/archive/plan-cataloger.d.ts.map +1 -0
- package/dist/archive/plan-cataloger.js +100 -0
- package/dist/archive/plan-cataloger.js.map +1 -0
- package/dist/archive/plan-extractor.d.ts +84 -0
- package/dist/archive/plan-extractor.d.ts.map +1 -0
- package/dist/archive/plan-extractor.js +371 -0
- package/dist/archive/plan-extractor.js.map +1 -0
- package/dist/archive/search-indexer.d.ts +50 -0
- package/dist/archive/search-indexer.d.ts.map +1 -0
- package/dist/archive/search-indexer.js +294 -0
- package/dist/archive/search-indexer.js.map +1 -0
- package/dist/archive/subagent-store.d.ts +113 -0
- package/dist/archive/subagent-store.d.ts.map +1 -0
- package/dist/archive/subagent-store.js +173 -0
- package/dist/archive/subagent-store.js.map +1 -0
- package/dist/archive/types.d.ts +236 -0
- package/dist/archive/types.d.ts.map +1 -0
- package/dist/archive/types.js +30 -0
- package/dist/archive/types.js.map +1 -0
- package/dist/branding.d.ts +9 -0
- package/dist/branding.d.ts.map +1 -0
- package/dist/branding.js +50 -0
- package/dist/branding.js.map +1 -0
- package/dist/cache/git-utils.d.ts +36 -0
- package/dist/cache/git-utils.d.ts.map +1 -0
- package/dist/cache/git-utils.js +160 -0
- package/dist/cache/git-utils.js.map +1 -0
- package/dist/cache/hidden-projects.d.ts +19 -0
- package/dist/cache/hidden-projects.d.ts.map +1 -0
- package/dist/cache/hidden-projects.js +48 -0
- package/dist/cache/hidden-projects.js.map +1 -0
- package/dist/cache/index.d.ts +15 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +20 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/metadata-extractor.d.ts +62 -0
- package/dist/cache/metadata-extractor.d.ts.map +1 -0
- package/dist/cache/metadata-extractor.js +574 -0
- package/dist/cache/metadata-extractor.js.map +1 -0
- package/dist/cache/mode-detector.d.ts +19 -0
- package/dist/cache/mode-detector.d.ts.map +1 -0
- package/dist/cache/mode-detector.js +161 -0
- package/dist/cache/mode-detector.js.map +1 -0
- package/dist/cache/persistence.d.ts +39 -0
- package/dist/cache/persistence.d.ts.map +1 -0
- package/dist/cache/persistence.js +98 -0
- package/dist/cache/persistence.js.map +1 -0
- package/dist/cache/project-discovery.d.ts +41 -0
- package/dist/cache/project-discovery.d.ts.map +1 -0
- package/dist/cache/project-discovery.js +212 -0
- package/dist/cache/project-discovery.js.map +1 -0
- package/dist/cache/session-index.d.ts +258 -0
- package/dist/cache/session-index.d.ts.map +1 -0
- package/dist/cache/session-index.js +1030 -0
- package/dist/cache/session-index.js.map +1 -0
- package/dist/cache/types.d.ts +159 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +29 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/catalog/bulk-extractor.d.ts +18 -0
- package/dist/catalog/bulk-extractor.d.ts.map +1 -0
- package/dist/catalog/bulk-extractor.js +150 -0
- package/dist/catalog/bulk-extractor.js.map +1 -0
- package/dist/catalog/extractor.d.ts +53 -0
- package/dist/catalog/extractor.d.ts.map +1 -0
- package/dist/catalog/extractor.js +522 -0
- package/dist/catalog/extractor.js.map +1 -0
- package/dist/catalog/index.d.ts +10 -0
- package/dist/catalog/index.d.ts.map +1 -0
- package/dist/catalog/index.js +11 -0
- package/dist/catalog/index.js.map +1 -0
- package/dist/catalog/types.d.ts +134 -0
- package/dist/catalog/types.d.ts.map +1 -0
- package/dist/catalog/types.js +8 -0
- package/dist/catalog/types.js.map +1 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +5 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/websocket-client.d.ts +96 -0
- package/dist/client/websocket-client.d.ts.map +1 -0
- package/dist/client/websocket-client.js +222 -0
- package/dist/client/websocket-client.js.map +1 -0
- package/dist/context/index.d.ts +13 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +26 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/indexer.d.ts +73 -0
- package/dist/context/indexer.d.ts.map +1 -0
- package/dist/context/indexer.js +233 -0
- package/dist/context/indexer.js.map +1 -0
- package/dist/context/manager.d.ts +66 -0
- package/dist/context/manager.d.ts.map +1 -0
- package/dist/context/manager.js +310 -0
- package/dist/context/manager.js.map +1 -0
- package/dist/context/types.d.ts +149 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/types.js +36 -0
- package/dist/context/types.js.map +1 -0
- package/dist/handoff/catalog.d.ts +54 -0
- package/dist/handoff/catalog.d.ts.map +1 -0
- package/dist/handoff/catalog.js +121 -0
- package/dist/handoff/catalog.js.map +1 -0
- package/dist/handoff/generator.d.ts +107 -0
- package/dist/handoff/generator.d.ts.map +1 -0
- package/dist/handoff/generator.js +603 -0
- package/dist/handoff/generator.js.map +1 -0
- package/dist/handoff/index.d.ts +13 -0
- package/dist/handoff/index.d.ts.map +1 -0
- package/dist/handoff/index.js +12 -0
- package/dist/handoff/index.js.map +1 -0
- package/dist/handoff/llm-generator.d.ts +77 -0
- package/dist/handoff/llm-generator.d.ts.map +1 -0
- package/dist/handoff/llm-generator.js +513 -0
- package/dist/handoff/llm-generator.js.map +1 -0
- package/dist/handoff/prompts.d.ts +18 -0
- package/dist/handoff/prompts.d.ts.map +1 -0
- package/dist/handoff/prompts.js +22 -0
- package/dist/handoff/prompts.js.map +1 -0
- package/dist/handoff/types.d.ts +28 -0
- package/dist/handoff/types.d.ts.map +1 -0
- package/dist/handoff/types.js +7 -0
- package/dist/handoff/types.js.map +1 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +132 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/claude-operations.d.ts +111 -0
- package/dist/logging/claude-operations.d.ts.map +1 -0
- package/dist/logging/claude-operations.js +132 -0
- package/dist/logging/claude-operations.js.map +1 -0
- package/dist/logging/error-utils.d.ts +18 -0
- package/dist/logging/error-utils.d.ts.map +1 -0
- package/dist/logging/error-utils.js +37 -0
- package/dist/logging/error-utils.js.map +1 -0
- package/dist/logging/index.d.ts +11 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +10 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/logger.d.ts +25 -0
- package/dist/logging/logger.d.ts.map +1 -0
- package/dist/logging/logger.js +39 -0
- package/dist/logging/logger.js.map +1 -0
- package/dist/notifications/constants.d.ts +16 -0
- package/dist/notifications/constants.d.ts.map +1 -0
- package/dist/notifications/constants.js +49 -0
- package/dist/notifications/constants.js.map +1 -0
- package/dist/notifications/index.d.ts +9 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +8 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/types.d.ts +28 -0
- package/dist/notifications/types.d.ts.map +1 -0
- package/dist/notifications/types.js +7 -0
- package/dist/notifications/types.js.map +1 -0
- package/dist/notifications/utils.d.ts +20 -0
- package/dist/notifications/utils.d.ts.map +1 -0
- package/dist/notifications/utils.js +37 -0
- package/dist/notifications/utils.js.map +1 -0
- package/dist/plan/index.d.ts +12 -0
- package/dist/plan/index.d.ts.map +1 -0
- package/dist/plan/index.js +15 -0
- package/dist/plan/index.js.map +1 -0
- package/dist/plan/plan-parser.d.ts +33 -0
- package/dist/plan/plan-parser.d.ts.map +1 -0
- package/dist/plan/plan-parser.js +189 -0
- package/dist/plan/plan-parser.js.map +1 -0
- package/dist/plan/progress-computer.d.ts +34 -0
- package/dist/plan/progress-computer.d.ts.map +1 -0
- package/dist/plan/progress-computer.js +211 -0
- package/dist/plan/progress-computer.js.map +1 -0
- package/dist/plan/progress-matcher.d.ts +34 -0
- package/dist/plan/progress-matcher.d.ts.map +1 -0
- package/dist/plan/progress-matcher.js +297 -0
- package/dist/plan/progress-matcher.js.map +1 -0
- package/dist/plan/task-extractor.d.ts +30 -0
- package/dist/plan/task-extractor.d.ts.map +1 -0
- package/dist/plan/task-extractor.js +435 -0
- package/dist/plan/task-extractor.js.map +1 -0
- package/dist/plan/types.d.ts +131 -0
- package/dist/plan/types.d.ts.map +1 -0
- package/dist/plan/types.js +8 -0
- package/dist/plan/types.js.map +1 -0
- package/dist/project/aggregator.d.ts +43 -0
- package/dist/project/aggregator.d.ts.map +1 -0
- package/dist/project/aggregator.js +218 -0
- package/dist/project/aggregator.js.map +1 -0
- package/dist/project/index.d.ts +9 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +9 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/types.d.ts +65 -0
- package/dist/project/types.d.ts.map +1 -0
- package/dist/project/types.js +27 -0
- package/dist/project/types.js.map +1 -0
- package/dist/session/detector.d.ts +113 -0
- package/dist/session/detector.d.ts.map +1 -0
- package/dist/session/detector.js +333 -0
- package/dist/session/detector.js.map +1 -0
- package/dist/session/filters.d.ts +32 -0
- package/dist/session/filters.d.ts.map +1 -0
- package/dist/session/filters.js +100 -0
- package/dist/session/filters.js.map +1 -0
- package/dist/session/format-title.d.ts +16 -0
- package/dist/session/format-title.d.ts.map +1 -0
- package/dist/session/format-title.js +54 -0
- package/dist/session/format-title.js.map +1 -0
- package/dist/session/index.d.ts +16 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +10 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/parser.d.ts +264 -0
- package/dist/session/parser.d.ts.map +1 -0
- package/dist/session/parser.js +588 -0
- package/dist/session/parser.js.map +1 -0
- package/dist/session/token-estimator.d.ts +32 -0
- package/dist/session/token-estimator.d.ts.map +1 -0
- package/dist/session/token-estimator.js +139 -0
- package/dist/session/token-estimator.js.map +1 -0
- package/dist/session/transformer.d.ts +126 -0
- package/dist/session/transformer.d.ts.map +1 -0
- package/dist/session/transformer.js +158 -0
- package/dist/session/transformer.js.map +1 -0
- package/dist/setup/hooks-config.d.ts +35 -0
- package/dist/setup/hooks-config.d.ts.map +1 -0
- package/dist/setup/hooks-config.js +107 -0
- package/dist/setup/hooks-config.js.map +1 -0
- package/dist/setup/hooks-symlink.d.ts +17 -0
- package/dist/setup/hooks-symlink.d.ts.map +1 -0
- package/dist/setup/hooks-symlink.js +89 -0
- package/dist/setup/hooks-symlink.js.map +1 -0
- package/dist/setup/index.d.ts +13 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +12 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/prerequisites.d.ts +11 -0
- package/dist/setup/prerequisites.d.ts.map +1 -0
- package/dist/setup/prerequisites.js +72 -0
- package/dist/setup/prerequisites.js.map +1 -0
- package/dist/setup/settings-merge.d.ts +33 -0
- package/dist/setup/settings-merge.d.ts.map +1 -0
- package/dist/setup/settings-merge.js +131 -0
- package/dist/setup/settings-merge.js.map +1 -0
- package/dist/setup/skills-install.d.ts +17 -0
- package/dist/setup/skills-install.d.ts.map +1 -0
- package/dist/setup/skills-install.js +60 -0
- package/dist/setup/skills-install.js.map +1 -0
- package/dist/setup/types.d.ts +39 -0
- package/dist/setup/types.d.ts.map +1 -0
- package/dist/setup/types.js +7 -0
- package/dist/setup/types.js.map +1 -0
- package/dist/setup/verification.d.ts +9 -0
- package/dist/setup/verification.d.ts.map +1 -0
- package/dist/setup/verification.js +91 -0
- package/dist/setup/verification.js.map +1 -0
- package/dist/shortcuts/index.d.ts +8 -0
- package/dist/shortcuts/index.d.ts.map +1 -0
- package/dist/shortcuts/index.js +6 -0
- package/dist/shortcuts/index.js.map +1 -0
- package/dist/shortcuts/key-utils.d.ts +54 -0
- package/dist/shortcuts/key-utils.d.ts.map +1 -0
- package/dist/shortcuts/key-utils.js +129 -0
- package/dist/shortcuts/key-utils.js.map +1 -0
- package/dist/shortcuts/shortcut-registry.d.ts +37 -0
- package/dist/shortcuts/shortcut-registry.d.ts.map +1 -0
- package/dist/shortcuts/shortcut-registry.js +322 -0
- package/dist/shortcuts/shortcut-registry.js.map +1 -0
- package/dist/sources/config.d.ts +91 -0
- package/dist/sources/config.d.ts.map +1 -0
- package/dist/sources/config.js +229 -0
- package/dist/sources/config.js.map +1 -0
- package/dist/sources/googledocs.d.ts +43 -0
- package/dist/sources/googledocs.d.ts.map +1 -0
- package/dist/sources/googledocs.js +298 -0
- package/dist/sources/googledocs.js.map +1 -0
- package/dist/sources/index.d.ts +14 -0
- package/dist/sources/index.d.ts.map +1 -0
- package/dist/sources/index.js +19 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/sources/notion.d.ts +35 -0
- package/dist/sources/notion.d.ts.map +1 -0
- package/dist/sources/notion.js +352 -0
- package/dist/sources/notion.js.map +1 -0
- package/dist/sources/obsidian.d.ts +38 -0
- package/dist/sources/obsidian.d.ts.map +1 -0
- package/dist/sources/obsidian.js +228 -0
- package/dist/sources/obsidian.js.map +1 -0
- package/dist/sources/types.d.ts +133 -0
- package/dist/sources/types.d.ts.map +1 -0
- package/dist/sources/types.js +19 -0
- package/dist/sources/types.js.map +1 -0
- package/dist/storage/index.d.ts +6 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +5 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/writer.d.ts +86 -0
- package/dist/storage/writer.d.ts.map +1 -0
- package/dist/storage/writer.js +137 -0
- package/dist/storage/writer.js.map +1 -0
- package/dist/types.d.ts +203 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/claude-token.d.ts +49 -0
- package/dist/utils/claude-token.d.ts.map +1 -0
- package/dist/utils/claude-token.js +169 -0
- package/dist/utils/claude-token.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +13 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/settings.d.ts +100 -0
- package/dist/utils/settings.d.ts.map +1 -0
- package/dist/utils/settings.js +206 -0
- package/dist/utils/settings.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Catalog Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the catalog extraction system.
|
|
5
|
+
* Extracts lightweight artifacts from JSONL files for fast dashboard loading.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Session manifest stored in .jacques/sessions/{id}.json
|
|
9
|
+
* Lightweight metadata (~1-2KB) extracted from JSONL files.
|
|
10
|
+
*/
|
|
11
|
+
export interface SessionManifest {
|
|
12
|
+
/** Session UUID */
|
|
13
|
+
id: string;
|
|
14
|
+
/** Session title (from summary or first user message) */
|
|
15
|
+
title: string;
|
|
16
|
+
/** Full project path */
|
|
17
|
+
projectPath: string;
|
|
18
|
+
/** Project slug (basename) */
|
|
19
|
+
projectSlug: string;
|
|
20
|
+
/** Git repository root path (persisted for index rebuild resilience) */
|
|
21
|
+
gitRepoRoot?: string;
|
|
22
|
+
/** Git branch name at extraction time */
|
|
23
|
+
gitBranch?: string;
|
|
24
|
+
/** Git worktree name (if this was a worktree session) */
|
|
25
|
+
gitWorktree?: string;
|
|
26
|
+
/** Session timestamps */
|
|
27
|
+
startedAt: string;
|
|
28
|
+
endedAt: string;
|
|
29
|
+
durationMinutes: number;
|
|
30
|
+
/** User questions (truncated to 200 chars each) */
|
|
31
|
+
userQuestions: string[];
|
|
32
|
+
/** Files modified via Write/Edit tool calls */
|
|
33
|
+
filesModified: string[];
|
|
34
|
+
/** Unique tool names used */
|
|
35
|
+
toolsUsed: string[];
|
|
36
|
+
/** Auto-detected technologies */
|
|
37
|
+
technologies: string[];
|
|
38
|
+
/** Statistics */
|
|
39
|
+
messageCount: number;
|
|
40
|
+
toolCallCount: number;
|
|
41
|
+
/** Token usage stats */
|
|
42
|
+
tokens?: {
|
|
43
|
+
input: number;
|
|
44
|
+
output: number;
|
|
45
|
+
cacheCreation: number;
|
|
46
|
+
cacheRead: number;
|
|
47
|
+
};
|
|
48
|
+
/** Subagent metadata */
|
|
49
|
+
hasSubagents: boolean;
|
|
50
|
+
hadAutoCompact?: boolean;
|
|
51
|
+
/** Session mode */
|
|
52
|
+
mode?: "planning" | "execution" | null;
|
|
53
|
+
/** Linked plan IDs (references PlanEntry.id in index.json) */
|
|
54
|
+
planIds: string[];
|
|
55
|
+
/** Linked subagent IDs (references SubagentEntry.id in index.json) */
|
|
56
|
+
subagentIds: string[];
|
|
57
|
+
/** Plan references with source info for display (deduplicated by catalogId) */
|
|
58
|
+
planRefs?: Array<{
|
|
59
|
+
title: string;
|
|
60
|
+
source: "embedded" | "write" | "agent";
|
|
61
|
+
/** All detection methods that found this plan (when deduplicated) */
|
|
62
|
+
sources?: Array<"embedded" | "write" | "agent">;
|
|
63
|
+
messageIndex: number;
|
|
64
|
+
filePath?: string;
|
|
65
|
+
agentId?: string;
|
|
66
|
+
catalogId?: string;
|
|
67
|
+
}>;
|
|
68
|
+
/** JSONL file modification time (for incremental extraction) */
|
|
69
|
+
jsonlModifiedAt: string;
|
|
70
|
+
/** When this manifest was extracted */
|
|
71
|
+
extractedAt: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Options for single-session catalog extraction
|
|
75
|
+
*/
|
|
76
|
+
export interface ExtractSessionOptions {
|
|
77
|
+
/** Force re-extraction even if JSONL hasn't changed */
|
|
78
|
+
force?: boolean;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Result of single-session catalog extraction
|
|
82
|
+
*/
|
|
83
|
+
export interface ExtractSessionResult {
|
|
84
|
+
/** Session ID */
|
|
85
|
+
sessionId: string;
|
|
86
|
+
/** Whether extraction was skipped (unchanged) */
|
|
87
|
+
skipped: boolean;
|
|
88
|
+
/** Number of subagent artifacts extracted */
|
|
89
|
+
subagentsExtracted: number;
|
|
90
|
+
/** Number of plans extracted */
|
|
91
|
+
plansExtracted: number;
|
|
92
|
+
/** Error message if extraction failed */
|
|
93
|
+
error?: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Options for bulk catalog extraction
|
|
97
|
+
*/
|
|
98
|
+
export interface BulkExtractOptions {
|
|
99
|
+
/** Force re-extraction of all sessions */
|
|
100
|
+
force?: boolean;
|
|
101
|
+
/** Progress callback */
|
|
102
|
+
onProgress?: (progress: CatalogProgress) => void;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Progress callback for catalog extraction
|
|
106
|
+
*/
|
|
107
|
+
export interface CatalogProgress {
|
|
108
|
+
/** Current phase */
|
|
109
|
+
phase: "scanning" | "extracting";
|
|
110
|
+
/** Total items to process */
|
|
111
|
+
total: number;
|
|
112
|
+
/** Items completed */
|
|
113
|
+
completed: number;
|
|
114
|
+
/** Current item being processed */
|
|
115
|
+
current: string;
|
|
116
|
+
/** Items skipped (unchanged) */
|
|
117
|
+
skipped: number;
|
|
118
|
+
/** Items that failed */
|
|
119
|
+
errors: number;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Result of bulk catalog extraction
|
|
123
|
+
*/
|
|
124
|
+
export interface BulkExtractResult {
|
|
125
|
+
/** Total sessions found */
|
|
126
|
+
totalSessions: number;
|
|
127
|
+
/** Sessions successfully extracted */
|
|
128
|
+
extracted: number;
|
|
129
|
+
/** Sessions skipped (unchanged) */
|
|
130
|
+
skipped: number;
|
|
131
|
+
/** Sessions that failed */
|
|
132
|
+
errors: number;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/catalog/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/catalog/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket Client
|
|
3
|
+
*
|
|
4
|
+
* Connects to the Jacques server and receives session updates.
|
|
5
|
+
* Handles reconnection and event dispatching.
|
|
6
|
+
*/
|
|
7
|
+
import { EventEmitter } from "events";
|
|
8
|
+
import type { ClientMessage, Session } from "../types.js";
|
|
9
|
+
export interface JacquesClientOptions {
|
|
10
|
+
/** Suppress console output */
|
|
11
|
+
silent?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface JacquesClientEvents {
|
|
14
|
+
connected: () => void;
|
|
15
|
+
disconnected: () => void;
|
|
16
|
+
initial_state: (sessions: Session[], focusedSessionId: string | null, scanning?: boolean) => void;
|
|
17
|
+
session_update: (session: Session) => void;
|
|
18
|
+
session_removed: (sessionId: string) => void;
|
|
19
|
+
focus_changed: (sessionId: string | null, session: Session | null) => void;
|
|
20
|
+
autocompact_toggled: (enabled: boolean, warning?: string) => void;
|
|
21
|
+
handoff_ready: (sessionId: string, path: string) => void;
|
|
22
|
+
focus_terminal_result: (sessionId: string, success: boolean, method: string, error?: string) => void;
|
|
23
|
+
notification_fired: (notification: {
|
|
24
|
+
id: string;
|
|
25
|
+
category: string;
|
|
26
|
+
title: string;
|
|
27
|
+
body: string;
|
|
28
|
+
priority: string;
|
|
29
|
+
timestamp: number;
|
|
30
|
+
sessionId?: string;
|
|
31
|
+
}) => void;
|
|
32
|
+
server_status: (message: {
|
|
33
|
+
status: string;
|
|
34
|
+
session_count: number;
|
|
35
|
+
scanning?: boolean;
|
|
36
|
+
}) => void;
|
|
37
|
+
error: (error: Error) => void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Jacques WebSocket Client
|
|
41
|
+
*
|
|
42
|
+
* Connects to the Jacques server and emits events for dashboard updates.
|
|
43
|
+
*/
|
|
44
|
+
export declare class JacquesClient extends EventEmitter {
|
|
45
|
+
private ws;
|
|
46
|
+
private serverUrl;
|
|
47
|
+
private reconnectTimeout;
|
|
48
|
+
private reconnectDelay;
|
|
49
|
+
private shouldReconnect;
|
|
50
|
+
private isConnected;
|
|
51
|
+
private log;
|
|
52
|
+
private error;
|
|
53
|
+
private warn;
|
|
54
|
+
constructor(serverUrl?: string, options?: JacquesClientOptions);
|
|
55
|
+
/**
|
|
56
|
+
* Connect to the Jacques server
|
|
57
|
+
*/
|
|
58
|
+
connect(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Handle incoming message from server
|
|
61
|
+
*/
|
|
62
|
+
private handleMessage;
|
|
63
|
+
/**
|
|
64
|
+
* Schedule reconnection with exponential backoff
|
|
65
|
+
*/
|
|
66
|
+
private scheduleReconnect;
|
|
67
|
+
/**
|
|
68
|
+
* Send message to server
|
|
69
|
+
*/
|
|
70
|
+
send(message: ClientMessage): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Select a session (request focus change)
|
|
73
|
+
*/
|
|
74
|
+
selectSession(sessionId: string): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Trigger an action on a session
|
|
77
|
+
*/
|
|
78
|
+
triggerAction(sessionId: string, action: "smart_compact" | "new_session" | "save_snapshot", options?: Record<string, unknown>): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Focus a terminal window for a session
|
|
81
|
+
*/
|
|
82
|
+
focusTerminal(sessionId: string): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Toggle auto-compact setting in ~/.claude/settings.json
|
|
85
|
+
*/
|
|
86
|
+
toggleAutoCompact(): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Disconnect from server
|
|
89
|
+
*/
|
|
90
|
+
disconnect(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Check if connected
|
|
93
|
+
*/
|
|
94
|
+
getIsConnected(): boolean;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=websocket-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../src/client/websocket-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket Client
|
|
3
|
+
*
|
|
4
|
+
* Connects to the Jacques server and receives session updates.
|
|
5
|
+
* Handles reconnection and event dispatching.
|
|
6
|
+
*/
|
|
7
|
+
import WebSocket from "ws";
|
|
8
|
+
import { EventEmitter } from "events";
|
|
9
|
+
const DEFAULT_SERVER_URL = "ws://localhost:4242";
|
|
10
|
+
const RECONNECT_DELAY = 2000;
|
|
11
|
+
const MAX_RECONNECT_DELAY = 30000;
|
|
12
|
+
/**
|
|
13
|
+
* Jacques WebSocket Client
|
|
14
|
+
*
|
|
15
|
+
* Connects to the Jacques server and emits events for dashboard updates.
|
|
16
|
+
*/
|
|
17
|
+
export class JacquesClient extends EventEmitter {
|
|
18
|
+
ws = null;
|
|
19
|
+
serverUrl;
|
|
20
|
+
reconnectTimeout = null;
|
|
21
|
+
reconnectDelay = RECONNECT_DELAY;
|
|
22
|
+
shouldReconnect = true;
|
|
23
|
+
isConnected = false;
|
|
24
|
+
log;
|
|
25
|
+
error;
|
|
26
|
+
warn;
|
|
27
|
+
constructor(serverUrl = DEFAULT_SERVER_URL, options = {}) {
|
|
28
|
+
super();
|
|
29
|
+
this.serverUrl = serverUrl;
|
|
30
|
+
this.log = options.silent ? () => { } : console.log.bind(console);
|
|
31
|
+
this.error = options.silent ? () => { } : console.error.bind(console);
|
|
32
|
+
this.warn = options.silent ? () => { } : console.warn.bind(console);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Connect to the Jacques server
|
|
36
|
+
*/
|
|
37
|
+
connect() {
|
|
38
|
+
if (this.ws) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.shouldReconnect = true;
|
|
42
|
+
try {
|
|
43
|
+
this.ws = new WebSocket(this.serverUrl);
|
|
44
|
+
this.ws.on("open", () => {
|
|
45
|
+
this.isConnected = true;
|
|
46
|
+
this.reconnectDelay = RECONNECT_DELAY;
|
|
47
|
+
this.log("[Client] Connected to Jacques server");
|
|
48
|
+
this.emit("connected");
|
|
49
|
+
});
|
|
50
|
+
this.ws.on("message", (data) => {
|
|
51
|
+
this.handleMessage(data);
|
|
52
|
+
});
|
|
53
|
+
this.ws.on("close", () => {
|
|
54
|
+
this.isConnected = false;
|
|
55
|
+
this.ws = null;
|
|
56
|
+
this.log("[Client] Disconnected from Jacques server");
|
|
57
|
+
this.emit("disconnected");
|
|
58
|
+
this.scheduleReconnect();
|
|
59
|
+
});
|
|
60
|
+
this.ws.on("error", (err) => {
|
|
61
|
+
this.error(`[Client] WebSocket error: ${err.message}`);
|
|
62
|
+
this.emit("error", err);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
this.error(`[Client] Connection error: ${err}`);
|
|
67
|
+
this.emit("error", err);
|
|
68
|
+
this.scheduleReconnect();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Handle incoming message from server
|
|
73
|
+
*/
|
|
74
|
+
handleMessage(data) {
|
|
75
|
+
try {
|
|
76
|
+
const message = JSON.parse(data.toString());
|
|
77
|
+
switch (message.type) {
|
|
78
|
+
case "initial_state":
|
|
79
|
+
this.emit("initial_state", message.sessions, message.focused_session_id, message.scanning);
|
|
80
|
+
break;
|
|
81
|
+
case "server_status":
|
|
82
|
+
this.emit("server_status", message);
|
|
83
|
+
break;
|
|
84
|
+
case "session_update":
|
|
85
|
+
this.emit("session_update", message.session);
|
|
86
|
+
break;
|
|
87
|
+
case "session_removed":
|
|
88
|
+
this.emit("session_removed", message.session_id);
|
|
89
|
+
break;
|
|
90
|
+
case "focus_changed":
|
|
91
|
+
this.emit("focus_changed", message.session_id, message.session);
|
|
92
|
+
break;
|
|
93
|
+
case "autocompact_toggled":
|
|
94
|
+
this.emit("autocompact_toggled", message.enabled, message.warning);
|
|
95
|
+
break;
|
|
96
|
+
case "handoff_ready":
|
|
97
|
+
this.emit("handoff_ready", message.session_id, message.path);
|
|
98
|
+
break;
|
|
99
|
+
case "focus_terminal_result":
|
|
100
|
+
this.emit("focus_terminal_result", message.session_id, message.success, message.method, message.error);
|
|
101
|
+
break;
|
|
102
|
+
case "notification_fired":
|
|
103
|
+
this.emit("notification_fired", message.notification);
|
|
104
|
+
break;
|
|
105
|
+
default: {
|
|
106
|
+
// Handle extended message types (tile, launch, worktree results)
|
|
107
|
+
const msg = message;
|
|
108
|
+
if (typeof msg.type === "string") {
|
|
109
|
+
this.emit(msg.type, msg);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
this.warn(`[Client] Unknown message type: ${message.type}`);
|
|
113
|
+
}
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
this.error(`[Client] Failed to parse message: ${err}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Schedule reconnection with exponential backoff
|
|
124
|
+
*/
|
|
125
|
+
scheduleReconnect() {
|
|
126
|
+
if (!this.shouldReconnect || this.reconnectTimeout) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
this.log(`[Client] Reconnecting in ${this.reconnectDelay / 1000}s...`);
|
|
130
|
+
this.reconnectTimeout = setTimeout(() => {
|
|
131
|
+
this.reconnectTimeout = null;
|
|
132
|
+
this.connect();
|
|
133
|
+
}, this.reconnectDelay);
|
|
134
|
+
// Exponential backoff
|
|
135
|
+
this.reconnectDelay = Math.min(this.reconnectDelay * 2, MAX_RECONNECT_DELAY);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Send message to server
|
|
139
|
+
*/
|
|
140
|
+
send(message) {
|
|
141
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
|
|
142
|
+
this.warn("[Client] Cannot send message: not connected");
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
try {
|
|
146
|
+
this.ws.send(JSON.stringify(message));
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
this.error(`[Client] Failed to send message: ${err}`);
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Select a session (request focus change)
|
|
156
|
+
*/
|
|
157
|
+
selectSession(sessionId) {
|
|
158
|
+
return this.send({
|
|
159
|
+
type: "select_session",
|
|
160
|
+
session_id: sessionId,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Trigger an action on a session
|
|
165
|
+
*/
|
|
166
|
+
triggerAction(sessionId, action, options) {
|
|
167
|
+
return this.send({
|
|
168
|
+
type: "trigger_action",
|
|
169
|
+
session_id: sessionId,
|
|
170
|
+
action,
|
|
171
|
+
options,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Focus a terminal window for a session
|
|
176
|
+
*/
|
|
177
|
+
focusTerminal(sessionId) {
|
|
178
|
+
return this.send({
|
|
179
|
+
type: "focus_terminal",
|
|
180
|
+
session_id: sessionId,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Toggle auto-compact setting in ~/.claude/settings.json
|
|
185
|
+
*/
|
|
186
|
+
toggleAutoCompact() {
|
|
187
|
+
return this.send({
|
|
188
|
+
type: "toggle_autocompact",
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Disconnect from server
|
|
193
|
+
*/
|
|
194
|
+
disconnect() {
|
|
195
|
+
this.shouldReconnect = false;
|
|
196
|
+
if (this.reconnectTimeout) {
|
|
197
|
+
clearTimeout(this.reconnectTimeout);
|
|
198
|
+
this.reconnectTimeout = null;
|
|
199
|
+
}
|
|
200
|
+
if (this.ws) {
|
|
201
|
+
try {
|
|
202
|
+
// Only close if the websocket is open or connecting
|
|
203
|
+
if (this.ws.readyState === WebSocket.OPEN ||
|
|
204
|
+
this.ws.readyState === WebSocket.CONNECTING) {
|
|
205
|
+
this.ws.close(1000, "Client disconnecting");
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
catch (err) {
|
|
209
|
+
// Ignore errors during disconnect
|
|
210
|
+
}
|
|
211
|
+
this.ws = null;
|
|
212
|
+
}
|
|
213
|
+
this.isConnected = false;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Check if connected
|
|
217
|
+
*/
|
|
218
|
+
getIsConnected() {
|
|
219
|
+
return this.isConnected;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=websocket-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../../src/client/websocket-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Module
|
|
3
|
+
*
|
|
4
|
+
* Manages project knowledge in .jacques/
|
|
5
|
+
* - context/: External files imported from Obsidian, Google Docs, etc.
|
|
6
|
+
* - sessions/: Saved Claude Code conversations
|
|
7
|
+
* - plans/: Implementation plans
|
|
8
|
+
*/
|
|
9
|
+
export type { ProjectIndex, ContextFile, SessionEntry, PlanEntry, SubagentEntry, ContextSource, AddContextOptions, ContextIndex, } from "./types.js";
|
|
10
|
+
export { getDefaultIndex, migrateIndex } from "./types.js";
|
|
11
|
+
export { getIndexPath, readProjectIndex, writeProjectIndex, addContextToIndex, removeContextFromIndex, addSessionToIndex, removeSessionFromIndex, addPlanToIndex, removePlanFromIndex, addSubagentToIndex, removeSubagentFromIndex, fileExistsInIndex, readContextIndex, writeContextIndex, addToIndex, removeFromIndex, } from "./indexer.js";
|
|
12
|
+
export { generateContextId, sanitizeFilename, getContextDir, addContext, removeContext, hasContextFiles, formatFileSize, estimateTokensFromSize, countTokens, countFileTokens, formatTokenCount, extractTags, } from "./manager.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EAEjB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG3D,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAEjB,iBAAiB,EACjB,sBAAsB,EAEtB,iBAAiB,EACjB,sBAAsB,EAEtB,cAAc,EACd,mBAAmB,EAEnB,kBAAkB,EAClB,uBAAuB,EAEvB,iBAAiB,EAEjB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,WAAW,GACZ,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Module
|
|
3
|
+
*
|
|
4
|
+
* Manages project knowledge in .jacques/
|
|
5
|
+
* - context/: External files imported from Obsidian, Google Docs, etc.
|
|
6
|
+
* - sessions/: Saved Claude Code conversations
|
|
7
|
+
* - plans/: Implementation plans
|
|
8
|
+
*/
|
|
9
|
+
export { getDefaultIndex, migrateIndex } from "./types.js";
|
|
10
|
+
// Indexer - unified project index
|
|
11
|
+
export { getIndexPath, readProjectIndex, writeProjectIndex,
|
|
12
|
+
// Context operations
|
|
13
|
+
addContextToIndex, removeContextFromIndex,
|
|
14
|
+
// Session operations
|
|
15
|
+
addSessionToIndex, removeSessionFromIndex,
|
|
16
|
+
// Plan operations
|
|
17
|
+
addPlanToIndex, removePlanFromIndex,
|
|
18
|
+
// Subagent operations
|
|
19
|
+
addSubagentToIndex, removeSubagentFromIndex,
|
|
20
|
+
// Utilities
|
|
21
|
+
fileExistsInIndex,
|
|
22
|
+
// Legacy compatibility
|
|
23
|
+
readContextIndex, writeContextIndex, addToIndex, removeFromIndex, } from "./indexer.js";
|
|
24
|
+
// Manager - file operations
|
|
25
|
+
export { generateContextId, sanitizeFilename, getContextDir, addContext, removeContext, hasContextFiles, formatFileSize, estimateTokensFromSize, countTokens, countFileTokens, formatTokenCount, extractTags, } from "./manager.js";
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3D,kCAAkC;AAClC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB;AACjB,qBAAqB;AACrB,iBAAiB,EACjB,sBAAsB;AACtB,qBAAqB;AACrB,iBAAiB,EACjB,sBAAsB;AACtB,kBAAkB;AAClB,cAAc,EACd,mBAAmB;AACnB,sBAAsB;AACtB,kBAAkB,EAClB,uBAAuB;AACvB,YAAY;AACZ,iBAAiB;AACjB,uBAAuB;AACvB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,4BAA4B;AAC5B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,WAAW,GACZ,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Indexer
|
|
3
|
+
*
|
|
4
|
+
* Reads and writes .jacques/index.json - the unified project knowledge index.
|
|
5
|
+
* Tracks context files, sessions, and plans in a single location.
|
|
6
|
+
*/
|
|
7
|
+
import type { ProjectIndex, ContextFile, SessionEntry, PlanEntry, SubagentEntry, ContextIndex } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Get the path to the index file for a project
|
|
10
|
+
*/
|
|
11
|
+
export declare function getIndexPath(cwd: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Read the unified project index from .jacques/index.json
|
|
14
|
+
* Automatically migrates legacy format (files-only) to new format
|
|
15
|
+
*/
|
|
16
|
+
export declare function readProjectIndex(cwd: string): Promise<ProjectIndex>;
|
|
17
|
+
/**
|
|
18
|
+
* Write the project index to .jacques/index.json
|
|
19
|
+
*/
|
|
20
|
+
export declare function writeProjectIndex(cwd: string, index: ProjectIndex): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Add a context file to the index
|
|
23
|
+
*/
|
|
24
|
+
export declare function addContextToIndex(cwd: string, file: ContextFile): Promise<ProjectIndex>;
|
|
25
|
+
/**
|
|
26
|
+
* Remove a context file from the index
|
|
27
|
+
*/
|
|
28
|
+
export declare function removeContextFromIndex(cwd: string, fileId: string): Promise<ProjectIndex>;
|
|
29
|
+
/**
|
|
30
|
+
* Add a session to the index
|
|
31
|
+
*/
|
|
32
|
+
export declare function addSessionToIndex(cwd: string, session: SessionEntry): Promise<ProjectIndex>;
|
|
33
|
+
/**
|
|
34
|
+
* Remove a session from the index
|
|
35
|
+
*/
|
|
36
|
+
export declare function removeSessionFromIndex(cwd: string, sessionId: string): Promise<ProjectIndex>;
|
|
37
|
+
/**
|
|
38
|
+
* Add a plan to the index
|
|
39
|
+
*/
|
|
40
|
+
export declare function addPlanToIndex(cwd: string, plan: PlanEntry): Promise<ProjectIndex>;
|
|
41
|
+
/**
|
|
42
|
+
* Remove a plan from the index
|
|
43
|
+
*/
|
|
44
|
+
export declare function removePlanFromIndex(cwd: string, planId: string): Promise<ProjectIndex>;
|
|
45
|
+
/**
|
|
46
|
+
* Add a subagent entry to the index
|
|
47
|
+
*/
|
|
48
|
+
export declare function addSubagentToIndex(cwd: string, entry: SubagentEntry): Promise<ProjectIndex>;
|
|
49
|
+
/**
|
|
50
|
+
* Remove a subagent entry from the index
|
|
51
|
+
*/
|
|
52
|
+
export declare function removeSubagentFromIndex(cwd: string, subagentId: string): Promise<ProjectIndex>;
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated Use readProjectIndex instead
|
|
55
|
+
*/
|
|
56
|
+
export declare function readContextIndex(cwd: string): Promise<ContextIndex>;
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Use writeProjectIndex instead
|
|
59
|
+
*/
|
|
60
|
+
export declare function writeContextIndex(cwd: string, legacyIndex: ContextIndex): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* @deprecated Use addContextToIndex instead
|
|
63
|
+
*/
|
|
64
|
+
export declare function addToIndex(cwd: string, file: ContextFile): Promise<ContextIndex>;
|
|
65
|
+
/**
|
|
66
|
+
* @deprecated Use removeContextFromIndex instead
|
|
67
|
+
*/
|
|
68
|
+
export declare function removeFromIndex(cwd: string, fileId: string): Promise<ContextIndex>;
|
|
69
|
+
/**
|
|
70
|
+
* Check if a context file exists in the index
|
|
71
|
+
*/
|
|
72
|
+
export declare function fileExistsInIndex(cwd: string, fileId: string): Promise<boolean>;
|
|
73
|
+
//# sourceMappingURL=indexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/context/indexer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAMpB;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA6BzE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAYf;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,YAAY,CAAC,CAYvB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAKvB;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,YAAY,CAAC,CAiBvB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CAKvB;AAMD;;GAEG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,YAAY,CAAC,CAsBvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAKvB;AAMD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,YAAY,CAAC,CAkBvB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CAKvB;AAMD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAOzE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,YAAY,GACxB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,YAAY,CAAC,CAOvB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAOvB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAGlB"}
|