@code-yeongyu/senpi-codemode 2026.10.15 → 2026.10.16-2
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/CHANGELOG.md +26 -0
- package/package.json +4 -4
- package/src/kernels/jl/runner.jl +11 -4
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,32 @@
|
|
|
12
12
|
|
|
13
13
|
### Removed
|
|
14
14
|
|
|
15
|
+
## [2026.10.16-2] - 2026-10-16
|
|
16
|
+
|
|
17
|
+
### Breaking Changes
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- Julia writes its startup status and ready frames pre-encoded, so neither a fresh nor an interrupt-replacement interpreter runs the frame encoder before its first cell; all startup stages are still reported ([#3048](https://github.com/code-yeongyu/senpi/issues/3048)).
|
|
26
|
+
|
|
27
|
+
### Removed
|
|
28
|
+
|
|
29
|
+
## [2026.10.16] - 2026-10-16
|
|
30
|
+
|
|
31
|
+
### Breaking Changes
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
### Removed
|
|
40
|
+
|
|
15
41
|
## [2026.10.15] - 2026-10-15
|
|
16
42
|
|
|
17
43
|
### Breaking Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/senpi-codemode",
|
|
3
|
-
"version": "2026.10.
|
|
3
|
+
"version": "2026.10.16-2",
|
|
4
4
|
"description": "Source-only senpi extension package for codemode evaluation tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.ts",
|
|
@@ -33,15 +33,15 @@
|
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@babel/parser": "8.0.4",
|
|
36
|
-
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.10.
|
|
36
|
+
"@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.10.16-2",
|
|
37
37
|
"quickjs-wasi": "3.6.2",
|
|
38
38
|
"typebox": "1.3.34"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@code-yeongyu/senpi": "2026.10.
|
|
41
|
+
"@code-yeongyu/senpi": "2026.10.16-2"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@code-yeongyu/senpi": "2026.10.
|
|
44
|
+
"@code-yeongyu/senpi": "2026.10.16-2"
|
|
45
45
|
},
|
|
46
46
|
"keywords": [
|
|
47
47
|
"senpi",
|
package/src/kernels/jl/runner.jl
CHANGED
|
@@ -161,14 +161,21 @@ function senpi_json_parse(input::AbstractString)
|
|
|
161
161
|
parsed_result
|
|
162
162
|
end
|
|
163
163
|
|
|
164
|
-
function
|
|
164
|
+
function senpi_emit_line(line::String)
|
|
165
165
|
lock(senpi_write_lock) do
|
|
166
|
-
println(SENPI_ORIGINAL_STDOUT,
|
|
166
|
+
println(SENPI_ORIGINAL_STDOUT, line)
|
|
167
167
|
flush(SENPI_ORIGINAL_STDOUT)
|
|
168
168
|
end
|
|
169
169
|
nothing
|
|
170
170
|
end
|
|
171
171
|
|
|
172
|
+
senpi_emit(frame) = senpi_emit_line(senpi_json(frame))
|
|
173
|
+
|
|
174
|
+
# Startup frames are constant: writing them pre-encoded keeps the generic encoder
|
|
175
|
+
# from running (and specializing) in every fresh or replacement interpreter.
|
|
176
|
+
const SENPI_HOST_INIT_FRAME = "{\"type\":\"status\",\"event\":{\"op\":\"kernel-startup\",\"stage\":\"host-init\"}}"
|
|
177
|
+
const SENPI_READY_FRAME = "{\"type\":\"ready\",\"memoryGlobals\":true}"
|
|
178
|
+
|
|
172
179
|
function senpi_emit_stream(stream::String, bytes::Vector{UInt8})
|
|
173
180
|
senpi_current_cell === nothing && return nothing
|
|
174
181
|
isempty(bytes) && return nothing
|
|
@@ -356,9 +363,9 @@ while !eof(SENPI_ORIGINAL_STDIN)
|
|
|
356
363
|
message isa AbstractDict || error("Bridge frame must be an object")
|
|
357
364
|
kind = get(message, "type", nothing)
|
|
358
365
|
if kind == "init"
|
|
359
|
-
|
|
366
|
+
senpi_emit_line(SENPI_HOST_INIT_FRAME)
|
|
360
367
|
senpi_set_connection(get(message, "connection", nothing))
|
|
361
|
-
|
|
368
|
+
senpi_emit_line(SENPI_READY_FRAME)
|
|
362
369
|
elseif kind == "run"
|
|
363
370
|
global senpi_memory_cell = nothing
|
|
364
371
|
senpi_run_cell(message)
|