flowscript-core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +386 -0
  3. package/bin/flowscript +12 -0
  4. package/dist/cli.d.ts +12 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +463 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/errors/indentation-error.d.ts +11 -0
  9. package/dist/errors/indentation-error.d.ts.map +1 -0
  10. package/dist/errors/indentation-error.js +22 -0
  11. package/dist/errors/indentation-error.js.map +1 -0
  12. package/dist/grammar.ohm +132 -0
  13. package/dist/hash.d.ts +21 -0
  14. package/dist/hash.d.ts.map +1 -0
  15. package/dist/hash.js +82 -0
  16. package/dist/hash.js.map +1 -0
  17. package/dist/indentation-scanner.d.ts +81 -0
  18. package/dist/indentation-scanner.d.ts.map +1 -0
  19. package/dist/indentation-scanner.js +290 -0
  20. package/dist/indentation-scanner.js.map +1 -0
  21. package/dist/index.d.ts +15 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +49 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/linter.d.ts +71 -0
  26. package/dist/linter.d.ts.map +1 -0
  27. package/dist/linter.js +122 -0
  28. package/dist/linter.js.map +1 -0
  29. package/dist/memory.d.ts +506 -0
  30. package/dist/memory.d.ts.map +1 -0
  31. package/dist/memory.js +1802 -0
  32. package/dist/memory.js.map +1 -0
  33. package/dist/parser.d.ts +53 -0
  34. package/dist/parser.d.ts.map +1 -0
  35. package/dist/parser.js +1184 -0
  36. package/dist/parser.js.map +1 -0
  37. package/dist/query-engine.d.ts +320 -0
  38. package/dist/query-engine.d.ts.map +1 -0
  39. package/dist/query-engine.js +884 -0
  40. package/dist/query-engine.js.map +1 -0
  41. package/dist/rules/alternatives-without-decision.d.ts +24 -0
  42. package/dist/rules/alternatives-without-decision.d.ts.map +1 -0
  43. package/dist/rules/alternatives-without-decision.js +58 -0
  44. package/dist/rules/alternatives-without-decision.js.map +1 -0
  45. package/dist/rules/causal-cycles.d.ts +23 -0
  46. package/dist/rules/causal-cycles.d.ts.map +1 -0
  47. package/dist/rules/causal-cycles.js +83 -0
  48. package/dist/rules/causal-cycles.js.map +1 -0
  49. package/dist/rules/deep-nesting.d.ts +23 -0
  50. package/dist/rules/deep-nesting.d.ts.map +1 -0
  51. package/dist/rules/deep-nesting.js +55 -0
  52. package/dist/rules/deep-nesting.js.map +1 -0
  53. package/dist/rules/index.d.ts +15 -0
  54. package/dist/rules/index.d.ts.map +1 -0
  55. package/dist/rules/index.js +29 -0
  56. package/dist/rules/index.js.map +1 -0
  57. package/dist/rules/invalid-syntax.d.ts +22 -0
  58. package/dist/rules/invalid-syntax.d.ts.map +1 -0
  59. package/dist/rules/invalid-syntax.js +52 -0
  60. package/dist/rules/invalid-syntax.js.map +1 -0
  61. package/dist/rules/long-causal-chains.d.ts +25 -0
  62. package/dist/rules/long-causal-chains.d.ts.map +1 -0
  63. package/dist/rules/long-causal-chains.js +75 -0
  64. package/dist/rules/long-causal-chains.js.map +1 -0
  65. package/dist/rules/missing-recommended-fields.d.ts +21 -0
  66. package/dist/rules/missing-recommended-fields.d.ts.map +1 -0
  67. package/dist/rules/missing-recommended-fields.js +45 -0
  68. package/dist/rules/missing-recommended-fields.js.map +1 -0
  69. package/dist/rules/missing-required-fields.d.ts +22 -0
  70. package/dist/rules/missing-required-fields.d.ts.map +1 -0
  71. package/dist/rules/missing-required-fields.js +46 -0
  72. package/dist/rules/missing-required-fields.js.map +1 -0
  73. package/dist/rules/orphaned-nodes.d.ts +22 -0
  74. package/dist/rules/orphaned-nodes.d.ts.map +1 -0
  75. package/dist/rules/orphaned-nodes.js +76 -0
  76. package/dist/rules/orphaned-nodes.js.map +1 -0
  77. package/dist/rules/unlabeled-tension.d.ts +20 -0
  78. package/dist/rules/unlabeled-tension.d.ts.map +1 -0
  79. package/dist/rules/unlabeled-tension.js +37 -0
  80. package/dist/rules/unlabeled-tension.js.map +1 -0
  81. package/dist/serializer.d.ts +40 -0
  82. package/dist/serializer.d.ts.map +1 -0
  83. package/dist/serializer.js +368 -0
  84. package/dist/serializer.js.map +1 -0
  85. package/dist/tokenizer.d.ts +26 -0
  86. package/dist/tokenizer.d.ts.map +1 -0
  87. package/dist/tokenizer.js +213 -0
  88. package/dist/tokenizer.js.map +1 -0
  89. package/dist/types.d.ts +96 -0
  90. package/dist/types.d.ts.map +1 -0
  91. package/dist/types.js +50 -0
  92. package/dist/types.js.map +1 -0
  93. package/dist/validate.d.ts +18 -0
  94. package/dist/validate.d.ts.map +1 -0
  95. package/dist/validate.js +68 -0
  96. package/dist/validate.js.map +1 -0
  97. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,320 @@
