jumbo-cli 3.4.0 → 3.6.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/assets/agent-files/json/claude-settings.fragment.json +41 -0
- package/assets/agent-files/json/codex-hooks.fragment.json +36 -0
- package/assets/agent-files/json/copilot-hooks.fragment.json +14 -0
- package/assets/agent-files/json/cursor-hooks.fragment.json +11 -0
- package/assets/agent-files/json/gemini-settings.fragment.json +41 -0
- package/assets/agent-files/markdown/AGENTS.md +6 -0
- package/assets/agent-files/markdown/CLAUDE.md +6 -0
- package/assets/agent-files/markdown/GEMINI.md +6 -0
- package/assets/agent-files/markdown/JUMBO.md +7 -0
- package/assets/agent-files/markdown/copilot-instructions.md +6 -0
- package/assets/agent-files/markdown/cursor-rules.mdc +10 -0
- package/assets/skills/jumbo-bootstrap-session/SKILL.md +11 -0
- package/assets/skills/jumbo-command-discovery/SKILL.md +11 -0
- package/assets/skills/jumbo-context-maintenance/SKILL.md +11 -0
- package/assets/skills/jumbo-correction-capture/SKILL.md +11 -0
- package/dist/application/context/search/ISearchDocumentProjector.d.ts +10 -0
- package/dist/application/context/search/ISearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/ISearchDocumentProjector.js +2 -0
- package/dist/application/context/search/ISearchDocumentProjector.js.map +1 -0
- package/dist/application/context/search/ISearchGateway.d.ts +6 -0
- package/dist/application/context/search/ISearchGateway.d.ts.map +1 -0
- package/dist/application/context/search/ISearchGateway.js +2 -0
- package/dist/application/context/search/ISearchGateway.js.map +1 -0
- package/dist/application/context/search/ISearchIndexReader.d.ts +9 -0
- package/dist/application/context/search/ISearchIndexReader.d.ts.map +1 -0
- package/dist/application/context/search/ISearchIndexReader.js +2 -0
- package/dist/application/context/search/ISearchIndexReader.js.map +1 -0
- package/dist/application/context/search/ISearchIndexRebuildGateway.d.ts +6 -0
- package/dist/application/context/search/ISearchIndexRebuildGateway.d.ts.map +1 -0
- package/dist/application/context/search/ISearchIndexRebuildGateway.js +2 -0
- package/dist/application/context/search/ISearchIndexRebuildGateway.js.map +1 -0
- package/dist/application/context/search/ISearchIndexRebuildStore.d.ts +6 -0
- package/dist/application/context/search/ISearchIndexRebuildStore.d.ts.map +1 -0
- package/dist/application/context/search/ISearchIndexRebuildStore.js +2 -0
- package/dist/application/context/search/ISearchIndexRebuildStore.js.map +1 -0
- package/dist/application/context/search/ISearchIndexWriter.d.ts +7 -0
- package/dist/application/context/search/ISearchIndexWriter.d.ts.map +1 -0
- package/dist/application/context/search/ISearchIndexWriter.js +2 -0
- package/dist/application/context/search/ISearchIndexWriter.js.map +1 -0
- package/dist/application/context/search/ISearchProvider.d.ts +6 -0
- package/dist/application/context/search/ISearchProvider.d.ts.map +1 -0
- package/dist/application/context/search/ISearchProvider.js +2 -0
- package/dist/application/context/search/ISearchProvider.js.map +1 -0
- package/dist/application/context/search/LocalSearchGateway.d.ts +14 -0
- package/dist/application/context/search/LocalSearchGateway.d.ts.map +1 -0
- package/dist/application/context/search/LocalSearchGateway.js +40 -0
- package/dist/application/context/search/LocalSearchGateway.js.map +1 -0
- package/dist/application/context/search/SearchCategory.d.ts +10 -0
- package/dist/application/context/search/SearchCategory.d.ts.map +1 -0
- package/dist/application/context/search/SearchCategory.js +8 -0
- package/dist/application/context/search/SearchCategory.js.map +1 -0
- package/dist/application/context/search/SearchController.d.ts +9 -0
- package/dist/application/context/search/SearchController.d.ts.map +1 -0
- package/dist/application/context/search/SearchController.js +9 -0
- package/dist/application/context/search/SearchController.js.map +1 -0
- package/dist/application/context/search/SearchCriteria.d.ts +8 -0
- package/dist/application/context/search/SearchCriteria.d.ts.map +1 -0
- package/dist/application/context/search/SearchCriteria.js +2 -0
- package/dist/application/context/search/SearchCriteria.js.map +1 -0
- package/dist/application/context/search/SearchDocument.d.ts +16 -0
- package/dist/application/context/search/SearchDocument.d.ts.map +1 -0
- package/dist/application/context/search/SearchDocument.js +2 -0
- package/dist/application/context/search/SearchDocument.js.map +1 -0
- package/dist/application/context/search/SearchDocumentChange.d.ts +10 -0
- package/dist/application/context/search/SearchDocumentChange.d.ts.map +1 -0
- package/dist/application/context/search/SearchDocumentChange.js +2 -0
- package/dist/application/context/search/SearchDocumentChange.js.map +1 -0
- package/dist/application/context/search/SearchDocumentProjectorRegistry.d.ts +9 -0
- package/dist/application/context/search/SearchDocumentProjectorRegistry.d.ts.map +1 -0
- package/dist/application/context/search/SearchDocumentProjectorRegistry.js +17 -0
- package/dist/application/context/search/SearchDocumentProjectorRegistry.js.map +1 -0
- package/dist/application/context/search/SearchDocumentSource.d.ts +5 -0
- package/dist/application/context/search/SearchDocumentSource.d.ts.map +1 -0
- package/dist/application/context/search/SearchDocumentSource.js +2 -0
- package/dist/application/context/search/SearchDocumentSource.js.map +1 -0
- package/dist/application/context/search/SearchFacetValue.d.ts +2 -0
- package/dist/application/context/search/SearchFacetValue.d.ts.map +1 -0
- package/dist/application/context/search/SearchFacetValue.js +2 -0
- package/dist/application/context/search/SearchFacetValue.js.map +1 -0
- package/dist/application/context/search/SearchHit.d.ts +13 -0
- package/dist/application/context/search/SearchHit.d.ts.map +1 -0
- package/dist/application/context/search/SearchHit.js +2 -0
- package/dist/application/context/search/SearchHit.js.map +1 -0
- package/dist/application/context/search/SearchHitGroup.d.ts +7 -0
- package/dist/application/context/search/SearchHitGroup.d.ts.map +1 -0
- package/dist/application/context/search/SearchHitGroup.js +2 -0
- package/dist/application/context/search/SearchHitGroup.js.map +1 -0
- package/dist/application/context/search/SearchIndexEventHandler.d.ts +14 -0
- package/dist/application/context/search/SearchIndexEventHandler.d.ts.map +1 -0
- package/dist/application/context/search/SearchIndexEventHandler.js +24 -0
- package/dist/application/context/search/SearchIndexEventHandler.js.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildController.d.ts +9 -0
- package/dist/application/context/search/SearchIndexRebuildController.d.ts.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildController.js +9 -0
- package/dist/application/context/search/SearchIndexRebuildController.js.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildRequest.d.ts +3 -0
- package/dist/application/context/search/SearchIndexRebuildRequest.d.ts.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildRequest.js +2 -0
- package/dist/application/context/search/SearchIndexRebuildRequest.js.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildResponse.d.ts +9 -0
- package/dist/application/context/search/SearchIndexRebuildResponse.d.ts.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildResponse.js +2 -0
- package/dist/application/context/search/SearchIndexRebuildResponse.js.map +1 -0
- package/dist/application/context/search/SearchRequest.d.ts +5 -0
- package/dist/application/context/search/SearchRequest.d.ts.map +1 -0
- package/dist/application/context/search/SearchRequest.js +2 -0
- package/dist/application/context/search/SearchRequest.js.map +1 -0
- package/dist/application/context/search/SearchResponse.d.ts +7 -0
- package/dist/application/context/search/SearchResponse.d.ts.map +1 -0
- package/dist/application/context/search/SearchResponse.js +2 -0
- package/dist/application/context/search/SearchResponse.js.map +1 -0
- package/dist/application/context/search/SearchResultLimit.d.ts +6 -0
- package/dist/application/context/search/SearchResultLimit.d.ts.map +1 -0
- package/dist/application/context/search/SearchResultLimit.js +6 -0
- package/dist/application/context/search/SearchResultLimit.js.map +1 -0
- package/dist/application/context/search/projectors/ComponentSearchDocumentProjector.d.ts +14 -0
- package/dist/application/context/search/projectors/ComponentSearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/projectors/ComponentSearchDocumentProjector.js +93 -0
- package/dist/application/context/search/projectors/ComponentSearchDocumentProjector.js.map +1 -0
- package/dist/application/context/search/projectors/DecisionSearchDocumentProjector.d.ts +14 -0
- package/dist/application/context/search/projectors/DecisionSearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/projectors/DecisionSearchDocumentProjector.js +92 -0
- package/dist/application/context/search/projectors/DecisionSearchDocumentProjector.js.map +1 -0
- package/dist/application/context/search/projectors/DependencySearchDocumentProjector.d.ts +14 -0
- package/dist/application/context/search/projectors/DependencySearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/projectors/DependencySearchDocumentProjector.js +89 -0
- package/dist/application/context/search/projectors/DependencySearchDocumentProjector.js.map +1 -0
- package/dist/application/context/search/projectors/GuidelineSearchDocumentProjector.d.ts +14 -0
- package/dist/application/context/search/projectors/GuidelineSearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/projectors/GuidelineSearchDocumentProjector.js +71 -0
- package/dist/application/context/search/projectors/GuidelineSearchDocumentProjector.js.map +1 -0
- package/dist/application/context/search/projectors/InvariantSearchDocumentProjector.d.ts +14 -0
- package/dist/application/context/search/projectors/InvariantSearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/projectors/InvariantSearchDocumentProjector.js +61 -0
- package/dist/application/context/search/projectors/InvariantSearchDocumentProjector.js.map +1 -0
- package/dist/application/host/IApplicationContainer.d.ts +6 -0
- package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
- package/dist/domain/project/AgentFileAssetContent.d.ts +7 -0
- package/dist/domain/project/AgentFileAssetContent.d.ts.map +1 -0
- package/dist/domain/project/AgentFileAssetContent.js +24 -0
- package/dist/domain/project/AgentFileAssetContent.js.map +1 -0
- package/dist/domain/project/AgentFileReferenceContent.d.ts +1 -6
- package/dist/domain/project/AgentFileReferenceContent.d.ts.map +1 -1
- package/dist/domain/project/AgentFileReferenceContent.js +3 -12
- package/dist/domain/project/AgentFileReferenceContent.js.map +1 -1
- package/dist/domain/project/AgentsMdContent.d.ts +1 -7
- package/dist/domain/project/AgentsMdContent.d.ts.map +1 -1
- package/dist/domain/project/AgentsMdContent.js +4 -14
- package/dist/domain/project/AgentsMdContent.js.map +1 -1
- package/dist/domain/project/CopilotInstructionsContent.d.ts +5 -6
- package/dist/domain/project/CopilotInstructionsContent.d.ts.map +1 -1
- package/dist/domain/project/CopilotInstructionsContent.js +10 -17
- package/dist/domain/project/CopilotInstructionsContent.js.map +1 -1
- package/dist/domain/project/CursorRulesContent.d.ts +1 -7
- package/dist/domain/project/CursorRulesContent.d.ts.map +1 -1
- package/dist/domain/project/CursorRulesContent.js +4 -23
- package/dist/domain/project/CursorRulesContent.js.map +1 -1
- package/dist/domain/project/JumboMdContent.d.ts +1 -10
- package/dist/domain/project/JumboMdContent.d.ts.map +1 -1
- package/dist/domain/project/JumboMdContent.js +4 -117
- package/dist/domain/project/JumboMdContent.js.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js +2 -40
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CodexConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CodexConfigurer.js +2 -35
- package/dist/infrastructure/context/project/init/CodexConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js +4 -26
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CursorConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CursorConfigurer.js +2 -10
- package/dist/infrastructure/context/project/init/CursorConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js +2 -40
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js.map +1 -1
- package/dist/infrastructure/context/search/LocalSearchIndexRebuildGateway.d.ts +18 -0
- package/dist/infrastructure/context/search/LocalSearchIndexRebuildGateway.d.ts.map +1 -0
- package/dist/infrastructure/context/search/LocalSearchIndexRebuildGateway.js +28 -0
- package/dist/infrastructure/context/search/LocalSearchIndexRebuildGateway.js.map +1 -0
- package/dist/infrastructure/context/search/ProjectedSearchIndexProvider.d.ts +10 -0
- package/dist/infrastructure/context/search/ProjectedSearchIndexProvider.d.ts.map +1 -0
- package/dist/infrastructure/context/search/ProjectedSearchIndexProvider.js +9 -0
- package/dist/infrastructure/context/search/ProjectedSearchIndexProvider.js.map +1 -0
- package/dist/infrastructure/context/search/SearchIndexRecord.d.ts +14 -0
- package/dist/infrastructure/context/search/SearchIndexRecord.d.ts.map +1 -0
- package/dist/infrastructure/context/search/SearchIndexRecord.js +2 -0
- package/dist/infrastructure/context/search/SearchIndexRecord.js.map +1 -0
- package/dist/infrastructure/context/search/SearchIndexRecordMapper.d.ts +10 -0
- package/dist/infrastructure/context/search/SearchIndexRecordMapper.d.ts.map +1 -0
- package/dist/infrastructure/context/search/SearchIndexRecordMapper.js +44 -0
- package/dist/infrastructure/context/search/SearchIndexRecordMapper.js.map +1 -0
- package/dist/infrastructure/context/search/SqliteSearchIndexStore.d.ts +21 -0
- package/dist/infrastructure/context/search/SqliteSearchIndexStore.d.ts.map +1 -0
- package/dist/infrastructure/context/search/SqliteSearchIndexStore.js +94 -0
- package/dist/infrastructure/context/search/SqliteSearchIndexStore.js.map +1 -0
- package/dist/infrastructure/context/search/migrations/001-create-search-index-entries.sql +26 -0
- package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
- package/dist/infrastructure/host/HostBuilder.js +19 -0
- package/dist/infrastructure/host/HostBuilder.js.map +1 -1
- package/dist/infrastructure/messaging/ProjectionBusFactory.d.ts +1 -0
- package/dist/infrastructure/messaging/ProjectionBusFactory.d.ts.map +1 -1
- package/dist/infrastructure/messaging/ProjectionBusFactory.js +13 -0
- package/dist/infrastructure/messaging/ProjectionBusFactory.js.map +1 -1
- package/dist/infrastructure/persistence/migrations.config.d.ts.map +1 -1
- package/dist/infrastructure/persistence/migrations.config.js +1 -0
- package/dist/infrastructure/persistence/migrations.config.js.map +1 -1
- package/dist/presentation/cli/commands/index/rebuild/IndexRebuildOutputBuilder.d.ts +20 -0
- package/dist/presentation/cli/commands/index/rebuild/IndexRebuildOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/index/rebuild/IndexRebuildOutputBuilder.js +54 -0
- package/dist/presentation/cli/commands/index/rebuild/IndexRebuildOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/index/rebuild/index.rebuild.d.ts +8 -0
- package/dist/presentation/cli/commands/index/rebuild/index.rebuild.d.ts.map +1 -0
- package/dist/presentation/cli/commands/index/rebuild/index.rebuild.js +45 -0
- package/dist/presentation/cli/commands/index/rebuild/index.rebuild.js.map +1 -0
- package/dist/presentation/cli/commands/registry/generated-commands.d.ts.map +1 -1
- package/dist/presentation/cli/commands/registry/generated-commands.js +12 -0
- package/dist/presentation/cli/commands/registry/generated-commands.js.map +1 -1
- package/dist/presentation/cli/commands/search/SearchOutputBuilder.d.ts +17 -0
- package/dist/presentation/cli/commands/search/SearchOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/search/SearchOutputBuilder.js +111 -0
- package/dist/presentation/cli/commands/search/SearchOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/search/search.d.ts +12 -0
- package/dist/presentation/cli/commands/search/search.d.ts.map +1 -0
- package/dist/presentation/cli/commands/search/search.js +119 -0
- package/dist/presentation/cli/commands/search/search.js.map +1 -0
- package/dist/presentation/cli/help/SubcommandHelpFormatter.d.ts.map +1 -1
- package/dist/presentation/cli/help/SubcommandHelpFormatter.js +3 -4
- package/dist/presentation/cli/help/SubcommandHelpFormatter.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CursorConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"CursorConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CursorConfigurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/GeminiConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"GeminiConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/GeminiConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,gBAAiB,YAAW,WAAW;IAClD,QAAQ,CAAC,KAAK;;;MAGH;IAEX,QAAQ,CAAC,cAAc,8BAA+B;IAEtD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;YACW,cAAc;IA6B5B;;OAEG;YACW,oBAAoB;IAalC;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD;;OAEG;YACW,cAAc;IA8B5B;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAmB/E"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import path from "path";
|
|
11
11
|
import fs from "fs-extra";
|
|
12
12
|
import { AgentFileReferenceContent } from "../../../../domain/project/AgentFileReferenceContent.js";
|
|
13
|
+
import { AgentFileAssetContent } from "../../../../domain/project/AgentFileAssetContent.js";
|
|
13
14
|
import { SafeGeminiSettingsMerger } from "./SafeGeminiSettingsMerger.js";
|
|
14
15
|
export class GeminiConfigurer {
|
|
15
16
|
constructor() {
|
|
@@ -59,46 +60,7 @@ export class GeminiConfigurer {
|
|
|
59
60
|
*/
|
|
60
61
|
async ensureGeminiSettings(projectRoot) {
|
|
61
62
|
try {
|
|
62
|
-
|
|
63
|
-
const jumboSettings = {
|
|
64
|
-
hooks: {
|
|
65
|
-
SessionStart: [
|
|
66
|
-
{
|
|
67
|
-
matcher: "startup",
|
|
68
|
-
hooks: [
|
|
69
|
-
{
|
|
70
|
-
type: "command",
|
|
71
|
-
command: "jumbo session start",
|
|
72
|
-
},
|
|
73
|
-
],
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
matcher: "compress",
|
|
77
|
-
hooks: [
|
|
78
|
-
{
|
|
79
|
-
type: "command",
|
|
80
|
-
command: "jumbo work resume",
|
|
81
|
-
},
|
|
82
|
-
],
|
|
83
|
-
},
|
|
84
|
-
],
|
|
85
|
-
PreCompress: [
|
|
86
|
-
{
|
|
87
|
-
matcher: "auto",
|
|
88
|
-
hooks: [
|
|
89
|
-
{
|
|
90
|
-
type: "command",
|
|
91
|
-
command: "jumbo work pause",
|
|
92
|
-
},
|
|
93
|
-
],
|
|
94
|
-
},
|
|
95
|
-
],
|
|
96
|
-
},
|
|
97
|
-
tools: {
|
|
98
|
-
allowed: ["run_shell_command(jumbo --help)"],
|
|
99
|
-
},
|
|
100
|
-
};
|
|
101
|
-
// Merge into existing settings (or create new)
|
|
63
|
+
const jumboSettings = AgentFileAssetContent.readJson("gemini-settings.fragment.json");
|
|
102
64
|
await SafeGeminiSettingsMerger.mergeSettings(projectRoot, jumboSettings);
|
|
103
65
|
}
|
|
104
66
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/GeminiConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,MAAM,OAAO,gBAAgB;IAA7B;QACW,UAAK,GAAG;YACf,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;SACN,CAAC;QAEF,mBAAc,GAAG,CAAC,gBAAgB,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"GeminiConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/GeminiConfigurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IEventStore } from "../../../application/persistence/IEventStore.js";
|
|
2
|
+
import { ISearchIndexReader } from "../../../application/context/search/ISearchIndexReader.js";
|
|
3
|
+
import { ISearchIndexRebuildGateway } from "../../../application/context/search/ISearchIndexRebuildGateway.js";
|
|
4
|
+
import { ISearchIndexRebuildStore } from "../../../application/context/search/ISearchIndexRebuildStore.js";
|
|
5
|
+
import { ISearchIndexWriter } from "../../../application/context/search/ISearchIndexWriter.js";
|
|
6
|
+
import { SearchDocumentProjectorRegistry } from "../../../application/context/search/SearchDocumentProjectorRegistry.js";
|
|
7
|
+
import { SearchIndexRebuildRequest } from "../../../application/context/search/SearchIndexRebuildRequest.js";
|
|
8
|
+
import { SearchIndexRebuildResponse } from "../../../application/context/search/SearchIndexRebuildResponse.js";
|
|
9
|
+
export declare class LocalSearchIndexRebuildGateway implements ISearchIndexRebuildGateway {
|
|
10
|
+
private readonly eventStore;
|
|
11
|
+
private readonly rebuildStore;
|
|
12
|
+
private readonly reader;
|
|
13
|
+
private readonly writer;
|
|
14
|
+
private readonly projectorRegistry;
|
|
15
|
+
constructor(eventStore: IEventStore, rebuildStore: ISearchIndexRebuildStore, reader: ISearchIndexReader, writer: ISearchIndexWriter, projectorRegistry?: SearchDocumentProjectorRegistry);
|
|
16
|
+
rebuildSearchIndex(_request: SearchIndexRebuildRequest): Promise<SearchIndexRebuildResponse>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=LocalSearchIndexRebuildGateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalSearchIndexRebuildGateway.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/context/search/LocalSearchIndexRebuildGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,mEAAmE,CAAC;AAC/G,OAAO,EAAE,wBAAwB,EAAE,MAAM,iEAAiE,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAC/F,OAAO,EAAE,+BAA+B,EAAE,MAAM,wEAAwE,CAAC;AAEzH,OAAO,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAC7G,OAAO,EAAE,0BAA0B,EAAE,MAAM,mEAAmE,CAAC;AAE/G,qBAAa,8BAA+B,YAAW,0BAA0B;IAE7E,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAJjB,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,wBAAwB,EACtC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,kCAAwC;IAGtE,kBAAkB,CAAC,QAAQ,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAuBnG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { SearchDocumentProjectorRegistry } from "../../../application/context/search/SearchDocumentProjectorRegistry.js";
|
|
2
|
+
import { SearchIndexEventHandler } from "../../../application/context/search/SearchIndexEventHandler.js";
|
|
3
|
+
export class LocalSearchIndexRebuildGateway {
|
|
4
|
+
constructor(eventStore, rebuildStore, reader, writer, projectorRegistry = new SearchDocumentProjectorRegistry()) {
|
|
5
|
+
this.eventStore = eventStore;
|
|
6
|
+
this.rebuildStore = rebuildStore;
|
|
7
|
+
this.reader = reader;
|
|
8
|
+
this.writer = writer;
|
|
9
|
+
this.projectorRegistry = projectorRegistry;
|
|
10
|
+
}
|
|
11
|
+
async rebuildSearchIndex(_request) {
|
|
12
|
+
const events = await this.eventStore.getAllEvents();
|
|
13
|
+
const removedEntries = await this.rebuildStore.clear();
|
|
14
|
+
const eventHandler = new SearchIndexEventHandler(this.projectorRegistry.createMemoryProjectors(), this.reader, this.writer);
|
|
15
|
+
for (const event of events) {
|
|
16
|
+
await eventHandler.handle(event);
|
|
17
|
+
}
|
|
18
|
+
const countsByCategory = await this.rebuildStore.countByCategory();
|
|
19
|
+
return {
|
|
20
|
+
success: true,
|
|
21
|
+
eventsInspected: events.length,
|
|
22
|
+
documentsIndexed: Object.values(countsByCategory).reduce((sum, count) => sum + (count ?? 0), 0),
|
|
23
|
+
removedEntries,
|
|
24
|
+
countsByCategory,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=LocalSearchIndexRebuildGateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalSearchIndexRebuildGateway.js","sourceRoot":"","sources":["../../../../src/infrastructure/context/search/LocalSearchIndexRebuildGateway.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,+BAA+B,EAAE,MAAM,wEAAwE,CAAC;AACzH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AAIzG,MAAM,OAAO,8BAA8B;IACzC,YACmB,UAAuB,EACvB,YAAsC,EACtC,MAA0B,EAC1B,MAA0B,EAC1B,oBAAoB,IAAI,+BAA+B,EAAE;QAJzD,eAAU,GAAV,UAAU,CAAa;QACvB,iBAAY,GAAZ,YAAY,CAA0B;QACtC,WAAM,GAAN,MAAM,CAAoB;QAC1B,WAAM,GAAN,MAAM,CAAoB;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAwC;IACzE,CAAC;IAEJ,KAAK,CAAC,kBAAkB,CAAC,QAAmC;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,uBAAuB,CAC9C,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,EAC/C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QAEnE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,MAAM,CAAC,MAAM;YAC9B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACvG,cAAc;YACd,gBAAgB;SACjB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ISearchIndexReader } from "../../../application/context/search/ISearchIndexReader.js";
|
|
2
|
+
import { ISearchProvider } from "../../../application/context/search/ISearchProvider.js";
|
|
3
|
+
import { SearchCriteria } from "../../../application/context/search/SearchCriteria.js";
|
|
4
|
+
import { SearchHit } from "../../../application/context/search/SearchHit.js";
|
|
5
|
+
export declare class ProjectedSearchIndexProvider implements ISearchProvider {
|
|
6
|
+
private readonly reader;
|
|
7
|
+
constructor(reader: ISearchIndexReader);
|
|
8
|
+
search(criteria: SearchCriteria): Promise<readonly SearchHit[]>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ProjectedSearchIndexProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectedSearchIndexProvider.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/context/search/ProjectedSearchIndexProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAE7E,qBAAa,4BAA6B,YAAW,eAAe;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,kBAAkB;IAEjD,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC;CAGtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectedSearchIndexProvider.js","sourceRoot":"","sources":["../../../../src/infrastructure/context/search/ProjectedSearchIndexProvider.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,4BAA4B;IACvC,YAA6B,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAE3D,KAAK,CAAC,MAAM,CAAC,QAAwB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface SearchIndexRecord {
|
|
2
|
+
readonly sourceType: string;
|
|
3
|
+
readonly sourceId: string;
|
|
4
|
+
readonly category: string;
|
|
5
|
+
readonly title: string;
|
|
6
|
+
readonly summary: string | null;
|
|
7
|
+
readonly content: string;
|
|
8
|
+
readonly facets: string;
|
|
9
|
+
readonly metadata: string;
|
|
10
|
+
readonly version: number;
|
|
11
|
+
readonly createdAt: string;
|
|
12
|
+
readonly updatedAt: string;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=SearchIndexRecord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchIndexRecord.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/context/search/SearchIndexRecord.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchIndexRecord.js","sourceRoot":"","sources":["../../../../src/infrastructure/context/search/SearchIndexRecord.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SearchDocument } from "../../../application/context/search/SearchDocument.js";
|
|
2
|
+
import { SearchHit } from "../../../application/context/search/SearchHit.js";
|
|
3
|
+
import { SearchIndexRecord } from "./SearchIndexRecord.js";
|
|
4
|
+
export declare class SearchIndexRecordMapper {
|
|
5
|
+
toDocument(record: SearchIndexRecord): SearchDocument;
|
|
6
|
+
toHit(record: SearchIndexRecord, query: string | undefined, score: number): SearchHit;
|
|
7
|
+
private parseJson;
|
|
8
|
+
private buildSnippet;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=SearchIndexRecordMapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchIndexRecordMapper.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/context/search/SearchIndexRecordMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,qBAAa,uBAAuB;IAClC,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc;IAerD,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS;IAYrF,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,YAAY;CAYrB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export class SearchIndexRecordMapper {
|
|
2
|
+
toDocument(record) {
|
|
3
|
+
return {
|
|
4
|
+
source: { type: record.sourceType, id: record.sourceId },
|
|
5
|
+
category: record.category,
|
|
6
|
+
title: record.title,
|
|
7
|
+
summary: record.summary,
|
|
8
|
+
content: record.content,
|
|
9
|
+
facets: this.parseJson(record.facets),
|
|
10
|
+
metadata: this.parseJson(record.metadata),
|
|
11
|
+
version: record.version,
|
|
12
|
+
createdAt: record.createdAt,
|
|
13
|
+
updatedAt: record.updatedAt,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
toHit(record, query, score) {
|
|
17
|
+
return {
|
|
18
|
+
source: { type: record.sourceType, id: record.sourceId },
|
|
19
|
+
category: record.category,
|
|
20
|
+
title: record.title,
|
|
21
|
+
summary: record.summary,
|
|
22
|
+
snippet: this.buildSnippet(record, query),
|
|
23
|
+
facets: this.parseJson(record.facets),
|
|
24
|
+
score,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
parseJson(value) {
|
|
28
|
+
const parsed = JSON.parse(value);
|
|
29
|
+
return parsed;
|
|
30
|
+
}
|
|
31
|
+
buildSnippet(record, query) {
|
|
32
|
+
const normalizedQuery = query?.trim().toLowerCase();
|
|
33
|
+
if (!normalizedQuery)
|
|
34
|
+
return record.summary;
|
|
35
|
+
const normalizedContent = record.content.toLowerCase();
|
|
36
|
+
const matchIndex = normalizedContent.indexOf(normalizedQuery);
|
|
37
|
+
if (matchIndex < 0)
|
|
38
|
+
return record.summary;
|
|
39
|
+
const start = Math.max(0, matchIndex - 40);
|
|
40
|
+
const end = Math.min(record.content.length, matchIndex + normalizedQuery.length + 80);
|
|
41
|
+
return record.content.slice(start, end).replace(/\s+/g, " ").trim();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=SearchIndexRecordMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchIndexRecordMapper.js","sourceRoot":"","sources":["../../../../src/infrastructure/context/search/SearchIndexRecordMapper.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,uBAAuB;IAClC,UAAU,CAAC,MAAyB;QAClC,OAAO;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE;YACxD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAyB,EAAE,KAAyB,EAAE,KAAa;QACvE,OAAO;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE;YACxD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAqC,CAAC;QACrE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,MAAyB,EAAE,KAAyB;QACvE,MAAM,eAAe,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,CAAC,eAAe;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAE5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,UAAU,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Database } from "better-sqlite3";
|
|
2
|
+
import { ISearchIndexWriter } from "../../../application/context/search/ISearchIndexWriter.js";
|
|
3
|
+
import { ISearchIndexReader } from "../../../application/context/search/ISearchIndexReader.js";
|
|
4
|
+
import { ISearchIndexRebuildStore } from "../../../application/context/search/ISearchIndexRebuildStore.js";
|
|
5
|
+
import { SearchCategory } from "../../../application/context/search/SearchCategory.js";
|
|
6
|
+
import { SearchCriteria } from "../../../application/context/search/SearchCriteria.js";
|
|
7
|
+
import { SearchDocument } from "../../../application/context/search/SearchDocument.js";
|
|
8
|
+
import { SearchDocumentSource } from "../../../application/context/search/SearchDocumentSource.js";
|
|
9
|
+
import { SearchHit } from "../../../application/context/search/SearchHit.js";
|
|
10
|
+
export declare class SqliteSearchIndexStore implements ISearchIndexWriter, ISearchIndexReader, ISearchIndexRebuildStore {
|
|
11
|
+
private readonly db;
|
|
12
|
+
private readonly mapper;
|
|
13
|
+
constructor(db: Database);
|
|
14
|
+
upsert(document: SearchDocument): Promise<void>;
|
|
15
|
+
remove(source: SearchDocumentSource): Promise<void>;
|
|
16
|
+
findBySource(source: SearchDocumentSource): Promise<SearchDocument | null>;
|
|
17
|
+
clear(): Promise<number>;
|
|
18
|
+
countByCategory(): Promise<Readonly<Partial<Record<SearchCategory, number>>>>;
|
|
19
|
+
search(criteria: SearchCriteria): Promise<SearchHit[]>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=SqliteSearchIndexStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteSearchIndexStore.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/context/search/SqliteSearchIndexStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iEAAiE,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAK7E,qBAAa,sBAAuB,YAAW,kBAAkB,EAAE,kBAAkB,EAAE,wBAAwB;IAGjG,OAAO,CAAC,QAAQ,CAAC,EAAE;IAF/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAE3B,EAAE,EAAE,QAAQ;IAEnC,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/C,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD,YAAY,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAQ1E,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAKxB,eAAe,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAgB7E,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAoD7D"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { SearchResultLimit } from "../../../application/context/search/SearchResultLimit.js";
|
|
2
|
+
import { SearchIndexRecordMapper } from "./SearchIndexRecordMapper.js";
|
|
3
|
+
export class SqliteSearchIndexStore {
|
|
4
|
+
constructor(db) {
|
|
5
|
+
this.db = db;
|
|
6
|
+
this.mapper = new SearchIndexRecordMapper();
|
|
7
|
+
}
|
|
8
|
+
async upsert(document) {
|
|
9
|
+
this.db
|
|
10
|
+
.prepare(`
|
|
11
|
+
INSERT INTO search_index_entries (
|
|
12
|
+
sourceType, sourceId, category, title, summary, content,
|
|
13
|
+
facets, metadata, version, createdAt, updatedAt
|
|
14
|
+
)
|
|
15
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
16
|
+
ON CONFLICT(sourceType, sourceId) DO UPDATE SET
|
|
17
|
+
category = excluded.category,
|
|
18
|
+
title = excluded.title,
|
|
19
|
+
summary = excluded.summary,
|
|
20
|
+
content = excluded.content,
|
|
21
|
+
facets = excluded.facets,
|
|
22
|
+
metadata = excluded.metadata,
|
|
23
|
+
version = excluded.version,
|
|
24
|
+
updatedAt = excluded.updatedAt
|
|
25
|
+
`)
|
|
26
|
+
.run(document.source.type, document.source.id, document.category, document.title, document.summary, document.content, JSON.stringify(document.facets), JSON.stringify(document.metadata), document.version, document.createdAt, document.updatedAt);
|
|
27
|
+
}
|
|
28
|
+
async remove(source) {
|
|
29
|
+
this.db
|
|
30
|
+
.prepare("DELETE FROM search_index_entries WHERE sourceType = ? AND sourceId = ?")
|
|
31
|
+
.run(source.type, source.id);
|
|
32
|
+
}
|
|
33
|
+
async findBySource(source) {
|
|
34
|
+
const row = this.db
|
|
35
|
+
.prepare("SELECT * FROM search_index_entries WHERE sourceType = ? AND sourceId = ?")
|
|
36
|
+
.get(source.type, source.id);
|
|
37
|
+
return row ? this.mapper.toDocument(row) : null;
|
|
38
|
+
}
|
|
39
|
+
async clear() {
|
|
40
|
+
const result = this.db.prepare("DELETE FROM search_index_entries").run();
|
|
41
|
+
return result.changes;
|
|
42
|
+
}
|
|
43
|
+
async countByCategory() {
|
|
44
|
+
const rows = this.db
|
|
45
|
+
.prepare(`
|
|
46
|
+
SELECT category, COUNT(*) AS count
|
|
47
|
+
FROM search_index_entries
|
|
48
|
+
GROUP BY category
|
|
49
|
+
ORDER BY category ASC
|
|
50
|
+
`)
|
|
51
|
+
.all();
|
|
52
|
+
return rows.reduce((counts, row) => {
|
|
53
|
+
counts[row.category] = row.count;
|
|
54
|
+
return counts;
|
|
55
|
+
}, {});
|
|
56
|
+
}
|
|
57
|
+
async search(criteria) {
|
|
58
|
+
const clauses = [];
|
|
59
|
+
const params = [];
|
|
60
|
+
const query = criteria.query?.trim();
|
|
61
|
+
if (criteria.category) {
|
|
62
|
+
clauses.push("category = ?");
|
|
63
|
+
params.push(criteria.category);
|
|
64
|
+
}
|
|
65
|
+
if (query) {
|
|
66
|
+
const like = `%${query.toLowerCase()}%`;
|
|
67
|
+
clauses.push(`(
|
|
68
|
+
LOWER(title) LIKE ?
|
|
69
|
+
OR LOWER(COALESCE(summary, '')) LIKE ?
|
|
70
|
+
OR LOWER(content) LIKE ?
|
|
71
|
+
)`);
|
|
72
|
+
params.push(like, like, like);
|
|
73
|
+
}
|
|
74
|
+
const where = clauses.length > 0 ? `WHERE ${clauses.join(" AND ")}` : "";
|
|
75
|
+
const limit = Math.min(Math.max(criteria.limit ?? SearchResultLimit.DEFAULT, SearchResultLimit.MIN), SearchResultLimit.MAX);
|
|
76
|
+
const rows = this.db
|
|
77
|
+
.prepare(`
|
|
78
|
+
SELECT *,
|
|
79
|
+
CASE
|
|
80
|
+
WHEN ? IS NOT NULL AND LOWER(title) LIKE ? THEN 30
|
|
81
|
+
WHEN ? IS NOT NULL AND LOWER(COALESCE(summary, '')) LIKE ? THEN 20
|
|
82
|
+
WHEN ? IS NOT NULL AND LOWER(content) LIKE ? THEN 10
|
|
83
|
+
ELSE 1
|
|
84
|
+
END AS score
|
|
85
|
+
FROM search_index_entries
|
|
86
|
+
${where}
|
|
87
|
+
ORDER BY score DESC, updatedAt DESC, title ASC
|
|
88
|
+
LIMIT ?
|
|
89
|
+
`)
|
|
90
|
+
.all(query ?? null, query ? `%${query.toLowerCase()}%` : "", query ?? null, query ? `%${query.toLowerCase()}%` : "", query ?? null, query ? `%${query.toLowerCase()}%` : "", ...params, limit);
|
|
91
|
+
return rows.map((row) => this.mapper.toHit(row, query, row.score));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=SqliteSearchIndexStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteSearchIndexStore.js","sourceRoot":"","sources":["../../../../src/infrastructure/context/search/SqliteSearchIndexStore.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAE7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,OAAO,sBAAsB;IAGjC,YAA6B,EAAY;QAAZ,OAAE,GAAF,EAAE,CAAU;QAFxB,WAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAEZ,CAAC;IAE7C,KAAK,CAAC,MAAM,CAAC,QAAwB;QACnC,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC;;;;;;;;;;;;;;;OAeR,CAAC;aACD,GAAG,CACF,QAAQ,CAAC,MAAM,CAAC,IAAI,EACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,EAClB,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,EAChB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACjC,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,SAAS,CACnB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA4B;QACvC,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,wEAAwE,CAAC;aACjF,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA4B;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,0EAA0E,CAAC;aACnF,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAkC,CAAC;QAEhE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAAE,CAAC;QACzE,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC;;;;;OAKR,CAAC;aACD,GAAG,EAAwD,CAAC;QAE/D,OAAO,IAAI,CAAC,MAAM,CAA0C,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC1E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAwB;QACnC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAErC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC;;;;QAIX,CAAC,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC5E,iBAAiB,CAAC,GAAG,CACtB,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC;;;;;;;;;UASL,KAAK;;;OAGR,CAAC;aACD,GAAG,CACF,KAAK,IAAI,IAAI,EACb,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EACvC,KAAK,IAAI,IAAI,EACb,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EACvC,KAAK,IAAI,IAAI,EACb,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EACvC,GAAG,MAAM,EACT,KAAK,CACuC,CAAC;QAEjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-- Global search index projected from memory entity events.
|
|
2
|
+
-- Namespace: context/search
|
|
3
|
+
|
|
4
|
+
CREATE TABLE IF NOT EXISTS search_index_entries (
|
|
5
|
+
sourceType TEXT NOT NULL,
|
|
6
|
+
sourceId TEXT NOT NULL,
|
|
7
|
+
category TEXT NOT NULL,
|
|
8
|
+
title TEXT NOT NULL,
|
|
9
|
+
summary TEXT,
|
|
10
|
+
content TEXT NOT NULL,
|
|
11
|
+
facets TEXT NOT NULL,
|
|
12
|
+
metadata TEXT NOT NULL,
|
|
13
|
+
version INTEGER NOT NULL,
|
|
14
|
+
createdAt TEXT NOT NULL,
|
|
15
|
+
updatedAt TEXT NOT NULL,
|
|
16
|
+
PRIMARY KEY (sourceType, sourceId)
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
CREATE INDEX IF NOT EXISTS idx_search_index_category
|
|
20
|
+
ON search_index_entries(category);
|
|
21
|
+
|
|
22
|
+
CREATE INDEX IF NOT EXISTS idx_search_index_updated
|
|
23
|
+
ON search_index_entries(updatedAt DESC);
|
|
24
|
+
|
|
25
|
+
CREATE INDEX IF NOT EXISTS idx_search_index_title
|
|
26
|
+
ON search_index_entries(title);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostBuilder.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/host/HostBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AASxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"HostBuilder.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/host/HostBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AASxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AA6iBnF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAE1B;gBAGZ,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,uBAAuB,CAAC,EAAE,CAAC,eAAe,EAAE,gBAAgB,KAAK,IAAI;IAOvE;;;;;;;OAOG;IACG,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC;CA2qD9C"}
|
|
@@ -35,6 +35,12 @@ const __dirname = path.dirname(__filename);
|
|
|
35
35
|
import { ProjectionBusFactory } from "../messaging/ProjectionBusFactory.js";
|
|
36
36
|
import { MigrationRunner } from "../persistence/MigrationRunner.js";
|
|
37
37
|
import { getNamespaceMigrations } from "../persistence/migrations.config.js";
|
|
38
|
+
import { LocalSearchGateway } from "../../application/context/search/LocalSearchGateway.js";
|
|
39
|
+
import { SearchController } from "../../application/context/search/SearchController.js";
|
|
40
|
+
import { SearchIndexEventHandler } from "../../application/context/search/SearchIndexEventHandler.js";
|
|
41
|
+
import { SearchDocumentProjectorRegistry } from "../../application/context/search/SearchDocumentProjectorRegistry.js";
|
|
42
|
+
import { SqliteSearchIndexStore } from "../context/search/SqliteSearchIndexStore.js";
|
|
43
|
+
import { ProjectedSearchIndexProvider } from "../context/search/ProjectedSearchIndexProvider.js";
|
|
38
44
|
// Session Event Stores - decomposed by use case
|
|
39
45
|
import { FsSessionStartedEventStore } from "../context/sessions/start/FsSessionStartedEventStore.js";
|
|
40
46
|
import { FsSessionEndedEventStore } from "../context/sessions/end/FsSessionEndedEventStore.js";
|
|
@@ -765,6 +771,7 @@ export class HostBuilder {
|
|
|
765
771
|
const invariantUpdatedProjector = new SqliteInvariantUpdatedProjector(this.db);
|
|
766
772
|
const invariantRemovedProjector = new SqliteInvariantRemovedProjector(this.db);
|
|
767
773
|
const invariantViewReader = new SqliteInvariantViewReader(this.db);
|
|
774
|
+
const searchIndexStore = new SqliteSearchIndexStore(this.db);
|
|
768
775
|
// AddInvariant Controller
|
|
769
776
|
const addInvariantCommandHandler = new AddInvariantCommandHandler(invariantAddedEventStore, invariantAddedProjector, eventBus);
|
|
770
777
|
const addInvariantGateway = new LocalAddInvariantGateway(addInvariantCommandHandler);
|
|
@@ -780,6 +787,9 @@ export class HostBuilder {
|
|
|
780
787
|
// GetInvariants Controller
|
|
781
788
|
const getInvariantsGateway = new LocalGetInvariantsGateway(invariantViewReader);
|
|
782
789
|
const getInvariantsController = new GetInvariantsController(getInvariantsGateway);
|
|
790
|
+
const projectedSearchIndexProvider = new ProjectedSearchIndexProvider(searchIndexStore);
|
|
791
|
+
const searchGateway = new LocalSearchGateway([projectedSearchIndexProvider]);
|
|
792
|
+
const searchController = new SearchController(searchGateway);
|
|
783
793
|
// Brownfield Status
|
|
784
794
|
const brownfieldStatusReader = new SqliteBrownfieldStatusReader(this.db);
|
|
785
795
|
// Project Knowledge Category
|
|
@@ -1098,6 +1108,8 @@ export class HostBuilder {
|
|
|
1098
1108
|
const invariantAddedEventHandler = new InvariantAddedEventHandler(invariantAddedProjector);
|
|
1099
1109
|
const invariantUpdatedEventHandler = new InvariantUpdatedEventHandler(invariantUpdatedProjector, relationMaintenanceGoalRegistrar);
|
|
1100
1110
|
const invariantRemovedEventHandler = new InvariantRemovedEventHandler(invariantRemovedProjector, relationMaintenanceGoalRegistrar);
|
|
1111
|
+
const searchDocumentProjectorRegistry = new SearchDocumentProjectorRegistry();
|
|
1112
|
+
const searchIndexEventHandler = new SearchIndexEventHandler(searchDocumentProjectorRegistry.createMemoryProjectors(), searchIndexStore, searchIndexStore);
|
|
1101
1113
|
// Project Knowledge Category
|
|
1102
1114
|
// Project Event Handlers - decomposed by use case
|
|
1103
1115
|
const projectInitializedEventHandler = new ProjectInitializedEventHandler(projectInitializedProjector);
|
|
@@ -1190,6 +1202,10 @@ export class HostBuilder {
|
|
|
1190
1202
|
eventBus.subscribe("InvariantAddedEvent", invariantAddedEventHandler);
|
|
1191
1203
|
eventBus.subscribe("InvariantUpdatedEvent", invariantUpdatedEventHandler);
|
|
1192
1204
|
eventBus.subscribe("InvariantRemovedEvent", invariantRemovedEventHandler);
|
|
1205
|
+
// Global search index projections
|
|
1206
|
+
for (const eventType of searchIndexEventHandler.eventTypes) {
|
|
1207
|
+
eventBus.subscribe(eventType, searchIndexEventHandler);
|
|
1208
|
+
}
|
|
1193
1209
|
// Relation discovery - auto-register goals for newly created entities
|
|
1194
1210
|
eventBus.subscribe("ComponentAddedEvent", relationDiscoveryEventHandler);
|
|
1195
1211
|
eventBus.subscribe("DecisionAddedEvent", relationDiscoveryEventHandler);
|
|
@@ -1428,6 +1444,9 @@ export class HostBuilder {
|
|
|
1428
1444
|
invariantUpdatedProjector,
|
|
1429
1445
|
invariantRemovedProjector,
|
|
1430
1446
|
invariantViewReader,
|
|
1447
|
+
searchIndexReader: searchIndexStore,
|
|
1448
|
+
searchIndexWriter: searchIndexStore,
|
|
1449
|
+
searchController,
|
|
1431
1450
|
// Invariant Controllers
|
|
1432
1451
|
addInvariantController,
|
|
1433
1452
|
updateInvariantController,
|