@hy-sde-org/dsh-code-runtime-kernels 0.1.2-rc.1 → 0.1.5-rc.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/README.md +42 -3
- package/README.zh.md +39 -3
- package/dist/core/kernel.d.ts +28 -2
- package/dist/core/kernel.d.ts.map +1 -1
- package/dist/core/kernel.js +12 -1
- package/dist/core/kernel.js.map +1 -1
- package/dist/core/protocol.d.ts +17 -0
- package/dist/core/protocol.d.ts.map +1 -1
- package/dist/core/session.d.ts +15 -0
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +65 -3
- package/dist/core/session.js.map +1 -1
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +113 -31
- package/dist/index.js.map +1 -1
- package/dist/nodejs/runner.js +162 -0
- package/dist/nodejs/runner.js.map +1 -1
- package/dist/python/runner.d.ts.map +1 -1
- package/dist/python/runner.js +365 -0
- package/dist/python/runner.js.map +1 -1
- package/package.json +19 -18
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { Context } from '@deepseek-ai/cordis';
|
|
|
14
14
|
import z from '@deepseek-ai/schemastery';
|
|
15
15
|
import type { CodeBindingNamespace, CodeJsonValue, CodeRunResult } from '@deepseek-ai/dsh-code-runtime';
|
|
16
16
|
import type { TerminalCallView, TerminalResultView, ToolResult } from '@deepseek-ai/dsh-tools';
|
|
17
|
+
import type { KernelSandboxProvider } from './core/kernel.ts';
|
|
17
18
|
/** Cordis plugin name for loader diagnostics. */
|
|
18
19
|
export declare const name = "code-runtime-kernels";
|
|
19
20
|
/** Services this plugin requires: the tool registry and the system-prompt builder. */
|
|
@@ -27,6 +28,12 @@ export interface Config {
|
|
|
27
28
|
languages?: ('python' | 'typescript')[];
|
|
28
29
|
/** Explicit python executable. Defaults to `python3` on PATH (fails loud at first spawn when absent). */
|
|
29
30
|
pythonPath?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Python execution semantics: `stdlib` (default, self-contained runner) or
|
|
33
|
+
* `ipykernel` (real IPython shell: magics, `!cmd`, display — the interpreter
|
|
34
|
+
* must have IPython/ipykernel installed; the runner fails loud otherwise).
|
|
35
|
+
*/
|
|
36
|
+
pythonImpl?: 'stdlib' | 'ipykernel';
|
|
30
37
|
/** Explicit node executable. Defaults to `node` on PATH (fails loud at first spawn when absent). */
|
|
31
38
|
nodePath?: string;
|
|
32
39
|
/** Cooperative tool-call timeout budget (ms) for `run_kernel_code` (default 30000). */
|
|
@@ -35,6 +42,8 @@ export interface Config {
|
|
|
35
42
|
maxWallMs?: number;
|
|
36
43
|
/** Hard cap on combined serialized log-, completion-, and failure-message bytes. */
|
|
37
44
|
maxOutputBytes?: number;
|
|
45
|
+
/** Per-line output cap (chars): a longer line is clipped with a `…` marker. */
|
|
46
|
+
maxOutputLineChars?: number;
|
|
38
47
|
/** Reap a session idle for at least this many ms; `0` disables reaping. */
|
|
39
48
|
sessionIdleMs?: number;
|
|
40
49
|
/** Wait after SIGINT before SIGTERM, then the same again before SIGKILL. */
|
|
@@ -43,6 +52,38 @@ export interface Config {
|
|
|
43
52
|
startupTimeoutMs?: number;
|
|
44
53
|
/** Grace period for the kernel to exit after an `exit` frame. */
|
|
45
54
|
shutdownGraceMs?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Namespace persistence: each successful run snapshots the session's kernel
|
|
57
|
+
* namespace to disk, and a fresh kernel for that session restores it once
|
|
58
|
+
* (so state survives kernel death and a full plugin restart). `false`
|
|
59
|
+
* disables; `snapshotDir` sets the root (default `~/.dsh/code-runtime-kernels/state`,
|
|
60
|
+
* language + session-hash subdirectories).
|
|
61
|
+
*/
|
|
62
|
+
snapshot?: boolean;
|
|
63
|
+
/** Root directory for session snapshots (ignored when `snapshot` is false). */
|
|
64
|
+
snapshotDir?: string;
|
|
65
|
+
/** Combined byte cap for one snapshot file; entries past it are skipped by name. */
|
|
66
|
+
snapshotMaxBytes?: number;
|
|
67
|
+
/** Per-entry byte cap; an entry larger than this is skipped and named. */
|
|
68
|
+
snapshotMaxEntryBytes?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Session "toolbox": one preload source per language. It runs as a hidden
|
|
71
|
+
* first cell of every fresh session kernel (before the snapshot restore,
|
|
72
|
+
* so restored names shadow same-named helpers; user state wins). A preload
|
|
73
|
+
* failure fails the triggering run like an exception.
|
|
74
|
+
*/
|
|
75
|
+
preload?: {
|
|
76
|
+
python?: string;
|
|
77
|
+
typescript?: string;
|
|
78
|
+
};
|
|
79
|
+
/** Confine kernel subprocesses through the sandbox seam (default false = unconfined). */
|
|
80
|
+
sandboxConfinement?: boolean;
|
|
81
|
+
/** The confine capability (see `SandboxProvider` in `@deepseek-ai/dsh-sandbox`); required when `sandboxConfinement` is true. */
|
|
82
|
+
sandboxProvider?: KernelSandboxProvider;
|
|
83
|
+
/** Writable root under `workspace-write` confinement (defaults to the process cwd). */
|
|
84
|
+
sandboxWorkspaceRoot?: string;
|
|
85
|
+
/** File-effect mode for kernels under confinement (default `workspace-write`). */
|
|
86
|
+
sandboxMode?: 'read-only' | 'workspace-write';
|
|
46
87
|
}
|
|
47
88
|
/** Schemastery schema for {@link Config}: defaults filled at load time. */
|
|
48
89
|
export declare const Config: z<Config>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
* bash-equivalent trust.
|
|
11
11
|
* @module @hy-sde-org/dsh-code-runtime-kernels
|
|
12
12
|
*/
|
|
13
|
-
import { randomUUID } from 'node:crypto';
|
|
13
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
14
|
+
import { homedir } from 'node:os';
|
|
15
|
+
import { join, resolve, sep } from 'node:path';
|
|
14
16
|
import { inspect } from 'node:util';
|
|
15
17
|
import z from '@deepseek-ai/schemastery';
|
|
16
18
|
import { DUNDER_MEMBER, PORTABLE_RESERVED_WORDS, RESERVED_BINDING_GLOBALS, RESERVED_ERROR_MEMBERS, } from '@deepseek-ai/dsh-code-runtime';
|
|
@@ -27,17 +29,32 @@ export const inject = ['tools', 'systemPrompt'];
|
|
|
27
29
|
export const Config = z.object({
|
|
28
30
|
languages: z.array(z.union(['python', 'typescript'])).default(['python', 'typescript']),
|
|
29
31
|
pythonPath: z.string(),
|
|
32
|
+
pythonImpl: z.union(['stdlib', 'ipykernel']).default('stdlib'),
|
|
30
33
|
nodePath: z.string(),
|
|
31
34
|
toolTimeoutMs: z.number().default(30_000),
|
|
32
35
|
maxWallMs: z.number().default(600_000),
|
|
33
36
|
maxOutputBytes: z.number().default(67_108_864),
|
|
37
|
+
maxOutputLineChars: z.number().default(4_096),
|
|
34
38
|
sessionIdleMs: z.number().default(0),
|
|
35
39
|
interruptEscalationMs: z.number().default(5_000),
|
|
36
40
|
startupTimeoutMs: z.number().default(15_000),
|
|
37
41
|
shutdownGraceMs: z.number().default(1_000),
|
|
42
|
+
snapshot: z.boolean().default(true),
|
|
43
|
+
snapshotDir: z.string(),
|
|
44
|
+
snapshotMaxBytes: z.number().default(134_217_728),
|
|
45
|
+
snapshotMaxEntryBytes: z.number().default(8_388_608),
|
|
46
|
+
preload: z.object({ python: z.string(), typescript: z.string() }),
|
|
47
|
+
sandboxConfinement: z.boolean().default(false),
|
|
48
|
+
sandboxProvider: z.any(),
|
|
49
|
+
sandboxWorkspaceRoot: z.string(),
|
|
50
|
+
sandboxMode: z.union(['read-only', 'workspace-write']).default('workspace-write'),
|
|
38
51
|
});
|
|
39
52
|
/** Smallest cap that can represent the counted payloads: an empty logs array plus an empty JSON failure message. */
|
|
40
53
|
const MIN_OUTPUT_BYTES = 4;
|
|
54
|
+
/** Default snapshot root: inside the harness user dir, keyed per language + session. */
|
|
55
|
+
function defaultSnapshotDir() {
|
|
56
|
+
return join(homedir(), '.dsh', 'code-runtime-kernels', 'state');
|
|
57
|
+
}
|
|
41
58
|
/** Whether a configured language names one of the two kernels this plugin spawns. */
|
|
42
59
|
function isKernelLanguage(language) {
|
|
43
60
|
return language === 'python' || language === 'typescript';
|
|
@@ -59,40 +76,44 @@ const IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
|
59
76
|
*/
|
|
60
77
|
class OutputLedger {
|
|
61
78
|
maxBytes;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
constructor(maxBytes) {
|
|
79
|
+
maxLineChars;
|
|
80
|
+
constructor(maxBytes, maxLineChars) {
|
|
65
81
|
this.maxBytes = maxBytes;
|
|
82
|
+
this.maxLineChars = maxLineChars;
|
|
66
83
|
}
|
|
67
84
|
textBytes(text) {
|
|
68
85
|
return Buffer.byteLength(text, 'utf8');
|
|
69
86
|
}
|
|
70
|
-
/**
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Clip one line to {@link maxLineChars} with a `…` marker. A single hostile
|
|
89
|
+
* `repr` (or log bomb) must not own the whole budget as one line; the marker
|
|
90
|
+
* makes the truncation obvious to the model.
|
|
91
|
+
*/
|
|
92
|
+
clipLine(line) {
|
|
93
|
+
if (line.length <= this.maxLineChars)
|
|
94
|
+
return line;
|
|
95
|
+
return `${line.slice(0, Math.max(1, this.maxLineChars - 1))}…`;
|
|
96
|
+
}
|
|
97
|
+
/** Per-line-clip every log entry (single choke point for all result paths). */
|
|
98
|
+
clipLogs(logs) {
|
|
99
|
+
return logs.map(text => text.split('\n').map(line => this.clipLine(line)).join('\n'));
|
|
80
100
|
}
|
|
81
101
|
/** Finalize a successful absent-or-JSON completion against the combined cap. */
|
|
82
102
|
success(logs, value) {
|
|
103
|
+
const clipped = this.clipLogs(logs);
|
|
83
104
|
if (value === undefined)
|
|
84
|
-
return { logs };
|
|
105
|
+
return { logs: clipped };
|
|
85
106
|
const valueBytes = this.compactJsonBytes(value);
|
|
86
|
-
if (valueBytes === undefined ||
|
|
87
|
-
return this.limit(
|
|
88
|
-
return { logs, value };
|
|
107
|
+
if (valueBytes === undefined || valueBytes > this.maxBytes)
|
|
108
|
+
return this.limit(clipped);
|
|
109
|
+
return { logs: clipped, value };
|
|
89
110
|
}
|
|
90
111
|
/** Finalize a failure diagnostic, with output-limit taking precedence over the cap. */
|
|
91
112
|
failure(logs, error) {
|
|
92
|
-
const
|
|
93
|
-
if (this.
|
|
94
|
-
return { logs, error };
|
|
95
|
-
return this.limit(
|
|
113
|
+
const clipped = this.clipLogs(logs);
|
|
114
|
+
if (this.textBytes(error.message) <= this.maxBytes)
|
|
115
|
+
return { logs: clipped, error };
|
|
116
|
+
return this.limit(clipped);
|
|
96
117
|
}
|
|
97
118
|
/** Build the explicit output-limit failure while retaining fitting logs. */
|
|
98
119
|
limit(logs) {
|
|
@@ -131,6 +152,7 @@ export class KernelManager {
|
|
|
131
152
|
#config;
|
|
132
153
|
#registries = new Map();
|
|
133
154
|
#ledgerFactory;
|
|
155
|
+
#confine;
|
|
134
156
|
#disposed = false;
|
|
135
157
|
constructor(config) {
|
|
136
158
|
// Fill defaults here too: the plugin path gets them from the schemastery
|
|
@@ -139,17 +161,29 @@ export class KernelManager {
|
|
|
139
161
|
const resolved = {
|
|
140
162
|
languages: config.languages ?? ['python', 'typescript'],
|
|
141
163
|
...config.pythonPath !== undefined ? { pythonPath: config.pythonPath } : {},
|
|
164
|
+
pythonImpl: config.pythonImpl ?? 'stdlib',
|
|
142
165
|
...config.nodePath !== undefined ? { nodePath: config.nodePath } : {},
|
|
143
166
|
toolTimeoutMs: config.toolTimeoutMs ?? 30_000,
|
|
144
167
|
maxWallMs: config.maxWallMs ?? 600_000,
|
|
145
168
|
maxOutputBytes: config.maxOutputBytes ?? 67_108_864,
|
|
169
|
+
maxOutputLineChars: config.maxOutputLineChars ?? 4_096,
|
|
146
170
|
sessionIdleMs: config.sessionIdleMs ?? 0,
|
|
147
171
|
interruptEscalationMs: config.interruptEscalationMs ?? 5_000,
|
|
148
172
|
startupTimeoutMs: config.startupTimeoutMs ?? 15_000,
|
|
149
173
|
shutdownGraceMs: config.shutdownGraceMs ?? 1_000,
|
|
174
|
+
snapshot: config.snapshot ?? true,
|
|
175
|
+
snapshotDir: config.snapshotDir ?? defaultSnapshotDir(),
|
|
176
|
+
snapshotMaxBytes: config.snapshotMaxBytes ?? 134_217_728,
|
|
177
|
+
snapshotMaxEntryBytes: config.snapshotMaxEntryBytes ?? 8_388_608,
|
|
178
|
+
preload: config.preload ?? {},
|
|
179
|
+
sandboxConfinement: config.sandboxConfinement ?? false,
|
|
180
|
+
...config.sandboxProvider !== undefined ? { sandboxProvider: config.sandboxProvider } : {},
|
|
181
|
+
sandboxWorkspaceRoot: config.sandboxWorkspaceRoot ?? process.cwd(),
|
|
182
|
+
sandboxMode: config.sandboxMode ?? 'workspace-write',
|
|
150
183
|
};
|
|
151
|
-
const numericKeys = ['maxWallMs', 'maxOutputBytes', 'sessionIdleMs',
|
|
152
|
-
'interruptEscalationMs', 'startupTimeoutMs', 'shutdownGraceMs'
|
|
184
|
+
const numericKeys = ['maxWallMs', 'maxOutputBytes', 'maxOutputLineChars', 'sessionIdleMs',
|
|
185
|
+
'interruptEscalationMs', 'startupTimeoutMs', 'shutdownGraceMs',
|
|
186
|
+
'snapshotMaxBytes', 'snapshotMaxEntryBytes'];
|
|
153
187
|
for (const key of numericKeys) {
|
|
154
188
|
const value = resolved[key];
|
|
155
189
|
if (!(Number.isFinite(value) && value >= 0)) {
|
|
@@ -159,6 +193,13 @@ export class KernelManager {
|
|
|
159
193
|
if (!Number.isSafeInteger(resolved.maxOutputBytes) || resolved.maxOutputBytes < MIN_OUTPUT_BYTES) {
|
|
160
194
|
throw new Error(`dsh-code-runtime-kernels: config.maxOutputBytes must be a safe integer of at least ${MIN_OUTPUT_BYTES}`);
|
|
161
195
|
}
|
|
196
|
+
if (!Number.isSafeInteger(resolved.maxOutputLineChars) || resolved.maxOutputLineChars < 4) {
|
|
197
|
+
throw new Error('dsh-code-runtime-kernels: config.maxOutputLineChars must be a safe integer of at least 4');
|
|
198
|
+
}
|
|
199
|
+
if (!Number.isSafeInteger(resolved.snapshotMaxBytes) || resolved.snapshotMaxBytes < 1
|
|
200
|
+
|| !Number.isSafeInteger(resolved.snapshotMaxEntryBytes) || resolved.snapshotMaxEntryBytes < 1) {
|
|
201
|
+
throw new Error('dsh-code-runtime-kernels: config.snapshotMaxBytes and config.snapshotMaxEntryBytes must be positive safe integers');
|
|
202
|
+
}
|
|
162
203
|
if (resolved.maxWallMs > MAX_TIMER_DELAY_MS) {
|
|
163
204
|
throw new Error(`dsh-code-runtime-kernels: config.maxWallMs must be at most ${MAX_TIMER_DELAY_MS} (Node clamps a longer setTimeout delay to 1ms)`);
|
|
164
205
|
}
|
|
@@ -170,16 +211,53 @@ export class KernelManager {
|
|
|
170
211
|
throw new Error(`dsh-code-runtime-kernels: unknown language ${JSON.stringify(language)}`);
|
|
171
212
|
}
|
|
172
213
|
}
|
|
214
|
+
if (resolved.pythonImpl === 'ipykernel' && !resolved.languages.includes('python')) {
|
|
215
|
+
throw new Error('dsh-code-runtime-kernels: config.pythonImpl "ipykernel" requires python in config.languages');
|
|
216
|
+
}
|
|
217
|
+
if (resolved.sandboxConfinement && resolved.sandboxProvider === undefined) {
|
|
218
|
+
throw new Error('dsh-code-runtime-kernels: config.sandboxConfinement requires config.sandboxProvider (the confine capability)');
|
|
219
|
+
}
|
|
220
|
+
if (resolved.sandboxConfinement && resolved.snapshot) {
|
|
221
|
+
const root = resolve(resolved.sandboxWorkspaceRoot);
|
|
222
|
+
const snapDir = resolve(resolved.snapshotDir);
|
|
223
|
+
if (snapDir !== root && !snapDir.startsWith(`${root}${sep}`)) {
|
|
224
|
+
throw new Error(`dsh-code-runtime-kernels: config.snapshotDir must be inside config.sandboxWorkspaceRoot (${resolved.sandboxWorkspaceRoot}) when sandboxConfinement is on,`
|
|
225
|
+
+ ' because the confined kernel cannot write outside it — or disable snapshots; the confined kernel keeps its namespace only while alive');
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (resolved.sandboxConfinement && resolved.sandboxProvider !== undefined) {
|
|
229
|
+
const provider = resolved.sandboxProvider;
|
|
230
|
+
const root = resolve(resolved.sandboxWorkspaceRoot);
|
|
231
|
+
this.#confine = argv => provider.confine(argv, { mode: resolved.sandboxMode, workspaceRoot: root });
|
|
232
|
+
}
|
|
173
233
|
this.#config = resolved;
|
|
174
|
-
this.#ledgerFactory = () => new OutputLedger(resolved.maxOutputBytes);
|
|
234
|
+
this.#ledgerFactory = () => new OutputLedger(resolved.maxOutputBytes, resolved.maxOutputLineChars);
|
|
175
235
|
for (const language of resolved.languages) {
|
|
176
236
|
this.#registries.set(language, new SessionRegistry({
|
|
177
237
|
label: language === 'python' ? 'python kernel' : 'nodejs kernel',
|
|
178
238
|
start: () => this.#startKernel(language === 'python' ? 'python' : 'typescript'),
|
|
179
239
|
sessionIdleMs: resolved.sessionIdleMs,
|
|
240
|
+
snapshot: sessionId => this.#snapshotSpecFor(language === 'python' ? 'python' : 'typescript', sessionId),
|
|
241
|
+
preload: () => resolved.preload[language],
|
|
180
242
|
}));
|
|
181
243
|
}
|
|
182
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* One session's persistence spec. Paths are derived from a hash, never from
|
|
247
|
+
* the session id directly (model-supplied ids are untrusted); the language
|
|
248
|
+
* is part of the hash so a python and a typescript session sharing an id
|
|
249
|
+
* never read each other's (format-incompatible) snapshot.
|
|
250
|
+
*/
|
|
251
|
+
#snapshotSpecFor(language, sessionId) {
|
|
252
|
+
if (!this.#config.snapshot)
|
|
253
|
+
return undefined;
|
|
254
|
+
const digest = createHash('sha256').update(`${language}:${sessionId}`).digest('hex').slice(0, 32);
|
|
255
|
+
return {
|
|
256
|
+
path: join(this.#config.snapshotDir, language, `${digest}.snapshot`),
|
|
257
|
+
maxBytes: this.#config.snapshotMaxBytes,
|
|
258
|
+
maxEntryBytes: this.#config.snapshotMaxEntryBytes,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
183
261
|
/** Terminate every session kernel to quiescence (plugin teardown). */
|
|
184
262
|
async teardown() {
|
|
185
263
|
this.#disposed = true;
|
|
@@ -255,6 +333,7 @@ export class KernelManager {
|
|
|
255
333
|
PYTHONIOENCODING: 'utf-8',
|
|
256
334
|
PYTHONDONTWRITEBYTECODE: '1',
|
|
257
335
|
DSH_KERNEL_CWD: process.cwd(),
|
|
336
|
+
...this.#config.pythonImpl === 'ipykernel' ? { DSH_KERNEL_PYTHON_IMPL: 'ipykernel' } : {},
|
|
258
337
|
},
|
|
259
338
|
prefix: 'dsh-code-runtime-kernels-python',
|
|
260
339
|
idPrefix: 'py-',
|
|
@@ -272,6 +351,7 @@ export class KernelManager {
|
|
|
272
351
|
startupTimeoutMs: this.#config.startupTimeoutMs,
|
|
273
352
|
interruptEscalationMs: this.#config.interruptEscalationMs,
|
|
274
353
|
shutdownGraceMs: this.#config.shutdownGraceMs,
|
|
354
|
+
...this.#confine !== undefined ? { confine: this.#confine } : {},
|
|
275
355
|
};
|
|
276
356
|
}
|
|
277
357
|
/** One fresh kernel for exactly one program: the one-shot path. */
|
|
@@ -395,11 +475,13 @@ export class KernelManager {
|
|
|
395
475
|
/** Model-facing guide for when and how to use `run_kernel_code`. */
|
|
396
476
|
const TOOL_GUIDE = [
|
|
397
477
|
'Prefer run_kernel_code to reading/writing scratch files when the work is computation with intermediate results',
|
|
398
|
-
'— sessions keep kernel state (variables, imports, working data) across calls
|
|
399
|
-
'
|
|
400
|
-
'
|
|
401
|
-
'
|
|
402
|
-
'
|
|
478
|
+
'— sessions keep kernel state (variables, imports, working data) across calls, AND snapshot it to disk after',
|
|
479
|
+
'every successful run, so state survives a kernel crash or restart (the first run after a restore reports what',
|
|
480
|
+
'was restored and what could not be). Omit `session` for one-off computations; give related calls the same',
|
|
481
|
+
'`session` id to carry state forward, and pass `reset: true` when the session\'s state is corrupted or unwanted.',
|
|
482
|
+
'Python programs persist module-level variables and functions; JavaScript programs persist via `state` and',
|
|
483
|
+
'top-level assignments. A session reaps idle kernels after the configured timeout; a reaped session resumes',
|
|
484
|
+
'from its snapshot on the next call with the same id.',
|
|
403
485
|
].join(' ');
|
|
404
486
|
/** Render the result for the model: successful value, or the failure line. */
|
|
405
487
|
function renderResult(value) {
|
|
@@ -527,7 +609,7 @@ export function apply(ctx, config) {
|
|
|
527
609
|
return undefined;
|
|
528
610
|
const save = {
|
|
529
611
|
owner: { sessionId },
|
|
530
|
-
source: { toolName: 'run_kernel_code', callId: exec.callId, label: 'kernel-output' },
|
|
612
|
+
source: { kind: 'tool', toolName: 'run_kernel_code', callId: exec.callId, label: 'kernel-output' },
|
|
531
613
|
suggestedName: 'kernel-output.txt',
|
|
532
614
|
content,
|
|
533
615
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|