openpond 0.0.37 → 0.0.38

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.
Files changed (121) hide show
  1. package/README.md +0 -3
  2. package/dist/api/types.d.ts +0 -50
  3. package/dist/api.d.ts +2 -8
  4. package/dist/chunks/{app-layer-LF2HK2B2.js → app-layer-DPUJRNO2.js} +4 -4
  5. package/dist/chunks/{apps-ZMCMQZKX.js → apps-AKBI6AS7.js} +4 -124
  6. package/dist/chunks/{chunk-ZZ4ECDTP.js → chunk-275WCETC.js} +2 -2
  7. package/dist/chunks/{chunk-LNKYEHIJ.js → chunk-AHNFNWUN.js} +1 -1
  8. package/dist/chunks/{chunk-WTA33KQQ.js → chunk-AHPQTEIJ.js} +4 -4
  9. package/dist/chunks/{chunk-3VURZQHA.js → chunk-FWLOFUPU.js} +2 -2
  10. package/dist/chunks/{chunk-A3CJUBA7.js → chunk-GB6VUZUA.js} +1 -1
  11. package/dist/chunks/{chunk-2WMGA5FE.js → chunk-GDZYDLEL.js} +1 -1
  12. package/dist/chunks/{chunk-WL76II47.js → chunk-HS2AGRDV.js} +1 -1
  13. package/dist/chunks/{chunk-N6E6YSTP.js → chunk-JWF37O5E.js} +1 -1
  14. package/dist/chunks/{chunk-MHBQWGCL.js → chunk-LZZM3IHS.js} +1 -33
  15. package/dist/chunks/{chunk-PGET7EZF.js → chunk-MPGSHXGF.js} +3 -3
  16. package/dist/chunks/{chunk-ICLLW5QD.js → chunk-QRM7XMAO.js} +5 -36
  17. package/dist/chunks/{chunk-IATK3CIP.js → chunk-SLMP353Q.js} +3 -3
  18. package/dist/chunks/{chunk-KT2BB4AR.js → chunk-V35STJF4.js} +2 -2
  19. package/dist/chunks/{chunk-VFL2JVBZ.js → chunk-XCATKTK3.js} +37 -52
  20. package/dist/chunks/{chunk-ZPL4GZML.js → chunk-XERQHYBO.js} +1 -24
  21. package/dist/chunks/{chunk-35PPAOWD.js → chunk-YTJL6XPU.js} +2 -2
  22. package/dist/chunks/{chunk-BWA3COR4.js → chunk-ZI4GDAUB.js} +0 -13
  23. package/dist/chunks/{cli-AS3DZ7XB.js → cli-2KBVNDRY.js} +6 -6
  24. package/dist/chunks/{cli-5NFIDCRL.js → cli-7BKDWFNU.js} +4 -4
  25. package/dist/chunks/{core-commands-7223BEQL.js → core-commands-YN4RMWA3.js} +5 -5
  26. package/dist/chunks/{extend-6N5S5KA5.js → extend-REGNTBK3.js} +9 -9
  27. package/dist/chunks/{extension-FJSVCG2Q.js → extension-7K77DAVL.js} +5 -5
  28. package/dist/chunks/{harness-OMJXIGEW.js → harness-BHQRMXJR.js} +4 -4
  29. package/dist/chunks/{help-YPPROIS7.js → help-VREQNA4I.js} +1 -1
  30. package/dist/chunks/{opchat-K7IYFPX6.js → opchat-D63YTNSX.js} +4 -4
  31. package/dist/chunks/{organizations-W3FMAWQ4.js → organizations-I46KG7TC.js} +5 -5
  32. package/dist/chunks/{profile-N4B3F7M7.js → profile-WKZJHEPG.js} +8 -8
  33. package/dist/chunks/{project-agent-NA6SGU25.js → project-agent-ZUC3YMCT.js} +7 -7
  34. package/dist/chunks/{sandbox-command-AKCFJKKN.js → sandbox-command-AAOPFTI5.js} +5 -5
  35. package/dist/chunks/{sandbox-template-5NKTAXCL.js → sandbox-template-GKNVR4C5.js} +6 -6
  36. package/dist/chunks/{src-SCS4KKP4.js → src-MWDIK56B.js} +6 -6
  37. package/dist/chunks/{src-XAVSQTVR.js → src-RPW5TOPI.js} +2 -2
  38. package/dist/chunks/{teams-bot-557NZC73.js → teams-bot-PSL3ZO6Z.js} +4 -4
  39. package/dist/chunks/{workspaces-S2H75XQB.js → workspaces-BPXC2DHT.js} +2 -2
  40. package/dist/cli.js +10 -10
  41. package/dist/client-types.d.ts +1 -9
  42. package/dist/client.d.ts +3 -3
  43. package/dist/index.js +0 -46
  44. package/dist/web/assets/{AppDialog-y6krB0MJ.js → AppDialog-DrwJb_wG.js} +1 -1
  45. package/dist/web/assets/{AppsView-4F6oLktr.js → AppsView-DPagLMsc.js} +1 -1
  46. package/dist/web/assets/{BrowserSidebar-C0MHQaaD.js → BrowserSidebar-DMn2V8RV.js} +1 -1
  47. package/dist/web/assets/{CloudWorkView-DwFIZoXy.js → CloudWorkView-Cl_7mM3c.js} +1 -1
  48. package/dist/web/assets/{CommandMenu-CYGFrMZi.js → CommandMenu-CHMQLez_.js} +1 -1
  49. package/dist/web/assets/{CommunityView-C6n89YXz.js → CommunityView-DcHVDUk0.js} +1 -1
  50. package/dist/web/assets/{ComposerCreateImproveStrip-C3RwXC3_.js → ComposerCreateImproveStrip-BZ3Dgzmo.js} +1 -1
  51. package/dist/web/assets/{GetStartedView-fwD0ZXo9.js → GetStartedView-DTRotFqz.js} +1 -1
  52. package/dist/web/assets/{LabSkillSidebar-BSuc-NJr.js → LabSkillSidebar-D-PqFe1T.js} +1 -1
  53. package/dist/web/assets/{LabsRoute-D2y8dSsT.js → LabsRoute-Dew1BwK5.js} +1 -1
  54. package/dist/web/assets/MainChatThread-BaPxxzrw.js +2 -0
  55. package/dist/web/assets/{MakeAgentTutorialLearningPanel-Bz2VDaRe.js → MakeAgentTutorialLearningPanel-CBsfnONQ.js} +2 -2
  56. package/dist/web/assets/{MarkdownText-B6Nu_0Fz.js → MarkdownText-DGLfAM_Z.js} +2 -2
  57. package/dist/web/assets/Messages-CIX9uTjX.js +10 -0
  58. package/dist/web/assets/{NativeSkillSidebar-4iUfgwqO.js → NativeSkillSidebar-AP_uHn6g.js} +1 -1
  59. package/dist/web/assets/{NewProjectDialog-8M5-6-h-.js → NewProjectDialog-C6lHkafU.js} +1 -1
  60. package/dist/web/assets/{PostTrainingLearningPanel-CdG5KHZs.js → PostTrainingLearningPanel-CZEgPc8O.js} +2 -2
  61. package/dist/web/assets/{PostTrainingStatusPill-COZ4qISQ.js → PostTrainingStatusPill-CeEpwUDB.js} +1 -1
  62. package/dist/web/assets/{ProfileSettingsSection-Bo7dybgW.js → ProfileSettingsSection-EumMLlEp.js} +1 -1
  63. package/dist/web/assets/RightChatPanelStack-MXBcx3zO.js +1 -0
  64. package/dist/web/assets/SettingsView-Caljbns2.css +1 -0
  65. package/dist/web/assets/SettingsView-DyURG_Uh.js +6 -0
  66. package/dist/web/assets/{TeamChatView-CzQYFBap.js → TeamChatView-D3v6aqJ3.js} +2 -2
  67. package/dist/web/assets/{TerminalOverlay-B56XmI-k.js → TerminalOverlay-BKl0p8pa.js} +1 -1
  68. package/dist/web/assets/{TrainingCreationPanel-C_ntWAAP.js → TrainingCreationPanel-CfZQTuT5.js} +1 -1
  69. package/dist/web/assets/{TrainingDraftPanel-3hJIxLNn.js → TrainingDraftPanel-DslRPSDW.js} +1 -1
  70. package/dist/web/assets/{UsageSettingsSection-r3CqRm6Q.js → UsageSettingsSection-zDAwzTGl.js} +1 -1
  71. package/dist/web/assets/{WorkspaceDiffPanel-By8PWUuE.js → WorkspaceDiffPanel-C_MZPPlL.js} +3 -3
  72. package/dist/web/assets/{WorkspaceEnvironmentMenu-7wmC-spz.js → WorkspaceEnvironmentMenu-BUAnn80j.js} +1 -1
  73. package/dist/web/assets/{WorkspaceGitDialogs-Hn--lsRh.js → WorkspaceGitDialogs-Drbf4ujA.js} +1 -1
  74. package/dist/web/assets/{WorkspaceMonacoEditor-CHd22UcG.js → WorkspaceMonacoEditor-DPGcG8fy.js} +3 -3
  75. package/dist/web/assets/{activity-Dp5V58om.js → activity-Dnr3jqb3.js} +1 -1
  76. package/dist/web/assets/{boxes-DE7WJaEv.js → boxes-BinC8UPn.js} +1 -1
  77. package/dist/web/assets/{chevron-up-BWx8gGab.js → chevron-up-Bjp_-_Cb.js} +1 -1
  78. package/dist/web/assets/{circle-x-DnmOfZIg.js → circle-x-ubnvEYuE.js} +1 -1
  79. package/dist/web/assets/{copy-BjWvaXLC.js → copy-B_ZCCUMz.js} +1 -1
  80. package/dist/web/assets/{create-pipeline-request-C4V6-lWN.js → create-pipeline-request-D6uLUxe9.js} +3 -3
  81. package/dist/web/assets/{cssMode-KFDYjM8T.js → cssMode-CKN9CcfG.js} +1 -1
  82. package/dist/web/assets/{file-BrC1KjAS.js → file-8HAMlTmQ.js} +1 -1
  83. package/dist/web/assets/{git-branch-DTeeARsp.js → git-branch-l2Zih3Bv.js} +1 -1
  84. package/dist/web/assets/{git-commit-horizontal-C8UFKlXy.js → git-commit-horizontal-Bxi8YPep.js} +1 -1
  85. package/dist/web/assets/{htmlMode-NbLN3n6Q.js → htmlMode-CeUcNhBZ.js} +1 -1
  86. package/dist/web/assets/{index-BcZetaeD.css → index-BMFyOFRU.css} +1 -1
  87. package/dist/web/assets/index-BzwcDzbT.js +1 -0
  88. package/dist/web/assets/{index-DQalqxbw.js → index-KoQSSt_f.js} +50 -50
  89. package/dist/web/assets/{info-BXBpMeVU.js → info-JTbDQxHx.js} +1 -1
  90. package/dist/web/assets/{jsonMode-Bl3r4LM_.js → jsonMode-97z0Yz9u.js} +1 -1
  91. package/dist/web/assets/{lspLanguageFeatures-DH22w5XD.js → lspLanguageFeatures-D4Tp-JmI.js} +1 -1
  92. package/dist/web/assets/{make-agent-tutorial-CAnTPFCK.js → make-agent-tutorial-D6nBCgv-.js} +1 -1
  93. package/dist/web/assets/{monaco.contribution-DK-g-i00.js → monaco.contribution-B3j6oown.js} +2 -2
  94. package/dist/web/assets/{monaco.contribution-iAurj7TQ.js → monaco.contribution-BXHxPPWL.js} +2 -2
  95. package/dist/web/assets/{monaco.contribution-C0BsxYAz.js → monaco.contribution-C2P5zIzh.js} +2 -2
  96. package/dist/web/assets/{monaco.contribution-CzpXjm9j.js → monaco.contribution-C8c6OtGi.js} +2 -2
  97. package/dist/web/assets/{monitor-Ba2FFblh.js → monitor-kzHtxHnA.js} +1 -1
  98. package/dist/web/assets/{play-2NDQ4-7K.js → play-C-37dnR1.js} +1 -1
  99. package/dist/web/assets/{python-CQ0TmUW9.js → python-CGpDXY7_.js} +1 -1
  100. package/dist/web/assets/{refresh-cw-CyermMsy.js → refresh-cw-BAaaPCXl.js} +1 -1
  101. package/dist/web/assets/{reply-BSExNLHM.js → reply-9rehU13k.js} +1 -1
  102. package/dist/web/assets/{rotate-cw-DJ-zYG9E.js → rotate-cw-C1Z_Xs23.js} +1 -1
  103. package/dist/web/assets/{save-Bij3cc3Q.js → save-Cvxs3XyC.js} +1 -1
  104. package/dist/web/assets/{toggleHighContrast-CxALivAH.js → toggleHighContrast-CD42jH4g.js} +1 -1
  105. package/dist/web/assets/{tsMode-vH4lMS7h.js → tsMode-ZROIxEjv.js} +1 -1
  106. package/dist/web/assets/{upload-DbJfEI3G.js → upload-DvCSGERK.js} +1 -1
  107. package/dist/web/assets/{wifi-off-BnVFBG28.js → wifi-off-BIb94PkS.js} +1 -1
  108. package/dist/web/assets/{workers-CBihj7z6.js → workers-oYqbrVYG.js} +1 -1
  109. package/dist/web/assets/{yaml-Bhkoq1sy.js → yaml-WqBjNgOO.js} +1 -1
  110. package/dist/web/index.html +2 -2
  111. package/docs/command-reference.md +1 -1
  112. package/package.json +1 -1
  113. package/dist/web/assets/MainChatThread-Dj_Ry6WQ.js +0 -2
  114. package/dist/web/assets/Messages-CH2wfv2a.js +0 -10
  115. package/dist/web/assets/RightChatPanelStack-Di8zoHJI.js +0 -1
  116. package/dist/web/assets/SettingsView-BcYyY66X.css +0 -1
  117. package/dist/web/assets/SettingsView-CAaKdDHt.js +0 -6
  118. package/dist/web/assets/credit-card-Bjg0Zaw5.js +0 -1
  119. package/dist/web/assets/index-DYxF_d9i.js +0 -1
  120. package/dist/web/tokens/eth.svg +0 -1
  121. package/dist/web/tokens/usdc.svg +0 -1
