@reqlan/analytical 0.5.4 → 0.6.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.
Files changed (77) hide show
  1. package/README.md +22 -3
  2. package/out/analysis/git-dates-analyser.js +41 -12
  3. package/out/analysis/git-dates-analyser.js.map +1 -1
  4. package/out/core/analytical-store.d.ts +9 -2
  5. package/out/core/analytical-store.js +7 -5
  6. package/out/core/analytical-store.js.map +1 -1
  7. package/out/core/application-memory.d.ts +17 -2
  8. package/out/core/application-memory.js +23 -5
  9. package/out/core/application-memory.js.map +1 -1
  10. package/out/core/base-discovery.d.ts +40 -0
  11. package/out/core/base-discovery.js +166 -0
  12. package/out/core/base-discovery.js.map +1 -0
  13. package/out/core/context-model.d.ts +17 -0
  14. package/out/core/context-model.js.map +1 -1
  15. package/out/core/create-base.d.ts +11 -0
  16. package/out/core/create-base.js +33 -0
  17. package/out/core/create-base.js.map +1 -0
  18. package/out/core/rqignore.d.ts +25 -0
  19. package/out/core/rqignore.js +149 -0
  20. package/out/core/rqignore.js.map +1 -0
  21. package/out/core/types.d.ts +5 -1
  22. package/out/core/types.js.map +1 -1
  23. package/out/create-runtime.d.ts +29 -4
  24. package/out/create-runtime.js +47 -8
  25. package/out/create-runtime.js.map +1 -1
  26. package/out/export/html-export-assets.d.ts +2 -2
  27. package/out/export/html-export-assets.js +259 -239
  28. package/out/export/html-export-assets.js.map +1 -1
  29. package/out/graph/physics-core.d.ts +141 -0
  30. package/out/graph/physics-core.js +237 -0
  31. package/out/graph/physics-core.js.map +1 -0
  32. package/out/headless-index-service.d.ts +6 -23
  33. package/out/headless-index-service.js +5 -171
  34. package/out/headless-index-service.js.map +1 -1
  35. package/out/index-store/base-registry.d.ts +57 -0
  36. package/out/index-store/base-registry.js +192 -0
  37. package/out/index-store/base-registry.js.map +1 -0
  38. package/out/index-store/index-diagnostics-store.d.ts +72 -0
  39. package/out/index-store/index-diagnostics-store.js +238 -0
  40. package/out/index-store/index-diagnostics-store.js.map +1 -0
  41. package/out/index-store/index-file-error.d.ts +16 -0
  42. package/out/index-store/index-file-error.js +27 -0
  43. package/out/index-store/index-file-error.js.map +1 -0
  44. package/out/index-store/index-parse-issues.d.ts +9 -0
  45. package/out/index-store/index-parse-issues.js +62 -0
  46. package/out/index-store/index-parse-issues.js.map +1 -0
  47. package/out/index-store/index-status.d.ts +20 -0
  48. package/out/index-store/index-status.js +2 -0
  49. package/out/index-store/index-status.js.map +1 -0
  50. package/out/index-store/overview-coverage.d.ts +23 -0
  51. package/out/index-store/overview-coverage.js +254 -0
  52. package/out/index-store/overview-coverage.js.map +1 -0
  53. package/out/index-store/schema.d.ts +1 -1
  54. package/out/index-store/schema.js +4 -1
  55. package/out/index-store/schema.js.map +1 -1
  56. package/out/index-store/sqlite-store.d.ts +31 -2
  57. package/out/index-store/sqlite-store.js +152 -13
  58. package/out/index-store/sqlite-store.js.map +1 -1
  59. package/out/index-store/webview-table-queries.d.ts +65 -1
  60. package/out/index-store/webview-table-queries.js +188 -26
  61. package/out/index-store/webview-table-queries.js.map +1 -1
  62. package/out/index-store/workspace-index-file.d.ts +27 -0
  63. package/out/index-store/workspace-index-file.js +98 -0
  64. package/out/index-store/workspace-index-file.js.map +1 -0
  65. package/out/index-store/workspace-index-sync.d.ts +53 -0
  66. package/out/index-store/workspace-index-sync.js +164 -0
  67. package/out/index-store/workspace-index-sync.js.map +1 -0
  68. package/out/index-store/workspace-index.d.ts +80 -0
  69. package/out/index-store/workspace-index.js +525 -0
  70. package/out/index-store/workspace-index.js.map +1 -0
  71. package/out/index-store/workspace-mtime.d.ts +14 -0
  72. package/out/index-store/workspace-mtime.js +56 -0
  73. package/out/index-store/workspace-mtime.js.map +1 -0
  74. package/out/index.d.ts +25 -6
  75. package/out/index.js +12 -3
  76. package/out/index.js.map +1 -1
  77. package/package.json +7 -2
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Mtime-based staleness helpers for soft sync and idle checks.
3
+ *
4
+ * One SQLite `listDocumentMtimes()` loads the whole map; per-file skip then
5
+ * compares in memory. A single MAX(mtime) watermark is not enough: one file can
6
+ * get newer while another gets older and the max stays unchanged.
7
+ *
8
+ * rq:["../../../reqlan rq/indexer/indexer.rq".nonblocking_index]
9
+ * rq:["../../../reqlan rq/extension/features-graph-analysers.rq".indexing_incrementality]
10
+ * rq:["../../../reqlan rq/extension/features-graph-analysers.rq".indexing_trigger_auto]
11
+ */
12
+ import { stat } from 'node:fs/promises';
13
+ /**
14
+ * Compare filesystem mtimes to a preloaded documents mtime map (one SQLite read).
15
+ */
16
+ export async function diffStaleFiles(filePaths, toIndexedUri, storedMtimes) {
17
+ const presentUris = new Set();
18
+ const dirtyPaths = [];
19
+ for (const filePath of filePaths) {
20
+ const indexedUri = toIndexedUri(filePath);
21
+ presentUris.add(indexedUri);
22
+ let fileMtime;
23
+ try {
24
+ fileMtime = Math.trunc((await stat(filePath)).mtimeMs);
25
+ }
26
+ catch {
27
+ continue;
28
+ }
29
+ const storedMtime = storedMtimes.get(indexedUri);
30
+ if (storedMtime === undefined || storedMtime !== fileMtime) {
31
+ dirtyPaths.push(filePath);
32
+ }
33
+ }
34
+ const removedUris = [];
35
+ for (const indexedUri of storedMtimes.keys()) {
36
+ if (!presentUris.has(indexedUri)) {
37
+ removedUris.push(indexedUri);
38
+ }
39
+ }
40
+ return { dirtyPaths, presentUris, removedUris };
41
+ }
42
+ /** True when the file's mtime matches the preloaded store map entry. */
43
+ export async function isUnchangedByMtime(filePath, indexedUri, storedMtimes) {
44
+ const storedMtime = storedMtimes.get(indexedUri);
45
+ if (storedMtime === undefined) {
46
+ return false;
47
+ }
48
+ try {
49
+ const fileMtime = Math.trunc((await stat(filePath)).mtimeMs);
50
+ return fileMtime === storedMtime;
51
+ }
52
+ catch {
53
+ return false;
54
+ }
55
+ }
56
+ //# sourceMappingURL=workspace-mtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-mtime.js","sourceRoot":"","sources":["../../src/index-store/workspace-mtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAWxC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,SAAmB,EACnB,YAA0C,EAC1C,YAA6C;IAE7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;QACD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACzD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACpD,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,QAAgB,EAChB,UAAkB,EAClB,YAA6C;IAE7C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,SAAS,KAAK,WAAW,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
package/out/index.d.ts CHANGED
@@ -1,10 +1,18 @@
1
1
  export { createAnalyticalStore } from './core/analytical-store.js';
