@misterscan/sesi 1.2.2 → 1.3.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.
- package/README.md +138 -34
- package/bin/sesi.js +163 -38
- package/dist/ai-runtime.d.ts.map +1 -1
- package/dist/ai-runtime.js +22 -4
- package/dist/ai-runtime.js.map +1 -1
- package/dist/builtins.d.ts +1 -0
- package/dist/builtins.d.ts.map +1 -1
- package/dist/builtins.js +257 -17
- package/dist/builtins.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -5
- package/dist/index.js.map +1 -1
- package/dist/interpreter.d.ts +17 -1
- package/dist/interpreter.d.ts.map +1 -1
- package/dist/interpreter.js +256 -98
- package/dist/interpreter.js.map +1 -1
- package/dist/lexer.d.ts.map +1 -1
- package/dist/lexer.js +8 -4
- package/dist/lexer.js.map +1 -1
- package/dist/parser.d.ts +2 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +76 -32
- package/dist/parser.js.map +1 -1
- package/dist/sesi.bundled.js +87 -20
- package/dist/types.d.ts +14 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +33 -1
- package/dist/types.js.map +1 -1
- package/docs/ARCHITECTURE.md +26 -9
- package/docs/BUILTINS.md +111 -13
- package/docs/COMPARISON.md +7 -9
- package/docs/{DISTRIBUTED_SYSTEMS.md → CONCURRENCY.md} +11 -11
- package/docs/IMAGE_GENERATION.md +13 -14
- package/docs/IMPLEMENTATION_SUMMARY.md +141 -84
- package/docs/QUICKSTART.md +81 -28
- package/docs/README.md +140 -34
- package/docs/{SYSTEMS_REASONING.md → REASONING.md} +107 -109
- package/docs/ROADMAP.md +44 -44
- package/docs/SKILLS.md +56 -28
- package/docs/SPECIFICATION.md +25 -18
- package/docs/sesi_ai_chronicles.md +96 -209
- package/examples/07_prompts.sesi +1 -1
- package/examples/08_model_call.sesi +1 -1
- package/examples/09_structured_output.sesi +1 -1
- package/examples/10_code_generation.sesi +1 -1
- package/examples/13_data_pipeline.sesi +1 -1
- package/examples/14_folder_explainer.sesi +2 -2
- package/examples/15_image_generation.sesi +1 -1
- package/examples/16_modules.sesi +27 -27
- package/examples/19_search_web.sesi +4 -0
- package/examples/20_model_aliases.sesi +22 -0
- package/examples/21_custom_tools.sesi +27 -0
- package/examples/22_reasoning_plus_custom_tools.sesi +19 -0
- package/main/orchestrator.sesi +2 -2
- package/main/sesi_db_chatbot.sesi +7 -3
- package/main/tests/test_grounding.sesi +2 -0
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<img src="./sesi-logo.svg" alt="Sesi Logo" width="250" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<h1 align="center">Sesi: A
|
|
5
|
+
<h1 align="center">Sesi: A Concise, Legible Programming Language</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<em>Pronounced "say-see" — What you say, you'll see.</em>
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
12
|
<img alt="License" src="https://img.shields.io/badge/license-MIT-blue.svg">
|
|
13
|
-
<img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-
|
|
13
|
+
<img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-Interpreter-blue?logo=typescript">
|
|
14
14
|
<img alt="Powered by Gemini" src="https://img.shields.io/badge/Powered%20By-Google%20Gemini-orange">
|
|
15
15
|
<img alt="Framework" src="https://img.shields.io/badge/Node.js-Engine-success?logo=node.js">
|
|
16
16
|
</p>
|
|
17
17
|
|
|
18
18
|
<p align="center">
|
|
19
|
-
<strong>Sesi</strong> is a
|
|
19
|
+
<strong>Sesi</strong> is a clean, minimal, and highly legible programming language. Built from the ground up to be concise and buildable, Sesi removes unnecessary boilerplate. Because the language itself is so simple, integrating external tools like shell commands or Reasoning models becomes effortless. It is a language built for clarity.
|
|
20
20
|
</p>
|
|
21
21
|
|
|
22
22
|
<p align="center">
|
|
@@ -28,12 +28,15 @@
|
|
|
28
28
|
You can install Sesi in three ways:
|
|
29
29
|
|
|
30
30
|
### 1. Global Installation via npm (Recommended)
|
|
31
|
+
|
|
31
32
|
If you have Node.js installed, download Sesi directly from the npm registry:
|
|
33
|
+
|
|
32
34
|
```bash
|
|
33
35
|
npm install -g sesi
|
|
34
36
|
```
|
|
35
37
|
|
|
36
38
|
### 2. Standalone Executables
|
|
39
|
+
|
|
37
40
|
Don't want to install Node.js? Download the standalone executables bundled for Windows, Mac, and Linux directly from our [Downloads page](https://code-with-sesi.netlify.app/downloads). Drop the executable in your system PATH and you're good to go!
|
|
38
41
|
|
|
39
42
|
For macOS users, Sesi also supports a native PKG installer flow when building from source:
|
|
@@ -46,6 +49,7 @@ npm run build:mac:pkg
|
|
|
46
49
|
This generates installer packages in `releases/` (for available architectures) that install `sesi` to `/usr/local/bin`.
|
|
47
50
|
|
|
48
51
|
### 3. Build from Source (For contributors)
|
|
52
|
+
|
|
49
53
|
```bash
|
|
50
54
|
git clone https://github.com/Misterscan/Sesi.git
|
|
51
55
|
cd Sesi
|
|
@@ -75,6 +79,26 @@ sesi examples/08_model_call.sesi
|
|
|
75
79
|
sesi examples.sesi
|
|
76
80
|
```
|
|
77
81
|
|
|
82
|
+
Useful CLI shortcuts:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Evaluate a quick snippet
|
|
86
|
+
sesi -e "print 'hello'"
|
|
87
|
+
|
|
88
|
+
# Ask the built-in co-pilot a question
|
|
89
|
+
sesi -help "how do I use memory?"
|
|
90
|
+
|
|
91
|
+
# Ask for help about a specific file
|
|
92
|
+
sesi main/playground.sesi -h "why is this failing"
|
|
93
|
+
|
|
94
|
+
# Encrypt or decrypt a script file
|
|
95
|
+
sesi -encrypt my_script.sesi -p "my-password"
|
|
96
|
+
sesi -decrypt my_script.sesi -p "my-password"
|
|
97
|
+
|
|
98
|
+
# Run with sandbox restrictions disabled
|
|
99
|
+
sesi main/start.sesi --local
|
|
100
|
+
```
|
|
101
|
+
|
|
78
102
|
# Local Execution (Development)
|
|
79
103
|
|
|
80
104
|
If you choose not install `sesi` globally, use the helper npm scripts:
|
|
@@ -110,6 +134,40 @@ let code = model("gemini-3.1-pro-preview") {generateCode}
|
|
|
110
134
|
print code
|
|
111
135
|
```
|
|
112
136
|
|
|
137
|
+
## Security & Sandboxing
|
|
138
|
+
|
|
139
|
+
Sesi is designed to run and orchestrate untrusted AI reasoning pipelines. Because code can be influenced by prompt injections or generated model instructions, Sesi incorporates a **safe-by-default, zero-trust sandboxing engine**.
|
|
140
|
+
|
|
141
|
+
### 🛡️ Core Security Features
|
|
142
|
+
|
|
143
|
+
1. **Safe-by-Default Execution**:
|
|
144
|
+
- Sesi's sandbox is **enabled by default**. Any standard Sesi interpreter execution blocks system command lines (`exec`, `spawn`) and locks down imports and paths.
|
|
145
|
+
- *Overriding Safety:* Developers can explicitly bypass safe mode programmatically by initializing the interpreter with options, or on the command line by setting `SESI_SAFE_MODE=false`.
|
|
146
|
+
|
|
147
|
+
2. **Absolute Prototype Pollution Immunity**:
|
|
148
|
+
- Sesi uses **prototype-free objects (`Object.create(null)`)** for all object literals, JSON parses (`from_json` or `std/json`), and structured model responses inside the interpreter.
|
|
149
|
+
- Because these objects do not inherit from standard JavaScript prototypes and possess no `__proto__` or prototype chain, **prototype pollution is physically and architecturally impossible**.
|
|
150
|
+
|
|
151
|
+
3. **Strict Path Whitelisting**:
|
|
152
|
+
- Sesi validates all filesystem and subprocess paths against a **strict directory whitelist** (by default, only the Current Working Directory and the Script's base directory are allowed).
|
|
153
|
+
- Any path traversal resolving outside the whitelist is instantly rejected with a `Security Violation` exception.
|
|
154
|
+
|
|
155
|
+
4. **Automated LLM Tool Call Sanitization**:
|
|
156
|
+
- Even if safe mode is explicitly turned off for developer automation, Sesi **strictly blocks automated tool execution** of sensitive commands (like `exec` and `spawn`) when requested dynamically by the model via `tool_call`. This completely isolates the host from prompt-injection RCE.
|
|
157
|
+
|
|
158
|
+
5. **Deep isolation & Map Cloning**:
|
|
159
|
+
- Sub-interpreters loaded via concurrent workflows (`multi_req`) are fully isolated. Sesi **deep-clones** prompts and memories, preventing concurrent agent tasks from leaking state or polluting each other.
|
|
160
|
+
|
|
161
|
+
### ⚙️ Programmatic Embedding Configurations
|
|
162
|
+
When embedding Sesi inside a host application, you can statically configure safety settings directly in code:
|
|
163
|
+
```typescript
|
|
164
|
+
const interpreter = new Interpreter(scriptDir, {
|
|
165
|
+
safeMode: true, // Enable full sandbox limits (on by default)
|
|
166
|
+
allowLocalFs: false, // Block directory escapes (on by default)
|
|
167
|
+
allowedPaths: ['/var/tmp/sandbox'] // Custom strict whitelist directories
|
|
168
|
+
});
|
|
169
|
+
```
|
|
170
|
+
|
|
113
171
|
## Documentation
|
|
114
172
|
|
|
115
173
|
- [Getting Started](./QUICKSTART.md)
|
|
@@ -117,11 +175,11 @@ print code
|
|
|
117
175
|
- [Language Specification](./docs/SPECIFICATION.md)
|
|
118
176
|
- [Language Comparison Showcase](./docs/COMPARISON.md)
|
|
119
177
|
- [Built-in Functions](./docs/BUILTINS.md)
|
|
120
|
-
- [Reasoning
|
|
121
|
-
- [
|
|
178
|
+
- [Reasoning](./docs/REASONING.md)
|
|
179
|
+
- [Concurrency Systems](./docs/CONCURRENCY.md)
|
|
122
180
|
- [Runtime Architecture](./docs/ARCHITECTURE.md)
|
|
123
181
|
|
|
124
|
-
##
|
|
182
|
+
## Agent Context
|
|
125
183
|
|
|
126
184
|
The root-level `SKILLS.md` file is a workspace context file for AI agents. It records repo-specific constraints such as valid Sesi syntax expectations, execution conventions, and the intended meaning of directories like `main/` and `main/tests/`.
|
|
127
185
|
|
|
@@ -129,37 +187,83 @@ The root-level `SKILLS.md` file is a workspace context file for AI agents. It re
|
|
|
129
187
|
|
|
130
188
|
```
|
|
131
189
|
Sesi/
|
|
132
|
-
├── SKILLS.md
|
|
133
|
-
├── index.html
|
|
134
|
-
├── eslint.config.mjs
|
|
135
|
-
├──
|
|
136
|
-
├── example.js
|
|
137
|
-
├──
|
|
138
|
-
├──
|
|
139
|
-
├──
|
|
140
|
-
├──
|
|
141
|
-
├──
|
|
142
|
-
├──
|
|
143
|
-
│
|
|
144
|
-
|
|
145
|
-
│ ├──
|
|
146
|
-
│ ├──
|
|
147
|
-
│ ├──
|
|
148
|
-
│ ├──
|
|
149
|
-
│
|
|
190
|
+
├── SKILLS.md # Workspace context and repo guardrails
|
|
191
|
+
├── index.html # Sesi-generated systems landing page
|
|
192
|
+
├── eslint.config.mjs # ESLint configuration
|
|
193
|
+
├── example.js # Helper script to run basic examples
|
|
194
|
+
├── example-ai.js # Helper script to run reasoning examples
|
|
195
|
+
├── examples.sesi # Central execution suite for examples
|
|
196
|
+
├── README.md # Project overview
|
|
197
|
+
├── QUICKSTART.md # Getting started guide
|
|
198
|
+
├── package.json # Dependencies & scripts
|
|
199
|
+
├── tsconfig.json # TypeScript configuration
|
|
200
|
+
├── dist/ # Compiled TypeScript output
|
|
201
|
+
│
|
|
202
|
+
├── src/ # Source code
|
|
203
|
+
│ ├── types.ts # Type definitions & AST nodes (400+ lines)
|
|
204
|
+
│ ├── lexer.ts # Tokenization (350+ lines)
|
|
205
|
+
│ ├── parser.ts # Recursive descent parser (700+ lines)
|
|
206
|
+
│ ├── interpreter.ts # Tree-walking interpreter (600+ lines)
|
|
207
|
+
│ ├── builtins.ts # Built-in functions (250+ lines)
|
|
208
|
+
│ ├── ai-runtime.ts # Integrated reasoning integration (120+ lines)
|
|
209
|
+
│ └── index.ts # Entry point (30+ lines)
|
|
210
|
+
│
|
|
150
211
|
├── bin/
|
|
151
|
-
│ └── sesi.js
|
|
152
|
-
|
|
153
|
-
├── main/
|
|
154
|
-
│ ├── playground.sesi
|
|
155
|
-
│ ├── start.sesi
|
|
156
|
-
│
|
|
157
|
-
│
|
|
158
|
-
├──
|
|
159
|
-
|
|
212
|
+
│ └── sesi.js # CLI executable
|
|
213
|
+
│
|
|
214
|
+
├── main/ # Playgrounds & debugging
|
|
215
|
+
│ ├── playground.sesi # Main playground script
|
|
216
|
+
│ ├── start.sesi # Beginner script
|
|
217
|
+
│ └── tests/ # Additional syntax validation scripts
|
|
218
|
+
│
|
|
219
|
+
├── docs/
|
|
220
|
+
│ ├── SPECIFICATION.md # Complete language spec (600+ lines)
|
|
221
|
+
│ ├── ARCHITECTURE.md # Runtime & system design (400+ lines)
|
|
222
|
+
│ ├── BUILTINS.md # Built-in functions reference (450+ lines)
|
|
223
|
+
│ ├── COMPARISON.md # Language comparison showcase
|
|
224
|
+
│ ├── CONCURRENCY.md # Concurrency & coordination guide (>100 lines)
|
|
225
|
+
│ ├── IMAGE_GENERATION.md # Image generation guide (>100 lines)
|
|
226
|
+
│ ├── REASONING.md # Reasoning and simple logic guide (>500 lines)
|
|
227
|
+
│ ├── ROADMAP.md # V2-V4+ development plan (400+ lines)
|
|
228
|
+
│ └── sesi_ai_chronicles.md # AI project history & notes
|
|
229
|
+
│
|
|
230
|
+
├── examples/
|
|
231
|
+
│ ├── 01_hello.sesi # Hello World
|
|
232
|
+
│ ├── 02_variables.sesi # Variables & operations
|
|
233
|
+
│ ├── 03_functions.sesi # Functions with parameters
|
|
234
|
+
│ ├── 04_conditionals.sesi # If/else control flow
|
|
235
|
+
│ ├── 05_loops.sesi # While, for, for-in loops
|
|
236
|
+
│ ├── 06_arrays_objects.sesi # Collections
|
|
237
|
+
│ ├── 07_prompts.sesi # Reasoning blocks
|
|
238
|
+
│ ├── 08_model_call.sesi # Basic reasoning calls
|
|
239
|
+
│ ├── 09_structured_output.sesi # Type-safe reasoning responses
|
|
240
|
+
│ ├── 10_code_generation.sesi # Systems logic generation
|
|
241
|
+
│ ├── 11_memory_conversation.sesi # Multi-turn stateful reasoning
|
|
242
|
+
│ ├── 12_classification.sesi # Systems classification loop
|
|
243
|
+
│ ├── 13_data_pipeline.sesi # Complete systems pipeline
|
|
244
|
+
│ ├── 14_folder_explainer.sesi # Directory parsing & reasoning
|
|
245
|
+
│ ├── 15_image_generation.sesi # Image generation API test
|
|
246
|
+
│ ├── 16_modules.sesi # Modules & std library namespaces
|
|
247
|
+
│ ├── 17_http_client.sesi # Network GET/POST client
|
|
248
|
+
│ ├── 18_parallel_requests.sesi # Parallel requests concurrency
|
|
249
|
+
│ ├── 19_search_web.sesi # Web search integration
|
|
250
|
+
│ ├── 20_model_aliases.sesi # Custom model naming aliases
|
|
251
|
+
│ ├── 21_custom_tools.sesi # Custom runtime tool definitions
|
|
252
|
+
│ └── 22_reasoning_plus_custom_tools.sesi # Reasoning composed with custom tools
|
|
253
|
+
│
|
|
254
|
+
└── tests/ # Engine test suite
|
|
255
|
+
├── basic.test.ts # Core parsing & evaluation tests
|
|
256
|
+
├── cache.test.ts # Execution caching tests
|
|
257
|
+
├── http.test.ts # Web request builtins testing
|
|
258
|
+
├── module.test.ts # Imports & module loading tests
|
|
259
|
+
├── parallel.test.ts # Concurrent execution tests
|
|
260
|
+
├── security.test.ts # Sandbox & guardrail tests
|
|
261
|
+
├── test-gemini.ts # Base model integration test
|
|
262
|
+
├── test-gemini2.ts # Extended model integration test
|
|
263
|
+
└── workflow.test.ts # Complex sequence workflows tests
|
|
160
264
|
```
|
|
161
265
|
|
|
162
|
-
## Version 1.
|
|
266
|
+
## Version 1.3 Features (In Progress)
|
|
163
267
|
|
|
164
268
|
### Core Language ✅
|
|
165
269
|
|
package/bin/sesi.js
CHANGED
|
@@ -1,57 +1,182 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
require('@dotenvx/dotenvx').config();
|
|
3
|
-
const { runSesiFile } = require('../dist/index.js');
|
|
3
|
+
const { runSesiFile, runSesi } = require('../dist/index.js');
|
|
4
4
|
const fs = require('fs');
|
|
5
5
|
const path = require('path');
|
|
6
6
|
|
|
7
7
|
const args = process.argv.slice(2);
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Sesi Programming Language v1.2.2
|
|
9
|
+
const argsHeader = `
|
|
10
|
+
Sesi Programming Language v1.3.0
|
|
12
11
|
|
|
13
12
|
Usage:
|
|
14
|
-
sesi <file>
|
|
15
|
-
sesi -
|
|
16
|
-
sesi
|
|
17
|
-
sesi -h <query>
|
|
13
|
+
sesi <file> [options] Run a Sesi program
|
|
14
|
+
sesi -e "code" Evaluate Sesi code directly
|
|
15
|
+
sesi -help <query> Ask for help from our Sesi Co-Pilot
|
|
18
16
|
|
|
19
17
|
Options:
|
|
20
|
-
--
|
|
18
|
+
--local Disable safe mode (careful!)
|
|
19
|
+
--allowed-paths <p> Comma-separated list of allowed directories
|
|
20
|
+
-encrypt <file> Encrypt a file
|
|
21
|
+
-decrypt <file> Decrypt a file
|
|
22
|
+
-p, --password <pass> Password for encryption/decryption
|
|
23
|
+
--version Show version
|
|
24
|
+
--help, -h Show this help
|
|
21
25
|
|
|
22
26
|
Examples:
|
|
23
27
|
sesi main/start.sesi
|
|
24
|
-
sesi
|
|
25
|
-
sesi -help "how do I
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
sesi -e "print 'hello'"
|
|
29
|
+
sesi -help "how do I use memory?"
|
|
30
|
+
`;
|
|
31
|
+
|
|
32
|
+
function parseArgs(args) {
|
|
33
|
+
const options = {
|
|
34
|
+
file: null,
|
|
35
|
+
eval: null,
|
|
36
|
+
helpQuery: null,
|
|
37
|
+
helpFile: null,
|
|
38
|
+
encryptFile: null,
|
|
39
|
+
decryptFile: null,
|
|
40
|
+
password: null,
|
|
41
|
+
sesiOptions: {
|
|
42
|
+
safeMode: true,
|
|
43
|
+
allowedPaths: [process.cwd()]
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
for (let i = 0; i < args.length; i++) {
|
|
48
|
+
const arg = args[i];
|
|
49
|
+
const isHelpFlag = arg === '--help' || arg === '-help' || arg === '-h';
|
|
50
|
+
|
|
51
|
+
if (arg === '--version') {
|
|
52
|
+
console.log('Sesi v1.3.0');
|
|
53
|
+
process.exit(0);
|
|
54
|
+
} else if (isHelpFlag && i === 0 && !options.file && !options.eval) {
|
|
55
|
+
if (args[i + 1] && !args[i + 1].startsWith('-')) {
|
|
56
|
+
options.helpQuery = args.slice(i + 1).join(' ').trim();
|
|
57
|
+
break;
|
|
58
|
+
} else {
|
|
59
|
+
console.log(argsHeader);
|
|
60
|
+
process.exit(0);
|
|
61
|
+
}
|
|
62
|
+
} else if (isHelpFlag && options.file) {
|
|
63
|
+
options.helpFile = options.file;
|
|
64
|
+
options.helpQuery = args[i + 1] && !args[i + 1].startsWith('-')
|
|
65
|
+
? args.slice(i + 1).join(' ').trim()
|
|
66
|
+
: 'Help me understand this file.';
|
|
67
|
+
break;
|
|
68
|
+
} else if (arg === '-e' || arg === '--eval') {
|
|
69
|
+
options.eval = args[++i];
|
|
70
|
+
} else if (arg === '-encrypt' || arg === '--encrypt') {
|
|
71
|
+
options.encryptFile = args[++i];
|
|
72
|
+
} else if (arg === '-decrypt' || arg === '--decrypt') {
|
|
73
|
+
options.decryptFile = args[++i];
|
|
74
|
+
} else if (arg === '-p' || arg === '--password') {
|
|
75
|
+
options.password = args[++i];
|
|
76
|
+
} else if (arg === '--local') {
|
|
77
|
+
options.sesiOptions.safeMode = false;
|
|
78
|
+
options.sesiOptions.allowLocalFs = true;
|
|
79
|
+
} else if (arg === '--allowed-paths') {
|
|
80
|
+
const paths = args[++i].split(',');
|
|
81
|
+
options.sesiOptions.allowedPaths.push(...paths.map(p => path.resolve(p)));
|
|
82
|
+
} else if (!arg.startsWith('-') && !options.file) {
|
|
83
|
+
options.file = arg;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return options;
|
|
28
88
|
}
|
|
29
89
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
90
|
+
const parsed = parseArgs(args);
|
|
91
|
+
|
|
92
|
+
async function main() {
|
|
93
|
+
if (!parsed.file && !parsed.eval && !parsed.helpQuery && !parsed.encryptFile && !parsed.decryptFile) {
|
|
94
|
+
console.log(argsHeader);
|
|
95
|
+
process.exit(0);
|
|
34
96
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
97
|
+
|
|
98
|
+
if (parsed.encryptFile || parsed.decryptFile) {
|
|
99
|
+
if (!parsed.password) {
|
|
100
|
+
console.error('Error: Password is required for encryption/decryption. Use -p <password>.');
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
const crypto = require('crypto');
|
|
104
|
+
const targetFile = parsed.encryptFile || parsed.decryptFile;
|
|
105
|
+
const isEncrypt = !!parsed.encryptFile;
|
|
106
|
+
|
|
107
|
+
if (!fs.existsSync(targetFile)) {
|
|
108
|
+
console.error(`Error: File not found: ${targetFile}`);
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const content = fs.readFileSync(targetFile, 'utf-8');
|
|
113
|
+
try {
|
|
114
|
+
const algorithm = 'aes-256-cbc';
|
|
115
|
+
const key = crypto.createHash('sha256').update(String(parsed.password)).digest();
|
|
116
|
+
|
|
117
|
+
if (isEncrypt) {
|
|
118
|
+
const iv = crypto.randomBytes(16);
|
|
119
|
+
const cipher = crypto.createCipheriv(algorithm, key, iv);
|
|
120
|
+
let encrypted = cipher.update(content, 'utf8', 'hex');
|
|
121
|
+
encrypted += cipher.final('hex');
|
|
122
|
+
const finalOutput = iv.toString('hex') + ':' + encrypted;
|
|
123
|
+
fs.writeFileSync(targetFile, finalOutput, 'utf-8');
|
|
124
|
+
console.log(`Successfully encrypted ${targetFile}`);
|
|
125
|
+
} else {
|
|
126
|
+
const parts = content.split(':');
|
|
127
|
+
if (parts.length !== 2) throw new Error('Invalid encrypted format');
|
|
128
|
+
const iv = Buffer.from(parts[0], 'hex');
|
|
129
|
+
const decipher = crypto.createDecipheriv(algorithm, key, iv);
|
|
130
|
+
let decrypted = decipher.update(parts[1], 'hex', 'utf8');
|
|
131
|
+
decrypted += decipher.final('utf8');
|
|
132
|
+
fs.writeFileSync(targetFile, decrypted, 'utf-8');
|
|
133
|
+
console.log(`Successfully decrypted ${targetFile}`);
|
|
134
|
+
}
|
|
135
|
+
} catch (e) {
|
|
136
|
+
console.error(`Error during ${isEncrypt ? 'encryption' : 'decryption'}:`, e.message);
|
|
137
|
+
process.exit(1);
|
|
138
|
+
}
|
|
139
|
+
return;
|
|
51
140
|
}
|
|
52
141
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
142
|
+
if (parsed.helpQuery) {
|
|
143
|
+
fs.writeFileSync('query.txt', parsed.helpQuery, 'utf-8');
|
|
144
|
+
if (parsed.helpFile) {
|
|
145
|
+
const resolvedFile = path.resolve(parsed.helpFile);
|
|
146
|
+
const fileContext = fs.readFileSync(resolvedFile, 'utf-8');
|
|
147
|
+
fs.writeFileSync('help_context.txt', `File: ${resolvedFile}\n\n${fileContext}`, 'utf-8');
|
|
148
|
+
} else if (fs.existsSync('help_context.txt')) {
|
|
149
|
+
fs.unlinkSync('help_context.txt');
|
|
150
|
+
}
|
|
151
|
+
const copilotPath = path.join(__dirname, '../main/sesi_db_chatbot.sesi');
|
|
152
|
+
await runSesiFile(copilotPath).catch((error) => {
|
|
153
|
+
console.error('Fatal error in Sesi Co-Pilot:', error.message);
|
|
154
|
+
process.exit(1);
|
|
155
|
+
});
|
|
156
|
+
} else if (parsed.eval) {
|
|
157
|
+
await runSesi(parsed.eval, process.cwd(), parsed.sesiOptions).catch((error) => {
|
|
158
|
+
console.error('Fatal error:', error.message);
|
|
159
|
+
process.exit(1);
|
|
160
|
+
});
|
|
161
|
+
} else if (parsed.file === '-') {
|
|
162
|
+
let input = '';
|
|
163
|
+
process.stdin.on('data', data => { input += data; });
|
|
164
|
+
process.stdin.on('end', async () => {
|
|
165
|
+
await runSesi(input, process.cwd(), parsed.sesiOptions).catch((error) => {
|
|
166
|
+
console.error('Fatal error:', error.message);
|
|
167
|
+
process.exit(1);
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
} else if (parsed.file) {
|
|
171
|
+
if (!fs.existsSync(parsed.file)) {
|
|
172
|
+
console.error(`Error: File not found: ${parsed.file}`);
|
|
173
|
+
process.exit(1);
|
|
174
|
+
}
|
|
175
|
+
await runSesiFile(parsed.file, parsed.sesiOptions).catch((error) => {
|
|
176
|
+
console.error('Fatal error:', error.message);
|
|
177
|
+
process.exit(1);
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
main();
|
package/dist/ai-runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-runtime.d.ts","sourceRoot":"","sources":["../src/ai-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-runtime.d.ts","sourceRoot":"","sources":["../src/ai-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAkBlE,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,mBAAmB,CAAoC;;IAI/D,OAAO,KAAK,MAAM,GAajB;IAED,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,iBAAiB;IAqBnB,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAoOlD,qBAAqB,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAkC5B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAI9D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOvD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAMnC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAGtD;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC"}
|
package/dist/ai-runtime.js
CHANGED
|
@@ -36,6 +36,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.aiRuntime = exports.AIRuntime = void 0;
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
|
+
function stripPrototypes(val) {
|
|
40
|
+
if (val === null || typeof val !== 'object') {
|
|
41
|
+
return val;
|
|
42
|
+
}
|
|
43
|
+
if (Array.isArray(val)) {
|
|
44
|
+
return val.map(stripPrototypes);
|
|
45
|
+
}
|
|
46
|
+
const cleanObj = Object.create(null);
|
|
47
|
+
for (const key of Object.keys(val)) {
|
|
48
|
+
cleanObj[key] = stripPrototypes(val[key]);
|
|
49
|
+
}
|
|
50
|
+
return cleanObj;
|
|
51
|
+
}
|
|
39
52
|
class AIRuntime {
|
|
40
53
|
constructor() {
|
|
41
54
|
this._client = null;
|
|
@@ -61,7 +74,7 @@ class AIRuntime {
|
|
|
61
74
|
const file = this.getCacheFile();
|
|
62
75
|
if (fs.existsSync(file)) {
|
|
63
76
|
try {
|
|
64
|
-
return JSON.parse(fs.readFileSync(file, 'utf-8'));
|
|
77
|
+
return stripPrototypes(JSON.parse(fs.readFileSync(file, 'utf-8')));
|
|
65
78
|
}
|
|
66
79
|
catch (e) {
|
|
67
80
|
return {};
|
|
@@ -92,6 +105,7 @@ class AIRuntime {
|
|
|
92
105
|
size: request.size,
|
|
93
106
|
images: request.images,
|
|
94
107
|
thinkingLevel: request.thinkingLevel,
|
|
108
|
+
search: request.search,
|
|
95
109
|
};
|
|
96
110
|
hash.update(JSON.stringify(input));
|
|
97
111
|
return hash.digest('hex');
|
|
@@ -240,6 +254,10 @@ class AIRuntime {
|
|
|
240
254
|
if (request.tools) {
|
|
241
255
|
genConfig.tools = request.tools;
|
|
242
256
|
}
|
|
257
|
+
if (request.search) {
|
|
258
|
+
genConfig.tools = genConfig.tools || [];
|
|
259
|
+
genConfig.tools.push({ googleSearch: {} });
|
|
260
|
+
}
|
|
243
261
|
if (thinkingConfig) {
|
|
244
262
|
genConfig.thinkingConfig = thinkingConfig;
|
|
245
263
|
}
|
|
@@ -322,9 +340,9 @@ class AIRuntime {
|
|
|
322
340
|
// Try to extract JSON from the response
|
|
323
341
|
const jsonMatch = response.match(/\{[\s\S]*\}/);
|
|
324
342
|
if (jsonMatch) {
|
|
325
|
-
const parsed = JSON.parse(jsonMatch[0]);
|
|
343
|
+
const parsed = stripPrototypes(JSON.parse(jsonMatch[0]));
|
|
326
344
|
// Validate against schema
|
|
327
|
-
const result =
|
|
345
|
+
const result = Object.create(null);
|
|
328
346
|
for (const [key] of Object.entries(schema)) {
|
|
329
347
|
result[key] = parsed[key];
|
|
330
348
|
}
|
|
@@ -339,7 +357,7 @@ class AIRuntime {
|
|
|
339
357
|
});
|
|
340
358
|
const jsonMatch2 = structuredResponse.text.match(/\{[\s\S]*\}/);
|
|
341
359
|
if (jsonMatch2) {
|
|
342
|
-
return JSON.parse(jsonMatch2[0]);
|
|
360
|
+
return stripPrototypes(JSON.parse(jsonMatch2[0]));
|
|
343
361
|
}
|
|
344
362
|
throw new Error('Could not parse structured output');
|
|
345
363
|
}
|
package/dist/ai-runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-runtime.js","sourceRoot":"","sources":["../src/ai-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-runtime.js","sourceRoot":"","sources":["../src/ai-runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/builtins.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RuntimeValue, RuntimeFunction } from './types';
|
|
2
2
|
export declare function getBuiltins(interpreter?: any): Map<string, RuntimeFunction>;
|
|
3
3
|
export declare function isTruthy(value: RuntimeValue): boolean;
|
|
4
|
+
export declare function stripPrototypes(val: any): any;
|
|
4
5
|
export declare function isEqual(a: RuntimeValue, b: RuntimeValue): boolean;
|
|
5
6
|
export declare function stringify(value: RuntimeValue): string;
|
|
6
7
|
export declare function compareValues(a: RuntimeValue, b: RuntimeValue): number;
|
package/dist/builtins.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../src/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../src/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAoB,MAAM,SAAS,CAAC;AAiC1E,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAirB3E;AAqBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAIrD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAY7C;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,CAWjE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAmBrD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAQtE"}
|