glm-acp-agent 1.2.0 → 1.4.0
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/LICENSE +202 -0
- package/README.md +18 -15
- package/dist/index.js +2 -2
- package/dist/llm/glm-client.d.ts +19 -11
- package/dist/llm/glm-client.d.ts.map +1 -1
- package/dist/llm/glm-client.js +65 -40
- package/dist/llm/glm-client.js.map +1 -1
- package/dist/protocol/agent.d.ts +10 -1
- package/dist/protocol/agent.d.ts.map +1 -1
- package/dist/protocol/agent.js +19 -6
- package/dist/protocol/agent.js.map +1 -1
- package/dist/protocol/session-store.js +1 -1
- package/dist/tests/agent.test.js +97 -11
- package/dist/tests/agent.test.js.map +1 -1
- package/dist/tests/executor.test.js +22 -0
- package/dist/tests/executor.test.js.map +1 -1
- package/dist/tests/glm-client.test.js +115 -21
- package/dist/tests/glm-client.test.js.map +1 -1
- package/dist/tools/executor.js +19 -0
- package/dist/tools/executor.js.map +1 -1
- package/package.json +3 -3
package/dist/protocol/agent.d.ts
CHANGED
|
@@ -61,7 +61,16 @@ export declare class GlmAcpAgent implements Agent {
|
|
|
61
61
|
*/
|
|
62
62
|
private configOptionsState;
|
|
63
63
|
setSessionConfigOption(params: SetSessionConfigOptionRequest): Promise<SetSessionConfigOptionResponse>;
|
|
64
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* Build the SessionModelState we advertise on session create/load/resume/fork.
|
|
66
|
+
*
|
|
67
|
+
* The active model is always included in `availableModels`, even when it
|
|
68
|
+
* isn't in the advertised list — a session restored from disk can be pinned
|
|
69
|
+
* to a de-listed id (`glm-5.2` was the previous default), and `ACP_GLM_MODEL`
|
|
70
|
+
* / `session/set_model` both accept uncatalogued ids on purpose. Returning a
|
|
71
|
+
* `currentModelId` outside the advertised set leaves pickers unable to
|
|
72
|
+
* represent the selection the agent is actually using.
|
|
73
|
+
*/
|
|
65
74
|
private modelsState;
|
|
66
75
|
/** Build the SessionModeState we advertise on session create/load/resume/fork. */
|
|
67
76
|
private modesState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,KAAK,EACL,mBAAmB,EAEnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAK/B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAUL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEvB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAGzE,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAa3F;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,cAAc,GAAG,oBAAoB,CAAC;AA8B9E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,GAAG,CAAC,EAAE;QACJ,UAAU,EAAE,CACV,QAAQ,EAAE,UAAU,EAAE,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,iBAAiB,KACxB,aAAa,CAAC,cAAc,CAAC,CAAC;KACpC,CAAC;IACF,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CACvC;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,YAAW,KAAK;IAUrC,OAAO,CAAC,UAAU;IATpB,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,IAAI,CAAgD;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,oBAAoB,CAAU;gBAG5B,UAAU,EAAE,mBAAmB,EACvC,OAAO,GAAE,kBAAuB;IAgBlC,OAAO,KAAK,GAAG,GAKd;IAED,OAAO,KAAK,YAAY,GAQvB;IAMK,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsElE,YAAY,CAChB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,oBAAoB,CAAC;IAS1B,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2ClE,wBAAwB,CAC5B,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,uBAAuB,CAAC;IA4CnC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0BpB,sBAAsB,CAC1B,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,8BAA8B,CAAC;IAyB1C
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol/agent.js
CHANGED
|
@@ -157,8 +157,8 @@ export class GlmAcpAgent {
|
|
|
157
157
|
}),
|
|
158
158
|
};
|
|
159
159
|
const model = getDefaultModel();
|
|
160
|
-
// Default to the model's own default effort ("max"
|
|
161
|
-
// otherwise) so out-of-the-box behaviour matches the pre-thought-level
|
|
160
|
+
// Default to the model's own default effort ("max" on the 5.3 family,
|
|
161
|
+
// "on" otherwise) so out-of-the-box behaviour matches the pre-thought-level
|
|
162
162
|
// default (thinking on, no explicit reasoning_effort).
|
|
163
163
|
const thoughtLevel = resolveThoughtLevel(model, "max");
|
|
164
164
|
this.sessions.set(sessionId, {
|
|
@@ -194,7 +194,7 @@ export class GlmAcpAgent {
|
|
|
194
194
|
process.stderr.write(`[glm-acp-agent] warning: model "${params.modelId}" is not in the advertised list; using as-is.\n`);
|
|
195
195
|
}
|
|
196
196
|
session.model = params.modelId;
|
|
197
|
-
// The valid thought levels differ per model (e.g. 5.
|
|
197
|
+
// The valid thought levels differ per model (e.g. 5.3 offers high/max
|
|
198
198
|
// while others only offer none/on), so clamp the current level to what
|
|
199
199
|
// the new model supports.
|
|
200
200
|
session.thoughtLevel = resolveThoughtLevel(params.modelId, session.thoughtLevel);
|
|
@@ -263,7 +263,7 @@ export class GlmAcpAgent {
|
|
|
263
263
|
// Auto-resolve a *known* level that isn't valid for the current model to
|
|
264
264
|
// that model's default. This happens when a client caches a thoughtLevel
|
|
265
265
|
// from a previous session (or model) and re-sends it for a model with a
|
|
266
|
-
// different level set (e.g. "max" from glm-5.
|
|
266
|
+
// different level set (e.g. "max" from glm-5.3 sent while on glm-4.7).
|
|
267
267
|
session.thoughtLevel = resolveThoughtLevel(session.model, params.value);
|
|
268
268
|
session.updatedAt = new Date().toISOString();
|
|
269
269
|
this.persistSession(params.sessionId, session);
|
|
@@ -271,10 +271,23 @@ export class GlmAcpAgent {
|
|
|
271
271
|
configOptions: this.configOptionsState(session.model, session.thoughtLevel),
|
|
272
272
|
};
|
|
273
273
|
}
|
|
274
|
-
/**
|
|
274
|
+
/**
|
|
275
|
+
* Build the SessionModelState we advertise on session create/load/resume/fork.
|
|
276
|
+
*
|
|
277
|
+
* The active model is always included in `availableModels`, even when it
|
|
278
|
+
* isn't in the advertised list — a session restored from disk can be pinned
|
|
279
|
+
* to a de-listed id (`glm-5.2` was the previous default), and `ACP_GLM_MODEL`
|
|
280
|
+
* / `session/set_model` both accept uncatalogued ids on purpose. Returning a
|
|
281
|
+
* `currentModelId` outside the advertised set leaves pickers unable to
|
|
282
|
+
* represent the selection the agent is actually using.
|
|
283
|
+
*/
|
|
275
284
|
modelsState(currentModelId) {
|
|
285
|
+
const available = getAvailableModels();
|
|
286
|
+
if (available.some((m) => m.modelId === currentModelId)) {
|
|
287
|
+
return { availableModels: available, currentModelId };
|
|
288
|
+
}
|
|
276
289
|
return {
|
|
277
|
-
availableModels:
|
|
290
|
+
availableModels: [...available, { modelId: currentModelId, name: currentModelId }],
|
|
278
291
|
currentModelId,
|
|
279
292
|
};
|
|
280
293
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC;AAmC7C,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GAKf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAuB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAwB,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAwB,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAG,CAAC,GAAG,IAAI,CAAC;AAkE3C;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IAUZ;IATF,QAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;IAChD,IAAI,CAAgD;IACpD,QAAQ,CAAS;IACjB,kBAAkB,GAA8B,IAAI,CAAC;IACrD,YAAY,CAAsB;IAClC,aAAa,CAAyB;IACtC,oBAAoB,CAAU;IAEtC,YACU,UAA+B,EACvC,UAA8B,EAAE;QADxB,eAAU,GAAV,UAAU,CAAqB;QAGvC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;QAChC,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ;YACX,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC;gBACzD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC/B,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,YAAY;YACf,OAAO,CAAC,YAAY,KAAK,IAAI;gBAC3B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,YAAY,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,GAAG,cAAc,IAAI,OAAO,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;IACpD,CAAC;IAED,IAAY,GAAG;QACb,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAY,YAAY;QACtB,IAAI,IAAI,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,8EAA8E;IAC9E,gBAAgB;IAChB,8EAA8E;IAE9E,KAAK,CAAC,UAAU,CAAC,MAAyB;QACxC,mDAAmD;QACnD,MAAM,iBAAiB,GACrB,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;QAEvE,2EAA2E;QAC3E,sEAAsE;QACtE,8BAA8B;QAC9B,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC;QAE5D,OAAO;YACL,eAAe,EAAE,iBAAiB;YAClC,SAAS,EAAE;gBACT,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,OAAO;aACjB;YACD,kEAAkE;YAClE,uEAAuE;YACvE,yEAAyE;YACzE,qEAAqE;YACrE,qEAAqE;YACrE,WAAW,EAAE;gBACX;oBACE,EAAE,EAAE,cAAc;oBAClB,IAAI,EAAE,cAAc;oBACpB,WAAW,EACT,2JAA2J;iBAC9J;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,EAAE,EAAE,cAAc;oBAClB,IAAI,EAAE,cAAc;oBACpB,WAAW,EACT,iGAAiG;oBACnG,IAAI,EAAE,wCAAwC;oBAC9C,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,cAAc;4BACpB,KAAK,EAAE,cAAc;4BACrB,MAAM,EAAE,IAAI;4BACZ,QAAQ,EAAE,KAAK;yBAChB;qBACF;iBACF;aACF;YACD,iBAAiB,EAAE;gBACjB,WAAW,EAAE,IAAI;gBACjB,eAAe,EAAE;oBACf,IAAI,EAAE,IAAI;iBACX;gBACD,kBAAkB,EAAE;oBAClB,sEAAsE;oBACtE,8DAA8D;oBAC9D,+DAA+D;oBAC/D,oEAAoE;oBACpE,mEAAmE;oBACnE,eAAe,EAAE,IAAI;oBACrB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,OAAO;wBAChD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,GAAG;iBACpD;gBACD,mBAAmB,EAAE;oBACnB,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,EAAE;iBACX;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAA2B;QAE3B,2EAA2E;QAC3E,8EAA8E;QAC9E,yEAAyE;QACzE,mBAAmB;QACnB,KAAK,MAAM,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAyB;QACxC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,KAAK,CAAC,kBAAkB,SAAS,QAAQ,MAAM,CAAC,GAAG,UAAU,eAAe,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAEhE,MAAM,YAAY,GAAe;YAC/B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,iBAAiB,CAAC;gBACzB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACxD,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;aACzC,CAAC;SACH,CAAC;QAEF,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,iEAAiE;QACjE,uEAAuE;QACvE,uDAAuD;QACvD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,eAAe;YACf,QAAQ;YACR,IAAI,EAAE,SAAS;YACf,YAAY;SACb,CAAC,CAAC;QAEH,OAAO;YACL,SAAS;YACT,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC/B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YACjC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,MAA8B;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,wEAAwE;YACxE,wEAAwE;YACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mCAAmC,MAAM,CAAC,OAAO,iDAAiD,CACnG,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,sEAAsE;QACtE,uEAAuE;QACvE,0BAA0B;QAC1B,OAAO,CAAC,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACjF,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,sEAAsE;QACtE,kFAAkF;QAClF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,oEAAoE;QACpE,mEAAmE;QACnE,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE;YACvC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE;gBACN,aAAa,EAAE,qBAAqB;gBACpC,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B;SACF,CAAC,CAAC;QACH,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE;YACvC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE;gBACN,aAAa,EAAE,sBAAsB;gBACrC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC;aAC5E;SACF,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,KAAa,EACb,YAA0B;QAE1B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO;YACL;gBACE,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE,QAAiB;gBACvB,YAAY,EAAE,YAAY;gBAC1B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC9B,KAAK,EAAE,KAAK;oBACZ,IAAI,EACF,KAAK,KAAK,MAAM;wBACd,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,KAAK,KAAK,IAAI;4BACd,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;iBACvD,CAAC,CAAC;aACJ;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,MAAqC;QAErC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,OAAO,CAAC,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC;SAC5E,CAAC;IACJ,CAAC;IAED,mFAAmF;IAC3E,WAAW,CAAC,cAAsB;QAIxC,OAAO;YACL,eAAe,EAAE,kBAAkB,EAAE;YACrC,cAAc;SACf,CAAC;IACJ,CAAC;IAED,kFAAkF;IAC1E,UAAU,CAAC,aAA4B;QAI7C,OAAO;YACL,cAAc,EAAE;gBACd;oBACE,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,mCAAmC;iBACjD;gBACD;oBACE,EAAE,EAAE,cAAc;oBAClB,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,qDAAqD;iBACnE;gBACD;oBACE,EAAE,EAAE,oBAAoB;oBACxB,IAAI,EAAE,wBAAwB;oBAC9B,WAAW,EAAE,2CAA2C;iBACzD;aACF;YACD,aAAa;SACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAA6B;QAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,YAAY,GAAoB,CAAC,SAAS,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAuB,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,mBAAmB,MAAM,CAAC,MAAM,sBAAsB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAuB,CAAC;QAC/C,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QACvB,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE;YACvC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE;gBACN,aAAa,EAAE,qBAAqB;gBACpC,aAAa,EAAE,OAAO;aACvB;SACF,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,8EAA8E;IAC9E,cAAc;IACd,8EAA8E;IAE9E,KAAK,CAAC,MAAM,CAAC,MAAqB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,2EAA2E;QAC3E,sEAAsE;QACtE,wEAAwE;QACxE,wEAAwE;QACxE,OAAO;QACP,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,aAAa,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;YACxE,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;QAE1C,sEAAsE;QACtE,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAC1C,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;YAC/B,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,iEAAiE;QACjE,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,+BAA+B,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,YAAY;YAC/B,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;YACzC,CAAC,CAAC,MAAM,qBAAqB,CACzB,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,YAAY,EACjB,eAAe,CAAC,MAAM,CACvB,CAAC;QACN,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,YAAY;YAChE,CAAC,CAAC,8BAA8B,CAAC,YAAY,CAAC,MAAM,CAAC;YACrD,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAE9D,sEAAsE;QACtE,6DAA6D;QAC7D,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QAEpD,IAAI,oBAAiC,CAAC;QACtC,OAAO,CAAC,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACpD,oBAAoB,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CACpD,MAAM,CAAC,SAAS,EAChB,OAAO,EACP,eAAe,CAAC,MAAM,CACvB,CAAC;YAEF,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;YAC/B,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAE7C,qEAAqE;YACrE,wDAAwD;YACxD,MAAM,WAAW,GACf,OAAO,CAAC,KAAK,KAAK,IAAI;gBACpB,CAAC,CAAC,CAAC,GAAG,EAAE;oBACJ,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBAClE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClC,CAAC,CAAC,EAAE;gBACN,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;gBAClC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE;oBACN,aAAa,EAAE,qBAAqB;oBACpC,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,GAAG,WAAW;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE/C,MAAM,QAAQ,GAAmB,EAAE,UAAU,EAAE,CAAC;YAChD,IAAI,KAAK;gBAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YAClC,IAAI,aAAa;gBAAE,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;YAC1D,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,yBAAyB,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACrG,oEAAoE;YACpE,yDAAyD;YACzD,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC/B,MAAM,SAAS,GAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;gBAC9D,IAAI,aAAa;oBAAE,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;gBAC3D,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;YAC/B,wEAAwE;YACxE,gDAAgD;YAChD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE;gBACvC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE;oBACN,aAAa,EAAE,qBAAqB;oBACpC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,OAAO,EAAE,EAAE;iBAC1D;aACF,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,UAAU,EAAE,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YAC5D,uEAAuE;YACvE,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAC7B,oBAAoB,EAAE,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC;oBAAC,MAAM,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA0B;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA2B;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QAClC,IAAI,OAAO,EAAE,CAAC;YACZ,sEAAsE;YACtE,sEAAsE;YACtE,2DAA2D;YAC3D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA2B;QAC5C,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,2CAA2C;QAC3C,EAAE;QACF,2EAA2E;QAC3E,wDAAwD;QACxD,MAAM,MAAM,GAAG,IAAI,GAAG,EAGnB,CAAC;QAEJ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC;gBACpD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;oBACzB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE;gBACpB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG;YACzB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC;YAC7C,CAAC,CAAC,GAAG,CAAC;QACR,oEAAoE;QACpE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7B,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1C,SAAS;gBACT,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;gBAC3B,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,+BAA+B;IAC/B,8EAA8E;IAE9E,KAAK,CAAC,WAAW,CAAC,MAA0B;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAE/D,sEAAsE;QACtE,uCAAuC;QACvC,MAAM,QAAQ,GAAiB;YAC7B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,eAAe;YACf,QAAQ;YACR,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC;SACpF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE9C,uEAAuE;QACvE,uEAAuE;QACvE,kCAAkC;QAClC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEhE,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC;YACzC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;YACtC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC;SAC9E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,MAA0B;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM;YACtB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAEhE,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;QAClC,MAAM,WAAW,GACf,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,SAAS,CAAC;QAChE,MAAM,MAAM,GAAiB;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,uEAAuE;YACvE,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC7C,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,eAAe;YACf,QAAQ;YACR,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC;SACpF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAE1C,OAAO;YACL,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACnC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;SAC1E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAA4B;QAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAE/D,MAAM,QAAQ,GAAiB;YAC7B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,eAAe;YACf,QAAQ;YACR,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY,IAAI,KAAK,CAAC;SACpF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE9C,yEAAyE;QACzE,qDAAqD;QACrD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC;YACzC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;YACtC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC;SAC9E,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAEtE,QAAQ,CAAC,SAAiB,EAAE,OAAqB;QACvD,OAAO;YACL,SAAS;YACT,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,SAAiB,EAAE,OAAqB;QAC7D,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sDAAsD,SAAS,KAAK,GAAG,IAAI,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,SAAiB;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,SAAiB,EACjB,QAAsB;QAEtB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAChC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;oBAClC,SAAS;oBACT,MAAM,EAAE;wBACN,aAAa,EAAE,oBAAoB;wBACnC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;qBAChC;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC5B,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,QAAQ;oBACzB,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;wBACtB,CAAC,CAAC,OAAO;6BACJ,MAAM,CACL,CAAC,CAAC,EAAuC,EAAE,CACzC,OAAO,CAAC,KAAK,QAAQ;4BACrB,CAAC,KAAK,IAAI;4BACT,CAAwB,CAAC,IAAI,KAAK,MAAM;4BACzC,OAAQ,CAAwB,CAAC,IAAI,KAAK,QAAQ,CACrD;6BACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;6BAClB,IAAI,CAAC,EAAE,CAAC;wBACb,CAAC,CAAC,EAAE,CAAC;gBACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAChC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;oBAClC,SAAS;oBACT,MAAM,EAAE;wBACN,aAAa,EAAE,qBAAqB;wBACpC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;qBAChC;iBACF,CAAC,CAAC;YACL,CAAC;YACD,8DAA8D;QAChE,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,uBAAuB;IACvB,8EAA8E;IAE9E;;;;OAIG;IACK,KAAK,CAAC,aAAa,CACzB,SAAiB,EACjB,OAAqB,EACrB,MAAmB;QAEnB,MAAM,QAAQ,GAAG,IAAI,YAAY,CAC/B,IAAI,CAAC,UAAU,EACf,SAAS,EACT,IAAI,CAAC,kBAAkB,EACvB,MAAM,EACN,IAAI,CAAC,YAAY,EACjB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,GAAG;QACX,0EAA0E;QAC1E,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,SAAS,CACtD,CAAC;QAEF,IAAI,SAA4B,CAAC;QACjC,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAE3B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;YAChD,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;YAEvD,wEAAwE;YACxE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YACvC,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC;gBAC7C,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;YACjF,CAAC;YAED,KAAK,CAAC,oBAAoB,IAAI,YAAY,SAAS,UAAU,OAAO,CAAC,KAAK,aAAa,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAElH,MAAM,SAAS,GAIV,EAAE,CAAC;YAER,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,IAAI,cAAkC,CAAC;YAEvC,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBACH,wEAAwE;gBACxE,4DAA4D;gBAC5D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;oBACtE,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,OAAO,CAAC,eAAe;oBAC9B,eAAe,EAAE,OAAO,CAAC,YAAY;iBACtC,CAAC,EAAE,CAAC;oBACH,IAAI,MAAM,CAAC,OAAO;wBAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;oBAEvD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACnB,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;4BAClC,SAAS;4BACT,MAAM,EAAE;gCACN,aAAa,EAAE,qBAAqB;gCACpC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE;6BAChD;yBACF,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBACf,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC;wBAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;4BAClC,SAAS;4BACT,MAAM,EAAE;gCACN,aAAa,EAAE,qBAAqB;gCACpC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;6BAC5C;yBACF,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACnB,KAAK,CAAC,2BAA2B,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;wBAClF,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACjC,CAAC;oBAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC1B,CAAC;oBAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBACf,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;gBAEvD,MAAM,IAAI,GAAI,GAA8C,EAAE,KAAK,CAAC;gBACpE,MAAM,UAAU,GACd,IAAI,EAAE,IAAI,KAAK,oBAAoB;oBACnC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAE9C,IAAI,UAAU,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;oBACzC,KAAK,CAAC,+EAA+E,CAAC,CAAC;oBACvF,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC/C,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;oBAC/E,kBAAkB,EAAE,CAAC;oBACrB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;qBAAM,IAAI,UAAU,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,uDAAuD,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3F,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,EAAE,CAAC,CAAC,6BAA6B;gBACrC,SAAS;YACX,CAAC;YAED,yEAAyE;YACzE,sBAAsB;YACtB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;oBACxD,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACjC,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,IAAI,EAAE,UAAmB;wBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE;qBACrD,CAAC,CAAC;iBACJ,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,kCAAkC;YAClC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC9E,CAAC;YAED,qEAAqE;YACrE,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAEzE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;gBACpE,KAAK,CAAC,6BAA6B,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,kBAAkB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEnG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,EAAE,CAAC,EAAE;oBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAC;YACL,CAAC;YAED,yEAAyE;YACzE,gBAAgB;QAClB,CAAC;QAED,wCAAwC;QACxC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC/D,CAAC;IAEO,aAAa,CAAC,UAA8B;QAClD,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,YAAY,CAAC;YACtB,KAAK,gBAAgB;gBACnB,OAAO,SAAS,CAAC;YACnB,KAAK,MAAM,CAAC;YACZ,KAAK,YAAY,CAAC;YAClB,KAAK,SAAS,CAAC;YACf,KAAK,IAAI,CAAC;YACV,KAAK,EAAE;gBACL,OAAO,UAAU,CAAC;YACpB;gBACE,OAAO,UAAU,CAAC;QACtB,CAAC;IACH,CAAC;IAED,iFAAiF;IACzE,wBAAwB,CAAC,WAAmC,IAAI;QACtE,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACnG,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO;YACL,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrE,GAAG,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE,CAAC;SACrC,CAAC;IACJ,CAAC;CACF;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,MAAsD;IAIhF,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,eAAe;gBAClB,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAC3B,IAAI,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClD,SAAS,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC;gBAC1E,CAAC;qBAAM,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;oBACzB,SAAS,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,uEAAuE;gBACvE,SAAS,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAC7C,MAAM;YACR,CAAC;YACD,KAAK,OAAO;gBACV,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAC5C,MAAM;YACR;gBACE,SAAS,CAAC,IAAI,CAAC,uBAAwB,KAA0B,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAsD;IAI5F,MAAM,OAAO,GAAgC,EAAE,CAAC;IAChD,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrB,MAAM;YACR,KAAK,eAAe;gBAClB,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAC3B,IAAI,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClD,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC;gBACpE,CAAC;qBAAM,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;oBACzB,QAAQ,CAAC,qBAAqB,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,UAAU,IAAI,CAAC,CAAC;gBAChB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAClE,cAAc,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,QAAQ,CACN,oCAAoC,UAAU,WAAW,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,sLAAsL,CAC/Q,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,OAAO;gBACV,QAAQ,CAAC,2BAA2B,CAAC,CAAC;gBACtC,MAAM;YACR;gBACE,QAAQ,CAAC,uBAAwB,KAA0B,CAAC,IAAI,GAAG,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAkE;IAChG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAExD,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,OAAO,QAAQ,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,QAAQ,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/B,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IACE,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,KAAK,IAAI;YACZ,IAA2B,CAAC,IAAI,KAAK,MAAM;YAC5C,OAAQ,IAA2B,CAAC,IAAI,KAAK,QAAQ,EACrD,CAAC;YACD,OAAQ,IAAyB,CAAC,IAAI,CAAC;QACzC,CAAC;QACD,IACE,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,KAAK,IAAI;YACZ,IAA2B,CAAC,IAAI,KAAK,WAAW,EACjD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,KAAK,MAAM,QAAQ,IAAI,CAAC,WAAW,EAAE,WAAW,CAAU,EAAE,CAAC;QAC3D,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;YAChD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,iBAAiB,CAC9B,UAA+B,EAC/B,MAA2D;IAE3D,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,QAAsB;IAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpD,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC3C,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC9B,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;oBACrB,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;oBACjC,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CACtB,QAAsB,EACtB,YAAoB,EACpB,aAAa,GAAG,EAAE;IAElB,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE1C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpC,8EAA8E;IAC9E,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,WAAW,GAAiB,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,WAAW,GAAG,EAAE,CAAC;QACnB,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IAED,6EAA6E;IAC7E,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa;QAAE,OAAO,QAAQ,CAAC;IAEnD,IAAI,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,eAAe,IAAI,YAAY;QAAE,OAAO,QAAQ,CAAC;IAErD,KAAK,CAAC,oCAAoC,eAAe,WAAW,YAAY,UAAU,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAE1G,+EAA+E;IAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,KAAK;SACzB,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;SACxB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI;QACJ,KAAK;QACL,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;KAC7B,CAAC,CAAC,CAAC;IAEN,2CAA2C;IAC3C,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/B,IAAI,eAAe,IAAI,YAAY;YAAE,MAAM;QAC3C,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5B,eAAe,IAAI,CAAC,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAiB,CAAC,YAAY,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,sCAAsC,cAAc,CAAC,SAAS,CAAC,iBAAiB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1G,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,7 @@ export class SessionStore {
|
|
|
65
65
|
}
|
|
66
66
|
// Handle schema migrations. We support v1 (pre-modes), v2 (with mode
|
|
67
67
|
// field), and v3 (with thoughtLevel). Defaulting thoughtLevel to "max"
|
|
68
|
-
// is safe: it's GLM-5.
|
|
68
|
+
// is safe: it's GLM-5.3's own default effort, and load-time resolution
|
|
69
69
|
// clamps it to a valid level for the session's actual model.
|
|
70
70
|
const version = parsed.schemaVersion ?? 1;
|
|
71
71
|
if (version === 1) {
|
package/dist/tests/agent.test.js
CHANGED
|
@@ -726,10 +726,11 @@ test("newSession returns configOptions with thought_level selector for default m
|
|
|
726
726
|
const tl = result.configOptions.find((o) => o.category === "thought_level");
|
|
727
727
|
assert.ok(tl, "thought_level option should exist");
|
|
728
728
|
assert.equal(tl.type, "select");
|
|
729
|
-
// Default model is glm-5.
|
|
729
|
+
// Default model is glm-5.3 → high/max, defaulting to max. There is no "Off"
|
|
730
|
+
// level because thinking cannot be disabled on 5.3.
|
|
730
731
|
assert.equal(tl.currentValue, "max");
|
|
731
732
|
const values = tl.options.map((o) => o.value);
|
|
732
|
-
assert.deepEqual(values, ["
|
|
733
|
+
assert.deepEqual(values, ["high", "max"]);
|
|
733
734
|
});
|
|
734
735
|
test("setSessionConfigOption updates thoughtLevel and returns updated options", async () => {
|
|
735
736
|
const conn = createConnectionStub();
|
|
@@ -750,9 +751,9 @@ test("setSessionConfigOption auto-resolves values invalid for the current model"
|
|
|
750
751
|
const agent = new GlmAcpAgent(conn, { sessionStore: null });
|
|
751
752
|
await agent.initialize({ protocolVersion: PROTOCOL_VERSION, clientCapabilities: {} });
|
|
752
753
|
const { sessionId } = await agent.newSession({ cwd: "/tmp", mcpServers: [] });
|
|
753
|
-
// Switch to glm-
|
|
754
|
-
await agent.unstable_setSessionModel({ sessionId, modelId: "glm-
|
|
755
|
-
// "max" is invalid for glm-
|
|
754
|
+
// Switch to glm-4.7 which only supports none/on.
|
|
755
|
+
await agent.unstable_setSessionModel({ sessionId, modelId: "glm-4.7" });
|
|
756
|
+
// "max" is invalid for glm-4.7 — should auto-resolve to "on".
|
|
756
757
|
const result = await agent.setSessionConfigOption({
|
|
757
758
|
sessionId,
|
|
758
759
|
configId: "thought_level",
|
|
@@ -775,7 +776,7 @@ test("setSessionConfigOption rejects values that aren't a known thought level",
|
|
|
775
776
|
const { sessionId } = await agent.newSession({ cwd: "/tmp", mcpServers: [] });
|
|
776
777
|
// "medium" is not a ThoughtLevel at all — reject rather than silently coerce.
|
|
777
778
|
await assert.rejects(agent.setSessionConfigOption({ sessionId, configId: "thought_level", value: "medium" }), /Invalid thought_level value/);
|
|
778
|
-
// A cross-model-but-known value ("max" while on the default glm-5.
|
|
779
|
+
// A cross-model-but-known value ("max" while on the default glm-5.3) is fine.
|
|
779
780
|
const ok = await agent.setSessionConfigOption({
|
|
780
781
|
sessionId,
|
|
781
782
|
configId: "thought_level",
|
|
@@ -788,7 +789,7 @@ test("switching model updates thought_level options via config_option_update", a
|
|
|
788
789
|
const agent = new GlmAcpAgent(conn, { sessionStore: null });
|
|
789
790
|
await agent.initialize({ protocolVersion: PROTOCOL_VERSION, clientCapabilities: {} });
|
|
790
791
|
const { sessionId } = await agent.newSession({ cwd: "/tmp", mcpServers: [] });
|
|
791
|
-
// Start with glm-5.
|
|
792
|
+
// Start with glm-5.3 (default) → max, options high/max.
|
|
792
793
|
// Switch to glm-4.7 → thoughtLevel should resolve to "on".
|
|
793
794
|
await agent.unstable_setSessionModel({ sessionId, modelId: "glm-4.7" });
|
|
794
795
|
const configUpdates = conn.updates.filter((u) => u.update.sessionUpdate === "config_option_update");
|
|
@@ -841,7 +842,7 @@ test("model switch persists model + clamped thoughtLevel before any prompt (fork
|
|
|
841
842
|
const agent = new GlmAcpAgent(conn, { sessionStore: store });
|
|
842
843
|
await agent.initialize({ protocolVersion: PROTOCOL_VERSION, clientCapabilities: {} });
|
|
843
844
|
const { sessionId } = await agent.newSession({ cwd: "/tmp", mcpServers: [] });
|
|
844
|
-
// Switch model with no prompt in between: glm-5.
|
|
845
|
+
// Switch model with no prompt in between: glm-5.3/max → glm-4.7, which
|
|
845
846
|
// clamps the level to "on". Both must survive a fork that reads from disk.
|
|
846
847
|
await agent.unstable_setSessionModel({ sessionId, modelId: "glm-4.7" });
|
|
847
848
|
const forked = await agent.unstable_forkSession({ sessionId, cwd: "/tmp", mcpServers: [] });
|
|
@@ -865,7 +866,7 @@ test("v2 sessions (no thoughtLevel) migrate and resolve to the model default on
|
|
|
865
866
|
messages: [{ role: "system", content: "you are a coding assistant" }],
|
|
866
867
|
title: "old session",
|
|
867
868
|
updatedAt: "2026-01-01T00:00:00.000Z",
|
|
868
|
-
model: "glm-
|
|
869
|
+
model: "glm-4.7",
|
|
869
870
|
mode: "default",
|
|
870
871
|
};
|
|
871
872
|
writeFileSync(pathJoin(dir, `${sessionId}.json`), JSON.stringify(v2), "utf8");
|
|
@@ -874,7 +875,7 @@ test("v2 sessions (no thoughtLevel) migrate and resolve to the model default on
|
|
|
874
875
|
const migrated = store.load(sessionId);
|
|
875
876
|
assert.equal(migrated?.schemaVersion, 3);
|
|
876
877
|
assert.equal(migrated?.thoughtLevel, "max");
|
|
877
|
-
// On load the agent clamps that to the session's model (glm-
|
|
878
|
+
// On load the agent clamps that to the session's model (glm-4.7 → "on").
|
|
878
879
|
const conn = createConnectionStub();
|
|
879
880
|
const agent = new GlmAcpAgent(conn, { sessionStore: store });
|
|
880
881
|
await agent.initialize({ protocolVersion: PROTOCOL_VERSION, clientCapabilities: {} });
|
|
@@ -886,6 +887,91 @@ test("v2 sessions (no thoughtLevel) migrate and resolve to the model default on
|
|
|
886
887
|
rmSync(dir, { recursive: true, force: true });
|
|
887
888
|
}
|
|
888
889
|
});
|
|
890
|
+
test("loadSession advertises the restored model even when it is de-listed", async () => {
|
|
891
|
+
const dir = mkdtempSync(pathJoin(osTmpdir(), "glm-acp-delisted-"));
|
|
892
|
+
const sessionId = "abcd1234-abcd-abcd-abcd-abcdabcd5252";
|
|
893
|
+
try {
|
|
894
|
+
// glm-5.2 was the previous default, so real users have sessions on disk
|
|
895
|
+
// pinned to it. It is no longer in the built-in list, but the session
|
|
896
|
+
// keeps using it — so it must still appear in availableModels, otherwise
|
|
897
|
+
// the client's picker has a currentModelId outside the advertised set.
|
|
898
|
+
const persisted = {
|
|
899
|
+
schemaVersion: 3,
|
|
900
|
+
sessionId,
|
|
901
|
+
cwd: "/tmp",
|
|
902
|
+
messages: [{ role: "system", content: "you are a coding assistant" }],
|
|
903
|
+
title: "old session",
|
|
904
|
+
updatedAt: "2026-01-01T00:00:00.000Z",
|
|
905
|
+
model: "glm-5.2",
|
|
906
|
+
mode: "default",
|
|
907
|
+
thoughtLevel: "max",
|
|
908
|
+
};
|
|
909
|
+
writeFileSync(pathJoin(dir, `${sessionId}.json`), JSON.stringify(persisted), "utf8");
|
|
910
|
+
const store = new SessionStore(dir);
|
|
911
|
+
const conn = createConnectionStub();
|
|
912
|
+
const agent = new GlmAcpAgent(conn, { sessionStore: store });
|
|
913
|
+
await agent.initialize({ protocolVersion: PROTOCOL_VERSION, clientCapabilities: {} });
|
|
914
|
+
const result = await agent.loadSession({ sessionId, cwd: "/tmp", mcpServers: [] });
|
|
915
|
+
assert.equal(result.models?.currentModelId, "glm-5.2");
|
|
916
|
+
const ids = result.models.availableModels.map((m) => m.modelId);
|
|
917
|
+
assert.ok(ids.includes("glm-5.2"), `expected glm-5.2 in availableModels, got ${ids.join(", ")}`);
|
|
918
|
+
// The built-in entries are still advertised alongside it.
|
|
919
|
+
assert.ok(ids.includes("glm-5.3"));
|
|
920
|
+
}
|
|
921
|
+
finally {
|
|
922
|
+
rmSync(dir, { recursive: true, force: true });
|
|
923
|
+
}
|
|
924
|
+
});
|
|
925
|
+
test("newSession advertises an ACP_GLM_MODEL override that is not in the built-in list", async () => {
|
|
926
|
+
const old = process.env["ACP_GLM_MODEL"];
|
|
927
|
+
process.env["ACP_GLM_MODEL"] = "glm-4.5-air";
|
|
928
|
+
try {
|
|
929
|
+
const conn = createConnectionStub();
|
|
930
|
+
const agent = new GlmAcpAgent(conn, { sessionStore: null });
|
|
931
|
+
await agent.initialize({ protocolVersion: PROTOCOL_VERSION, clientCapabilities: {} });
|
|
932
|
+
const result = await agent.newSession({ cwd: "/tmp", mcpServers: [] });
|
|
933
|
+
assert.equal(result.models?.currentModelId, "glm-4.5-air");
|
|
934
|
+
const ids = result.models.availableModels.map((m) => m.modelId);
|
|
935
|
+
assert.ok(ids.includes("glm-4.5-air"), `expected glm-4.5-air in availableModels, got ${ids.join(", ")}`);
|
|
936
|
+
}
|
|
937
|
+
finally {
|
|
938
|
+
if (old === undefined)
|
|
939
|
+
delete process.env["ACP_GLM_MODEL"];
|
|
940
|
+
else
|
|
941
|
+
process.env["ACP_GLM_MODEL"] = old;
|
|
942
|
+
}
|
|
943
|
+
});
|
|
944
|
+
test("a persisted 'none' level clamps up to max when the session is on glm-5.3", async () => {
|
|
945
|
+
const dir = mkdtempSync(pathJoin(osTmpdir(), "glm-acp-clamp-"));
|
|
946
|
+
const sessionId = "abcd1234-abcd-abcd-abcd-abcdabcd5353";
|
|
947
|
+
try {
|
|
948
|
+
// A v3 record saved while "Off" was still offered for the 5.x flagship.
|
|
949
|
+
// glm-5.3 has no "none" level, so load must clamp rather than fail.
|
|
950
|
+
const v3 = {
|
|
951
|
+
schemaVersion: 3,
|
|
952
|
+
sessionId,
|
|
953
|
+
cwd: "/tmp",
|
|
954
|
+
messages: [{ role: "system", content: "you are a coding assistant" }],
|
|
955
|
+
title: "old session",
|
|
956
|
+
updatedAt: "2026-01-01T00:00:00.000Z",
|
|
957
|
+
model: "glm-5.3",
|
|
958
|
+
mode: "default",
|
|
959
|
+
thoughtLevel: "none",
|
|
960
|
+
};
|
|
961
|
+
writeFileSync(pathJoin(dir, `${sessionId}.json`), JSON.stringify(v3), "utf8");
|
|
962
|
+
const store = new SessionStore(dir);
|
|
963
|
+
const conn = createConnectionStub();
|
|
964
|
+
const agent = new GlmAcpAgent(conn, { sessionStore: store });
|
|
965
|
+
await agent.initialize({ protocolVersion: PROTOCOL_VERSION, clientCapabilities: {} });
|
|
966
|
+
const result = await agent.loadSession({ sessionId, cwd: "/tmp", mcpServers: [] });
|
|
967
|
+
const tl = result.configOptions.find((o) => o.id === "thought_level");
|
|
968
|
+
assert.equal(tl.currentValue, "max");
|
|
969
|
+
assert.deepEqual(tl.options.map((o) => o.value), ["high", "max"]);
|
|
970
|
+
}
|
|
971
|
+
finally {
|
|
972
|
+
rmSync(dir, { recursive: true, force: true });
|
|
973
|
+
}
|
|
974
|
+
});
|
|
889
975
|
// ---------------------------------------------------------------------------
|
|
890
976
|
// Prompt loop
|
|
891
977
|
// ---------------------------------------------------------------------------
|
|
@@ -1650,7 +1736,7 @@ test("prompt performs emergency compaction and retries on 1261 error", async ()
|
|
|
1650
1736
|
// to a 128K-window model so the seeded history triggers the proactive/
|
|
1651
1737
|
// emergency compaction paths (the default model now has a 1M window).
|
|
1652
1738
|
const { sessionId } = await agent.newSession({ cwd: "/tmp", mcpServers: [] });
|
|
1653
|
-
await agent.unstable_setSessionModel({ sessionId, modelId: "glm-5
|
|
1739
|
+
await agent.unstable_setSessionModel({ sessionId, modelId: "glm-5-turbo" });
|
|
1654
1740
|
const session = agent.sessions.get(sessionId);
|
|
1655
1741
|
assert.ok(session, "expected in-memory session to exist");
|
|
1656
1742
|
for (let i = 0; i < 50; i++) {
|