2
- export type { AnalyticalState, AnalyticalStore, AnalyticalStoreState, AnalysisRun, DocumentUpdate, IndexError, FileIndexIssue, IndexState, WorkspaceChange, WorkspaceFileChange } from './core/analytical-store.js';
2
+ export type { AnalyticalState, AnalyticalStore, AnalyticalStoreState, AnalysisRun, DocumentUpdate, DocumentUpdateIdea, IndexError, FileIndexIssue, IndexState, WorkspaceChange, WorkspaceFileChange } from './core/analytical-store.js';
3
3
  export type { IndexErrorPhase } from './core/analytical-store.js';
4
4
  export { toIndexErrorDetail, toFileIndexIssueView, errorCauseMessage } from './core/index-error.js';
5
5
  export type { IndexErrorDetail, FileIndexIssueView } from './core/index-error.js';
6
6
  export { normalizeIndexedDocument, resolveWorkspaceFileUri, toWorkspaceRelativePath } from './core/workspace-paths.js';
7
- export { APPLICATION_MEMORY_DIR, IDEAS_INDEX_FILENAME, resolveApplicationMemoryPath, resolveIdeasIndexDbPath } from './core/application-memory.js';
7
+ export { APPLICATION_MEMORY_DIR, CONFIG_FILENAME, IDEAS_INDEX_FILENAME, INDEX_DIAGNOSTICS_FILENAME, RQIGNORE_FILENAME, resolveApplicationMemoryPath, resolveIdeasIndexDbPath, resolveIndexDiagnosticsDbPath } from './core/application-memory.js';
8
+ export { DEFAULT_RQIGNORE_PATTERNS, createRqIgnoreFilter, defaultRqIgnoreFileContents, isIgnoredPath, loadRqIgnore, resolveRqIgnorePath } from './core/rqignore.js';
9
+ export type { RqIgnoreFilter } from './core/rqignore.js';
10
+ export { createBase } from './core/create-base.js';
11
+ export type { CreateBaseResult } from './core/create-base.js';
12
+ export { baseForPath, childBasesOf, discoverBases, discoverBasesUnder, filesOwnedByBase, isPathInsideOrEqual, selectDefaultBase, stableBaseId, toBaseDescriptor } from './core/base-discovery.js';
13
+ export type { BaseDescriptor } from './core/base-discovery.js';
14
+ export { BaseRegistry } from './index-store/base-registry.js';
15
+ export type { BaseStatusEntry, RegisteredBase } from './index-store/base-registry.js';
8
16
  export { resolveReferencedFilePath } from './core/file-reference-resolve.js';
