@misterscan/sesi 1.1.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 (82) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +191 -0
  3. package/bin/sesi.js +56 -0
  4. package/dist/ai-runtime.d.ts +15 -0
  5. package/dist/ai-runtime.d.ts.map +1 -0
  6. package/dist/ai-runtime.js +214 -0
  7. package/dist/ai-runtime.js.map +1 -0
  8. package/dist/builtins.d.ts +7 -0
  9. package/dist/builtins.d.ts.map +1 -0
  10. package/dist/builtins.js +473 -0
  11. package/dist/builtins.js.map +1 -0
  12. package/dist/index.d.ts +3 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +72 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/interpreter.d.ts +36 -0
  17. package/dist/interpreter.d.ts.map +1 -0
  18. package/dist/interpreter.js +495 -0
  19. package/dist/interpreter.js.map +1 -0
  20. package/dist/lexer.d.ts +26 -0
  21. package/dist/lexer.d.ts.map +1 -0
  22. package/dist/lexer.js +340 -0
  23. package/dist/lexer.js.map +1 -0
  24. package/dist/parser.d.ts +55 -0
  25. package/dist/parser.d.ts.map +1 -0
  26. package/dist/parser.js +1022 -0
  27. package/dist/parser.js.map +1 -0
  28. package/dist/types.d.ts +304 -0
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/types.js +63 -0
  31. package/dist/types.js.map +1 -0
  32. package/docs/ARCHITECTURE.md +430 -0
  33. package/docs/BUILTINS.md +577 -0
  34. package/docs/COMPARISON.md +334 -0
  35. package/docs/DISTRIBUTED_SYSTEMS.md +71 -0
  36. package/docs/IMAGE_GENERATION.md +76 -0
  37. package/docs/IMPLEMENTATION_SUMMARY.md +533 -0
  38. package/docs/QUICKSTART.md +351 -0
  39. package/docs/README.md +191 -0
  40. package/docs/ROADMAP.md +408 -0
  41. package/docs/SPECIFICATION.md +462 -0
  42. package/docs/SYSTEMS_REASONING.md +522 -0
  43. package/examples/01_hello.sesi +2 -0
  44. package/examples/02_variables.sesi +11 -0
  45. package/examples/03_functions.sesi +6 -0
  46. package/examples/04_conditionals.sesi +6 -0
  47. package/examples/05_loops.sesi +12 -0
  48. package/examples/06_arrays_objects.sesi +18 -0
  49. package/examples/07_prompts.sesi +10 -0
  50. package/examples/08_model_call.sesi +5 -0
  51. package/examples/09_structured_output.sesi +7 -0
  52. package/examples/10_code_generation.sesi +5 -0
  53. package/examples/11_memory_conversation.sesi +16 -0
  54. package/examples/12_classification.sesi +8 -0
  55. package/examples/13_data_pipeline.sesi +35 -0
  56. package/examples/14_folder_explainer.sesi +58 -0
  57. package/examples/15_image_generation.sesi +17 -0
  58. package/main/atm_deposit.sesi +37 -0
  59. package/main/atm_withdraw.sesi +37 -0
  60. package/main/data.txt +1 -0
  61. package/main/math_aggregator.sesi +15 -0
  62. package/main/math_generator.sesi +7 -0
  63. package/main/math_processor.sesi +23 -0
  64. package/main/orchestrator.sesi +15 -0
  65. package/main/playground.sesi +1 -0
  66. package/main/setup_swarm.sesi +5 -0
  67. package/main/start.sesi +13 -0
  68. package/main/tax_calculator.sesi +15 -0
  69. package/main/tests/compare.sesi +23 -0
  70. package/main/tests/compare.ts +104 -0
  71. package/main/tests/debug.sesi +1 -0
  72. package/main/tests/demo.sesi +24 -0
  73. package/main/tests/primitive_validation.sesi +18 -0
  74. package/main/tests/test_connection.sesi +4 -0
  75. package/main/tests/test_failure_debug.sesi +2 -0
  76. package/main/tests/test_image.sesi +3 -0
  77. package/main/tests/test_parser_config.sesi +2 -0
  78. package/main/tests/test_syntax.sesi +3 -0
  79. package/main/tests/test_tool_call.sesi +14 -0
  80. package/main/tests/try.sesi +7 -0
  81. package/main/vault.sesi +15 -0
  82. package/package.json +50 -0
