pi-outpost 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pi-outpost.mjs +85 -5
- package/dist/pi-outpost.sea.mjs +83 -4
- package/dist/sea-prep.blob +0 -0
- package/dist/web/assets/{abnfDiagram-VRR7QNED-Ddbaevlx.js → abnfDiagram-VRR7QNED-H5_VO-B1.js} +1 -1
- package/dist/web/assets/{arc-DKRCl6TA.js → arc-CE2zETyi.js} +1 -1
- package/dist/web/assets/architecture-TIHT7OUA-quq76HPk.js +1 -0
- package/dist/web/assets/{architectureDiagram-ZJ3FMSHR-9NxjIUZS.js → architectureDiagram-ZJ3FMSHR-CIvYQchB.js} +1 -1
- package/dist/web/assets/{blockDiagram-677ZJIJ3-RZPAuAVe.js → blockDiagram-677ZJIJ3-DGQEZrPB.js} +1 -1
- package/dist/web/assets/{c4Diagram-LMCZKHZV-CtnM3Ckx.js → c4Diagram-LMCZKHZV-BirInSYC.js} +1 -1
- package/dist/web/assets/channel-CZQNpXwJ.js +1 -0
- package/dist/web/assets/{chunk-32BRIVSS-QnUqBdzD.js → chunk-32BRIVSS-B7fJk0ll.js} +1 -1
- package/dist/web/assets/{chunk-52WLFC77-EpnBnafN.js → chunk-52WLFC77-C56wZyRg.js} +1 -1
- package/dist/web/assets/{chunk-C7G6YPKG--UKrostC.js → chunk-C7G6YPKG-BVEnGhWm.js} +1 -1
- package/dist/web/assets/{chunk-EX3LRPZG-Ce4UE9ek.js → chunk-EX3LRPZG-qrTscY2a.js} +1 -1
- package/dist/web/assets/{chunk-FWX5IMBZ-CpoeAqxN.js → chunk-FWX5IMBZ-DE1AOCYK.js} +2 -2
- package/dist/web/assets/{chunk-HOUHSVGY-C_0OHgvt.js → chunk-HOUHSVGY-ByqVYtdv.js} +1 -1
- package/dist/web/assets/{chunk-ICXQ74PX-BuQxyBm4.js → chunk-ICXQ74PX-DXqI_eYD.js} +1 -1
- package/dist/web/assets/{chunk-MOJQB5TN-nQbQpJtl.js → chunk-MOJQB5TN-CtF6fAD2.js} +1 -1
- package/dist/web/assets/{chunk-OGEWGWER-qmp8nYAi.js → chunk-OGEWGWER-BN9LPPms.js} +1 -1
- package/dist/web/assets/{chunk-PUDLZKDR-CfrXFVaP.js → chunk-PUDLZKDR-W3AI4jJR.js} +1 -1
- package/dist/web/assets/{chunk-Q4XR5HBZ-B_ZVMZ1_.js → chunk-Q4XR5HBZ-DyN60MoF.js} +1 -1
- package/dist/web/assets/{chunk-RYQCIY6F-BNLDnl1E.js → chunk-RYQCIY6F-BasDWW7n.js} +1 -1
- package/dist/web/assets/{chunk-V7JOEXUC-CCJ4gaG4.js → chunk-V7JOEXUC-o82vAXi1.js} +1 -1
- package/dist/web/assets/{chunk-VAUOI2AC-DH_aJUsJ.js → chunk-VAUOI2AC-C9EyY67a.js} +1 -1
- package/dist/web/assets/{chunk-VR4S4FIN-BvhW0AYV.js → chunk-VR4S4FIN-CeQJxF3W.js} +1 -1
- package/dist/web/assets/{chunk-WYO6CB5R-BnZu-GH5.js → chunk-WYO6CB5R-krESB1wz.js} +3 -3
- package/dist/web/assets/{chunk-XXDRQBXY-CIhKgouH.js → chunk-XXDRQBXY-DwNOw26j.js} +1 -1
- package/dist/web/assets/{chunk-ZGVPDNZ5-CG5sR8Hi.js → chunk-ZGVPDNZ5-Ch60IWeh.js} +1 -1
- package/dist/web/assets/classDiagram-OUVF2IWQ-cofE0NaO.js +1 -0
- package/dist/web/assets/classDiagram-v2-EOCWNBFH-cofE0NaO.js +1 -0
- package/dist/web/assets/{core-DY7rIyDC.js → core-BYdjv-3f.js} +1 -1
- package/dist/web/assets/{cose-bilkent-JH36ORCC-Dr8iIC07.js → cose-bilkent-JH36ORCC-7oO-5ii0.js} +1 -1
- package/dist/web/assets/{cynefin-VYW2F7L2-Csc5Skqi.js → cynefin-VYW2F7L2-BXr0328D.js} +1 -1
- package/dist/web/assets/{cynefinDiagram-TSTJHNR4-sGiyDLSd.js → cynefinDiagram-TSTJHNR4-BjcrCkzf.js} +1 -1
- package/dist/web/assets/{dagre-VKFMJZFB-C5vxZhtT.js → dagre-VKFMJZFB-C6__cGMT.js} +1 -1
- package/dist/web/assets/{diagram-FQU43EPY-8B2nlFf4.js → diagram-FQU43EPY-Cv5jVU9J.js} +1 -1
- package/dist/web/assets/{diagram-G47NLZAW-C6vzPEqq.js → diagram-G47NLZAW-Cr471EU0.js} +1 -1
- package/dist/web/assets/{diagram-NH7WQ7WH-Cug03yLJ.js → diagram-NH7WQ7WH-goB_dq72.js} +1 -1
- package/dist/web/assets/{diagram-OA4YK3LP-CucHVkAE.js → diagram-OA4YK3LP-DmY1Aze_.js} +1 -1
- package/dist/web/assets/{diagram-WEI45ONY-CrS4YdfL.js → diagram-WEI45ONY-WkHev95e.js} +1 -1
- package/dist/web/assets/{dist-4WHbW7kW.js → dist-eoi0_oI4.js} +1 -1
- package/dist/web/assets/{ebnfDiagram-CCIWWBDH-CXGiUUds.js → ebnfDiagram-CCIWWBDH-9LnP4grp.js} +1 -1
- package/dist/web/assets/{erDiagram-Q63AITRT-By3BwsLJ.js → erDiagram-Q63AITRT-DLfvk9F1.js} +1 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-B5yLU1sh.js +1 -0
- package/dist/web/assets/flowDiagram-23GEKE2U-YSOb8q4v.js +1 -0
- package/dist/web/assets/{ganttDiagram-NO4QXBWP-7cpdUdRJ.js → ganttDiagram-NO4QXBWP-BmevG3Zb.js} +1 -1
- package/dist/web/assets/{gitGraph-TEB2WS4Q-8uES_n1N.js → gitGraph-TEB2WS4Q-DJhMk0an.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-IHSO6WYX-5Ob04v9V.js → gitGraphDiagram-IHSO6WYX-m9L6aHPB.js} +1 -1
- package/dist/web/assets/index-B1kaPMNw.css +2 -0
- package/dist/web/assets/{index-DpbRLjEE.js → index-CATcFyvk.js} +7 -7
- package/dist/web/assets/{info-DKCQHKI2-CwnMgns7.js → info-DKCQHKI2-B4Vc-IRj.js} +1 -1
- package/dist/web/assets/{infoDiagram-FWYZ7A6U-ClO-D-F6.js → infoDiagram-FWYZ7A6U-Ba1fhnL8.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-FXEZZL3T-D-Ze2Ql8.js → ishikawaDiagram-FXEZZL3T-ChAwvE3-.js} +1 -1
- package/dist/web/assets/{journeyDiagram-5HDEW3XC-Tc3Wdzm9.js → journeyDiagram-5HDEW3XC-BirgNixk.js} +1 -1
- package/dist/web/assets/{kanban-definition-HUTT4EX6-CcVQNWZZ.js → kanban-definition-HUTT4EX6-Chp-drog.js} +1 -1
- package/dist/web/assets/{line-LCszX-93.js → line-D_9HoxN3.js} +1 -1
- package/dist/web/assets/{linear-D4uAB447.js → linear-DgrpbYUZ.js} +1 -1
- package/dist/web/assets/{mermaid-parser.core-DEPnbzQd.js → mermaid-parser.core-BqDBKvZM.js} +3 -3
- package/dist/web/assets/{mermaid.core-BwWIg80u.js → mermaid.core-BhqnioBn.js} +3 -3
- package/dist/web/assets/{mindmap-definition-LN4V7U3C-B0t31b8v.js → mindmap-definition-LN4V7U3C-JRUH2JOn.js} +1 -1
- package/dist/web/assets/{packet-7NZHBO7P-Cq4ml33w.js → packet-7NZHBO7P-BgUQPLIU.js} +1 -1
- package/dist/web/assets/{pegDiagram-2B236MQR-GehivSub.js → pegDiagram-2B236MQR-VvS6nn8t.js} +1 -1
- package/dist/web/assets/{pie-RZYD4A2V-hKQqRwR1.js → pie-RZYD4A2V-B2jlWZgR.js} +1 -1
- package/dist/web/assets/{pieDiagram-ENE6RG2P-Di20TWWF.js → pieDiagram-ENE6RG2P-BKW9rLOB.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-ABIIQ3AL-BS2DM0o1.js → quadrantDiagram-ABIIQ3AL-VnibnYiD.js} +1 -1
- package/dist/web/assets/{radar-I7S5WNFK-DIelC7WS.js → radar-I7S5WNFK-DMqKgGE4.js} +1 -1
- package/dist/web/assets/{railroad-3IZDKUUU-BGqOpgb2.js → railroad-3IZDKUUU-CQISkGus.js} +1 -1
- package/dist/web/assets/railroad-abnf-AHOZXSZD-Cqb4QybP.js +1 -0
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-B2HJhkLZ.js +1 -0
- package/dist/web/assets/railroad-peg-LSFZ7HO6-BAkQmUhL.js +1 -0
- package/dist/web/assets/{railroadDiagram-RFXS5EU6-JnUSd2SZ.js → railroadDiagram-RFXS5EU6-B2mmn-YE.js} +1 -1
- package/dist/web/assets/{requirementDiagram-TGXJPOKE-BOl8gS8C.js → requirementDiagram-TGXJPOKE-Dr95ZcIq.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-HTMAVEWB-DcywXXIN.js → sankeyDiagram-HTMAVEWB-BdQaFrYL.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-DBY2YBRQ-ONvF5cHm.js → sequenceDiagram-DBY2YBRQ-Bw4pvzkf.js} +1 -1
- package/dist/web/assets/{src-BuJdKDww.js → src-D_DMwmBd.js} +1 -1
- package/dist/web/assets/{stateDiagram-2N3HPSRC-xg3Onc8v.js → stateDiagram-2N3HPSRC-Q0qvHsf_.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-6OUMAXLB-ChUyBpFH.js +1 -0
- package/dist/web/assets/{swimlanes-5IMT3BWC-DPJceuSw.js → swimlanes-5IMT3BWC-K22dJ96l.js} +1 -1
- package/dist/web/assets/swimlanesDiagram-G3AALYLV-0kss8Lg_.js +8 -0
- package/dist/web/assets/{timeline-definition-FHXFAJF6-4Q0cNBZa.js → timeline-definition-FHXFAJF6-DBnf2O5F.js} +1 -1
- package/dist/web/assets/{treeView-QDETBFTQ-BFyEFFDW.js → treeView-QDETBFTQ-vEgp8rG6.js} +1 -1
- package/dist/web/assets/{treemap-6X3UGDF4-CLak8Uij.js → treemap-6X3UGDF4-DTG5XbMU.js} +1 -1
- package/dist/web/assets/{vennDiagram-L72KCM5P-CnMeax8n.js → vennDiagram-L72KCM5P-yvzldEn_.js} +1 -1
- package/dist/web/assets/{wardley-OPB4EBWU-CUMtRrUi.js → wardley-OPB4EBWU-CiJqxxnE.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-EHGQE667-CzFqvDxe.js → wardleyDiagram-EHGQE667-CGhW5qOc.js} +1 -1
- package/dist/web/assets/{xychartDiagram-FW5EYKEG-C86ZCbK8.js → xychartDiagram-FW5EYKEG-DuI96QQ9.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/architecture-TIHT7OUA-CXs7lqrB.js +0 -1
- package/dist/web/assets/channel-BRTsEjH0.js +0 -1
- package/dist/web/assets/classDiagram-OUVF2IWQ-oxDyX2ry.js +0 -1
- package/dist/web/assets/classDiagram-v2-EOCWNBFH-oxDyX2ry.js +0 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-BBqgpOjt.js +0 -1
- package/dist/web/assets/flowDiagram-23GEKE2U-DUiF3T5Y.js +0 -1
- package/dist/web/assets/index-Bz_82pCM.css +0 -2
- package/dist/web/assets/railroad-abnf-AHOZXSZD-CY8YCNrM.js +0 -1
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-DK8c1XBp.js +0 -1
- package/dist/web/assets/railroad-peg-LSFZ7HO6-3FkEERnx.js +0 -1
- package/dist/web/assets/stateDiagram-v2-6OUMAXLB-D1aOFa-9.js +0 -1
- package/dist/web/assets/swimlanesDiagram-G3AALYLV-BDD3cg35.js +0 -8
package/dist/pi-outpost.mjs
CHANGED
|
@@ -36973,7 +36973,8 @@ import {
|
|
|
36973
36973
|
createAgentSessionRuntime,
|
|
36974
36974
|
createAgentSessionServices,
|
|
36975
36975
|
getAgentDir as getAgentDir2,
|
|
36976
|
-
SessionManager
|
|
36976
|
+
SessionManager,
|
|
36977
|
+
VERSION as PI_SDK_VERSION
|
|
36977
36978
|
} from "@earendil-works/pi-coding-agent";
|
|
36978
36979
|
|
|
36979
36980
|
// ../shared/src/protocol.ts
|
|
@@ -37152,6 +37153,15 @@ function loadConfig(launchDir, flags = {}, env2 = process.env) {
|
|
|
37152
37153
|
fail(`sandbox.writableRoot does not exist: ${config2.sandbox.writableRoot}`);
|
|
37153
37154
|
}
|
|
37154
37155
|
}
|
|
37156
|
+
if (raw.sandboxLocks !== void 0) {
|
|
37157
|
+
const locks = asObject(raw.sandboxLocks, "sandboxLocks");
|
|
37158
|
+
config2.sandboxLocks = {
|
|
37159
|
+
root: optionalBoolean(locks, "root", false),
|
|
37160
|
+
allowWrite: optionalBoolean(locks, "allowWrite", false),
|
|
37161
|
+
allowBash: optionalBoolean(locks, "allowBash", false),
|
|
37162
|
+
writableRoot: optionalBoolean(locks, "writableRoot", false)
|
|
37163
|
+
};
|
|
37164
|
+
}
|
|
37155
37165
|
config2.tools = optionalStringArray(raw, "tools");
|
|
37156
37166
|
config2.noExtensions = optionalBoolean(raw, "noExtensions", false);
|
|
37157
37167
|
config2.extensionPaths = (optionalStringArray(raw, "extensionPaths") ?? []).map(resolve2);
|
|
@@ -50569,7 +50579,7 @@ function searchSessions(sessions, query, limit) {
|
|
|
50569
50579
|
var seaExtensionFactories = [];
|
|
50570
50580
|
|
|
50571
50581
|
// ../server/src/index.ts
|
|
50572
|
-
var VERSION2 = true ? "0.6.
|
|
50582
|
+
var VERSION2 = true ? "0.6.1" : "dev";
|
|
50573
50583
|
var LAUNCH_DIR = process.env.INIT_CWD ?? process.cwd();
|
|
50574
50584
|
function complain(error) {
|
|
50575
50585
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -50938,7 +50948,20 @@ function snapshot() {
|
|
|
50938
50948
|
contextUsage: contextUsage(),
|
|
50939
50949
|
writableRoot: WRITABLE_ROOT,
|
|
50940
50950
|
gitAvailable: GIT !== null,
|
|
50941
|
-
credentials: credentialStatus()
|
|
50951
|
+
credentials: credentialStatus(),
|
|
50952
|
+
extensionPaths: session.extensionRunner.getExtensionPaths(),
|
|
50953
|
+
versions: { piOutpost: VERSION2, piSdk: PI_SDK_VERSION },
|
|
50954
|
+
sandbox: (() => {
|
|
50955
|
+
const v2 = config.sandbox ? {
|
|
50956
|
+
root: config.sandbox.root,
|
|
50957
|
+
allowWrite: config.sandbox.allowWrite ?? false,
|
|
50958
|
+
allowBash: config.sandbox.allowBash ?? false,
|
|
50959
|
+
writableRoot: config.sandbox.writableRoot,
|
|
50960
|
+
locks: config.sandboxLocks
|
|
50961
|
+
} : void 0;
|
|
50962
|
+
console.log("[snapshot] sandbox =", JSON.stringify(v2));
|
|
50963
|
+
return v2;
|
|
50964
|
+
})()
|
|
50942
50965
|
};
|
|
50943
50966
|
}
|
|
50944
50967
|
var clients = /* @__PURE__ */ new Set();
|
|
@@ -51172,13 +51195,19 @@ async function bindExtensionsForSession() {
|
|
|
51172
51195
|
var pendingFileMutations = /* @__PURE__ */ new Map();
|
|
51173
51196
|
async function announceFileChange(args) {
|
|
51174
51197
|
const targetPath = args?.path;
|
|
51198
|
+
console.log("[announceFileChange] args type=", typeof args, "targetPath=", targetPath);
|
|
51175
51199
|
if (typeof targetPath !== "string") return;
|
|
51176
51200
|
try {
|
|
51177
51201
|
const resolved = await realResolve(path8.resolve(BROWSER_ROOT, targetPath));
|
|
51178
|
-
if (!isWithin(BROWSER_ROOT, resolved))
|
|
51202
|
+
if (!isWithin(BROWSER_ROOT, resolved)) {
|
|
51203
|
+
console.log("[announceFileChange] not within BROWSER_ROOT, skipping");
|
|
51204
|
+
return;
|
|
51205
|
+
}
|
|
51179
51206
|
const relPath = path8.relative(BROWSER_ROOT, resolved).split(path8.sep).join("/");
|
|
51207
|
+
console.log("[announceFileChange] broadcasting file_changed path=", relPath);
|
|
51180
51208
|
broadcast({ type: "file_changed", path: relPath });
|
|
51181
|
-
} catch {
|
|
51209
|
+
} catch (e) {
|
|
51210
|
+
console.log("[announceFileChange] error:", e);
|
|
51182
51211
|
}
|
|
51183
51212
|
}
|
|
51184
51213
|
function bindSession() {
|
|
@@ -51321,6 +51350,45 @@ async function handleSetCredential(socket, provider, apiKey) {
|
|
|
51321
51350
|
await runtime.services.modelRuntime.refresh();
|
|
51322
51351
|
await adoptUsableModel(socket);
|
|
51323
51352
|
}
|
|
51353
|
+
async function handleUpdateConfig(socket, newSandbox) {
|
|
51354
|
+
if (replacingSession) {
|
|
51355
|
+
send(socket, { type: "error", message: "Session change already in progress" });
|
|
51356
|
+
return;
|
|
51357
|
+
}
|
|
51358
|
+
const locks = config.sandboxLocks ?? {};
|
|
51359
|
+
const mergedSandbox = {
|
|
51360
|
+
root: locks.root ? config.sandbox.root : newSandbox.root,
|
|
51361
|
+
allowWrite: locks.allowWrite ? config.sandbox.allowWrite : newSandbox.allowWrite,
|
|
51362
|
+
allowBash: locks.allowBash ? config.sandbox.allowBash : newSandbox.allowBash,
|
|
51363
|
+
writableRoot: locks.writableRoot ? config.sandbox.writableRoot : newSandbox.writableRoot
|
|
51364
|
+
};
|
|
51365
|
+
replacingSession = true;
|
|
51366
|
+
try {
|
|
51367
|
+
config.sandbox = {
|
|
51368
|
+
root: mergedSandbox.root,
|
|
51369
|
+
allowWrite: mergedSandbox.allowWrite,
|
|
51370
|
+
allowBash: mergedSandbox.allowBash,
|
|
51371
|
+
writableRoot: mergedSandbox.writableRoot,
|
|
51372
|
+
readExceptions: config.sandbox?.readExceptions ?? []
|
|
51373
|
+
};
|
|
51374
|
+
BROWSER_ROOT = await resolveBrowserRoot(config);
|
|
51375
|
+
WRITABLE_ROOT = await resolveWritableRoot(config, BROWSER_ROOT);
|
|
51376
|
+
GIT = await probeGit(BROWSER_ROOT);
|
|
51377
|
+
sandboxedTools = config.sandbox ? await createSandboxedTools(config.sandbox) : void 0;
|
|
51378
|
+
const { cancelled } = await runtime.newSession();
|
|
51379
|
+
if (!cancelled) await rebindAndAnnounce();
|
|
51380
|
+
} catch (error) {
|
|
51381
|
+
reportError(error);
|
|
51382
|
+
try {
|
|
51383
|
+
const { cancelled } = await runtime.newSession();
|
|
51384
|
+
if (!cancelled) await rebindAndAnnounce();
|
|
51385
|
+
} catch (recoveryError) {
|
|
51386
|
+
reportError(recoveryError);
|
|
51387
|
+
}
|
|
51388
|
+
} finally {
|
|
51389
|
+
replacingSession = false;
|
|
51390
|
+
}
|
|
51391
|
+
}
|
|
51324
51392
|
async function handleDeclareProvider(socket, declaration) {
|
|
51325
51393
|
try {
|
|
51326
51394
|
runtime.services.modelRuntime.registerProvider(declaration.provider, providerConfig(declaration));
|
|
@@ -51857,6 +51925,18 @@ function handleClientMessage(socket, raw) {
|
|
|
51857
51925
|
...message.compat ? { compat: message.compat } : {}
|
|
51858
51926
|
}).catch(reportError);
|
|
51859
51927
|
break;
|
|
51928
|
+
case "update_config": {
|
|
51929
|
+
if (config.sandbox === void 0) {
|
|
51930
|
+
send(socket, { type: "error", message: "No sandbox configured \u2014 cannot update" });
|
|
51931
|
+
return;
|
|
51932
|
+
}
|
|
51933
|
+
if (typeof message.sandbox?.root !== "string" || typeof message.sandbox.allowWrite !== "boolean" || typeof message.sandbox.allowBash !== "boolean" || message.sandbox.writableRoot !== void 0 && typeof message.sandbox.writableRoot !== "string") {
|
|
51934
|
+
send(socket, { type: "error", message: "Invalid sandbox config" });
|
|
51935
|
+
return;
|
|
51936
|
+
}
|
|
51937
|
+
handleUpdateConfig(socket, message.sandbox).catch(reportError);
|
|
51938
|
+
break;
|
|
51939
|
+
}
|
|
51860
51940
|
}
|
|
51861
51941
|
}
|
|
51862
51942
|
handleWsConnection = (socket) => {
|
package/dist/pi-outpost.sea.mjs
CHANGED
|
@@ -371721,6 +371721,15 @@ function loadConfig(launchDir, flags = {}, env4 = process.env) {
|
|
|
371721
371721
|
fail2(`sandbox.writableRoot does not exist: ${config3.sandbox.writableRoot}`);
|
|
371722
371722
|
}
|
|
371723
371723
|
}
|
|
371724
|
+
if (raw.sandboxLocks !== void 0) {
|
|
371725
|
+
const locks = asObject(raw.sandboxLocks, "sandboxLocks");
|
|
371726
|
+
config3.sandboxLocks = {
|
|
371727
|
+
root: optionalBoolean(locks, "root", false),
|
|
371728
|
+
allowWrite: optionalBoolean(locks, "allowWrite", false),
|
|
371729
|
+
allowBash: optionalBoolean(locks, "allowBash", false),
|
|
371730
|
+
writableRoot: optionalBoolean(locks, "writableRoot", false)
|
|
371731
|
+
};
|
|
371732
|
+
}
|
|
371724
371733
|
config3.tools = optionalStringArray(raw, "tools");
|
|
371725
371734
|
config3.noExtensions = optionalBoolean(raw, "noExtensions", false);
|
|
371726
371735
|
config3.extensionPaths = (optionalStringArray(raw, "extensionPaths") ?? []).map(resolve15);
|
|
@@ -372807,7 +372816,7 @@ function searchSessions(sessions, query, limit2) {
|
|
|
372807
372816
|
var seaExtensionFactories = [];
|
|
372808
372817
|
|
|
372809
372818
|
// ../server/src/index.ts
|
|
372810
|
-
var VERSION6 = true ? "0.6.
|
|
372819
|
+
var VERSION6 = true ? "0.6.1" : "dev";
|
|
372811
372820
|
var LAUNCH_DIR = process.env.INIT_CWD ?? process.cwd();
|
|
372812
372821
|
function complain(error40) {
|
|
372813
372822
|
const message = error40 instanceof Error ? error40.message : String(error40);
|
|
@@ -373176,7 +373185,20 @@ function snapshot() {
|
|
|
373176
373185
|
contextUsage: contextUsage(),
|
|
373177
373186
|
writableRoot: WRITABLE_ROOT,
|
|
373178
373187
|
gitAvailable: GIT !== null,
|
|
373179
|
-
credentials: credentialStatus()
|
|
373188
|
+
credentials: credentialStatus(),
|
|
373189
|
+
extensionPaths: session.extensionRunner.getExtensionPaths(),
|
|
373190
|
+
versions: { piOutpost: VERSION6, piSdk: VERSION },
|
|
373191
|
+
sandbox: (() => {
|
|
373192
|
+
const v3 = config2.sandbox ? {
|
|
373193
|
+
root: config2.sandbox.root,
|
|
373194
|
+
allowWrite: config2.sandbox.allowWrite ?? false,
|
|
373195
|
+
allowBash: config2.sandbox.allowBash ?? false,
|
|
373196
|
+
writableRoot: config2.sandbox.writableRoot,
|
|
373197
|
+
locks: config2.sandboxLocks
|
|
373198
|
+
} : void 0;
|
|
373199
|
+
console.log("[snapshot] sandbox =", JSON.stringify(v3));
|
|
373200
|
+
return v3;
|
|
373201
|
+
})()
|
|
373180
373202
|
};
|
|
373181
373203
|
}
|
|
373182
373204
|
var clients = /* @__PURE__ */ new Set();
|
|
@@ -373410,13 +373432,19 @@ async function bindExtensionsForSession() {
|
|
|
373410
373432
|
var pendingFileMutations = /* @__PURE__ */ new Map();
|
|
373411
373433
|
async function announceFileChange(args) {
|
|
373412
373434
|
const targetPath = args?.path;
|
|
373435
|
+
console.log("[announceFileChange] args type=", typeof args, "targetPath=", targetPath);
|
|
373413
373436
|
if (typeof targetPath !== "string") return;
|
|
373414
373437
|
try {
|
|
373415
373438
|
const resolved = await realResolve(path22.resolve(BROWSER_ROOT, targetPath));
|
|
373416
|
-
if (!isWithin(BROWSER_ROOT, resolved))
|
|
373439
|
+
if (!isWithin(BROWSER_ROOT, resolved)) {
|
|
373440
|
+
console.log("[announceFileChange] not within BROWSER_ROOT, skipping");
|
|
373441
|
+
return;
|
|
373442
|
+
}
|
|
373417
373443
|
const relPath = path22.relative(BROWSER_ROOT, resolved).split(path22.sep).join("/");
|
|
373444
|
+
console.log("[announceFileChange] broadcasting file_changed path=", relPath);
|
|
373418
373445
|
broadcast({ type: "file_changed", path: relPath });
|
|
373419
|
-
} catch {
|
|
373446
|
+
} catch (e2) {
|
|
373447
|
+
console.log("[announceFileChange] error:", e2);
|
|
373420
373448
|
}
|
|
373421
373449
|
}
|
|
373422
373450
|
function bindSession() {
|
|
@@ -373559,6 +373587,45 @@ async function handleSetCredential(socket, provider, apiKey) {
|
|
|
373559
373587
|
await runtime.services.modelRuntime.refresh();
|
|
373560
373588
|
await adoptUsableModel(socket);
|
|
373561
373589
|
}
|
|
373590
|
+
async function handleUpdateConfig(socket, newSandbox) {
|
|
373591
|
+
if (replacingSession) {
|
|
373592
|
+
send(socket, { type: "error", message: "Session change already in progress" });
|
|
373593
|
+
return;
|
|
373594
|
+
}
|
|
373595
|
+
const locks = config2.sandboxLocks ?? {};
|
|
373596
|
+
const mergedSandbox = {
|
|
373597
|
+
root: locks.root ? config2.sandbox.root : newSandbox.root,
|
|
373598
|
+
allowWrite: locks.allowWrite ? config2.sandbox.allowWrite : newSandbox.allowWrite,
|
|
373599
|
+
allowBash: locks.allowBash ? config2.sandbox.allowBash : newSandbox.allowBash,
|
|
373600
|
+
writableRoot: locks.writableRoot ? config2.sandbox.writableRoot : newSandbox.writableRoot
|
|
373601
|
+
};
|
|
373602
|
+
replacingSession = true;
|
|
373603
|
+
try {
|
|
373604
|
+
config2.sandbox = {
|
|
373605
|
+
root: mergedSandbox.root,
|
|
373606
|
+
allowWrite: mergedSandbox.allowWrite,
|
|
373607
|
+
allowBash: mergedSandbox.allowBash,
|
|
373608
|
+
writableRoot: mergedSandbox.writableRoot,
|
|
373609
|
+
readExceptions: config2.sandbox?.readExceptions ?? []
|
|
373610
|
+
};
|
|
373611
|
+
BROWSER_ROOT = await resolveBrowserRoot(config2);
|
|
373612
|
+
WRITABLE_ROOT = await resolveWritableRoot(config2, BROWSER_ROOT);
|
|
373613
|
+
GIT = await probeGit(BROWSER_ROOT);
|
|
373614
|
+
sandboxedTools = config2.sandbox ? await createSandboxedTools(config2.sandbox) : void 0;
|
|
373615
|
+
const { cancelled } = await runtime.newSession();
|
|
373616
|
+
if (!cancelled) await rebindAndAnnounce();
|
|
373617
|
+
} catch (error40) {
|
|
373618
|
+
reportError(error40);
|
|
373619
|
+
try {
|
|
373620
|
+
const { cancelled } = await runtime.newSession();
|
|
373621
|
+
if (!cancelled) await rebindAndAnnounce();
|
|
373622
|
+
} catch (recoveryError) {
|
|
373623
|
+
reportError(recoveryError);
|
|
373624
|
+
}
|
|
373625
|
+
} finally {
|
|
373626
|
+
replacingSession = false;
|
|
373627
|
+
}
|
|
373628
|
+
}
|
|
373562
373629
|
async function handleDeclareProvider(socket, declaration) {
|
|
373563
373630
|
try {
|
|
373564
373631
|
runtime.services.modelRuntime.registerProvider(declaration.provider, providerConfig(declaration));
|
|
@@ -374095,6 +374162,18 @@ function handleClientMessage(socket, raw) {
|
|
|
374095
374162
|
...message.compat ? { compat: message.compat } : {}
|
|
374096
374163
|
}).catch(reportError);
|
|
374097
374164
|
break;
|
|
374165
|
+
case "update_config": {
|
|
374166
|
+
if (config2.sandbox === void 0) {
|
|
374167
|
+
send(socket, { type: "error", message: "No sandbox configured \u2014 cannot update" });
|
|
374168
|
+
return;
|
|
374169
|
+
}
|
|
374170
|
+
if (typeof message.sandbox?.root !== "string" || typeof message.sandbox.allowWrite !== "boolean" || typeof message.sandbox.allowBash !== "boolean" || message.sandbox.writableRoot !== void 0 && typeof message.sandbox.writableRoot !== "string") {
|
|
374171
|
+
send(socket, { type: "error", message: "Invalid sandbox config" });
|
|
374172
|
+
return;
|
|
374173
|
+
}
|
|
374174
|
+
handleUpdateConfig(socket, message.sandbox).catch(reportError);
|
|
374175
|
+
break;
|
|
374176
|
+
}
|
|
374098
374177
|
}
|
|
374099
374178
|
}
|
|
374100
374179
|
handleWsConnection = (socket) => {
|
package/dist/sea-prep.blob
CHANGED
|
Binary file
|
package/dist/web/assets/{abnfDiagram-VRR7QNED-Ddbaevlx.js → abnfDiagram-VRR7QNED-H5_VO-B1.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e,t}from"./mermaid-parser.core-
|
|
1
|
+
import{m as e,t}from"./mermaid-parser.core-BqDBKvZM.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-D_DMwmBd.js";import"./chunk-WYO6CB5R-krESB1wz.js";import"./chunk-VAUOI2AC-C9EyY67a.js";import{n as i,r as a,t as o}from"./chunk-MOJQB5TN-CtF6fAD2.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./path-BWPyau1x.js";import{a as n,c as r,d as i,f as a,i as o,l as s,m as c,n as l,o as u,p as d,r as f,u as p}from"./dist-
|
|
1
|
+
import{n as e,t}from"./path-BWPyau1x.js";import{a as n,c as r,d as i,f as a,i as o,l as s,m as c,n as l,o as u,p as d,r as f,u as p}from"./dist-eoi0_oI4.js";function m(e){return e.innerRadius}function h(e){return e.outerRadius}function g(e){return e.startAngle}function _(e){return e.endAngle}function v(e){return e&&e.padAngle}function y(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function b(e,t,n,r,i,a,o){var c=e-n,l=t-r,u=(o?a:-a)/d(c*c+l*l),f=u*l,p=-u*c,m=e+f,h=t+p,g=n+f,_=r+p,v=(m+g)/2,y=(h+_)/2,b=g-m,x=_-h,S=b*b+x*x,C=i-a,w=m*_-g*h,T=(x<0?-1:1)*d(s(0,C*C*S-w*w)),E=(w*x-b*T)/S,D=(-w*b-x*T)/S,O=(w*x+b*T)/S,k=(-w*b+x*T)/S,A=E-v,j=D-y,M=O-v,N=k-y;return A*A+j*j>M*M+N*N&&(E=O,D=k),{cx:E,cy:D,x01:-f,y01:-p,x11:E*(i/C-1),y11:D*(i/C-1)}}function x(){var s=m,x=h,S=e(0),C=null,w=g,T=_,E=v,D=null,O=t(k);function k(){var e,t,m=+s.apply(this,arguments),h=+x.apply(this,arguments),g=w.apply(this,arguments)-r,_=T.apply(this,arguments)-r,v=l(_-g),k=_>g;if(D||=e=O(),h<m&&(t=h,h=m,m=t),!(h>1e-12))D.moveTo(0,0);else if(v>c-1e-12)D.moveTo(h*u(g),h*a(g)),D.arc(0,0,h,g,_,!k),m>1e-12&&(D.moveTo(m*u(_),m*a(_)),D.arc(0,0,m,_,g,k));else{var A=g,j=_,M=g,N=_,P=v,F=v,I=E.apply(this,arguments)/2,L=I>1e-12&&(C?+C.apply(this,arguments):d(m*m+h*h)),R=p(l(h-m)/2,+S.apply(this,arguments)),z=R,B=R,V,H;if(L>1e-12){var U=o(L/m*a(I)),W=o(L/h*a(I));(P-=U*2)>1e-12?(U*=k?1:-1,M+=U,N-=U):(P=0,M=N=(g+_)/2),(F-=W*2)>1e-12?(W*=k?1:-1,A+=W,j-=W):(F=0,A=j=(g+_)/2)}var G=h*u(A),K=h*a(A),q=m*u(N),J=m*a(N);if(R>1e-12){var Y=h*u(j),X=h*a(j),Z=m*u(M),Q=m*a(M),$;if(v<i)if($=y(G,K,Z,Q,Y,X,q,J)){var ee=G-$[0],te=K-$[1],ne=Y-$[0],re=X-$[1],ie=1/a(f((ee*ne+te*re)/(d(ee*ee+te*te)*d(ne*ne+re*re)))/2),ae=d($[0]*$[0]+$[1]*$[1]);z=p(R,(m-ae)/(ie-1)),B=p(R,(h-ae)/(ie+1))}else z=B=0}F>1e-12?B>1e-12?(V=b(Z,Q,G,K,h,B,k),H=b(Y,X,q,J,h,B,k),D.moveTo(V.cx+V.x01,V.cy+V.y01),B<R?D.arc(V.cx,V.cy,B,n(V.y01,V.x01),n(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,B,n(V.y01,V.x01),n(V.y11,V.x11),!k),D.arc(0,0,h,n(V.cy+V.y11,V.cx+V.x11),n(H.cy+H.y11,H.cx+H.x11),!k),D.arc(H.cx,H.cy,B,n(H.y11,H.x11),n(H.y01,H.x01),!k))):(D.moveTo(G,K),D.arc(0,0,h,A,j,!k)):D.moveTo(G,K),!(m>1e-12)||!(P>1e-12)?D.lineTo(q,J):z>1e-12?(V=b(q,J,Y,X,m,-z,k),H=b(G,K,Z,Q,m,-z,k),D.lineTo(V.cx+V.x01,V.cy+V.y01),z<R?D.arc(V.cx,V.cy,z,n(V.y01,V.x01),n(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,z,n(V.y01,V.x01),n(V.y11,V.x11),!k),D.arc(0,0,m,n(V.cy+V.y11,V.cx+V.x11),n(H.cy+H.y11,H.cx+H.x11),k),D.arc(H.cx,H.cy,z,n(H.y11,H.x11),n(H.y01,H.x01),!k))):D.arc(0,0,m,N,M,k)}if(D.closePath(),e)return D=null,e+``||null}return k.centroid=function(){var e=(+s.apply(this,arguments)+ +x.apply(this,arguments))/2,t=(+w.apply(this,arguments)+ +T.apply(this,arguments))/2-i/2;return[u(t)*e,a(t)*e]},k.innerRadius=function(t){return arguments.length?(s=typeof t==`function`?t:e(+t),k):s},k.outerRadius=function(t){return arguments.length?(x=typeof t==`function`?t:e(+t),k):x},k.cornerRadius=function(t){return arguments.length?(S=typeof t==`function`?t:e(+t),k):S},k.padRadius=function(t){return arguments.length?(C=t==null?null:typeof t==`function`?t:e(+t),k):C},k.startAngle=function(t){return arguments.length?(w=typeof t==`function`?t:e(+t),k):w},k.endAngle=function(t){return arguments.length?(T=typeof t==`function`?t:e(+t),k):T},k.padAngle=function(t){return arguments.length?(E=typeof t==`function`?t:e(+t),k):E},k.context=function(e){return arguments.length?(D=e??null,k):D},k}export{x as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-KEIR6QF5-BfrZ3jm6.js";import{M as e}from"./mermaid-parser.core-BqDBKvZM.js";export{e as createArchitectureServices};
|