9
17
  export type { Analyser, AnalyserContext } from './analysis/analyser-registry.js';
10
18
  export { AnalyserRegistry } from './analysis/analyser-registry.js';
@@ -18,12 +26,14 @@ export { localGraphAnalyser } from './analysis/local-graph-analyser.js';
18
26
  export { semanticSearchAnalyser } from './analysis/semantic-search-analyser.js';
19
27
  export { extractIndexedDocument } from './index-store/idea-extractor.js';
20
28
  export { SqliteIndexStore } from './index-store/sqlite-store.js';
21
- export type { IdeasTableQuery, IdeasetsTableQuery, ReferencesTableQuery, ReferenceFilter, IdeasSortColumn, IdeasetsSortColumn, ReferencesSortColumn, SortDirection } from './index-store/webview-table-queries.js';
22
- export { attributeKeyFromChipItem, attributeJsonPath, formatAttributeValue } from './index-store/webview-table-queries.js';
29
+ export type { IdeasTableQuery, IdeasetsTableQuery, ReferencesTableQuery, AttributesTableQuery, AttributeTableRow, GitIdeaTimelineEvent, ColumnFilter, ReferenceFilter, IdeasSortColumn, IdeasetsSortColumn, ReferencesSortColumn, AttributesSortColumn, IdeasGroupBy, ReferencesGroupBy, SortDirection } from './index-store/webview-table-queries.js';
30
+ export { attributeKeyFromChipItem, attributeJsonPath, formatAttributeValue, aggregateAttributesFromRows, filterAndPageAttributes, edgeKindsForReferenceViewTypes } from './index-store/webview-table-queries.js';
23
31
  export type { GraphViewQuery, GraphViewSlice, GraphNodeView, GraphEdgeView, GraphTruncationBasis } from './index-store/webview-graph-queries.js';
