@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/cordis.patch.yml CHANGED
@@ -1,4 +1,4 @@
1
- # dsh-gpt-sub bundle patch, two rows over the profile root.
1
+ # dsh-gpt-sub bundle patch over the profile root.
2
2
  #
3
3
  # Row 1 (insert): the plugin itself -- token sync, host-scoped proxy routing,
4
4
  # and the quota panel. Later user patch layers address this row by id and
@@ -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
- * This plugin owns no transport. pi-ai already ships an `openai-codex`
5
- * provider that knows the Codex wire format -- it sets `store`, derives
6
- * `chatgpt-account-id` from the access token's own JWT claim, and speaks the
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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAsBxC,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,CAqBd,CAAA;AAO1C;;;;;;;;;;;;GAYG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAwhB3F"}
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
- * This plugin owns no transport. pi-ai already ships an `openai-codex`
5
- * provider that knows the Codex wire format -- it sets `store`, derives
6
- * `chatgpt-account-id` from the access token's own JWT claim, and speaks the
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":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAIxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GAEjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAqB,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAMxD,0BAA0B;AAC1B,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAA;AAE7B;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;AAElD,0DAA0D;AAC1D,MAAM,WAAW,GAAG,gBAAgB,CAAA;AAEpC,wEAAwE;AACxE,MAAM,YAAY,GAAG,iBAAiB,CAAA;AAEtC,iEAAiE;AACjE,MAAM,WAAW,GAAG,gBAAgB,CAAA;AAEpC,wEAAwE;AACxE,MAAM,gBAAgB,GAAG,qBAAqB,CAAA;AAE9C,sEAAsE;AACtE,MAAM,UAAU,GAAG,eAAe,CAAA;AAElC,0EAA0E;AAC1E,MAAM,iBAAiB,GAAG,sBAAsB,CAAA;AAEhD,gFAAgF;AAChF,MAAM,YAAY,GAAG,GAAG,CAAA;AAExB,yCAAyC;AACzC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAE/B,6DAA6D;AAC7D,MAAM,mBAAmB,GAAG,wBAAwB,CAAA;AAEpD,mEAAmE;AACnE,MAAM,2BAA2B,GAAG,gCAAgC,CAAA;AAEpE,+EAA+E;AAC/E,MAAM,wBAAwB,GAAG,MAAM,CAAA;AAEvC;;;;;GAKG;AACH,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;AAE3F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAyC,CAAC,CAAC,MAAM,CAAC;IACnE,2EAA2E;IAC3E,2EAA2E;IAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAClD,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,4EAA4E;IAC5E,uDAAuD;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACzE,uEAAuE;IACvE,6EAA6E;IAC7E,wEAAwE;IACxE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3C,2EAA2E;IAC3E,2EAA2E;IAC3E,8DAA8D;IAC9D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,uEAAuE;IACvE,sEAAsE;IACtE,kDAAkD;IAClD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IACpD,yBAAyB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACrE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7D,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;CAC5E,CAAyC,CAAA;AAE1C,sEAAsE;AACtE,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACtE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAY,EAAE,MAAmB;IAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAE9C,0EAA0E;IAC1E,wEAAwE;IACxE,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrD,MAAM,UAAU,GAAG,UAAU,EAAE,QAAQ,CAAA;IACvC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/D,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,gEAAgE,EAChE,YAAY,CAAC,UAAU,CAAC,EACxB,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC9B,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,GAAG,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAA;IAC5C,IAAI,UAAU,GAAG,UAAU,KAAK,SAAS,CAAA;IAEzC,MAAM,aAAa,GAAG,UAAU,EAAE,QAAQ,CAAA;IAC1C,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,iEAAiE,EACjE,aAAa,EACb,SAAS,EACT,MAAM,CAAC,QAAQ,CAChB,CAAA;IACH,CAAC;IACD,IAAI,eAAe,GAAG,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAA;IACtD,IAAI,cAAc,GAAG,aAAa,KAAK,SAAS,CAAA;IAEhD,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,SAAS,GAAkB,EAAE,CAAA;IACnC,IAAI,UAAU;QAAE,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC7C,IAAI,cAAc;QAAE,SAAS,CAAC,QAAQ,GAAG,eAAe,CAAA;IAExD,4EAA4E;IAC5E,4EAA4E;IAC5E,6CAA6C;IAC7C,IAAI,OAAO,GACT,QAAQ,KAAK,EAAE;QACb,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAC5E,IAAI,UAAU,GAA2B,OAAO,EAAE,UAAU,CAAA;IAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,oGAAoG,EACpG,YAAY,CAAC,QAAQ,CAAC,EACtB,MAAM,CAAC,gBAAgB,CACxB,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;QAC5B,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,oBAAoB,GAAG,MAAM;QACrD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAE1C,kEAAkE;IAClE,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB;;;;;OAKG;IACH,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;QACxC,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACnD,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACzB,CAAC,CAAA;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,kDAAkD;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;QACrB,MAAM,IAAI,EAAE,CAAA;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,EAAE,SAAS,EAAE,CAAA;QAC1B,MAAM,KAAK,CAAA;IACb,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC/E,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACvD,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAA;IAE3C,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,8CAA8C;IAC9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;QACxC,qEAAqE;QACrE,qEAAqE;QACrE,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACjH,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC,CAAA;QAC7G,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,iCAAiC,EACjC,KAAK,CAAC,SAAS,IAAI,SAAS,EAC5B,OAAO;iBACJ,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;iBAChH,IAAI,CAAC,IAAI,CAAC,CACd,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,kDAAkD;IAClD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;QAC5B,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW;QAC/D,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAC,CAAA;IAEF;;;;;;;;;OASG;IACH,IAAI,SAAS,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAChD,MAAM,WAAW,GAAG,CAAC,OAAe,EAAiB,EAAE;QACrD,MAAM,GAAG,GAAG,KAAK,IAAmB,EAAE;YACpC,MAAM,QAAQ,GAAG,OAAO,CAAA;YACxB,OAAO,GAAG,SAAS,CAAA;YACnB,MAAM,QAAQ,EAAE,SAAS,EAAE,CAAA;YAC3B,OAAO;gBACL,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAA;YACpG,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;YAChC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;YAChC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;YAC/B,QAAQ,GAAG,OAAO,CAAA;QACpB,CAAC,CAAA;QACD,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACpC,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED;;;;;;;;;;OAUG;IACH,IAAI,aAAa,GAAqD,OAAO,CAAC,OAAO,CAAC;QACpF,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,CAAC,OAAe,EAAoD,EAAE;QAC3F,MAAM,GAAG,GAAG,KAAK,IAAsD,EAAE;YACvE,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACnB,OAAO,SAAS,CAAC,QAAQ,CAAA;gBACzB,MAAM,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;gBAC7C,cAAc,GAAG,KAAK,CAAA;gBACtB,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAA;gBAC5B,MAAM,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;gBAC7C,cAAc,GAAG,IAAI,CAAA;gBACrB,eAAe,GAAG,OAAO,CAAA;YAC3B,CAAC;YACD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAA;YAC/C,IAAI,CAAC;gBACH,MAAM,IAAI,EAAE,CAAA;gBACZ,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qEAAqE;gBACrE,sEAAsE;gBACtE,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,0EAA0E,EAC1E,eAAe,EACf,MAAM,CAAC,KAAK,CAAC,CACd,CAAA;gBACD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;YACvD,CAAC;QACH,CAAC,CAAA;QACD,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC5C,OAAO,aAAa,CAAA;IACtB,CAAC,CAAA;IAED,qCAAqC;IACrC,MAAM,SAAS,GAAG,CAAC,QAA4C,EAAE,MAAc,EAAE,IAAa,EAAQ,EAAE;QACtG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAA;QAC/F,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;IACpC,CAAC,CAAA;IAED,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CACH,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAA;YACzF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACrC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QACjC,CAAC;KACF,CAAC,EACJ,gBAAgB,WAAW,EAAE,CAC9B,CAAA;IAED,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CACH,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACR,CAAC;YACD,mEAAmE;YACnE,iCAAiC;YACjC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAChB,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;YACD,MAAM,MAAM,GAAG,UAAU,EAAE,oBAAoB,CAAA;YAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAA;YAC1D,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACvB,QAAQ,EAAE,eAAe;gBACzB,cAAc,EAAE,MAAM,CAAC,QAAQ;gBAC/B,cAAc;gBACd,QAAQ;gBACR,cAAc,EAAE,MAAM,CAAC,QAAQ;gBAC/B,UAAU;gBACV,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;gBACjD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;gBAC/C,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,cAAc,EAAE,CAAC;gBACpF,GAAG,CAAC,MAAM,KAAK,SAAS;oBACtB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,oBAAoB,GAAG,MAAM,EAAE,CAAC;aAC1F,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,EACJ,gBAAgB,YAAY,EAAE,CAC/B,CAAA;IAED,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CACH,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACR,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAA;gBAChF,OAAM;YACR,CAAC;YACD,IAAI,OAAe,CAAA;YACnB,IAAI,CAAC;gBACH,OAAO,GAAG,gBAAgB,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACxG,OAAM;YACR,CAAC;YACD,IAAI,CAAC;gBACH,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAA;gBAC5B,MAAM,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;gBAC7C,UAAU,GAAG,IAAI,CAAA;gBACjB,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;gBAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;gBACvE,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC1G,CAAC;QACH,CAAC;KACF,CAAC,EACJ,iBAAiB,WAAW,EAAE,CAC/B,CAAA;IAED,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CACH,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACR,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAA;gBAChF,OAAM;YACR,CAAC;YACD,IAAI,SAAS,GAAG,QAAQ,CAAA;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;gBAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS;oBAAE,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;YACpF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACxG,OAAM;YACR,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAA;gBAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;oBAC9B,QAAQ,EAAE,SAAS;oBACnB,WAAW;oBACX,SAAS,EAAE,gBAAgB;iBAC5B,CAAC,CAAA;gBACF,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC1G,CAAC;QACH,CAAC;KACF,CAAC,EACJ,iBAAiB,gBAAgB,EAAE,CACpC,CAAA;IAED,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CACH,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACR,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAA;gBAChF,OAAM;YACR,CAAC;YACD,oEAAoE;YACpE,4CAA4C;YAC5C,IAAI,SAA6B,CAAA;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;gBAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;wBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;oBAC3E,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;gBAC1B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACxG,OAAM;YACR,CAAC;YACD,oEAAoE;YACpE,iEAAiE;YACjE,iEAAiE;YACjE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,IAAI,UAAU,CAAC;wBACnB,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC;wBAC/B,eAAe,EAAE,MAAM,CAAC,oBAAoB,GAAG,MAAM;qBACtD,CAAC,CAAC,MAAM,EAAE,CAAA;gBACb,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;oBACxG,OAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;gBACpD,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,6BAA6B,EAC7B,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;oBACzC,CAAC,CAAC,0BAA0B,MAAM,CAAC,OAAO,EAAE;oBAC5C,CAAC,CAAC,eAAe,MAAM,CAAC,OAAO,EAAE,CACpC,CAAA;gBACD,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YAC/F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC1G,CAAC;QACH,CAAC;KACF,CAAC,EACJ,iBAAiB,UAAU,EAAE,CAC9B,CAAA;IAED,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CACH,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACR,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YACxF,mEAAmE;YACnE,iEAAiE;YACjE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;YACjF,IAAI,CAAC;gBACH,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,6BAA6B,MAAM,EAAE,EAAE,CAAC,CAAA;gBACvF,OAAM;YACR,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC9D,MAAM,OAAO,GAAG,OAAO;qBACpB,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;qBACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;oBAC9B,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE;iBACzB,CAAC,CAAC;qBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpF,6DAA6D;gBAC7D,oCAAoC;gBACpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC9B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACvB,EAAE,EAAE,IAAI;oBACR,GAAG,EAAE,MAAM;oBACX,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,YAAY;oBACxC,OAAO;iBACR,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC1G,CAAC;QACH,CAAC;KACF,CAAC,EACJ,gBAAgB,iBAAiB,EAAE,CACpC,CAAA;IAED,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CACH,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;gBACtE,OAAM;YACR,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAA;gBAC1D,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAC9C,CAAA;gBACD,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC1G,CAAC;QACH,CAAC;KACF,CAAC,EACJ,gBAAgB,mBAAmB,EAAE,CACtC,CAAA;IAED,4EAA4E;IAC5E,uEAAuE;IACvE,GAAG,CAAC,MAAM,CACR,GAAG,EAAE,CACH,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;gBACtE,OAAM;YACR,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAA;gBAChF,OAAM;YACR,CAAC;YACD,IAAI,QAA4B,CAAA;YAChC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;gBAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;oBAAE,QAAQ,GAAG,SAAS,CAAA;qBAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC1D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;gBACrE,CAAC;;oBAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACxG,OAAM;YACR,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAA;gBAC1D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;oBACjE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;oBAC/C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;oBACnD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC;iBACtD,CAAC,CAAA;gBACF,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,kFAAkF,EAClF,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,aAAa,IAAI,CAAC,EACzB,QAAQ,IAAI,KAAK,CAClB,CAAA;gBACD,+DAA+D;gBAC/D,uDAAuD;gBACvD,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;gBAC7C,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC1G,CAAC;QACH,CAAC;KACF,CAAC,EACJ,iBAAiB,2BAA2B,EAAE,CAC/C,CAAA;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,qDAAqD;QACrD,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACnC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACtF,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,CAAA;IACvC,8DAA8D;IAC9D,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;IAEf,OAAO,KAAK,IAAI,EAAE;QAChB,aAAa,CAAC,KAAK,CAAC,CAAA;QACpB,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;QACzB,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACtC,MAAM,OAAO,EAAE,SAAS,EAAE,CAAA;IAC5B,CAAC,CAAA;AACH,CAAC"}
@@ -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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"}