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,96 @@
1
+ /**
2
+ * FlowScript Type Definitions
3
+ *
4
+ * Defines the type system for FlowScript tokens and IR (Intermediate Representation).
5
+ * Types match the formal specification in /spec/ir.schema.json
6
+ */
7
+ export declare enum TokenType {
8
+ ARROW_RIGHT = "->",
9
+ ARROW_LEFT = "<-",
10
+ ARROW_BI = "<->",
11
+ ARROW_TEMPORAL = "=>",
12
+ TENSION = "><",
13
+ EQUALS = "=",
14
+ NOT_EQUALS = "!=",
15
+ DECIDED = "[decided]",
16
+ EXPLORING = "[exploring]",
17
+ BLOCKED = "[blocked]",
18
+ PARKING = "[parking]",
19
+ THOUGHT = "thought:",
20
+ QUESTION = "?",
21
+ CHECKMARK = "\u2713",
22
+ ACTION = "action:",
23
+ URGENT = "!",
24
+ POSITIVE = "++",
25
+ CONFIDENT = "*",
26
+ UNCERTAIN = "~",
27
+ BRACE_OPEN = "{",
28
+ BRACE_CLOSE = "}",
29
+ ALTERNATIVE = "||",
30
+ TEXT = "TEXT",
31
+ NEWLINE = "NEWLINE",
32
+ EOF = "EOF"
33
+ }
34
+ export interface Token {
35
+ type: TokenType;
36
+ value: string;
37
+ line: number;
38
+ column: number;
39
+ }
40
+ export interface Provenance {
41
+ source_file: string;
42
+ line_number: number;
43
+ timestamp: string;
44
+ author?: {
45
+ agent: string;
46
+ role: 'human' | 'ai';
47
+ };
48
+ }
49
+ export type NodeType = 'statement' | 'question' | 'thought' | 'action' | 'block' | 'decision' | 'blocker' | 'insight' | 'completion' | 'alternative' | 'exploring' | 'parking';
50
+ export interface Node {
51
+ id: string;
52
+ type: NodeType;
53
+ content: string;
54
+ provenance: Provenance;
55
+ children?: string[];
56
+ modifiers?: string[];
57
+ ext?: Record<string, unknown>;
58
+ }
59
+ export type RelationType = 'causes' | 'temporal' | 'derives_from' | 'bidirectional' | 'tension' | 'equivalent' | 'different' | 'alternative' | 'alternative_worse' | 'alternative_better';
60
+ export interface Relationship {
61
+ id: string;
62
+ type: RelationType;
63
+ source: string;
64
+ target: string;
65
+ axis_label?: string | null;
66
+ feedback?: boolean;
67
+ provenance: Provenance;
68
+ ext?: Record<string, unknown>;
69
+ }
70
+ export type StateType = 'decided' | 'exploring' | 'blocked' | 'parking';
71
+ export interface State {
72
+ id: string;
73
+ type: StateType;
74
+ node_id: string;
75
+ fields: Record<string, string>;
76
+ provenance: Provenance;
77
+ }
78
+ export interface GraphInvariants {
79
+ causal_acyclic?: boolean;
80
+ all_nodes_reachable?: boolean;
81
+ tension_axes_labeled?: boolean;
82
+ state_fields_present?: boolean;
83
+ }
84
+ export interface IR {
85
+ version: '1.0.0';
86
+ nodes: Node[];
87
+ relationships: Relationship[];
88
+ states: State[];
89
+ invariants: GraphInvariants;
90
+ metadata?: {
91
+ source_files?: string[];
92
+ parsed_at?: string;
93
+ parser?: string;
94
+ };
95
+ }
96
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * FlowScript Type Definitions
4
+ *
5
+ * Defines the type system for FlowScript tokens and IR (Intermediate Representation).
6
+ * Types match the formal specification in /spec/ir.schema.json
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TokenType = void 0;
10
+ // ============================================================================
11
+ // Token Types (for tokenizer)
12
+ // ============================================================================
13
+ var TokenType;
14
+ (function (TokenType) {
15
+ // Core Relations
16
+ TokenType["ARROW_RIGHT"] = "->";
17
+ TokenType["ARROW_LEFT"] = "<-";
18
+ TokenType["ARROW_BI"] = "<->";
19
+ TokenType["ARROW_TEMPORAL"] = "=>";
20
+ TokenType["TENSION"] = "><";
21
+ // Definition
22
+ TokenType["EQUALS"] = "=";
23
+ TokenType["NOT_EQUALS"] = "!=";
24
+ // States
25
+ TokenType["DECIDED"] = "[decided]";
26
+ TokenType["EXPLORING"] = "[exploring]";
27
+ TokenType["BLOCKED"] = "[blocked]";
28
+ TokenType["PARKING"] = "[parking]";
29
+ // Insights & Questions
30
+ TokenType["THOUGHT"] = "thought:";
31
+ TokenType["QUESTION"] = "?";
32
+ TokenType["CHECKMARK"] = "\u2713";
33
+ // Commands
34
+ TokenType["ACTION"] = "action:";
35
+ // Modifiers
36
+ TokenType["URGENT"] = "!";
37
+ TokenType["POSITIVE"] = "++";
38
+ TokenType["CONFIDENT"] = "*";
39
+ TokenType["UNCERTAIN"] = "~";
40
+ // Structure
41
+ TokenType["BRACE_OPEN"] = "{";
42
+ TokenType["BRACE_CLOSE"] = "}";
43
+ // Alternative
44
+ TokenType["ALTERNATIVE"] = "||";
45
+ // Special
46
+ TokenType["TEXT"] = "TEXT";
47
+ TokenType["NEWLINE"] = "NEWLINE";
48
+ TokenType["EOF"] = "EOF";
49
+ })(TokenType || (exports.TokenType = TokenType = {}));
50
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E,IAAY,SA2CX;AA3CD,WAAY,SAAS;IACnB,iBAAiB;IACjB,+BAAkB,CAAA;IAClB,8BAAiB,CAAA;IACjB,6BAAgB,CAAA;IAChB,kCAAqB,CAAA;IACrB,2BAAc,CAAA;IAEd,aAAa;IACb,yBAAY,CAAA;IACZ,8BAAiB,CAAA;IAEjB,SAAS;IACT,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IAErB,uBAAuB;IACvB,iCAAoB,CAAA;IACpB,2BAAc,CAAA;IACd,iCAAe,CAAA;IAEf,WAAW;IACX,+BAAkB,CAAA;IAElB,YAAY;IACZ,yBAAY,CAAA;IACZ,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IAEf,YAAY;IACZ,6BAAgB,CAAA;IAChB,8BAAiB,CAAA;IAEjB,cAAc;IACd,+BAAkB,CAAA;IAElB,UAAU;IACV,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,wBAAW,CAAA;AACb,CAAC,EA3CW,SAAS,yBAAT,SAAS,QA2CpB"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * FlowScript IR Validation
3
+ *
4
+ * Validates IR JSON against the canonical schema (spec/ir.schema.json)
5
+ */
6
+ import { IR } from './types';
7
+ export interface ValidationResult {
8
+ valid: boolean;
9
+ errors: any[];
10
+ }
11
+ /**
12
+ * Validate IR against the canonical schema
13
+ *
14
+ * @param ir - The IR object to validate
15
+ * @returns Validation result with errors if invalid
16
+ */
17
+ export declare function validateIR(ir: IR): ValidationResult;
18
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAgBnD"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ /**
3
+ * FlowScript IR Validation
4
+ *
5
+ * Validates IR JSON against the canonical schema (spec/ir.schema.json)
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.validateIR = validateIR;
45
+ const ajv_1 = __importDefault(require("ajv"));
46
+ const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
48
+ /**
49
+ * Validate IR against the canonical schema
50
+ *
51
+ * @param ir - The IR object to validate
52
+ * @returns Validation result with errors if invalid
53
+ */
54
+ function validateIR(ir) {
55
+ // Load schema
56
+ const schemaPath = path.join(__dirname, '../spec/ir.schema.json');
57
+ const schema = JSON.parse(fs.readFileSync(schemaPath, 'utf-8'));
58
+ // Create validator
59
+ const ajv = new ajv_1.default({ allErrors: true, strict: false });
60
+ const validate = ajv.compile(schema);
61
+ // Validate
62
+ const valid = validate(ir);
63
+ return {
64
+ valid,
65
+ errors: validate.errors || []
66
+ };
67
+ }
68
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBH,gCAgBC;AAhCD,8CAAsB;AACtB,uCAAyB;AACzB,2CAA6B;AAQ7B;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,EAAM;IAC/B,cAAc;IACd,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhE,mBAAmB;IACnB,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC,WAAW;IACX,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAY,CAAC;IAEtC,OAAO;QACL,KAAK;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;KAC9B,CAAC;AACJ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "flowscript-core",
3
+ "version": "1.0.0",
4
+ "description": "Decision intelligence for AI agents. Typed semantic queries over structured reasoning.",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "bin",
10
+ "LICENSE",
11
+ "README.md"
12
+ ],
13
+ "exports": {
14
+ ".": {
15
+ "require": "./dist/index.js",
16
+ "types": "./dist/index.d.ts"
17
+ }
18
+ },
19
+ "bin": {
20
+ "flowscript": "./bin/flowscript"
21
+ },
22
+ "scripts": {
23
+ "build": "tsc && cp src/grammar.ohm dist/grammar.ohm",
24
+ "test": "NODE_OPTIONS='--max-old-space-size=2048' jest",
25
+ "test:watch": "NODE_OPTIONS='--max-old-space-size=2048' jest --watch",
26
+ "clean": "rm -rf dist",
27
+ "prepublishOnly": "npm run build && npm test"
28
+ },
29
+ "keywords": [
30
+ "flowscript",
31
+ "decision-intelligence",
32
+ "agent-memory",
33
+ "semantic-queries",
34
+ "ai-agents",
35
+ "query-engine",
36
+ "cognitive-architecture",
37
+ "llm-memory",
38
+ "agent-tools",
39
+ "reasoning",
40
+ "explainability",
41
+ "audit-trail"
42
+ ],
43
+ "author": "Phillip Clapham <me@phillipclapham.com>",
44
+ "license": "MIT",
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "git+https://github.com/phillipclapham/flowscript.git"
48
+ },
49
+ "homepage": "https://flowscript.org",
50
+ "bugs": {
51
+ "url": "https://github.com/phillipclapham/flowscript/issues"
52
+ },
53
+ "engines": {
54
+ "node": ">=18.0.0"
55
+ },
56
+ "dependencies": {
57
+ "ajv": "^8.12.0",
58
+ "commander": "^11.0.0",
59
+ "ohm-js": "^17.2.1"
60
+ },
61
+ "devDependencies": {
62
+ "@types/jest": "^29.0.0",
63
+ "@types/node": "^20.0.0",
64
+ "jest": "^29.0.0",
65
+ "ts-jest": "^29.0.0",
66
+ "ts-node": "^10.9.0",
67
+ "typescript": "^5.2.0"
68
+ }
69
+ }