1
+ /**
2
+ * FlowScript Query Engine
3
+ *
4
+ * Computational operations on FlowScript IR graphs that prove FlowScript is a
5
+ * "computable substrate" for cognitive partnership.
6
+ *
7
+ * This module implements five critical queries:
8
+ * 1. why(nodeId) - Causal ancestry (backward traversal)
9
+ * 2. whatIf(nodeId) - Impact analysis (forward traversal)
10
+ * 3. tensions() - Tradeoff mapping (tension extraction)
11
+ * 4. blocked() - Blocker tracking (state + dependencies)
12
+ * 5. alternatives(questionId) - Decision reconstruction
13
+ */
14
+ import type { IR } from './types';
15
+ export interface WhyOptions {
16
+ maxDepth?: number;
17
+ includeCorrelations?: boolean;
18
+ format?: 'chain' | 'tree' | 'minimal';
19
+ }
20
+ export interface WhatIfOptions {
21
+ maxDepth?: number;
22
+ includeCorrelations?: boolean;
23
+ includeTemporalConsequences?: boolean;
24
+ format?: 'tree' | 'list' | 'summary';
25
+ }
26
+ export interface TensionOptions {
27
+ groupBy?: 'axis' | 'node' | 'none';
28
+ filterByAxis?: string[];
29
+ includeContext?: boolean;
30
+ scope?: string;
31
+ }
32
+ export interface BlockedOptions {
33
+ since?: string;
34
+ includeTransitiveCauses?: boolean;
35
+ includeTransitiveEffects?: boolean;
36
+ format?: 'detailed' | 'summary' | 'list';
37
+ }
38
+ export interface AlternativesOptions {
39
+ includeRationale?: boolean;
40
+ includeConsequences?: boolean;
41
+ showRejectedReasons?: boolean;
42
+ format?: 'comparison' | 'tree' | 'simple';
43
+ }
44
+ export interface CausalChainNode {
45
+ depth: number;
46
+ id: string;
47
+ content: string;
48
+ relationship_type: string;
49
+ }
50
+ export interface CausalAncestry {
51
+ target: {
52
+ id: string;
53
+ content: string;
54
+ };
55
+ causal_chain: CausalChainNode[];
56
+ root_cause: {
57
+ id: string;
58
+ content: string;
59
+ is_root: boolean;
60
+ };
61
+ metadata: {
62
+ total_ancestors: number;
63
+ max_depth: number;
64
+ has_multiple_paths: boolean;
65
+ };
66
+ }
67
+ export interface MinimalWhy {
68
+ root_cause: string;
69
+ chain: string[];
70
+ }
71
+ export interface ImpactConsequence {
72
+ id: string;
73
+ content: string;
74
+ relationship: string;
75
+ depth: number;
76
+ has_tension?: boolean;
77
+ tension_axis?: string;
78
+ }
79
+ export interface TensionInfo {
80
+ axis: string;
81
+ source: {
82
+ id: string;
83
+ content: string;
84
+ };
85
+ target: {
86
+ id: string;
87
+ content: string;
88
+ };
89
+ }
90
+ export interface ImpactAnalysis {
91
+ source: {
92
+ id: string;
93
+ content: string;
94
+ };
95
+ impact_tree: {
96
+ direct_consequences: ImpactConsequence[];
97
+ indirect_consequences: ImpactConsequence[];
98
+ };
99
+ tensions_in_impact_zone: TensionInfo[];
100
+ metadata: {
101
+ total_descendants: number;
102
+ max_depth: number;
103
+ tension_count: number;
104
+ has_temporal_consequences: boolean;
105
+ };
106
+ }
107
+ export interface ImpactSummary {
108
+ impact_summary: string;
109
+ benefits: string[];
110
+ risks: string[];
111
+ key_tradeoff: string | null;
112
+ }
113
+ export interface TensionDetail {
114
+ source: {
115
+ id: string;
116
+ content: string;
117
+ };
118
+ target: {
119
+ id: string;
120
+ content: string;
121
+ };
122
+ context?: Array<{
123
+ id: string;
124
+ content: string;
125
+ }>;
126
+ }
127
+ export interface TensionsResult {
128
+ tensions_by_axis?: Record<string, TensionDetail[]>;
129
+ tensions_by_node?: Record<string, TensionDetail[]>;
130
+ tensions?: TensionDetail[];
131
+ metadata: {
132
+ total_tensions: number;
133
+ unique_axes: string[];
134
+ most_common_axis: string | null;
135
+ };
136
+ }
137
+ export interface BlockerDetail {
138
+ node: {
139
+ id: string;
140
+ content: string;
141
+ };
142
+ blocked_state: {
143
+ reason: string;
144
+ since: string;
145
+ days_blocked: number;
146
+ };
147
+ transitive_causes?: Array<{
148
+ id: string;
149
+ content: string;
150
+ }>;
151
+ transitive_effects?: Array<{
152
+ id: string;
153
+ content: string;
154
+ }>;
155
+ impact_score: number;
156
+ }
157
+ export interface BlockedResult {
158
+ blockers: BlockerDetail[];
159
+ metadata: {
160
+ total_blockers: number;
161
+ high_priority_count: number;
162
+ average_days_blocked: number;
163
+ oldest_blocker: {
164
+ id: string;
165
+ days: number;
166
+ } | null;
167
+ };
168
+ }
169
+ export interface AlternativeDetail {
170
+ id: string;
171
+ content: string;
172
+ chosen: boolean;
173
+ rationale?: string;
174
+ decided_on?: string;
175
+ rejection_reasons?: string[];
176
+ consequences?: Array<{
177
+ id: string;
178
+ content: string;
179
+ }>;
180
+ tensions?: TensionInfo[];
181
+ }
182
+ export interface AlternativesResultComparison {
183
+ format: 'comparison';
184
+ question: {
185
+ id: string;
186
+ content: string;
187
+ };
188
+ alternatives: AlternativeDetail[];
189
+ decision_summary: {
190
+ chosen: string | null;
191
+ rationale: string | null;
192
+ rejected: string[];
193
+ key_factors: string[];
194
+ };
195
+ }
196
+ export interface AlternativesResultSimple {
197
+ format: 'simple';
198
+ question: string;
199
+ options_considered: string[];
200
+ chosen: string | null;
201
+ reason: string | null;
202
+ }
203
+ export interface TreeAlternative {
204
+ id: string;
205
+ content: string;
206
+ chosen: boolean;
207
+ rejection_reasons?: string[];
208
+ children: TreeAlternative[];
209
+ }
210
+ export interface AlternativesResultTree {
211
+ format: 'tree';
212
+ question: {
213
+ id: string;
214
+ content: string;
215
+ };
216
+ alternatives: TreeAlternative[];
217
+ }
218
+ export type AlternativesResult = AlternativesResultComparison | AlternativesResultTree | AlternativesResultSimple;
219
+ export declare class FlowScriptQueryEngine {
220
+ private ir;
221
+ private nodeMap;
222
+ private relationshipsFromSource;
223
+ private relationshipsToTarget;
224
+ private stateMap;
225
+ constructor();
226
+ /**
227
+ * Load IR graph and build indexes for efficient querying
228
+ */
229
+ load(ir: IR): void;
230
+ /**
231
+ * Build efficient indexes for O(1) lookups
232
+ */
233
+ private buildIndexes;
234
+ /**
235
+ * Query 1: Trace causal ancestry (backward traversal)
236
+ *
237
+ * Traces backward through causal relationships to understand why a node exists.
238
+ * Returns causal chain from root causes to target node.
239
+ */
240
+ why(nodeId: string, options?: WhyOptions): CausalAncestry | MinimalWhy;
241
+ /**
242
+ * Query 2: Impact analysis (forward traversal)
243
+ *
244
+ * Traces forward through causal relationships to understand consequences.
245
+ * Returns impact tree with tensions in impact zone.
246
+ */
247
+ whatIf(nodeId: string, options?: WhatIfOptions): ImpactAnalysis | ImpactSummary;
248
+ /**
249
+ * Query 3: Tradeoff mapping (tension extraction)
250
+ *
251
+ * Extracts all tension relationships, groups by axis or node.
252
+ * Returns systematic view of tradeoffs in the graph.
253
+ */
254
+ tensions(options?: TensionOptions): TensionsResult;
255
+ /**
256
+ * Query 4: Blocker tracking (state + dependencies)
257
+ *
258
+ * Finds all blocked nodes, calculates impact, shows transitive causes/effects.
259
+ * Returns priority-sorted list of blockers.
260
+ */
261
+ blocked(options?: BlockedOptions): BlockedResult;
262
+ /**
263
+ * Query 5: Decision reconstruction (alternatives + rationale)
264
+ *
265
+ * Reconstructs decision with all alternatives, showing which was chosen and why.
266
+ * Supports three formats: comparison (default), simple, tree.
267
+ */
268
+ alternatives(questionId: string, options?: AlternativesOptions): AlternativesResult;
269
+ /**
270
+ * Extract rejection reasons from thought: nodes under an alternative
271
+ *
272
+ * Convention: thought nodes that are children (via 'causes' relationships)
273
+ * of a rejected alternative are interpreted as rejection reasoning.
274
+ *
275
+ * @param altNodeId - The alternative node ID to extract rejection reasons from
276
+ * @returns Array of rejection reason strings (thought node contents)
277
+ */
278
+ private extractRejectionReasons;
279
+ /**
280
+ * Build a recursive tree structure for an alternative and its consequence children
281
+ *
282
+ * Shows hierarchical structure of consequences (via 'causes' relationships).
283
+ * Includes cycle detection to handle potential graph cycles.
284
+ *
285
+ * @param nodeId - The node ID to start building from
286
+ * @param visited - Set of already visited node IDs for cycle detection
287
+ * @param includeRejectionReasons - Whether to include rejection reasons for rejected alternatives
288
+ * @returns TreeAlternative structure with recursive children
289
+ */
290
+ private buildAlternativeTree;
291
+ /**
292
+ * Traverse backward through relationships
293
+ */
294
+ private traverseBackward;
295
+ /**
296
+ * Traverse forward through relationships
297
+ */
298
+ private traverseForward;
299
+ /**
300
+ * Build causal chain from root to target
301
+ */
302
+ private buildCausalChain;
303
+ /**
304
+ * Check if node has multiple causal paths
305
+ */
306
+ private hasMultiplePaths;
307
+ /**
308
+ * Build impact tree with direct and indirect consequences
309
+ */
310
+ private buildImpactTree;
311
+ /**
312
+ * Find all tensions in a subgraph
313
+ */
314
+ private findTensionsInSubgraph;
315
+ /**
316
+ * Build impact summary format
317
+ */
318
+ private buildImpactSummary;
319
+ }
320
+ //# sourceMappingURL=query-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-engine.d.ts","sourceRoot":"","sources":["../src/query-engine.ts"],"names":[],"mappings":"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"}