@omercnet/paseo-omp 1.0.3-next.190.1 → 1.0.3-next.193.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/package.json
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** Release Please keeps this bundle-safe constant aligned with package.json. */
|
|
2
|
-
export const PASEO_OMP_PACKAGE_VERSION = "1.0.3-next.
|
|
2
|
+
export const PASEO_OMP_PACKAGE_VERSION = "1.0.3-next.193.1"; // x-release-please-version
|
|
@@ -33,6 +33,8 @@ export interface OmpStartOptions {
|
|
|
33
33
|
requestTimeoutMs?: number;
|
|
34
34
|
/** Resume this exact native OMP session; never use this to start a new conversation. */
|
|
35
35
|
resumeSessionId?: string;
|
|
36
|
+
/** Authorized transcript of `resumeSessionId`; when set, OMP resumes this file directly. */
|
|
37
|
+
resumeSessionFile?: string;
|
|
36
38
|
noSession?: boolean;
|
|
37
39
|
signal?: AbortSignal;
|
|
38
40
|
}
|
|
@@ -340,7 +342,12 @@ export function buildOmpSpawnRequest(
|
|
|
340
342
|
validateBoundedText(options.sessionDir, "session directory", MAX_PATH_LENGTH),
|
|
341
343
|
);
|
|
342
344
|
}
|
|
343
|
-
if (options.
|
|
345
|
+
if (options.resumeSessionFile !== undefined) {
|
|
346
|
+
// OMP opens an absolute .jsonl directly, skipping its id lookup and global fallback.
|
|
347
|
+
const file = validateBoundedText(options.resumeSessionFile, "session file", MAX_PATH_LENGTH);
|
|
348
|
+
if (!isAbsolute(file) || !file.endsWith(".jsonl")) throw new Error("Invalid OMP session file");
|
|
349
|
+
args.push("--resume", file);
|
|
350
|
+
} else if (options.resumeSessionId !== undefined) {
|
|
344
351
|
args.push("--resume", validateNativeSessionId(options.resumeSessionId));
|
|
345
352
|
}
|
|
346
353
|
if (options.noSession) args.push("--no-session");
|
|
@@ -10,8 +10,10 @@ const MAX_DESCRIPTOR_PREFIX_BYTES = 64 * 1024;
|
|
|
10
10
|
const MAX_DESCRIPTOR_SUFFIX_BYTES = 64 * 1024;
|
|
11
11
|
const MAX_PROMPT_PREVIEW_CHARS = 160;
|
|
12
12
|
const MAX_DIRECTORY_DEPTH = 8;
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
// Count caps only bound memory; the byte and time budgets bound scan work. OMP keeps one
|
|
14
|
+
// directory per workspace, so these must exceed real session trees or lookups silently miss.
|
|
15
|
+
const MAX_SCAN_DIRECTORIES = 65_536;
|
|
16
|
+
const MAX_SCAN_FILES = 262_144;
|
|
15
17
|
const MAX_SCAN_BYTES = 16 * 1024 * 1024;
|
|
16
18
|
const MAX_SCAN_MS = 1_000;
|
|
17
19
|
const SCAN_YIELD_INTERVAL = 128;
|
|
@@ -490,7 +490,13 @@ export class OmpProviderSession {
|
|
|
490
490
|
...normalizedConfig,
|
|
491
491
|
// Thinking is authorized only after this runtime reports its exact model catalog.
|
|
492
492
|
thinkingOption: undefined,
|
|
493
|
-
...(resumeSessionId
|
|
493
|
+
...(resumeSessionId
|
|
494
|
+
? {
|
|
495
|
+
systemPrompt: undefined,
|
|
496
|
+
resumeSessionId,
|
|
497
|
+
resumeSessionFile: persistedDescriptor?.transcriptFile,
|
|
498
|
+
}
|
|
499
|
+
: {}),
|
|
494
500
|
signal,
|
|
495
501
|
environment,
|
|
496
502
|
};
|
|
@@ -1990,7 +1996,9 @@ export class OmpProviderSession {
|
|
|
1990
1996
|
recovered = await this.runtimeFactory.startSession({
|
|
1991
1997
|
...this.recoveryOptions,
|
|
1992
1998
|
...(recoverFromNativeConfig ? { model: undefined, thinkingOption: undefined } : {}),
|
|
1993
|
-
...(expectedSessionId
|
|
1999
|
+
...(expectedSessionId
|
|
2000
|
+
? { resumeSessionId: expectedSessionId, resumeSessionFile: this.nativeSessionFile }
|
|
2001
|
+
: {}),
|
|
1994
2002
|
signal: this.lifetime.signal,
|
|
1995
2003
|
});
|
|
1996
2004
|
} catch (error) {
|