openmausbot 0.1.91 → 0.1.93
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/assets/DesktopViewer-CKNR3SEW.js +5 -0
- package/dist/assets/{abnfDiagram-O67JEVCF-yP-w8pRq.js → abnfDiagram-O67JEVCF-Ckrm1I1X.js} +1 -1
- package/dist/assets/{arc-DsivfZEh.js → arc-BBdBuCgB.js} +1 -1
- package/dist/assets/{architectureDiagram-NJMV4G6O-CILw7lzT.js → architectureDiagram-NJMV4G6O-CDdA3Hjs.js} +1 -1
- package/dist/assets/{blockDiagram-BEXU5L5S-DEQUV3HF.js → blockDiagram-BEXU5L5S-AUrsx1YR.js} +1 -1
- package/dist/assets/{c4Diagram-YGBWAQC7-lSXCZoKA.js → c4Diagram-YGBWAQC7-BEqQ0Unh.js} +1 -1
- package/dist/assets/channel-BU94VpxE.js +1 -0
- package/dist/assets/{chunk-2Q5K7J3B-QCD5bgWP.js → chunk-2Q5K7J3B-CEEuvd4C.js} +1 -1
- package/dist/assets/{chunk-3FUC2YCW-C5-iZJuL.js → chunk-3FUC2YCW-DyANCiHl.js} +2 -2
- package/dist/assets/{chunk-5VM5RSS4-cxsawMpY.js → chunk-5VM5RSS4-Dx_Slpw9.js} +1 -1
- package/dist/assets/{chunk-GTNCS2PH-DV8tV8H7.js → chunk-GTNCS2PH-Dl7h7iiD.js} +1 -1
- package/dist/assets/{chunk-GWA4HPMP-CJFZyfbW.js → chunk-GWA4HPMP-BLx07SPb.js} +1 -1
- package/dist/assets/{chunk-JWPE2WC7-BigbMXco.js → chunk-JWPE2WC7-BMxDj3n7.js} +1 -1
- package/dist/assets/{chunk-NETBCI7D-oVxTfpDy.js → chunk-NETBCI7D-CN66PT4H.js} +1 -1
- package/dist/assets/{chunk-WEXAMYUT-CH4BiroW.js → chunk-WEXAMYUT-6HwhsDKw.js} +1 -1
- package/dist/assets/{chunk-XXDRQBXY-KEDa6gax.js → chunk-XXDRQBXY-gWnLt7SN.js} +1 -1
- package/dist/assets/{classDiagram-v2-NBCMYWYE-BiPjfqVv.js → classDiagram-v2-NBCMYWYE-CMS5l2ea.js} +1 -1
- package/dist/assets/{cose-bilkent-JH36ORCC-Caxew3OY.js → cose-bilkent-JH36ORCC-CV7sQwIG.js} +1 -1
- package/dist/assets/{cynefin-OW5HDTMX-B_Pui369.js → cynefin-OW5HDTMX-CSyl-7vl.js} +1 -1
- package/dist/assets/{cynefinDiagram-VND7K2PF-X64ydIhP.js → cynefinDiagram-VND7K2PF-BCLKL6az.js} +1 -1
- package/dist/assets/{dagre-6A5THRUB-TqYCI1E1.js → dagre-6A5THRUB-DiaZs6S1.js} +1 -1
- package/dist/assets/{diagram-22UHCM2B-TeOt3rAQ.js → diagram-22UHCM2B-BeTtmt3I.js} +1 -1
- package/dist/assets/{diagram-3UASUU5V-D70BLhDA.js → diagram-3UASUU5V-CsdBG-QQ.js} +1 -1
- package/dist/assets/{diagram-ATOU4E4O-BbQDLwUC.js → diagram-ATOU4E4O-BczvdbR1.js} +1 -1
- package/dist/assets/{diagram-CDSNMT55-ChNJZ1u-.js → diagram-CDSNMT55-DHTTTMhi.js} +1 -1
- package/dist/assets/{diagram-MLGK6HIB-DMBl2APa.js → diagram-MLGK6HIB-RTjHyd8z.js} +1 -1
- package/dist/assets/{diagram-MPIPVDR6-CEqDchOp.js → diagram-MPIPVDR6-BDenHEH_.js} +1 -1
- package/dist/assets/{ebnfDiagram-ZINNZB2B-BVDKRp_-.js → ebnfDiagram-ZINNZB2B-BSiRSbtL.js} +1 -1
- package/dist/assets/{elk-276RUBZZ-CRkofO9B.js → elk-276RUBZZ-BCAElss-.js} +1 -1
- package/dist/assets/{erDiagram-OPXOYQCR-DruOMh5e.js → erDiagram-OPXOYQCR-C4_1ZPJe.js} +1 -1
- package/dist/assets/{flowDiagram-KWPJA3E3-8GMQeB7t.js → flowDiagram-KWPJA3E3-Bcb4Z75S.js} +1 -1
- package/dist/assets/{ganttDiagram-FUAMR5RP-ORE9jcsM.js → ganttDiagram-FUAMR5RP-BiPOzxzb.js} +1 -1
- package/dist/assets/{gitGraphDiagram-X574FWY7-BmsedsWh.js → gitGraphDiagram-X574FWY7-B1wtF3ZS.js} +1 -1
- package/dist/assets/index-Biji-bfL.css +1 -0
- package/dist/assets/{index-DKNEM8Q6.js → index-BkYwilkG.js} +1 -1
- package/dist/assets/index-DZlhoES0.js +597 -0
- package/dist/assets/{infoDiagram-VRGFBTTK-E_p7AooJ.js → infoDiagram-VRGFBTTK-A19No71U.js} +1 -1
- package/dist/assets/{ishikawaDiagram-OU5B5YK6-Y-B2mKda.js → ishikawaDiagram-OU5B5YK6-BQsqJ_cV.js} +1 -1
- package/dist/assets/{journeyDiagram-ZHPQQLJL-eA8RELcK.js → journeyDiagram-ZHPQQLJL-DAO0pVan.js} +1 -1
- package/dist/assets/{kanban-definition-PNTS6WVX-DqIL2e8e.js → kanban-definition-PNTS6WVX-NepmKEe2.js} +1 -1
- package/dist/assets/{linear-yC_29R6e.js → linear-bq1PTDTW.js} +1 -1
- package/dist/assets/{mermaid.core-VhEMkSND.js → mermaid.core-s4LTbQle.js} +5 -5
- package/dist/assets/{mindmap-definition-NLK3R4M7-oJ7kyQZy.js → mindmap-definition-NLK3R4M7-LtdbgHFH.js} +1 -1
- package/dist/assets/{pegDiagram-GJSIUBJH-BmfYcY0O.js → pegDiagram-GJSIUBJH-tdbaCxiK.js} +1 -1
- package/dist/assets/{pieDiagram-5QR66LMP-DKvgP7w9.js → pieDiagram-5QR66LMP-DvkbpW8l.js} +1 -1
- package/dist/assets/{quadrantDiagram-O4NWA36T-BEKL3W0L.js → quadrantDiagram-O4NWA36T-Do4KaH-E.js} +1 -1
- package/dist/assets/{railroadDiagram-XR7U4H2S-BEsiqR5s.js → railroadDiagram-XR7U4H2S-BQWULOAs.js} +1 -1
- package/dist/assets/{requirementDiagram-PLB6GJNP-DWBcWvAP.js → requirementDiagram-PLB6GJNP-w9kei1FU.js} +1 -1
- package/dist/assets/{sankeyDiagram-IPEJSGJF-rpZ2_O4s.js → sankeyDiagram-IPEJSGJF-D2gRy0e8.js} +1 -1
- package/dist/assets/{sequenceDiagram-PO4LG4MO-B99HQdJR.js → sequenceDiagram-PO4LG4MO-a2sO5_Eo.js} +1 -1
- package/dist/assets/{sizeCapture-INFHLROL-BjN0qT5T.js → sizeCapture-INFHLROL-CiPJmFEB.js} +1 -1
- package/dist/assets/{stateDiagram-v2-GCMORJYK-BbsVgGsC.js → stateDiagram-v2-GCMORJYK-DAkUUlL7.js} +1 -1
- package/dist/assets/{swimlanes-2SLR337P-DG3gKkeR.js → swimlanes-2SLR337P-DANf2R8Y.js} +1 -1
- package/dist/assets/swimlanesDiagram-TC7HE7FX-CdHxG8aM.js +8 -0
- package/dist/assets/{timeline-definition-EJHVYXUP-BTHOdtF_.js → timeline-definition-EJHVYXUP-BKpQmzrT.js} +1 -1
- package/dist/assets/{usecaseDiagram-POWQR4AR-acLSLFwc.js → usecaseDiagram-POWQR4AR-BtI7qLN-.js} +1 -1
- package/dist/assets/{vennDiagram-UO4OBE2U-C5JzNX9G.js → vennDiagram-UO4OBE2U-gXJXrAG_.js} +1 -1
- package/dist/assets/{wardleyDiagram-VNRHLVJA-DL1-PrR_.js → wardleyDiagram-VNRHLVJA-GU8Po5-n.js} +1 -1
- package/dist/assets/{xychartDiagram-PMCCYNJV-Bvr1477p.js → xychartDiagram-PMCCYNJV-BF4J30g6.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/novnc-NOTICE.txt +118 -0
- package/dist-server/cloud-home-start.js +112 -14
- package/dist-server/companion/src/routes.js +24 -1
- package/dist-server/container-mcp.js +201 -16
- package/dist-server/drivers/agents-proxy.js +7 -4
- package/dist-server/enterprise/server/index.js +5 -1
- package/dist-server/index.js +10698 -4737
- package/dist-server/local-computer-proxy.js +133 -8
- package/dist-server/mcp-gate.js +16 -6
- package/dist-server/model-catalog/models-dev.snapshot.json +7299 -0
- package/dist-server/openmausbot.js +4656 -1258
- package/dist-server/pair-cli.js +4656 -1258
- package/dist-server/server/boat.js +5 -5
- package/dist-server/server/browser-engine.js +10 -1
- package/dist-server/server/browser-live.js +46 -2
- package/dist-server/server/browser-runtime.js +74 -8
- package/dist-server/server/browser-tool-shape.js +6 -4
- package/dist-server/server/chief-of-staff.js +1 -1
- package/dist-server/server/cloud-home-start.js +118 -26
- package/dist-server/server/cloud-home.js +39 -3
- package/dist-server/server/cloud-lending.js +74 -10
- package/dist-server/server/cloud-owner.js +196 -0
- package/dist-server/server/cloud-secrets-boot.js +6 -0
- package/dist-server/server/cloud-secrets.js +65 -0
- package/dist-server/server/computer-control.js +6 -0
- package/dist-server/server/config.js +187 -14
- package/dist-server/server/container-computer.js +46 -34
- package/dist-server/server/desktop-viewer-targets.js +26 -0
- package/dist-server/server/digest.js +12 -2
- package/dist-server/server/drivers/acp/core.js +339 -33
- package/dist-server/server/drivers/acp/cursor.js +13 -1
- package/dist-server/server/drivers/acp/opencode-go.js +614 -85
- package/dist-server/server/drivers/acp/quiet-status.js +257 -0
- package/dist-server/server/drivers/acp/qwen.js +18 -0
- package/dist-server/server/drivers/agents-catalog.js +6 -6
- package/dist-server/server/drivers/antigravity-acp.js +69 -11
- package/dist-server/server/drivers/antigravity-temp.js +360 -0
- package/dist-server/server/drivers/antigravity.js +21 -0
- package/dist-server/server/drivers/builtIn.js +2 -0
- package/dist-server/server/drivers/cerebras.js +108 -0
- package/dist-server/server/drivers/chat-mcp-tools.js +20 -3
- package/dist-server/server/drivers/chatgpt-plan-auth.js +481 -0
- package/dist-server/server/drivers/claude.js +329 -37
- package/dist-server/server/drivers/codex.js +228 -18
- package/dist-server/server/drivers/grok.js +2 -2
- package/dist-server/server/drivers/mistral.js +4 -3
- package/dist-server/server/drivers/openai-chat-protocol.js +4 -3
- package/dist-server/server/drivers/openai-chat.js +66 -4
- package/dist-server/server/drivers/openai-compat.js +73 -23
- package/dist-server/server/drivers/prompt-split.js +2 -0
- package/dist-server/server/engine-install.js +46 -12
- package/dist-server/server/env-path.js +21 -5
- package/dist-server/server/harness/registry.js +2 -2
- package/dist-server/server/index.js +1545 -238
- package/dist-server/server/lending-memory.js +479 -0
- package/dist-server/server/local-vm-idle.js +24 -6
- package/dist-server/server/local-vm-stop-reason.js +26 -0
- package/dist-server/server/managed-desktop.js +3 -0
- package/dist-server/server/mcp-bridge.js +5 -3
- package/dist-server/server/mcp-http.js +6 -3
- package/dist-server/server/mcp-oauth-discovery.js +133 -0
- package/dist-server/server/mcp-oauth-store.js +70 -0
- package/dist-server/server/mcp-oauth.js +550 -0
- package/dist-server/server/mcp-probe.js +14 -1
- package/dist-server/server/mcp-registry.js +43 -0
- package/dist-server/server/memory-upkeep.js +94 -84
- package/dist-server/server/model-catalog/catalog.js +374 -0
- package/dist-server/server/model-catalog/presets.js +176 -0
- package/dist-server/server/model-catalog/trim.js +219 -0
- package/dist-server/server/provider-key-check.js +5 -2
- package/dist-server/server/recent-work.js +1 -1
- package/dist-server/server/request-auth.js +23 -0
- package/dist-server/server/routes/antigravity-leftovers.js +45 -0
- package/dist-server/server/routes/bot-memory.js +31 -6
- package/dist-server/server/routes/desktop-viewer.js +238 -0
- package/dist-server/server/routine-requests.js +1 -1
- package/dist-server/server/routines.js +6 -3
- package/dist-server/server/sessions.js +56 -9
- package/dist-server/server/skills.js +25 -10
- package/dist-server/server/store.js +116 -122
- package/dist-server/server/thread-events.js +2 -0
- package/dist-server/server/thread-starters.js +33 -0
- package/dist-server/server/thread-title.js +46 -0
- package/dist-server/server/tts/fish.js +4 -5
- package/dist-server/server/tts/index.js +5 -3
- package/dist-server/server/vps-computer.js +80 -13
- package/dist-server/server/webhooks.js +18 -1
- package/dist-server/server/workspace-backup-policy.js +3 -0
- package/dist-server/server/workspace-backup.js +25 -0
- package/dist-server/server/workspace.js +66 -16
- package/dist-server/shared/approval-mode.js +1 -1
- package/dist-server/shared/redact.js +1 -0
- package/dist-server/shared/tool-name.js +22 -0
- package/dist-server/shared/workspace-backup-client.js +1 -0
- package/dist-server/src/lib/citations.js +177 -0
- package/dist-server/src/lib/composer-attachments.js +7 -1
- package/dist-server/vps-container-mcp.js +202 -16
- package/dist-server/workspace-backup.worker.js +87 -9
- package/enterprise/server/index.js +5 -1
- package/package.json +1 -1
- package/dist/assets/channel-DrfGMu7X.js +0 -1
- package/dist/assets/index-BlnCEcU6.js +0 -588
- package/dist/assets/index-DVxjOvID.css +0 -1
- package/dist/assets/swimlanesDiagram-TC7HE7FX-BCZhxl7e.js +0 -8
|
@@ -3169,6 +3169,7 @@ var WORKSPACE_BACKUP_CLIENT_KEYS = [
|
|
|
3169
3169
|
"omb-draft-channel-modes",
|
|
3170
3170
|
"omb-skin",
|
|
3171
3171
|
"omb-show-threads",
|
|
3172
|
+
"omb-show-run-card",
|
|
3172
3173
|
"openmausbot.sidebarDensity",
|
|
3173
3174
|
"openmausbot.sidebarCollapsedSections.v1",
|
|
3174
3175
|
"openmausbot.sidebarSectionOrder.v1",
|
|
@@ -18683,15 +18684,27 @@ var stdioEntrySchema = external_exports.object({
|
|
|
18683
18684
|
var stdioMutationSchema = stdioEntrySchema.extend({
|
|
18684
18685
|
env: external_exports.record(external_exports.string(), external_exports.union([external_exports.string().max(16384), external_exports.literal(true)])).optional()
|
|
18685
18686
|
});
|
|
18687
|
+
var CLIENT_ID = /^[\x20-\x7e]+$/;
|
|
18688
|
+
var SCOPE = /^[\x21\x23-\x5b\x5d-\x7e]+$/;
|
|
18689
|
+
var CLIENT_SECRET_MAX = 4096;
|
|
18690
|
+
var oauthClientSchema = external_exports.object({
|
|
18691
|
+
clientId: external_exports.string().trim().min(1, "Enter the client ID of the app registered with this server's sign-in provider.").max(512).regex(CLIENT_ID, "A client ID is printable text on one line."),
|
|
18692
|
+
clientSecret: external_exports.string().min(1).max(CLIENT_SECRET_MAX).regex(CLIENT_ID, "A client secret is printable text on one line.").optional(),
|
|
18693
|
+
scopes: external_exports.array(external_exports.string().max(256).regex(SCOPE, "Scopes are single words, like offline_access or api://my-app/mcp.read.")).max(32).optional()
|
|
18694
|
+
}).strict();
|
|
18686
18695
|
var remoteEntrySchema = external_exports.object({
|
|
18687
18696
|
/** Streamable HTTP unless the entry says the older SSE transport. */
|
|
18688
18697
|
type: external_exports.enum(["http", "sse"]).optional(),
|
|
18689
18698
|
url: external_exports.string().trim().min(1).max(2048),
|
|
18690
18699
|
headers: external_exports.record(external_exports.string(), external_exports.string().max(16384)).optional(),
|
|
18700
|
+
oauth: oauthClientSchema.optional(),
|
|
18691
18701
|
enabled: external_exports.boolean().optional()
|
|
18692
18702
|
}).strict();
|
|
18693
18703
|
var remoteMutationSchema = remoteEntrySchema.extend({
|
|
18694
|
-
headers: external_exports.record(external_exports.string(), external_exports.union([external_exports.string().max(16384), external_exports.literal(true)])).optional()
|
|
18704
|
+
headers: external_exports.record(external_exports.string(), external_exports.union([external_exports.string().max(16384), external_exports.literal(true)])).optional(),
|
|
18705
|
+
oauth: oauthClientSchema.extend({
|
|
18706
|
+
clientSecret: external_exports.union([external_exports.string().min(1).max(CLIENT_SECRET_MAX).regex(CLIENT_ID, "A client secret is printable text on one line."), external_exports.literal(true)]).optional()
|
|
18707
|
+
}).optional()
|
|
18695
18708
|
});
|
|
18696
18709
|
|
|
18697
18710
|
// server/schema.ts
|
|
@@ -18765,7 +18778,11 @@ var sessionSchema = external_exports.object({
|
|
|
18765
18778
|
userId: external_exports.string().max(256).optional(),
|
|
18766
18779
|
email: external_exports.string().max(320).optional(),
|
|
18767
18780
|
/** Set only by the internal verified-portal issuance path, never by email or pairing input. */
|
|
18768
|
-
membershipAuthority: external_exports.literal("portal").optional()
|
|
18781
|
+
membershipAuthority: external_exports.literal("portal").optional(),
|
|
18782
|
+
/** A browser sign-in (PairingCode `browser`): accepted only as its browser's cookie, never as a bearer token. */
|
|
18783
|
+
cookieOnly: external_exports.literal(true).optional(),
|
|
18784
|
+
/** Whose OMB Cloud a browser sign-in signed in to (its PairingCode `owner`). */
|
|
18785
|
+
owner: external_exports.string().max(254).optional()
|
|
18769
18786
|
});
|
|
18770
18787
|
var fileSchema = external_exports.object({ version: external_exports.literal(1), sessions: external_exports.array(sessionSchema) });
|
|
18771
18788
|
|
|
@@ -18777,6 +18794,7 @@ var optionalText = external_exports.string().optional();
|
|
|
18777
18794
|
var SSH_ALIAS = /^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$/;
|
|
18778
18795
|
var LEGACY_BROWSER_PROFILE_ID = /^[A-Za-z0-9_-]{1,40}$/;
|
|
18779
18796
|
var BROWSER_PROFILE_ID = /^[a-z0-9_-]{1,40}$/;
|
|
18797
|
+
var FISH_TTS_MODELS = ["s2.1-pro", "s2.1-pro-free"];
|
|
18780
18798
|
var MIN_ROOM_TURN_TIMEOUT_MINUTES = 1;
|
|
18781
18799
|
var MAX_ROOM_TURN_TIMEOUT_MINUTES = 1440;
|
|
18782
18800
|
var DEFAULT_ROOM_HANDOFF_LIFETIME_MINUTES = 30;
|
|
@@ -18787,6 +18805,8 @@ var MIN_THREAD_EVENT_LOG_BYTES = 256 * 1024;
|
|
|
18787
18805
|
var MAX_THREAD_EVENT_LOG_BYTES = 4 * 1024 * 1024 * 1024;
|
|
18788
18806
|
var MIN_LOCAL_VM_MAX_INSTANCES = 1;
|
|
18789
18807
|
var MAX_LOCAL_VM_MAX_INSTANCES = 8;
|
|
18808
|
+
var MIN_LOCAL_VM_IDLE_TIMEOUT_MINUTES = 5;
|
|
18809
|
+
var MAX_LOCAL_VM_IDLE_TIMEOUT_MINUTES = 1440;
|
|
18790
18810
|
function isValidSshAlias(value) {
|
|
18791
18811
|
return typeof value === "string" && SSH_ALIAS.test(value);
|
|
18792
18812
|
}
|
|
@@ -18824,7 +18844,8 @@ var roomConfigSchema = external_exports.object({
|
|
|
18824
18844
|
);
|
|
18825
18845
|
var localVmConfigSchema = external_exports.object({
|
|
18826
18846
|
mode: external_exports.enum(["shared", "per-bot", "pool"]).optional(),
|
|
18827
|
-
maxInstances: external_exports.number().int().min(MIN_LOCAL_VM_MAX_INSTANCES).max(MAX_LOCAL_VM_MAX_INSTANCES).optional()
|
|
18847
|
+
maxInstances: external_exports.number().int().min(MIN_LOCAL_VM_MAX_INSTANCES).max(MAX_LOCAL_VM_MAX_INSTANCES).optional(),
|
|
18848
|
+
idleTimeoutMinutes: external_exports.number().int().min(MIN_LOCAL_VM_IDLE_TIMEOUT_MINUTES).max(MAX_LOCAL_VM_IDLE_TIMEOUT_MINUTES).optional()
|
|
18828
18849
|
});
|
|
18829
18850
|
var browserProfileSchema = external_exports.object({
|
|
18830
18851
|
// "guest" is the throwaway session's reserved id, never a saved profile
|
|
@@ -18983,7 +19004,11 @@ var onboardingConfigSchema = external_exports.object({
|
|
|
18983
19004
|
/** Which welcome flow was completed; a newer flow may re-show itself. */
|
|
18984
19005
|
version: external_exports.number().int().min(0).max(1e3).optional(),
|
|
18985
19006
|
reelSeen: external_exports.boolean().optional(),
|
|
18986
|
-
hintsSeen: external_exports.array(external_exports.string().trim().min(1).max(60)).max(100).optional()
|
|
19007
|
+
hintsSeen: external_exports.array(external_exports.string().trim().min(1).max(60)).max(100).optional(),
|
|
19008
|
+
/** OMB Cloud home only: when a bot's turn first finished on this machine
|
|
19009
|
+
* (cloud-home.ts firstCloudTurnPatch). Written by the server, read by the
|
|
19010
|
+
* Cloud's setup checklist. */
|
|
19011
|
+
firstTurnAt: external_exports.string().trim().max(40).optional()
|
|
18987
19012
|
}).strict();
|
|
18988
19013
|
var instanceConfigSchema = external_exports.object({
|
|
18989
19014
|
driver: external_exports.string().min(1),
|
|
@@ -18995,6 +19020,7 @@ var instanceConfigSchema = external_exports.object({
|
|
|
18995
19020
|
]).optional(),
|
|
18996
19021
|
environment: external_exports.record(external_exports.string(), external_exports.string()).optional(),
|
|
18997
19022
|
enabled: external_exports.boolean().optional(),
|
|
19023
|
+
access: external_exports.enum(["subscription", "custom", "api"]).optional(),
|
|
18998
19024
|
config: external_exports.json().optional()
|
|
18999
19025
|
});
|
|
19000
19026
|
var instanceConfigMapSchema = external_exports.record(external_exports.string(), instanceConfigSchema);
|
|
@@ -19052,11 +19078,17 @@ var appConfigSchema = external_exports.object({
|
|
|
19052
19078
|
phone: external_exports.enum(["ios", "android"]).optional()
|
|
19053
19079
|
}).optional(),
|
|
19054
19080
|
mistral: external_exports.object({ key: optionalText }).optional(),
|
|
19081
|
+
cerebras: external_exports.object({ key: optionalText }).optional(),
|
|
19055
19082
|
xai: external_exports.object({ key: optionalText, url: optionalText }).optional(),
|
|
19056
19083
|
/** Anthropic API key for Claude Code billed per token, handed only to
|
|
19057
19084
|
* Claude instances; `url` only for a proxy or a test double. Never a
|
|
19058
19085
|
* personal-login OAuth token. */
|
|
19059
|
-
anthropic: external_exports.object({ key: optionalText, url: optionalText }).optional(),
|
|
19086
|
+
anthropic: external_exports.object({ key: optionalText, url: optionalText, everyClaudeBot: external_exports.boolean().optional() }).optional(),
|
|
19087
|
+
/** OpenAI's own API key, for the `openai` instance only. Codex keeps its
|
|
19088
|
+
* own ChatGPT or API login and never reads this. */
|
|
19089
|
+
openai: external_exports.object({ key: optionalText }).optional(),
|
|
19090
|
+
/** OpenRouter key, for the `openrouter` instance only. */
|
|
19091
|
+
openrouter: external_exports.object({ key: optionalText }).optional(),
|
|
19060
19092
|
/** Monthly spend limit for the whole workspace, against the cost engines
|
|
19061
19093
|
* report to the usage ledger. Enforced only with the `budgets` entitlement. */
|
|
19062
19094
|
budgets: external_exports.object({
|
|
@@ -19090,8 +19122,8 @@ var appConfigSchema = external_exports.object({
|
|
|
19090
19122
|
opencodeGo: external_exports.object({ apiKey: optionalText }).optional(),
|
|
19091
19123
|
/** Voice settings and the selected voice id. `provider` picks the
|
|
19092
19124
|
* engine: "elevenlabs" (default; needs `key`), "fish" (needs its own
|
|
19093
|
-
* `fishKey`), "system" (the Mac's
|
|
19094
|
-
* "xai" (Grok TTS, reusing `xai.key`), or
|
|
19125
|
+
* `fishKey`; `fishModel` picks its speech model), "system" (the Mac's
|
|
19126
|
+
* built-in voices, no key), "xai" (Grok TTS, reusing `xai.key`), or
|
|
19095
19127
|
* "chatterbox" (a local OpenAI-compatible Chatterbox server; `baseUrl`
|
|
19096
19128
|
* and `model` are settings, not secrets). Cloud keys stay separate so
|
|
19097
19129
|
* switching providers never overwrites or misuses the other key. */
|
|
@@ -19101,7 +19133,8 @@ var appConfigSchema = external_exports.object({
|
|
|
19101
19133
|
voice: optionalText,
|
|
19102
19134
|
provider: external_exports.enum(["elevenlabs", "fish", "system", "chatterbox", "xai"]).optional(),
|
|
19103
19135
|
baseUrl: external_exports.string().trim().max(2048).refine((value) => !value || /^https?:\/\//i.test(value), "the Chatterbox server address must start with http:// or https://").optional(),
|
|
19104
|
-
model: optionalText
|
|
19136
|
+
model: optionalText,
|
|
19137
|
+
fishModel: external_exports.enum(FISH_TTS_MODELS).optional()
|
|
19105
19138
|
}).optional(),
|
|
19106
19139
|
/** The decision model (server/decider): a fast classifier that picks
|
|
19107
19140
|
* things for bots, starting with who answers a room message. `key` is
|
|
@@ -19194,6 +19227,34 @@ var DATA_DIR = process.env.OMB_DATA_DIR ?? join2(homedir(), ".openmausbot");
|
|
|
19194
19227
|
var LEGACY_DATA_DIR = join2(homedir(), ".opengrokbot");
|
|
19195
19228
|
var EVENTS_DIR = join2(DATA_DIR, "events");
|
|
19196
19229
|
var NATIVE_DIR = join2(DATA_DIR, "native");
|
|
19230
|
+
var OPENAI_API_INSTANCE = "openai";
|
|
19231
|
+
var OPENROUTER_API_INSTANCE = "openrouter";
|
|
19232
|
+
var XAI_API_INSTANCE = "xaiApi";
|
|
19233
|
+
var CLAUDE_API_INSTANCE = "claudeApi";
|
|
19234
|
+
var API_KEY_FLEET = {
|
|
19235
|
+
[OPENAI_API_INSTANCE]: {
|
|
19236
|
+
driver: "openai-compat",
|
|
19237
|
+
displayName: "OpenAI",
|
|
19238
|
+
access: "api",
|
|
19239
|
+
icon: { kind: "preset", preset: "openai" },
|
|
19240
|
+
config: { url: "https://api.openai.com/v1", apiKeyEnv: "OMB_OPENAI_API_KEY", catalog: "openai" }
|
|
19241
|
+
},
|
|
19242
|
+
[CLAUDE_API_INSTANCE]: {
|
|
19243
|
+
driver: "claudeAgent",
|
|
19244
|
+
displayName: "Claude (API key)",
|
|
19245
|
+
access: "api",
|
|
19246
|
+
icon: { kind: "preset", preset: "anthropic" },
|
|
19247
|
+
config: { requireApiKey: true }
|
|
19248
|
+
},
|
|
19249
|
+
[XAI_API_INSTANCE]: { driver: "grok", displayName: "xAI", access: "api", icon: { kind: "preset", preset: "xai" } },
|
|
19250
|
+
[OPENROUTER_API_INSTANCE]: {
|
|
19251
|
+
driver: "openai-compat",
|
|
19252
|
+
displayName: "OpenRouter",
|
|
19253
|
+
access: "api",
|
|
19254
|
+
icon: { kind: "preset", preset: "openrouter" },
|
|
19255
|
+
config: { url: "https://openrouter.ai/api/v1", apiKeyEnv: "OMB_OPENROUTER_API_KEY" }
|
|
19256
|
+
}
|
|
19257
|
+
};
|
|
19197
19258
|
|
|
19198
19259
|
// server/workspace-backup-policy.ts
|
|
19199
19260
|
var PORTABLE_CONFIG_KEYS = [
|
|
@@ -19214,6 +19275,7 @@ function portableWorkspaceConfig(value) {
|
|
|
19214
19275
|
}
|
|
19215
19276
|
function excludedWorkspaceAuthPath(path) {
|
|
19216
19277
|
if (/^command-allowlist\.json(?:$|\.\d+\.[0-9a-f-]+\.tmp$)/.test(path)) return true;
|
|
19278
|
+
if (/^mcp-oauth\.json(?:$|\.\d+\.[0-9a-f-]+\.tmp$)/.test(path)) return true;
|
|
19217
19279
|
return /^(?:(?:providers|caddy|chrome-profile|\.agent-browser)(?:\/|$)|workspace-credentials\.json$|external-runtimes\.json$|browser-engine-key$)/.test(path) || /^(?:config\.json|webhooks\.json|workspace-credentials\.json|external-runtimes\.json|browser-engine-key|sessions\.json|tunnel-account\.json)\.\d+(?:\.[0-9a-f-]+)?\.tmp$/.test(path) || /^(?:vm-home|vm-homes\/[^/]+)\/\.browser-profiles(?:\/|$)/.test(path);
|
|
19218
19280
|
}
|
|
19219
19281
|
function redownloadedOrgLibraryPath(path) {
|
|
@@ -19251,12 +19313,16 @@ var EXCLUDED = /* @__PURE__ */ new Set([
|
|
|
19251
19313
|
"messages.db-shm",
|
|
19252
19314
|
// This machine's decision-model log (server/decider/log.ts): local
|
|
19253
19315
|
// measurement of what the classifier picked, not workspace data.
|
|
19254
|
-
"decider-log"
|
|
19316
|
+
"decider-log",
|
|
19317
|
+
// A Cloud home's record of who its owner was (server/cloud-owner.ts): this
|
|
19318
|
+
// machine's own, kept in place by a restore, which settles what it brought.
|
|
19319
|
+
"cloud-owner.json"
|
|
19255
19320
|
]);
|
|
19256
19321
|
var EXCLUSION_NOTES = [
|
|
19257
19322
|
"Device pairing, server identity, live leases and runtime files (existing destination identities are preserved).",
|
|
19258
19323
|
"Saved credentials, provider and MCP connections, managed provider login homes and browser login profiles are not transferred. Destination connections are preserved; reconnect on a new device.",
|
|
19259
19324
|
"Downloaded tools and caches; these can be installed again.",
|
|
19325
|
+
"Installed dependency folders (node_modules) and symbolic links inside conversation work folders; reinstall or recreate them in the project.",
|
|
19260
19326
|
"External project folders, CLI login homes, browser session homes, OS keychains, companion devices and other servers.",
|
|
19261
19327
|
"VM/container disk layers and remote cloud data; durable files inside this workspace are included."
|
|
19262
19328
|
];
|
|
@@ -19451,6 +19517,8 @@ async function createWorkspaceBackupSnapshot(dataDir2, options2, jobId2) {
|
|
|
19451
19517
|
const warnings = ["Stop external editors and managed desktops before exporting; files written outside this server cannot be frozen by the backup gate.", "Conversation text and user files are not redacted and may contain secrets you pasted. Keep the encrypted backup private.", RESTORE_WARNING];
|
|
19452
19518
|
let bytes = 0;
|
|
19453
19519
|
let skippedLinks = 0;
|
|
19520
|
+
let skippedDependencies = 0;
|
|
19521
|
+
let skippedWorkLinks = 0;
|
|
19454
19522
|
try {
|
|
19455
19523
|
const root = realpathSync(dataDir2);
|
|
19456
19524
|
const sourceDb = join3(root, "messages.db");
|
|
@@ -19481,6 +19549,14 @@ async function createWorkspaceBackupSnapshot(dataDir2, options2, jobId2) {
|
|
|
19481
19549
|
if (!validRelative(path2)) throw new Error("A workspace filename cannot be safely restored on supported platforms.");
|
|
19482
19550
|
const source = join3(directory, name);
|
|
19483
19551
|
const stat = lstatSync(source);
|
|
19552
|
+
if (name === "node_modules" && (stat.isDirectory() || stat.isSymbolicLink())) {
|
|
19553
|
+
skippedDependencies++;
|
|
19554
|
+
continue;
|
|
19555
|
+
}
|
|
19556
|
+
if (stat.isSymbolicLink() && path2.startsWith("task-workspaces/")) {
|
|
19557
|
+
skippedWorkLinks++;
|
|
19558
|
+
continue;
|
|
19559
|
+
}
|
|
19484
19560
|
if (stat.isSymbolicLink()) {
|
|
19485
19561
|
let target;
|
|
19486
19562
|
try {
|
|
@@ -19526,6 +19602,8 @@ async function createWorkspaceBackupSnapshot(dataDir2, options2, jobId2) {
|
|
|
19526
19602
|
};
|
|
19527
19603
|
walk(root);
|
|
19528
19604
|
if (skippedLinks) warnings.push(`${skippedLinks} managed skill discovery link(s) were omitted and are recreated by the app.`);
|
|
19605
|
+
if (skippedDependencies) warnings.push(`${skippedDependencies} installed dependency folder(s) (node_modules) were omitted; reinstall them in the project after restoring.`);
|
|
19606
|
+
if (skippedWorkLinks) warnings.push(`${skippedWorkLinks} symbolic link(s) in conversation work folders were omitted; what they point to is outside this backup.`);
|
|
19529
19607
|
const summary = {
|
|
19530
19608
|
format: "openmaus.workspace-backup",
|
|
19531
19609
|
version: 1,
|
|
@@ -14728,7 +14728,11 @@ var sessionSchema = external_exports.object({
|
|
|
14728
14728
|
userId: external_exports.string().max(256).optional(),
|
|
14729
14729
|
email: external_exports.string().max(320).optional(),
|
|
14730
14730
|
/** Set only by the internal verified-portal issuance path, never by email or pairing input. */
|
|
14731
|
-
membershipAuthority: external_exports.literal("portal").optional()
|
|
14731
|
+
membershipAuthority: external_exports.literal("portal").optional(),
|
|
14732
|
+
/** A browser sign-in (PairingCode `browser`): accepted only as its browser's cookie, never as a bearer token. */
|
|
14733
|
+
cookieOnly: external_exports.literal(true).optional(),
|
|
14734
|
+
/** Whose OMB Cloud a browser sign-in signed in to (its PairingCode `owner`). */
|
|
14735
|
+
owner: external_exports.string().max(254).optional()
|
|
14732
14736
|
});
|
|
14733
14737
|
var fileSchema = external_exports.object({ version: external_exports.literal(1), sessions: external_exports.array(sessionSchema) });
|
|
14734
14738
|
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as a,C as n}from"./mermaid.core-VhEMkSND.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|