openpond 0.1.0 → 0.2.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 +4 -4
- package/dist/cache.d.ts +7 -10
- package/dist/chunks/{app-layer-XEYHFJHI.js → app-layer-F3CGXB33.js} +9 -7
- package/dist/chunks/{app-server-runtime-Y6MW4XCG.js → app-server-runtime-RHO5TFUC.js} +9 -7
- package/dist/chunks/{apps-GSXUDK6V.js → apps-L5XCL7QY.js} +12 -10
- package/dist/chunks/{chunk-J7PYGDRY.js → chunk-26AMV5ZI.js} +1 -1
- package/dist/chunks/{chunk-DNXBJZAU.js → chunk-3EB7I67T.js} +1 -1
- package/dist/chunks/{chunk-J3YDKJFD.js → chunk-3ELF4FXY.js} +19 -11
- package/dist/chunks/{chunk-HFPUR4CQ.js → chunk-3VEYNDHN.js} +10 -10
- package/dist/chunks/chunk-4KA25HUP.js +5648 -0
- package/dist/chunks/{chunk-EFET7LB7.js → chunk-6SMNG6YA.js} +62 -90
- package/dist/chunks/{chunk-N3TGCM7J.js → chunk-7RIGZB7N.js} +50 -37
- package/dist/chunks/{chunk-47EIAYI7.js → chunk-A6G3PFA5.js} +6 -4
- package/dist/chunks/{chunk-D7BO5Y5J.js → chunk-FJ2JGB2N.js} +31 -189
- package/dist/chunks/{chunk-WBAZFKC7.js → chunk-G65WAOJV.js} +2 -2
- package/dist/chunks/{chunk-CNTM26OW.js → chunk-K4TZEHAW.js} +16 -16
- package/dist/chunks/{chunk-AN2EYCN3.js → chunk-KCRCIQPD.js} +1 -5
- package/dist/chunks/chunk-OCBRPU2K.js +629 -0
- package/dist/chunks/{chunk-2JABRRNR.js → chunk-PS37DB5F.js} +1 -1
- package/dist/chunks/{chunk-TGM5IPYO.js → chunk-UZMVNKXM.js} +1 -1
- package/dist/chunks/{chunk-TZWAUV2L.js → chunk-VT6BLHMB.js} +10750 -1240
- package/dist/chunks/{chunk-5TKZBMQM.js → chunk-X6F4LBTQ.js} +102 -1
- package/dist/chunks/{chunk-6G6MDZLM.js → chunk-XA4KBDMY.js} +213 -999
- package/dist/chunks/chunk-ZNQEROWP.js +254 -0
- package/dist/chunks/{cli-L5VPOV6I.js → cli-D2MUUBEX.js} +7 -5
- package/dist/chunks/configuration-command-NR6JYIUD.js +187 -0
- package/dist/chunks/{continual-FYDKLCO7.js → continual-37CE4LLJ.js} +4 -4
- package/dist/chunks/{core-commands-MAN3CSJQ.js → core-commands-SWGIOZLW.js} +8 -6
- package/dist/chunks/database-DEYUZDIM.js +20 -0
- package/dist/chunks/{desktop-test-OE5SST2W.js → desktop-test-QOS7G5NE.js} +8 -6
- package/dist/chunks/dist-AKYCQNNF.js +187 -0
- package/dist/chunks/{extension-J3CIEDP4.js → extension-HJUJBQAD.js} +67 -730
- package/dist/chunks/{help-JNGJJFU5.js → help-J6PZ23IC.js} +1 -1
- package/dist/chunks/{opchat-6HEQJFLL.js → opchat-ABX5YBAT.js} +9 -7
- package/dist/chunks/{organizations-MWAPNOCK.js → organizations-CPNC47DO.js} +8 -6
- package/dist/chunks/{profile-P7HMONTZ.js → profile-Q3HB5MIO.js} +16 -14
- package/dist/chunks/{project-agent-2RAK7GAZ.js → project-agent-YHUBX4OR.js} +9 -7
- package/dist/chunks/{sandbox-command-G22CPFNK.js → sandbox-command-YFL5QTWX.js} +8 -6
- package/dist/chunks/{sandbox-template-S4WRUWJ6.js → sandbox-template-Z6P7NTNF.js} +12 -10
- package/dist/chunks/{src-BKBZ7WLO.js → src-7XEENEBI.js} +16 -12
- package/dist/chunks/{src-A6O6ZGIL.js → src-KBBIV4NT.js} +1338 -10969
- package/dist/chunks/{taskset-BMI7KOWP.js → taskset-2TRZBRRT.js} +1 -1
- package/dist/chunks/{teams-bot-5VBYEN7M.js → teams-bot-WD33NLH5.js} +7 -5
- package/dist/chunks/{training-UPVSGDTB.js → training-4XH37UZB.js} +1 -1
- package/dist/chunks/{workspaces-XM5BY3MO.js → workspaces-WG2MH2WE.js} +2 -2
- package/dist/cli.js +25 -17
- package/dist/client.d.ts +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/index.js +20803 -15878
- package/dist/private-json-file.d.ts +1 -2
- package/dist/skills/openpond-desktop-harness/SKILL.md +1 -1
- package/dist/web/assets/App-C9aGkxVg.js +173 -0
- package/dist/web/assets/{AppDialog-CSXu5wRu.js → AppDialog-CK6_lg8c.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-y2bVL2RV.js → AppTerminalPanel-BKqgX4sd.js} +2 -2
- package/dist/web/assets/{AppsView-Bs9pwD2H.js → AppsView-B1NUuAIf.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-CUgT5V1m.js → BrowserSidebar-DOvYxXeP.js} +1 -1
- package/dist/web/assets/{CartesianChart-DA85hfrP.js → CartesianChart-pOrYpzBr.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-B8mlPhM3.js → CollaborationTabs-CgbR-MBJ.js} +1 -1
- package/dist/web/assets/{CommandMenu-EwUGCeC_.js → CommandMenu-CrIr4qUX.js} +1 -1
- package/dist/web/assets/{CommunityView-IHNq-YJz.js → CommunityView-CvAVQ_HZ.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-qOL2zA26.js → ComposerCreateImproveStrip-DybcKwwd.js} +1 -1
- package/dist/web/assets/GetStartedView-DVInkexN.js +1 -0
- package/dist/web/assets/{LabModelVersionDetailPage-BK0eoUlW.js → LabModelVersionDetailPage-NaaPElmM.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-CRPb4qBn.js → LabSkillSidebar-CuaYrtiu.js} +1 -1
- package/dist/web/assets/LabsRoute-BRR6x3SX.js +2 -0
- package/dist/web/assets/{MainChatThread-Cu6_UnNE.js → MainChatThread-BfkjCZB9.js} +2 -2
- package/dist/web/assets/MainPane-Gw-YK38n.js +8 -0
- package/dist/web/assets/{MarkdownText-N60tvLug.js → MarkdownText-DOlVQR8a.js} +1 -1
- package/dist/web/assets/{Messages-CYQFLElK.js → Messages-DMubppta.js} +6 -6
- package/dist/web/assets/{NativeSkillSidebar-zbx7WmOk.js → NativeSkillSidebar-DSFwZ-od.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-B0zev5Sx.js → NewExperienceSwitcher-Dj0ePIJ-.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-lZlzrp-R.js → NewProjectDialog-B8NQV-Ji.js} +1 -1
- package/dist/web/assets/{OutputsPage-B4zYYUT5.js → OutputsPage-D_LDYTgV.js} +1 -1
- package/dist/web/assets/{ProjectsPage-97wgc84s.js → ProjectsPage-xjDYPc_W.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-BktRQ9wg.js +1 -0
- package/dist/web/assets/{RightSidebarHomePanel-BUcWVJi-.js → RightSidebarHomePanel-j0VckZUu.js} +1 -1
- package/dist/web/assets/ScheduledWorkPage-1aT4bBY-.js +1 -0
- package/dist/web/assets/SettingsView-BSpuMDpv.js +9 -0
- package/dist/web/assets/SettingsView-CAH0vreE.css +1 -0
- package/dist/web/assets/{TeamChatView-Fj5_yjVE.js → TeamChatView-BPWJbDf1.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-D2WBeJvp.js → TerminalOverlay-CrSwUk2d.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-dYW_dh3M.js → TrainingCreationPanel-B4HMRwUg.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-zeJWmmW6.js → TrainingDraftPanel-D4r1tN3I.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-B6SBqYuB.js → UsageSettingsSection-2aymqwIM.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-BwbWKpOZ.js → WorkSidebarPanel-B0X0OiR6.js} +1 -1
- package/dist/web/assets/WorkspaceDiffPanel-Pg7GL0br.js +14 -0
- package/dist/web/assets/{WorkspaceEnvironmentMenu-D-3YGp06.js → WorkspaceEnvironmentMenu-OAfMEt7L.js} +3 -3
- package/dist/web/assets/{WorkspaceGitDialogs-BUbzUN4m.js → WorkspaceGitDialogs-YxcPH2Rq.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-CXPY7bBI.js → WorkspaceMonacoEditor-COKTiQZl.js} +3 -3
- package/dist/web/assets/{arrow-up-right-C7VWgGQP.js → arrow-up-right-_TX-awvK.js} +1 -1
- package/dist/web/assets/{chat-file-links-CqfMdhHQ.js → chat-file-links-CWLsRYvW.js} +1 -1
- package/dist/web/assets/chevron-up--mNnEqha.js +1 -0
- package/dist/web/assets/{clipboard-B-8k7mlT.js → clipboard-CyRSS8Sy.js} +1 -1
- package/dist/web/assets/{cloud-upload-CUVFzURz.js → cloud-upload-uBJBUYTy.js} +1 -1
- package/dist/web/assets/{cssMode-DYvfmqoL.js → cssMode-BrXSsZYs.js} +1 -1
- package/dist/web/assets/{folder-open-CnbcQIy8.js → folder-open-DktdZNW7.js} +1 -1
- package/dist/web/assets/{folder-plus-BOaLAKy4.js → folder-plus-DO06i9Vo.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-DQeHsooT.js → git-commit-horizontal-zFSIkPs7.js} +1 -1
- package/dist/web/assets/{htmlMode-BXEI-BVY.js → htmlMode-X9UMFkjt.js} +1 -1
- package/dist/web/assets/index-BEPmTPIA.js +1 -0
- package/dist/web/assets/{index-CGMb_VXm.css → index-ByQIHpc9.css} +1 -1
- package/dist/web/assets/{index-D-VK8mST.js → index-UOGdfLzi.js} +1 -1
- package/dist/web/assets/{info-DtzDuGLn.js → info-BEJXUqCD.js} +1 -1
- package/dist/web/assets/{jsonMode-Dosjh_hK.js → jsonMode-DIsB-j2E.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-BNe-6FJA.js → lspLanguageFeatures-CmZ17KpA.js} +1 -1
- package/dist/web/assets/{minimize-2-DnxKN5oK.js → minimize-2-DumTpFtE.js} +1 -1
- package/dist/web/assets/{monaco.contribution-CfF-ajhi.js → monaco.contribution-D6w5PJji.js} +2 -2
- package/dist/web/assets/{monaco.contribution-ytyanGyj.js → monaco.contribution-DJ_NmcHu.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CnkROzNv.js → monaco.contribution-LZEujgny.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Dyns81H2.js → monaco.contribution-YVDfJcG4.js} +2 -2
- package/dist/web/assets/{play-B3o6IAQd.js → play-CLFeH7CU.js} +1 -1
- package/dist/web/assets/{python-B7zZ_9Z_.js → python-Djbda_qZ.js} +1 -1
- package/dist/web/assets/{refresh-cw-DSJZXa8S.js → refresh-cw-B4IpQ_7Q.js} +1 -1
- package/dist/web/assets/{save-iC-AXHN6.js → save-BbTHztnA.js} +1 -1
- package/dist/web/assets/{square-B2roZTxf.js → square-BJrVbmz6.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-CjlV4YHK.js → toggleHighContrast-BopU5W9S.js} +1 -1
- package/dist/web/assets/{tsMode-XmKmSq0B.js → tsMode-CH_0_YDX.js} +1 -1
- package/dist/web/assets/{upload-BgHXNjfJ.js → upload-UumVeufu.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-CVJz0AMr.js → useLocalAgentSchedules-BRa23U7O.js} +1 -1
- package/dist/web/assets/{wifi-off-CneL8bDZ.js → wifi-off-BWJWivn6.js} +1 -1
- package/dist/web/assets/{workers-CT7VYBR5.js → workers-pTe8RvSI.js} +1 -1
- package/dist/web/assets/{yaml-CF8jchCz.js → yaml-DNLASORn.js} +1 -1
- package/dist/web/index.html +2 -2
- package/docs/command-reference.md +28 -2
- package/package.json +7 -5
- package/dist/chunks/chunk-P6JLLWMI.js +0 -238
- package/dist/web/assets/App-DfiCmBv6.js +0 -173
- package/dist/web/assets/GetStartedView-C2ypO0v7.js +0 -1
- package/dist/web/assets/LabsRoute-Bw-HD6QC.js +0 -2
- package/dist/web/assets/MainPane-k1iII9e9.js +0 -8
- package/dist/web/assets/RightChatPanelStack-I2znDCc7.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-Bp-t0eVj.js +0 -1
- package/dist/web/assets/SettingsView-BRPrJuP5.css +0 -1
- package/dist/web/assets/SettingsView-C1xyn1Y4.js +0 -6
- package/dist/web/assets/WorkspaceDiffPanel-D9Kp0vFw.js +0 -14
- package/dist/web/assets/chevron-up-DD9Tei-Q.js +0 -1
- package/dist/web/assets/index-D-WCyNdJ.js +0 -1
package/dist/web/assets/{useLocalAgentSchedules-CVJz0AMr.js → useLocalAgentSchedules-BRa23U7O.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as v,o as s}from"./App-
|
|
1
|
+
import{c as v,o as s}from"./App-C9aGkxVg.js";import{r as c}from"./index-UOGdfLzi.js";const m=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],x=v("rotate-ccw",m),I=5e3;function C(t){const[S,n]=c.useState([]),[y,r]=c.useState(!1),[p,l]=c.useState(null),[o,w]=c.useState(()=>new Set);c.useEffect(()=>{if(!t){n([]),l(null),r(!1);return}const e=t;let a=!1;async function d(g){if(!a){g&&r(!0);try{const h=await s.localAgentSchedules(e);if(a)return;n(h.schedules),l(null)}catch(h){a||l(f(h))}finally{!a&&g&&r(!1)}}}d(!0);const u=window.setInterval(()=>{d(!1)},I);return()=>{a=!0,window.clearInterval(u)}},[t]);async function L(){if(t){r(!0);try{const e=await s.syncLocalAgentSchedules(t);n(e.schedules),l(null)}catch(e){l(f(e))}finally{r(!1)}}}async function A(e){if(!(!t||o.has(e.id))){i(e.id,!0);try{await s.runLocalAgentSchedule(t,e.id);const a=await s.localAgentSchedules(t);n(a.schedules),l(null)}catch(a){l(f(a))}finally{i(e.id,!1)}}}async function E(e){if(!(!t||o.has(e.id))){i(e.id,!0);try{await s.patchLocalAgentSchedule(t,e.id,{enabled:!e.enabled});const a=await s.localAgentSchedules(t);n(a.schedules),l(null)}catch(a){l(f(a))}finally{i(e.id,!1)}}}function i(e,a){w(d=>{const u=new Set(d);return a?u.add(e):u.delete(e),u})}return{error:p,loading:y,pendingScheduleIds:o,refresh:L,run:A,schedules:S,toggle:E}}function f(t){return t instanceof Error?t.message:String(t)}export{x as R,C as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./App-
|
|
1
|
+
import{c as a}from"./App-C9aGkxVg.js";const e=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],y=a("bell",e);const t=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742",key:"178tsu"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",key:"1hqiys"}]],c=a("bell-off",t);const o=[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]],k=a("scroll-text",o);const h=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],p=a("wifi-off",h);export{c as B,k as S,p as W,y as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j7 as c}from"./WorkspaceMonacoEditor-
|
|
1
|
+
import{j7 as c}from"./WorkspaceMonacoEditor-COKTiQZl.js";import"./toggleHighContrast-BopU5W9S.js";function a(e,o){const r=globalThis.MonacoEnvironment;if(r?.createTrustedTypesPolicy)try{return r.createTrustedTypesPolicy(e,o)}catch(t){console.error(t);return}try{return globalThis.trustedTypes?.createPolicy(e,o)}catch(t){console.error(t);return}}let n;typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&globalThis.workerttPolicy!==void 0?n=globalThis.workerttPolicy:n=a("defaultWorkerFactory",{createScriptURL:e=>e});function l(e){const o=e.label,r=globalThis.MonacoEnvironment;if(r){if(typeof r.getWorker=="function")return r.getWorker("workerMain.js",o);if(typeof r.getWorkerUrl=="function"){const t=r.getWorkerUrl("workerMain.js",o);return new Worker(n?n.createScriptURL(t):t,{name:o,type:"module"})}}if(e.createWorker)return e.createWorker();throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function u(e){const o=Promise.resolve(l({label:e.label??"monaco-editor-worker",moduleId:e.moduleId,createWorker:e.createWorker})).then(r=>(r.postMessage("ignore"),r.postMessage(e.createData),r));return c.createWebWorker({worker:o,host:e.host,keepIdleModels:e.keepIdleModels})}export{u as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./WorkspaceMonacoEditor-
|
|
1
|
+
import{l as e}from"./WorkspaceMonacoEditor-COKTiQZl.js";import"./toggleHighContrast-BopU5W9S.js";import"./index-UOGdfLzi.js";const r={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},l={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}};export{r as conf,l as language};
|
package/dist/web/index.html
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<link rel="icon" type="image/png" sizes="16x16" href="./favicon-16x16.png" />
|
|
8
8
|
<link rel="apple-touch-icon" href="./openpond-icon.png" />
|
|
9
9
|
<title>OpenPond App</title>
|
|
10
|
-
<script type="module" crossorigin src="./assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
10
|
+
<script type="module" crossorigin src="./assets/index-UOGdfLzi.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="./assets/index-ByQIHpc9.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
|
@@ -4,6 +4,30 @@
|
|
|
4
4
|
|
|
5
5
|
Parsing, aliases, command help, and this reference use the same authoritative registry.
|
|
6
6
|
|
|
7
|
+
## home
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
Usage:
|
|
11
|
+
openpond home [--home <directory>]
|
|
12
|
+
```
|
|
13
|
+
## config
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
Usage:
|
|
17
|
+
openpond config <get|set|unset|path|validate|schema|doctor|migrate|recover|restart-migration|revisions|replace|effective|trust|untrust|export|backup|restore|collect-orphans|clear-cache> [key] [value] [--home <directory>] [--json]
|
|
18
|
+
|
|
19
|
+
Options:
|
|
20
|
+
--dry-run
|
|
21
|
+
--expected-revision <string>
|
|
22
|
+
--file <string>
|
|
23
|
+
--key-path <json>
|
|
24
|
+
--project
|
|
25
|
+
--revision <string>
|
|
26
|
+
--source-app-home <string>
|
|
27
|
+
--source-browser-state <string>
|
|
28
|
+
--source-config <string>
|
|
29
|
+
--value <string>
|
|
30
|
+
```
|
|
7
31
|
## help
|
|
8
32
|
|
|
9
33
|
```text
|
|
@@ -39,6 +63,7 @@ Options:
|
|
|
39
63
|
--check-update
|
|
40
64
|
--cwd <string>
|
|
41
65
|
--help
|
|
66
|
+
--home <string>
|
|
42
67
|
--json
|
|
43
68
|
--profile <string>
|
|
44
69
|
--sandbox-apiurl <string>
|
|
@@ -64,6 +89,7 @@ Options:
|
|
|
64
89
|
--cwd <string>
|
|
65
90
|
--force
|
|
66
91
|
--help
|
|
92
|
+
--home <string>
|
|
67
93
|
--json
|
|
68
94
|
--path <string>
|
|
69
95
|
--profile <string>
|
|
@@ -243,10 +269,10 @@ Options:
|
|
|
243
269
|
|
|
244
270
|
```text
|
|
245
271
|
Usage:
|
|
246
|
-
openpond app-server [--
|
|
272
|
+
openpond app-server [--home DIR]
|
|
247
273
|
|
|
248
274
|
Options:
|
|
249
|
-
--
|
|
275
|
+
--home <string>
|
|
250
276
|
```
|
|
251
277
|
## serve
|
|
252
278
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openpond",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"openpondReleaseVersioned": true,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "OpenPond CLI and local harness",
|
|
@@ -69,15 +69,16 @@
|
|
|
69
69
|
"zod": "^4.1.13"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"@openpond/continual-support": "workspace:*",
|
|
73
72
|
"@openpond/cloud": "workspace:*",
|
|
73
|
+
"@openpond/continual-support": "workspace:*",
|
|
74
74
|
"@openpond/contracts": "workspace:*",
|
|
75
75
|
"@openpond/local-server": "workspace:*",
|
|
76
|
+
"@openpond/persistence": "workspace:*",
|
|
76
77
|
"@openpond/runtime": "workspace:*",
|
|
77
|
-
"openpond-sdk": "workspace:*",
|
|
78
78
|
"@openpond/terminal": "workspace:*",
|
|
79
79
|
"@types/js-yaml": "^4.0.9",
|
|
80
|
-
"@types/node": "24.13.3"
|
|
80
|
+
"@types/node": "24.13.3",
|
|
81
|
+
"openpond-sdk": "workspace:*"
|
|
81
82
|
},
|
|
82
83
|
"openpondBundledSourceDependencies": [
|
|
83
84
|
"@openpond/continual-support",
|
|
@@ -86,6 +87,7 @@
|
|
|
86
87
|
"@openpond/local-server",
|
|
87
88
|
"@openpond/runtime",
|
|
88
89
|
"openpond-sdk",
|
|
89
|
-
"@openpond/terminal"
|
|
90
|
+
"@openpond/terminal",
|
|
91
|
+
"@openpond/persistence"
|
|
90
92
|
]
|
|
91
93
|
}
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
runAppServerJsonl
|
|
4
|
-
} from "./chunk-5TKZBMQM.js";
|
|
5
|
-
import {
|
|
6
|
-
DEFAULT_HOST,
|
|
7
|
-
DEFAULT_PORT,
|
|
8
|
-
parseListen
|
|
9
|
-
} from "./chunk-AN2EYCN3.js";
|
|
10
|
-
import {
|
|
11
|
-
getBundledRuntimeVersion,
|
|
12
|
-
openUrlWithSystemBrowser
|
|
13
|
-
} from "./chunk-EFET7LB7.js";
|
|
14
|
-
|
|
15
|
-
// ../server/src/cli.ts
|
|
16
|
-
import { existsSync } from "node:fs";
|
|
17
|
-
import path from "node:path";
|
|
18
|
-
import { fileURLToPath } from "node:url";
|
|
19
|
-
var __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
20
|
-
function requireValue(args, index, flag) {
|
|
21
|
-
const value = args[index + 1];
|
|
22
|
-
if (!value || value.startsWith("--")) throw new Error(`${flag} requires a value.`);
|
|
23
|
-
return value;
|
|
24
|
-
}
|
|
25
|
-
function parsePort(value, flag) {
|
|
26
|
-
const port = Number.parseInt(value, 10);
|
|
27
|
-
if (!Number.isFinite(port) || port < 0 || port > 65535) throw new Error(`${flag} must be a port from 0 to 65535.`);
|
|
28
|
-
return port;
|
|
29
|
-
}
|
|
30
|
-
function parseCliArgs(args) {
|
|
31
|
-
let mode = "serve";
|
|
32
|
-
let host = DEFAULT_HOST;
|
|
33
|
-
let port = DEFAULT_PORT;
|
|
34
|
-
let webRoot = null;
|
|
35
|
-
let openBrowser = false;
|
|
36
|
-
let printAccessUrl = false;
|
|
37
|
-
let storeDir = null;
|
|
38
|
-
let index = 0;
|
|
39
|
-
const command = args[0];
|
|
40
|
-
if (command && !command.startsWith("-")) {
|
|
41
|
-
if (command === "serve" || command === "server") mode = "serve";
|
|
42
|
-
else if (command === "app-server") mode = "app-server";
|
|
43
|
-
else if (command === "web") mode = "web";
|
|
44
|
-
else if (command === "help") {
|
|
45
|
-
return { mode, host, port, webRoot, openBrowser, printAccessUrl, storeDir, help: true };
|
|
46
|
-
} else throw new Error(`Unknown command: ${command}`);
|
|
47
|
-
index = 1;
|
|
48
|
-
}
|
|
49
|
-
for (let i = index; i < args.length; i += 1) {
|
|
50
|
-
const arg = args[i];
|
|
51
|
-
if (arg === "--help" || arg === "-h") {
|
|
52
|
-
return { mode, host, port, webRoot, openBrowser, printAccessUrl, storeDir, help: true };
|
|
53
|
-
}
|
|
54
|
-
if (arg === "--listen") {
|
|
55
|
-
const listen = parseListen(requireValue(args, i, arg));
|
|
56
|
-
host = listen.host;
|
|
57
|
-
port = parsePort(String(listen.port), arg);
|
|
58
|
-
i += 1;
|
|
59
|
-
} else if (arg === "--hostname" || arg === "--host") {
|
|
60
|
-
host = requireValue(args, i, arg);
|
|
61
|
-
i += 1;
|
|
62
|
-
} else if (arg === "--port") {
|
|
63
|
-
port = parsePort(requireValue(args, i, arg), arg);
|
|
64
|
-
i += 1;
|
|
65
|
-
} else if (arg === "--web-root") {
|
|
66
|
-
webRoot = path.resolve(requireValue(args, i, arg));
|
|
67
|
-
i += 1;
|
|
68
|
-
} else if (arg === "--store-dir") {
|
|
69
|
-
storeDir = path.resolve(requireValue(args, i, arg));
|
|
70
|
-
i += 1;
|
|
71
|
-
} else if (arg === "--open-browser") {
|
|
72
|
-
openBrowser = true;
|
|
73
|
-
} else if (arg === "--print-access-url") {
|
|
74
|
-
printAccessUrl = true;
|
|
75
|
-
} else {
|
|
76
|
-
throw new Error(`Unknown option: ${arg}`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
if (openBrowser && printAccessUrl) {
|
|
80
|
-
throw new Error("--open-browser and --print-access-url cannot be used together.");
|
|
81
|
-
}
|
|
82
|
-
if (mode !== "web" && (openBrowser || printAccessUrl)) {
|
|
83
|
-
throw new Error("Browser options are only available in web mode.");
|
|
84
|
-
}
|
|
85
|
-
return { mode, host, port, webRoot, openBrowser, printAccessUrl, storeDir, help: false };
|
|
86
|
-
}
|
|
87
|
-
function defaultWebRootCandidates() {
|
|
88
|
-
return [
|
|
89
|
-
process.env.OPENPOND_WEB_ROOT,
|
|
90
|
-
path.resolve(process.cwd(), "apps/web/dist"),
|
|
91
|
-
path.resolve(__dirname, "../../web/dist"),
|
|
92
|
-
path.resolve(process.cwd(), "web"),
|
|
93
|
-
path.resolve(__dirname, "../web")
|
|
94
|
-
].filter((candidate) => Boolean(candidate));
|
|
95
|
-
}
|
|
96
|
-
function resolveWebRoot(explicitWebRoot) {
|
|
97
|
-
const candidates = explicitWebRoot ? [explicitWebRoot] : defaultWebRootCandidates();
|
|
98
|
-
for (const candidate of candidates) {
|
|
99
|
-
const resolved = path.resolve(candidate);
|
|
100
|
-
if (existsSync(path.join(resolved, "index.html"))) return resolved;
|
|
101
|
-
}
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
function formatHostForUrl(host) {
|
|
105
|
-
const browserHost = host === "0.0.0.0" || host === "::" ? "127.0.0.1" : host;
|
|
106
|
-
return browserHost.includes(":") && !browserHost.startsWith("[") ? `[${browserHost}]` : browserHost;
|
|
107
|
-
}
|
|
108
|
-
function browserBaseUrl(instance) {
|
|
109
|
-
return `http://${formatHostForUrl(instance.status.host)}:${instance.status.port}`;
|
|
110
|
-
}
|
|
111
|
-
function tokenizedWebUrl(baseUrl, token) {
|
|
112
|
-
const url = new URL(baseUrl);
|
|
113
|
-
const params = new URLSearchParams();
|
|
114
|
-
params.set("openpondServerUrl", baseUrl);
|
|
115
|
-
params.set("openpondToken", token);
|
|
116
|
-
url.hash = params.toString();
|
|
117
|
-
return url.toString();
|
|
118
|
-
}
|
|
119
|
-
async function resolveWebLaunchMessages(input, handOffToBrowser = openUrlWithSystemBrowser) {
|
|
120
|
-
const accessUrl = tokenizedWebUrl(input.baseUrl, input.token);
|
|
121
|
-
if (input.printAccessUrl) {
|
|
122
|
-
return { stdout: [`OpenPond access URL: ${accessUrl}`], stderr: [] };
|
|
123
|
-
}
|
|
124
|
-
if (!input.openBrowser) {
|
|
125
|
-
return { stdout: [`OpenPond web UI: ${input.baseUrl}`], stderr: [] };
|
|
126
|
-
}
|
|
127
|
-
const handoff = await handOffToBrowser(accessUrl);
|
|
128
|
-
if (handoff.opened) {
|
|
129
|
-
return { stdout: [`Opened OpenPond in your browser: ${input.baseUrl}`], stderr: [] };
|
|
130
|
-
}
|
|
131
|
-
return {
|
|
132
|
-
stdout: [`OpenPond access URL: ${accessUrl}`],
|
|
133
|
-
stderr: [`Could not open the system browser: ${handoff.error}`]
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
function printHelp() {
|
|
137
|
-
console.log(`Usage:
|
|
138
|
-
openpond-app-server serve [--hostname HOST] [--port PORT]
|
|
139
|
-
openpond-app-server app-server [--store-dir DIR]
|
|
140
|
-
openpond-app-server web [--hostname HOST] [--port PORT] [--web-root DIR]
|
|
141
|
-
|
|
142
|
-
Options:
|
|
143
|
-
--listen HOST:PORT Set host and port together
|
|
144
|
-
--hostname HOST Bind host (default ${DEFAULT_HOST})
|
|
145
|
-
--port PORT Bind port, or 0 for any free port (default ${DEFAULT_PORT})
|
|
146
|
-
--web-root DIR Directory containing the built web UI for web mode
|
|
147
|
-
--store-dir DIR Local app-server state directory
|
|
148
|
-
--open-browser Open the authenticated web URL in the system browser
|
|
149
|
-
--print-access-url Print the authenticated URL instead of opening it
|
|
150
|
-
`);
|
|
151
|
-
}
|
|
152
|
-
async function runOpenPondServerCli(factories) {
|
|
153
|
-
const args = parseCliArgs(process.argv.slice(2));
|
|
154
|
-
if (args.help) {
|
|
155
|
-
printHelp();
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
const webRoot = args.mode === "web" ? resolveWebRoot(args.webRoot) : null;
|
|
159
|
-
if (args.mode === "web" && !webRoot) {
|
|
160
|
-
throw new Error("Could not find a built OpenPond web UI. Run `pnpm build:web` or pass --web-root.");
|
|
161
|
-
}
|
|
162
|
-
if (args.mode === "app-server") {
|
|
163
|
-
await runAgentServer(factories.createOpenPondAppServer, args.storeDir);
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
const instance = await factories.createOpenPondServer({
|
|
167
|
-
host: args.host,
|
|
168
|
-
port: args.port,
|
|
169
|
-
webRoot,
|
|
170
|
-
...args.storeDir ? { storeDir: args.storeDir } : {},
|
|
171
|
-
httpEnabled: true
|
|
172
|
-
});
|
|
173
|
-
const webBaseUrl = args.mode === "web" ? browserBaseUrl(instance) : null;
|
|
174
|
-
console.log(
|
|
175
|
-
`OPENPOND_APP_SERVER_READY ${JSON.stringify({
|
|
176
|
-
mode: args.mode,
|
|
177
|
-
url: instance.url,
|
|
178
|
-
webUrl: null,
|
|
179
|
-
webRoot,
|
|
180
|
-
tokenFile: instance.tokenFile,
|
|
181
|
-
storePath: instance.storePath,
|
|
182
|
-
runtime: getBundledRuntimeVersion()
|
|
183
|
-
})}`
|
|
184
|
-
);
|
|
185
|
-
if (webBaseUrl) {
|
|
186
|
-
const messages = await resolveWebLaunchMessages({
|
|
187
|
-
baseUrl: webBaseUrl,
|
|
188
|
-
openBrowser: args.openBrowser,
|
|
189
|
-
printAccessUrl: args.printAccessUrl,
|
|
190
|
-
token: instance.token
|
|
191
|
-
});
|
|
192
|
-
for (const message of messages.stderr) console.error(message);
|
|
193
|
-
for (const message of messages.stdout) console.log(message);
|
|
194
|
-
} else {
|
|
195
|
-
console.log(`OpenPond API server: ${instance.url}`);
|
|
196
|
-
}
|
|
197
|
-
let shuttingDown = false;
|
|
198
|
-
const shutdown = async () => {
|
|
199
|
-
if (shuttingDown) return;
|
|
200
|
-
shuttingDown = true;
|
|
201
|
-
await instance.close();
|
|
202
|
-
process.exit(0);
|
|
203
|
-
};
|
|
204
|
-
process.on("SIGINT", () => void shutdown());
|
|
205
|
-
process.on("SIGTERM", () => void shutdown());
|
|
206
|
-
await new Promise(() => {
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
async function runOpenPondAppServerCli(createOpenPondAppServer) {
|
|
210
|
-
const rawArgs = process.argv.slice(2);
|
|
211
|
-
const args = parseCliArgs(
|
|
212
|
-
!rawArgs[0] || rawArgs[0].startsWith("-") ? ["app-server", ...rawArgs] : rawArgs
|
|
213
|
-
);
|
|
214
|
-
if (args.help) {
|
|
215
|
-
printHelp();
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
if (args.mode !== "app-server") {
|
|
219
|
-
throw new Error("The app-server entrypoint only accepts the app-server command.");
|
|
220
|
-
}
|
|
221
|
-
await runAgentServer(createOpenPondAppServer, args.storeDir);
|
|
222
|
-
}
|
|
223
|
-
async function runAgentServer(createOpenPondAppServer, storeDir) {
|
|
224
|
-
const appServer = await createOpenPondAppServer({
|
|
225
|
-
...storeDir ? { storeDir } : {}
|
|
226
|
-
});
|
|
227
|
-
await runAppServerJsonl({
|
|
228
|
-
appServer,
|
|
229
|
-
readable: process.stdin,
|
|
230
|
-
writable: process.stdout
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
export {
|
|
235
|
-
resolveWebLaunchMessages,
|
|
236
|
-
runOpenPondServerCli,
|
|
237
|
-
runOpenPondAppServerCli
|
|
238
|
-
};
|