@@ -5,7 +5,7 @@ import {
5
5
  mergeProjectSourceUploadEntries,
6
6
  parseAgentSourceCheckDispatch,
7
7
  parseAgentSourceCheckKind
8
- } from "./chunk-IATK3CIP.js";
8
+ } from "./chunk-SLMP353Q.js";
9
9
  import {
10
10
  buildHostedRunIdempotencyKey,
11
11
  collectProfileSourceUploadEntries,
@@ -22,18 +22,18 @@ import {
22
22
  runProfileCheck,
23
23
  runProfileSdkCommand,
24
24
  saveProfilePushStatus
25
- } from "./chunk-KT2BB4AR.js";
26
- import "./chunk-A3CJUBA7.js";
25
+ } from "./chunk-V35STJF4.js";
26
+ import "./chunk-GB6VUZUA.js";
27
27
  import "./chunk-BYAPLT37.js";
28
- import "./chunk-ZPL4GZML.js";
28
+ import "./chunk-XERQHYBO.js";
29
29
  import "./chunk-XEJ7XXUQ.js";
30
30
  import "./chunk-WYDVQOBL.js";
31
31
  import {
32
32
  resolveSandboxClient
33
- } from "./chunk-ZZ4ECDTP.js";
34
- import "./chunk-2WMGA5FE.js";
35
- import "./chunk-VFL2JVBZ.js";
36
- import "./chunk-BWA3COR4.js";
33
+ } from "./chunk-275WCETC.js";
34
+ import "./chunk-GDZYDLEL.js";
35
+ import "./chunk-XCATKTK3.js";
36
+ import "./chunk-ZI4GDAUB.js";
37
37
  import "./chunk-KSRWKXRB.js";
38
38
  import {
39
39
  optionString,
@@ -30,20 +30,20 @@ import {
30
30
  parseProjectSourceType,
31
31
  resolveLocalAgentSdkCommand,
32
32
  resolveProjectSourceUploadBranch
33
- } from "./chunk-IATK3CIP.js";
34
- import "./chunk-A3CJUBA7.js";
33
+ } from "./chunk-SLMP353Q.js";
34
+ import "./chunk-GB6VUZUA.js";
35
35
  import "./chunk-BYAPLT37.js";
36
- import "./chunk-ZPL4GZML.js";
36
+ import "./chunk-XERQHYBO.js";
37
37
  import "./chunk-XEJ7XXUQ.js";
38
38
  import "./chunk-WYDVQOBL.js";
39
39
  import {
40
40
  parseSandboxWorkflowModeOption,
41
41
  resolveSandboxClient,
42
42
  runCommand
43
- } from "./chunk-ZZ4ECDTP.js";
44
- import "./chunk-2WMGA5FE.js";
45
- import "./chunk-VFL2JVBZ.js";
46
- import "./chunk-BWA3COR4.js";
43
+ } from "./chunk-275WCETC.js";
44
+ import "./chunk-GDZYDLEL.js";
45
+ import "./chunk-XCATKTK3.js";
46
+ import "./chunk-ZI4GDAUB.js";
47
47
  import "./chunk-KSRWKXRB.js";
48
48
  import {
49
49
  optionString,
@@ -15,15 +15,15 @@ import {
15
15
  summarizeReplayArtifact,
16
16
  summarizeSandbox,
17
17
  waitForSandboxCreateReady
18
- } from "./chunk-N6E6YSTP.js";
18
+ } from "./chunk-JWF37O5E.js";
19
19
  import {
20
20
  readSandboxSecretValue,
21
21
  resolveSandboxClient,
22
22
  summarizeSandboxSecret
23
- } from "./chunk-ZZ4ECDTP.js";
24
- import "./chunk-2WMGA5FE.js";
25
- import "./chunk-VFL2JVBZ.js";
26
- import "./chunk-BWA3COR4.js";
23
+ } from "./chunk-275WCETC.js";
24
+ import "./chunk-GDZYDLEL.js";
25
+ import "./chunk-XCATKTK3.js";
26
+ import "./chunk-ZI4GDAUB.js";
27
27
  import "./chunk-KSRWKXRB.js";
28
28
  import {
29
29
  parseBooleanOption,
@@ -2,10 +2,10 @@ import { createRequire as __openpondCreateRequire } from "node:module"; var requ
2
2
  import {
3
3
  createSandboxFromPlan,
4
4
  summarizeSandbox
5
- } from "./chunk-N6E6YSTP.js";
5
+ } from "./chunk-JWF37O5E.js";
6
6
  import {
7
7
  resolveGitBranch
8
- } from "./chunk-WTA33KQQ.js";
8
+ } from "./chunk-AHPQTEIJ.js";
9
9
  import {
10
10
  OPENPOND_MANIFEST_FILE_NAME,
11
11
  SANDBOX_TEMPLATE_BUILD_PLAN_FILE_NAME,
@@ -33,16 +33,16 @@ import {
33
33
  runCommand,
34
34
  runShellCommand,
35
35
  warnOnRepoHostMismatch
36
- } from "./chunk-ZZ4ECDTP.js";
36
+ } from "./chunk-275WCETC.js";
37
37
  import {
38
38
  resolveBaseUrl,
39
39
  resolvePublicApiBaseUrl
40
- } from "./chunk-2WMGA5FE.js";
41
- import "./chunk-VFL2JVBZ.js";
40
+ } from "./chunk-GDZYDLEL.js";
41
+ import "./chunk-XCATKTK3.js";
42
42
  import {
43
43
  createRepo,
44
44
  loadConfig
45
- } from "./chunk-BWA3COR4.js";
45
+ } from "./chunk-ZI4GDAUB.js";
46
46
  import "./chunk-KSRWKXRB.js";