32
+ export { computeOverviewCoverageScores } from './index-store/overview-coverage.js';
33
+ export type { OverviewCoverageScores, ComputeOverviewCoverageOptions } from './index-store/overview-coverage.js';
24
34
  export { GRAPH_MAX_NODES, GRAPH_NODES_HARD_CAP, GRAPH_TRUNCATION_BASIS_OPTIONS, buildGraphFilterWhereClause, buildGraphTruncationOrderClause, buildGraphViewSlice, buildGraphSliceForIdeaIds, toGraphNodeView, CONTEXT_MIN_HOP_DEPTH, CONTEXT_MAX_HOP_DEPTH, clampGraphHopDepth } from './index-store/webview-graph-queries.js';
25
35
  export { ACTIVITY_BAR_MAX_NODES, BLOCKING_STATUSES } from './core/types.js';
26
- export type { ActivityBarScope, AncestorChainResult, CurrentFileSlice, IdeaWithRange, OutlineNode, ReferenceListRow, ReqlanContextModel, ContextAnomaly, ContextDimensionContribution, ContextDimensionId, ContextFileEntry, ContextFocus, ContextFootprint, GitAuthorRollup, GitContextSlice, GitFocusStats, GitFocusCommit, GitPeerChangeRate, WorkspaceContextSlice } from './core/types.js';
36
+ export type { ActivityBarScope, AncestorChainResult, CurrentFileSlice, IdeaWithRange, OutlineNode, ReferenceListRow, ReqlanContextModel, ContextAnomaly, ContextDimensionContribution, ContextDimensionId, ContextFileEntry, ContextFocus, ContextFootprint, GitAuthorRollup, GitContextSlice, GitFocusStats, GitFocusCommit, GitPeerChangeRate, WorkspaceBaseGlance, WorkspaceContextSlice } from './core/types.js';
27
37
  export type { ContextFileLensDetail, ContextReferencesSlice, ContextSelection } from './core/context-model.js';
28
38
  export { CONTEXT_DIMENSION_LABELS, CONTEXT_DIMENSION_WEIGHTS, CONTEXT_GRAPH_SEARCH_DIMENSIONS, DEFAULT_ENABLED_DIMENSIONS } from './core/context-model.js';
29
39
  export { buildAiReadiness, buildContextFingerprint, buildFocusSignals, CONTEXT_FINGERPRINT_AXIS_HELP, CONTEXT_FINGERPRINT_HELP, emptyContextSignals, emptyContextSynthesis, fingerprintAxisTooltip, formatAiReadinessMarkdown, formatFingerprintMarkdown, formatSynthesisMarkdown, hopDistancesFromCenter, hotspotBandFromRisk, hotspotBorderColor, hotspotBorderWidth, impactOpacityForHopDistance, requirementCardCue, synthesizeFocusContext, thinChurnIntensity, timelineMilestones } from './core/context-signals.js';
