oysterun 1.5.5 → 1.5.6
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/dev/client/web/index.html +217 -58
- package/dev/client/web-chat/dist/assets/{ReactPrism-9mfIwAdN.js → ReactPrism-isi6q-rt.js} +1 -1
- package/dev/client/web-chat/dist/assets/{ReactPrism-9mfIwAdN.js.map → ReactPrism-isi6q-rt.js.map} +1 -1
- package/dev/client/web-chat/dist/assets/{index-DKemUlfN.js → index-CLXxZ4tL.js} +1 -1
- package/dev/client/web-chat/dist/assets/{index-DKemUlfN.js.map → index-CLXxZ4tL.js.map} +1 -1
- package/dev/client/web-chat/dist/assets/{index-CpnKlml1.js → index-CS0AuJg_.js} +65 -65
- package/dev/client/web-chat/dist/assets/index-CS0AuJg_.js.map +1 -0
- package/dev/client/web-chat/dist/assets/{index-DWS0uvcS.js → index-Chh0JkSx.js} +2 -2
- package/dev/client/web-chat/dist/assets/{index-DWS0uvcS.js.map → index-Chh0JkSx.js.map} +1 -1
- package/dev/client/web-chat/dist/assets/{pdf-_pQ2yOcq.js → pdf-BHndlpDv.js} +3 -3
- package/dev/client/web-chat/dist/assets/{pdf-_pQ2yOcq.js.map → pdf-BHndlpDv.js.map} +1 -1
- package/dev/client/web-chat/dist/assets/{web-hiRi-dhx.js → web-DD_lXOHn.js} +1 -1
- package/dev/client/web-chat/dist/assets/{web-hiRi-dhx.js.map → web-DD_lXOHn.js.map} +1 -1
- package/dev/client/web-chat/dist/assets/{web-_J72Rkyo.js → web-DL4-fcjv.js} +1 -1
- package/dev/client/web-chat/dist/assets/{web-_J72Rkyo.js.map → web-DL4-fcjv.js.map} +1 -1
- package/dev/client/web-chat/dist/index.html +1 -1
- package/docs/routec/skill_installation.md +35 -0
- package/host-service/assets/product-skills/Oysterun/SKILL.md +9 -0
- package/host-service/browser-root-project-index.mjs +127 -1
- package/host-service/package.json +1 -1
- package/host-service/server.mjs +130 -74
- package/host-service/session-manager.mjs +1 -0
- package/package.json +1 -1
- package/dev/client/web-chat/dist/assets/index-CpnKlml1.js.map +0 -1
|
@@ -8659,6 +8659,13 @@
|
|
|
8659
8659
|
data-session-setup-web-shared="web.enabled"
|
|
8660
8660
|
/>
|
|
8661
8661
|
</label>
|
|
8662
|
+
<div
|
|
8663
|
+
id="create-website-authority-hint"
|
|
8664
|
+
class="field-hint field-warning"
|
|
8665
|
+
>
|
|
8666
|
+
Website is available only for agents in the Browser
|
|
8667
|
+
Root.
|
|
8668
|
+
</div>
|
|
8662
8669
|
</div>
|
|
8663
8670
|
<label
|
|
8664
8671
|
class="kv-label"
|
|
@@ -13325,6 +13332,12 @@ Waiting for Claude login output…</pre
|
|
|
13325
13332
|
let lastCreateStartActivationAt = 0;
|
|
13326
13333
|
let createFormPreferenceVersion = 0;
|
|
13327
13334
|
let latestCreateFolderConfigRequestId = 0;
|
|
13335
|
+
let createWebsiteAuthorityState = {
|
|
13336
|
+
folderPath: "",
|
|
13337
|
+
projectAgentId: "",
|
|
13338
|
+
eligible: false,
|
|
13339
|
+
reason: "Website is available only for agents in the Browser Root.",
|
|
13340
|
+
};
|
|
13328
13341
|
let createFormDraftRouteKey = "";
|
|
13329
13342
|
let createSubmitState = {
|
|
13330
13343
|
inFlight: false,
|
|
@@ -26803,6 +26816,7 @@ Waiting for Claude login output…</pre
|
|
|
26803
26816
|
function renderAgentProfileWebsiteAccessRow(liveSession) {
|
|
26804
26817
|
syncAgentProfileWebsiteAccessSession(liveSession);
|
|
26805
26818
|
const website = getLiveSessionWebsite(liveSession);
|
|
26819
|
+
const websiteAuthorized = website?.browser_root_authorized === true;
|
|
26806
26820
|
const enabled = website?.enabled === true;
|
|
26807
26821
|
const access = normalizeAgentWebAccess(website?.access);
|
|
26808
26822
|
const websitePassword = getOwnerVisibleWebsitePassword(website);
|
|
@@ -26836,16 +26850,27 @@ Waiting for Claude login output…</pre
|
|
|
26836
26850
|
type="checkbox"
|
|
26837
26851
|
data-session-profile-web-enabled="web.enabled"
|
|
26838
26852
|
${enabled ? "checked" : ""}
|
|
26839
|
-
${saving ? "disabled" : ""}
|
|
26853
|
+
${saving || !websiteAuthorized ? "disabled" : ""}
|
|
26840
26854
|
/>
|
|
26841
26855
|
</label>
|
|
26856
|
+
${
|
|
26857
|
+
websiteAuthorized
|
|
26858
|
+
? ""
|
|
26859
|
+
: `<div
|
|
26860
|
+
class="field-hint field-warning"
|
|
26861
|
+
data-session-profile-website-authority="outside_browser_root"
|
|
26862
|
+
>${esc(
|
|
26863
|
+
website?.reason_message ||
|
|
26864
|
+
"Website is available only for agents in the Browser Root."
|
|
26865
|
+
)}</div>`
|
|
26866
|
+
}
|
|
26842
26867
|
<label class="field compact-field" for="agent-profile-website-access">
|
|
26843
26868
|
<span>Access</span>
|
|
26844
26869
|
<select
|
|
26845
26870
|
id="agent-profile-website-access"
|
|
26846
26871
|
data-session-profile-web-access="web.access"
|
|
26847
26872
|
onchange="window.syncAgentProfileWebsitePasswordMode && window.syncAgentProfileWebsitePasswordMode()"
|
|
26848
|
-
${saving ? "disabled" : ""}
|
|
26873
|
+
${saving || !websiteAuthorized ? "disabled" : ""}
|
|
26849
26874
|
>${renderAgentWebAccessOptions(access)}</select>
|
|
26850
26875
|
</label>
|
|
26851
26876
|
<label
|
|
@@ -26863,7 +26888,11 @@ Waiting for Claude login output…</pre
|
|
|
26863
26888
|
value="${esc(websitePassword)}"
|
|
26864
26889
|
data-session-profile-web-local="web.password"
|
|
26865
26890
|
oninput="window.syncAgentProfileWebsitePasswordMode && window.syncAgentProfileWebsitePasswordMode()"
|
|
26866
|
-
${
|
|
26891
|
+
${
|
|
26892
|
+
access === "password" && !saving && websiteAuthorized
|
|
26893
|
+
? ""
|
|
26894
|
+
: "disabled"
|
|
26895
|
+
}
|
|
26867
26896
|
/>
|
|
26868
26897
|
<div
|
|
26869
26898
|
id="agent-profile-website-password-status"
|
|
@@ -26895,7 +26924,7 @@ Waiting for Claude login output…</pre
|
|
|
26895
26924
|
data-session-profile-save="website"
|
|
26896
26925
|
data-session-profile-web-access-save="explicit"
|
|
26897
26926
|
onclick="window.saveAgentProfileWebsiteAccess && window.saveAgentProfileWebsiteAccess()"
|
|
26898
|
-
${saving ? "disabled" : ""}
|
|
26927
|
+
${saving || !websiteAuthorized ? "disabled" : ""}
|
|
26899
26928
|
>${saving ? "Saving..." : "Save"}</button>
|
|
26900
26929
|
</div>
|
|
26901
26930
|
${
|
|
@@ -26914,6 +26943,9 @@ Waiting for Claude login output…</pre
|
|
|
26914
26943
|
}
|
|
26915
26944
|
|
|
26916
26945
|
function syncAgentProfileWebsitePasswordMode() {
|
|
26946
|
+
const liveSession = getSelectedLiveSession();
|
|
26947
|
+
const websiteAuthorized =
|
|
26948
|
+
getLiveSessionWebsite(liveSession)?.browser_root_authorized === true;
|
|
26917
26949
|
const access = normalizeAgentWebAccess(
|
|
26918
26950
|
$("agent-profile-website-access")?.value
|
|
26919
26951
|
);
|
|
@@ -26923,13 +26955,12 @@ Waiting for Claude login output…</pre
|
|
|
26923
26955
|
const passwordMode = access === "password";
|
|
26924
26956
|
if (row) row.classList.remove("hidden");
|
|
26925
26957
|
if (input) {
|
|
26926
|
-
input.disabled = !passwordMode;
|
|
26958
|
+
input.disabled = !websiteAuthorized || !passwordMode;
|
|
26927
26959
|
}
|
|
26928
26960
|
if (status) {
|
|
26929
|
-
status.textContent =
|
|
26930
|
-
access,
|
|
26931
|
-
|
|
26932
|
-
);
|
|
26961
|
+
status.textContent = websiteAuthorized
|
|
26962
|
+
? formatOwnerWebsitePasswordHint(access, input?.value || "")
|
|
26963
|
+
: "Website is available only for agents in the Browser Root.";
|
|
26933
26964
|
}
|
|
26934
26965
|
}
|
|
26935
26966
|
|
|
@@ -26938,6 +26969,19 @@ Waiting for Claude login output…</pre
|
|
|
26938
26969
|
if (!liveSession?.sessionId) return;
|
|
26939
26970
|
syncAgentProfileWebsiteAccessSession(liveSession);
|
|
26940
26971
|
if (agentProfileWebsiteAccessState.saving === true) return;
|
|
26972
|
+
const previousWebsite = getLiveSessionWebsite(liveSession);
|
|
26973
|
+
if (previousWebsite?.browser_root_authorized !== true) {
|
|
26974
|
+
agentProfileWebsiteAccessState = {
|
|
26975
|
+
...agentProfileWebsiteAccessState,
|
|
26976
|
+
saving: false,
|
|
26977
|
+
error:
|
|
26978
|
+
previousWebsite?.reason_message ||
|
|
26979
|
+
"Website is available only for agents in the Browser Root.",
|
|
26980
|
+
status: "",
|
|
26981
|
+
};
|
|
26982
|
+
renderAgentProfileView();
|
|
26983
|
+
return;
|
|
26984
|
+
}
|
|
26941
26985
|
const select = $("agent-profile-website-access");
|
|
26942
26986
|
const updateConfig = true;
|
|
26943
26987
|
const nextEnabled =
|
|
@@ -26947,7 +26991,6 @@ Waiting for Claude login output…</pre
|
|
|
26947
26991
|
nextAccess === "password"
|
|
26948
26992
|
? String($("agent-profile-website-password")?.value || "").trim()
|
|
26949
26993
|
: "";
|
|
26950
|
-
const previousWebsite = getLiveSessionWebsite(liveSession);
|
|
26951
26994
|
if (nextAccess === "password" && !nextWebsitePassword) {
|
|
26952
26995
|
agentProfileWebsiteAccessState = {
|
|
26953
26996
|
...agentProfileWebsiteAccessState,
|
|
@@ -37739,6 +37782,59 @@ Waiting for Claude login output…</pre
|
|
|
37739
37782
|
syncCreateAllowedPathsShortcutState();
|
|
37740
37783
|
}
|
|
37741
37784
|
|
|
37785
|
+
function isCreateWebsiteEligible() {
|
|
37786
|
+
return (
|
|
37787
|
+
createWebsiteAuthorityState.eligible === true &&
|
|
37788
|
+
createWebsiteAuthorityState.projectAgentId ===
|
|
37789
|
+
String($("create-agent-id")?.value || "").trim()
|
|
37790
|
+
);
|
|
37791
|
+
}
|
|
37792
|
+
|
|
37793
|
+
function syncCreateWebsiteAuthorityState() {
|
|
37794
|
+
const eligible = isCreateWebsiteEligible();
|
|
37795
|
+
const enabledInput = $("create-website-enabled");
|
|
37796
|
+
const accessSelect = $("create-website-access");
|
|
37797
|
+
const hint = $("create-website-authority-hint");
|
|
37798
|
+
if (enabledInput) {
|
|
37799
|
+
enabledInput.disabled = !eligible;
|
|
37800
|
+
if (!eligible) enabledInput.checked = false;
|
|
37801
|
+
}
|
|
37802
|
+
if (accessSelect) {
|
|
37803
|
+
accessSelect.disabled = !eligible;
|
|
37804
|
+
if (!eligible) accessSelect.value = "owner_only";
|
|
37805
|
+
}
|
|
37806
|
+
if (!eligible) setCreateWebsitePasswordValue("");
|
|
37807
|
+
if (hint) {
|
|
37808
|
+
hint.textContent =
|
|
37809
|
+
createWebsiteAuthorityState.reason ||
|
|
37810
|
+
"Website is available only for agents in the Browser Root.";
|
|
37811
|
+
hint.classList.toggle("hidden", eligible);
|
|
37812
|
+
}
|
|
37813
|
+
syncCreateWebsitePasswordMode();
|
|
37814
|
+
}
|
|
37815
|
+
|
|
37816
|
+
function setCreateWebsiteAuthorityState({
|
|
37817
|
+
folderPath = "",
|
|
37818
|
+
projectAgentId = "",
|
|
37819
|
+
eligible = false,
|
|
37820
|
+
reason = "",
|
|
37821
|
+
} = {}) {
|
|
37822
|
+
createWebsiteAuthorityState = {
|
|
37823
|
+
folderPath: String(folderPath || "").trim(),
|
|
37824
|
+
projectAgentId: String(projectAgentId || "").trim(),
|
|
37825
|
+
eligible: eligible === true,
|
|
37826
|
+
reason:
|
|
37827
|
+
String(reason || "").trim() ||
|
|
37828
|
+
"Website is available only for agents in the Browser Root.",
|
|
37829
|
+
};
|
|
37830
|
+
if (eligible !== true) {
|
|
37831
|
+
setCreateWebsiteEnabledValue(false);
|
|
37832
|
+
setCreateWebsiteAccessValue("owner_only");
|
|
37833
|
+
setCreateWebsitePasswordValue("");
|
|
37834
|
+
}
|
|
37835
|
+
syncCreateWebsiteAuthorityState();
|
|
37836
|
+
}
|
|
37837
|
+
|
|
37742
37838
|
function setCreateWebsiteAccessValue(value) {
|
|
37743
37839
|
const select = $("create-website-access");
|
|
37744
37840
|
if (!select) return;
|
|
@@ -37774,16 +37870,19 @@ Waiting for Claude login output…</pre
|
|
|
37774
37870
|
const row = $("create-website-password-row");
|
|
37775
37871
|
const input = $("create-website-password");
|
|
37776
37872
|
const status = $("create-website-password-status");
|
|
37873
|
+
const eligible = isCreateWebsiteEligible();
|
|
37777
37874
|
const passwordMode = getCreateWebsiteAccessValue() === "password";
|
|
37778
37875
|
if (row) row.classList.remove("hidden");
|
|
37779
37876
|
if (input) {
|
|
37780
|
-
input.disabled = !passwordMode;
|
|
37877
|
+
input.disabled = !eligible || !passwordMode;
|
|
37781
37878
|
}
|
|
37782
37879
|
if (status) {
|
|
37783
|
-
status.textContent =
|
|
37784
|
-
|
|
37785
|
-
|
|
37786
|
-
|
|
37880
|
+
status.textContent = eligible
|
|
37881
|
+
? formatOwnerWebsitePasswordHint(
|
|
37882
|
+
getCreateWebsiteAccessValue(),
|
|
37883
|
+
input?.value || ""
|
|
37884
|
+
)
|
|
37885
|
+
: "Website settings are unavailable outside the Browser Root.";
|
|
37787
37886
|
}
|
|
37788
37887
|
}
|
|
37789
37888
|
|
|
@@ -37889,6 +37988,10 @@ Waiting for Claude login output…</pre
|
|
|
37889
37988
|
syncSessionSetupInterfaceStyleVisibility();
|
|
37890
37989
|
setCreateWebsiteEnabledValue(HOST_DEFAULT_SESSION_DEFAULTS.web.enabled);
|
|
37891
37990
|
setCreateWebsiteAccessValue(HOST_DEFAULT_SESSION_DEFAULTS.web.access);
|
|
37991
|
+
setCreateWebsiteAuthorityState({
|
|
37992
|
+
folderPath: startFolder,
|
|
37993
|
+
eligible: false,
|
|
37994
|
+
});
|
|
37892
37995
|
setCreateNotificationsEnabledValue(
|
|
37893
37996
|
HOST_DEFAULT_SESSION_DEFAULTS.notifications.enabled
|
|
37894
37997
|
);
|
|
@@ -37981,6 +38084,10 @@ Waiting for Claude login output…</pre
|
|
|
37981
38084
|
syncSessionSetupInterfaceStyleVisibility();
|
|
37982
38085
|
setCreateWebsiteEnabledValue(HOST_DEFAULT_SESSION_DEFAULTS.web.enabled);
|
|
37983
38086
|
setCreateWebsiteAccessValue(HOST_DEFAULT_SESSION_DEFAULTS.web.access);
|
|
38087
|
+
setCreateWebsiteAuthorityState({
|
|
38088
|
+
folderPath: record.agent_folder || "",
|
|
38089
|
+
eligible: false,
|
|
38090
|
+
});
|
|
37984
38091
|
setCreateNotificationsEnabledValue(
|
|
37985
38092
|
HOST_DEFAULT_SESSION_DEFAULTS.notifications.enabled
|
|
37986
38093
|
);
|
|
@@ -38389,14 +38496,15 @@ Waiting for Claude login output…</pre
|
|
|
38389
38496
|
if (liveSession?.website && typeof liveSession.website === "object") {
|
|
38390
38497
|
return liveSession.website;
|
|
38391
38498
|
}
|
|
38392
|
-
|
|
38393
|
-
|
|
38394
|
-
|
|
38395
|
-
|
|
38396
|
-
|
|
38397
|
-
|
|
38398
|
-
|
|
38399
|
-
|
|
38499
|
+
return {
|
|
38500
|
+
enabled: false,
|
|
38501
|
+
available: false,
|
|
38502
|
+
access: "owner_only",
|
|
38503
|
+
browser_root_authorized: false,
|
|
38504
|
+
reason: "session_folder_outside_browser_root",
|
|
38505
|
+
reason_message:
|
|
38506
|
+
"Website is available only for agents in the Browser Root.",
|
|
38507
|
+
};
|
|
38400
38508
|
}
|
|
38401
38509
|
|
|
38402
38510
|
function getOwnerVisibleWebsitePassword(website = {}) {
|
|
@@ -40377,7 +40485,6 @@ Waiting for Claude login output…</pre
|
|
|
40377
40485
|
"approval_policy",
|
|
40378
40486
|
"allow_dangerously_skip_permissions",
|
|
40379
40487
|
"dangerous_mode",
|
|
40380
|
-
"web_access",
|
|
40381
40488
|
"notifications_enabled",
|
|
40382
40489
|
"allowed_paths",
|
|
40383
40490
|
"runtime_capabilities",
|
|
@@ -40529,8 +40636,10 @@ Waiting for Claude login output…</pre
|
|
|
40529
40636
|
payload.interface_type || getCreateDefaultInterfaceType()
|
|
40530
40637
|
);
|
|
40531
40638
|
syncSessionSetupInterfaceStyleVisibility();
|
|
40532
|
-
|
|
40533
|
-
|
|
40639
|
+
setCreateWebsiteAuthorityState({
|
|
40640
|
+
folderPath: draft.agentFolder || "",
|
|
40641
|
+
eligible: false,
|
|
40642
|
+
});
|
|
40534
40643
|
setCreateTelegramSettingsValue({});
|
|
40535
40644
|
$("create-allowed-paths").value = normalizeAllowedPathsForForm(
|
|
40536
40645
|
payload.allowed_paths
|
|
@@ -40603,6 +40712,13 @@ Waiting for Claude login output…</pre
|
|
|
40603
40712
|
syncCreateAllowedPathsShortcutState();
|
|
40604
40713
|
refreshCreateStartButtonEnabled();
|
|
40605
40714
|
refreshUpdateSessionNameButton();
|
|
40715
|
+
if (draft.agentFolder) {
|
|
40716
|
+
void loadFolderConfigIntoCreateForm(draft.agentFolder, {
|
|
40717
|
+
fillAgentIdIfEmpty: false,
|
|
40718
|
+
applyFormValues: false,
|
|
40719
|
+
showError: false,
|
|
40720
|
+
});
|
|
40721
|
+
}
|
|
40606
40722
|
}
|
|
40607
40723
|
|
|
40608
40724
|
function readSessionSetupSchedulerDraftForEditor(
|
|
@@ -48648,14 +48764,6 @@ Waiting for Claude login output…</pre
|
|
|
48648
48764
|
const allowedPaths = isAllowedPathDebugUiVisible()
|
|
48649
48765
|
? parseAllowedPathsInput($("create-allowed-paths").value)
|
|
48650
48766
|
: null;
|
|
48651
|
-
const webAccess = getCreateWebsiteAccessValue();
|
|
48652
|
-
const webPassword =
|
|
48653
|
-
webAccess === "password" ? getCreateWebsitePasswordValue() : "";
|
|
48654
|
-
if (webAccess === "password" && !webPassword) {
|
|
48655
|
-
throw new Error(
|
|
48656
|
-
"Website Password is required when Website Access is Password. Switch Website Access away from Password before clearing it."
|
|
48657
|
-
);
|
|
48658
|
-
}
|
|
48659
48767
|
|
|
48660
48768
|
const payload = {
|
|
48661
48769
|
provider: createRuntime,
|
|
@@ -48672,8 +48780,6 @@ Waiting for Claude login output…</pre
|
|
|
48672
48780
|
createRuntime === "codex" ? codexApproval : undefined,
|
|
48673
48781
|
allow_dangerously_skip_permissions: allowDanger,
|
|
48674
48782
|
dangerous_mode: allowDanger,
|
|
48675
|
-
web_enabled: getCreateWebsiteEnabledValue(),
|
|
48676
|
-
web_access: webAccess,
|
|
48677
48783
|
notifications_enabled: getCreateNotificationsEnabledValue(),
|
|
48678
48784
|
install_oysterun_skills: getCreateInstallOysterunSkillsValue(),
|
|
48679
48785
|
...readTelegramFieldsPayload("create"),
|
|
@@ -48692,9 +48798,6 @@ Waiting for Claude login output…</pre
|
|
|
48692
48798
|
) {
|
|
48693
48799
|
payload.confirm_beta_provider_permission_mode = true;
|
|
48694
48800
|
}
|
|
48695
|
-
if (webPassword) {
|
|
48696
|
-
payload.web_password = webPassword;
|
|
48697
|
-
}
|
|
48698
48801
|
validateTelegramEnabledPayloadOrThrow(
|
|
48699
48802
|
payload,
|
|
48700
48803
|
getCreateTelegramConfiguredState()
|
|
@@ -48702,6 +48805,23 @@ Waiting for Claude login output…</pre
|
|
|
48702
48805
|
return payload;
|
|
48703
48806
|
}
|
|
48704
48807
|
|
|
48808
|
+
function buildCreateWebsitePayload() {
|
|
48809
|
+
if (!isCreateWebsiteEligible()) return null;
|
|
48810
|
+
const webAccess = getCreateWebsiteAccessValue();
|
|
48811
|
+
const webPassword =
|
|
48812
|
+
webAccess === "password" ? getCreateWebsitePasswordValue() : "";
|
|
48813
|
+
if (webAccess === "password" && !webPassword) {
|
|
48814
|
+
throw new Error(
|
|
48815
|
+
"Website Password is required when Website Access is Password. Switch Website Access away from Password before clearing it."
|
|
48816
|
+
);
|
|
48817
|
+
}
|
|
48818
|
+
return {
|
|
48819
|
+
web_enabled: getCreateWebsiteEnabledValue(),
|
|
48820
|
+
web_access: webAccess,
|
|
48821
|
+
...(webPassword ? { web_password: webPassword } : {}),
|
|
48822
|
+
};
|
|
48823
|
+
}
|
|
48824
|
+
|
|
48705
48825
|
function readCreateFormRequest() {
|
|
48706
48826
|
const agent_id = $("create-agent-id").value.trim();
|
|
48707
48827
|
const agent_folder = $("create-agent-folder").value.trim();
|
|
@@ -48724,6 +48844,7 @@ Waiting for Claude login output…</pre
|
|
|
48724
48844
|
configToggleChecked
|
|
48725
48845
|
),
|
|
48726
48846
|
sessionPayload: buildCreateSessionPayload(),
|
|
48847
|
+
websitePayload: buildCreateWebsitePayload(),
|
|
48727
48848
|
};
|
|
48728
48849
|
}
|
|
48729
48850
|
|
|
@@ -48754,6 +48875,7 @@ Waiting for Claude login output…</pre
|
|
|
48754
48875
|
persistConfig,
|
|
48755
48876
|
preventConfigCreate,
|
|
48756
48877
|
sessionPayload,
|
|
48878
|
+
websitePayload,
|
|
48757
48879
|
} = request;
|
|
48758
48880
|
const sessionSetupProof = applyCreateSessionSetupProofAttributes(
|
|
48759
48881
|
buildCreateSessionSetupProviderModelPermissionProof(sessionPayload)
|
|
@@ -48791,28 +48913,37 @@ Waiting for Claude login output…</pre
|
|
|
48791
48913
|
|
|
48792
48914
|
const configPersistenceAction =
|
|
48793
48915
|
getCreateConfigPersistenceAction(configToggleMode);
|
|
48794
|
-
|
|
48795
|
-
|
|
48796
|
-
|
|
48797
|
-
|
|
48798
|
-
|
|
48916
|
+
const shouldPersistWebsite = Boolean(websitePayload);
|
|
48917
|
+
let failureStep =
|
|
48918
|
+
shouldPersistConfig || shouldPersistWebsite
|
|
48919
|
+
? `Could not ${configPersistenceAction.toLowerCase()} .oysterun/config.json`
|
|
48920
|
+
: resumeSessionId
|
|
48921
|
+
? "Could not resume session"
|
|
48922
|
+
: "Could not start session";
|
|
48799
48923
|
try {
|
|
48800
|
-
if (shouldPersistConfig) {
|
|
48924
|
+
if (shouldPersistConfig || shouldPersistWebsite) {
|
|
48801
48925
|
await apiWithAuthRetry(
|
|
48802
48926
|
"PUT",
|
|
48803
48927
|
"/agent/config",
|
|
48804
48928
|
{
|
|
48805
48929
|
agent_id,
|
|
48806
48930
|
agent_folder,
|
|
48807
|
-
...
|
|
48808
|
-
|
|
48809
|
-
|
|
48931
|
+
...(shouldPersistConfig
|
|
48932
|
+
? {
|
|
48933
|
+
...sessionPayload,
|
|
48934
|
+
session_setup_provider_model_permission_proof:
|
|
48935
|
+
sessionSetupProof,
|
|
48936
|
+
}
|
|
48937
|
+
: {}),
|
|
48938
|
+
...(websitePayload || {}),
|
|
48810
48939
|
},
|
|
48811
48940
|
{
|
|
48812
48941
|
onRetry: () => {
|
|
48813
48942
|
if (!isCurrentCreateAttempt(attemptId)) return;
|
|
48814
48943
|
setCreateStatus(
|
|
48815
|
-
|
|
48944
|
+
shouldPersistConfig
|
|
48945
|
+
? `${configPersistenceAction} .oysterun/config.json...`
|
|
48946
|
+
: "Updating Website settings...",
|
|
48816
48947
|
"Retrying config save after a brief auth settle."
|
|
48817
48948
|
);
|
|
48818
48949
|
},
|
|
@@ -50190,6 +50321,7 @@ Waiting for Claude login output…</pre
|
|
|
50190
50321
|
const folderPath = String(path || "").trim();
|
|
50191
50322
|
if (!folderPath) {
|
|
50192
50323
|
hideCreateConfigToggle("");
|
|
50324
|
+
setCreateWebsiteAuthorityState();
|
|
50193
50325
|
refreshCreateStartButtonEnabled();
|
|
50194
50326
|
return;
|
|
50195
50327
|
}
|
|
@@ -50207,20 +50339,38 @@ Waiting for Claude login output…</pre
|
|
|
50207
50339
|
)}${providerQuery}`
|
|
50208
50340
|
);
|
|
50209
50341
|
const resolvedFolderPath = data.agent_folder || folderPath;
|
|
50342
|
+
const currentFolderPath = String(
|
|
50343
|
+
$("create-agent-folder").value || ""
|
|
50344
|
+
).trim();
|
|
50345
|
+
if (
|
|
50346
|
+
requestId !== latestCreateFolderConfigRequestId ||
|
|
50347
|
+
currentFolderPath !== folderPath
|
|
50348
|
+
) {
|
|
50349
|
+
return;
|
|
50350
|
+
}
|
|
50351
|
+
setCreateWebsiteAuthorityState({
|
|
50352
|
+
folderPath: resolvedFolderPath,
|
|
50353
|
+
projectAgentId: data.websiteAgentId || "",
|
|
50354
|
+
eligible:
|
|
50355
|
+
data.websiteEligible === true ||
|
|
50356
|
+
data.website?.browser_root_authorized === true,
|
|
50357
|
+
reason:
|
|
50358
|
+
data.website?.reason_message ||
|
|
50359
|
+
"Website is available only for agents in the Browser Root.",
|
|
50360
|
+
});
|
|
50361
|
+
if (opts.applyFormValues === false && isCreateWebsiteEligible()) {
|
|
50362
|
+
setCreateWebsiteEnabledValue(
|
|
50363
|
+
HOST_DEFAULT_SESSION_DEFAULTS.web.enabled
|
|
50364
|
+
);
|
|
50365
|
+
setCreateWebsiteAccessValue(
|
|
50366
|
+
HOST_DEFAULT_SESSION_DEFAULTS.web.access
|
|
50367
|
+
);
|
|
50368
|
+
}
|
|
50210
50369
|
applyCreateConfigToggleMode(
|
|
50211
50370
|
resolvedFolderPath,
|
|
50212
50371
|
data.hasConfig === true
|
|
50213
50372
|
);
|
|
50214
50373
|
if (opts.applyFormValues !== false) {
|
|
50215
|
-
const currentFolderPath = String(
|
|
50216
|
-
$("create-agent-folder").value || ""
|
|
50217
|
-
).trim();
|
|
50218
|
-
if (
|
|
50219
|
-
requestId !== latestCreateFolderConfigRequestId ||
|
|
50220
|
-
currentFolderPath !== folderPath
|
|
50221
|
-
) {
|
|
50222
|
-
return;
|
|
50223
|
-
}
|
|
50224
50374
|
const preferencesUntouched =
|
|
50225
50375
|
createFormPreferenceVersion === requestPreferenceVersion;
|
|
50226
50376
|
$("create-agent-folder").value = resolvedFolderPath;
|
|
@@ -50307,6 +50457,10 @@ Waiting for Claude login output…</pre
|
|
|
50307
50457
|
refreshCreateStartButtonEnabled();
|
|
50308
50458
|
} catch (err) {
|
|
50309
50459
|
hideCreateConfigToggle(folderPath);
|
|
50460
|
+
setCreateWebsiteAuthorityState({
|
|
50461
|
+
folderPath,
|
|
50462
|
+
eligible: false,
|
|
50463
|
+
});
|
|
50310
50464
|
setCreateProviderSkillStatus(null);
|
|
50311
50465
|
setCreateProviderTrustStatus(null);
|
|
50312
50466
|
refreshCreateStartButtonEnabled();
|
|
@@ -50827,6 +50981,10 @@ Waiting for Claude login output…</pre
|
|
|
50827
50981
|
markCreatePreferencesEdited();
|
|
50828
50982
|
syncCreateAllowedPathsShortcutState();
|
|
50829
50983
|
hideCreateConfigToggle($("create-agent-folder").value);
|
|
50984
|
+
setCreateWebsiteAuthorityState({
|
|
50985
|
+
folderPath: $("create-agent-folder").value,
|
|
50986
|
+
eligible: false,
|
|
50987
|
+
});
|
|
50830
50988
|
refreshUpdateSessionNameButton();
|
|
50831
50989
|
void refreshCreateProviderTrustStatus();
|
|
50832
50990
|
refreshCreateStartButtonEnabled();
|
|
@@ -50834,6 +50992,7 @@ Waiting for Claude login output…</pre
|
|
|
50834
50992
|
$("create-agent-id").addEventListener("input", () => {
|
|
50835
50993
|
markCreatePreferencesEdited();
|
|
50836
50994
|
syncCreateSessionNameDefault();
|
|
50995
|
+
syncCreateWebsiteAuthorityState();
|
|
50837
50996
|
void refreshCreateProviderSkillStatus();
|
|
50838
50997
|
void refreshCreateProviderTrustStatus();
|
|
50839
50998
|
refreshCreateStartButtonEnabled();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as ee,c as Y,r as K,j as Z}from"./index-
|
|
1
|
+
import{g as ee,c as Y,r as K,j as Z}from"./index-CS0AuJg_.js";var X={exports:{}};(function(e){var t=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/**
|
|
2
2
|
* Prism: Lightweight, robust, elegant syntax highlighting
|
|
3
3
|
*
|
|
4
4
|
* @license MIT <https://opensource.org/licenses/MIT>
|