agentic-lang 0.2.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 (146) hide show
  1. package/COMMUNITY.md +220 -0
  2. package/CONTRIBUTING.md +194 -0
  3. package/FINAL_REPORT.md +398 -0
  4. package/FOR_OTHER_LLMS.md +286 -0
  5. package/IMPROVEMENTS.md +319 -0
  6. package/LAUNCH_GUIDE.md +388 -0
  7. package/LICENSE +21 -0
  8. package/NPM_PUBLISH.md +257 -0
  9. package/PROJECT_COMPLETE.md +414 -0
  10. package/PROJECT_OVERVIEW.md +265 -0
  11. package/PROJECT_TREE.txt +228 -0
  12. package/PUBLISHING_GUIDE.md +426 -0
  13. package/PUBLISH_NOW.md +337 -0
  14. package/QUICKSTART.md +207 -0
  15. package/README.md +195 -0
  16. package/README_ENHANCED.md +329 -0
  17. package/READY_TO_LAUNCH.txt +56 -0
  18. package/REFACTOR_PLAN.md +179 -0
  19. package/ROADMAP.md +201 -0
  20. package/SUMMARY.md +315 -0
  21. package/bin/agentic.js +3 -0
  22. package/blog/001-introducing-agentic.md +382 -0
  23. package/blog/002-confidence-driven-development.md +490 -0
  24. package/blog/003-formal-verification.md +427 -0
  25. package/blog/004-multi-agent-production.md +436 -0
  26. package/dist/cli.d.ts +7 -0
  27. package/dist/cli.d.ts.map +1 -0
  28. package/dist/cli.js +151 -0
  29. package/dist/cli.js.map +1 -0
  30. package/dist/diagnostics/diagnostic.d.ts +115 -0
  31. package/dist/diagnostics/diagnostic.d.ts.map +1 -0
  32. package/dist/diagnostics/diagnostic.js +101 -0
  33. package/dist/diagnostics/diagnostic.js.map +1 -0
  34. package/dist/diagnostics/formatter.d.ts +36 -0
  35. package/dist/diagnostics/formatter.d.ts.map +1 -0
  36. package/dist/diagnostics/formatter.js +263 -0
  37. package/dist/diagnostics/formatter.js.map +1 -0
  38. package/dist/effects/effect-system.d.ts +64 -0
  39. package/dist/effects/effect-system.d.ts.map +1 -0
  40. package/dist/effects/effect-system.js +197 -0
  41. package/dist/effects/effect-system.js.map +1 -0
  42. package/dist/generator/typescript-generator.d.ts +31 -0
  43. package/dist/generator/typescript-generator.d.ts.map +1 -0
  44. package/dist/generator/typescript-generator.js +308 -0
  45. package/dist/generator/typescript-generator.js.map +1 -0
  46. package/dist/index.d.ts +19 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +60 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/lean4/exporter.d.ts +24 -0
  51. package/dist/lean4/exporter.d.ts.map +1 -0
  52. package/dist/lean4/exporter.js +142 -0
  53. package/dist/lean4/exporter.js.map +1 -0
  54. package/dist/lsp/server.d.ts +6 -0
  55. package/dist/lsp/server.d.ts.map +1 -0
  56. package/dist/lsp/server.js +131 -0
  57. package/dist/lsp/server.js.map +1 -0
  58. package/dist/parser/lexer.d.ts +79 -0
  59. package/dist/parser/lexer.d.ts.map +1 -0
  60. package/dist/parser/lexer.js +296 -0
  61. package/dist/parser/lexer.js.map +1 -0
  62. package/dist/parser/parser-enhanced.d.ts +12 -0
  63. package/dist/parser/parser-enhanced.d.ts.map +1 -0
  64. package/dist/parser/parser-enhanced.js +206 -0
  65. package/dist/parser/parser-enhanced.js.map +1 -0
  66. package/dist/parser/parser.d.ts +34 -0
  67. package/dist/parser/parser.d.ts.map +1 -0
  68. package/dist/parser/parser.js +507 -0
  69. package/dist/parser/parser.js.map +1 -0
  70. package/dist/property-tests/generator-enhanced.d.ts +27 -0
  71. package/dist/property-tests/generator-enhanced.d.ts.map +1 -0
  72. package/dist/property-tests/generator-enhanced.js +209 -0
  73. package/dist/property-tests/generator-enhanced.js.map +1 -0
  74. package/dist/property-tests/generator-fixed.d.ts +2 -0
  75. package/dist/property-tests/generator-fixed.d.ts.map +1 -0
  76. package/dist/property-tests/generator-fixed.js +7 -0
  77. package/dist/property-tests/generator-fixed.js.map +1 -0
  78. package/dist/property-tests/generator.d.ts +28 -0
  79. package/dist/property-tests/generator.d.ts.map +1 -0
  80. package/dist/property-tests/generator.js +284 -0
  81. package/dist/property-tests/generator.js.map +1 -0
  82. package/dist/refinements/refinement-types.d.ts +96 -0
  83. package/dist/refinements/refinement-types.d.ts.map +1 -0
  84. package/dist/refinements/refinement-types.js +234 -0
  85. package/dist/refinements/refinement-types.js.map +1 -0
  86. package/dist/repl.d.ts +21 -0
  87. package/dist/repl.d.ts.map +1 -0
  88. package/dist/repl.js +317 -0
  89. package/dist/repl.js.map +1 -0
  90. package/dist/runtime/agents.d.ts +97 -0
  91. package/dist/runtime/agents.d.ts.map +1 -0
  92. package/dist/runtime/agents.js +258 -0
  93. package/dist/runtime/agents.js.map +1 -0
  94. package/dist/runtime/index.d.ts +98 -0
  95. package/dist/runtime/index.d.ts.map +1 -0
  96. package/dist/runtime/index.js +253 -0
  97. package/dist/runtime/index.js.map +1 -0
  98. package/dist/types-extended.d.ts +197 -0
  99. package/dist/types-extended.d.ts.map +1 -0
  100. package/dist/types-extended.js +7 -0
  101. package/dist/types-extended.js.map +1 -0
  102. package/dist/types.d.ts +129 -0
  103. package/dist/types.d.ts.map +1 -0
  104. package/dist/types.js +6 -0
  105. package/dist/types.js.map +1 -0
  106. package/dist/verification/z3-engine.d.ts +75 -0
  107. package/dist/verification/z3-engine.d.ts.map +1 -0
  108. package/dist/verification/z3-engine.js +234 -0
  109. package/dist/verification/z3-engine.js.map +1 -0
  110. package/examples/advanced-features.agentic +98 -0
  111. package/examples/annotations.agentic +37 -0
  112. package/examples/auth.agentic +53 -0
  113. package/examples/enterprise-example.agentic +360 -0
  114. package/examples/minimal.agentic +3 -0
  115. package/examples/minimal.ts +7 -0
  116. package/examples/ml-pipeline.agentic +350 -0
  117. package/examples/multi-agent-example.agentic +212 -0
  118. package/examples/onboarding-tutorial.agentic +263 -0
  119. package/examples/production-api.agentic +304 -0
  120. package/examples/real-world-chatbot.agentic +351 -0
  121. package/examples/result-handling.agentic +34 -0
  122. package/examples/runtime.ts +24 -0
  123. package/examples/showcase.agentic +22 -0
  124. package/examples/showcase.ts +28 -0
  125. package/examples/simple-test.agentic +4 -0
  126. package/examples/simple-test.ts +7 -0
  127. package/examples/simple.agentic +20 -0
  128. package/examples/test2.agentic +4 -0
  129. package/examples/test2.ts +9 -0
  130. package/examples/test3.agentic +4 -0
  131. package/examples/test3.ts +9 -0
  132. package/package.json +70 -0
  133. package/playground/index.html +221 -0
  134. package/playground/playground.js +291 -0
  135. package/registry/package-registry.ts +319 -0
  136. package/scripts/build.js +50 -0
  137. package/scripts/validate-confidence-mutation.ts +112 -0
  138. package/stdlib/async/promise.agentic +216 -0
  139. package/stdlib/database/pool.agentic +235 -0
  140. package/stdlib/file/io.agentic +194 -0
  141. package/stdlib/http/client.agentic +168 -0
  142. package/video-scripts/001-agentic-in-100-seconds.md +175 -0
  143. package/vscode-extension/README.md +67 -0
  144. package/vscode-extension/language-configuration.json +31 -0
  145. package/vscode-extension/package.json +46 -0
  146. package/vscode-extension/syntaxes/agentic.tmLanguage.json +134 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refinement-types.d.ts","sourceRoot":"","sources":["../../src/refinements/refinement-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;iBAKf,MAAM,OAAO,MAAM;;;;;;;;;;qBAQf,MAAM;;;;;qBAKN,MAAM;;;;;;;;;;;;;;;CAiBxB,CAAC;AAGF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,WAAW,CAAS;IAEtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;;OAGG;IACG,KAAK,CACT,KAAK,EAAE,GAAG,EACV,UAAU,EAAE,cAAc,EAC1B,IAAI,GAAE,QAAQ,GAAG,SAAqB,GACrC,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAQpD;;OAEG;YACW,YAAY;IAqB1B;;OAEG;YACW,WAAW;IA8CzB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,kBAAkB;IAsD1B,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,iBAAiB;YAWX,qBAAqB;CAUpC;AAGD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAA+B;IAExC,QAAQ,CAAC,CAAC,EACd,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;CAcd;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAGnC,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,cAAc;IAC1B,KAAK,EAAE,GAAG;gBAHjB,OAAO,EAAE,MAAM,EACR,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,cAAc,EAC1B,KAAK,EAAE,GAAG;CAKpB;AAGD,eAAO,MAAM,iBAAiB,uBAA8B,CAAC;AAC7D,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ /**
3
+ * Refinement Types for Agentic
4
+ * Enables dependent types and logical predicates in type annotations
5
+ * Inspired by Liquid Haskell and F*
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.refinementValidator = exports.refinementChecker = exports.RefinementViolation = exports.RefinementValidator = exports.RefinementTypeChecker = exports.CommonRefinements = void 0;
9
+ const z3_solver_1 = require("z3-solver");
10
+ // Common refinement types
11
+ exports.CommonRefinements = {
12
+ // Numeric refinements
13
+ Positive: { baseType: 'number', predicate: 'x > 0', variable: 'x' },
14
+ NonNegative: { baseType: 'number', predicate: 'x >= 0', variable: 'x' },
15
+ NonZero: { baseType: 'number', predicate: 'x != 0', variable: 'x' },
16
+ Range: (min, max) => ({
17
+ baseType: 'number',
18
+ predicate: `x >= ${min} && x <= ${max}`,
19
+ variable: 'x',
20
+ }),
21
+ // String refinements
22
+ NonEmptyString: { baseType: 'string', predicate: 's.length > 0', variable: 's' },
23
+ MaxLength: (max) => ({
24
+ baseType: 'string',
25
+ predicate: `s.length <= ${max}`,
26
+ variable: 's',
27
+ }),
28
+ MinLength: (min) => ({
29
+ baseType: 'string',
30
+ predicate: `s.length >= ${min}`,
31
+ variable: 's',
32
+ }),
33
+ // Agentic-specific refinements
34
+ ConfidenceScore: {
35
+ baseType: 'number',
36
+ predicate: 'c >= 0.0 && c <= 1.0',
37
+ variable: 'c',
38
+ },
39
+ HighConfidence: {
40
+ baseType: 'number',
41
+ predicate: 'c >= 0.80 && c <= 1.0',
42
+ variable: 'c',
43
+ },
44
+ };
45
+ // Refinement type checker
46
+ class RefinementTypeChecker {
47
+ constructor() {
48
+ this.initialized = false;
49
+ }
50
+ async initialize() {
51
+ if (this.initialized)
52
+ return;
53
+ const { Context } = await (0, z3_solver_1.init)();
54
+ this.z3Context = Context('main');
55
+ this.initialized = true;
56
+ }
57
+ /**
58
+ * Check if a value satisfies a refinement type
59
+ * Can be used at compile-time (static) or runtime (dynamic)
60
+ */
61
+ async check(value, refinement, mode = 'runtime') {
62
+ if (mode === 'runtime') {
63
+ return this.checkRuntime(value, refinement);
64
+ }
65
+ else {
66
+ return this.checkStatic(value, refinement);
67
+ }
68
+ }
69
+ /**
70
+ * Runtime checking (evaluate predicate with actual value)
71
+ */
72
+ async checkRuntime(value, refinement) {
73
+ try {
74
+ // Create evaluation context
75
+ const context = { [refinement.variable]: value };
76
+ // Evaluate predicate
77
+ const valid = this.evaluatePredicate(refinement.predicate, context);
78
+ return {
79
+ valid,
80
+ counterexample: valid ? undefined : { [refinement.variable]: value },
81
+ };
82
+ }
83
+ catch (error) {
84
+ const errorMessage = error instanceof Error ? error.message : String(error);
85
+ return { valid: false, counterexample: { error: errorMessage } };
86
+ }
87
+ }
88
+ /**
89
+ * Static checking (verify predicate holds for all values using Z3)
90
+ */
91
+ async checkStatic(constraint, refinement) {
92
+ await this.initialize();
93
+ const solver = new this.z3Context.Solver();
94
+ // Create symbolic variable
95
+ const symbolicVar = this.createSymbolicVariable(refinement.variable, refinement.baseType);
96
+ // Parse refinement predicate
97
+ const refinementFormula = this.parsePredicateToZ3(refinement.predicate, { [refinement.variable]: symbolicVar });
98
+ // Parse constraint to check
99
+ const constraintFormula = this.parsePredicateToZ3(constraint, { [refinement.variable]: symbolicVar });
100
+ // Check if refinement implies constraint
101
+ // i.e., ¬(refinement ∧ ¬constraint) is UNSAT
102
+ solver.add(refinementFormula);
103
+ solver.add(this.z3Context.Not(constraintFormula));
104
+ const result = await solver.check();
105
+ if (result === 'unsat') {
106
+ return { valid: true };
107
+ }
108
+ else if (result === 'sat') {
109
+ const model = await solver.model();
110
+ return {
111
+ valid: false,
112
+ counterexample: await this.extractCounterexample(model),
113
+ };
114
+ }
115
+ return { valid: false };
116
+ }
117
+ createSymbolicVariable(name, type) {
118
+ switch (type) {
119
+ case 'number':
120
+ return this.z3Context.Real.const(name);
121
+ case 'boolean':
122
+ return this.z3Context.Bool.const(name);
123
+ case 'string':
124
+ // Z3 has limited string support, use sequence theory
125
+ return this.z3Context.String.const(name);
126
+ default:
127
+ throw new Error(`Unsupported type for refinement: ${type}`);
128
+ }
129
+ }
130
+ parsePredicateToZ3(predicate, vars) {
131
+ // Simplified predicate parser
132
+ // In production, use proper expression parser
133
+ // Handle comparisons
134
+ if (predicate.includes('>=')) {
135
+ const [left, right] = predicate.split('>=').map(s => s.trim());
136
+ return this.z3Context.GE(this.parseOperand(left, vars), this.parseOperand(right, vars));
137
+ }
138
+ if (predicate.includes('<=')) {
139
+ const [left, right] = predicate.split('<=').map(s => s.trim());
140
+ return this.z3Context.LE(this.parseOperand(left, vars), this.parseOperand(right, vars));
141
+ }
142
+ if (predicate.includes('>') && !predicate.includes('>=')) {
143
+ const [left, right] = predicate.split('>').map(s => s.trim());
144
+ return this.z3Context.GT(this.parseOperand(left, vars), this.parseOperand(right, vars));
145
+ }
146
+ if (predicate.includes('==')) {
147
+ const [left, right] = predicate.split('==').map(s => s.trim());
148
+ return this.z3Context.Eq(this.parseOperand(left, vars), this.parseOperand(right, vars));
149
+ }
150
+ if (predicate.includes('&&')) {
151
+ const parts = predicate.split('&&').map(s => s.trim());
152
+ return this.z3Context.And(...parts.map(p => this.parsePredicateToZ3(p, vars)));
153
+ }
154
+ if (predicate.includes('||')) {
155
+ const parts = predicate.split('||').map(s => s.trim());
156
+ return this.z3Context.Or(...parts.map(p => this.parsePredicateToZ3(p, vars)));
157
+ }
158
+ throw new Error(`Cannot parse predicate: ${predicate}`);
159
+ }
160
+ parseOperand(operand, vars) {
161
+ operand = operand.trim();
162
+ // Variable
163
+ if (vars[operand]) {
164
+ return vars[operand];
165
+ }
166
+ // Number literal
167
+ const num = parseFloat(operand);
168
+ if (!isNaN(num)) {
169
+ return this.z3Context.Real.val(num);
170
+ }
171
+ // Boolean literal
172
+ if (operand === 'true')
173
+ return this.z3Context.Bool.val(true);
174
+ if (operand === 'false')
175
+ return this.z3Context.Bool.val(false);
176
+ // Property access (e.g., "s.length")
177
+ if (operand.includes('.')) {
178
+ const [obj, prop] = operand.split('.');
179
+ if (prop === 'length' && vars[obj]) {
180
+ // String length
181
+ return this.z3Context.Length(vars[obj]);
182
+ }
183
+ }
184
+ throw new Error(`Cannot parse operand: ${operand}`);
185
+ }
186
+ evaluatePredicate(predicate, context) {
187
+ // Runtime evaluation
188
+ try {
189
+ // Create safe evaluation function
190
+ const fn = new Function(...Object.keys(context), `return ${predicate}`);
191
+ return fn(...Object.values(context));
192
+ }
193
+ catch {
194
+ return false;
195
+ }
196
+ }
197
+ async extractCounterexample(model) {
198
+ const entries = await model.entries();
199
+ const counterexample = {};
200
+ for (const [name, value] of entries) {
201
+ counterexample[name] = await value.value();
202
+ }
203
+ return counterexample;
204
+ }
205
+ }
206
+ exports.RefinementTypeChecker = RefinementTypeChecker;
207
+ // Runtime refinement validation
208
+ class RefinementValidator {
209
+ constructor() {
210
+ this.checker = new RefinementTypeChecker();
211
+ }
212
+ async validate(value, refinement, location) {
213
+ const result = await this.checker.check(value, refinement, 'runtime');
214
+ if (!result.valid) {
215
+ throw new RefinementViolation(`Value ${JSON.stringify(value)} does not satisfy refinement ${refinement.predicate}`, location, refinement, value);
216
+ }
217
+ return value;
218
+ }
219
+ }
220
+ exports.RefinementValidator = RefinementValidator;
221
+ class RefinementViolation extends Error {
222
+ constructor(message, location, refinement, value) {
223
+ super(message);
224
+ this.location = location;
225
+ this.refinement = refinement;
226
+ this.value = value;
227
+ this.name = 'RefinementViolation';
228
+ }
229
+ }
230
+ exports.RefinementViolation = RefinementViolation;
231
+ // Export instances
232
+ exports.refinementChecker = new RefinementTypeChecker();
233
+ exports.refinementValidator = new RefinementValidator();
234
+ //# sourceMappingURL=refinement-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refinement-types.js","sourceRoot":"","sources":["../../src/refinements/refinement-types.ts"],"names":[],"mappings":"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"}
package/dist/repl.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Agentic REPL - Interactive playground for learning and experimentation
3
+ */
4
+ export declare class AgenticRepl {
5
+ private context;
6
+ private rl;
7
+ private parser;
8
+ private multilineBuffer;
9
+ private inMultilineMode;
10
+ constructor();
11
+ start(): void;
12
+ private handleLine;
13
+ private handleCommand;
14
+ private execute;
15
+ private showHelp;
16
+ private showVariables;
17
+ private showFunctions;
18
+ private showHistory;
19
+ private showExample;
20
+ }
21
+ //# sourceMappingURL=repl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAkB;;IAmBzC,KAAK;IAgBL,OAAO,CAAC,UAAU;IA4ClB,OAAO,CAAC,aAAa;IAwDrB,OAAO,CAAC,OAAO;IAoDf,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;CA+DpB"}
package/dist/repl.js ADDED
@@ -0,0 +1,317 @@
1
+ "use strict";
2
+ /**
3
+ * Agentic REPL - Interactive playground for learning and experimentation
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.AgenticRepl = void 0;
40
+ const readline = __importStar(require("readline"));
41
+ const parser_1 = require("./parser/parser");
42
+ const typescript_generator_1 = require("./generator/typescript-generator");
43
+ class AgenticRepl {
44
+ constructor() {
45
+ this.multilineBuffer = [];
46
+ this.inMultilineMode = false;
47
+ this.context = {
48
+ variables: new Map(),
49
+ functions: new Map(),
50
+ history: [],
51
+ confidenceThreshold: 0.80,
52
+ };
53
+ this.rl = readline.createInterface({
54
+ input: process.stdin,
55
+ output: process.stdout,
56
+ prompt: 'agentic> ',
57
+ });
58
+ this.parser = new parser_1.Parser();
59
+ }
60
+ start() {
61
+ console.log('🚀 Agentic REPL v0.1.0');
62
+ console.log('Type .help for commands, .exit to quit\n');
63
+ this.rl.prompt();
64
+ this.rl.on('line', (line) => {
65
+ this.handleLine(line.trim());
66
+ });
67
+ this.rl.on('close', () => {
68
+ console.log('\n👋 Goodbye!');
69
+ process.exit(0);
70
+ });
71
+ }
72
+ handleLine(line) {
73
+ // Handle special commands
74
+ if (line.startsWith('.')) {
75
+ this.handleCommand(line);
76
+ this.rl.prompt();
77
+ return;
78
+ }
79
+ // Handle empty lines
80
+ if (!line) {
81
+ this.rl.prompt();
82
+ return;
83
+ }
84
+ // Handle multiline input
85
+ if (this.inMultilineMode) {
86
+ if (line === '}') {
87
+ this.multilineBuffer.push(line);
88
+ const code = this.multilineBuffer.join('\n');
89
+ this.multilineBuffer = [];
90
+ this.inMultilineMode = false;
91
+ this.execute(code);
92
+ }
93
+ else {
94
+ this.multilineBuffer.push(line);
95
+ this.rl.setPrompt('... > ');
96
+ }
97
+ this.rl.prompt();
98
+ return;
99
+ }
100
+ // Check if starting multiline input
101
+ if (line.startsWith('func') || line.includes('{') && !line.includes('}')) {
102
+ this.inMultilineMode = true;
103
+ this.multilineBuffer.push(line);
104
+ this.rl.setPrompt('... > ');
105
+ this.rl.prompt();
106
+ return;
107
+ }
108
+ // Execute single line
109
+ this.execute(line);
110
+ this.rl.prompt();
111
+ }
112
+ handleCommand(cmd) {
113
+ const parts = cmd.split(' ');
114
+ const command = parts[0];
115
+ switch (command) {
116
+ case '.help':
117
+ this.showHelp();
118
+ break;
119
+ case '.exit':
120
+ case '.quit':
121
+ this.rl.close();
122
+ break;
123
+ case '.clear':
124
+ console.clear();
125
+ break;
126
+ case '.vars':
127
+ this.showVariables();
128
+ break;
129
+ case '.funcs':
130
+ this.showFunctions();
131
+ break;
132
+ case '.confidence':
133
+ if (parts[1]) {
134
+ this.context.confidenceThreshold = parseFloat(parts[1]);
135
+ console.log(`✓ Confidence threshold set to ${this.context.confidenceThreshold}`);
136
+ }
137
+ else {
138
+ console.log(`Current confidence threshold: ${this.context.confidenceThreshold}`);
139
+ }
140
+ break;
141
+ case '.history':
142
+ this.showHistory();
143
+ break;
144
+ case '.reset':
145
+ this.context.variables.clear();
146
+ this.context.functions.clear();
147
+ this.context.history = [];
148
+ console.log('✓ Context reset');
149
+ break;
150
+ case '.example':
151
+ this.showExample(parts[1]);
152
+ break;
153
+ default:
154
+ console.log(`Unknown command: ${command}`);
155
+ console.log('Type .help for available commands');
156
+ }
157
+ }
158
+ execute(code) {
159
+ try {
160
+ // Add to history
161
+ this.context.history.push(code);
162
+ // Parse the code
163
+ const ast = this.parser.parse(code);
164
+ // Generate TypeScript
165
+ const generator = new typescript_generator_1.TypeScriptGenerator('<repl>');
166
+ const tsCode = generator.generate(ast);
167
+ // Show generated code in debug mode
168
+ if (process.env.DEBUG) {
169
+ console.log('\n--- Generated TypeScript ---');
170
+ console.log(tsCode);
171
+ console.log('----------------------------\n');
172
+ }
173
+ // Evaluate (simplified - in production would use vm module)
174
+ console.log('✓ Code compiled successfully');
175
+ console.log(` ${ast.length} statement(s) parsed`);
176
+ // Extract and show confidence annotations
177
+ ast.forEach((node) => {
178
+ if (node.type === 'FunctionDeclaration') {
179
+ const confidenceAnnotation = node.annotations?.find((a) => a.name === 'confidence');
180
+ if (confidenceAnnotation) {
181
+ const level = confidenceAnnotation.args.arg0 || 0;
182
+ const reason = confidenceAnnotation.args.arg1 || 'No reason provided';
183
+ if (level < this.context.confidenceThreshold) {
184
+ console.log(` ⚠️ Low confidence (${level}): ${reason}`);
185
+ }
186
+ else {
187
+ console.log(` ✓ Confidence: ${level} - ${reason}`);
188
+ }
189
+ }
190
+ const stageAnnotation = node.annotations?.find((a) => a.name === 'stub' || a.name === 'partial' || a.name === 'complete');
191
+ if (stageAnnotation) {
192
+ console.log(` 📊 Stage: @${stageAnnotation.name}`);
193
+ }
194
+ }
195
+ });
196
+ }
197
+ catch (error) {
198
+ console.error('✗ Error:', error.message);
199
+ }
200
+ }
201
+ showHelp() {
202
+ console.log(`
203
+ Agentic REPL Commands:
204
+ .help Show this help
205
+ .exit, .quit Exit REPL
206
+ .clear Clear screen
207
+ .vars Show defined variables
208
+ .funcs Show defined functions
209
+ .confidence <n> Set confidence threshold (default: 0.80)
210
+ .history Show command history
211
+ .reset Reset REPL context
212
+ .example <topic> Show example code
213
+
214
+ Examples:
215
+ agentic> @confidence(0.95)
216
+ agentic> func add(a: number, b: number) -> number { return a + b }
217
+
218
+ agentic> .confidence 0.70
219
+ agentic> .example result
220
+ `);
221
+ }
222
+ showVariables() {
223
+ if (this.context.variables.size === 0) {
224
+ console.log('No variables defined');
225
+ return;
226
+ }
227
+ console.log('\nDefined variables:');
228
+ this.context.variables.forEach((value, name) => {
229
+ console.log(` ${name} = ${JSON.stringify(value)}`);
230
+ });
231
+ }
232
+ showFunctions() {
233
+ if (this.context.functions.size === 0) {
234
+ console.log('No functions defined');
235
+ return;
236
+ }
237
+ console.log('\nDefined functions:');
238
+ this.context.functions.forEach((_, name) => {
239
+ console.log(` func ${name}(...)`);
240
+ });
241
+ }
242
+ showHistory() {
243
+ if (this.context.history.length === 0) {
244
+ console.log('No history');
245
+ return;
246
+ }
247
+ console.log('\nHistory:');
248
+ this.context.history.forEach((cmd, i) => {
249
+ console.log(` ${i + 1}. ${cmd}`);
250
+ });
251
+ }
252
+ showExample(topic) {
253
+ const examples = {
254
+ result: `@confidence(0.90)
255
+ @complete
256
+ func divide(a: number, b: number) -> Result<number, string> {
257
+ if b == 0 {
258
+ return Err("Division by zero")
259
+ }
260
+ return Ok(a / b)
261
+ }`,
262
+ match: `divide(10, 2) match {
263
+ Ok(result) -> return result,
264
+ Err(error) -> return 0
265
+ }`,
266
+ stub: `@stub
267
+ @needs(database)
268
+ func saveUser(name: string) -> Result<boolean, string> {
269
+ // Not implemented yet
270
+ }`,
271
+ partial: `@partial
272
+ @confidence(0.65, "Only handles positive numbers")
273
+ func factorial(n: number) -> number {
274
+ if n <= 1 {
275
+ return 1
276
+ }
277
+ return n * factorial(n - 1)
278
+ }`,
279
+ error: `result = apiCall() or error {
280
+ @context {
281
+ what_failed: "API call",
282
+ suggestions: ["Check network", "Retry"],
283
+ recovery: { action: "use_cache" }
284
+ }
285
+ return useCachedData()
286
+ }`,
287
+ };
288
+ if (!topic) {
289
+ console.log('\nAvailable examples:');
290
+ console.log(' result - Result type and error handling');
291
+ console.log(' match - Pattern matching');
292
+ console.log(' stub - Stub functions');
293
+ console.log(' partial - Partial implementation');
294
+ console.log(' error - Error recovery blocks');
295
+ console.log('\nUsage: .example <topic>');
296
+ return;
297
+ }
298
+ const example = examples[topic.toLowerCase()];
299
+ if (example) {
300
+ console.log(`\nExample: ${topic}`);
301
+ console.log('─'.repeat(40));
302
+ console.log(example);
303
+ console.log('─'.repeat(40));
304
+ }
305
+ else {
306
+ console.log(`Unknown example: ${topic}`);
307
+ console.log('Type .example to see available examples');
308
+ }
309
+ }
310
+ }
311
+ exports.AgenticRepl = AgenticRepl;
312
+ // CLI entry point
313
+ if (require.main === module) {
314
+ const repl = new AgenticRepl();
315
+ repl.start();
316
+ }
317
+ //# sourceMappingURL=repl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}