47
47
  import {
48
48
  parseBooleanOption,
@@ -2,7 +2,7 @@
2
2
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
3
3
  import {
4
4
  runOpenPondServerCli
5
- } from "./chunk-35PPAOWD.js";
5
+ } from "./chunk-YTJL6XPU.js";
6
6
  import {
7
7
  appWorkspacePaths,
8
8
  assertSafeBranchName,
@@ -33,7 +33,7 @@ import {
33
33
  truncatePatch,
34
34
  uniqueSortedPaths,
35
35
  workspaceImageContentType
36
- } from "./chunk-LNKYEHIJ.js";
36
+ } from "./chunk-AHNFNWUN.js";
37
37
  import {
38
38
  APP_PREFERENCES_CACHE_KEY,
39
39
  APP_PREFERENCES_CACHE_TYPE,
@@ -46,7 +46,7 @@ import {
46
46
  isCliEntrypoint,
47
47
  now,
48
48
  textFromUnknown
49
- } from "./chunk-WL76II47.js";
49
+ } from "./chunk-HS2AGRDV.js";
50
50
  import {
51
51
  createOpenPondRepoApp,
52
52
  getBundledRuntimeVersion,
@@ -58,7 +58,7 @@ import {
58
58
  streamOpenPondHostedChatTurn,
59
59
  switchOpenPondAccount,
60
60
  updateOpenPondAccountConfig
61
- } from "./chunk-ICLLW5QD.js";
61
+ } from "./chunk-QRM7XMAO.js";
62
62
  import {
63
63
  AccountStateSchema,
64
64
  AppPreferencesSchema,
@@ -340,7 +340,7 @@ import {
340
340
  sidebarFileBookmarkId,
341
341
  workspacePathFromLocalPathWorkspaceId,
342
342
  writeSourceUploadCache
343
- } from "./chunk-MHBQWGCL.js";
343
+ } from "./chunk-LZZM3IHS.js";
344
344
  import {
345
345
  CONNECTED_APP_INTEGRATION_SKILLS,
346
346
  CONNECTED_APP_PROVIDER_TOOL_NAMES,
@@ -65934,7 +65934,7 @@ function uniqueEvidence(run, evidence) {
65934
65934
  }
65935
65935
  async function verifyAppliedProfileCommit(input) {
65936
65936
  const command = input.command ?? (async (name, args, cwd, env) => {
65937
- const { runWorkspaceCommand } = await import("./workspaces-S2H75XQB.js");
65937
+ const { runWorkspaceCommand } = await import("./workspaces-BPXC2DHT.js");
65938
65938
  return runWorkspaceCommand(name, args, cwd, env);
65939
65939
  });
65940
65940
  const result = await command("git", ["rev-parse", "HEAD"], input.repoPath);
@@ -3,7 +3,7 @@ import { createRequire as __openpondCreateRequire } from "node:module"; var requ
3
3
  import {
4
4
  createReadyLineParser,
5
5
  openUrlWithSystemBrowser
6
- } from "./chunk-ICLLW5QD.js";
6
+ } from "./chunk-QRM7XMAO.js";
7
7
  import {
8
8
  ApprovalSchema,
9
9
  ContextUsageSnapshotSchema,
@@ -12,7 +12,7 @@ import {
12
12
  DEFAULT_OPENPOND_CHAT_MODEL,
13
13
  DEFAULT_OPENPOND_COMMAND_ACCESS_MODE,
14
14
  OpenPondCommandAccessModeSchema
15
- } from "./chunk-MHBQWGCL.js";
15
+ } from "./chunk-LZZM3IHS.js";
16
16
  import {
17
17
  CONNECTED_APP_CATALOG,
18
18
  buildConnectedAppInstallUrl,
@@ -1,10 +1,10 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
2
  import {
3
3
  resolveSandboxClient
4
- } from "./chunk-ZZ4ECDTP.js";
5
- import "./chunk-2WMGA5FE.js";
6
- import "./chunk-VFL2JVBZ.js";
7
- import "./chunk-BWA3COR4.js";
4
+ } from "./chunk-275WCETC.js";
5
+ import "./chunk-GDZYDLEL.js";
6
+ import "./chunk-XCATKTK3.js";
7
+ import "./chunk-ZI4GDAUB.js";
8
8
  import "./chunk-KSRWKXRB.js";
9
9
  import {
10
10
  optionString,
@@ -45,8 +45,8 @@ import {
45
45
  truncatePatch,
46
46
  uniqueSortedPaths,
47
47
  workspaceImageContentType
48
- } from "./chunk-LNKYEHIJ.js";
49
- import "./chunk-WL76II47.js";
48
+ } from "./chunk-AHNFNWUN.js";
49
+ import "./chunk-HS2AGRDV.js";
50
50
  import "./chunk-UACZUFIA.js";
51
51
  export {
52
52
  MACOS_GIT_MISSING_DEVELOPER_TOOLS_ERROR,
package/dist/cli.js CHANGED
@@ -4,11 +4,11 @@ import {
4
4
  parseArgs,
5
5
  resolveAccountOption,
6
6
  resolveBaseUrlOption
7
- } from "./chunks/chunk-2WMGA5FE.js";
7
+ } from "./chunks/chunk-GDZYDLEL.js";
8
8
  import {
9
9
  getInstalledCliVersion,
10
10
  runCliCommand
11
- } from "./chunks/chunk-VFL2JVBZ.js";
11
+ } from "./chunks/chunk-XCATKTK3.js";
12
12
  import "./chunks/chunk-KSRWKXRB.js";
13
13
  import {
14
14
  parseBooleanOption
@@ -35,11 +35,11 @@ async function runOpenPondCli(argv = process.argv.slice(2)) {
35
35
  return;
36
36
  }
37
37
  if (action === "check-update") {
38
- await (await import("./chunks/core-commands-7223BEQL.js")).runCheckUpdate();
38
+ await (await import("./chunks/core-commands-YN4RMWA3.js")).runCheckUpdate();
39
39
  return;
40
40
  }
41
41
  if (action === "help") {
42
- (await import("./chunks/help-YPPROIS7.js")).printHelp();
42
+ (await import("./chunks/help-VREQNA4I.js")).printHelp();
43
43
  return;
44
44
  }
45
45
  const selectedAccount = resolveAccountOption(options);
@@ -51,31 +51,31 @@ async function runOpenPondCli(argv = process.argv.slice(2)) {
51
51
  process.env.OPENPOND_BASE_URL = selectedBaseUrl;
52
52
  }
53
53
  if (action === "tui") {
54
- await (await import("./chunks/app-layer-LF2HK2B2.js")).runOpenPondTerminalCommand(options, rest);
54
+ await (await import("./chunks/app-layer-DPUJRNO2.js")).runOpenPondTerminalCommand(options, rest);
55
55
  return;
56
56
  }
57
57
  if (action === "ui") {
58
- await (await import("./chunks/app-layer-LF2HK2B2.js")).runOpenPondServerCommand("web", options, rest);
58
+ await (await import("./chunks/app-layer-DPUJRNO2.js")).runOpenPondServerCommand("web", options, rest);
59
59
  return;
60
60
  }
61
61
  if (await runCliCommand({ command, options, rest })) {
62
62
  return;
63
63
  }
64
- (await import("./chunks/help-YPPROIS7.js")).printHelp();
64
+ (await import("./chunks/help-VREQNA4I.js")).printHelp();
65
65
  process.exit(1);
66
66
  }
