@liberseek/boft-cli-win32-arm64 0.6.9 → 0.7.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/README.md +1 -1
- package/THIRD_PARTY_NOTICES.txt +12 -0
- package/app/codexhost-distribution.json +1 -1
- package/app/desktop-controller.mjs +67 -27
- package/app/host-runtime.mjs +1963 -880
- package/app/plugins/antigravity/plugin.mjs +44 -15
- package/app/plugins/claude-code/plugin.mjs +59 -12
- package/app/plugins/codebuddy/plugin.mjs +76 -23
- package/app/plugins/cursor-cli/plugin.mjs +43 -4
- package/app/plugins/deepseek-harness/plugin.mjs +55 -7
- package/app/plugins/enabled.json +3 -1
- package/app/plugins/grok/plugin.mjs +68 -15
- package/app/plugins/hermes/plugin.mjs +40 -3
- package/app/plugins/kiro-cli/plugin.mjs +50 -3
- package/app/plugins/muse/plugin.mjs +40 -0
- package/app/plugins/omp/plugin.mjs +53 -6
- package/app/plugins/opencode/plugin.mjs +92 -46
- package/app/plugins/pi/plugin.mjs +53 -6
- package/app/plugins/qoder/assets/icon.svg +1 -0
- package/app/plugins/qoder/manifest.json +12 -0
- package/app/plugins/qoder/plugin.mjs +52290 -0
- package/app/plugins/qoder-cn/assets/icon.svg +1 -0
- package/app/plugins/qoder-cn/manifest.json +12 -0
- package/app/plugins/qoder-cn/plugin.mjs +52288 -0
- package/app/renderer-extension.js +3297 -162
- package/bin/boft.exe +0 -0
- package/libexec/boft-node-repl.exe +0 -0
- package/libexec/boft-shim.exe +0 -0
- package/libexec/boft-updater.exe +0 -0
- package/licenses/Qoder-Agent-SDK-LICENSE.txt +7 -0
- package/licenses/QoderCN-Agent-SDK-LICENSE.txt +7 -0
- package/licenses/tailwindcss-LICENSE.txt +21 -0
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ var __export = (target, all) => {
|
|
|
8
8
|
// dist/opencode-adapter.js
|
|
9
9
|
import { randomUUID } from "node:crypto";
|
|
10
10
|
import fs4 from "node:fs";
|
|
11
|
-
import
|
|
11
|
+
import path6 from "node:path";
|
|
12
12
|
|
|
13
13
|
// ../../../node_modules/zod/v4/classic/external.js
|
|
14
14
|
var external_exports = {};
|
|
@@ -776,10 +776,10 @@ function mergeDefs(...defs) {
|
|
|
776
776
|
function cloneDef(schema) {
|
|
777
777
|
return mergeDefs(schema._zod.def);
|
|
778
778
|
}
|
|
779
|
-
function getElementAtPath(obj,
|
|
780
|
-
if (!
|
|
779
|
+
function getElementAtPath(obj, path7) {
|
|
780
|
+
if (!path7)
|
|
781
781
|
return obj;
|
|
782
|
-
return
|
|
782
|
+
return path7.reduce((acc, key) => acc?.[key], obj);
|
|
783
783
|
}
|
|
784
784
|
function promiseAllObject(promisesObj) {
|
|
785
785
|
const keys = Object.keys(promisesObj);
|
|
@@ -1188,11 +1188,11 @@ function explicitlyAborted(x, startIndex = 0) {
|
|
|
1188
1188
|
}
|
|
1189
1189
|
return false;
|
|
1190
1190
|
}
|
|
1191
|
-
function prefixIssues(
|
|
1191
|
+
function prefixIssues(path7, issues) {
|
|
1192
1192
|
return issues.map((iss) => {
|
|
1193
1193
|
var _a3;
|
|
1194
1194
|
(_a3 = iss).path ?? (_a3.path = []);
|
|
1195
|
-
iss.path.unshift(
|
|
1195
|
+
iss.path.unshift(path7);
|
|
1196
1196
|
return iss;
|
|
1197
1197
|
});
|
|
1198
1198
|
}
|
|
@@ -1339,16 +1339,16 @@ function flattenError(error51, mapper = (issue2) => issue2.message) {
|
|
|
1339
1339
|
}
|
|
1340
1340
|
function formatError(error51, mapper = (issue2) => issue2.message) {
|
|
1341
1341
|
const fieldErrors = { _errors: [] };
|
|
1342
|
-
const processError = (error52,
|
|
1342
|
+
const processError = (error52, path7 = []) => {
|
|
1343
1343
|
for (const issue2 of error52.issues) {
|
|
1344
1344
|
if (issue2.code === "invalid_union" && issue2.errors.length) {
|
|
1345
|
-
issue2.errors.map((issues) => processError({ issues }, [...
|
|
1345
|
+
issue2.errors.map((issues) => processError({ issues }, [...path7, ...issue2.path]));
|
|
1346
1346
|
} else if (issue2.code === "invalid_key") {
|
|
1347
|
-
processError({ issues: issue2.issues }, [...
|
|
1347
|
+
processError({ issues: issue2.issues }, [...path7, ...issue2.path]);
|
|
1348
1348
|
} else if (issue2.code === "invalid_element") {
|
|
1349
|
-
processError({ issues: issue2.issues }, [...
|
|
1349
|
+
processError({ issues: issue2.issues }, [...path7, ...issue2.path]);
|
|
1350
1350
|
} else {
|
|
1351
|
-
const fullpath = [...
|
|
1351
|
+
const fullpath = [...path7, ...issue2.path];
|
|
1352
1352
|
if (fullpath.length === 0) {
|
|
1353
1353
|
fieldErrors._errors.push(mapper(issue2));
|
|
1354
1354
|
} else {
|
|
@@ -1375,17 +1375,17 @@ function formatError(error51, mapper = (issue2) => issue2.message) {
|
|
|
1375
1375
|
}
|
|
1376
1376
|
function treeifyError(error51, mapper = (issue2) => issue2.message) {
|
|
1377
1377
|
const result = { errors: [] };
|
|
1378
|
-
const processError = (error52,
|
|
1378
|
+
const processError = (error52, path7 = []) => {
|
|
1379
1379
|
var _a3, _b;
|
|
1380
1380
|
for (const issue2 of error52.issues) {
|
|
1381
1381
|
if (issue2.code === "invalid_union" && issue2.errors.length) {
|
|
1382
|
-
issue2.errors.map((issues) => processError({ issues }, [...
|
|
1382
|
+
issue2.errors.map((issues) => processError({ issues }, [...path7, ...issue2.path]));
|
|
1383
1383
|
} else if (issue2.code === "invalid_key") {
|
|
1384
|
-
processError({ issues: issue2.issues }, [...
|
|
1384
|
+
processError({ issues: issue2.issues }, [...path7, ...issue2.path]);
|
|
1385
1385
|
} else if (issue2.code === "invalid_element") {
|
|
1386
|
-
processError({ issues: issue2.issues }, [...
|
|
1386
|
+
processError({ issues: issue2.issues }, [...path7, ...issue2.path]);
|
|
1387
1387
|
} else {
|
|
1388
|
-
const fullpath = [...
|
|
1388
|
+
const fullpath = [...path7, ...issue2.path];
|
|
1389
1389
|
if (fullpath.length === 0) {
|
|
1390
1390
|
result.errors.push(mapper(issue2));
|
|
1391
1391
|
continue;
|
|
@@ -1417,8 +1417,8 @@ function treeifyError(error51, mapper = (issue2) => issue2.message) {
|
|
|
1417
1417
|
}
|
|
1418
1418
|
function toDotPath(_path) {
|
|
1419
1419
|
const segs = [];
|
|
1420
|
-
const
|
|
1421
|
-
for (const seg of
|
|
1420
|
+
const path7 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
|
|
1421
|
+
for (const seg of path7) {
|
|
1422
1422
|
if (typeof seg === "number")
|
|
1423
1423
|
segs.push(`[${seg}]`);
|
|
1424
1424
|
else if (typeof seg === "symbol")
|
|
@@ -14110,13 +14110,13 @@ function resolveRef(ref, ctx) {
|
|
|
14110
14110
|
if (!ref.startsWith("#")) {
|
|
14111
14111
|
throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
|
|
14112
14112
|
}
|
|
14113
|
-
const
|
|
14114
|
-
if (
|
|
14113
|
+
const path7 = ref.slice(1).split("/").filter(Boolean);
|
|
14114
|
+
if (path7.length === 0) {
|
|
14115
14115
|
return ctx.rootSchema;
|
|
14116
14116
|
}
|
|
14117
14117
|
const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
|
|
14118
|
-
if (
|
|
14119
|
-
const key =
|
|
14118
|
+
if (path7[0] === defsKey) {
|
|
14119
|
+
const key = path7[1];
|
|
14120
14120
|
if (!key || !ctx.defs[key]) {
|
|
14121
14121
|
throw new Error(`Reference not found: ${ref}`);
|
|
14122
14122
|
}
|
|
@@ -14527,6 +14527,46 @@ config(en_default());
|
|
|
14527
14527
|
// ../../shared-contracts/dist/version.js
|
|
14528
14528
|
var WORKSPACE_CONTRACT_VERSION = 1;
|
|
14529
14529
|
|
|
14530
|
+
// ../../shared-contracts/dist/idle-release.js
|
|
14531
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
|
|
14532
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
|
|
14533
|
+
var idleReleaseSettingsSchema = external_exports.strictObject({
|
|
14534
|
+
enabled: external_exports.boolean(),
|
|
14535
|
+
timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
|
|
14536
|
+
});
|
|
14537
|
+
var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
|
|
14538
|
+
enabled: false,
|
|
14539
|
+
timeoutMinutes: 30
|
|
14540
|
+
});
|
|
14541
|
+
|
|
14542
|
+
// ../../shared-contracts/dist/loaded-sessions.js
|
|
14543
|
+
var loadedSessionStateSchema = external_exports.enum([
|
|
14544
|
+
"idle",
|
|
14545
|
+
"running",
|
|
14546
|
+
"busy",
|
|
14547
|
+
"closing",
|
|
14548
|
+
"failed",
|
|
14549
|
+
"blocked"
|
|
14550
|
+
]);
|
|
14551
|
+
var loadedSessionReasonSchema = external_exports.enum([
|
|
14552
|
+
"none",
|
|
14553
|
+
"disabled",
|
|
14554
|
+
"timeout",
|
|
14555
|
+
"operation",
|
|
14556
|
+
"background",
|
|
14557
|
+
"identity",
|
|
14558
|
+
"persistence",
|
|
14559
|
+
"closeFailed"
|
|
14560
|
+
]);
|
|
14561
|
+
var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
|
|
14562
|
+
threadId: external_exports.string(),
|
|
14563
|
+
title: external_exports.string(),
|
|
14564
|
+
harnessId: external_exports.string(),
|
|
14565
|
+
state: loadedSessionStateSchema,
|
|
14566
|
+
reason: loadedSessionReasonSchema,
|
|
14567
|
+
inactiveMs: external_exports.number().nonnegative()
|
|
14568
|
+
}));
|
|
14569
|
+
|
|
14530
14570
|
// ../../shared-contracts/dist/ids.js
|
|
14531
14571
|
var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
|
|
14532
14572
|
message: "Identifier must not be empty or whitespace"
|
|
@@ -15861,6 +15901,7 @@ function projectOpenCodeHistory(input) {
|
|
|
15861
15901
|
const item = {
|
|
15862
15902
|
type: "fileChange",
|
|
15863
15903
|
itemId: itemId(`opencode-diff:${userEntry.info.id}`),
|
|
15904
|
+
sourceItemIds: items.map(({ item: item2 }) => item2.itemId),
|
|
15864
15905
|
changes
|
|
15865
15906
|
};
|
|
15866
15907
|
items.push({ item, outcome: { status: "succeeded" } });
|
|
@@ -15982,6 +16023,7 @@ import { randomBytes } from "node:crypto";
|
|
|
15982
16023
|
import { spawn, spawnSync } from "node:child_process";
|
|
15983
16024
|
import fs2 from "node:fs";
|
|
15984
16025
|
import { homedir, tmpdir } from "node:os";
|
|
16026
|
+
import path4 from "node:path";
|
|
15985
16027
|
|
|
15986
16028
|
// ../../../node_modules/@opencode-ai/sdk/dist/v2/gen/core/serverSentEvents.gen.js
|
|
15987
16029
|
var createSseClient = ({ onRequest, onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url: url2, ...options }) => {
|
|
@@ -16207,7 +16249,7 @@ var serializeObjectParam = ({ allowReserved, explode, name, style, value, valueO
|
|
|
16207
16249
|
|
|
16208
16250
|
// ../../../node_modules/@opencode-ai/sdk/dist/v2/gen/core/utils.gen.js
|
|
16209
16251
|
var PATH_PARAM_RE = /\{[^{}]+\}/g;
|
|
16210
|
-
var defaultPathSerializer = ({ path:
|
|
16252
|
+
var defaultPathSerializer = ({ path: path7, url: _url2 }) => {
|
|
16211
16253
|
let url2 = _url2;
|
|
16212
16254
|
const matches = _url2.match(PATH_PARAM_RE);
|
|
16213
16255
|
if (matches) {
|
|
@@ -16226,7 +16268,7 @@ var defaultPathSerializer = ({ path: path6, url: _url2 }) => {
|
|
|
16226
16268
|
name = name.substring(1);
|
|
16227
16269
|
style = "matrix";
|
|
16228
16270
|
}
|
|
16229
|
-
const value =
|
|
16271
|
+
const value = path7[name];
|
|
16230
16272
|
if (value === void 0 || value === null) {
|
|
16231
16273
|
continue;
|
|
16232
16274
|
}
|
|
@@ -16257,11 +16299,11 @@ var defaultPathSerializer = ({ path: path6, url: _url2 }) => {
|
|
|
16257
16299
|
}
|
|
16258
16300
|
return url2;
|
|
16259
16301
|
};
|
|
16260
|
-
var getUrl = ({ baseUrl, path:
|
|
16302
|
+
var getUrl = ({ baseUrl, path: path7, query, querySerializer, url: _url2 }) => {
|
|
16261
16303
|
const pathUrl = _url2.startsWith("/") ? _url2 : `/${_url2}`;
|
|
16262
16304
|
let url2 = (baseUrl ?? "") + pathUrl;
|
|
16263
|
-
if (
|
|
16264
|
-
url2 = defaultPathSerializer({ path:
|
|
16305
|
+
if (path7) {
|
|
16306
|
+
url2 = defaultPathSerializer({ path: path7, url: url2 });
|
|
16265
16307
|
}
|
|
16266
16308
|
let search = query ? querySerializer(query) : "";
|
|
16267
16309
|
if (search.startsWith("?")) {
|
|
@@ -21724,7 +21766,7 @@ function signalProcessTree(child, signal) {
|
|
|
21724
21766
|
function safeOpenCodeServerCwd(environment) {
|
|
21725
21767
|
const candidates = [environment.USERPROFILE, environment.HOME, homedir(), tmpdir()];
|
|
21726
21768
|
for (const candidate of candidates) {
|
|
21727
|
-
if (!candidate)
|
|
21769
|
+
if (!candidate || !path4.isAbsolute(candidate))
|
|
21728
21770
|
continue;
|
|
21729
21771
|
try {
|
|
21730
21772
|
if (!fs2.statSync(candidate).isDirectory())
|
|
@@ -21833,7 +21875,10 @@ var OpenCodeServerConnection = class {
|
|
|
21833
21875
|
OPENCODE_SERVER_PASSWORD: password
|
|
21834
21876
|
};
|
|
21835
21877
|
const invocation = openCodeServerInvocation(executable, environment);
|
|
21836
|
-
const serverCwd = safeOpenCodeServerCwd(environment);
|
|
21878
|
+
const serverCwd = (this.#dependencies.resolveServerCwd ?? safeOpenCodeServerCwd)(environment);
|
|
21879
|
+
if (!serverCwd) {
|
|
21880
|
+
throw new OpenCodeTransportError("unavailable", "OpenCode Server requires a writable startup directory");
|
|
21881
|
+
}
|
|
21837
21882
|
let child;
|
|
21838
21883
|
try {
|
|
21839
21884
|
child = this.#dependencies.spawn(invocation.command, invocation.arguments, {
|
|
@@ -21842,7 +21887,7 @@ var OpenCodeServerConnection = class {
|
|
|
21842
21887
|
detached: process.platform !== "win32",
|
|
21843
21888
|
windowsHide: true,
|
|
21844
21889
|
windowsVerbatimArguments: invocation.windowsVerbatimArguments,
|
|
21845
|
-
|
|
21890
|
+
cwd: serverCwd
|
|
21846
21891
|
});
|
|
21847
21892
|
} catch (error51) {
|
|
21848
21893
|
throw new OpenCodeTransportError(isMissingExecutable(error51) ? "notInstalled" : "unavailable", isMissingExecutable(error51) ? "OpenCode CLI is not installed" : "OpenCode Server failed to start", { cause: error51 });
|
|
@@ -22154,7 +22199,7 @@ var SdkOpenCodeTransport = class {
|
|
|
22154
22199
|
|
|
22155
22200
|
// dist/file-change-verification.js
|
|
22156
22201
|
import fs3 from "node:fs";
|
|
22157
|
-
import
|
|
22202
|
+
import path5 from "node:path";
|
|
22158
22203
|
function missingPath(error51) {
|
|
22159
22204
|
if (!error51 || typeof error51 !== "object")
|
|
22160
22205
|
return false;
|
|
@@ -22166,33 +22211,33 @@ function hasDotPathSegment(value) {
|
|
|
22166
22211
|
return segments.some((segment) => segment === "." || segment === "..");
|
|
22167
22212
|
}
|
|
22168
22213
|
function canonicalDirectoryPath(value) {
|
|
22169
|
-
let candidate =
|
|
22214
|
+
let candidate = path5.resolve(value);
|
|
22170
22215
|
const missingSegments = [];
|
|
22171
22216
|
for (; ; ) {
|
|
22172
22217
|
try {
|
|
22173
|
-
return
|
|
22218
|
+
return path5.join(fs3.realpathSync.native(candidate), ...missingSegments);
|
|
22174
22219
|
} catch (error51) {
|
|
22175
22220
|
if (!missingPath(error51))
|
|
22176
22221
|
return void 0;
|
|
22177
|
-
const parent =
|
|
22222
|
+
const parent = path5.dirname(candidate);
|
|
22178
22223
|
if (parent === candidate)
|
|
22179
22224
|
return void 0;
|
|
22180
|
-
missingSegments.unshift(
|
|
22225
|
+
missingSegments.unshift(path5.basename(candidate));
|
|
22181
22226
|
candidate = parent;
|
|
22182
22227
|
}
|
|
22183
22228
|
}
|
|
22184
22229
|
}
|
|
22185
22230
|
function canonicalFilePath(value) {
|
|
22186
|
-
const absolute =
|
|
22187
|
-
const parent = canonicalDirectoryPath(
|
|
22188
|
-
return parent ?
|
|
22231
|
+
const absolute = path5.resolve(value);
|
|
22232
|
+
const parent = canonicalDirectoryPath(path5.dirname(absolute));
|
|
22233
|
+
return parent ? path5.join(parent, path5.basename(absolute)) : void 0;
|
|
22189
22234
|
}
|
|
22190
22235
|
function pathIsWithin(root, candidate, allowRoot) {
|
|
22191
|
-
const relative =
|
|
22192
|
-
return allowRoot && relative === "" || relative !== "" && relative !== ".." && !relative.startsWith(`..${
|
|
22236
|
+
const relative = path5.relative(root, candidate);
|
|
22237
|
+
return allowRoot && relative === "" || relative !== "" && relative !== ".." && !relative.startsWith(`..${path5.sep}`) && !path5.isAbsolute(relative);
|
|
22193
22238
|
}
|
|
22194
22239
|
function verifiedOpenCodeWorktree(sessionDirectory, paths) {
|
|
22195
|
-
if (!paths || typeof paths !== "object" || typeof sessionDirectory !== "string" || typeof paths.directory !== "string" || typeof paths.worktree !== "string" || hasDotPathSegment(sessionDirectory) || hasDotPathSegment(paths.directory) || hasDotPathSegment(paths.worktree) || !
|
|
22240
|
+
if (!paths || typeof paths !== "object" || typeof sessionDirectory !== "string" || typeof paths.directory !== "string" || typeof paths.worktree !== "string" || hasDotPathSegment(sessionDirectory) || hasDotPathSegment(paths.directory) || hasDotPathSegment(paths.worktree) || !path5.isAbsolute(sessionDirectory) || !path5.isAbsolute(paths.directory) || !path5.isAbsolute(paths.worktree)) {
|
|
22196
22241
|
return void 0;
|
|
22197
22242
|
}
|
|
22198
22243
|
const session = canonicalDirectoryPath(sessionDirectory);
|
|
@@ -22204,10 +22249,10 @@ function verifiedOpenCodeWorktree(sessionDirectory, paths) {
|
|
|
22204
22249
|
return worktree;
|
|
22205
22250
|
}
|
|
22206
22251
|
function openCodeFileIdentity(file2, worktree) {
|
|
22207
|
-
if (typeof file2 !== "string" || typeof worktree !== "string" || hasDotPathSegment(file2) || hasDotPathSegment(worktree) || !
|
|
22252
|
+
if (typeof file2 !== "string" || typeof worktree !== "string" || hasDotPathSegment(file2) || hasDotPathSegment(worktree) || !path5.isAbsolute(worktree) || !file2 || file2.includes("\0") || file2.includes("\n") || file2.includes("\r")) {
|
|
22208
22253
|
return void 0;
|
|
22209
22254
|
}
|
|
22210
|
-
const candidate = canonicalFilePath(
|
|
22255
|
+
const candidate = canonicalFilePath(path5.isAbsolute(file2) ? file2 : path5.resolve(worktree, file2));
|
|
22211
22256
|
return candidate && pathIsWithin(worktree, candidate, false) ? candidate : void 0;
|
|
22212
22257
|
}
|
|
22213
22258
|
|
|
@@ -22496,7 +22541,7 @@ function sameCwd(left, right) {
|
|
|
22496
22541
|
try {
|
|
22497
22542
|
return fs4.realpathSync.native(value);
|
|
22498
22543
|
} catch {
|
|
22499
|
-
return
|
|
22544
|
+
return path6.resolve(value);
|
|
22500
22545
|
}
|
|
22501
22546
|
};
|
|
22502
22547
|
return canonical(left) === canonical(right);
|
|
@@ -22854,7 +22899,7 @@ var OpenCodeHarnessSession = class {
|
|
|
22854
22899
|
}
|
|
22855
22900
|
}
|
|
22856
22901
|
async #selectModel(command) {
|
|
22857
|
-
if (this.#
|
|
22902
|
+
if (this.#configuring) {
|
|
22858
22903
|
return {
|
|
22859
22904
|
ok: false,
|
|
22860
22905
|
error: {
|
|
@@ -22898,7 +22943,7 @@ var OpenCodeHarnessSession = class {
|
|
|
22898
22943
|
if (!this.capabilities.configuration.selectThinkingOption) {
|
|
22899
22944
|
return { ok: false, error: unsupported("OpenCode Model variants are unavailable") };
|
|
22900
22945
|
}
|
|
22901
|
-
if (this.#
|
|
22946
|
+
if (this.#configuring) {
|
|
22902
22947
|
return {
|
|
22903
22948
|
ok: false,
|
|
22904
22949
|
error: {
|
|
@@ -23353,6 +23398,7 @@ var OpenCodeHarnessSession = class {
|
|
|
23353
23398
|
const item = {
|
|
23354
23399
|
type: "fileChange",
|
|
23355
23400
|
itemId: hostItemIdSchema.parse(id),
|
|
23401
|
+
sourceItemIds: [...active.items.values()].map(({ item: item2 }) => item2.itemId),
|
|
23356
23402
|
changes
|
|
23357
23403
|
};
|
|
23358
23404
|
active.items.set(id, { item, completed: false });
|
|
@@ -14526,6 +14526,46 @@ config(en_default());
|
|
|
14526
14526
|
// ../../shared-contracts/dist/version.js
|
|
14527
14527
|
var WORKSPACE_CONTRACT_VERSION = 1;
|
|
14528
14528
|
|
|
14529
|
+
// ../../shared-contracts/dist/idle-release.js
|
|
14530
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
|
|
14531
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
|
|
14532
|
+
var idleReleaseSettingsSchema = external_exports.strictObject({
|
|
14533
|
+
enabled: external_exports.boolean(),
|
|
14534
|
+
timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
|
|
14535
|
+
});
|
|
14536
|
+
var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
|
|
14537
|
+
enabled: false,
|
|
14538
|
+
timeoutMinutes: 30
|
|
14539
|
+
});
|
|
14540
|
+
|
|
14541
|
+
// ../../shared-contracts/dist/loaded-sessions.js
|
|
14542
|
+
var loadedSessionStateSchema = external_exports.enum([
|
|
14543
|
+
"idle",
|
|
14544
|
+
"running",
|
|
14545
|
+
"busy",
|
|
14546
|
+
"closing",
|
|
14547
|
+
"failed",
|
|
14548
|
+
"blocked"
|
|
14549
|
+
]);
|
|
14550
|
+
var loadedSessionReasonSchema = external_exports.enum([
|
|
14551
|
+
"none",
|
|
14552
|
+
"disabled",
|
|
14553
|
+
"timeout",
|
|
14554
|
+
"operation",
|
|
14555
|
+
"background",
|
|
14556
|
+
"identity",
|
|
14557
|
+
"persistence",
|
|
14558
|
+
"closeFailed"
|
|
14559
|
+
]);
|
|
14560
|
+
var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
|
|
14561
|
+
threadId: external_exports.string(),
|
|
14562
|
+
title: external_exports.string(),
|
|
14563
|
+
harnessId: external_exports.string(),
|
|
14564
|
+
state: loadedSessionStateSchema,
|
|
14565
|
+
reason: loadedSessionReasonSchema,
|
|
14566
|
+
inactiveMs: external_exports.number().nonnegative()
|
|
14567
|
+
}));
|
|
14568
|
+
|
|
14529
14569
|
// ../../shared-contracts/dist/ids.js
|
|
14530
14570
|
var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
|
|
14531
14571
|
message: "Identifier must not be empty or whitespace"
|
|
@@ -18640,7 +18680,8 @@ function synthesizeFileChange(kind, args, cwd) {
|
|
|
18640
18680
|
{
|
|
18641
18681
|
path: displayed.path,
|
|
18642
18682
|
kind: "add",
|
|
18643
|
-
unifiedDiff: createTwoFilesPatch(oldHeader2, newHeader2, "", content, "", "", { context: 3 })
|
|
18683
|
+
unifiedDiff: createTwoFilesPatch(oldHeader2, newHeader2, "", content, "", "", { context: 3 }),
|
|
18684
|
+
diffScope: "fragment"
|
|
18644
18685
|
}
|
|
18645
18686
|
];
|
|
18646
18687
|
}
|
|
@@ -18662,7 +18703,8 @@ function synthesizeFileChange(kind, args, cwd) {
|
|
|
18662
18703
|
kind: "update",
|
|
18663
18704
|
unifiedDiff: createTwoFilesPatch(oldHeader, newHeader, oldText, newText, "", "", {
|
|
18664
18705
|
context: 3
|
|
18665
|
-
})
|
|
18706
|
+
}),
|
|
18707
|
+
diffScope: "fragment"
|
|
18666
18708
|
}
|
|
18667
18709
|
];
|
|
18668
18710
|
}
|
|
@@ -18959,7 +19001,7 @@ var PiHarnessSession = class {
|
|
|
18959
19001
|
}
|
|
18960
19002
|
}
|
|
18961
19003
|
async #selectModel(command) {
|
|
18962
|
-
if (this.#acceptingTurn || this.#
|
|
19004
|
+
if (this.#acceptingTurn || this.#configuring) {
|
|
18963
19005
|
return {
|
|
18964
19006
|
ok: false,
|
|
18965
19007
|
error: {
|
|
@@ -19028,7 +19070,7 @@ var PiHarnessSession = class {
|
|
|
19028
19070
|
}
|
|
19029
19071
|
};
|
|
19030
19072
|
}
|
|
19031
|
-
if (this.#acceptingTurn || this.#
|
|
19073
|
+
if (this.#acceptingTurn || this.#configuring) {
|
|
19032
19074
|
return {
|
|
19033
19075
|
ok: false,
|
|
19034
19076
|
error: {
|
|
@@ -19698,12 +19740,17 @@ var PiHarnessSession = class {
|
|
|
19698
19740
|
try {
|
|
19699
19741
|
const kind = fileMutatingKind(event.toolName);
|
|
19700
19742
|
const args = tool.item.type === "toolExecution" ? tool.item.arguments : {};
|
|
19701
|
-
if (kind && synthesizeFileChange(kind, args, this.#cwd)) {
|
|
19743
|
+
if (kind && !patchFromResult(event.result) && synthesizeFileChange(kind, args, this.#cwd)) {
|
|
19702
19744
|
return;
|
|
19703
19745
|
}
|
|
19704
19746
|
const changes = reliableFileChange(event.toolName, args, event.result, this.#cwd);
|
|
19705
19747
|
if (changes) {
|
|
19706
|
-
const fileItem = {
|
|
19748
|
+
const fileItem = {
|
|
19749
|
+
type: "fileChange",
|
|
19750
|
+
itemId: this.#newItemId(),
|
|
19751
|
+
sourceItemIds: [tool.item.itemId],
|
|
19752
|
+
changes
|
|
19753
|
+
};
|
|
19707
19754
|
this.#event({ type: "item.started", turnId: active.command.turnId, item: fileItem });
|
|
19708
19755
|
this.#completeItem(active, fileItem, { status: "succeeded" });
|
|
19709
19756
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="206" height="206" fill="none" viewBox="0 0 206 206"><rect width="206" height="206" fill="#f3f3f3" rx="52"/><path fill="#0f0d0c" fill-rule="evenodd" d="M104.003 35.836q.178.08.305.145.4.2.629.321l49.944 26.33.019.01q.139.073.273.155 8.37 4.521 12.99 13.05 4.587 8.466 4.587 19.301v22.489q0 .238-.022.474v40.14q0 7.99-6.72 12.312-6.719 4.323-13.987 1.01l-8.542-3.891-.03.017-.17.097-.12.071q-.849.502-1.319.758-.077.043-.308.165l-.106.056-.252.133q-.622.337-1.213.631l-.619.301-.15.071a79 79 0 0 1-1.167.542l-.773.336q-.387.17-1.115.46l-.135.054-.11.046-.167.068a13 13 0 0 1-.588.228q-.398.146-1.256.444l-.002.001-.164.058q-.249.091-.55.188-.89.294-2.014.605l-3.505.961q-.975.27-1.813.459l-.396.083-.398.081q-.564.12-.9.186a11 11 0 0 1-.52.092l-.509.082-.066.011q-.472.08-.74.118-.189.029-.577.074l-.396.05-.657.076q-.221.025-.494.045l-.114.011-.051.004a42 42 0 0 1-1.407.098l.037-.004q-.223.02-.447.02h-.061q-.6.028-1.016.028h-.666l-.111-.001-.222-.003a24 24 0 0 1-1.27-.049l-.028-.002-.17-.006-.381-.019q-.092-.005-.185-.013l-.7-.062q-.66-.063-1.264-.142l-.199-.024q-.065-.007-.129-.017a50 50 0 0 1-1.393-.228l-.502-.094-.03-.006a12 12 0 0 1-.601-.123l-.046-.011-.066-.015-.121-.028a31 31 0 0 1-1.381-.343l-.027-.007a10 10 0 0 1-.428-.113h-.001a31 31 0 0 1-1.737-.547 5 5 0 0 1-.459-.168l-.12-.046a39 39 0 0 1-1.209-.472 11 11 0 0 1-.333-.144l-.087-.038-.171-.074a29 29 0 0 1-1.098-.502l-.08-.038-.015-.007a6 6 0 0 1-.251-.12q-.104-.052-.209-.107l-.062-.032a5 5 0 0 1-.357-.17l-.003-.001-49.452-26.07a5 5 0 0 1-.972-.517 31 31 0 0 1-6.12-4.384l-.003-.003-.011-.011-.045-.04a32 32 0 0 1-2.374-2.438l-.022-.026-.005-.006a36 36 0 0 1-1.448-1.788q-7.307-9.666-7.307-23.449V90.495q0-.996.043-2.303a20 20 0 0 1 .06-.904q.05-.84.119-1.563a19 19 0 0 1 .11-.975l.035-.301q.083-.72.14-1.117a57 57 0 0 1 .167-1.031l.038-.234q.115-.71.192-1.108v-.005l-.003.017q.023-.15.044-.258a49 49 0 0 1 .389-1.818q.18-.803.45-1.817.051-.2.132-.493l.023-.08a75 75 0 0 1 .604-2.032q.047-.15.12-.356l.012-.032q.359-1.105.677-1.972a35 35 0 0 1 .313-.821l.08-.21q.333-.864.526-1.323l-.004.007q.056-.147.107-.266a16 16 0 0 1 .31-.713q.327-.75.5-1.132a55 55 0 0 1 .668-1.404q.244-.502.382-.772l.032-.065q.075-.157.136-.278a15 15 0 0 1 .36-.676l.137-.257a58 58 0 0 1 .995-1.79 30 30 0 0 1 .642-1.095l-.004.005.007-.011-.007.011q.078-.137.131-.227.155-.257.429-.682.27-.44.588-.93.231-.356.671-1.004l.314-.456.297-.43.063-.09v-.002q.12-.18.211-.306.09-.128.296-.403l.13-.174q.471-.645.726-.979l.357-.456.331-.424a36 36 0 0 1 .837-1.05 17 17 0 0 1 .63-.75l.327-.378q.358-.417.556-.64l.696-.767a74 74 0 0 1 1.015-1.086l.011-.015a11 11 0 0 1 .54-.555l.104-.102a78 78 0 0 1 1.898-1.84 50 50 0 0 1 1.59-1.424l-.011.008q.148-.137.256-.232a5 5 0 0 1 .275-.223l.027-.02.017-.014a77 77 0 0 1 1.496-1.217q.303-.24.475-.37a83 83 0 0 1 1.224-.92q.126-.088.424-.306.585-.423 1.403-.976l-.002.001.045-.032a13 13 0 0 1 .466-.315q.992-.647 1.703-1.075.141-.088.456-.268l.103-.061a47 47 0 0 1 1.32-.758l.632-.337.033-.017q.623-.336 1.213-.631.273-.136.774-.374.509-.243 1.163-.539l.415-.182.358-.155q.448-.193 1.248-.514l.225-.088q.365-.143.565-.218a88 88 0 0 1 1.515-.536q.339-.12.556-.19.924-.302 1.993-.6l3.509-.96a37 37 0 0 1 1.807-.46q.248-.057.627-.133.482-.11 1.1-.228a17 17 0 0 1 .743-.126l.298-.05a33 33 0 0 1 .862-.135l.33-.04.331-.04.248-.032q.424-.054.664-.08.165-.016.33-.023l.324-.024q.695-.06 1.128-.081.21-.013.655-.026h.016l.336-.01a23 23 0 0 1 1.147-.017l.185.001.314.005a26 26 0 0 1 1.376.048l.23.013.344.018q.18.01.524.046l.306.027q.609.058 1.245.14l.014.002h.001q.165.018.29.036.642.086 1.428.228.098.018.194.04l.003-.001.303.059q.336.06.554.11.115.024.294.073l.072.016q.328.073.682.162.293.073.6.157l-.004-.002.033.008q.165.04.304.078l.045.013q.09.024.168.049l.012.003a31 31 0 0 1 1.731.553q.2.067.444.166.697.252 1.267.491l.148.064.459.2q.515.23 1.045.485zm-2.971-1.263h-.002q.004 0 .008.002zm3.871 127.988.763.402q.077.042.269.139l.09.046q.1.045.12.057l.136.064q.41.198.771.353l.011.005q.127.053.317.138l.072.032q.341.141.956.372l.05.02.183.068.014.006q.599.21 1.264.398l-.084-.018q.104.023.206.05l.208.054q.52.14 1.057.261l.073.017.072.016.113.026.108.019.031.006.436.082q.536.095 1.052.173l.2.025q.44.057.878.098l.611.055.186.01.376.016.028.002q.261.017.429.023.098.004.368.008l.239.003h.615q.208 0 .643-.021a4 4 0 0 1 .251-.007h.022l.137-.007-.018.003.178-.013q.25-.012.835-.061l.156-.014.154-.012.07-.006.539-.061.504-.064q.204-.024.312-.04a20 20 0 0 0 .618-.099l.402-.066.199-.032-.009.004q.057-.013.116-.024.252-.048.838-.172l.33-.067.255-.053q.608-.138 1.377-.35l3.477-.953a37 37 0 0 0 1.655-.499l.104-.034.127-.047.239-.084h.002q.78-.27 1.191-.421l.146-.059.135-.055.22-.091.141-.056q.579-.231.832-.342l.639-.278q.57-.257.997-.461l.089-.042.509-.247q.458-.228 1.02-.532l.158-.083.218-.116q.096-.049.178-.095.317-.174 1.018-.587l.207-.122.128-.074h.001q.124-.073.226-.13a39 39 0 0 0 1.26-.793l.358-.245a4.95 4.95 0 0 1 4.843-.416l10.977 5.001q2.352 1.073 4.527-.327t2.176-3.986v-40.637q0-.237.022-.474V95.148q0-17.112-12.596-23.755l-.295-.156-.163-.079-.176-.086a19 19 0 0 0-.767-.354q-.265-.12-.385-.168-.35-.148-.871-.337l-.182-.067-.102-.04q-.56-.194-1.217-.383l-.097-.026-.222-.058a38 38 0 0 0-1.026-.253l-.122-.026a31 31 0 0 0-.681-.144l-.118-.023a25 25 0 0 0-1.016-.163 6 6 0 0 1-.225-.027 29 29 0 0 0-.873-.1h-.006l-.327-.03a37 37 0 0 0-1.369-.078q-.12-.008-.523-.008h-.509a44 44 0 0 0-1.116.038l-.18.007q-.256.013-.859.063l-.046.004-.204.014-.135.01a20 20 0 0 0-.454.053 35 35 0 0 1-.636.075l-.206.025q-.145.022-.496.082l-.612.1q-.197.03-.279.046-.171.032-.602.125l-.237.051a22 22 0 0 1-.524.112q-.735.168-1.382.346l-3.476.953a36 36 0 0 0-1.54.46l-.291.102-.355.122a27 27 0 0 0-1.659.61q-.613.242-.941.383l-.648.284-.42.193V91.28q0 1.152-.056 2.307-.01.223-.037.576l-.001.004-.019.28-.001.026a43 43 0 0 1-.113 1.478 25 25 0 0 1-.076.68l-.052.433-.03.249a32 32 0 0 1-.234 1.677l-.056.354v.002q-.138.833-.221 1.265-.19.999-.399 1.935l-.027.11a45 45 0 0 1-.46 1.83l-.141.512a62 62 0 0 1-.542 1.831l-.151.467a54 54 0 0 1-.663 1.928 19 19 0 0 1-.2.526l-.017.042.004-.01-.112.295-.073.188q-.326.841-.495 1.251a27 27 0 0 1-.354.834l-.063.152q-.269.631-.492 1.106-.124.28-.359.772l-.135.283-.098.204a46 46 0 0 1-.971 1.916l-.314.587-.216.397q-.188.339-.563.993l-.076.132a32 32 0 0 1-.507.856q-.284.475-.6.969l-.084.133a42 42 0 0 1-.965 1.488l-.22.327-.021.032-.58.845-.066.092-.58.805a53 53 0 0 1-1.41 1.856l-.212.268q-.316.401-.48.601-.234.29-.674.806l-.04.046-.005.005q-.386.461-.854.988-.237.266-.69.767a46.143 46.143 0 0 1-1.393 1.477l-.219.223a55 55 0 0 1-1.216 1.193l-.18.174-.202.193-.258.247q-.778.722-1.567 1.402l-.099.086-.08.071-.08.072q-.067.06-.137.117l-.198.165a76 76 0 0 1-1.308 1.071l-.006.005q-.134.11-.339.266l-.147.113-.083.063a58 58 0 0 1-1.375 1.031q-.198.147-.307.225-.66.473-1.278.885l-.32.222-.103.07q-.884.584-1.833 1.157l-.009.005q.348 15.759 11.753 22.249zM85.109 152.14q-1.87-5.93-1.874-12.803v-22.492q0-1.2.056-2.394a20 20 0 0 1 .058-.825l.023-.336q.054-.795.098-1.255.019-.19.059-.524.029-.237.047-.42l.036-.309q.084-.721.145-1.146.06-.399.16-.987l.025-.153q.126-.756.202-1.176a50 50 0 0 1 .435-2.086l.011-.046a61 61 0 0 1 .594-2.337q.275-.996.552-1.867l.01-.028q.022-.074.045-.144.054-.17.132-.387l.006-.016q.387-1.18.662-1.928a36 36 0 0 1 .307-.805 52 52 0 0 1 1.037-2.544q.32-.736.5-1.132.162-.36.48-1.016l.003-.01q.271-.57.547-1.11.136-.273.4-.78l.138-.267a54 54 0 0 1 1.136-2.052l.267-.46.298-.51q.215-.36.604-.977.152-.248.443-.703l.177-.278q.228-.352.645-.965.386-.578.667-.969.323-.46.674-.931.465-.637.71-.958.275-.36.721-.922l.345-.434.39-.49q.232-.281.686-.819l.023-.028.204-.239a51 51 0 0 1 1.37-1.552q.31-.343.926-.994.368-.388.717-.737.525-.533 1.23-1.206.44-.428.662-.63a61 61 0 0 1 1.657-1.483l.013-.012.011-.01-.011.01a8 8 0 0 1 .61-.519q.738-.615 1.302-1.06.203-.159.561-.432.655-.507 1.155-.872l.542-.397q.627-.453 1.35-.938l.049-.034q.216-.15.395-.265a59 59 0 0 1 1.883-1.19q.193-.11.295-.171a50 50 0 0 1 1.797-1.02l.208-.11.148-.076a44 44 0 0 1 1.986-1.005q.645-.307 1.169-.545l.754-.331q.534-.23 1.292-.529.481-.192.76-.297.6-.228 1.397-.494l.247-.086.292-.1a49 49 0 0 1 2.128-.645l3.508-.961q.325-.09.667-.178L100.3 45.05a21 21 0 0 0-.393-.201l-.006-.003.007.004a10 10 0 0 1-.29-.137 28 28 0 0 0-1.186-.536l-.002-.001a16 16 0 0 0-.783-.3 7 7 0 0 1-.282-.107l-.036-.013a24 24 0 0 0-1.27-.405l-.086-.023q-.12-.03-.197-.05a19 19 0 0 0-.981-.242 6 6 0 0 1-.354-.085l-.111-.021-.36-.07h-.003l-.182-.035a23 23 0 0 0-.95-.152 9 9 0 0 1-.291-.035q-.405-.052-.83-.093l-.354-.032-.067-.007h-.004l-.103-.01-.207-.011-.344-.019a18 18 0 0 0-.918-.031l-.311-.005h-.146a8 8 0 0 0-.357 0q-.087 0-.354.01-.25.009-.403.012-.29.009-.396.015-.315.017-.895.066l-.284.021-.23.017-.033.003a39 39 0 0 0-.608.077l-.34.04-.262.032-.46.075a64 64 0 0 1-.811.134q-.489.094-.942.196-.327.066-.456.096-.654.149-1.381.351l-3.516.964q-.838.233-1.604.483-.09.03-.25.086l-.276.097q-.762.265-1.128.399l-.385.15-.207.08a44 44 0 0 0-.952.391l-.33.144-.358.156a58 58 0 0 0-.93.432l-.005.002q-.41.195-.594.287-.456.228-.983.512l-.034.018-.595.317a39 39 0 0 0-1.145.664q-.223.128-.268.156a50 50 0 0 0-1.574.997l-.056.04-.174.12a47 47 0 0 0-2.596 1.874q-.14.106-.374.291-.059.046-.088.07-.623.495-1.143.93-.09.079-.264.216a9 9 0 0 1-.21.188 43 43 0 0 0-1.92 1.752q-.45.432-1.045 1.027a22 22 0 0 1-.308.302l-.011.014a12 12 0 0 1-.269.287q-.51.543-.75.806l-.666.734q-.11.125-.411.474l-.466.54a13 13 0 0 0-.433.522q-.323.395-.572.72l-.357.457-.332.424q-.156.204-.557.754l-.206.277-.162.22-.03.045q-.094.14-.169.246l-.275.4-.297.43q-.362.534-.532.796a41 41 0 0 0-.556.88q-.205.317-.282.444l-.02.037q-.117.205-.217.365-.232.385-.415.714a55 55 0 0 0-.87 1.564l-.133.248a19 19 0 0 1-.221.408l-.068.134-.004.01q-.098.205-.173.349-.07.138-.276.563l-.17.348q-.266.552-.384.811a91 91 0 0 0-.435.988q-.044.103-.131.295a8 8 0 0 0-.142.329l-.002.006.008-.018q-.05.13-.087.219-.147.352-.425 1.075l-.086.222-.068.175q-.13.337-.184.482a46 46 0 0 0-.57 1.663l-.07.209a5 5 0 0 1-.098.3q-.155.493-.44 1.494l-.016.053a9 9 0 0 0-.095.36 38 38 0 0 0-.407 1.643l-.008.036q-.135.582-.274 1.29v.005l.003-.018q-.023.15-.044.257-.054.277-.145.844l-.047.283q-.09.54-.138.847-.032.225-.099.802l-.07.586a12 12 0 0 0-.047.422q-.06.62-.101 1.342l-.026.35q-.019.23-.023.307-.034 1.072-.034 1.906v22.489q0 10.089 4.938 16.98.183.257.372.507.45.599 1.037 1.278a22 22 0 0 0 1.648 1.689l.04.037a21.4 21.4 0 0 0 4.484 3.147l.03.015.051.027zm8.026-23.904q.47-.383.73-.601l.197-.164.014-.012.08-.071.173-.153q.705-.608 1.35-1.206l.146-.142.203-.193.15-.146a48 48 0 0 0 1.62-1.612 59 59 0 0 0 1.356-1.483 37 37 0 0 0 .788-.91l.019-.022a29 29 0 0 0 .899-1.097l.232-.293a40 40 0 0 0 1.143-1.505l.562-.78.022-.031.49-.716.002-.003.188-.28q.254-.377.359-.542.16-.245.432-.677l.088-.141a26 26 0 0 0 .564-.911q.104-.166.347-.589l.082-.143q.33-.574.485-.853l.171-.315.279-.523a41 41 0 0 0 .786-1.549l.104-.217.113-.238a37.223 37.223 0 0 0 .679-1.496l.016-.042.149-.347q.131-.303.181-.426.154-.374.439-1.112l.076-.194.081-.217.07-.178.082-.21q.297-.815.567-1.649l.156-.479q.189-.607.426-1.45l.122-.445q.199-.726.36-1.428l.053-.221q.135-.61.296-1.46.064-.33.177-1.021l.001-.002.046-.294.016-.1q.049-.3.065-.418a30 30 0 0 0 .134-1.055l.05-.421q.037-.296.049-.425.04-.385.089-1.179l.002-.027.024-.358.007-.092.015-.195q.047-.981.047-1.896V79.333l-.311.259-.116.094-.117.094-.003.003.012-.009a8 8 0 0 1-.256.227q-.683.59-1.382 1.24-.145.133-.507.483a50 50 0 0 0-3.576 3.782l-.197.231q-.412.488-.551.655l-.345.435-.341.428a53 53 0 0 0-.596.762q-.19.248-.608.82a43 43 0 0 0-1.103 1.563q-.38.56-.525.783l-.164.258q-.247.388-.385.61-.358.57-.484.778l-.267.46-.264.453a47 47 0 0 0-1.392 2.579q-.235.463-.466.947v.002q-.272.565-.387.817a85 85 0 0 0-.799 1.835q-.228.55-.508 1.289l-.066.171q-.13.338-.19.5-.225.614-.6 1.755l-.048.134-.003.001-.035.112-.05.159a40 40 0 0 0-.547 1.889 51 51 0 0 0-.407 1.643l-.004.014a39 39 0 0 0-.314 1.518q-.059.325-.173 1.015l-.028.171q-.088.512-.13.791-.036.254-.103.831l-.03.251q-.018.192-.059.525l-.035.301q-.028.303-.073.97l-.026.366-.022.287q-.018.23-.022.308-.046.959-.046 1.923z" clip-rule="evenodd"/><path stroke="#0f0d0c" stroke-width="3.5" d="m41.782 61.323.004-.005-.07.114q-.34.561-.572.98a55 55 0 0 0-1.133 2.048l-.075.138a15 15 0 0 0-.42.816l-.032.065q-.139.27-.382.772l-.178.365q-.32.665-.49 1.039a100 100 0 0 0-.57 1.289 16 16 0 0 0-.347.822l.004-.008a50 50 0 0 0-.606 1.534l-.06.156q-.17.435-.253.665a54 54 0 0 0-.677 1.972l-.012.032a10 10 0 0 0-.177.536 75 75 0 0 0-.547 1.851l-.023.08q-.081.293-.131.494a47 47 0 0 0-.492 1.99 49 49 0 0 0-.348 1.645q-.02.108-.044.258l.003-.017v.005q-.077.397-.192 1.108l-.038.234a57 57 0 0 0-.167 1.03 42 42 0 0 0-.175 1.419l-.024.19q-.066.536-.086.785a43 43 0 0 0-.118 1.563l-.016.2q-.03.392-.045.704a72 72 0 0 0-.043 2.303v22.488q0 13.783 7.307 23.449l.277.363a36 36 0 0 0 1.176 1.431l.022.026q1.169 1.332 2.374 2.438l.045.04.011.011.004.003a31 31 0 0 0 6.119 4.384q.458.313.972.517l49.452 26.07.003.001q.177.093.357.17l.062.032q.105.055.209.107.112.057.251.12l.015.007.08.038q.606.29 1.098.502l.171.074.087.038q.19.085.333.144.49.203 1.209.472l.12.046q.225.096.459.168a31 31 0 0 0 1.737.547h.001q.235.067.428.113l.027.007q.74.2 1.381.343l.121.028.066.015.046.011q.239.057.601.123l.03.006.502.094q.708.126 1.393.228.065.01.129.017l.199.024q.604.08 1.264.142l.7.062q.093.008.185.013l.381.019.17.006.028.002q.42.026.609.032a24 24 0 0 0 .994.021h.666q.416 0 1.016-.028h.061q.224 0 .447-.02l-.037.004q.163-.007.295-.017a42 42 0 0 0 1.112-.081l.051-.004.114-.011q.273-.02.494-.045l.657-.076.396-.05q.388-.045.577-.074a35 35 0 0 0 .806-.129l.509-.082.062-.01q.26-.042.458-.082.336-.066.9-.186l.398-.081.396-.083a39 39 0 0 0 1.813-.459l3.505-.961q1.123-.31 2.014-.605.301-.097.55-.188l.164-.058.002-.001q.858-.298 1.256-.444.236-.083.588-.228l.167-.068.11-.046.135-.054q.728-.29 1.115-.46l.773-.336a79 79 0 0 0 1.167-.542l.15-.071.619-.301q.59-.294 1.213-.631l.252-.133.106-.056q.231-.121.308-.165.47-.256 1.319-.758l.12-.071.17-.097.03-.017 8.542 3.891q7.268 3.313 13.987-1.01 6.72-4.322 6.72-12.312v-40.14q.022-.236.022-.474V95.148q0-10.834-4.587-19.302-4.62-8.528-12.99-13.049a5 5 0 0 0-.273-.155l-.019-.01-49.944-26.33a30 30 0 0 0-.629-.322 9 9 0 0 0-.305-.144l-.04-.02a39 39 0 0 0-1.504-.684l-.148-.064q-.57-.24-1.267-.491a8 8 0 0 0-.522-.192 31 31 0 0 0-1.653-.527l-.012-.003-.168-.05-.045-.012-.304-.078-.033-.008.005.002a32 32 0 0 0-1.283-.319l-.072-.016a5 5 0 0 0-.294-.073 14 14 0 0 0-.645-.127l-.212-.042h-.003l-.194-.039q-.786-.142-1.427-.228a9 9 0 0 0-.29-.036h-.002l-.014-.002a37 37 0 0 0-1.245-.14l-.306-.027q-.344-.036-.524-.046l-.344-.018-.23-.013a26 26 0 0 0-1.376-.048l-.314-.005-.185-.001a23.248 23.248 0 0 0-1.147.016q-.2.007-.336.01h-.016q-.445.014-.655.027-.433.023-1.128.081l-.325.024a5 5 0 0 0-.33.024 28 28 0 0 0-.911.111l-.33.04-.33.04-.12.016a33 33 0 0 0-.743.12l-.46.075q-.36.057-.58.1-.62.12-1.102.228-.378.075-.626.133a37 37 0 0 0-1.807.46l-3.509.96q-1.069.299-1.993.6-.217.07-.556.19l-.176.062a88 88 0 0 0-1.339.474q-.2.075-.565.218l-.225.089q-.8.32-1.248.513l-.358.155-.415.182a68 68 0 0 0-1.937.913q-.59.295-1.213.63l-.033.018-.632.337a47 47 0 0 0-1.423.82q-.315.18-.456.267a58 58 0 0 0-1.842 1.167q-.137.09-.327.223l-.044.032.001-.001a55 55 0 0 0-1.949 1.37 83 83 0 0 0-1.686 1.288q-.735.585-1.387 1.13l-.017.014-.027.021-.08.063a5 5 0 0 0-.195.16q-.108.094-.256.232l.01-.008-.002.002a50 50 0 0 0-2.254 2.056 78 78 0 0 0-1.335 1.308q-.128.123-.203.2-.144.142-.337.355l-.01.015-.101.103q-.603.639-.915.983l-.696.767q-.198.223-.556.64l-.438.507a22 22 0 0 0-.601.722q-.435.53-.755.949l-.331.424-.357.456q-.255.334-.727.979l-.129.174a18 18 0 0 0-.507.71l-.063.09-.297.43-.314.457q-.44.648-.67 1.004-.318.49-.589.93-.274.424-.429.682-.054.09-.13.227Zm0 0 .007-.011zm62.786 11.145-.013.012q-.87.75-1.657 1.483-.222.203-.662.63a58 58 0 0 0-4.243 4.49l-.203.238-.024.028q-.454.537-.686.819l-.39.49-.345.434q-.446.56-.72.922-.247.322-.711.958a51 51 0 0 0-1.341 1.9q-.417.613-.645.965l-.177.278q-.291.456-.443.703-.389.618-.604.976l-.298.51-.267.46a57 57 0 0 0-1.674 3.1q-.276.54-.547 1.11l-.004.01q-.315.656-.48 1.016a101 101 0 0 0-.937 2.157 52 52 0 0 0-.647 1.64q-.17.438-.259.684a59 59 0 0 0-.662 1.928l-.006.016a13 13 0 0 0-.178.531l-.009.028a49 49 0 0 0-.67 2.306 61 61 0 0 0-.476 1.898l-.01.046q-.025.099-.044.188a50 50 0 0 0-.392 1.898q-.075.42-.202 1.176l-.025.153q-.1.588-.16.987a41 41 0 0 0-.18 1.455l-.048.42a30 30 0 0 0-.06.524 51 51 0 0 0-.12 1.591l-.015.196q-.031.391-.043.629a50 50 0 0 0-.057 2.394v20.581l.001.095v1.816q.003 6.873 1.874 12.803l-29.357-15.476-.052-.027-.03-.015-.047-.025q-.74-.391-1.444-.837a21.4 21.4 0 0 1-2.992-2.285l-.041-.037-.01-.009a21.6 21.6 0 0 1-2.675-2.958q-.189-.25-.372-.507-4.938-6.891-4.938-16.98V90.495q0-.834.034-1.906.004-.077.023-.308l.026-.349q.042-.722.1-1.342.009-.104.049-.422l.07-.586q.066-.578.098-.801.046-.309.138-.848l.047-.283q.091-.567.145-.844.02-.107.044-.257l-.004.018.001-.006q.14-.706.274-1.289l.008-.036.046-.196a38 38 0 0 1 .392-1.567l.064-.24.015-.053a67 67 0 0 1 .457-1.544q.045-.124.082-.25.037-.105.07-.209.312-.96.57-1.663.054-.146.184-.482l.068-.175.086-.222q.278-.723.425-1.075.037-.09.087-.22l-.008.02.002-.007.06-.145.082-.184q.087-.192.131-.295.294-.675.435-.988a45 45 0 0 1 .554-1.16q.206-.424.276-.562.075-.144.173-.348l.004-.011q.035-.066.067-.134l.083-.152.14-.256.132-.248a46 46 0 0 1 .87-1.564q.183-.33.415-.714.1-.16.216-.365l.021-.037a19 19 0 0 1 .342-.539q.225-.365.496-.785.17-.262.532-.796l.297-.43.275-.4q.075-.106.168-.246l.03-.045.163-.22q.136-.18.206-.277.401-.55.557-.754l.332-.424.357-.456q.25-.327.572-.72a17 17 0 0 0 .244-.302 13 13 0 0 1 .309-.36l.346-.4q.3-.35.41-.475l.666-.733q.24-.264.752-.807a12 12 0 0 0 .268-.287l.011-.014.104-.102.204-.2a66 66 0 0 1 1.63-1.582q.553-.52 1.336-1.197.09-.079.209-.188.174-.137.264-.215.52-.435 1.143-.932l.088-.069q.233-.185.374-.29.305-.237.946-.716.202-.142.505-.365.43-.31 1.145-.793l.174-.121.056-.04q.06-.038.12-.08a50 50 0 0 1 1.454-.917q.046-.03.267-.156l.168-.1q.699-.413.978-.564l.596-.317.033-.018q.527-.285.983-.512.184-.092.594-.287l.005-.002q.427-.204.93-.432l.357-.156.331-.144a44 44 0 0 1 1.544-.621 80 80 0 0 1 1.404-.496q.16-.056.25-.086.765-.25 1.604-.483l3.516-.964q.727-.203 1.381-.35.129-.03.456-.097.453-.102.942-.196.05-.01.235-.038a28 28 0 0 0 .577-.096q.304-.052.46-.075l.262-.032.339-.04a45 45 0 0 0 .608-.078l.033-.002.23-.017.284-.021q.58-.05.895-.066.106-.006.396-.015.153-.003.403-.012a13 13 0 0 1 .711-.01h.146l.31.005a20 20 0 0 1 .919.031 22 22 0 0 0 .55.03l.104.01h.004l.067.007.355.032q.423.04.828.093.126.017.293.035a23 23 0 0 1 1.13.187h.004l.133.028.338.063q.207.056.354.085.387.082.981.243l.197.05.086.022q.596.171 1.27.405l.036.013a7 7 0 0 0 .282.108 22 22 0 0 1 .783.299l.002.001.098.042a33 33 0 0 1 1.377.63l-.006-.003.006.003q.264.132.393.2l28.763 15.164q-.342.088-.667.178l-3.508.961q-1.07.297-2.128.644l-.292.101-.247.086a36 36 0 0 0-2.157.791q-.758.299-1.292.529l-.754.331q-.524.238-1.169.545a44.262 44.262 0 0 0-2.134 1.082l-.208.109q-.06.03-.12.062-.148.08-.28.155-.435.236-1.397.803-.102.06-.295.171-.065.037-.129.077a59 59 0 0 0-2.149 1.378l-.049.034q-.723.485-1.35.938l-.542.397q-.5.365-1.155.872-.359.272-.561.432-.564.445-1.302 1.06-.202.16-.341.279a8 8 0 0 0-.269.24Zm0 0 .011-.01zm-3.536-37.895h-.002q.004 0 .008.002zm3.871 127.988.763.402q.077.042.269.139l.09.046q.1.045.12.057l.136.064q.41.198.771.353l.011.005q.127.053.317.138l.072.032q.341.141.956.372l.05.02.183.068.014.006q.599.21 1.264.398l-.084-.018q.104.023.206.05l.208.054q.52.14 1.057.261l.073.017.072.016.113.026.108.019.031.006.436.082q.536.095 1.052.173l.2.025q.44.057.878.098l.611.055.186.01.376.016.028.002q.261.017.429.023.098.004.368.008l.239.003h.615q.208 0 .643-.021a4 4 0 0 1 .251-.007h.022l.137-.007-.018.003.178-.013q.25-.012.835-.061l.156-.014.154-.012.07-.006.539-.061.504-.064q.204-.024.312-.04a20 20 0 0 0 .618-.099l.402-.066.199-.032-.009.004q.057-.013.116-.024.252-.048.838-.172l.33-.067.255-.053q.608-.138 1.377-.35l3.477-.953a37 37 0 0 0 1.655-.499l.104-.034.127-.047.239-.084h.002q.78-.27 1.191-.421l.146-.059.135-.055.22-.091.141-.056q.579-.231.832-.342l.639-.278q.57-.257.997-.461l.089-.042.509-.247q.458-.228 1.02-.532l.158-.083.218-.116q.096-.049.178-.095.317-.174 1.018-.587l.207-.122.128-.074h.001q.124-.073.226-.13a39 39 0 0 0 1.26-.793l.358-.245a4.95 4.95 0 0 1 4.843-.416l10.977 5.001q2.352 1.073 4.527-.327t2.176-3.986v-40.637q0-.237.022-.474V95.148q0-17.112-12.596-23.755l-.295-.156-.163-.079-.176-.086a19 19 0 0 0-.767-.354q-.265-.12-.385-.168-.35-.148-.871-.337l-.182-.067-.102-.04q-.56-.194-1.217-.383l-.097-.026-.222-.058a38 38 0 0 0-1.026-.253l-.122-.026a31 31 0 0 0-.681-.144l-.118-.023a25 25 0 0 0-1.016-.163 6 6 0 0 1-.225-.027 29 29 0 0 0-.873-.1h-.006l-.327-.03a37 37 0 0 0-1.369-.078q-.12-.008-.523-.008h-.509a44 44 0 0 0-1.116.038l-.18.007q-.256.013-.859.063l-.046.004-.204.014-.135.01a20 20 0 0 0-.454.053 35 35 0 0 1-.636.075l-.206.025q-.145.022-.496.082l-.612.1q-.197.03-.279.046-.171.032-.602.125l-.237.051a22 22 0 0 1-.524.112q-.735.168-1.382.346l-3.476.953a36 36 0 0 0-1.54.46l-.291.102-.355.122a27 27 0 0 0-1.659.61q-.613.242-.941.383l-.648.284-.42.193V91.28q0 1.152-.056 2.307-.01.223-.037.576l-.001.004-.019.28-.001.026a43 43 0 0 1-.113 1.478 25 25 0 0 1-.076.68l-.052.433-.03.249a32 32 0 0 1-.234 1.677l-.056.354v.002q-.138.833-.221 1.265-.19.999-.399 1.935l-.027.11a45 45 0 0 1-.46 1.83l-.141.512a62 62 0 0 1-.542 1.831l-.151.467a54 54 0 0 1-.663 1.928 19 19 0 0 1-.2.526l-.017.042.004-.01-.112.295-.073.188q-.326.841-.495 1.251a27 27 0 0 1-.354.834l-.063.152q-.269.631-.492 1.106-.124.28-.359.772l-.135.283-.098.204a46 46 0 0 1-.971 1.916l-.314.587-.216.397q-.188.339-.563.993l-.076.132a32 32 0 0 1-.507.856q-.284.475-.6.969l-.084.133a42 42 0 0 1-.965 1.488l-.22.327-.021.032-.58.845-.066.092-.58.805a53 53 0 0 1-1.41 1.856l-.212.268q-.316.401-.48.601-.234.29-.674.806l-.04.046-.005.005q-.386.461-.854.988-.237.266-.69.767a46.143 46.143 0 0 1-1.393 1.477l-.219.223a55 55 0 0 1-1.216 1.193l-.18.174-.202.193-.258.247q-.778.722-1.567 1.402l-.099.086-.08.071-.08.072q-.067.06-.137.117l-.198.165a76 76 0 0 1-1.308 1.071l-.006.005q-.134.11-.339.266l-.147.113-.083.063a58 58 0 0 1-1.375 1.031q-.198.147-.307.225-.66.473-1.278.885l-.32.222-.103.07q-.884.584-1.833 1.157l-.009.005q.348 15.759 11.753 22.249zm-11.768-34.325q.47-.383.73-.601l.197-.164.014-.012.08-.071.173-.153q.705-.608 1.35-1.206l.146-.142.203-.193.15-.146a48 48 0 0 0 1.62-1.612 59 59 0 0 0 1.356-1.483 37 37 0 0 0 .788-.91l.019-.022a29 29 0 0 0 .899-1.097l.232-.293a40 40 0 0 0 1.143-1.505l.562-.78.022-.031.49-.716.002-.003.188-.28q.254-.377.359-.542.16-.245.432-.677l.088-.141a26 26 0 0 0 .564-.911q.104-.166.347-.589l.082-.143q.33-.574.485-.853l.171-.315.279-.523a41 41 0 0 0 .786-1.549l.104-.217.113-.238a37.223 37.223 0 0 0 .679-1.496l.016-.042.149-.347q.131-.303.181-.426.154-.374.439-1.112l.076-.194.081-.217.07-.178.082-.21q.297-.815.567-1.649l.156-.479q.189-.607.426-1.45l.122-.445q.199-.726.36-1.428l.053-.221q.135-.61.296-1.46.064-.33.177-1.021l.001-.002.046-.294.016-.1q.049-.3.065-.418a30 30 0 0 0 .134-1.055l.05-.421q.037-.296.049-.425.04-.385.089-1.179l.002-.027.024-.358.007-.092.015-.195q.047-.981.047-1.896V79.333l-.311.259-.116.094-.117.094-.003.003.012-.009a8 8 0 0 1-.256.227q-.683.59-1.382 1.24-.145.133-.507.483a50 50 0 0 0-3.576 3.782l-.197.231q-.412.488-.551.655l-.345.435-.341.428a53 53 0 0 0-.596.762q-.19.248-.608.82a43 43 0 0 0-1.103 1.563q-.38.56-.525.783l-.164.258q-.247.388-.385.61-.358.57-.484.778l-.267.46-.264.453a47 47 0 0 0-1.392 2.579q-.235.463-.466.947v.002q-.272.565-.387.817a85 85 0 0 0-.799 1.835 45 45 0 0 0-.508 1.289l-.066.171q-.13.338-.19.5-.225.614-.6 1.755l-.048.134-.003.001-.035.112-.05.159a40 40 0 0 0-.547 1.889 51 51 0 0 0-.407 1.643l-.004.014a39 39 0 0 0-.314 1.518q-.059.325-.173 1.015l-.028.171q-.088.512-.13.791-.036.254-.103.831l-.03.251q-.018.192-.059.525l-.035.301q-.028.303-.073.97l-.026.366-.022.287q-.018.23-.022.308-.046.959-.046 1.923z"/></svg>
|