package/dist/lexer.js ADDED
@@ -0,0 +1,340 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lexer = void 0;
4
+ class Lexer {
5
+ constructor(source) {
6
+ this.position = 0;
7
+ this.line = 1;
8
+ this.column = 1;
9
+ this.tokens = [];
10
+ this.keywords = new Map([
11
+ ['let', 'LET'],
12
+ ['const', 'CONST'],
13
+ ['fn', 'FN'],
14
+ ['if', 'IF'],
15
+ ['else', 'ELSE'],
16
+ ['while', 'WHILE'],
17
+ ['for', 'FOR'],
18
+ ['in', 'IN'],
19
+ ['return', 'RETURN'],
20
+ ['break', 'BREAK'],
21
+ ['continue', 'CONTINUE'],
22
+ ['try', 'TRY'],
23
+ ['catch', 'CATCH'],
24
+ ['true', 'TRUE'],
25
+ ['false', 'FALSE'],
26
+ ['null', 'NULL'],
27
+ ['print', 'PRINT'],
28
+ ['prompt', 'PROMPT'],
29
+ ['model', 'MODEL'],
30
+ ['image', 'IMAGE'],
31
+ ['structured_output', 'STRUCTURED_OUTPUT'],
32
+ ['tool_call', 'TOOL_CALL'],
33
+ ['memory', 'MEMORY'],
34
+ ['import', 'IMPORT'],
35
+ ['from', 'FROM'],
36
+ ['export', 'EXPORT'],
37
+ ['to', 'TO'], // Used in for loops
38
+ ]);
39
+ this.source = source;
40
+ }
41
+ scanTokens() {
42
+ while (!this.isAtEnd()) {
43
+ this.skipWhitespaceAndComments();
44
+ if (this.isAtEnd())
45
+ break;
46
+ const start = this.position;
47
+ this.scanToken();
48
+ }
49
+ this.tokens.push({
50
+ type: 'EOF',
51
+ lexeme: '',
52
+ literal: null,
53
+ line: this.line,
54
+ column: this.column,
55
+ });
56
+ return this.tokens;
57
+ }
58
+ scanToken() {
59
+ const c = this.advance();
60
+ switch (c) {
61
+ case '(':
62
+ this.addToken('LEFT_PAREN');
63
+ break;
64
+ case ')':
65
+ this.addToken('RIGHT_PAREN');
66
+ break;
67
+ case '{':
68
+ this.addToken('LEFT_BRACE');
69
+ break;
70
+ case '}':
71
+ this.addToken('RIGHT_BRACE');
72
+ break;
73
+ case '[':
74
+ this.addToken('LEFT_BRACKET');
75
+ break;
76
+ case ']':
77
+ this.addToken('RIGHT_BRACKET');
78
+ break;
79
+ case ',':
80
+ this.addToken('COMMA');
81
+ break;
82
+ case ';':
83
+ this.addToken('SEMICOLON');
84
+ break;
85
+ case ':':
86
+ this.addToken('COLON');
87
+ break;
88
+ case '?':
89
+ this.addToken('QUESTION');
90
+ break;
91
+ case '.':
92
+ this.addToken('DOT');
93
+ break;
94
+ case '|':
95
+ if (this.match('|')) {
96
+ this.addToken('PIPE_PIPE');
97
+ }
98
+ else {
99
+ this.addToken('PIPE');
100
+ }
101
+ break;
102
+ case '&':
103
+ if (this.match('&')) {
104
+ this.addToken('AMPERSAND_AMPERSAND');
105
+ }
106
+ break;
107
+ case '+':
108
+ this.addToken('PLUS');
109
+ break;
110
+ case '-':
111
+ if (this.match('>')) {
112
+ this.addToken('ARROW');
113
+ }
114
+ else {
115
+ this.addToken('MINUS');
116
+ }
117
+ break;
118
+ case '*':
119
+ this.addToken('STAR');
120
+ break;
121
+ case '/':
122
+ this.addToken('SLASH');
123
+ break;
124
+ case '%':
125
+ this.addToken('PERCENT');
126
+ break;
127
+ case '!':
128
+ if (this.match('=')) {
129
+ this.addToken('BANG_EQUAL', null, '!=');
130
+ }
131
+ else {
132
+ this.addToken('BANG');
133
+ }
134
+ break;
135
+ case '=':
136
+ if (this.match('=')) {
137
+ this.addToken('EQUAL_EQUAL', null, '==');
138
+ }
139
+ else {
140
+ this.addToken('EQUAL');
141
+ }
142
+ break;
143
+ case '<':
144
+ if (this.match('=')) {
145
+ this.addToken('LESS_EQUAL', null, '<=');
146
+ }
147
+ else if (this.match('>')) {
148
+ this.addToken('LESS_GREATER', null, '<>');
149
+ }
150
+ else {
151
+ this.addToken('LESS');
152
+ }
153
+ break;
154
+ case '>':
155
+ if (this.match('=')) {
156
+ this.addToken('GREATER_EQUAL', null, '>=');
157
+ }
158
+ else {
159
+ this.addToken('GREATER');
160
+ }
161
+ break;
162
+ case '"':
163
+ case "'":
164
+ this.string(c);
165
+ break;
166
+ case '\n':
167
+ this.line++;
168
+ this.column = 0;
169
+ this.addToken('NEWLINE');
170
+ break;
171
+ default:
172
+ if (this.isDigit(c)) {
173
+ this.number();
174
+ }
175
+ else if (this.isAlpha(c)) {
176
+ this.identifier();
177
+ }
178
+ else {
179
+ throw new Error(`Unexpected character: ${c} at line ${this.line}`);
180
+ }
181
+ }
182
+ }
183
+ skipWhitespaceAndComments() {
184
+ while (!this.isAtEnd()) {
185
+ const c = this.peek();
186
+ if (c === ' ' || c === '\r' || c === '\t') {
187
+ this.advance();
188
+ }
189
+ else if (c === '/' && this.peekNext() === '/') {
190
+ while (this.peek() !== '\n' && !this.isAtEnd()) {
191
+ this.advance();
192
+ }
193
+ }
194
+ else if (c === '/' && this.peekNext() === '*') {
195
+ this.advance(); // /
196
+ this.advance(); // *
197
+ while (!(this.peek() === '*' && this.peekNext() === '/') && !this.isAtEnd()) {
198
+ if (this.peek() === '\n')
199
+ this.line++;
200
+ this.advance();
201
+ }
202
+ if (!this.isAtEnd()) {
203
+ this.advance(); // *
204
+ this.advance(); // /
205
+ }
206
+ }
207
+ else {
208
+ break;
209
+ }
210
+ }
211
+ }
212
+ string(quote) {
213
+ const startLine = this.line;
214
+ const startPosition = this.position - 1;
215
+ let value = '';
216
+ while (this.peek() !== quote && !this.isAtEnd()) {
217
+ if (this.peek() === '\n')
218
+ this.line++;
219
+ if (this.peek() === '\\') {
220
+ this.advance();
221
+ const escaped = this.advance();
222
+ switch (escaped) {
223
+ case 'n':
224
+ value += '\n';
225
+ break;
226
+ case 't':
227
+ value += '\t';
228
+ break;
229
+ case 'r':
230
+ value += '\r';
231
+ break;
232
+ case '\\':
233
+ value += '\\';
234
+ break;
235
+ case '"':
236
+ value += '"';
237
+ break;
238
+ case "'":
239
+ value += "'";
240
+ break;
241
+ default:
242
+ value += escaped;
243
+ }
244
+ }
245
+ else {
246
+ value += this.advance();
247
+ }
248
+ }
249
+ if (this.isAtEnd()) {
250
+ throw new Error(`Unterminated string at line ${startLine}`);
251
+ }
252
+ this.advance(); // closing quote
253
+ const lexeme = this.source.substring(startPosition, this.position);
254
+ this.addToken('STRING', value, lexeme);
255
+ }
256
+ number() {
257
+ const start = this.position - 1;
258
+ while (this.isDigit(this.peek())) {
259
+ this.advance();
260
+ }
261
+ if (this.peek() === '.' && this.isDigit(this.peekNext())) {
262
+ this.advance(); // consume .
263
+ while (this.isDigit(this.peek())) {
264
+ this.advance();
265
+ }
266
+ }
267
+ const lexeme = this.source.substring(start, this.position);
268
+ const value = parseFloat(lexeme);
269
+ this.addToken('NUMBER', value, lexeme);
270
+ }
271
+ identifier() {
272
+ const start = this.position - 1;
273
+ while (this.isAlphaNumeric(this.peek())) {
274
+ this.advance();
275
+ }
276
+ const lexeme = this.source.substring(start, this.position);
277
+ const type = this.keywords.get(lexeme) || 'IDENTIFIER';
278
+ if (type === 'TRUE') {
279
+ this.addToken(type, true, lexeme);
280
+ }
281
+ else if (type === 'FALSE') {
282
+ this.addToken(type, false, lexeme);
283
+ }
284
+ else if (type === 'NULL') {
285
+ this.addToken(type, null, lexeme);
286
+ }
287
+ else {
288
+ this.addToken(type, null, lexeme);
289
+ }
290
+ }
291
+ match(expected) {
292
+ if (this.isAtEnd())
293
+ return false;
294
+ if (this.source.charAt(this.position) !== expected)
295
+ return false;
296
+ this.position++;
297
+ this.column++;
298
+ return true;
299
+ }
300
+ peek() {
301
+ if (this.isAtEnd())
302
+ return '\0';
303
+ return this.source.charAt(this.position);
304
+ }
305
+ peekNext() {
306
+ if (this.position + 1 >= this.source.length)
307
+ return '\0';
308
+ return this.source.charAt(this.position + 1);
309
+ }
310
+ isAlpha(c) {
311
+ return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c === '_';
312
+ }
313
+ isAlphaNumeric(c) {
314
+ return this.isAlpha(c) || this.isDigit(c);
315
+ }
316
+ isDigit(c) {
317
+ return c >= '0' && c <= '9';
318
+ }
319
+ isAtEnd() {
320
+ return this.position >= this.source.length;
321
+ }
322
+ advance() {
323
+ const c = this.source.charAt(this.position);
324
+ this.position++;
325
+ this.column++;
326
+ return c;
327
+ }
328
+ addToken(type, literal = null, customLexeme) {
329
+ const lexeme = customLexeme !== undefined ? customLexeme : this.source.substring(this.position - 1, this.position);
330
+ this.tokens.push({
331
+ type,
332
+ lexeme,
333
+ literal,
334
+ line: this.line,
335
+ column: this.column - lexeme.length,
336
+ });
337
+ }
338
+ }
339
+ exports.Lexer = Lexer;
340
+ //# sourceMappingURL=lexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../src/lexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { type Token, type Program } from './types';
2
+ export declare class Parser {
3
+ private tokens;
4
+ private current;
5
+ constructor(tokens: Token[]);
6
+ parse(): Program;
7
+ private statement;
8
+ private letStatement;
9
+ private constStatement;
10
+ private functionStatement;
11
+ private ifStatement;
12
+ private whileStatement;
13
+ private forStatement;
14
+ private returnStatement;
15
+ private breakStatement;
16
+ private continueStatement;
17
+ private tryStatement;
18
+ private importStatement;
19
+ private exportStatement;
20
+ private memoryStatement;
21
+ private blockStatement;
22
+ private expressionStatement;
23
+ private expression;
24
+ private assignment;
25
+ private logicalOr;
26
+ private logicalAnd;
27
+ private equality;
28
+ private comparison;
29
+ private addition;
30
+ private multiplication;
31
+ private unary;
32
+ private postfix;
33
+ private finishCall;
34
+ private primary;
35
+ private arrayLiteral;
36
+ private objectLiteral;
37
+ private promptExpression;
38
+ private imageCall;
39
+ private modelCall;
40
+ private structuredOutput;
41
+ private toolCall;
42
+ private typeAnnotation;
43
+ private skipNewlines;
44
+ private match;
45
+ private check;
46
+ private advance;
47
+ private isAtEnd;
48
+ private peek;
49
+ private previous;
50
+ private consume;
51
+ private consumeStatementEnd;
52
+ private synchronize;
53
+ private checkNext;
54
+ }
55
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,OAAO,EAyCb,MAAM,SAAS,CAAC;AAEjB,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAa;gBAEhB,MAAM,EAAE,KAAK,EAAE;IAI3B,KAAK,IAAI,OAAO;IAchB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,iBAAiB;IA4CzB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,KAAK;IAeb,OAAO,CAAC,OAAO;IA+Bf,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,OAAO;IA+Hf,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,SAAS;IAyFjB,OAAO,CAAC,SAAS;IAyFjB,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,cAAc;IAqDtB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,SAAS;CAIlB"}