@young1lin/dsh-gpt-sub 0.1.1 → 0.1.3
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/README.md +48 -18
- package/client.js +383 -192
- package/cordis.patch.yml +1 -1
- package/lib/compaction-state.d.ts +22 -0
- package/lib/compaction-state.d.ts.map +1 -0
- package/lib/compaction-state.js +43 -0
- package/lib/compaction-state.js.map +1 -0
- package/lib/compaction.d.ts +20 -0
- package/lib/compaction.d.ts.map +1 -0
- package/lib/compaction.js +188 -0
- package/lib/compaction.js.map +1 -0
- package/lib/index.d.ts +3 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -9
- package/lib/index.js.map +1 -1
- package/lib/native-bridge.d.ts +87 -0
- package/lib/native-bridge.d.ts.map +1 -0
- package/lib/native-bridge.js +251 -0
- package/lib/native-bridge.js.map +1 -0
- package/lib/native-history.d.ts +70 -0
- package/lib/native-history.d.ts.map +1 -0
- package/lib/native-history.js +120 -0
- package/lib/native-history.js.map +1 -0
- package/lib/types.d.ts +6 -0
- package/lib/types.d.ts.map +1 -1
- package/package.json +40 -10
- package/src/compaction-state.ts +52 -0
- package/src/compaction.ts +188 -0
- package/src/index.ts +10 -9
- package/src/native-bridge.ts +288 -0
- package/src/native-history.ts +140 -0
- package/src/types.ts +6 -0
package/cordis.patch.yml
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Durable compaction locking and native token deltas for restored Sessions. */
|
|
2
|
+
import type { ProjectionDefinition } from '@deepseek-ai/dsh-session-projection';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
declare const stateSchema: z.ZodObject<{
|
|
5
|
+
systemHead: z.ZodNullable<z.ZodBoolean>;
|
|
6
|
+
openTurn: z.ZodNullable<z.ZodNumber>;
|
|
7
|
+
activeCompaction: z.ZodNullable<z.ZodString>;
|
|
8
|
+
checkpointSeq: z.ZodNullable<z.ZodNumber>;
|
|
9
|
+
nativeExtraTokens: z.ZodNumber;
|
|
10
|
+
lastAssistantExtraTokens: z.ZodNumber;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
/** Compaction lifecycle and pressure facts folded from the Session log. */
|
|
13
|
+
export type NativeCompactionState = z.infer<typeof stateSchema>;
|
|
14
|
+
declare module '@deepseek-ai/dsh-session-projection/types' {
|
|
15
|
+
interface SessionProjectionStateMap {
|
|
16
|
+
gptSubCompaction: NativeCompactionState;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** Pure fold used by both live compaction and Session restoration. */
|
|
20
|
+
export declare const nativeCompactionProjection: ProjectionDefinition<'gptSubCompaction'>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=compaction-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-state.d.ts","sourceRoot":"","sources":["../src/compaction-state.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,QAAA,MAAM,WAAW;;;;;;;iBAOf,CAAA;AAEF,2EAA2E;AAC3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAE/D,OAAO,QAAQ,2CAA2C,CAAC;IACzD,UAAU,yBAAyB;QAAG,gBAAgB,EAAE,qBAAqB,CAAA;KAAE;CAChF;AAED,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,EAAE,oBAAoB,CAAC,kBAAkB,CA6B/E,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { readCheckpoint } from "./native-history.js";
|
|
3
|
+
const stateSchema = z.object({
|
|
4
|
+
systemHead: z.boolean().nullable(),
|
|
5
|
+
openTurn: z.number().nullable(),
|
|
6
|
+
activeCompaction: z.string().nullable(),
|
|
7
|
+
checkpointSeq: z.number().nullable(),
|
|
8
|
+
nativeExtraTokens: z.number(),
|
|
9
|
+
lastAssistantExtraTokens: z.number(),
|
|
10
|
+
});
|
|
11
|
+
/** Pure fold used by both live compaction and Session restoration. */
|
|
12
|
+
export const nativeCompactionProjection = {
|
|
13
|
+
key: 'gptSubCompaction', stateSchema, stateVersion: 1,
|
|
14
|
+
init: () => ({ systemHead: null, openTurn: null, activeCompaction: null, checkpointSeq: null, nativeExtraTokens: 0, lastAssistantExtraTokens: 0 }),
|
|
15
|
+
apply(state, event) {
|
|
16
|
+
if (state.systemHead === null && 'surfaceOp' in event)
|
|
17
|
+
state = { ...state, systemHead: event.type === 'system/message' };
|
|
18
|
+
switch (event.type) {
|
|
19
|
+
case 'turn/start': return { ...state, openTurn: event.data.turn };
|
|
20
|
+
case 'turn/end': return { ...state, openTurn: null };
|
|
21
|
+
case 'session/end-seed': return { ...state, openTurn: null, activeCompaction: null };
|
|
22
|
+
case 'compaction/start': return { ...state, activeCompaction: event.data.compactionId };
|
|
23
|
+
case 'compaction/end': return { ...state, activeCompaction: null };
|
|
24
|
+
case 'assistant/message': return { ...state, lastAssistantExtraTokens: state.nativeExtraTokens };
|
|
25
|
+
case 'user/message': {
|
|
26
|
+
const checkpoint = readCheckpoint(event.data.source);
|
|
27
|
+
if (checkpoint !== undefined) {
|
|
28
|
+
const text = event.data.content.filter(block => block.type === 'text').map(block => block.text).join('');
|
|
29
|
+
return {
|
|
30
|
+
...state, checkpointSeq: event.seq,
|
|
31
|
+
nativeExtraTokens: checkpoint.contextTokens - (Math.ceil(text.length / 4) + 8),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (state.checkpointSeq !== null && event.sourceEventSeqs?.some(seq => seq === state.checkpointSeq)) {
|
|
35
|
+
return { ...state, checkpointSeq: null, nativeExtraTokens: 0 };
|
|
36
|
+
}
|
|
37
|
+
return state;
|
|
38
|
+
}
|
|
39
|
+
default: return state;
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=compaction-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-state.js","sourceRoot":"","sources":["../src/compaction-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
3
|
+
import type { CommandId } from '@deepseek-ai/dsh-commands/brand';
|
|
4
|
+
import { type CompactionResult, type CompactionTrigger } from '@deepseek-ai/dsh-compaction';
|
|
5
|
+
import { BasicCompactionEngine, type BasicCompactionConfig } from '@deepseek-ai/dsh-compaction-basic';
|
|
6
|
+
import type { SessionSeq } from '@deepseek-ai/dsh-session';
|
|
7
|
+
/** Compaction backend selected by the sub bundle. Other routes retain basic compaction. */
|
|
8
|
+
export default class CodexCompactionEngine extends BasicCompactionEngine {
|
|
9
|
+
static inject: string[];
|
|
10
|
+
constructor(ctx: Context, config?: BasicCompactionConfig);
|
|
11
|
+
compactIfNeeded(agent: Agent, trigger: CompactionTrigger, signal: AbortSignal): Promise<CompactionResult | null>;
|
|
12
|
+
compactNow(agent: Agent, signal: AbortSignal, sourceCommandId?: CommandId): Promise<CompactionResult | null>;
|
|
13
|
+
compactRegion(start: SessionSeq, end: SessionSeq, agent: Agent, signal?: AbortSignal): Promise<CompactionResult>;
|
|
14
|
+
private isCodex;
|
|
15
|
+
private state;
|
|
16
|
+
private nativePressure;
|
|
17
|
+
private wholeRange;
|
|
18
|
+
private nativeRegion;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=compaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EAGL,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAC9C,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAErG,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAMnE,2FAA2F;AAC3F,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,qBAAqB;IACtE,OAAgB,MAAM,WAA0E;gBAEpF,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,qBAA0B;IAK7C,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAuBtH,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAuB5G,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOzH,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,UAAU;YAUJ,YAAY;CA6E3B"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/** Routes Codex Subscription compaction to native Responses checkpoints. */
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
4
|
+
import { CompactionId, compactCheckpointSource, ManualCompactionError, toolPairingBalancedAfter, toolPairingBalancedBefore, } from '@deepseek-ai/dsh-compaction';
|
|
5
|
+
import { BasicCompactionEngine } from '@deepseek-ai/dsh-compaction-basic';
|
|
6
|
+
import { BlockAssembler, createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
7
|
+
import { hasPiAiNativeStream } from "./native-bridge.js";
|
|
8
|
+
import { nativeCompactionProjection } from "./compaction-state.js";
|
|
9
|
+
import { nativeItemTokens, nativeResult } from "./native-history.js";
|
|
10
|
+
/** Compaction backend selected by the sub bundle. Other routes retain basic compaction. */
|
|
11
|
+
export default class CodexCompactionEngine extends BasicCompactionEngine {
|
|
12
|
+
static inject = ['llm', 'tokenMeter', 'sessions', 'sessionProjections', 'gptSubNative'];
|
|
13
|
+
constructor(ctx, config = {}) {
|
|
14
|
+
super(ctx, config);
|
|
15
|
+
ctx.effect(() => ctx.sessionProjections.register(nativeCompactionProjection));
|
|
16
|
+
}
|
|
17
|
+
async compactIfNeeded(agent, trigger, signal) {
|
|
18
|
+
// Without the llm-pi-ai/stream extension the native protocol cannot run;
|
|
19
|
+
// Codex Subscription then keeps DSH basic compaction like every other route.
|
|
20
|
+
if (!this.isCodex(agent) || !hasPiAiNativeStream())
|
|
21
|
+
return super.compactIfNeeded(agent, trigger, signal);
|
|
22
|
+
signal.throwIfAborted();
|
|
23
|
+
const header = agent.session.requestHeader();
|
|
24
|
+
if (header === undefined)
|
|
25
|
+
return null;
|
|
26
|
+
if (trigger === 'pressure') {
|
|
27
|
+
const info = await this.ctx.llm.resolveModelInfo(header.config.provider, header.config.model, signal);
|
|
28
|
+
if (info.context === undefined)
|
|
29
|
+
throw new Error('Codex native compaction requires the model contextWindow');
|
|
30
|
+
const override = this.config.modelPolicies.find(value => value.provider === header.config.provider && value.model === header.config.model);
|
|
31
|
+
const ratio = override?.thresholdRatio ?? this.config.thresholdRatio;
|
|
32
|
+
const headroom = override?.headroomTokens ?? this.config.headroomTokens;
|
|
33
|
+
const reserve = header.config.maxTokens ?? info.defaultMaxTokens ?? 0;
|
|
34
|
+
const threshold = Math.min(Math.floor(info.context.contextWindow * ratio), info.context.contextWindow - reserve - headroom);
|
|
35
|
+
if (threshold <= 0)
|
|
36
|
+
throw new Error('Codex compaction headroom and output reservation exhaust contextWindow');
|
|
37
|
+
if (this.nativePressure(agent.session) < threshold)
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const range = this.wholeRange(agent.session);
|
|
41
|
+
if (range === null)
|
|
42
|
+
return null;
|
|
43
|
+
return this.compactRegion(range.start, range.end, agent, signal);
|
|
44
|
+
}
|
|
45
|
+
compactNow(agent, signal, sourceCommandId) {
|
|
46
|
+
if (!this.isCodex(agent) || !hasPiAiNativeStream())
|
|
47
|
+
return super.compactNow(agent, signal, sourceCommandId);
|
|
48
|
+
signal.throwIfAborted();
|
|
49
|
+
try {
|
|
50
|
+
return agent.runMaintenance(async (agentSignal) => {
|
|
51
|
+
const operationSignal = AbortSignal.any([agentSignal, signal]);
|
|
52
|
+
const range = this.wholeRange(agent.session);
|
|
53
|
+
if (range === null)
|
|
54
|
+
return null;
|
|
55
|
+
try {
|
|
56
|
+
const result = await this.nativeRegion(range.start, range.end, agent, operationSignal, null, sourceCommandId);
|
|
57
|
+
await this.ctx.sessions.flush(agent.session);
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
if (agentSignal.aborted)
|
|
62
|
+
throw new ManualCompactionError('cancelled', 'Codex native compaction was cancelled', { cause: error });
|
|
63
|
+
operationSignal.throwIfAborted();
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
throw new ManualCompactionError('busy', 'manual Codex compaction requires an idle agent', { cause: error });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
compactRegion(start, end, agent, signal) {
|
|
73
|
+
if (!this.isCodex(agent) || !hasPiAiNativeStream())
|
|
74
|
+
return super.compactRegion(start, end, agent, signal);
|
|
75
|
+
const owner = this.state(agent.session).openTurn;
|
|
76
|
+
if (owner === null)
|
|
77
|
+
return Promise.reject(new Error('automatic Codex compaction requires an open turn'));
|
|
78
|
+
return this.nativeRegion(start, end, agent, signal ?? new AbortController().signal, owner);
|
|
79
|
+
}
|
|
80
|
+
isCodex(agent) {
|
|
81
|
+
return (agent.session.requestHeader()?.config.provider ?? agent.options.provider) === 'openai-codex';
|
|
82
|
+
}
|
|
83
|
+
state(session) {
|
|
84
|
+
const state = this.ctx.sessionProjections.stateOf(session, 'gptSubCompaction');
|
|
85
|
+
if (state === undefined)
|
|
86
|
+
throw new Error('Codex compaction projection is not registered');
|
|
87
|
+
return state;
|
|
88
|
+
}
|
|
89
|
+
nativePressure(session) {
|
|
90
|
+
const measurement = this.ctx.tokenMeter.measure(session);
|
|
91
|
+
const state = this.state(session);
|
|
92
|
+
const correction = measurement.baseline.kind === 'usage'
|
|
93
|
+
? state.nativeExtraTokens - state.lastAssistantExtraTokens
|
|
94
|
+
: state.nativeExtraTokens;
|
|
95
|
+
return Math.max(0, measurement.totalTokens + correction);
|
|
96
|
+
}
|
|
97
|
+
wholeRange(session) {
|
|
98
|
+
const nodes = session.surface.nodes;
|
|
99
|
+
const first = this.state(session).systemHead === true ? 1 : 0;
|
|
100
|
+
const start = nodes[first];
|
|
101
|
+
const end = nodes.at(-1);
|
|
102
|
+
if (start === undefined || end === undefined || nodes.length - first < 2)
|
|
103
|
+
return null;
|
|
104
|
+
if (!toolPairingBalancedBefore(session, start) || !toolPairingBalancedAfter(session, end))
|
|
105
|
+
return null;
|
|
106
|
+
return { start, end };
|
|
107
|
+
}
|
|
108
|
+
async nativeRegion(start, end, agent, signal, owner, sourceCommandId) {
|
|
109
|
+
signal.throwIfAborted();
|
|
110
|
+
const session = agent.session;
|
|
111
|
+
const state = this.state(session);
|
|
112
|
+
if (state.activeCompaction !== null || state.openTurn !== owner) {
|
|
113
|
+
throw new ManualCompactionError('busy', 'another turn or compaction owns this Session');
|
|
114
|
+
}
|
|
115
|
+
const range = this.wholeRange(session);
|
|
116
|
+
if (range === null || range.start !== start || range.end !== end) {
|
|
117
|
+
throw new Error('native Codex compaction requires the complete balanced history after the system head');
|
|
118
|
+
}
|
|
119
|
+
const nodes = [...session.surface.nodes];
|
|
120
|
+
const first = nodes.indexOf(start);
|
|
121
|
+
const last = nodes.indexOf(end);
|
|
122
|
+
const shadowedSeqs = nodes.slice(first, last + 1);
|
|
123
|
+
const messages = [...session.deriveMessages()];
|
|
124
|
+
const measurement = this.ctx.tokenMeter.measure(session);
|
|
125
|
+
const shadowedTokenCount = measurement.nodes.slice(first, last + 1).reduce((sum, node) => sum + node.heuristicTokens, 0);
|
|
126
|
+
const previousTokens = measurement.nodes.slice(first, last + 1).reduce((sum, node) => sum + node.tokens, 0)
|
|
127
|
+
+ state.nativeExtraTokens;
|
|
128
|
+
const header = session.requestHeader();
|
|
129
|
+
const provider = header?.config.provider ?? agent.options.provider;
|
|
130
|
+
const model = header?.config.model ?? agent.options.model;
|
|
131
|
+
if (provider !== 'openai-codex' || model === undefined)
|
|
132
|
+
throw new Error('native Codex compaction requires a routed subscription model');
|
|
133
|
+
const compactionId = CompactionId(randomUUID());
|
|
134
|
+
const lifecycle = { compactionId, turn: owner, ...sourceCommandId === undefined ? {} : { sourceCommandId } };
|
|
135
|
+
const startEvent = session.append('compaction/start', lifecycle);
|
|
136
|
+
let closing = false;
|
|
137
|
+
try {
|
|
138
|
+
const assembler = new BlockAssembler();
|
|
139
|
+
for await (const chunk of this.ctx.llm.stream({
|
|
140
|
+
provider, model, messages, purpose: 'compaction', sessionId: session.id, signal,
|
|
141
|
+
toolHistory: session.toolHistory(),
|
|
142
|
+
...header?.tools === undefined ? {} : { tools: [...header.tools] },
|
|
143
|
+
...header?.config.reasoningEffort === undefined ? {} : { reasoningEffort: header.config.reasoningEffort },
|
|
144
|
+
}))
|
|
145
|
+
assembler.push(chunk);
|
|
146
|
+
signal.throwIfAborted();
|
|
147
|
+
if (assembler.finish.kind === 'error' || assembler.finish.kind === 'aborted') {
|
|
148
|
+
throw new Error(assembler.finish.failure.message);
|
|
149
|
+
}
|
|
150
|
+
const result = nativeResult(assembler.blocks());
|
|
151
|
+
const contextTokens = result.summaryTokens + result.retained.reduce((sum, item) => sum + nativeItemTokens(item), 0);
|
|
152
|
+
if (contextTokens >= previousTokens)
|
|
153
|
+
throw new Error('Codex native compaction did not reduce context tokens');
|
|
154
|
+
const currentNodes = session.surface.nodes;
|
|
155
|
+
if (!isDeepStrictEqual(currentNodes.slice(first, last + 1), shadowedSeqs)
|
|
156
|
+
|| !isDeepStrictEqual(session.deriveMessages().slice(0, messages.length), messages)) {
|
|
157
|
+
throw new ManualCompactionError('changed', 'Session history changed during Codex native compaction');
|
|
158
|
+
}
|
|
159
|
+
const source = {
|
|
160
|
+
...compactCheckpointSource(compactionId, sourceCommandId),
|
|
161
|
+
nativeCodex: { version: 1, provider, model, items: [...result.retained, result.item], contextTokens },
|
|
162
|
+
};
|
|
163
|
+
const summary = [{ type: 'text', text: `[Codex native checkpoint ${compactionId}]` }];
|
|
164
|
+
const summaryEvent = session.append('compaction/summary', {
|
|
165
|
+
compactionId, ...sourceCommandId === undefined ? {} : { sourceCommandId },
|
|
166
|
+
summary, rawOutput: assembler.blocks(), llmStreamCall: true,
|
|
167
|
+
shadowedRange: { start, end }, shadowedSeqs, shadowedTokenCount, provider, model,
|
|
168
|
+
...assembler.usage === undefined ? {} : { usage: assembler.usage },
|
|
169
|
+
});
|
|
170
|
+
session.append('user/message', createUserMessage({ content: summary, source }), {
|
|
171
|
+
surfaceOp: { op: 'replace', startSeq: start, endSeq: end },
|
|
172
|
+
sourceEventSeqs: [startEvent.seq, summaryEvent.seq, ...shadowedSeqs],
|
|
173
|
+
});
|
|
174
|
+
closing = true;
|
|
175
|
+
const endEvent = session.append('compaction/end', lifecycle);
|
|
176
|
+
this.ctx.logger.info('Codex native compaction (%s): %s, summary %d tokens, retained %d messages', model, compactionId, result.summaryTokens, result.retained.length);
|
|
177
|
+
return { compactionId, ...sourceCommandId === undefined ? {} : { sourceCommandId },
|
|
178
|
+
startSeq: startEvent.seq, summarySeq: summaryEvent.seq, endSeq: endEvent.seq,
|
|
179
|
+
summary, shadowedRange: { start, end }, shadowedSeqs, shadowedTokenCount };
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
if (!closing)
|
|
183
|
+
session.append('compaction/end', { ...lifecycle, error: error instanceof Error ? error.message : String(error) });
|
|
184
|
+
throw error;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=compaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Direct ChatGPT/Codex subscription access for DeepSeek Harness.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* codex-responses protocol -- but it authenticates only through OAuth, and
|
|
8
|
-
* `dsh-llm-pi-ai` runs no login flow and holds no OAuth store. Naming a
|
|
9
|
-
* credential on the route grafts an api-key method beside the provider's own,
|
|
10
|
-
* which is the seam this plugin fills: it keeps a live Codex access token in
|
|
11
|
-
* the harness credential store, refreshing it from `~/.codex/auth.json` before
|
|
12
|
-
* it expires.
|
|
4
|
+
* The plugin refreshes the Codex CLI subscription token, routes Codex egress,
|
|
5
|
+
* and executes native context compaction. pi-ai serves normal conversation
|
|
6
|
+
* requests and replays the encrypted checkpoints stored in Session history.
|
|
13
7
|
*
|
|
14
8
|
* The result needs no loopback port, no shared local key, and no external
|
|
15
9
|
* proxy binary. The `codex` CLI still owns the login.
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAuBxC,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAKvD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAA;AAEhC,0BAA0B;AAC1B,eAAO,MAAM,IAAI,YAAY,CAAA;AAE7B;;;;GAIG;AACH,eAAO,MAAM,MAAM,UAA+B,CAAA;AA2ClD;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,WAAW,CAwBd,CAAA;AAO1C;;;;;;;;;;;;GAYG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CA2hB3F"}
|
package/lib/index.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Direct ChatGPT/Codex subscription access for DeepSeek Harness.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* codex-responses protocol -- but it authenticates only through OAuth, and
|
|
8
|
-
* `dsh-llm-pi-ai` runs no login flow and holds no OAuth store. Naming a
|
|
9
|
-
* credential on the route grafts an api-key method beside the provider's own,
|
|
10
|
-
* which is the seam this plugin fills: it keeps a live Codex access token in
|
|
11
|
-
* the harness credential store, refreshing it from `~/.codex/auth.json` before
|
|
12
|
-
* it expires.
|
|
4
|
+
* The plugin refreshes the Codex CLI subscription token, routes Codex egress,
|
|
5
|
+
* and executes native context compaction. pi-ai serves normal conversation
|
|
6
|
+
* requests and replays the encrypted checkpoints stored in Session history.
|
|
13
7
|
*
|
|
14
8
|
* The result needs no loopback port, no shared local key, and no external
|
|
15
9
|
* proxy binary. The `codex` CLI still owns the login.
|
|
@@ -28,6 +22,7 @@ import { consumeResetCredit, listResetCredits } from "./reset-credits.js";
|
|
|
28
22
|
import { installProxyRouting } from "./proxy-routing.js";
|
|
29
23
|
import { QuotaSource } from "./quota-route.js";
|
|
30
24
|
import { TokenStore } from "./token-store.js";
|
|
25
|
+
import { CodexNativeBridge } from "./native-bridge.js";
|
|
31
26
|
import { fetchUsage, reportedWindows } from "./usage.js";
|
|
32
27
|
/** Cordis plugin name. */
|
|
33
28
|
export const name = 'gpt-sub';
|
|
@@ -93,6 +88,9 @@ export const Config = z.object({
|
|
|
93
88
|
// exists, its proxyUrl wins over the config's -- a page edit survives
|
|
94
89
|
// restarts without touching cordis config layers.
|
|
95
90
|
stateFile: z.string().default('~/.dsh/gpt-sub.json'),
|
|
91
|
+
nativeCompactionTimeoutMs: z.number().step(1).min(1).default(300_000),
|
|
92
|
+
nativeRetainTokens: z.number().step(1).min(0).default(64_000),
|
|
93
|
+
nativeResponseMaxBytes: z.number().step(1).min(1).default(16 * 1024 * 1024),
|
|
96
94
|
});
|
|
97
95
|
/** Expand a leading `~` against the current user's home directory. */
|
|
98
96
|
function expandHome(path) {
|
|
@@ -180,6 +178,8 @@ export async function apply(ctx, config) {
|
|
|
180
178
|
throw error;
|
|
181
179
|
}
|
|
182
180
|
ctx.logger.info('gpt-sub: published Codex access token to %s', config.tokenRef);
|
|
181
|
+
const nativeBridge = new CodexNativeBridge(ctx, config);
|
|
182
|
+
ctx.effect(() => () => nativeBridge.stop());
|
|
183
183
|
// Reachability probe. An unproxied egress answers 403 with a Cloudflare
|
|
184
184
|
// block page, and that failure is otherwise invisible until the first model
|
|
185
185
|
// call, where it surfaces as unreadable HTML. Log it loudly here instead.
|
|
@@ -572,6 +572,7 @@ export async function apply(ctx, config) {
|
|
|
572
572
|
timer.unref?.();
|
|
573
573
|
return async () => {
|
|
574
574
|
clearInterval(timer);
|
|
575
|
+
await nativeBridge.stop();
|
|
575
576
|
// Restores the previous global dispatcher before closing the agent, so a
|
|
576
577
|
// fiber restart never leaves the host dispatching into a closing proxy.
|
|
577
578
|
await switching.catch(() => undefined);
|
package/lib/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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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/** Codex native compaction and checkpoint replay through resolved pi-ai requests. */
|
|
2
|
+
import { Service, type Context } from '@deepseek-ai/cordis';
|
|
3
|
+
import { type Message, type StreamChunk } from '@deepseek-ai/dsh-llm';
|
|
4
|
+
import { normalizeContext } from '@earendil-works/pi-ai/utils/transcript';
|
|
5
|
+
import { convertResponsesMessages } from '@earendil-works/pi-ai/api/openai-responses-shared';
|
|
6
|
+
import type { ModelThinkingLevel } from '@earendil-works/pi-ai';
|
|
7
|
+
/** Native compaction request bounds configured by the plugin. */
|
|
8
|
+
export interface NativeBridgeConfig {
|
|
9
|
+
nativeCompactionTimeoutMs: number;
|
|
10
|
+
nativeRetainTokens: number;
|
|
11
|
+
nativeResponseMaxBytes: number;
|
|
12
|
+
}
|
|
13
|
+
/** Options the pi-ai SDK accepts for one native request stream. */
|
|
14
|
+
export interface PiAiNativeStreamOptions {
|
|
15
|
+
apiKey?: string;
|
|
16
|
+
reasoning?: ModelThinkingLevel;
|
|
17
|
+
maxRetries?: number;
|
|
18
|
+
signal?: AbortSignal;
|
|
19
|
+
headers?: Record<string, string | null | undefined>;
|
|
20
|
+
transport?: string;
|
|
21
|
+
fetch?: typeof fetch;
|
|
22
|
+
onPayload?: (payload: unknown, model: unknown) => unknown | Promise<unknown>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Native request the llm-pi-ai/stream extension hands to listeners.
|
|
26
|
+
* Mirrors the extension's own shape; declared locally so this plugin also
|
|
27
|
+
* typechecks against adapters that do not ship the extension yet.
|
|
28
|
+
*/
|
|
29
|
+
export interface PiAiNativeRequest {
|
|
30
|
+
options: {
|
|
31
|
+
provider: string;
|
|
32
|
+
model: string;
|
|
33
|
+
purpose?: string;
|
|
34
|
+
messages: Message[];
|
|
35
|
+
sessionId?: string | number;
|
|
36
|
+
reasoningEffort?: string;
|
|
37
|
+
};
|
|
38
|
+
model: Parameters<typeof convertResponsesMessages>[0];
|
|
39
|
+
context: Parameters<typeof normalizeContext>[0];
|
|
40
|
+
streamOptions: PiAiNativeStreamOptions;
|
|
41
|
+
stream: (options: PiAiNativeStreamOptions) => AsyncIterable<StreamChunk>;
|
|
42
|
+
}
|
|
43
|
+
/** Whether the host's llm-pi-ai adapter emits native requests through the stream extension. */
|
|
44
|
+
export declare function hasPiAiNativeStream(): boolean;
|
|
45
|
+
/** Listener for one native request; call next() to defer to the SDK dispatch. */
|
|
46
|
+
export type PiAiNativeStreamListener = (request: PiAiNativeRequest, next: () => AsyncIterable<StreamChunk>) => AsyncIterable<StreamChunk>;
|
|
47
|
+
/**
|
|
48
|
+
* Register a native stream listener. The event key is provided by the
|
|
49
|
+
* extension's typings when present; typed loosely here so registration also
|
|
50
|
+
* compiles — and stays dormant — where the extension is absent.
|
|
51
|
+
*/
|
|
52
|
+
export declare function onPiAiNativeStream(ctx: Context, listener: PiAiNativeStreamListener): () => boolean;
|
|
53
|
+
/** Drive one native request through the registered listeners, as the extension does. */
|
|
54
|
+
export declare function waterfallPiAiNativeStream(ctx: Context, request: PiAiNativeRequest, next: () => AsyncIterable<StreamChunk>): AsyncIterable<StreamChunk>;
|
|
55
|
+
declare module '@deepseek-ai/cordis' {
|
|
56
|
+
interface Context {
|
|
57
|
+
gptSubNative: CodexNativeBridge;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Expand persisted checkpoints immediately before the SDK sends its payload.
|
|
62
|
+
* @param request - prepared pi-ai request.
|
|
63
|
+
* @param payload - provider-native request body.
|
|
64
|
+
* @returns body with native checkpoint items restored.
|
|
65
|
+
*/
|
|
66
|
+
export declare function replayPayload(request: PiAiNativeRequest, payload: unknown): unknown;
|
|
67
|
+
/**
|
|
68
|
+
* Resolve the Responses endpoint from the captured model descriptor.
|
|
69
|
+
* @param baseUrl - configured native model endpoint.
|
|
70
|
+
* @returns Codex Responses URL.
|
|
71
|
+
*/
|
|
72
|
+
export declare function codexResponsesUrl(baseUrl: string): string;
|
|
73
|
+
/** Plugin-owned native request execution, cancelled before its proxy is closed. */
|
|
74
|
+
export declare class CodexNativeBridge extends Service {
|
|
75
|
+
private readonly config;
|
|
76
|
+
private readonly fetchImpl;
|
|
77
|
+
private readonly stopping;
|
|
78
|
+
private readonly active;
|
|
79
|
+
constructor(ctx: Context, config: NativeBridgeConfig, fetchImpl?: typeof fetch);
|
|
80
|
+
/**
|
|
81
|
+
* Abort and await all native compaction requests before transport teardown.
|
|
82
|
+
* @returns completion of every active request.
|
|
83
|
+
*/
|
|
84
|
+
stop(): Promise<void>;
|
|
85
|
+
private compact;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=native-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-bridge.d.ts","sourceRoot":"","sources":["../src/native-bridge.ts"],"names":[],"mappings":"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"}
|