@@ -31,7 +41,14 @@ export type { AiReadiness, ContextCoverageLevel, ContextFingerprintAxes, Context
31
41
  export { resolveBidirectionalIdeaReferences } from './core/idea-references.js';
32
42
  export type { IdeaReferenceStore } from './core/idea-references.js';
33
43
  export * from './core/types.js';
34
- export { HeadlessIndexService } from './headless-index-service.js';
44
+ export { WorkspaceIndex, WorkspaceIndex as HeadlessIndexService } from './index-store/workspace-index.js';
45
+ export type { IdleCheckResult } from './index-store/workspace-index.js';
46
+ export type { IndexStatusSnapshot, IndexSyncProgress } from './index-store/index-status.js';
47
+ export { IndexDiagnosticsStore, pathDepthFromUri } from './index-store/index-diagnostics-store.js';
48
+ export type { IndexDiagnosticsOverview, IndexFileOutcome, IndexFileTimingRecord, IndexFileTimingRow, IndexSyncRunRecord, IndexSyncRunSummary, IndexTimingTrigger } from './index-store/index-diagnostics-store.js';
49
+ export { collectParseIssues, fileIssue, fileIssueFromError, unnamedIdeaIssues, validIdeas } from './index-store/index-parse-issues.js';
50
+ export type { FileIndexIssueDraft } from './index-store/index-parse-issues.js';
51
+ export { IndexFileError, recordCaughtFileIssue, recordCaughtIndexError, toFileIndexIssueDraft } from './index-store/index-file-error.js';
35
52
  export { activateAnalysisRuntime, createAnalysisRuntime, deactivateAnalysisRuntime } from './create-runtime.js';
36
53
  export type { AnalysisRuntime, AnalysisRuntimeOptions } from './create-runtime.js';
37
54
  export { AnalysisApi } from './analysis-api.js';
@@ -41,3 +58,5 @@ export { exportHtml } from './export/export-html.js';
41
58
  export { writeHtmlExport } from './export/write-html-export.js';
42
59
  export { isSecretRqPath } from './export/secret-rq.js';
43
60
  export type { ExportCounts, ExportClusterStrategy, ExportFormat, ExportHeaderLink, ExportRequest, ExportResult, ExportRuntimeMode, ExportScope, ExportSnapshot } from './export/types.js';
61
+ export { DEFAULT_PHYSICS_SETTINGS, ReqlanGraphPhysics, accumulateForces, hashAngle, integrateFromForces, stepPhysics } from './graph/physics-core.js';
62
+ export type { PhysicsCoreSettings, PhysicsEdge, PhysicsStepState } from './graph/physics-core.js';
package/out/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  export { createAnalyticalStore } from './core/analytical-store.js';
2
2
  export { toIndexErrorDetail, toFileIndexIssueView, errorCauseMessage } from './core/index-error.js';
3
3
  export { normalizeIndexedDocument, resolveWorkspaceFileUri, toWorkspaceRelativePath } from './core/workspace-paths.js';
4
- export { APPLICATION_MEMORY_DIR, IDEAS_INDEX_FILENAME, resolveApplicationMemoryPath, resolveIdeasIndexDbPath } from './core/application-memory.js';
4
+ export { APPLICATION_MEMORY_DIR, CONFIG_FILENAME, IDEAS_INDEX_FILENAME, INDEX_DIAGNOSTICS_FILENAME, RQIGNORE_FILENAME, resolveApplicationMemoryPath, resolveIdeasIndexDbPath, resolveIndexDiagnosticsDbPath } from './core/application-memory.js';
5
+ export { DEFAULT_RQIGNORE_PATTERNS, createRqIgnoreFilter, defaultRqIgnoreFileContents, isIgnoredPath, loadRqIgnore, resolveRqIgnorePath } from './core/rqignore.js';
6
+ export { createBase } from './core/create-base.js';
7
+ export { baseForPath, childBasesOf, discoverBases, discoverBasesUnder, filesOwnedByBase, isPathInsideOrEqual, selectDefaultBase, stableBaseId, toBaseDescriptor } from './core/base-discovery.js';
8
+ export { BaseRegistry } from './index-store/base-registry.js';
5
9
  export { resolveReferencedFilePath } from './core/file-reference-resolve.js';
6
10
  export { AnalyserRegistry } from './analysis/analyser-registry.js';
7
11
  export { listAllIdeasAnalyser } from './analysis/list-ideas-analyser.js';
@@ -13,18 +17,23 @@ export { localGraphAnalyser } from './analysis/local-graph-analyser.js';
13
17
  export { semanticSearchAnalyser } from './analysis/semantic-search-analyser.js';
14
18
  export { extractIndexedDocument } from './index-store/idea-extractor.js';
15
19
  export { SqliteIndexStore } from './index-store/sqlite-store.js';
16
- export { attributeKeyFromChipItem, attributeJsonPath, formatAttributeValue } from './index-store/webview-table-queries.js';
20
+ export { attributeKeyFromChipItem, attributeJsonPath, formatAttributeValue, aggregateAttributesFromRows, filterAndPageAttributes, edgeKindsForReferenceViewTypes } from './index-store/webview-table-queries.js';
21
+ export { computeOverviewCoverageScores } from './index-store/overview-coverage.js';
17
22
  export { GRAPH_MAX_NODES, GRAPH_NODES_HARD_CAP, GRAPH_TRUNCATION_BASIS_OPTIONS, buildGraphFilterWhereClause, buildGraphTruncationOrderClause, buildGraphViewSlice, buildGraphSliceForIdeaIds, toGraphNodeView, CONTEXT_MIN_HOP_DEPTH, CONTEXT_MAX_HOP_DEPTH, clampGraphHopDepth } from './index-store/webview-graph-queries.js';
18
23
  export { ACTIVITY_BAR_MAX_NODES, BLOCKING_STATUSES } from './core/types.js';
19
24
  export { CONTEXT_DIMENSION_LABELS, CONTEXT_DIMENSION_WEIGHTS, CONTEXT_GRAPH_SEARCH_DIMENSIONS, DEFAULT_ENABLED_DIMENSIONS } from './core/context-model.js';
20
25
  export { buildAiReadiness, buildContextFingerprint, buildFocusSignals, CONTEXT_FINGERPRINT_AXIS_HELP, CONTEXT_FINGERPRINT_HELP, emptyContextSignals, emptyContextSynthesis, fingerprintAxisTooltip, formatAiReadinessMarkdown, formatFingerprintMarkdown, formatSynthesisMarkdown, hopDistancesFromCenter, hotspotBandFromRisk, hotspotBorderColor, hotspotBorderWidth, impactOpacityForHopDistance, requirementCardCue, synthesizeFocusContext, thinChurnIntensity, timelineMilestones } from './core/context-signals.js';
21
26
  export { resolveBidirectionalIdeaReferences } from './core/idea-references.js';
22
27
  export * from './core/types.js';
23
- export { HeadlessIndexService } from './headless-index-service.js';
28
+ export { WorkspaceIndex, WorkspaceIndex as HeadlessIndexService } from './index-store/workspace-index.js';
29
+ export { IndexDiagnosticsStore, pathDepthFromUri } from './index-store/index-diagnostics-store.js';
30
+ export { collectParseIssues, fileIssue, fileIssueFromError, unnamedIdeaIssues, validIdeas } from './index-store/index-parse-issues.js';
31
+ export { IndexFileError, recordCaughtFileIssue, recordCaughtIndexError, toFileIndexIssueDraft } from './index-store/index-file-error.js';
24
32
  export { activateAnalysisRuntime, createAnalysisRuntime, deactivateAnalysisRuntime } from './create-runtime.js';
25
33
  export { AnalysisApi } from './analysis-api.js';
26
34
  export { buildExportSnapshot } from './export/build-export-snapshot.js';
27
35
  export { exportHtml } from './export/export-html.js';
28
36
  export { writeHtmlExport } from './export/write-html-export.js';
29
37
  export { isSecretRqPath } from './export/secret-rq.js';
38
+ export { DEFAULT_PHYSICS_SETTINGS, ReqlanGraphPhysics, accumulateForces, hashAngle, integrateFromForces, stepPhysics } from './graph/physics-core.js';
30
39
  //# sourceMappingURL=index.js.map
package/out/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAcnE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEpG,OAAO,EACH,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAWjE,OAAO,EACH,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACvB,MAAM,wCAAwC,CAAC;AAQhD,OAAO,EACH,eAAe,EACf,oBAAoB,EACpB,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,iBAAiB,CAAC;AA2BzB,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,EAC/B,0BAA0B,EAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,6BAA6B,EAC7B,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EACrB,MAAM,2BAA2B,CAAC;AAgBnC,OAAO,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAE/E,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@reqlan/analytical",
3
3
  "description": "Shared requirement graph index and analysers for reqlan",
4
- "version": "0.5.4",
4
+ "version": "0.6.1",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
7
7
  "repository": {
@@ -32,16 +32,21 @@
32
32
  "./context-signals": {
33
33
  "types": "./out/core/context-signals.d.ts",
34
34
  "default": "./out/core/context-signals.js"
35
+ },
36
+ "./graph-physics": {
37
+ "types": "./out/graph/physics-core.d.ts",
38
+ "default": "./out/graph/physics-core.js"
35
39
  }
36
40
  },
37
41
  "devDependencies": {
38
42
  "vitest": "~3.1.3"
39
43
  },
40
44
  "dependencies": {
45
+ "ignore": "^7.0.6",
41
46
  "langium": "~4.3.0",
42
47
  "sql.js": "^1.14.1",
43
48
  "zustand": "~5.0.8",
44
- "@reqlan/language": "1.5.3"
49
+ "@reqlan/language": "1.6.1"
45
50
  },
46
51
  "scripts": {
47
52
  "clean": "shx rm -fr *.tsbuildinfo out",