@jagilber-org/index-server 1.19.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/CHANGELOG.md +1218 -0
- package/CODE_OF_CONDUCT.md +49 -0
- package/CONTRIBUTING.md +75 -0
- package/LICENSE +21 -0
- package/README.md +523 -0
- package/SECURITY.md +50 -0
- package/dist/config/configUtils.d.ts +11 -0
- package/dist/config/configUtils.js +87 -0
- package/dist/config/dashboardConfig.d.ts +45 -0
- package/dist/config/dashboardConfig.js +63 -0
- package/dist/config/defaultValues.d.ts +61 -0
- package/dist/config/defaultValues.js +70 -0
- package/dist/config/dirConstants.d.ts +17 -0
- package/dist/config/dirConstants.js +28 -0
- package/dist/config/featureConfig.d.ts +61 -0
- package/dist/config/featureConfig.js +121 -0
- package/dist/config/runtimeConfig.d.ts +145 -0
- package/dist/config/runtimeConfig.js +334 -0
- package/dist/config/serverConfig.d.ts +90 -0
- package/dist/config/serverConfig.js +164 -0
- package/dist/dashboard/analytics/AnalyticsEngine.d.ts +142 -0
- package/dist/dashboard/analytics/AnalyticsEngine.js +373 -0
- package/dist/dashboard/analytics/BusinessIntelligence.d.ts +187 -0
- package/dist/dashboard/analytics/BusinessIntelligence.js +594 -0
- package/dist/dashboard/client/admin.html +2150 -0
- package/dist/dashboard/client/chunks/mermaid-layout-elk.esm.min/chunk-SP2CHFBE.mjs +1 -0
- package/dist/dashboard/client/chunks/mermaid-layout-elk.esm.min/render-T6MDALS3.mjs +27 -0
- package/dist/dashboard/client/css/admin.css +1466 -0
- package/dist/dashboard/client/js/admin.boot.js +359 -0
- package/dist/dashboard/client/js/admin.config.js +196 -0
- package/dist/dashboard/client/js/admin.embeddings.js +425 -0
- package/dist/dashboard/client/js/admin.graph.js +583 -0
- package/dist/dashboard/client/js/admin.instances.js +120 -0
- package/dist/dashboard/client/js/admin.instructions.js +552 -0
- package/dist/dashboard/client/js/admin.logs.js +113 -0
- package/dist/dashboard/client/js/admin.maintenance.js +354 -0
- package/dist/dashboard/client/js/admin.messaging.js +635 -0
- package/dist/dashboard/client/js/admin.monitor.js +181 -0
- package/dist/dashboard/client/js/admin.overview.js +221 -0
- package/dist/dashboard/client/js/admin.performance.js +61 -0
- package/dist/dashboard/client/js/admin.sessions.js +293 -0
- package/dist/dashboard/client/js/admin.sqlite.js +366 -0
- package/dist/dashboard/client/js/admin.utils.js +49 -0
- package/dist/dashboard/client/js/chart.umd.js +14 -0
- package/dist/dashboard/client/js/elk.bundled.js +6696 -0
- package/dist/dashboard/client/js/marked.umd.js +74 -0
- package/dist/dashboard/client/js/mermaid.min.js +3022 -0
- package/dist/dashboard/client/mermaid-layout-elk.esm.min.mjs +1 -0
- package/dist/dashboard/export/DataExporter.d.ts +169 -0
- package/dist/dashboard/export/DataExporter.js +737 -0
- package/dist/dashboard/export/exporters/csvExporter.d.ts +11 -0
- package/dist/dashboard/export/exporters/csvExporter.js +46 -0
- package/dist/dashboard/export/exporters/exportTypes.d.ts +89 -0
- package/dist/dashboard/export/exporters/exportTypes.js +5 -0
- package/dist/dashboard/export/exporters/jsonExporter.d.ts +7 -0
- package/dist/dashboard/export/exporters/jsonExporter.js +22 -0
- package/dist/dashboard/export/exporters/xmlExporter.d.ts +17 -0
- package/dist/dashboard/export/exporters/xmlExporter.js +175 -0
- package/dist/dashboard/integration/APIIntegration.d.ts +41 -0
- package/dist/dashboard/integration/APIIntegration.js +95 -0
- package/dist/dashboard/security/SecurityMonitor.d.ts +167 -0
- package/dist/dashboard/security/SecurityMonitor.js +559 -0
- package/dist/dashboard/server/AdminPanel.d.ts +183 -0
- package/dist/dashboard/server/AdminPanel.js +792 -0
- package/dist/dashboard/server/AdminPanelConfig.d.ts +42 -0
- package/dist/dashboard/server/AdminPanelConfig.js +80 -0
- package/dist/dashboard/server/AdminPanelState.d.ts +47 -0
- package/dist/dashboard/server/AdminPanelState.js +214 -0
- package/dist/dashboard/server/ApiRoutes.d.ts +17 -0
- package/dist/dashboard/server/ApiRoutes.js +149 -0
- package/dist/dashboard/server/DashboardServer.d.ts +49 -0
- package/dist/dashboard/server/DashboardServer.js +159 -0
- package/dist/dashboard/server/FileMetricsStorage.d.ts +49 -0
- package/dist/dashboard/server/FileMetricsStorage.js +195 -0
- package/dist/dashboard/server/HttpTransport.d.ts +23 -0
- package/dist/dashboard/server/HttpTransport.js +116 -0
- package/dist/dashboard/server/InstanceManager.d.ts +53 -0
- package/dist/dashboard/server/InstanceManager.js +284 -0
- package/dist/dashboard/server/KnowledgeStore.d.ts +35 -0
- package/dist/dashboard/server/KnowledgeStore.js +105 -0
- package/dist/dashboard/server/LeaderElection.d.ts +81 -0
- package/dist/dashboard/server/LeaderElection.js +268 -0
- package/dist/dashboard/server/MetricsCollector.d.ts +200 -0
- package/dist/dashboard/server/MetricsCollector.js +803 -0
- package/dist/dashboard/server/SessionPersistenceManager.d.ts +88 -0
- package/dist/dashboard/server/SessionPersistenceManager.js +457 -0
- package/dist/dashboard/server/ThinClient.d.ts +64 -0
- package/dist/dashboard/server/ThinClient.js +237 -0
- package/dist/dashboard/server/WebSocketManager.d.ts +161 -0
- package/dist/dashboard/server/WebSocketManager.js +463 -0
- package/dist/dashboard/server/httpLifecycle.d.ts +17 -0
- package/dist/dashboard/server/httpLifecycle.js +35 -0
- package/dist/dashboard/server/legacyDashboardHtml.d.ts +9 -0
- package/dist/dashboard/server/legacyDashboardHtml.js +618 -0
- package/dist/dashboard/server/legacyDashboardStyles.d.ts +5 -0
- package/dist/dashboard/server/legacyDashboardStyles.js +490 -0
- package/dist/dashboard/server/metricsAggregation.d.ts +252 -0
- package/dist/dashboard/server/metricsAggregation.js +206 -0
- package/dist/dashboard/server/metricsSerializer.d.ts +25 -0
- package/dist/dashboard/server/metricsSerializer.js +195 -0
- package/dist/dashboard/server/routes/admin.routes.d.ts +16 -0
- package/dist/dashboard/server/routes/admin.routes.js +596 -0
- package/dist/dashboard/server/routes/alerts.routes.d.ts +7 -0
- package/dist/dashboard/server/routes/alerts.routes.js +93 -0
- package/dist/dashboard/server/routes/api.feedback.routes.d.ts +73 -0
- package/dist/dashboard/server/routes/api.feedback.routes.js +171 -0
- package/dist/dashboard/server/routes/api.instructions.routes.d.ts +101 -0
- package/dist/dashboard/server/routes/api.instructions.routes.js +213 -0
- package/dist/dashboard/server/routes/api.usage.routes.d.ts +57 -0
- package/dist/dashboard/server/routes/api.usage.routes.js +374 -0
- package/dist/dashboard/server/routes/embeddings.routes.d.ts +6 -0
- package/dist/dashboard/server/routes/embeddings.routes.js +246 -0
- package/dist/dashboard/server/routes/graph.routes.d.ts +6 -0
- package/dist/dashboard/server/routes/graph.routes.js +280 -0
- package/dist/dashboard/server/routes/index.d.ts +38 -0
- package/dist/dashboard/server/routes/index.js +194 -0
- package/dist/dashboard/server/routes/instances.routes.d.ts +6 -0
- package/dist/dashboard/server/routes/instances.routes.js +35 -0
- package/dist/dashboard/server/routes/instructions.routes.d.ts +8 -0
- package/dist/dashboard/server/routes/instructions.routes.js +336 -0
- package/dist/dashboard/server/routes/knowledge.routes.d.ts +6 -0
- package/dist/dashboard/server/routes/knowledge.routes.js +82 -0
- package/dist/dashboard/server/routes/logs.routes.d.ts +6 -0
- package/dist/dashboard/server/routes/logs.routes.js +164 -0
- package/dist/dashboard/server/routes/messaging.routes.d.ts +16 -0
- package/dist/dashboard/server/routes/messaging.routes.js +293 -0
- package/dist/dashboard/server/routes/metrics.routes.d.ts +10 -0
- package/dist/dashboard/server/routes/metrics.routes.js +346 -0
- package/dist/dashboard/server/routes/scripts.routes.d.ts +9 -0
- package/dist/dashboard/server/routes/scripts.routes.js +84 -0
- package/dist/dashboard/server/routes/sqlite.routes.d.ts +9 -0
- package/dist/dashboard/server/routes/sqlite.routes.js +569 -0
- package/dist/dashboard/server/routes/status.routes.d.ts +7 -0
- package/dist/dashboard/server/routes/status.routes.js +183 -0
- package/dist/dashboard/server/routes/synthetic.routes.d.ts +7 -0
- package/dist/dashboard/server/routes/synthetic.routes.js +195 -0
- package/dist/dashboard/server/routes/tools.routes.d.ts +6 -0
- package/dist/dashboard/server/routes/tools.routes.js +46 -0
- package/dist/dashboard/server/routes/usage.routes.d.ts +6 -0
- package/dist/dashboard/server/routes/usage.routes.js +25 -0
- package/dist/dashboard/server/wsInit.d.ts +16 -0
- package/dist/dashboard/server/wsInit.js +35 -0
- package/dist/externalClientLib.d.ts +1 -0
- package/dist/externalClientLib.js +2 -0
- package/dist/minimal/index.d.ts +1 -0
- package/dist/minimal/index.js +140 -0
- package/dist/models/SessionPersistence.d.ts +115 -0
- package/dist/models/SessionPersistence.js +66 -0
- package/dist/models/instruction.d.ts +45 -0
- package/dist/models/instruction.js +2 -0
- package/dist/perf/benchmark.d.ts +1 -0
- package/dist/perf/benchmark.js +50 -0
- package/dist/portableClientWrapper.d.ts +1 -0
- package/dist/portableClientWrapper.js +2 -0
- package/dist/schemas/index.d.ts +128 -0
- package/dist/schemas/index.js +371 -0
- package/dist/scripts/runPerformanceBaseline.d.ts +1 -0
- package/dist/scripts/runPerformanceBaseline.js +17 -0
- package/dist/server/handshakeManager.d.ts +25 -0
- package/dist/server/handshakeManager.js +472 -0
- package/dist/server/index-server.d.ts +56 -0
- package/dist/server/index-server.js +822 -0
- package/dist/server/registry.d.ts +44 -0
- package/dist/server/registry.js +236 -0
- package/dist/server/sdkServer.d.ts +8 -0
- package/dist/server/sdkServer.js +299 -0
- package/dist/server/shutdownGuard.d.ts +41 -0
- package/dist/server/shutdownGuard.js +52 -0
- package/dist/server/thin-client.d.ts +22 -0
- package/dist/server/thin-client.js +111 -0
- package/dist/server/transport.d.ts +41 -0
- package/dist/server/transport.js +312 -0
- package/dist/server/transportFactory.d.ts +21 -0
- package/dist/server/transportFactory.js +429 -0
- package/dist/services/atomicFs.d.ts +22 -0
- package/dist/services/atomicFs.js +103 -0
- package/dist/services/auditLog.d.ts +38 -0
- package/dist/services/auditLog.js +142 -0
- package/dist/services/autoBackup.d.ts +14 -0
- package/dist/services/autoBackup.js +171 -0
- package/dist/services/autoSplit.d.ts +32 -0
- package/dist/services/autoSplit.js +113 -0
- package/dist/services/backupZip.d.ts +25 -0
- package/dist/services/backupZip.js +110 -0
- package/dist/services/bootstrapGating.d.ts +123 -0
- package/dist/services/bootstrapGating.js +221 -0
- package/dist/services/canonical.d.ts +23 -0
- package/dist/services/canonical.js +65 -0
- package/dist/services/categoryRules.d.ts +7 -0
- package/dist/services/categoryRules.js +37 -0
- package/dist/services/classificationService.d.ts +42 -0
- package/dist/services/classificationService.js +168 -0
- package/dist/services/embeddingService.d.ts +62 -0
- package/dist/services/embeddingService.js +259 -0
- package/dist/services/errors.d.ts +22 -0
- package/dist/services/errors.js +31 -0
- package/dist/services/featureFlags.d.ts +25 -0
- package/dist/services/featureFlags.js +89 -0
- package/dist/services/features.d.ts +13 -0
- package/dist/services/features.js +35 -0
- package/dist/services/handlers/instructions.add.d.ts +1 -0
- package/dist/services/handlers/instructions.add.js +496 -0
- package/dist/services/handlers/instructions.groom.d.ts +1 -0
- package/dist/services/handlers/instructions.groom.js +523 -0
- package/dist/services/handlers/instructions.import.d.ts +1 -0
- package/dist/services/handlers/instructions.import.js +173 -0
- package/dist/services/handlers/instructions.patch.d.ts +1 -0
- package/dist/services/handlers/instructions.patch.js +167 -0
- package/dist/services/handlers/instructions.query.d.ts +163 -0
- package/dist/services/handlers/instructions.query.js +522 -0
- package/dist/services/handlers/instructions.reload.d.ts +1 -0
- package/dist/services/handlers/instructions.reload.js +13 -0
- package/dist/services/handlers/instructions.remove.d.ts +1 -0
- package/dist/services/handlers/instructions.remove.js +118 -0
- package/dist/services/handlers/instructions.shared.d.ts +31 -0
- package/dist/services/handlers/instructions.shared.js +124 -0
- package/dist/services/handlers.activation.d.ts +1 -0
- package/dist/services/handlers.activation.js +203 -0
- package/dist/services/handlers.bootstrap.d.ts +1 -0
- package/dist/services/handlers.bootstrap.js +38 -0
- package/dist/services/handlers.dashboardConfig.d.ts +34 -0
- package/dist/services/handlers.dashboardConfig.js +108 -0
- package/dist/services/handlers.diagnostics.d.ts +1 -0
- package/dist/services/handlers.diagnostics.js +64 -0
- package/dist/services/handlers.feedback.d.ts +15 -0
- package/dist/services/handlers.feedback.js +378 -0
- package/dist/services/handlers.gates.d.ts +1 -0
- package/dist/services/handlers.gates.js +46 -0
- package/dist/services/handlers.graph.d.ts +53 -0
- package/dist/services/handlers.graph.js +231 -0
- package/dist/services/handlers.help.d.ts +1 -0
- package/dist/services/handlers.help.js +119 -0
- package/dist/services/handlers.instructionSchema.d.ts +1 -0
- package/dist/services/handlers.instructionSchema.js +227 -0
- package/dist/services/handlers.instructions.d.ts +8 -0
- package/dist/services/handlers.instructions.js +14 -0
- package/dist/services/handlers.instructionsDiagnostics.d.ts +1 -0
- package/dist/services/handlers.instructionsDiagnostics.js +14 -0
- package/dist/services/handlers.integrity.d.ts +1 -0
- package/dist/services/handlers.integrity.js +35 -0
- package/dist/services/handlers.manifest.d.ts +1 -0
- package/dist/services/handlers.manifest.js +24 -0
- package/dist/services/handlers.messaging.d.ts +12 -0
- package/dist/services/handlers.messaging.js +203 -0
- package/dist/services/handlers.metrics.d.ts +1 -0
- package/dist/services/handlers.metrics.js +43 -0
- package/dist/services/handlers.promote.d.ts +1 -0
- package/dist/services/handlers.promote.js +306 -0
- package/dist/services/handlers.prompt.d.ts +1 -0
- package/dist/services/handlers.prompt.js +7 -0
- package/dist/services/handlers.search.d.ts +69 -0
- package/dist/services/handlers.search.js +645 -0
- package/dist/services/handlers.testPrimitive.d.ts +1 -0
- package/dist/services/handlers.testPrimitive.js +5 -0
- package/dist/services/handlers.trace.d.ts +1 -0
- package/dist/services/handlers.trace.js +31 -0
- package/dist/services/handlers.usage.d.ts +1 -0
- package/dist/services/handlers.usage.js +11 -0
- package/dist/services/hotScore.d.ts +137 -0
- package/dist/services/hotScore.js +244 -0
- package/dist/services/indexContext.d.ts +117 -0
- package/dist/services/indexContext.js +968 -0
- package/dist/services/indexLoader.d.ts +44 -0
- package/dist/services/indexLoader.js +921 -0
- package/dist/services/indexRepository.d.ts +32 -0
- package/dist/services/indexRepository.js +71 -0
- package/dist/services/indexingService.d.ts +1 -0
- package/dist/services/indexingService.js +2 -0
- package/dist/services/instructions.dispatcher.d.ts +1 -0
- package/dist/services/instructions.dispatcher.js +231 -0
- package/dist/services/logPrefix.d.ts +1 -0
- package/dist/services/logPrefix.js +30 -0
- package/dist/services/logger.d.ts +52 -0
- package/dist/services/logger.js +268 -0
- package/dist/services/manifestManager.d.ts +82 -0
- package/dist/services/manifestManager.js +200 -0
- package/dist/services/messaging/agentMailbox.d.ts +60 -0
- package/dist/services/messaging/agentMailbox.js +353 -0
- package/dist/services/messaging/messagingPersistence.d.ts +20 -0
- package/dist/services/messaging/messagingPersistence.js +111 -0
- package/dist/services/messaging/messagingTypes.d.ts +150 -0
- package/dist/services/messaging/messagingTypes.js +66 -0
- package/dist/services/ownershipService.d.ts +1 -0
- package/dist/services/ownershipService.js +38 -0
- package/dist/services/performanceBaseline.d.ts +19 -0
- package/dist/services/performanceBaseline.js +210 -0
- package/dist/services/preflight.d.ts +12 -0
- package/dist/services/preflight.js +79 -0
- package/dist/services/promptReviewService.d.ts +44 -0
- package/dist/services/promptReviewService.js +101 -0
- package/dist/services/responseEnvelope.d.ts +6 -0
- package/dist/services/responseEnvelope.js +25 -0
- package/dist/services/seedBootstrap.d.ts +34 -0
- package/dist/services/seedBootstrap.js +427 -0
- package/dist/services/storage/factory.d.ts +17 -0
- package/dist/services/storage/factory.js +35 -0
- package/dist/services/storage/hashUtils.d.ts +11 -0
- package/dist/services/storage/hashUtils.js +35 -0
- package/dist/services/storage/index.d.ts +12 -0
- package/dist/services/storage/index.js +18 -0
- package/dist/services/storage/jsonFileStore.d.ts +32 -0
- package/dist/services/storage/jsonFileStore.js +241 -0
- package/dist/services/storage/migrationEngine.d.ts +35 -0
- package/dist/services/storage/migrationEngine.js +93 -0
- package/dist/services/storage/sqliteMessageStore.d.ts +53 -0
- package/dist/services/storage/sqliteMessageStore.js +146 -0
- package/dist/services/storage/sqliteSchema.d.ts +12 -0
- package/dist/services/storage/sqliteSchema.js +122 -0
- package/dist/services/storage/sqliteStore.d.ts +41 -0
- package/dist/services/storage/sqliteStore.js +339 -0
- package/dist/services/storage/sqliteUsageStore.d.ts +35 -0
- package/dist/services/storage/sqliteUsageStore.js +94 -0
- package/dist/services/storage/types.d.ts +171 -0
- package/dist/services/storage/types.js +12 -0
- package/dist/services/toolHandlers.d.ts +23 -0
- package/dist/services/toolHandlers.js +50 -0
- package/dist/services/toolRegistry.d.ts +20 -0
- package/dist/services/toolRegistry.js +490 -0
- package/dist/services/toolRegistry.zod.d.ts +10 -0
- package/dist/services/toolRegistry.zod.js +323 -0
- package/dist/services/tracing.d.ts +26 -0
- package/dist/services/tracing.js +260 -0
- package/dist/services/usageBuckets.d.ts +161 -0
- package/dist/services/usageBuckets.js +364 -0
- package/dist/services/validationService.d.ts +38 -0
- package/dist/services/validationService.js +125 -0
- package/dist/utils/BufferRing.d.ts +203 -0
- package/dist/utils/BufferRing.js +551 -0
- package/dist/utils/BufferRingExamples.d.ts +55 -0
- package/dist/utils/BufferRingExamples.js +188 -0
- package/dist/utils/envUtils.d.ts +42 -0
- package/dist/utils/envUtils.js +80 -0
- package/dist/utils/memoryMonitor.d.ts +83 -0
- package/dist/utils/memoryMonitor.js +275 -0
- package/dist/versioning/schemaVersion.d.ts +6 -0
- package/dist/versioning/schemaVersion.js +93 -0
- package/package.json +134 -0
- package/schemas/README.md +13 -0
- package/schemas/feedback-entry.schema.json +27 -0
- package/schemas/graph-export-v2.schema.json +60 -0
- package/schemas/index-server.code-schema.json +38477 -0
- package/schemas/instruction.schema.json +262 -0
- package/schemas/json-schema/SessionPersistence-persisted-admin-session.schema.json +54 -0
- package/schemas/json-schema/SessionPersistence-persisted-session-history-entry.schema.json +51 -0
- package/schemas/json-schema/SessionPersistence-persisted-web-socket-connection.schema.json +54 -0
- package/schemas/json-schema/SessionPersistence-session-persistence-config.schema.json +110 -0
- package/schemas/json-schema/SessionPersistence-session-persistence-data.schema.json +229 -0
- package/schemas/json-schema/SessionPersistence-session-persistence-manifest.schema.json +109 -0
- package/schemas/json-schema/SessionPersistence-session-persistence-metadata.schema.json +55 -0
- package/schemas/json-schema/instruction-audience-scope.schema.json +14 -0
- package/schemas/json-schema/instruction-content-type.schema.json +17 -0
- package/schemas/json-schema/instruction-instruction-entry.schema.json +206 -0
- package/schemas/json-schema/instruction-requirement-level.schema.json +16 -0
- package/schemas/manifest.json +78 -0
- package/schemas/manifest.schema.json +33 -0
- package/schemas/usage-batch.schema.json +16 -0
- package/schemas/usage-buckets.schema.json +30 -0
- package/schemas/usage-event.schema.json +17 -0
- package/scripts/copy-dashboard-assets.mjs +170 -0
- package/scripts/setup-hooks.cjs +28 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IInstructionStore — Storage abstraction for instruction persistence.
|
|
3
|
+
*
|
|
4
|
+
* Implementations:
|
|
5
|
+
* - JsonFileStore: JSON-file-per-instruction (default, current behavior)
|
|
6
|
+
* - SqliteStore: SQLite database (experimental, behind feature flag)
|
|
7
|
+
*
|
|
8
|
+
* IndexContext delegates all storage I/O through this interface.
|
|
9
|
+
* Queries, search, and usage tracking are backend-agnostic.
|
|
10
|
+
*/
|
|
11
|
+
import { InstructionEntry } from '../../models/instruction.js';
|
|
12
|
+
/** Options for listing instructions with filters. */
|
|
13
|
+
export interface ListOptions {
|
|
14
|
+
category?: string;
|
|
15
|
+
contentType?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Options for complex multi-filter queries. */
|
|
18
|
+
export interface QueryOptions {
|
|
19
|
+
text?: string;
|
|
20
|
+
categoriesAny?: string[];
|
|
21
|
+
categoriesAll?: string[];
|
|
22
|
+
excludeCategories?: string[];
|
|
23
|
+
contentType?: string;
|
|
24
|
+
priorityMin?: number;
|
|
25
|
+
priorityMax?: number;
|
|
26
|
+
priorityTiers?: string[];
|
|
27
|
+
requirements?: string[];
|
|
28
|
+
offset?: number;
|
|
29
|
+
limit?: number;
|
|
30
|
+
}
|
|
31
|
+
/** Options for scoped listing (workspace/user/team). */
|
|
32
|
+
export interface ScopedListOptions {
|
|
33
|
+
userId?: string;
|
|
34
|
+
workspaceId?: string;
|
|
35
|
+
teamIds?: string[];
|
|
36
|
+
}
|
|
37
|
+
/** Options for keyword search. */
|
|
38
|
+
export interface SearchOptions {
|
|
39
|
+
keywords: string[];
|
|
40
|
+
includeCategories?: boolean;
|
|
41
|
+
caseSensitive?: boolean;
|
|
42
|
+
limit?: number;
|
|
43
|
+
}
|
|
44
|
+
/** A single search result with relevance score. */
|
|
45
|
+
export interface SearchResult {
|
|
46
|
+
id: string;
|
|
47
|
+
score: number;
|
|
48
|
+
}
|
|
49
|
+
/** Persisted usage record for an instruction. */
|
|
50
|
+
export interface UsagePersistRecord {
|
|
51
|
+
usageCount?: number;
|
|
52
|
+
firstSeenTs?: string;
|
|
53
|
+
lastUsedAt?: string;
|
|
54
|
+
lastAction?: string;
|
|
55
|
+
lastSignal?: string;
|
|
56
|
+
lastComment?: string;
|
|
57
|
+
}
|
|
58
|
+
/** Options for tracking a usage event. */
|
|
59
|
+
export interface UsageTrackOptions {
|
|
60
|
+
action?: string;
|
|
61
|
+
signal?: string;
|
|
62
|
+
comment?: string;
|
|
63
|
+
}
|
|
64
|
+
/** Result of loading the full instruction set. */
|
|
65
|
+
export interface LoadResult {
|
|
66
|
+
entries: InstructionEntry[];
|
|
67
|
+
hash: string;
|
|
68
|
+
errors: {
|
|
69
|
+
file: string;
|
|
70
|
+
error: string;
|
|
71
|
+
}[];
|
|
72
|
+
debug?: {
|
|
73
|
+
scanned: number;
|
|
74
|
+
accepted: number;
|
|
75
|
+
skipped: number;
|
|
76
|
+
trace?: {
|
|
77
|
+
file: string;
|
|
78
|
+
accepted: boolean;
|
|
79
|
+
reason?: string;
|
|
80
|
+
}[];
|
|
81
|
+
};
|
|
82
|
+
summary?: {
|
|
83
|
+
scanned: number;
|
|
84
|
+
accepted: number;
|
|
85
|
+
skipped: number;
|
|
86
|
+
reasons: Record<string, number>;
|
|
87
|
+
cacheHits?: number;
|
|
88
|
+
hashHits?: number;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Storage backend interface for the instruction index.
|
|
93
|
+
*
|
|
94
|
+
* All methods are synchronous unless otherwise noted (matching current
|
|
95
|
+
* IndexContext behavior). Async methods are marked with Promise return types.
|
|
96
|
+
*
|
|
97
|
+
* @remarks
|
|
98
|
+
* Implementations must ensure:
|
|
99
|
+
* - `load()` is idempotent and safe to call multiple times
|
|
100
|
+
* - `write()` is atomic (entry is fully written or not at all)
|
|
101
|
+
* - `remove()` tolerates missing IDs (no-op, no throw)
|
|
102
|
+
* - `computeHash()` returns identical hashes for identical entry sets
|
|
103
|
+
* - `get()` returns null for missing IDs (no throw)
|
|
104
|
+
*/
|
|
105
|
+
export interface IInstructionStore {
|
|
106
|
+
/**
|
|
107
|
+
* Load all instructions from the backing store.
|
|
108
|
+
* @returns Load result with entries, hash, and diagnostics.
|
|
109
|
+
*/
|
|
110
|
+
load(): LoadResult;
|
|
111
|
+
/**
|
|
112
|
+
* Close the store and release resources (e.g., DB connections).
|
|
113
|
+
* No-op for file-based stores.
|
|
114
|
+
*/
|
|
115
|
+
close(): void;
|
|
116
|
+
/**
|
|
117
|
+
* Get a single instruction by ID.
|
|
118
|
+
* @param id - Instruction ID.
|
|
119
|
+
* @returns The entry, or null if not found.
|
|
120
|
+
*/
|
|
121
|
+
get(id: string): InstructionEntry | null;
|
|
122
|
+
/**
|
|
123
|
+
* Write (create or update) an instruction.
|
|
124
|
+
* @param entry - The instruction to persist.
|
|
125
|
+
*/
|
|
126
|
+
write(entry: InstructionEntry): void;
|
|
127
|
+
/**
|
|
128
|
+
* Remove an instruction by ID. No-op if not found.
|
|
129
|
+
* @param id - Instruction ID to remove.
|
|
130
|
+
*/
|
|
131
|
+
remove(id: string): void;
|
|
132
|
+
/**
|
|
133
|
+
* List instructions with optional category/contentType filter.
|
|
134
|
+
* @param opts - Filter options.
|
|
135
|
+
* @returns Array of matching entries.
|
|
136
|
+
*/
|
|
137
|
+
list(opts?: ListOptions): InstructionEntry[];
|
|
138
|
+
/**
|
|
139
|
+
* Complex multi-filter query with pagination.
|
|
140
|
+
* @param opts - Query options.
|
|
141
|
+
* @returns Array of matching entries (paginated).
|
|
142
|
+
*/
|
|
143
|
+
query(opts: QueryOptions): InstructionEntry[];
|
|
144
|
+
/**
|
|
145
|
+
* List instructions scoped to a user, workspace, or team.
|
|
146
|
+
* @param opts - Scoping options.
|
|
147
|
+
* @returns Array of matching entries.
|
|
148
|
+
*/
|
|
149
|
+
listScoped(opts: ScopedListOptions): InstructionEntry[];
|
|
150
|
+
/**
|
|
151
|
+
* Search instructions by keywords with relevance scoring.
|
|
152
|
+
* @param opts - Search options with keywords.
|
|
153
|
+
* @returns Array of { id, score } sorted by relevance descending.
|
|
154
|
+
*/
|
|
155
|
+
search(opts: SearchOptions): SearchResult[];
|
|
156
|
+
/**
|
|
157
|
+
* Get all unique categories with occurrence counts.
|
|
158
|
+
* @returns Map of category name → count.
|
|
159
|
+
*/
|
|
160
|
+
categories(): Map<string, number>;
|
|
161
|
+
/**
|
|
162
|
+
* Compute deterministic governance hash over all entries.
|
|
163
|
+
* Must return identical hash for identical entry sets regardless of backend.
|
|
164
|
+
* @returns SHA256 hex string.
|
|
165
|
+
*/
|
|
166
|
+
computeHash(): string;
|
|
167
|
+
/**
|
|
168
|
+
* Get the count of loaded instructions.
|
|
169
|
+
*/
|
|
170
|
+
count(): number;
|
|
171
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* IInstructionStore — Storage abstraction for instruction persistence.
|
|
4
|
+
*
|
|
5
|
+
* Implementations:
|
|
6
|
+
* - JsonFileStore: JSON-file-per-instruction (default, current behavior)
|
|
7
|
+
* - SqliteStore: SQLite database (experimental, behind feature flag)
|
|
8
|
+
*
|
|
9
|
+
* IndexContext delegates all storage I/O through this interface.
|
|
10
|
+
* Queries, search, and usage tracking are backend-agnostic.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { computeGovernanceHash, projectGovernance, getIndexState } from './indexContext';
|
|
2
|
+
import './handlers.instructions';
|
|
3
|
+
import './handlers.search';
|
|
4
|
+
import './instructions.dispatcher';
|
|
5
|
+
import './handlers.integrity';
|
|
6
|
+
import './handlers.usage';
|
|
7
|
+
import './handlers.prompt';
|
|
8
|
+
import './handlers.metrics';
|
|
9
|
+
import './handlers.gates';
|
|
10
|
+
import './handlers.testPrimitive';
|
|
11
|
+
import './handlers.diagnostics';
|
|
12
|
+
import './handlers.feedback';
|
|
13
|
+
import './handlers.help';
|
|
14
|
+
import './handlers.instructionSchema';
|
|
15
|
+
import './handlers.bootstrap';
|
|
16
|
+
import './handlers.manifest';
|
|
17
|
+
import './handlers.instructionsDiagnostics';
|
|
18
|
+
import './handlers.graph';
|
|
19
|
+
import './handlers.activation';
|
|
20
|
+
import './handlers.promote';
|
|
21
|
+
import './handlers.messaging';
|
|
22
|
+
import './handlers.trace';
|
|
23
|
+
export { computeGovernanceHash, projectGovernance, getIndexState };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getIndexState = exports.projectGovernance = exports.computeGovernanceHash = void 0;
|
|
4
|
+
// Clean shim implementation
|
|
5
|
+
const registry_1 = require("../server/registry");
|
|
6
|
+
const toolRegistry_1 = require("./toolRegistry");
|
|
7
|
+
const indexContext_1 = require("./indexContext");
|
|
8
|
+
Object.defineProperty(exports, "computeGovernanceHash", { enumerable: true, get: function () { return indexContext_1.computeGovernanceHash; } });
|
|
9
|
+
Object.defineProperty(exports, "projectGovernance", { enumerable: true, get: function () { return indexContext_1.projectGovernance; } });
|
|
10
|
+
Object.defineProperty(exports, "getIndexState", { enumerable: true, get: function () { return indexContext_1.getIndexState; } });
|
|
11
|
+
const runtimeConfig_1 = require("../config/runtimeConfig");
|
|
12
|
+
// Side-effect registrations from modular handlers
|
|
13
|
+
// IMPORTANT: Keep in sync with src/server/index-server.ts imports
|
|
14
|
+
require("./handlers.instructions");
|
|
15
|
+
require("./handlers.search");
|
|
16
|
+
require("./instructions.dispatcher"); // ensure dispatcher registered regardless of server entrypoint
|
|
17
|
+
require("./handlers.integrity");
|
|
18
|
+
require("./handlers.usage");
|
|
19
|
+
require("./handlers.prompt");
|
|
20
|
+
require("./handlers.metrics");
|
|
21
|
+
require("./handlers.gates");
|
|
22
|
+
require("./handlers.testPrimitive"); // test helper primitive handler registration
|
|
23
|
+
require("./handlers.diagnostics");
|
|
24
|
+
require("./handlers.feedback");
|
|
25
|
+
require("./handlers.help");
|
|
26
|
+
require("./handlers.instructionSchema");
|
|
27
|
+
require("./handlers.bootstrap");
|
|
28
|
+
require("./handlers.manifest");
|
|
29
|
+
require("./handlers.instructionsDiagnostics");
|
|
30
|
+
require("./handlers.graph");
|
|
31
|
+
require("./handlers.activation"); // VSCode activation guide for tool enablement
|
|
32
|
+
require("./handlers.promote"); // promote_from_repo: scan repo & upsert into index
|
|
33
|
+
require("./handlers.messaging"); // inter-agent messaging (not stored in instruction index)
|
|
34
|
+
require("./handlers.trace"); // trace_dump: write in-memory trace ring buffer to file
|
|
35
|
+
// Rich meta_tools implementation (stable vs dynamic)
|
|
36
|
+
function mutationEnabled() { return (0, runtimeConfig_1.getRuntimeConfig)().mutation.enabled; }
|
|
37
|
+
(0, registry_1.registerHandler)('meta_tools', () => {
|
|
38
|
+
const MUTATION_ENABLED = mutationEnabled();
|
|
39
|
+
const methods = (0, registry_1.listRegisteredMethods)();
|
|
40
|
+
const registry = (0, toolRegistry_1.getToolRegistry)({ tier: 'admin' });
|
|
41
|
+
const stableTools = new Set(Array.from(toolRegistry_1.STABLE));
|
|
42
|
+
const mutationSet = new Set(registry.filter(r => r.mutation).map(r => r.name));
|
|
43
|
+
const all = methods.map(m => ({ method: m, stable: stableTools.has(m), mutation: mutationSet.has(m), disabled: mutationSet.has(m) && !MUTATION_ENABLED }));
|
|
44
|
+
return {
|
|
45
|
+
tools: all.map(t => ({ method: t.method, stable: t.stable, mutation: t.mutation, disabled: t.disabled })),
|
|
46
|
+
stable: { tools: all.map(t => ({ method: t.method, stable: t.stable, mutation: t.mutation })) },
|
|
47
|
+
dynamic: { generatedAt: new Date().toISOString(), mutationEnabled: MUTATION_ENABLED, disabled: all.filter(t => t.disabled).map(t => ({ method: t.method })) },
|
|
48
|
+
mcp: { registryVersion: toolRegistry_1.REGISTRY_VERSION, tools: registry.map(r => ({ name: r.name, description: r.description, stable: r.stable, mutation: r.mutation, inputSchema: r.inputSchema, outputSchema: r.outputSchema })) }
|
|
49
|
+
};
|
|
50
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type ToolTier = 'core' | 'extended' | 'admin';
|
|
2
|
+
export interface ToolRegistryEntry {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
stable: boolean;
|
|
6
|
+
mutation: boolean;
|
|
7
|
+
tier: ToolTier;
|
|
8
|
+
inputSchema: object;
|
|
9
|
+
outputSchema?: object;
|
|
10
|
+
zodSchema?: unknown;
|
|
11
|
+
}
|
|
12
|
+
export declare const STABLE: Set<string>;
|
|
13
|
+
export declare const MUTATION: Set<string>;
|
|
14
|
+
export interface ToolRegistryFilter {
|
|
15
|
+
tier?: ToolTier;
|
|
16
|
+
}
|
|
17
|
+
/** Resolve the maximum visible tier from feature flags. */
|
|
18
|
+
export declare function resolveActiveTier(): ToolTier;
|
|
19
|
+
export declare function getToolRegistry(filter?: ToolRegistryFilter): ToolRegistryEntry[];
|
|
20
|
+
export declare const REGISTRY_VERSION = "2026-03-29";
|