67
67
  async function runEmbeddedCompanion(argv) {
68
68
  if (argv[0] === "__server") {
69
69
  process.argv = [process.execPath, "openpond-server", ...argv.slice(1)];
70
70
  const [{ createOpenPondServer }, { runOpenPondServerCli }] = await Promise.all([
71
- import("./chunks/src-SCS4KKP4.js"),
72
- import("./chunks/cli-5NFIDCRL.js")
71
+ import("./chunks/src-MWDIK56B.js"),
72
+ import("./chunks/cli-7BKDWFNU.js")
73
73
  ]);
74
74
  await runOpenPondServerCli(createOpenPondServer);
75
75
  return true;
76
76
  }
77
77
  if (argv[0] === "__terminal") {
78
- await (await import("./chunks/src-XAVSQTVR.js")).runOpenPondTerminalCli(argv.slice(1));
78
+ await (await import("./chunks/src-RPW5TOPI.js")).runOpenPondTerminalCli(argv.slice(1));
79
79
  return true;
80
80
  }
81
81
  return false;
@@ -1,5 +1,5 @@
1
1
  import type { StreamCallbacks } from "./stream.js";
2
- import type { AgentCreateRequest, AppEnvironmentGetResponse, AppEnvironmentUpdateResponse, AppExecutionTimelineResponse, AppListItem, AppRuntimeSummary, AppSchedulesResponse, AssistantMode, AssistantRunResponse, CreateRepoRequest, CreateRepoResponse, DeploymentLogEntry, OpenPondAccountBalanceResponse, OpenPondAccountResponse, OpenPondApiHealth, OpenToolRecipe, OpenToolRecipeGetRequest, OpenToolRecipeListRequest, OpenToolRecipeListResponse, OpenToolRecipeSearchRequest, OpenToolRecipeSearchResponse, OpenToolRulesGetRequest, OpenToolRulesGetResponse, PromotePreviewToProductionRequest, PromotePreviewToProductionResponse, ScheduleDeleteResponse, ScheduleExecutionLog, ScheduleExecutionLogsResponse, ScheduleRunNowRequest, ScheduleRunNowResponse, ScheduleToggleRequest, ScheduleToggleResult, StartAppLifecycleRequest, StartAppLifecycleResponse, TemplateBranchesResponse, TemplateDeployLatestRequest, TemplateDeployLatestResponse, TemplateStatusResponse, ToolExecuteRequest, ToolExecuteResponse } from "./api.js";
2
+ import type { AgentCreateRequest, AppEnvironmentGetResponse, AppEnvironmentUpdateResponse, AppExecutionTimelineResponse, AppListItem, AppRuntimeSummary, AppSchedulesResponse, AssistantMode, AssistantRunResponse, CreateRepoRequest, CreateRepoResponse, DeploymentLogEntry, OpenPondAccountResponse, OpenPondApiHealth, OpenToolRecipe, OpenToolRecipeGetRequest, OpenToolRecipeListRequest, OpenToolRecipeListResponse, OpenToolRecipeSearchRequest, OpenToolRecipeSearchResponse, OpenToolRulesGetRequest, OpenToolRulesGetResponse, PromotePreviewToProductionRequest, PromotePreviewToProductionResponse, ScheduleDeleteResponse, ScheduleExecutionLog, ScheduleExecutionLogsResponse, ScheduleRunNowRequest, ScheduleRunNowResponse, ScheduleToggleRequest, ScheduleToggleResult, StartAppLifecycleRequest, StartAppLifecycleResponse, TemplateBranchesResponse, TemplateDeployLatestRequest, TemplateDeployLatestResponse, TemplateStatusResponse, ToolExecuteRequest, ToolExecuteResponse } from "./api.js";
3
3
  export type OpenPondClientOptions = {
4
4
  apiKey?: string;
5
5
  baseUrl?: string;
@@ -42,7 +42,6 @@ export type OpenPondClient = {
42
42
  apiKey: string;
43
43
  account: {
44
44
  get: () => Promise<OpenPondAccountResponse>;
45
- balance: () => Promise<OpenPondAccountBalanceResponse>;
46
45
  health: () => Promise<OpenPondApiHealth>;
47
46
  };
48
47
  chat: {
@@ -98,7 +97,6 @@ export type OpenPondClient = {
98
97
  promotePreview: (input: AppPromotePreviewOptions) => Promise<PromotePreviewToProductionResponse>;
99
98
  envGet: (input: AppEnvironmentGetOptions) => Promise<AppEnvironmentGetResponse>;
100
99
  envSet: (input: AppEnvironmentSetOptions) => Promise<AppEnvironmentUpdateResponse>;
101
- positionsTx: (input?: PositionsTxOptions) => Promise<unknown>;
102
100
  };
103
101
  repo: {
104
102
  create: (input: CreateRepoRequest & {
@@ -214,9 +212,3 @@ export type AppPromotePreviewOptions = {
214
212
  export type AppStartOptions = {
215
213
  appId: string;
216
214
  } & StartAppLifecycleRequest;
217
- export type PositionsTxOptions = {
218
- method?: "GET" | "POST";
219
- body?: unknown;
220
- params?: Record<string, unknown>;
221
- query?: Record<string, string>;
222
- };
package/dist/client.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  export type { StreamCallbacks } from "./stream.js";
2
- export type { AssistantMode, AssistantRunResponse, AgentCreateRequest, AppEnvironmentGetResponse, AppEnvironmentUpdateRequest, AppEnvironmentUpdateResponse, AppExecutionDeployment, AppExecutionTimelineResponse, AppExecutionToolRun, AppListItem, AppRuntimeSummary, AppSchedule, AppScheduleSummary, AppSchedulesResponse, CreateRepoRequest, CreateRepoResponse, DeploymentDetail, DeploymentLogEntry, OpenPondAccount, OpenPondAccountBalanceResponse, OpenPondAccountProduct, OpenPondAccountResponse, OpenPondApiHealth, OpenPondApiHealthResponse, OpenToolRecipe, OpenToolRecipeDomain, OpenToolRecipeGetRequest, OpenToolRecipeListRequest, OpenToolRecipeListResponse, OpenToolRecipeSearchRequest, OpenToolRecipeSearchResponse, OpenToolRecipeSummary, OpenToolRulesGetRequest, OpenToolRulesGetResponse, PromotePreviewToProductionRequest, PromotePreviewToProductionResponse, ScheduleDeleteResponse, ScheduleExecutionLog, ScheduleExecutionLogsResponse, ScheduleRunNowRequest, ScheduleRunNowResponse, ScheduleToggleRequest, ScheduleToggleResult, StartAppLifecycleRequest, StartAppLifecycleResponse, TemplateBranchesResponse, TemplateDeployLatestRequest, TemplateDeployLatestResponse, TemplateStatusResponse, ToolExecuteRequest, ToolExecuteResponse, } from "./api.js";
2
+ export type { AssistantMode, AssistantRunResponse, AgentCreateRequest, AppEnvironmentGetResponse, AppEnvironmentUpdateRequest, AppEnvironmentUpdateResponse, AppExecutionDeployment, AppExecutionTimelineResponse, AppExecutionToolRun, AppListItem, AppRuntimeSummary, AppSchedule, AppScheduleSummary, AppSchedulesResponse, CreateRepoRequest, CreateRepoResponse, DeploymentDetail, DeploymentLogEntry, OpenPondAccount, OpenPondAccountProduct, OpenPondAccountResponse, OpenPondApiHealth, OpenPondApiHealthResponse, OpenToolRecipe, OpenToolRecipeDomain, OpenToolRecipeGetRequest, OpenToolRecipeListRequest, OpenToolRecipeListResponse, OpenToolRecipeSearchRequest, OpenToolRecipeSearchResponse, OpenToolRecipeSummary, OpenToolRulesGetRequest, OpenToolRulesGetResponse, PromotePreviewToProductionRequest, PromotePreviewToProductionResponse, ScheduleDeleteResponse, ScheduleExecutionLog, ScheduleExecutionLogsResponse, ScheduleRunNowRequest, ScheduleRunNowResponse, ScheduleToggleRequest, ScheduleToggleResult, StartAppLifecycleRequest, StartAppLifecycleResponse, TemplateBranchesResponse, TemplateDeployLatestRequest, TemplateDeployLatestResponse, TemplateStatusResponse, ToolExecuteRequest, ToolExecuteResponse, } from "./api.js";
3
3
  export type { ChatRequestBody, ResponseItem, ResponseMessageItem, TemplateBootstrap, ToolCallItem, ToolOutputItem, UsageInfo, } from "./types.js";
4
4
  export type { HostedChatCompletion, HostedChatContinuation, HostedChatMessage, HostedChatRequestOptions, HostedChatRole, HostedChatStreamDelta, HostedChatTool, HostedChatToolCall, HostedChatToolChoice, HostedChatUsage, HostedChatApiBaseUrlOptions, HostedModel, HostedModelRequestOptions, HostedModelsRequestOptions, HostedModelsResponse, HostedProvider, HostedProviderRequestOptions, HostedProvidersRequestOptions, HostedProvidersResponse, } from "./hosted-chat.js";
5
5
  export type { OpChatCompletionSummary, OpChatSmokeOptions, OpChatSmokeSummary, OpChatStreamSummary, OpChatToolSummary, } from "./opchat-smoke.js";
6
6
  export type { Bar as IndicatorBar, BollingerResult, MacdResult, MaCrossResult, MaCrossSignal, PriceChangeResult, } from "./indicators.js";
7
- export { apiFetch, checkOpenPondApiHealth, getAppRuntimeSummary, commitFiles, createAgentFromPrompt, createRepo, createHeadlessApps, createLocalProject, deleteOrArchiveSchedule, deployApp, deployLatestTemplate, getAppEnvironment, getAppExecutionTimeline, getScheduleExecutionLog, updateAppEnvironment, executeHostedTool, executeUserTool, fetchToolManifest, getDeploymentDetail, getDeploymentLogs, getDeploymentStatus, getLatestDeploymentForApp, getOpenPondAccount, getOpenPondAccountBalance, getOpenToolRecipe, getOpenToolRules, getTemplateStatus, getUserPerformance, runAssistantMode, listApps, listAppSchedules, listDeploymentScheduleExecutionLogs, listOpenToolRecipes, listScheduleExecutionLogs, listTemplateBranches, listUserTools, postAgentDigest, promotePreviewToProduction, resolveWorkerBaseUrl, runScheduleNow, searchOpenToolRecipes, startAppLifecycle, startAppSchedules, stopAppSchedules, stopCurrentAppSchedules, submitPositionsTx, } from "./api.js";
7
+ export { apiFetch, checkOpenPondApiHealth, getAppRuntimeSummary, commitFiles, createAgentFromPrompt, createRepo, createHeadlessApps, createLocalProject, deleteOrArchiveSchedule, deployApp, deployLatestTemplate, getAppEnvironment, getAppExecutionTimeline, getScheduleExecutionLog, updateAppEnvironment, executeHostedTool, executeUserTool, fetchToolManifest, getDeploymentDetail, getDeploymentLogs, getDeploymentStatus, getLatestDeploymentForApp, getOpenPondAccount, getOpenToolRecipe, getOpenToolRules, getTemplateStatus, getUserPerformance, runAssistantMode, listApps, listAppSchedules, listDeploymentScheduleExecutionLogs, listOpenToolRecipes, listScheduleExecutionLogs, listTemplateBranches, listUserTools, postAgentDigest, promotePreviewToProduction, resolveWorkerBaseUrl, runScheduleNow, searchOpenToolRecipes, startAppLifecycle, startAppSchedules, stopAppSchedules, stopCurrentAppSchedules, } from "./api.js";
8
8
  export { DEFAULT_OPENPOND_API_BASE_URL, DEFAULT_OPENPOND_CHAT_API_BASE_URL, DEFAULT_OPENPOND_OPCHAT_API_BASE_URL, DEFAULT_OPENPOND_WEB_BASE_URL, } from "./urls.js";
9
9
  export { getOpChatModel, getOpChatProvider, listOpChatModels, listOpChatProviders, listHostedModels, listHostedProviders, resolveHostedChatApiBaseUrl, resolveOpChatApiBaseUrl, sendHostedChatTurn, streamHostedChatTurn, } from "./hosted-chat.js";
10
10
  export { runOpChatSmoke } from "./opchat-smoke.js";
@@ -13,7 +13,7 @@ export { DEFAULT_CACHE_TTL_MS, getCachedApps, getCachedTools, setCachedApps, set
13
13
  export { getConfigPath, listConfiguredProfiles, loadConfig, loadGlobalConfig, saveConfig, saveGlobalConfig, saveProfileApiKey, setActiveProfile, } from "./config.js";
14
14
  export type { ActiveProfileSelector, ConfiguredProfile, LocalConfig, SaveProfileApiKeyInput, SetActiveProfileOptions, } from "./config.js";
15
15
  export { consumeStream, formatStreamItem, normalizeDataFrames } from "./stream.js";
16
- export type { OpenPondClientOptions, ToolSummary, ToolListResult, DeploymentWatchResult, AgentCreateStreamCallbacks, AgentCreateStreamResult, OpenPondClient, ToolListOptions, ToolRunOptions, DeployWatchOptions, TemplateTargetOptions, TemplateUpdateOptions, AppsListOptions, AppsToolsOptions, AppsPerformanceOptions, AppSummaryOptions, AppSchedulesOptions, AppSchedulesStartOptions, AppSchedulesStopOptions, ScheduleRunNowOptions, ScheduleDeleteOptions, ScheduleExecutionLogsOptions, ScheduleExecutionLogOptions, DeploymentScheduleExecutionLogsOptions, AppExecutionTimelineOptions, AppsAssistantRunOptions, ExecuteUserToolOptions, AppEnvironmentSetOptions, AppEnvironmentGetOptions, AppDeployOptions, AppPromotePreviewOptions, AppStartOptions, PositionsTxOptions, } from "./client-types.js";
16
+ export type { OpenPondClientOptions, ToolSummary, ToolListResult, DeploymentWatchResult, AgentCreateStreamCallbacks, AgentCreateStreamResult, OpenPondClient, ToolListOptions, ToolRunOptions, DeployWatchOptions, TemplateTargetOptions, TemplateUpdateOptions, AppsListOptions, AppsToolsOptions, AppsPerformanceOptions, AppSummaryOptions, AppSchedulesOptions, AppSchedulesStartOptions, AppSchedulesStopOptions, ScheduleRunNowOptions, ScheduleDeleteOptions, ScheduleExecutionLogsOptions, ScheduleExecutionLogOptions, DeploymentScheduleExecutionLogsOptions, AppExecutionTimelineOptions, AppsAssistantRunOptions, ExecuteUserToolOptions, AppEnvironmentSetOptions, AppEnvironmentGetOptions, AppDeployOptions, AppPromotePreviewOptions, AppStartOptions, } from "./client-types.js";
17
17
  import type { OpenPondClientOptions, AgentCreateStreamCallbacks, AgentCreateStreamResult, OpenPondClient } from "./client-types.js";
18
18
  export declare function consumeAgentCreateStream(response: Response, callbacks?: AgentCreateStreamCallbacks): Promise<AgentCreateStreamResult>;
19
19
  export declare function createClient(options: OpenPondClientOptions): OpenPondClient;
package/dist/index.js CHANGED
@@ -715,18 +715,6 @@ async function getOpenPondAccount(baseUrl, token) {
715
715
  }
716
716
  return await response.json();
717
717
  }
718
- async function getOpenPondAccountBalance(baseUrl, token) {
719
- const response = await apiFetch(baseUrl, token, "/account/balance", {
720
- method: "GET"
721
- });
722
- if (!response.ok) {
723
- const text5 = await response.text().catch(() => "");
724
- throw new Error(
725
- `Account balance lookup failed: ${response.status} ${text5}`
726
- );
727
- }
728
- return await response.json();
729
- }
730
718
  async function checkOpenPondApiHealth(baseUrl, token) {
731
719
  const checkedAt = (/* @__PURE__ */ new Date()).toISOString();
732
720
  const started = Date.now();
@@ -820,18 +808,6 @@ async function executeUserTool(baseUrl, token, body) {
820
808
  data: payload
821
809
  };
822
810
  }
823
- async function submitPositionsTx(baseUrl, token, params) {
824
- const qs = params.query && Object.keys(params.query).length > 0 ? `?${new URLSearchParams(params.query).toString()}` : "";
825
- const response = await apiFetch(baseUrl, token, `/apps/positions/tx${qs}`, {
826
- method: params.method,
827
- body: params.method === "POST" && params.body !== void 0 ? JSON.stringify(params.body) : void 0
828
- });
829
- if (!response.ok) {
830
- const text5 = await response.text().catch(() => "");
831
- throw new Error(`Positions request failed: ${response.status} ${text5}`);
832
- }
833
- return await response.json();
834
- }
835
811
  function normalizeToolPathSegment(toolName) {
836
812
  const trimmed = toolName.trim().replace(/^\/+/, "");
837
813
  return encodeURIComponent(trimmed || "tool");
@@ -2824,7 +2800,6 @@ function createClient(options) {
2824
2800
  apiKey,
2825
2801
  account: {
2826
2802
  get: async () => getOpenPondAccount(apiUrl, apiKey),
2827
- balance: async () => getOpenPondAccountBalance(apiUrl, apiKey),
2828
2803
  health: async () => checkOpenPondApiHealth(apiUrl, apiKey)
2829
2804
  },
2830
2805
  chat: {
@@ -3092,25 +3067,6 @@ function createClient(options) {
3092
3067
  return updateAppEnvironment(apiUrl, apiKey, input.appId, {
3093
3068
  envVars: input.envVars
3094
3069
  });
3095
- },
3096
- positionsTx: async (input) => {
3097
- const method = input?.method ?? "POST";
3098
- if (method !== "GET" && method !== "POST") {
3099
- throw new Error("method must be GET or POST");
3100
- }
3101
- let query = input?.query;
3102
- if (!query && input?.params) {
3103
- query = {};
3104
- for (const [key, value] of Object.entries(input.params)) {
3105
- if (value === void 0) continue;
3106
- query[key] = typeof value === "string" ? value : JSON.stringify(value);
3107
- }
3108
- }
3109
- return submitPositionsTx(apiUrl, apiKey, {
3110
- method,
3111
- body: method === "POST" ? input?.body : void 0,
3112
- query
3113
- });
3114
3070
  }
3115
3071
  },
3116
3072
  repo: {
@@ -25628,7 +25584,6 @@ export {
25628
25584
  getOpChatModel,
25629
25585
  getOpChatProvider,
25630
25586
  getOpenPondAccount,
25631
- getOpenPondAccountBalance,
25632
25587
  getOpenToolRecipe,
25633
25588
  getOpenToolRules,
25634
25589
  getScheduleExecutionLog,
@@ -25696,7 +25651,6 @@ export {
25696
25651
  stopAppSchedules,
25697
25652
  stopCurrentAppSchedules,
25698
25653
  streamHostedChatTurn,
25699
- submitPositionsTx,
25700
25654
  updateAppEnvironment,
25701
25655
  validateSandboxTemplateManifest,
25702
25656
  validateSandboxTemplateYaml
@@ -1 +1 @@
1
- import{r as s,j as w}from"./index-DQalqxbw.js";const d=[],v=["button:not([disabled])","[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])","[contenteditable='true']"].join(",");function T({ariaLabel:r,backdropClassName:o="training-dialog-backdrop",children:a,className:i,contained:t=!1,dismissDisabled:e=!1,initialFocusKey:u,inertExclusionSelector:p,onClose:m}){const f=s.useRef(null),A=s.useRef(Symbol("app-dialog")),b=s.useRef(null),h=s.useRef(e),g=s.useRef(m);h.current=e,g.current=m,s.useEffect(()=>{const n=A.current;b.current=document.activeElement instanceof HTMLElement?document.activeElement:null,d.push(n);const l=t?f.current?.closest(".main-pane")??null:null,E=I(f.current,l,p);function y(c){if(d.at(-1)===n){if(c.key==="Escape"){c.preventDefault(),c.stopPropagation(),h.current||g.current();return}c.key!=="Tab"||t||F(c,f.current)}}return document.addEventListener("keydown",y,!0),()=>{document.removeEventListener("keydown",y,!0);const c=d.lastIndexOf(n);c>=0&&d.splice(c,1),E();const x=b.current;x?.isConnected&&x.focus()}},[t,p]),s.useEffect(()=>{const n=window.requestAnimationFrame(()=>{const l=f.current;(l?.querySelector("[data-autofocus]")??l)?.focus()});return()=>window.cancelAnimationFrame(n)},[u]);function R(n){n.target===n.currentTarget&&!e&&m()}function k(n){n.key==="Escape"&&n.stopPropagation()}return w.jsx("div",{className:o,role:"presentation",onMouseDown:R,children:w.jsx("section",{ref:f,"aria-busy":e||void 0,"aria-label":r,"aria-modal":t?void 0:"true",className:i,role:"dialog",tabIndex:-1,onKeyDown:k,onMouseDown:n=>n.stopPropagation(),children:a})})}function D(r){return r?Array.from(r.querySelectorAll(v)).filter(o=>!o.hidden&&o.getAttribute("aria-hidden")!=="true"):[]}function F(r,o){if(!o)return;const a=D(o);if(a.length===0){r.preventDefault(),o.focus();return}const i=a.indexOf(document.activeElement),t=r.shiftKey?i<=0?a.length-1:i-1:i<0||i===a.length-1?0:i+1;r.preventDefault(),a[t]?.focus()}function I(r,o=null,a){if(!r)return()=>{};const i=[];let t=r.parentElement??r;for(;t.parentElement&&t!==document.body;){const e=t.parentElement;for(const u of Array.from(e.children))u===t||!(u instanceof HTMLElement)||a&&u.matches(a)||(i.push({element:u,ariaHidden:u.getAttribute("aria-hidden"),inert:u.inert}),u.inert=!0,u.setAttribute("aria-hidden","true"));if(t=e,o&&t===o)break}return()=>{for(const e of i.reverse())e.element.inert=e.inert,e.ariaHidden===null?e.element.removeAttribute("aria-hidden"):e.element.setAttribute("aria-hidden",e.ariaHidden)}}export{T as A};
1
+ import{r as s,j as w}from"./index-KoQSSt_f.js";const d=[],v=["button:not([disabled])","[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])","[contenteditable='true']"].join(",");function T({ariaLabel:r,backdropClassName:o="training-dialog-backdrop",children:a,className:i,contained:t=!1,dismissDisabled:e=!1,initialFocusKey:u,inertExclusionSelector:p,onClose:m}){const f=s.useRef(null),A=s.useRef(Symbol("app-dialog")),b=s.useRef(null),h=s.useRef(e),g=s.useRef(m);h.current=e,g.current=m,s.useEffect(()=>{const n=A.current;b.current=document.activeElement instanceof HTMLElement?document.activeElement:null,d.push(n);const l=t?f.current?.closest(".main-pane")??null:null,E=I(f.current,l,p);function y(c){if(d.at(-1)===n){if(c.key==="Escape"){c.preventDefault(),c.stopPropagation(),h.current||g.current();return}c.key!=="Tab"||t||F(c,f.current)}}return document.addEventListener("keydown",y,!0),()=>{document.removeEventListener("keydown",y,!0);const c=d.lastIndexOf(n);c>=0&&d.splice(c,1),E();const x=b.current;x?.isConnected&&x.focus()}},[t,p]),s.useEffect(()=>{const n=window.requestAnimationFrame(()=>{const l=f.current;(l?.querySelector("[data-autofocus]")??l)?.focus()});return()=>window.cancelAnimationFrame(n)},[u]);function R(n){n.target===n.currentTarget&&!e&&m()}function k(n){n.key==="Escape"&&n.stopPropagation()}return w.jsx("div",{className:o,role:"presentation",onMouseDown:R,children:w.jsx("section",{ref:f,"aria-busy":e||void 0,"aria-label":r,"aria-modal":t?void 0:"true",className:i,role:"dialog",tabIndex:-1,onKeyDown:k,onMouseDown:n=>n.stopPropagation(),children:a})})}function D(r){return r?Array.from(r.querySelectorAll(v)).filter(o=>!o.hidden&&o.getAttribute("aria-hidden")!=="true"):[]}function F(r,o){if(!o)return;const a=D(o);if(a.length===0){r.preventDefault(),o.focus();return}const i=a.indexOf(document.activeElement),t=r.shiftKey?i<=0?a.length-1:i-1:i<0||i===a.length-1?0:i+1;r.preventDefault(),a[t]?.focus()}function I(r,o=null,a){if(!r)return()=>{};const i=[];let t=r.parentElement??r;for(;t.parentElement&&t!==document.body;){const e=t.parentElement;for(const u of Array.from(e.children))u===t||!(u instanceof HTMLElement)||a&&u.matches(a)||(i.push({element:u,ariaHidden:u.getAttribute("aria-hidden"),inert:u.inert}),u.inert=!0,u.setAttribute("aria-hidden","true"));if(t=e,o&&t===o)break}return()=>{for(const e of i.reverse())e.element.inert=e.inert,e.ariaHidden===null?e.element.removeAttribute("aria-hidden"):e.element.setAttribute("aria-hidden",e.ariaHidden)}}export{T as A};
@@ -1 +1 @@
1
- import{r,b0 as b,n as L,j as e,S as I,a2 as k,X as P,b1 as E,T as F,E as U,b2 as T,b3 as R}from"./index-DQalqxbw.js";const D=["For agents","Featured","Productivity","Developer tools"],M=new Set(["slack","google","github","mcp"]);function J({account:s,connection:n,defaultTeamId:a,onToast:o}){const[c,f]=r.useState(null),[p,v]=r.useState(""),[i,y]=r.useState("For agents"),[u,h]=r.useState(()=>b()),[g,d]=r.useState("idle"),[w,x]=r.useState(null),S=s?.baseUrl??s?.activeProfile?.baseUrl??null,C=O(a,w),N=r.useMemo(()=>u.filter(t=>z(t,i)).filter(t=>q(t,p)),[i,p,u]);r.useEffect(()=>{let t=!0;return n?(d("loading"),L.connectedAppStatus(n,{status:"all"}).then(l=>{t&&(h(l.apps),x(l.teamId?.trim()||null),d("ready"))}).catch(l=>{t&&(console.warn("Unable to load connected app status.",l),h(b()),x(null),d("error"))}),()=>{t=!1}):(h(b()),d("idle"),x(null),()=>{t=!1})},[n]);function A(t){const l=T({appId:t.id,baseUrl:S,teamId:C});V(l).catch(j=>{o?.(j instanceof Error?j.message:String(j),"error")})}return e.jsxs("section",{className:"connected-apps-view","aria-label":"Apps",children:[e.jsxs("div",{className:"connected-apps-header",children:[e.jsxs("div",{children:[e.jsx("h1",{children:"Apps"}),e.jsx("p",{children:"Connect apps that agents can use for chat, knowledge, files, and workflow actions."})]}),e.jsxs("label",{className:"connected-apps-search",children:[e.jsx(I,{size:15}),e.jsx("input",{"aria-label":"Search apps",onChange:t=>v(t.target.value),placeholder:"Search apps",type:"search",value:p})]})]}),e.jsxs("div",{className:`connected-apps-status-strip ${g}`,children:[e.jsx("span",{children:W(g)}),e.jsxs("span",{children:[X(u)," connected"]})]}),e.jsxs("section",{className:"connected-apps-hero","aria-label":"App context",children:[e.jsxs("div",{className:"connected-apps-hero-copy",children:[e.jsx("span",{className:"connected-apps-hero-icon",children:e.jsx(m,{appId:"github"})}),e.jsx("h2",{children:"Work with your apps"}),e.jsx("p",{children:"Bring repositories, documents, chat, calendars, and custom MCP tools into OpenPond."})]}),e.jsxs("div",{className:"connected-apps-context-card","aria-hidden":"true",children:[e.jsx("strong",{children:"Agent context"}),e.jsxs("div",{children:[e.jsx("span",{className:"files",children:"Files"}),e.jsx("span",{className:"chat",children:"Chat"}),e.jsx("span",{className:"oauth",children:"OAuth"}),e.jsx("span",{className:"mcp",children:"MCP"})]})]})]}),e.jsx("div",{className:"connected-apps-filters",role:"tablist","aria-label":"App categories",children:D.map(t=>e.jsx("button",{"aria-selected":i===t,className:i===t?"active":"",onClick:()=>y(t),role:"tab",type:"button",children:t},t))}),e.jsxs("div",{className:"connected-apps-list",children:[N.map(t=>e.jsx(_,{app:t,onSelect:()=>f(t)},t.id)),N.length===0?e.jsx("div",{className:"connected-apps-empty",children:"No apps match the current search."}):null]}),c?e.jsx($,{app:c,onClose:()=>f(null),onInstall:()=>A(c)}):null]})}function O(s,n){const a=s?.trim();return a||n?.trim()||null}function _({app:s,onSelect:n}){return e.jsxs("button",{className:"connected-app-row",onClick:n,type:"button",children:[e.jsxs("span",{className:"connected-app-row-main",children:[e.jsx(m,{appId:s.id}),e.jsxs("span",{className:"connected-app-copy",children:[e.jsxs("span",{className:"connected-app-title",children:[e.jsx("strong",{children:s.label}),e.jsxs("span",{children:[s.shortLabel!==s.label?s.shortLabel:s.category," / ",s.setupSurfaceLabel]})]}),e.jsx("span",{children:s.description}),e.jsxs("span",{className:"connected-app-capability-row",children:[s.capabilityLabels.slice(0,2).map(a=>e.jsx("span",{children:a},a)),s.capabilityLabels.length>2?e.jsxs("span",{children:["+",s.capabilityLabels.length-2]}):null]})]})]}),e.jsx("span",{className:`connected-app-status-pill ${s.status}`,children:s.statusLabel}),e.jsx(k,{size:16})]})}function $({app:s,onClose:n,onInstall:a}){const o=s.connections.filter(c=>c.status==="active");return e.jsx("div",{className:"connected-app-dialog-backdrop",role:"presentation",onMouseDown:c=>{c.target===c.currentTarget&&n()},children:e.jsxs("section",{className:"connected-app-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"connected-app-dialog-title",children:[e.jsx("button",{className:"connected-app-dialog-close",type:"button","aria-label":"Close app details",onClick:n,children:e.jsx(P,{size:17})}),e.jsxs("div",{className:"connected-app-dialog-identity",children:[e.jsx("span",{className:"openpond-mark",children:e.jsx("img",{alt:"",src:E})}),e.jsxs("span",{className:"connection-dots","aria-hidden":"true",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx(m,{appId:s.id})]}),e.jsxs("h2",{id:"connected-app-dialog-title",children:["Connect ",s.label]}),e.jsxs("div",{className:"connected-app-approval",children:[e.jsx(F,{size:16}),e.jsx("span",{children:s.statusLabel})]}),e.jsxs("div",{className:"connected-app-dialog-body",children:[e.jsxs("section",{children:[e.jsx("h3",{children:s.setupSurfaceLabel}),e.jsx("p",{children:"The web flow shows the provider account, workspace, and requested access before anything is connected."})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Connected account"}),e.jsx("p",{children:G(o)})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Available capabilities"}),e.jsx("div",{className:"connected-app-dialog-capabilities",children:s.capabilities.map(c=>e.jsx("span",{children:c.label},c.id))})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Sandbox lease policy"}),e.jsx("p",{children:s.leasePolicy.leaseable?`Leaseable for ${s.leasePolicy.defaultTtlSeconds??0} seconds with scoped proxy access.`:"Managed as setup or tool discovery; no OAuth lease is required."})]})]}),e.jsxs("button",{className:"connected-app-dialog-primary",type:"button",onClick:a,children:[e.jsx("span",{children:s.installLabel}),e.jsx(U,{size:15})]})]})})}function m({appId:s}){return e.jsx("span",{className:`connected-app-icon app-${s}`,children:e.jsx("img",{alt:"",src:B(s)})})}function z(s,n){return n==="For agents"?!0:n==="Featured"?M.has(s.id):n==="Productivity"?s.category==="Productivity"||s.category==="Chat":s.category==="Developer tools"||s.id==="mcp"}function q(s,n){const a=n.trim().toLowerCase();return a?[s.id,s.label,s.shortLabel,s.category,s.description,s.providerFamily,s.setupSurface].some(o=>o.toLowerCase().includes(a)):!0}function B(s){return R(s)}async function V(s){const n=window.openpond?.browser;if(n){const a=await n.openExternal({conversationId:"connected-apps",url:s});if(!a.ok)throw new Error(a.error??"Unable to open app setup.");return}window.open(s,"_blank","noopener,noreferrer")}function W(s){return s==="loading"?"Checking connections":s==="ready"?"Connection status current":s==="error"?"Connection status unavailable":"Connection status pending"}function X(s){return s.filter(n=>n.connected).length}function G(s){return s.length===0?"No active OAuth connection for this setup surface.":s.map(n=>{const a=n.accountLabel??"Connected account";return n.workspaceLabel?`${a} / ${n.workspaceLabel}`:a}).join(", ")}export{J as AppsView,_ as ConnectedAppRow,O as connectedAppSetupTeamId};
1
+ import{r,a$ as b,n as L,j as e,S as I,a2 as k,X as P,b0 as E,T as F,E as U,b1 as T,b2 as R}from"./index-KoQSSt_f.js";const D=["For agents","Featured","Productivity","Developer tools"],M=new Set(["slack","google","github","mcp"]);function J({account:s,connection:n,defaultTeamId:a,onToast:o}){const[c,f]=r.useState(null),[p,v]=r.useState(""),[i,y]=r.useState("For agents"),[u,h]=r.useState(()=>b()),[g,d]=r.useState("idle"),[w,x]=r.useState(null),S=s?.baseUrl??s?.activeProfile?.baseUrl??null,C=O(a,w),N=r.useMemo(()=>u.filter(t=>z(t,i)).filter(t=>q(t,p)),[i,p,u]);r.useEffect(()=>{let t=!0;return n?(d("loading"),L.connectedAppStatus(n,{status:"all"}).then(l=>{t&&(h(l.apps),x(l.teamId?.trim()||null),d("ready"))}).catch(l=>{t&&(console.warn("Unable to load connected app status.",l),h(b()),x(null),d("error"))}),()=>{t=!1}):(h(b()),d("idle"),x(null),()=>{t=!1})},[n]);function A(t){const l=T({appId:t.id,baseUrl:S,teamId:C});V(l).catch(j=>{o?.(j instanceof Error?j.message:String(j),"error")})}return e.jsxs("section",{className:"connected-apps-view","aria-label":"Apps",children:[e.jsxs("div",{className:"connected-apps-header",children:[e.jsxs("div",{children:[e.jsx("h1",{children:"Apps"}),e.jsx("p",{children:"Connect apps that agents can use for chat, knowledge, files, and workflow actions."})]}),e.jsxs("label",{className:"connected-apps-search",children:[e.jsx(I,{size:15}),e.jsx("input",{"aria-label":"Search apps",onChange:t=>v(t.target.value),placeholder:"Search apps",type:"search",value:p})]})]}),e.jsxs("div",{className:`connected-apps-status-strip ${g}`,children:[e.jsx("span",{children:W(g)}),e.jsxs("span",{children:[X(u)," connected"]})]}),e.jsxs("section",{className:"connected-apps-hero","aria-label":"App context",children:[e.jsxs("div",{className:"connected-apps-hero-copy",children:[e.jsx("span",{className:"connected-apps-hero-icon",children:e.jsx(m,{appId:"github"})}),e.jsx("h2",{children:"Work with your apps"}),e.jsx("p",{children:"Bring repositories, documents, chat, calendars, and custom MCP tools into OpenPond."})]}),e.jsxs("div",{className:"connected-apps-context-card","aria-hidden":"true",children:[e.jsx("strong",{children:"Agent context"}),e.jsxs("div",{children:[e.jsx("span",{className:"files",children:"Files"}),e.jsx("span",{className:"chat",children:"Chat"}),e.jsx("span",{className:"oauth",children:"OAuth"}),e.jsx("span",{className:"mcp",children:"MCP"})]})]})]}),e.jsx("div",{className:"connected-apps-filters",role:"tablist","aria-label":"App categories",children:D.map(t=>e.jsx("button",{"aria-selected":i===t,className:i===t?"active":"",onClick:()=>y(t),role:"tab",type:"button",children:t},t))}),e.jsxs("div",{className:"connected-apps-list",children:[N.map(t=>e.jsx($,{app:t,onSelect:()=>f(t)},t.id)),N.length===0?e.jsx("div",{className:"connected-apps-empty",children:"No apps match the current search."}):null]}),c?e.jsx(_,{app:c,onClose:()=>f(null),onInstall:()=>A(c)}):null]})}function O(s,n){const a=s?.trim();return a||n?.trim()||null}function $({app:s,onSelect:n}){return e.jsxs("button",{className:"connected-app-row",onClick:n,type:"button",children:[e.jsxs("span",{className:"connected-app-row-main",children:[e.jsx(m,{appId:s.id}),e.jsxs("span",{className:"connected-app-copy",children:[e.jsxs("span",{className:"connected-app-title",children:[e.jsx("strong",{children:s.label}),e.jsxs("span",{children:[s.shortLabel!==s.label?s.shortLabel:s.category," / ",s.setupSurfaceLabel]})]}),e.jsx("span",{children:s.description}),e.jsxs("span",{className:"connected-app-capability-row",children:[s.capabilityLabels.slice(0,2).map(a=>e.jsx("span",{children:a},a)),s.capabilityLabels.length>2?e.jsxs("span",{children:["+",s.capabilityLabels.length-2]}):null]})]})]}),e.jsx("span",{className:`connected-app-status-pill ${s.status}`,children:s.statusLabel}),e.jsx(k,{size:16})]})}function _({app:s,onClose:n,onInstall:a}){const o=s.connections.filter(c=>c.status==="active");return e.jsx("div",{className:"connected-app-dialog-backdrop",role:"presentation",onMouseDown:c=>{c.target===c.currentTarget&&n()},children:e.jsxs("section",{className:"connected-app-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"connected-app-dialog-title",children:[e.jsx("button",{className:"connected-app-dialog-close",type:"button","aria-label":"Close app details",onClick:n,children:e.jsx(P,{size:17})}),e.jsxs("div",{className:"connected-app-dialog-identity",children:[e.jsx("span",{className:"openpond-mark",children:e.jsx("img",{alt:"",src:E})}),e.jsxs("span",{className:"connection-dots","aria-hidden":"true",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx(m,{appId:s.id})]}),e.jsxs("h2",{id:"connected-app-dialog-title",children:["Connect ",s.label]}),e.jsxs("div",{className:"connected-app-approval",children:[e.jsx(F,{size:16}),e.jsx("span",{children:s.statusLabel})]}),e.jsxs("div",{className:"connected-app-dialog-body",children:[e.jsxs("section",{children:[e.jsx("h3",{children:s.setupSurfaceLabel}),e.jsx("p",{children:"The web flow shows the provider account, workspace, and requested access before anything is connected."})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Connected account"}),e.jsx("p",{children:G(o)})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Available capabilities"}),e.jsx("div",{className:"connected-app-dialog-capabilities",children:s.capabilities.map(c=>e.jsx("span",{children:c.label},c.id))})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Sandbox lease policy"}),e.jsx("p",{children:s.leasePolicy.leaseable?`Leaseable for ${s.leasePolicy.defaultTtlSeconds??0} seconds with scoped proxy access.`:"Managed as setup or tool discovery; no OAuth lease is required."})]})]}),e.jsxs("button",{className:"connected-app-dialog-primary",type:"button",onClick:a,children:[e.jsx("span",{children:s.installLabel}),e.jsx(U,{size:15})]})]})})}function m({appId:s}){return e.jsx("span",{className:`connected-app-icon app-${s}`,children:e.jsx("img",{alt:"",src:B(s)})})}function z(s,n){return n==="For agents"?!0:n==="Featured"?M.has(s.id):n==="Productivity"?s.category==="Productivity"||s.category==="Chat":s.category==="Developer tools"||s.id==="mcp"}function q(s,n){const a=n.trim().toLowerCase();return a?[s.id,s.label,s.shortLabel,s.category,s.description,s.providerFamily,s.setupSurface].some(o=>o.toLowerCase().includes(a)):!0}function B(s){return R(s)}async function V(s){const n=window.openpond?.browser;if(n){const a=await n.openExternal({conversationId:"connected-apps",url:s});if(!a.ok)throw new Error(a.error??"Unable to open app setup.");return}window.open(s,"_blank","noopener,noreferrer")}function W(s){return s==="loading"?"Checking connections":s==="ready"?"Connection status current":s==="error"?"Connection status unavailable":"Connection status pending"}function X(s){return s.filter(n=>n.connected).length}function G(s){return s.length===0?"No active OAuth connection for this setup surface.":s.map(n=>{const a=n.accountLabel??"Connected account";return n.workspaceLabel?`${a} / ${n.workspaceLabel}`:a}).join(", ")}export{J as AppsView,$ as ConnectedAppRow,O as connectedAppSetupTeamId};
@@ -1 +1 @@
1
- import{r as c,bF as v,j as a,aK as f,X as k,k as j,V as C,aH as g,ao as B,E as y,aL as N}from"./index-DQalqxbw.js";import{R as T}from"./refresh-cw-CyermMsy.js";const x=[];function P(r){const e=window.openpond?.browser,[b,l]=c.useState(()=>({conversationId:r,activeTabId:null,tabs:x}));c.useEffect(()=>{if(l({conversationId:r,activeTabId:null,tabs:x}),!e)return;let s=!1;e.getState({conversationId:r}).then(o=>{s||l(o)});const n=e.onState(o=>{o.conversationId===r&&l(o)});return()=>{s=!0,n()}},[e,r]);const u=c.useMemo(()=>b.tabs.find(s=>s.id===b.activeTabId)??null,[b.activeTabId,b.tabs]),t=c.useCallback(async(s,n={})=>{if(!e)return!1;const o=v(s,{explicitFile:n.explicitFile});return o?(n.newTab?await e.newTab({conversationId:r,url:o,explicitFile:n.explicitFile}):await e.open({conversationId:r,url:o,explicitFile:n.explicitFile}),!0):!1},[e,r]),i=u?{conversationId:r,tabId:u.id}:null;return{activeTab:u,available:!!e,bridge:e,state:b,back:()=>e&&i?e.back(i):Promise.resolve({ok:!1}),clearData:()=>e?e.clearData({conversationId:r}):Promise.resolve({ok:!1}),closeTab:s=>e?e.closeTab({conversationId:r,tabId:s}):Promise.resolve({ok:!1}),forward:()=>e&&i?e.forward(i):Promise.resolve({ok:!1}),newTab:s=>e?e.newTab({conversationId:r,url:s}):Promise.resolve({ok:!1}),open:t,openExternal:()=>e&&i?e.openExternal(i):Promise.resolve({ok:!1}),reload:()=>e&&i?e.reload(i):Promise.resolve({ok:!1}),snapshot:(s={})=>e?e.snapshot({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),moveCursor:s=>e?e.moveCursor({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),click:s=>e?e.click({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),typeText:s=>e?e.typeText({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),key:s=>e?e.key({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),scroll:s=>e?e.scroll({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),selectTab:s=>e?e.selectTab({conversationId:r,tabId:s}):Promise.resolve({ok:!1}),setBounds:s=>e?e.setBounds({conversationId:r,bounds:s}):Promise.resolve({ok:!1}),stop:()=>e&&i?e.stop(i):Promise.resolve({ok:!1})}}function E({activeTabId:r,tabs:e,onCloseTab:b,onNewTab:l,onSelectTab:u}){return a.jsxs("div",{className:"browser-tabs",role:"tablist","aria-label":"Browser tabs",children:[e.map(t=>a.jsxs("div",{className:`browser-tab ${t.id===r?"active":""}`,children:[a.jsx("span",{className:"browser-tab-favicon","aria-hidden":"true",children:t.faviconUrl?a.jsx("img",{alt:"",referrerPolicy:"no-referrer",src:t.faviconUrl}):a.jsx(f,{size:13})}),a.jsx("button",{type:"button",className:"browser-tab-main",role:"tab","aria-selected":t.id===r,title:t.url,onClick:()=>u(t.id),children:R(t)}),a.jsx("button",{type:"button",className:"browser-tab-close",title:"Close tab","aria-label":"Close tab",onClick:()=>b(t.id),children:a.jsx(k,{size:12})})]},t.id)),a.jsx("button",{type:"button",className:"browser-tab-add",title:"New tab","aria-label":"New tab",onClick:l,children:a.jsx(j,{size:14})})]})}function R(r){if(r.title?.trim())return r.title.trim();try{return new URL(r.url).host||r.url}catch{return r.url||"New tab"}}function z({activeTab:r,available:e,onBack:b,onClearData:l,onForward:u,onNavigate:t,onOpenExternal:i,onReload:s,onStop:n}){const[o,d]=c.useState(""),[p,m]=c.useState(!1);c.useEffect(()=>{d(r?.url??"")},[r?.url]);function h(w){w.preventDefault(),t(o)}return a.jsxs("div",{className:"browser-toolbar",children:[a.jsxs("div",{className:"browser-nav-actions",children:[a.jsx("button",{type:"button",title:"Back","aria-label":"Back",disabled:!r?.canGoBack,onClick:b,children:a.jsx(C,{size:15})}),a.jsx("button",{type:"button",title:"Forward","aria-label":"Forward",disabled:!r?.canGoForward,onClick:u,children:a.jsx(g,{size:15})}),a.jsx("button",{type:"button",title:r?.loading?"Stop":"Reload","aria-label":r?.loading?"Stop":"Reload",disabled:!r,onClick:r?.loading?n:s,children:r?.loading?a.jsx(B,{size:13}):a.jsx(T,{size:14})})]}),a.jsx("form",{className:"browser-address-form",onSubmit:h,children:a.jsx("input",{"aria-label":"Browser address",disabled:!e,placeholder:e?"Search or enter address":"Desktop browser unavailable",spellCheck:!1,value:o,onChange:w=>d(w.target.value)})}),a.jsxs("div",{className:"browser-panel-actions",children:[a.jsx("button",{type:"button",title:"Open external","aria-label":"Open external",disabled:!r,onClick:i,children:a.jsx(y,{size:14})}),a.jsxs("div",{className:"browser-menu-anchor",children:[a.jsx("button",{type:"button",title:"Browser actions","aria-label":"Browser actions",onClick:()=>m(w=>!w),children:a.jsx(N,{size:15})}),p&&a.jsx("div",{className:"browser-options-menu",role:"menu",children:a.jsx("button",{type:"button",role:"menuitem",onClick:()=>{m(!1),l()},children:"Clear Browser Data..."})})]})]})]})}function D({active:r,onBounds:e}){const b=c.useRef(null),l=c.useRef(null),u=c.useRef(null),t=c.useCallback(n=>{const o=n?`${n.x}:${n.y}:${n.width}:${n.height}`:"null";l.current!==o&&(l.current=o,e(n))},[e]),i=c.useCallback(()=>{const n=b.current;if(!r||!n){t(null);return}const o=n.getBoundingClientRect(),d=Math.max(0,Math.round(o.width)),p=Math.max(0,Math.round(o.height));if(d===0||p===0){t(null);return}t({x:Math.round(o.left),y:Math.round(o.top),width:d,height:p})},[r,t]),s=c.useCallback(()=>{u.current===null&&(u.current=window.requestAnimationFrame(()=>{u.current=null,i()}))},[i]);return c.useLayoutEffect(()=>{l.current=null,i();const n=b.current;if(!r||!n)return t(null),()=>t(null);const o=new ResizeObserver(s);return o.observe(n),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0),()=>{u.current!==null&&(window.cancelAnimationFrame(u.current),u.current=null),o.disconnect(),window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0),t(null)}},[r,t,i,s]),a.jsx("div",{className:"browser-viewport",ref:b})}function L({conversationId:r,expanded:e,onResizeStart:b}){const l=P(r),u=c.useCallback(s=>{window.openpond?.browser?.setBounds({conversationId:r,bounds:s})},[r]),t=c.useCallback(s=>{l.open(s,{explicitFile:!0})},[l]),i=c.useCallback(()=>{window.confirm("Clear browser data for this conversation? Tabs, cookies, cache, and local storage for this conversation will be removed.")&&l.clearData()},[l]);return a.jsxs("aside",{className:`workspace-diff-panel browser-sidebar-panel ${e?"expanded":""}`,"aria-label":"Browser",children:[!e&&a.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize browser panel",onPointerDown:b}),a.jsx(E,{activeTabId:l.state.activeTabId,tabs:l.state.tabs,onCloseTab:s=>{l.closeTab(s)},onNewTab:()=>{l.newTab()},onSelectTab:s=>{l.selectTab(s)}}),a.jsx(z,{activeTab:l.activeTab,available:l.available,onBack:()=>{l.back()},onClearData:i,onForward:()=>{l.forward()},onNavigate:t,onOpenExternal:()=>{l.openExternal()},onReload:()=>{l.reload()},onStop:()=>{l.stop()}}),a.jsxs("div",{className:"browser-content",children:[l.available?l.state.tabs.length===0?a.jsxs("div",{className:"browser-empty-state",children:[a.jsx(f,{size:18}),a.jsx("span",{children:"Enter a URL to open a browser tab for this conversation."})]}):null:a.jsxs("div",{className:"browser-empty-state",children:[a.jsx(f,{size:18}),a.jsx("span",{children:"Desktop browser bridge unavailable."})]}),a.jsx(D,{active:l.available&&l.state.tabs.length>0,onBounds:u})]})]})}export{L as BrowserSidebar};
1
+ import{r as c,bE as v,j as a,aJ as f,X as k,k as j,V as C,aG as g,an as B,E as y,aK as N}from"./index-KoQSSt_f.js";import{R as T}from"./refresh-cw-BAaaPCXl.js";const x=[];function E(r){const e=window.openpond?.browser,[b,l]=c.useState(()=>({conversationId:r,activeTabId:null,tabs:x}));c.useEffect(()=>{if(l({conversationId:r,activeTabId:null,tabs:x}),!e)return;let s=!1;e.getState({conversationId:r}).then(o=>{s||l(o)});const n=e.onState(o=>{o.conversationId===r&&l(o)});return()=>{s=!0,n()}},[e,r]);const u=c.useMemo(()=>b.tabs.find(s=>s.id===b.activeTabId)??null,[b.activeTabId,b.tabs]),t=c.useCallback(async(s,n={})=>{if(!e)return!1;const o=v(s,{explicitFile:n.explicitFile});return o?(n.newTab?await e.newTab({conversationId:r,url:o,explicitFile:n.explicitFile}):await e.open({conversationId:r,url:o,explicitFile:n.explicitFile}),!0):!1},[e,r]),i=u?{conversationId:r,tabId:u.id}:null;return{activeTab:u,available:!!e,bridge:e,state:b,back:()=>e&&i?e.back(i):Promise.resolve({ok:!1}),clearData:()=>e?e.clearData({conversationId:r}):Promise.resolve({ok:!1}),closeTab:s=>e?e.closeTab({conversationId:r,tabId:s}):Promise.resolve({ok:!1}),forward:()=>e&&i?e.forward(i):Promise.resolve({ok:!1}),newTab:s=>e?e.newTab({conversationId:r,url:s}):Promise.resolve({ok:!1}),open:t,openExternal:()=>e&&i?e.openExternal(i):Promise.resolve({ok:!1}),reload:()=>e&&i?e.reload(i):Promise.resolve({ok:!1}),snapshot:(s={})=>e?e.snapshot({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),moveCursor:s=>e?e.moveCursor({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),click:s=>e?e.click({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),typeText:s=>e?e.typeText({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),key:s=>e?e.key({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),scroll:s=>e?e.scroll({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),selectTab:s=>e?e.selectTab({conversationId:r,tabId:s}):Promise.resolve({ok:!1}),setBounds:s=>e?e.setBounds({conversationId:r,bounds:s}):Promise.resolve({ok:!1}),stop:()=>e&&i?e.stop(i):Promise.resolve({ok:!1})}}function P({activeTabId:r,tabs:e,onCloseTab:b,onNewTab:l,onSelectTab:u}){return a.jsxs("div",{className:"browser-tabs",role:"tablist","aria-label":"Browser tabs",children:[e.map(t=>a.jsxs("div",{className:`browser-tab ${t.id===r?"active":""}`,children:[a.jsx("span",{className:"browser-tab-favicon","aria-hidden":"true",children:t.faviconUrl?a.jsx("img",{alt:"",referrerPolicy:"no-referrer",src:t.faviconUrl}):a.jsx(f,{size:13})}),a.jsx("button",{type:"button",className:"browser-tab-main",role:"tab","aria-selected":t.id===r,title:t.url,onClick:()=>u(t.id),children:R(t)}),a.jsx("button",{type:"button",className:"browser-tab-close",title:"Close tab","aria-label":"Close tab",onClick:()=>b(t.id),children:a.jsx(k,{size:12})})]},t.id)),a.jsx("button",{type:"button",className:"browser-tab-add",title:"New tab","aria-label":"New tab",onClick:l,children:a.jsx(j,{size:14})})]})}function R(r){if(r.title?.trim())return r.title.trim();try{return new URL(r.url).host||r.url}catch{return r.url||"New tab"}}function z({activeTab:r,available:e,onBack:b,onClearData:l,onForward:u,onNavigate:t,onOpenExternal:i,onReload:s,onStop:n}){const[o,d]=c.useState(""),[p,m]=c.useState(!1);c.useEffect(()=>{d(r?.url??"")},[r?.url]);function h(w){w.preventDefault(),t(o)}return a.jsxs("div",{className:"browser-toolbar",children:[a.jsxs("div",{className:"browser-nav-actions",children:[a.jsx("button",{type:"button",title:"Back","aria-label":"Back",disabled:!r?.canGoBack,onClick:b,children:a.jsx(C,{size:15})}),a.jsx("button",{type:"button",title:"Forward","aria-label":"Forward",disabled:!r?.canGoForward,onClick:u,children:a.jsx(g,{size:15})}),a.jsx("button",{type:"button",title:r?.loading?"Stop":"Reload","aria-label":r?.loading?"Stop":"Reload",disabled:!r,onClick:r?.loading?n:s,children:r?.loading?a.jsx(B,{size:13}):a.jsx(T,{size:14})})]}),a.jsx("form",{className:"browser-address-form",onSubmit:h,children:a.jsx("input",{"aria-label":"Browser address",disabled:!e,placeholder:e?"Search or enter address":"Desktop browser unavailable",spellCheck:!1,value:o,onChange:w=>d(w.target.value)})}),a.jsxs("div",{className:"browser-panel-actions",children:[a.jsx("button",{type:"button",title:"Open external","aria-label":"Open external",disabled:!r,onClick:i,children:a.jsx(y,{size:14})}),a.jsxs("div",{className:"browser-menu-anchor",children:[a.jsx("button",{type:"button",title:"Browser actions","aria-label":"Browser actions",onClick:()=>m(w=>!w),children:a.jsx(N,{size:15})}),p&&a.jsx("div",{className:"browser-options-menu",role:"menu",children:a.jsx("button",{type:"button",role:"menuitem",onClick:()=>{m(!1),l()},children:"Clear Browser Data..."})})]})]})]})}function D({active:r,onBounds:e}){const b=c.useRef(null),l=c.useRef(null),u=c.useRef(null),t=c.useCallback(n=>{const o=n?`${n.x}:${n.y}:${n.width}:${n.height}`:"null";l.current!==o&&(l.current=o,e(n))},[e]),i=c.useCallback(()=>{const n=b.current;if(!r||!n){t(null);return}const o=n.getBoundingClientRect(),d=Math.max(0,Math.round(o.width)),p=Math.max(0,Math.round(o.height));if(d===0||p===0){t(null);return}t({x:Math.round(o.left),y:Math.round(o.top),width:d,height:p})},[r,t]),s=c.useCallback(()=>{u.current===null&&(u.current=window.requestAnimationFrame(()=>{u.current=null,i()}))},[i]);return c.useLayoutEffect(()=>{l.current=null,i();const n=b.current;if(!r||!n)return t(null),()=>t(null);const o=new ResizeObserver(s);return o.observe(n),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0),()=>{u.current!==null&&(window.cancelAnimationFrame(u.current),u.current=null),o.disconnect(),window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0),t(null)}},[r,t,i,s]),a.jsx("div",{className:"browser-viewport",ref:b})}function L({conversationId:r,expanded:e,onResizeStart:b}){const l=E(r),u=c.useCallback(s=>{window.openpond?.browser?.setBounds({conversationId:r,bounds:s})},[r]),t=c.useCallback(s=>{l.open(s,{explicitFile:!0})},[l]),i=c.useCallback(()=>{window.confirm("Clear browser data for this conversation? Tabs, cookies, cache, and local storage for this conversation will be removed.")&&l.clearData()},[l]);return a.jsxs("aside",{className:`workspace-diff-panel browser-sidebar-panel ${e?"expanded":""}`,"aria-label":"Browser",children:[!e&&a.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize browser panel",onPointerDown:b}),a.jsx(P,{activeTabId:l.state.activeTabId,tabs:l.state.tabs,onCloseTab:s=>{l.closeTab(s)},onNewTab:()=>{l.newTab()},onSelectTab:s=>{l.selectTab(s)}}),a.jsx(z,{activeTab:l.activeTab,available:l.available,onBack:()=>{l.back()},onClearData:i,onForward:()=>{l.forward()},onNavigate:t,onOpenExternal:()=>{l.openExternal()},onReload:()=>{l.reload()},onStop:()=>{l.stop()}}),a.jsxs("div",{className:"browser-content",children:[l.available?l.state.tabs.length===0?a.jsxs("div",{className:"browser-empty-state",children:[a.jsx(f,{size:18}),a.jsx("span",{children:"Enter a URL to open a browser tab for this conversation."})]}):null:a.jsxs("div",{className:"browser-empty-state",children:[a.jsx(f,{size:18}),a.jsx("span",{children:"Desktop browser bridge unavailable."})]}),a.jsx(D,{active:l.available&&l.state.tabs.length>0,onBounds:u})]})]})}export{L as BrowserSidebar};