pi-harness-runtime 0.9.19 → 0.9.21
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/index.ts +60 -10
- package/package.json +2 -3
- package/packages/clipboard/dist/clipboard.d.ts +11 -0
- package/packages/clipboard/dist/clipboard.d.ts.map +1 -0
- package/packages/clipboard/dist/clipboard.js +40 -0
- package/packages/clipboard/dist/clipboard.js.map +1 -0
- package/packages/clipboard/dist/index.d.ts +2 -0
- package/packages/clipboard/dist/index.d.ts.map +1 -0
- package/packages/clipboard/dist/index.js +2 -0
- package/packages/clipboard/dist/index.js.map +1 -0
- package/packages/clipboard/dist/src/clipboard.d.ts +11 -0
- package/packages/clipboard/dist/src/clipboard.d.ts.map +1 -0
- package/packages/clipboard/dist/src/clipboard.js +43 -0
- package/packages/clipboard/dist/src/clipboard.js.map +1 -0
- package/packages/clipboard/dist/src/index.d.ts +2 -0
- package/packages/clipboard/dist/src/index.d.ts.map +1 -0
- package/packages/clipboard/dist/src/index.js +2 -0
- package/packages/clipboard/dist/src/index.js.map +1 -0
- package/packages/clipboard/dist/src/types.d.ts +13 -0
- package/packages/clipboard/dist/src/types.d.ts.map +1 -0
- package/packages/clipboard/dist/src/types.js +5 -0
- package/packages/clipboard/dist/src/types.js.map +1 -0
- package/packages/clipboard/dist/types.d.ts +13 -0
- package/packages/clipboard/dist/types.d.ts.map +1 -0
- package/packages/clipboard/dist/types.js +5 -0
- package/packages/clipboard/dist/types.js.map +1 -0
- package/packages/clipboard/package.json +12 -0
- package/packages/clipboard/src/clipboard.ts +52 -0
- package/packages/clipboard/src/index.ts +1 -0
- package/packages/clipboard/src/types.ts +14 -0
- package/packages/clipboard/tsconfig.json +10 -0
- package/packages/context-discovery/dist/discover.d.ts +3 -0
- package/packages/context-discovery/dist/discover.d.ts.map +1 -0
- package/packages/context-discovery/dist/discover.js +42 -0
- package/packages/context-discovery/dist/discover.js.map +1 -0
- package/packages/context-discovery/dist/discovery.d.ts +28 -0
- package/packages/context-discovery/dist/discovery.d.ts.map +1 -0
- package/packages/context-discovery/dist/discovery.js +21 -0
- package/packages/context-discovery/dist/discovery.js.map +1 -0
- package/packages/context-discovery/dist/index.d.ts +3 -0
- package/packages/context-discovery/dist/index.d.ts.map +1 -0
- package/packages/context-discovery/dist/index.js +2 -0
- package/packages/context-discovery/dist/index.js.map +1 -0
- package/packages/context-discovery/dist/src/discover.d.ts +3 -0
- package/packages/context-discovery/dist/src/discover.d.ts.map +1 -0
- package/packages/context-discovery/dist/src/discover.js +42 -0
- package/packages/context-discovery/dist/src/discover.js.map +1 -0
- package/packages/context-discovery/dist/src/discovery.d.ts +28 -0
- package/packages/context-discovery/dist/src/discovery.d.ts.map +1 -0
- package/packages/context-discovery/dist/src/discovery.js +21 -0
- package/packages/context-discovery/dist/src/discovery.js.map +1 -0
- package/packages/context-discovery/dist/src/index.d.ts +3 -0
- package/packages/context-discovery/dist/src/index.d.ts.map +1 -0
- package/packages/context-discovery/dist/src/index.js +2 -0
- package/packages/context-discovery/dist/src/index.js.map +1 -0
- package/packages/context-discovery/dist/src/types.d.ts +16 -0
- package/packages/context-discovery/dist/src/types.d.ts.map +1 -0
- package/packages/context-discovery/dist/src/types.js +2 -0
- package/packages/context-discovery/dist/src/types.js.map +1 -0
- package/packages/context-discovery/dist/types.d.ts +16 -0
- package/packages/context-discovery/dist/types.d.ts.map +1 -0
- package/packages/context-discovery/dist/types.js +2 -0
- package/packages/context-discovery/dist/types.js.map +1 -0
- package/packages/context-discovery/package.json +12 -0
- package/packages/context-discovery/src/discover.ts +42 -0
- package/packages/context-discovery/src/discovery.ts +44 -0
- package/packages/context-discovery/src/index.ts +2 -0
- package/packages/context-discovery/src/types.ts +15 -0
- package/packages/context-discovery/tsconfig.json +10 -0
- package/packages/dependency-analyzer/dist/analyzer.d.ts +17 -0
- package/packages/dependency-analyzer/dist/analyzer.d.ts.map +1 -0
- package/packages/dependency-analyzer/dist/analyzer.js +106 -0
- package/packages/dependency-analyzer/dist/analyzer.js.map +1 -0
- package/packages/dependency-analyzer/dist/imports.d.ts +12 -0
- package/packages/dependency-analyzer/dist/imports.d.ts.map +1 -0
- package/packages/dependency-analyzer/dist/imports.js +73 -0
- package/packages/dependency-analyzer/dist/imports.js.map +1 -0
- package/packages/dependency-analyzer/dist/index.d.ts +4 -0
- package/packages/dependency-analyzer/dist/index.d.ts.map +1 -0
- package/packages/dependency-analyzer/dist/index.js +3 -0
- package/packages/dependency-analyzer/dist/index.js.map +1 -0
- package/packages/dependency-analyzer/dist/src/analyzer.d.ts +17 -0
- package/packages/dependency-analyzer/dist/src/analyzer.d.ts.map +1 -0
- package/packages/dependency-analyzer/dist/src/analyzer.js +119 -0
- package/packages/dependency-analyzer/dist/src/analyzer.js.map +1 -0
- package/packages/dependency-analyzer/dist/src/imports.d.ts +12 -0
- package/packages/dependency-analyzer/dist/src/imports.d.ts.map +1 -0
- package/packages/dependency-analyzer/dist/src/imports.js +73 -0
- package/packages/dependency-analyzer/dist/src/imports.js.map +1 -0
- package/packages/dependency-analyzer/dist/src/index.d.ts +4 -0
- package/packages/dependency-analyzer/dist/src/index.d.ts.map +1 -0
- package/packages/dependency-analyzer/dist/src/index.js +3 -0
- package/packages/dependency-analyzer/dist/src/index.js.map +1 -0
- package/packages/dependency-analyzer/dist/src/types.d.ts +28 -0
- package/packages/dependency-analyzer/dist/src/types.d.ts.map +1 -0
- package/packages/dependency-analyzer/dist/src/types.js +5 -0
- package/packages/dependency-analyzer/dist/src/types.js.map +1 -0
- package/packages/dependency-analyzer/dist/test/analyzer.test.js +37 -0
- package/packages/dependency-analyzer/dist/types.d.ts +28 -0
- package/packages/dependency-analyzer/dist/types.d.ts.map +1 -0
- package/packages/dependency-analyzer/dist/types.js +5 -0
- package/packages/dependency-analyzer/dist/types.js.map +1 -0
- package/packages/dependency-analyzer/package.json +12 -0
- package/packages/dependency-analyzer/src/analyzer.ts +140 -0
- package/packages/dependency-analyzer/src/imports.ts +93 -0
- package/packages/dependency-analyzer/src/index.ts +9 -0
- package/packages/dependency-analyzer/src/types.ts +38 -0
- package/packages/dependency-analyzer/test/analyzer.test.js +37 -0
- package/packages/dependency-analyzer/test/analyzer.test.ts +48 -0
- package/packages/dependency-analyzer/tsconfig.json +10 -0
- package/packages/event-bus/dist/bus.d.ts +15 -0
- package/packages/event-bus/dist/bus.d.ts.map +1 -0
- package/packages/event-bus/dist/bus.js +90 -0
- package/packages/event-bus/dist/bus.js.map +1 -0
- package/packages/event-bus/dist/index.d.ts +4 -0
- package/packages/event-bus/dist/index.d.ts.map +1 -0
- package/packages/event-bus/dist/index.js +3 -0
- package/packages/event-bus/dist/index.js.map +1 -0
- package/packages/event-bus/dist/src/bus.d.ts +15 -0
- package/packages/event-bus/dist/src/bus.d.ts.map +1 -0
- package/packages/event-bus/dist/src/bus.js +98 -0
- package/packages/event-bus/dist/src/bus.js.map +1 -0
- package/packages/event-bus/dist/src/index.d.ts +4 -0
- package/packages/event-bus/dist/src/index.d.ts.map +1 -0
- package/packages/event-bus/dist/src/index.js +3 -0
- package/packages/event-bus/dist/src/index.js.map +1 -0
- package/packages/event-bus/dist/src/types.d.ts +27 -0
- package/packages/event-bus/dist/src/types.d.ts.map +1 -0
- package/packages/event-bus/dist/src/types.js +10 -0
- package/packages/event-bus/dist/src/types.js.map +1 -0
- package/packages/event-bus/dist/test/bus.test.js +52 -0
- package/packages/event-bus/dist/types.d.ts +27 -0
- package/packages/event-bus/dist/types.d.ts.map +1 -0
- package/packages/event-bus/dist/types.js +10 -0
- package/packages/event-bus/dist/types.js.map +1 -0
- package/packages/event-bus/package.json +12 -0
- package/packages/event-bus/src/bus.ts +111 -0
- package/packages/event-bus/src/index.ts +9 -0
- package/packages/event-bus/src/types.ts +59 -0
- package/packages/event-bus/test/bus.test.ts +88 -0
- package/packages/event-bus/tsconfig.json +10 -0
- package/packages/event-store/dist/index.d.ts +3 -0
- package/packages/event-store/dist/index.d.ts.map +1 -0
- package/packages/event-store/dist/index.js +2 -0
- package/packages/event-store/dist/index.js.map +1 -0
- package/packages/event-store/dist/src/index.d.ts +3 -0
- package/packages/event-store/dist/src/index.d.ts.map +1 -0
- package/packages/event-store/dist/src/index.js +2 -0
- package/packages/event-store/dist/src/index.js.map +1 -0
- package/packages/event-store/dist/src/store.d.ts +15 -0
- package/packages/event-store/dist/src/store.d.ts.map +1 -0
- package/packages/event-store/dist/src/store.js +139 -0
- package/packages/event-store/dist/src/store.js.map +1 -0
- package/packages/event-store/dist/src/types.d.ts +48 -0
- package/packages/event-store/dist/src/types.d.ts.map +1 -0
- package/packages/event-store/dist/src/types.js +5 -0
- package/packages/event-store/dist/src/types.js.map +1 -0
- package/packages/event-store/dist/store.d.ts +15 -0
- package/packages/event-store/dist/store.d.ts.map +1 -0
- package/packages/event-store/dist/store.js +131 -0
- package/packages/event-store/dist/store.js.map +1 -0
- package/packages/event-store/dist/test/store.test.js +57 -0
- package/packages/event-store/dist/types.d.ts +48 -0
- package/packages/event-store/dist/types.d.ts.map +1 -0
- package/packages/event-store/dist/types.js +5 -0
- package/packages/event-store/dist/types.js.map +1 -0
- package/packages/event-store/package.json +12 -0
- package/packages/event-store/src/index.ts +11 -0
- package/packages/event-store/src/store.ts +168 -0
- package/packages/event-store/src/types.d.ts +48 -0
- package/packages/event-store/src/types.d.ts.map +1 -0
- package/packages/event-store/src/types.js +5 -0
- package/packages/event-store/src/types.js.map +1 -0
- package/packages/event-store/src/types.ts +65 -0
- package/packages/event-store/test/store.test.ts +115 -0
- package/packages/event-store/tsconfig.json +10 -0
- package/packages/intent-analyzer/dist/analyzer.d.ts +13 -0
- package/packages/intent-analyzer/dist/analyzer.d.ts.map +1 -0
- package/packages/intent-analyzer/dist/analyzer.js +72 -0
- package/packages/intent-analyzer/dist/analyzer.js.map +1 -0
- package/packages/intent-analyzer/dist/index.d.ts +3 -0
- package/packages/intent-analyzer/dist/index.d.ts.map +1 -0
- package/packages/intent-analyzer/dist/index.js +2 -0
- package/packages/intent-analyzer/dist/index.js.map +1 -0
- package/packages/intent-analyzer/dist/src/analyzer.d.ts +13 -0
- package/packages/intent-analyzer/dist/src/analyzer.d.ts.map +1 -0
- package/packages/intent-analyzer/dist/src/analyzer.js +239 -0
- package/packages/intent-analyzer/dist/src/analyzer.js.map +1 -0
- package/packages/intent-analyzer/dist/src/index.d.ts +3 -0
- package/packages/intent-analyzer/dist/src/index.d.ts.map +1 -0
- package/packages/intent-analyzer/dist/src/index.js +2 -0
- package/packages/intent-analyzer/dist/src/index.js.map +1 -0
- package/packages/intent-analyzer/dist/src/types.d.ts +26 -0
- package/packages/intent-analyzer/dist/src/types.d.ts.map +1 -0
- package/packages/intent-analyzer/dist/src/types.js +7 -0
- package/packages/intent-analyzer/dist/src/types.js.map +1 -0
- package/packages/intent-analyzer/dist/test/analyzer.test.js +56 -0
- package/packages/intent-analyzer/dist/types.d.ts +26 -0
- package/packages/intent-analyzer/dist/types.d.ts.map +1 -0
- package/packages/intent-analyzer/dist/types.js +7 -0
- package/packages/intent-analyzer/dist/types.js.map +1 -0
- package/packages/intent-analyzer/package.json +12 -0
- package/packages/intent-analyzer/src/analyzer.ts +259 -0
- package/packages/intent-analyzer/src/index.ts +8 -0
- package/packages/intent-analyzer/src/types.ts +44 -0
- package/packages/intent-analyzer/test/analyzer.test.ts +72 -0
- package/packages/intent-analyzer/tsconfig.json +10 -0
- package/packages/projection-engine/dist/engine.d.ts +61 -0
- package/packages/projection-engine/dist/engine.d.ts.map +1 -0
- package/packages/projection-engine/dist/engine.js +76 -0
- package/packages/projection-engine/dist/engine.js.map +1 -0
- package/packages/projection-engine/dist/index.d.ts +2 -0
- package/packages/projection-engine/dist/index.d.ts.map +1 -0
- package/packages/projection-engine/dist/index.js +2 -0
- package/packages/projection-engine/dist/index.js.map +1 -0
- package/packages/projection-engine/dist/project.d.ts +3 -0
- package/packages/projection-engine/dist/project.d.ts.map +1 -0
- package/packages/projection-engine/dist/project.js +24 -0
- package/packages/projection-engine/dist/project.js.map +1 -0
- package/packages/projection-engine/dist/src/engine.d.ts +61 -0
- package/packages/projection-engine/dist/src/engine.d.ts.map +1 -0
- package/packages/projection-engine/dist/src/engine.js +87 -0
- package/packages/projection-engine/dist/src/engine.js.map +1 -0
- package/packages/projection-engine/dist/src/index.d.ts +2 -0
- package/packages/projection-engine/dist/src/index.d.ts.map +1 -0
- package/packages/projection-engine/dist/src/index.js +2 -0
- package/packages/projection-engine/dist/src/index.js.map +1 -0
- package/packages/projection-engine/dist/src/project.d.ts +3 -0
- package/packages/projection-engine/dist/src/project.d.ts.map +1 -0
- package/packages/projection-engine/dist/src/project.js +24 -0
- package/packages/projection-engine/dist/src/project.js.map +1 -0
- package/packages/projection-engine/dist/src/types.d.ts +55 -0
- package/packages/projection-engine/dist/src/types.d.ts.map +1 -0
- package/packages/projection-engine/dist/src/types.js +5 -0
- package/packages/projection-engine/dist/src/types.js.map +1 -0
- package/packages/projection-engine/dist/types.d.ts +55 -0
- package/packages/projection-engine/dist/types.d.ts.map +1 -0
- package/packages/projection-engine/dist/types.js +5 -0
- package/packages/projection-engine/dist/types.js.map +1 -0
- package/packages/projection-engine/package.json +12 -0
- package/packages/projection-engine/src/engine.ts +134 -0
- package/packages/projection-engine/src/index.ts +8 -0
- package/packages/projection-engine/src/project.ts +24 -0
- package/packages/projection-engine/src/types.d.ts +55 -0
- package/packages/projection-engine/src/types.d.ts.map +1 -0
- package/packages/projection-engine/src/types.js +5 -0
- package/packages/projection-engine/src/types.js.map +1 -0
- package/packages/projection-engine/src/types.ts +60 -0
- package/packages/projection-engine/tsconfig.json +10 -0
- package/packages/providers/dist/provider-id.d.ts.map +1 -1
- package/packages/providers/dist/provider-id.js +3 -0
- package/packages/providers/dist/provider-id.js.map +1 -1
- package/packages/providers/src/provider-id.ts +2 -0
- package/packages/quota-manager/dist/tui-usage-monitor.d.ts.map +1 -1
- package/packages/quota-manager/dist/tui-usage-monitor.js +5 -0
- package/packages/quota-manager/dist/tui-usage-monitor.js.map +1 -1
- package/packages/quota-manager/src/tui-usage-monitor.ts +21 -0
- package/packages/session-api/dist/api.d.ts +83 -0
- package/packages/session-api/dist/api.d.ts.map +1 -0
- package/packages/session-api/dist/api.js +35 -0
- package/packages/session-api/dist/api.js.map +1 -0
- package/packages/session-api/dist/index.d.ts +2 -0
- package/packages/session-api/dist/index.d.ts.map +1 -0
- package/packages/session-api/dist/index.js +2 -0
- package/packages/session-api/dist/index.js.map +1 -0
- package/packages/session-api/dist/src/api.d.ts +83 -0
- package/packages/session-api/dist/src/api.d.ts.map +1 -0
- package/packages/session-api/dist/src/api.js +49 -0
- package/packages/session-api/dist/src/api.js.map +1 -0
- package/packages/session-api/dist/src/index.d.ts +2 -0
- package/packages/session-api/dist/src/index.d.ts.map +1 -0
- package/packages/session-api/dist/src/index.js +2 -0
- package/packages/session-api/dist/src/index.js.map +1 -0
- package/packages/session-api/dist/src/types.d.ts +22 -0
- package/packages/session-api/dist/src/types.d.ts.map +1 -0
- package/packages/session-api/dist/src/types.js +5 -0
- package/packages/session-api/dist/src/types.js.map +1 -0
- package/packages/session-api/dist/types.d.ts +22 -0
- package/packages/session-api/dist/types.d.ts.map +1 -0
- package/packages/session-api/dist/types.js +5 -0
- package/packages/session-api/dist/types.js.map +1 -0
- package/packages/session-api/package.json +12 -0
- package/packages/session-api/src/api.ts +117 -0
- package/packages/session-api/src/index.ts +1 -0
- package/packages/session-api/src/types.ts +23 -0
- package/packages/session-api/tsconfig.json +10 -0
- package/packages/session-export/dist/exporter.d.ts +28 -0
- package/packages/session-export/dist/exporter.d.ts.map +1 -0
- package/packages/session-export/dist/exporter.js +38 -0
- package/packages/session-export/dist/exporter.js.map +1 -0
- package/packages/session-export/dist/index.d.ts +2 -0
- package/packages/session-export/dist/index.d.ts.map +1 -0
- package/packages/session-export/dist/index.js +2 -0
- package/packages/session-export/dist/index.js.map +1 -0
- package/packages/session-export/dist/src/exporter.d.ts +28 -0
- package/packages/session-export/dist/src/exporter.d.ts.map +1 -0
- package/packages/session-export/dist/src/exporter.js +42 -0
- package/packages/session-export/dist/src/exporter.js.map +1 -0
- package/packages/session-export/dist/src/index.d.ts +2 -0
- package/packages/session-export/dist/src/index.d.ts.map +1 -0
- package/packages/session-export/dist/src/index.js +2 -0
- package/packages/session-export/dist/src/index.js.map +1 -0
- package/packages/session-export/dist/src/types.d.ts +20 -0
- package/packages/session-export/dist/src/types.d.ts.map +1 -0
- package/packages/session-export/dist/src/types.js +5 -0
- package/packages/session-export/dist/src/types.js.map +1 -0
- package/packages/session-export/dist/types.d.ts +20 -0
- package/packages/session-export/dist/types.d.ts.map +1 -0
- package/packages/session-export/dist/types.js +5 -0
- package/packages/session-export/dist/types.js.map +1 -0
- package/packages/session-export/package.json +12 -0
- package/packages/session-export/src/exporter.ts +81 -0
- package/packages/session-export/src/index.ts +1 -0
- package/packages/session-export/src/types.ts +22 -0
- package/packages/session-export/tsconfig.json +10 -0
- package/packages/subscription-engine/dist/engine.d.ts +13 -0
- package/packages/subscription-engine/dist/engine.d.ts.map +1 -0
- package/packages/subscription-engine/dist/engine.js +40 -0
- package/packages/subscription-engine/dist/engine.js.map +1 -0
- package/packages/subscription-engine/dist/index.d.ts +2 -0
- package/packages/subscription-engine/dist/index.d.ts.map +1 -0
- package/packages/subscription-engine/dist/index.js +2 -0
- package/packages/subscription-engine/dist/index.js.map +1 -0
- package/packages/subscription-engine/dist/src/engine.d.ts +13 -0
- package/packages/subscription-engine/dist/src/engine.d.ts.map +1 -0
- package/packages/subscription-engine/dist/src/engine.js +40 -0
- package/packages/subscription-engine/dist/src/engine.js.map +1 -0
- package/packages/subscription-engine/dist/src/index.d.ts +2 -0
- package/packages/subscription-engine/dist/src/index.d.ts.map +1 -0
- package/packages/subscription-engine/dist/src/index.js +2 -0
- package/packages/subscription-engine/dist/src/index.js.map +1 -0
- package/packages/subscription-engine/dist/src/subscriptions.d.ts +19 -0
- package/packages/subscription-engine/dist/src/subscriptions.d.ts.map +1 -0
- package/packages/subscription-engine/dist/src/subscriptions.js +39 -0
- package/packages/subscription-engine/dist/src/subscriptions.js.map +1 -0
- package/packages/subscription-engine/dist/src/types.d.ts +24 -0
- package/packages/subscription-engine/dist/src/types.d.ts.map +1 -0
- package/packages/subscription-engine/dist/src/types.js +5 -0
- package/packages/subscription-engine/dist/src/types.js.map +1 -0
- package/packages/subscription-engine/dist/subscriptions.d.ts +19 -0
- package/packages/subscription-engine/dist/subscriptions.d.ts.map +1 -0
- package/packages/subscription-engine/dist/subscriptions.js +32 -0
- package/packages/subscription-engine/dist/subscriptions.js.map +1 -0
- package/packages/subscription-engine/dist/types.d.ts +24 -0
- package/packages/subscription-engine/dist/types.d.ts.map +1 -0
- package/packages/subscription-engine/dist/types.js +5 -0
- package/packages/subscription-engine/dist/types.js.map +1 -0
- package/packages/subscription-engine/package.json +12 -0
- package/packages/subscription-engine/src/engine.ts +55 -0
- package/packages/subscription-engine/src/index.ts +6 -0
- package/packages/subscription-engine/src/subscriptions.ts +55 -0
- package/packages/subscription-engine/src/types.ts +27 -0
- package/packages/subscription-engine/tsconfig.json +10 -0
- package/packages/workflow-events/dist/events.d.ts +38 -0
- package/packages/workflow-events/dist/events.d.ts.map +1 -0
- package/packages/workflow-events/dist/events.js +46 -0
- package/packages/workflow-events/dist/events.js.map +1 -0
- package/packages/workflow-events/dist/index.d.ts +2 -0
- package/packages/workflow-events/dist/index.d.ts.map +1 -0
- package/packages/workflow-events/dist/index.js +2 -0
- package/packages/workflow-events/dist/index.js.map +1 -0
- package/packages/workflow-events/dist/pipeline.d.ts +21 -0
- package/packages/workflow-events/dist/pipeline.d.ts.map +1 -0
- package/packages/workflow-events/dist/pipeline.js +27 -0
- package/packages/workflow-events/dist/pipeline.js.map +1 -0
- package/packages/workflow-events/dist/src/events.d.ts +38 -0
- package/packages/workflow-events/dist/src/events.d.ts.map +1 -0
- package/packages/workflow-events/dist/src/events.js +55 -0
- package/packages/workflow-events/dist/src/events.js.map +1 -0
- package/packages/workflow-events/dist/src/index.d.ts +2 -0
- package/packages/workflow-events/dist/src/index.d.ts.map +1 -0
- package/packages/workflow-events/dist/src/index.js +2 -0
- package/packages/workflow-events/dist/src/index.js.map +1 -0
- package/packages/workflow-events/dist/src/pipeline.d.ts +21 -0
- package/packages/workflow-events/dist/src/pipeline.d.ts.map +1 -0
- package/packages/workflow-events/dist/src/pipeline.js +36 -0
- package/packages/workflow-events/dist/src/pipeline.js.map +1 -0
- package/packages/workflow-events/dist/src/types.d.ts +110 -0
- package/packages/workflow-events/dist/src/types.d.ts.map +1 -0
- package/packages/workflow-events/dist/src/types.js +5 -0
- package/packages/workflow-events/dist/src/types.js.map +1 -0
- package/packages/workflow-events/dist/types.d.ts +110 -0
- package/packages/workflow-events/dist/types.d.ts.map +1 -0
- package/packages/workflow-events/dist/types.js +5 -0
- package/packages/workflow-events/dist/types.js.map +1 -0
- package/packages/workflow-events/package.json +12 -0
- package/packages/workflow-events/src/events.ts +86 -0
- package/packages/workflow-events/src/index.ts +19 -0
- package/packages/workflow-events/src/pipeline.ts +41 -0
- package/packages/workflow-events/src/types.d.ts +110 -0
- package/packages/workflow-events/src/types.d.ts.map +1 -0
- package/packages/workflow-events/src/types.js +5 -0
- package/packages/workflow-events/src/types.js.map +1 -0
- package/packages/workflow-events/src/types.ts +139 -0
- package/packages/workflow-events/tsconfig.json +10 -0
- package/packages/workspace-scanner/dist/detect.d.ts +3 -0
- package/packages/workspace-scanner/dist/detect.d.ts.map +1 -0
- package/packages/workspace-scanner/dist/detect.js +58 -0
- package/packages/workspace-scanner/dist/detect.js.map +1 -0
- package/packages/workspace-scanner/dist/git.d.ts +7 -0
- package/packages/workspace-scanner/dist/git.d.ts.map +1 -0
- package/packages/workspace-scanner/dist/git.js +75 -0
- package/packages/workspace-scanner/dist/git.js.map +1 -0
- package/packages/workspace-scanner/dist/index.d.ts +5 -0
- package/packages/workspace-scanner/dist/index.d.ts.map +1 -0
- package/packages/workspace-scanner/dist/index.js +4 -0
- package/packages/workspace-scanner/dist/index.js.map +1 -0
- package/packages/workspace-scanner/dist/scanner.d.ts +11 -0
- package/packages/workspace-scanner/dist/scanner.d.ts.map +1 -0
- package/packages/workspace-scanner/dist/scanner.js +46 -0
- package/packages/workspace-scanner/dist/scanner.js.map +1 -0
- package/packages/workspace-scanner/dist/src/detect.d.ts +3 -0
- package/packages/workspace-scanner/dist/src/detect.d.ts.map +1 -0
- package/packages/workspace-scanner/dist/src/detect.js +60 -0
- package/packages/workspace-scanner/dist/src/detect.js.map +1 -0
- package/packages/workspace-scanner/dist/src/git.d.ts +7 -0
- package/packages/workspace-scanner/dist/src/git.d.ts.map +1 -0
- package/packages/workspace-scanner/dist/src/git.js +75 -0
- package/packages/workspace-scanner/dist/src/git.js.map +1 -0
- package/packages/workspace-scanner/dist/src/index.d.ts +5 -0
- package/packages/workspace-scanner/dist/src/index.d.ts.map +1 -0
- package/packages/workspace-scanner/dist/src/index.js +4 -0
- package/packages/workspace-scanner/dist/src/index.js.map +1 -0
- package/packages/workspace-scanner/dist/src/scanner.d.ts +11 -0
- package/packages/workspace-scanner/dist/src/scanner.d.ts.map +1 -0
- package/packages/workspace-scanner/dist/src/scanner.js +59 -0
- package/packages/workspace-scanner/dist/src/scanner.js.map +1 -0
- package/packages/workspace-scanner/dist/src/types.d.ts +35 -0
- package/packages/workspace-scanner/dist/src/types.d.ts.map +1 -0
- package/packages/workspace-scanner/dist/src/types.js +5 -0
- package/packages/workspace-scanner/dist/src/types.js.map +1 -0
- package/packages/workspace-scanner/dist/test/scanner.test.js +34 -0
- package/packages/workspace-scanner/dist/types.d.ts +35 -0
- package/packages/workspace-scanner/dist/types.d.ts.map +1 -0
- package/packages/workspace-scanner/dist/types.js +5 -0
- package/packages/workspace-scanner/dist/types.js.map +1 -0
- package/packages/workspace-scanner/package.json +12 -0
- package/packages/workspace-scanner/src/detect.ts +77 -0
- package/packages/workspace-scanner/src/git.ts +83 -0
- package/packages/workspace-scanner/src/index.ts +9 -0
- package/packages/workspace-scanner/src/scanner.ts +73 -0
- package/packages/workspace-scanner/src/types.ts +48 -0
- package/packages/workspace-scanner/test/scanner.test.js +31 -0
- package/packages/workspace-scanner/test/scanner.test.ts +42 -0
- package/packages/workspace-scanner/tsconfig.json +10 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event Store — Types
|
|
3
|
+
*/
|
|
4
|
+
export type SessionEventType = "message" | "tool_start" | "tool_end" | "tool_error" | "assistant_start" | "assistant_end" | "session_start" | "session_end" | "checkpoint" | "compact";
|
|
5
|
+
export interface EventMetadata {
|
|
6
|
+
model?: string;
|
|
7
|
+
provider?: string;
|
|
8
|
+
tokens?: number;
|
|
9
|
+
durationMs?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface SessionEvent {
|
|
12
|
+
id: string;
|
|
13
|
+
sessionId: string;
|
|
14
|
+
timestamp: string;
|
|
15
|
+
type: SessionEventType;
|
|
16
|
+
role?: "user" | "assistant" | "system";
|
|
17
|
+
content?: string;
|
|
18
|
+
tool?: string;
|
|
19
|
+
error?: string;
|
|
20
|
+
metadata?: EventMetadata;
|
|
21
|
+
}
|
|
22
|
+
export interface StoreOptions {
|
|
23
|
+
sessionsDir?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface StoreStats {
|
|
26
|
+
sessionId: string;
|
|
27
|
+
totalEvents: number;
|
|
28
|
+
sizeBytes: number;
|
|
29
|
+
lastEventAt: string | null;
|
|
30
|
+
}
|
|
31
|
+
export interface WriteResult {
|
|
32
|
+
id: string;
|
|
33
|
+
timestamp: string;
|
|
34
|
+
bytesWritten: number;
|
|
35
|
+
}
|
|
36
|
+
export interface ReadOptions {
|
|
37
|
+
sessionId?: string;
|
|
38
|
+
since?: string;
|
|
39
|
+
types?: SessionEventType[];
|
|
40
|
+
limit?: number;
|
|
41
|
+
offset?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface SearchOptions {
|
|
44
|
+
sessionId?: string;
|
|
45
|
+
query: string;
|
|
46
|
+
limit?: number;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,gBAAgB,GACzB,SAAS,GACT,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,aAAa,GACb,YAAY,GACZ,SAAS,CAAC;AAEb,MAAM,WAAW,aAAa;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event Store — JSONL-backed immutable event store
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
appendFileSync,
|
|
7
|
+
existsSync,
|
|
8
|
+
mkdirSync,
|
|
9
|
+
readFileSync,
|
|
10
|
+
statSync,
|
|
11
|
+
createReadStream,
|
|
12
|
+
createWriteStream,
|
|
13
|
+
} from "node:fs";
|
|
14
|
+
import { join, dirname } from "node:path";
|
|
15
|
+
import { homedir } from "node:os";
|
|
16
|
+
import { randomUUID } from "node:crypto";
|
|
17
|
+
import { pipeline } from "node:stream/promises";
|
|
18
|
+
import type {
|
|
19
|
+
SessionEvent,
|
|
20
|
+
SessionEventType,
|
|
21
|
+
WriteResult,
|
|
22
|
+
ReadOptions,
|
|
23
|
+
SearchOptions,
|
|
24
|
+
StoreOptions,
|
|
25
|
+
StoreStats,
|
|
26
|
+
} from "./types.js";
|
|
27
|
+
|
|
28
|
+
export class EventStore {
|
|
29
|
+
private readonly sessionsDir: string;
|
|
30
|
+
|
|
31
|
+
constructor(opts: StoreOptions = {}) {
|
|
32
|
+
this.sessionsDir = opts.sessionsDir ?? join(homedir(), ".pi", "sessions");
|
|
33
|
+
if (!existsSync(this.sessionsDir)) {
|
|
34
|
+
mkdirSync(this.sessionsDir, { recursive: true });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
getPath(sessionId: string): string {
|
|
39
|
+
return join(this.sessionsDir, `${sessionId}.jsonl`);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async append(
|
|
43
|
+
event: Omit<SessionEvent, "id" | "timestamp">,
|
|
44
|
+
): Promise<WriteResult> {
|
|
45
|
+
const id = randomUUID();
|
|
46
|
+
const timestamp = new Date().toISOString();
|
|
47
|
+
const full: SessionEvent = { ...event, id, timestamp };
|
|
48
|
+
const line = JSON.stringify(full) + "\n";
|
|
49
|
+
const path = this.getPath(full.sessionId);
|
|
50
|
+
const dir = dirname(path);
|
|
51
|
+
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
|
|
52
|
+
appendFileSync(path, line, "utf8");
|
|
53
|
+
return { id, timestamp, bytesWritten: Buffer.byteLength(line, "utf8") };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async read(opts: ReadOptions = {}): Promise<SessionEvent[]> {
|
|
57
|
+
const events: SessionEvent[] = [];
|
|
58
|
+
const limit = opts.limit ?? Infinity;
|
|
59
|
+
const offset = opts.offset ?? 0;
|
|
60
|
+
let skipped = 0;
|
|
61
|
+
|
|
62
|
+
const sessionIds = opts.sessionId ? [opts.sessionId] : this.list();
|
|
63
|
+
|
|
64
|
+
for (const sid of sessionIds) {
|
|
65
|
+
const path = this.getPath(sid);
|
|
66
|
+
if (!existsSync(path)) continue;
|
|
67
|
+
|
|
68
|
+
const stream = createReadStream(path, {
|
|
69
|
+
encoding: "utf8",
|
|
70
|
+
highWaterMark: 64 * 1024,
|
|
71
|
+
});
|
|
72
|
+
let buffer = "";
|
|
73
|
+
|
|
74
|
+
for await (const chunk of stream) {
|
|
75
|
+
buffer += chunk;
|
|
76
|
+
const lines = buffer.split("\n");
|
|
77
|
+
buffer = lines.pop() ?? "";
|
|
78
|
+
|
|
79
|
+
for (const line of lines) {
|
|
80
|
+
if (!line.trim()) continue;
|
|
81
|
+
try {
|
|
82
|
+
const evt = JSON.parse(line) as SessionEvent;
|
|
83
|
+
if (opts.since && evt.timestamp <= opts.since) continue;
|
|
84
|
+
if (opts.types && !opts.types.includes(evt.type)) continue;
|
|
85
|
+
if (skipped < offset) {
|
|
86
|
+
skipped++;
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
events.push(evt);
|
|
90
|
+
if (events.length >= limit) {
|
|
91
|
+
stream.destroy();
|
|
92
|
+
return events;
|
|
93
|
+
}
|
|
94
|
+
} catch {
|
|
95
|
+
// skip corrupt lines
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return events;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
async search(opts: SearchOptions): Promise<SessionEvent[]> {
|
|
105
|
+
const events: SessionEvent[] = [];
|
|
106
|
+
const limit = opts.limit ?? 100;
|
|
107
|
+
const query = opts.query.toLowerCase();
|
|
108
|
+
|
|
109
|
+
const sessionIds = opts.sessionId ? [opts.sessionId] : this.list();
|
|
110
|
+
|
|
111
|
+
for (const sid of sessionIds) {
|
|
112
|
+
const path = this.getPath(sid);
|
|
113
|
+
if (!existsSync(path)) continue;
|
|
114
|
+
|
|
115
|
+
const stream = createReadStream(path, { encoding: "utf8" });
|
|
116
|
+
for await (const chunk of stream) {
|
|
117
|
+
const lines = String(chunk).split("\n");
|
|
118
|
+
for (const line of lines) {
|
|
119
|
+
if (!line.trim()) continue;
|
|
120
|
+
try {
|
|
121
|
+
const evt = JSON.parse(line) as SessionEvent;
|
|
122
|
+
if (evt.content?.toLowerCase().includes(query)) {
|
|
123
|
+
events.push(evt);
|
|
124
|
+
if (events.length >= limit) {
|
|
125
|
+
stream.destroy();
|
|
126
|
+
return events;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
} catch {
|
|
130
|
+
// skip
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return events;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
stats(sessionId: string): StoreStats {
|
|
140
|
+
const path = this.getPath(sessionId);
|
|
141
|
+
if (!existsSync(path)) {
|
|
142
|
+
return { sessionId, totalEvents: 0, sizeBytes: 0, lastEventAt: null };
|
|
143
|
+
}
|
|
144
|
+
const st = statSync(path);
|
|
145
|
+
const events = readFileSync(path, "utf8").split("\n").filter(Boolean);
|
|
146
|
+
const last =
|
|
147
|
+
events.length > 0
|
|
148
|
+
? (JSON.parse(events[events.length - 1]) as SessionEvent).timestamp
|
|
149
|
+
: null;
|
|
150
|
+
return {
|
|
151
|
+
sessionId,
|
|
152
|
+
totalEvents: events.length,
|
|
153
|
+
sizeBytes: st.size,
|
|
154
|
+
lastEventAt: last,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
list(): string[] {
|
|
159
|
+
try {
|
|
160
|
+
const { readdirSync } = require("node:fs");
|
|
161
|
+
return readdirSync(this.sessionsDir)
|
|
162
|
+
.filter((f: string) => f.endsWith(".jsonl"))
|
|
163
|
+
.map((f: string) => f.replace(".jsonl", ""));
|
|
164
|
+
} catch {
|
|
165
|
+
return [];
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event Store — Types
|
|
3
|
+
*/
|
|
4
|
+
export type SessionEventType = "message" | "tool_start" | "tool_end" | "tool_error" | "assistant_start" | "assistant_end" | "session_start" | "session_end" | "checkpoint" | "compact";
|
|
5
|
+
export interface EventMetadata {
|
|
6
|
+
model?: string;
|
|
7
|
+
provider?: string;
|
|
8
|
+
tokens?: number;
|
|
9
|
+
durationMs?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface SessionEvent {
|
|
12
|
+
id: string;
|
|
13
|
+
sessionId: string;
|
|
14
|
+
timestamp: string;
|
|
15
|
+
type: SessionEventType;
|
|
16
|
+
role?: "user" | "assistant" | "system";
|
|
17
|
+
content?: string;
|
|
18
|
+
tool?: string;
|
|
19
|
+
error?: string;
|
|
20
|
+
metadata?: EventMetadata;
|
|
21
|
+
}
|
|
22
|
+
export interface StoreOptions {
|
|
23
|
+
sessionsDir?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface StoreStats {
|
|
26
|
+
sessionId: string;
|
|
27
|
+
totalEvents: number;
|
|
28
|
+
sizeBytes: number;
|
|
29
|
+
lastEventAt: string | null;
|
|
30
|
+
}
|
|
31
|
+
export interface WriteResult {
|
|
32
|
+
id: string;
|
|
33
|
+
timestamp: string;
|
|
34
|
+
bytesWritten: number;
|
|
35
|
+
}
|
|
36
|
+
export interface ReadOptions {
|
|
37
|
+
sessionId?: string;
|
|
38
|
+
since?: string;
|
|
39
|
+
types?: SessionEventType[];
|
|
40
|
+
limit?: number;
|
|
41
|
+
offset?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface SearchOptions {
|
|
44
|
+
sessionId?: string;
|
|
45
|
+
query: string;
|
|
46
|
+
limit?: number;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,gBAAgB,GACzB,SAAS,GACT,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,aAAa,GACb,YAAY,GACZ,SAAS,CAAC;AAEb,MAAM,WAAW,aAAa;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event Store — Types
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export type SessionEventType =
|
|
6
|
+
| "message"
|
|
7
|
+
| "tool_start"
|
|
8
|
+
| "tool_end"
|
|
9
|
+
| "tool_error"
|
|
10
|
+
| "assistant_start"
|
|
11
|
+
| "assistant_end"
|
|
12
|
+
| "session_start"
|
|
13
|
+
| "session_end"
|
|
14
|
+
| "checkpoint"
|
|
15
|
+
| "compact";
|
|
16
|
+
|
|
17
|
+
export interface EventMetadata {
|
|
18
|
+
model?: string;
|
|
19
|
+
provider?: string;
|
|
20
|
+
tokens?: number;
|
|
21
|
+
durationMs?: number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface SessionEvent {
|
|
25
|
+
id: string;
|
|
26
|
+
sessionId: string;
|
|
27
|
+
timestamp: string;
|
|
28
|
+
type: SessionEventType;
|
|
29
|
+
role?: "user" | "assistant" | "system";
|
|
30
|
+
content?: string;
|
|
31
|
+
tool?: string;
|
|
32
|
+
error?: string;
|
|
33
|
+
metadata?: EventMetadata;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface StoreOptions {
|
|
37
|
+
sessionsDir?: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface StoreStats {
|
|
41
|
+
sessionId: string;
|
|
42
|
+
totalEvents: number;
|
|
43
|
+
sizeBytes: number;
|
|
44
|
+
lastEventAt: string | null;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface WriteResult {
|
|
48
|
+
id: string;
|
|
49
|
+
timestamp: string;
|
|
50
|
+
bytesWritten: number;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface ReadOptions {
|
|
54
|
+
sessionId?: string;
|
|
55
|
+
since?: string;
|
|
56
|
+
types?: SessionEventType[];
|
|
57
|
+
limit?: number;
|
|
58
|
+
offset?: number;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface SearchOptions {
|
|
62
|
+
sessionId?: string;
|
|
63
|
+
query: string;
|
|
64
|
+
limit?: number;
|
|
65
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { describe, it, beforeEach, afterEach } from "node:test";
|
|
2
|
+
import { equal } from "node:assert";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { mkdirSync, rmSync } from "node:fs";
|
|
5
|
+
import { tmpdir } from "node:os";
|
|
6
|
+
import { EventStore } from "../src/store.js";
|
|
7
|
+
|
|
8
|
+
describe("EventStore", () => {
|
|
9
|
+
const dir = join(tmpdir(), "event-store-test-" + Date.now());
|
|
10
|
+
beforeEach(() => mkdirSync(dir, { recursive: true }));
|
|
11
|
+
afterEach(() => rmSync(dir, { recursive: true, force: true }));
|
|
12
|
+
|
|
13
|
+
const store = new EventStore({ sessionsDir: dir });
|
|
14
|
+
|
|
15
|
+
it("append generates id and timestamp", async () => {
|
|
16
|
+
const result = await store.append({
|
|
17
|
+
sessionId: "test-1",
|
|
18
|
+
type: "message",
|
|
19
|
+
role: "user",
|
|
20
|
+
content: "hello",
|
|
21
|
+
});
|
|
22
|
+
equal(typeof result.id, "string");
|
|
23
|
+
equal(result.id.length > 0, true);
|
|
24
|
+
equal(typeof result.timestamp, "string");
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it("read returns appended events", async () => {
|
|
28
|
+
await store.append({
|
|
29
|
+
sessionId: "s1",
|
|
30
|
+
type: "message",
|
|
31
|
+
role: "user",
|
|
32
|
+
content: "hello",
|
|
33
|
+
});
|
|
34
|
+
await store.append({
|
|
35
|
+
sessionId: "s1",
|
|
36
|
+
type: "message",
|
|
37
|
+
role: "assistant",
|
|
38
|
+
content: "hi",
|
|
39
|
+
});
|
|
40
|
+
const events = await store.read({ sessionId: "s1" });
|
|
41
|
+
equal(events.length, 2);
|
|
42
|
+
equal(events[0].content, "hello");
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it("read filters by type", async () => {
|
|
46
|
+
await store.append({
|
|
47
|
+
sessionId: "s2",
|
|
48
|
+
type: "message",
|
|
49
|
+
role: "user",
|
|
50
|
+
content: "a",
|
|
51
|
+
});
|
|
52
|
+
await store.append({
|
|
53
|
+
sessionId: "s2",
|
|
54
|
+
type: "tool_start",
|
|
55
|
+
tool: "bash",
|
|
56
|
+
content: "",
|
|
57
|
+
});
|
|
58
|
+
const events = await store.read({ sessionId: "s2", types: ["message"] });
|
|
59
|
+
equal(events.length, 1);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("search finds matching content", async () => {
|
|
63
|
+
await store.append({
|
|
64
|
+
sessionId: "s3",
|
|
65
|
+
type: "message",
|
|
66
|
+
role: "user",
|
|
67
|
+
content: "fix the login bug",
|
|
68
|
+
});
|
|
69
|
+
await store.append({
|
|
70
|
+
sessionId: "s3",
|
|
71
|
+
type: "message",
|
|
72
|
+
role: "user",
|
|
73
|
+
content: "add dark mode",
|
|
74
|
+
});
|
|
75
|
+
const events = await store.search({ query: "login" });
|
|
76
|
+
equal(events.length >= 1, true);
|
|
77
|
+
equal(events[0].content?.includes("login"), true);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it("stats returns counts", async () => {
|
|
81
|
+
await store.append({
|
|
82
|
+
sessionId: "s4",
|
|
83
|
+
type: "message",
|
|
84
|
+
role: "user",
|
|
85
|
+
content: "a",
|
|
86
|
+
});
|
|
87
|
+
await store.append({
|
|
88
|
+
sessionId: "s4",
|
|
89
|
+
type: "message",
|
|
90
|
+
role: "user",
|
|
91
|
+
content: "b",
|
|
92
|
+
});
|
|
93
|
+
const st = store.stats("s4");
|
|
94
|
+
equal(st.totalEvents, 2);
|
|
95
|
+
equal(st.sizeBytes > 0, true);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
it("list returns session IDs", async () => {
|
|
99
|
+
await store.append({
|
|
100
|
+
sessionId: "alpha",
|
|
101
|
+
type: "message",
|
|
102
|
+
role: "user",
|
|
103
|
+
content: "x",
|
|
104
|
+
});
|
|
105
|
+
await store.append({
|
|
106
|
+
sessionId: "beta",
|
|
107
|
+
type: "message",
|
|
108
|
+
role: "user",
|
|
109
|
+
content: "y",
|
|
110
|
+
});
|
|
111
|
+
const sessions = store.list();
|
|
112
|
+
equal(sessions.includes("alpha"), true);
|
|
113
|
+
equal(sessions.includes("beta"), true);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent Analyzer — Analyzer
|
|
3
|
+
*
|
|
4
|
+
* Keyword-based intent detection.
|
|
5
|
+
*/
|
|
6
|
+
import type { Intent, IntentRule } from "./types.js";
|
|
7
|
+
export declare class IntentAnalyzer {
|
|
8
|
+
private rules;
|
|
9
|
+
constructor(rules?: IntentRule[]);
|
|
10
|
+
analyze(text: string): Intent;
|
|
11
|
+
analyzeBatch(texts: string[]): Intent[];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAgC,UAAU,EAAgB,MAAM,YAAY,CAAC;AAyBjG,qBAAa,cAAc;IAC1B,OAAO,CAAC,KAAK,CAAe;IAE5B,YAAY,KAAK,GAAE,UAAU,EAAiB,EAE7C;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0C5B;IAED,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEtC;CACD"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent Analyzer — Analyzer
|
|
3
|
+
*
|
|
4
|
+
* Keyword-based intent detection.
|
|
5
|
+
*/
|
|
6
|
+
const INTENT_RULES = [
|
|
7
|
+
{ kind: "bug_fix", keywords: ["fix", "bug", "error", "crash", "fail", "broken", "issue", "defect", "patch", "hotfix"], weight: 2, confidence: "high" },
|
|
8
|
+
{ kind: "feature", keywords: ["add", "implement", "new", "create", "build", "introduce"], weight: 2, confidence: "high" },
|
|
9
|
+
{ kind: "refactor", keywords: ["refactor", "rename", "move", "extract", "restructure", "cleanup", "simplify", "rewrite"], weight: 2, confidence: "high" },
|
|
10
|
+
{ kind: "code_review", keywords: ["review", "check code", "audit", "critique", "evaluate", "assess"], weight: 2, confidence: "high" },
|
|
11
|
+
{ kind: "deployment", keywords: ["deploy", "release", "publish", "ship", "launch", "rollout", "promote"], weight: 2, confidence: "high" },
|
|
12
|
+
{ kind: "testing", keywords: ["test", "spec", "coverage", "unit test", "integration test", "e2e", "specify"], weight: 2, confidence: "high" },
|
|
13
|
+
{ kind: "documentation", keywords: ["doc", "readme", "comment", "document", "guide", "changelog", "spec"], weight: 1, confidence: "medium" },
|
|
14
|
+
{ kind: "migration", keywords: ["migrate", "convert", "port", "upgrade", "move to", "transition"], weight: 2, confidence: "high" },
|
|
15
|
+
{ kind: "security", keywords: ["security", "vulnerability", "exploit", "auth", "permission", "cve", "secret", "token"], weight: 2, confidence: "high" },
|
|
16
|
+
{ kind: "performance", keywords: ["performance", "speed", "optimize", "fast", "slow", "latency", "benchmark"], weight: 2, confidence: "high" },
|
|
17
|
+
{ kind: "architecture", keywords: ["architecture", "design", "structure", "system design", "pattern", "abstraction", "component"], weight: 2, confidence: "medium" },
|
|
18
|
+
{ kind: "research", keywords: ["research", "investigate", "explore", "analyze", "study", "understand"], weight: 1, confidence: "medium" },
|
|
19
|
+
{ kind: "learning", keywords: ["learn", "teach", "explain", "how does", "understand", "what is"], weight: 1, confidence: "low" },
|
|
20
|
+
];
|
|
21
|
+
function tokenize(text) {
|
|
22
|
+
return text.toLowerCase()
|
|
23
|
+
.replace(/[^a-z0-9\s]/g, " ")
|
|
24
|
+
.split(/\s+/)
|
|
25
|
+
.filter(Boolean);
|
|
26
|
+
}
|
|
27
|
+
export class IntentAnalyzer {
|
|
28
|
+
rules;
|
|
29
|
+
constructor(rules = INTENT_RULES) {
|
|
30
|
+
this.rules = rules;
|
|
31
|
+
}
|
|
32
|
+
analyze(text) {
|
|
33
|
+
const lower = text.toLowerCase();
|
|
34
|
+
const tokens = tokenize(text);
|
|
35
|
+
const matchedSignals = [];
|
|
36
|
+
let topKind = "general";
|
|
37
|
+
let topScore = 0;
|
|
38
|
+
let topConfidence = "low";
|
|
39
|
+
for (const rule of this.rules) {
|
|
40
|
+
let ruleScore = 0;
|
|
41
|
+
const matchedKeywords = [];
|
|
42
|
+
for (const keyword of rule.keywords) {
|
|
43
|
+
if (lower.includes(keyword)) {
|
|
44
|
+
ruleScore += rule.weight;
|
|
45
|
+
matchedKeywords.push(keyword);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (ruleScore > topScore) {
|
|
49
|
+
topScore = ruleScore;
|
|
50
|
+
topKind = rule.kind;
|
|
51
|
+
topConfidence = rule.confidence;
|
|
52
|
+
}
|
|
53
|
+
for (const kw of matchedKeywords) {
|
|
54
|
+
matchedSignals.push({ keyword: kw, weight: rule.weight, matched: true });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (topScore === 0) {
|
|
58
|
+
topKind = "general";
|
|
59
|
+
topConfidence = "low";
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
kind: topKind,
|
|
63
|
+
confidence: topConfidence,
|
|
64
|
+
signals: matchedSignals,
|
|
65
|
+
originalText: text,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
analyzeBatch(texts) {
|
|
69
|
+
return texts.map((t) => this.analyze(t));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent Analyzer — Analyzer
|
|
3
|
+
*
|
|
4
|
+
* Keyword-based intent detection.
|
|
5
|
+
*/
|
|
6
|
+
import type { Intent, IntentRule } from "./types.js";
|
|
7
|
+
export declare class IntentAnalyzer {
|
|
8
|
+
private rules;
|
|
9
|
+
constructor(rules?: IntentRule[]);
|
|
10
|
+
analyze(text: string): Intent;
|
|
11
|
+
analyzeBatch(texts: string[]): Intent[];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../src/analyzer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACX,MAAM,EAGN,UAAU,EAEV,MAAM,YAAY,CAAC;AA4LpB,qBAAa,cAAc;IAC1B,OAAO,CAAC,KAAK,CAAe;IAE5B,YAAY,KAAK,GAAE,UAAU,EAAiB,EAE7C;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA8C5B;IAED,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEtC;CACD"}
|