@misterscan/sesi 1.2.0 β 1.2.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.
- package/bin/sesi.js +3 -3
- package/dist/sesi.bundled.js +498 -385
- package/docs/IMAGE_GENERATION.md +1 -1
- package/docs/README.md +8 -8
- package/docs/favicon.ico +0 -0
- package/examples/16_modules.sesi +1 -1
- package/main/sesi_db_chatbot.sesi +0 -9
- package/main/terminal.log +56 -0
- package/package.json +18 -12
package/docs/IMAGE_GENERATION.md
CHANGED
|
@@ -81,7 +81,7 @@ The `image()` call evaluates to a `string` (specifically, base64-encoded image d
|
|
|
81
81
|
|
|
82
82
|
---
|
|
83
83
|
|
|
84
|
-
## Passing Images as Input (v1.2.
|
|
84
|
+
## Passing Images as Input (v1.2.1)
|
|
85
85
|
|
|
86
86
|
Both `model()` and `image()` accept local image files as visual input via the `images` config key. The runtime reads each file from disk, base64-encodes it, and attaches it as an inline data part alongside the prompt. This enables vision tasks such as image description, comparison, OCR, style transfer, and reference-guided generation.
|
|
87
87
|
|
package/docs/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="
|
|
2
|
+
<img src="favicon.ico" alt="Sesi Logo" height="100" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<h1 align="center">Sesi: A High-Performance Systems Language</h1>
|
|
@@ -69,14 +69,14 @@ print code
|
|
|
69
69
|
|
|
70
70
|
## Documentation
|
|
71
71
|
|
|
72
|
-
- [Getting Started](
|
|
72
|
+
- [Getting Started](https://github.com/Misterscan/Sesi/blob/main/QUICKSTART.md)
|
|
73
73
|
- [Examples](./examples/)
|
|
74
|
-
- [Language Specification](
|
|
75
|
-
- [Language Comparison Showcase](
|
|
76
|
-
- [Built-in Functions](
|
|
77
|
-
- [Reasoning Guide](
|
|
78
|
-
- [Distributed Systems](
|
|
79
|
-
- [Runtime Architecture](
|
|
74
|
+
- [Language Specification](https://github.com/Misterscan/Sesi/blob/main/docs/SPECIFICATION.md)
|
|
75
|
+
- [Language Comparison Showcase](https://github.com/Misterscan/Sesi/blob/main/docs/COMPARISON.md)
|
|
76
|
+
- [Built-in Functions](https://github.com/Misterscan/Sesi/blob/main/docs/BUILTINS.md)
|
|
77
|
+
- [Reasoning Guide](https://github.com/Misterscan/Sesi/blob/main/docs/SYSTEMS_REASONING.md)
|
|
78
|
+
- [Distributed Systems](https://github.com/Misterscan/Sesi/blob/main/docs/DISTRIBUTED_SYSTEMS.md)
|
|
79
|
+
- [Runtime Architecture](https://github.com/Misterscan/Sesi/blob/main/docs/ARCHITECTURE.md)
|
|
80
80
|
|
|
81
81
|
## AI Agent Context
|
|
82
82
|
|
package/docs/favicon.ico
ADDED
|
Binary file
|
package/examples/16_modules.sesi
CHANGED
|
@@ -12,7 +12,7 @@ print "2 raised to power of 10:" + str(pow(2, 10))
|
|
|
12
12
|
print "Sine of PI/2:" + str(sin(PI / 2.0))
|
|
13
13
|
print "=== 2. Standard JSON Module ==="
|
|
14
14
|
import {stringify, parse} from "std/json"
|
|
15
|
-
let original = {"project": "Sesi Language", "version": "1.2.
|
|
15
|
+
let original = {"project": "Sesi Language", "version": "1.2.1", "features": ["modules", "http", "parallel"]}
|
|
16
16
|
let json_str = stringify(original)
|
|
17
17
|
print "Serialized JSON string:"
|
|
18
18
|
print json_str
|
|
@@ -204,7 +204,6 @@ if num_classes == 0 {
|
|
|
204
204
|
push(outputs, o)
|
|
205
205
|
j = j + 1
|
|
206
206
|
}
|
|
207
|
-
print "π§ Neural Activation Scores: " + str(outputs)
|
|
208
207
|
|
|
209
208
|
// Determine class index with highest score
|
|
210
209
|
let best_class = 0
|
|
@@ -228,11 +227,6 @@ if num_classes == 0 {
|
|
|
228
227
|
print " Please try asking about: 'print', 'str', 'files', 'json', 'model', 'image', or 'random'!"
|
|
229
228
|
} else {
|
|
230
229
|
let rec = database[best_class]
|
|
231
|
-
print "π DOCUMENTATION MATCHED: " + db_files[best_class]
|
|
232
|
-
print "--------------------------------------------------"
|
|
233
|
-
print "π§ Dynamic predictive text generation active..."
|
|
234
|
-
print "π€ Conversationalizing and re-typing manual answer..."
|
|
235
|
-
|
|
236
230
|
let docs_list = list_dir("docs")
|
|
237
231
|
let sesiDocs = ""
|
|
238
232
|
let d = 0
|
|
@@ -255,7 +249,4 @@ if num_classes == 0 {
|
|
|
255
249
|
print "--------------------------------------------------"
|
|
256
250
|
print generated_response
|
|
257
251
|
print "--------------------------------------------------"
|
|
258
|
-
print "π Neural Classification Confidence: " + str(max_score)
|
|
259
|
-
}
|
|
260
|
-
print "=================================================="
|
|
261
252
|
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
PS C:\Users\owner\Documents\Sesi> sesi -h i need an image and metadata for my album release
|
|
2
|
+
β injected env (1) from .env Β· dotenvx@1.66.0
|
|
3
|
+
==================================================
|
|
4
|
+
π§ WELCOME TO THE SESI CO-PILOT!
|
|
5
|
+
==================================================
|
|
6
|
+
--------------------------------------------------
|
|
7
|
+
π€ SESI CO-PILOT RESPONDING:
|
|
8
|
+
--------------------------------------------------
|
|
9
|
+
Generating an image and extracting metadata for your album release is incredibly straightforward in Sesi. Because Sesi treats AI as a native language primitive, you don't need to worry about SDKs, manual JSON parsing, or complex schema boilerplate.
|
|
10
|
+
|
|
11
|
+
Here is how you can handle your album release pipeline in just a few lines of code:
|
|
12
|
+
|
|
13
|
+
### 1. Generate Your Album Art
|
|
14
|
+
You can use the native `image` primitive to generate your cover art. Sesi handles the base64 encoding and file persistence automatically.
|
|
15
|
+
|
|
16
|
+
```sesi
|
|
17
|
+
// Generate the image with specific configuration
|
|
18
|
+
let coverArt = image("gemini-3.1-flash-image-preview") {
|
|
19
|
+
"ratio": "1:1",
|
|
20
|
+
"size": "1K",
|
|
21
|
+
"temperature": 0.5
|
|
22
|
+
} {"A minimalist, atmospheric album cover for a synth-pop release"}
|
|
23
|
+
|
|
24
|
+
// Save it directly to disk
|
|
25
|
+
write_image("album_cover.png", coverArt)
|
|
26
|
+
print "Album art saved successfully!"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 2. Extract Album Metadata
|
|
30
|
+
Instead of manually defining complex schemas or parsing JSON, you can use `structured_output` to get typed metadata directly from the model. Sesi dynamically builds the schema from your object literal and handles the hydration for you.
|
|
31
|
+
|
|
32
|
+
```sesi
|
|
33
|
+
// Define your metadata needs and extract them in one go
|
|
34
|
+
let albumInfo = structured_output({
|
|
35
|
+
title: string,
|
|
36
|
+
artist: string,
|
|
37
|
+
genre: string,
|
|
38
|
+
releaseYear: number
|
|
39
|
+
})(model("gemini-3.1-flash-lite") {
|
|
40
|
+
"Extract album metadata from this description: 'The new 2026 synth-pop album Neon Nights by Luna Ray'"
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
// Access the data as native Sesi objects
|
|
44
|
+
print "Title:" albumInfo["title"]
|
|
45
|
+
print "Artist:" albumInfo["artist"]
|
|
46
|
+
print "Genre:" albumInfo["genre"]
|
|
47
|
+
print "Year:" albumInfo["releaseYear"]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Why this is better:
|
|
51
|
+
* **No Boilerplate:** You didn't have to import a single SDK or manually define a JSON schema.
|
|
52
|
+
* **Native Types:** The `albumInfo` variable is immediately ready to use as a native Sesi object.
|
|
53
|
+
* **Resilient:** If the model's output is slightly malformed, Sesi's runtime handles the recovery and coercion for you automatically.
|
|
54
|
+
|
|
55
|
+
Youβre all set to build out the rest of your release pipeline! Let me know if you need help adding logic to automatically upload these files or notify your team.
|
|
56
|
+
--------------------------------------------------
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@misterscan/sesi",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Sesi: A High-Performance Systems Language",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -29,26 +29,32 @@
|
|
|
29
29
|
"example": "node --no-deprecation example.js",
|
|
30
30
|
"example:ai": "node --no-deprecation example-ai.js",
|
|
31
31
|
"example:all": "bin/sesi.js examples.sesi",
|
|
32
|
-
"upload": "npm
|
|
32
|
+
"upload": "npm run build && npm publish --access public"
|
|
33
33
|
},
|
|
34
34
|
"keywords": [
|
|
35
|
-
"
|
|
36
|
-
"language",
|
|
37
|
-
"programming",
|
|
35
|
+
"sesi",
|
|
36
|
+
"systems-language",
|
|
37
|
+
"programming-language",
|
|
38
|
+
"ai-native",
|
|
38
39
|
"gemini",
|
|
39
|
-
"
|
|
40
|
+
"reasoning-primitives",
|
|
41
|
+
"concurrency",
|
|
42
|
+
"process-orchestration",
|
|
43
|
+
"agentic-workflows",
|
|
44
|
+
"interpreter",
|
|
45
|
+
"typescript"
|
|
40
46
|
],
|
|
41
|
-
"author": "
|
|
47
|
+
"author": "Misterscan",
|
|
42
48
|
"license": "MIT",
|
|
43
49
|
"dependencies": {
|
|
44
|
-
"@dotenvx/dotenvx": "
|
|
45
|
-
"@dotenvx/dotenvx-ops": "^0.
|
|
46
|
-
"@google/genai": "2.0
|
|
50
|
+
"@dotenvx/dotenvx": "1.66.0",
|
|
51
|
+
"@dotenvx/dotenvx-ops": "^0.46.1",
|
|
52
|
+
"@google/genai": "2.4.0"
|
|
47
53
|
},
|
|
48
54
|
"devDependencies": {
|
|
49
55
|
"@eslint/js": "^10.0.1",
|
|
50
|
-
"@types/node": "
|
|
51
|
-
"eslint": "
|
|
56
|
+
"@types/node": "25.8.0",
|
|
57
|
+
"eslint": "10.4.0",
|
|
52
58
|
"globals": "^17.6.0",
|
|
53
59
|
"rcedit": "^5.0.2",
|
|
54
60
|
"typescript": "6.0.3",
|