openpond 0.0.48 → 0.0.50

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 (98) hide show
  1. package/dist/chunks/{app-layer-4PR4BS7N.js → app-layer-IMZRDGJN.js} +2 -2
  2. package/dist/chunks/{app-server-runtime-NR6VUXZG.js → app-server-runtime-LLCQV5U2.js} +6 -6
  3. package/dist/chunks/{apps-V7TF6RTV.js → apps-E24RB6CK.js} +2 -2
  4. package/dist/chunks/{chunk-RUEMWXU6.js → chunk-DRGFGJIZ.js} +1 -1
  5. package/dist/chunks/{chunk-YBQTQWOY.js → chunk-I5LFWAMT.js} +32 -32
  6. package/dist/chunks/{chunk-YYJH2WWX.js → chunk-L4G3SYBA.js} +1 -1
  7. package/dist/chunks/{chunk-HGJQUQAP.js → chunk-NNSRF6UH.js} +1 -1
  8. package/dist/chunks/{chunk-4GHFK3DG.js → chunk-QESBWYQV.js} +1305 -891
  9. package/dist/chunks/{chunk-CGVG46T5.js → chunk-RSXT32DP.js} +1 -1
  10. package/dist/chunks/{chunk-37IPWV2S.js → chunk-SC5LMRWC.js} +1 -1
  11. package/dist/chunks/{chunk-IM67TWCC.js → chunk-W2S2PF3L.js} +1 -1
  12. package/dist/chunks/{chunk-VTCLHCHX.js → chunk-WMEDRQD3.js} +2 -2
  13. package/dist/chunks/{chunk-I4CQJSZK.js → chunk-XI3OTQU6.js} +454 -82
  14. package/dist/chunks/{cli-7APSIEWR.js → cli-5B6DPVAX.js} +5 -5
  15. package/dist/chunks/{core-commands-O76V62SB.js → core-commands-TSUT45HF.js} +3 -3
  16. package/dist/chunks/{desktop-test-N2UPF5PP.js → desktop-test-BT5BGOPT.js} +2 -2
  17. package/dist/chunks/{extension-XQBSBEVO.js → extension-BNWHZQ5W.js} +1 -1
  18. package/dist/chunks/{help-YSGYNWPJ.js → help-NWLRDXK2.js} +1 -1
  19. package/dist/chunks/{opchat-F5OFTH56.js → opchat-YMN5TYHJ.js} +2 -2
  20. package/dist/chunks/{organizations-EEQPOIAZ.js → organizations-QGD5FZFK.js} +4 -4
  21. package/dist/chunks/{profile-3OGGNTDS.js → profile-RMDP5R5R.js} +2 -2
  22. package/dist/chunks/{project-agent-LVOSTVE5.js → project-agent-NQ72JSSY.js} +2 -2
  23. package/dist/chunks/{sandbox-command-S3VMWGMH.js → sandbox-command-4WEYAANJ.js} +2 -2
  24. package/dist/chunks/{sandbox-template-UDXW7LRZ.js → sandbox-template-3KPEGEXQ.js} +3 -3
  25. package/dist/chunks/{src-EFVACWDG.js → src-RMLMCS2A.js} +22 -21
  26. package/dist/chunks/{src-JMDVVYFD.js → src-Z2IT67PX.js} +3 -3
  27. package/dist/chunks/{teams-bot-YRKKQDYL.js → teams-bot-R2X326KD.js} +2 -2
  28. package/dist/chunks/{workspaces-5LKGF3AG.js → workspaces-YOYCYS3T.js} +2 -2
  29. package/dist/cli.js +13 -13
  30. package/dist/web/assets/{AppDialog-Bqw26W0m.js → AppDialog-BTOxCNC5.js} +1 -1
  31. package/dist/web/assets/{AppsView-CWhWKF1c.js → AppsView-Cm5x09IS.js} +1 -1
  32. package/dist/web/assets/{BrowserSidebar-MTkosLlw.js → BrowserSidebar-CIPh5JIn.js} +1 -1
  33. package/dist/web/assets/{CommandMenu-Bz9bpiwl.js → CommandMenu-DdR82TLd.js} +1 -1
  34. package/dist/web/assets/{CommunityView-BqFeUGPj.js → CommunityView-Dqu4cos1.js} +1 -1
  35. package/dist/web/assets/{ComposerCreateImproveStrip-B6BBqdaL.js → ComposerCreateImproveStrip-CW2QuI7r.js} +1 -1
  36. package/dist/web/assets/{GetStartedView-BsgErNU9.js → GetStartedView--CbCnzFQ.js} +1 -1
  37. package/dist/web/assets/{LabModelVersionDetailPage-BLnFb7Mt.js → LabModelVersionDetailPage-BPUvR5XP.js} +1 -1
  38. package/dist/web/assets/{LabSkillSidebar-Ba6gRUbM.js → LabSkillSidebar-CnuyFZ1G.js} +1 -1
  39. package/dist/web/assets/{LabsRoute-BFV7VPOU.js → LabsRoute-CYk2dzQp.js} +3 -3
  40. package/dist/web/assets/{MainChatThread-B283zmgR.js → MainChatThread-0Tc95p0t.js} +2 -2
  41. package/dist/web/assets/{MainPane-Lv073mMC.js → MainPane-Bke4JEHC.js} +3 -3
  42. package/dist/web/assets/{MarkdownText-CinDMr2e.js → MarkdownText-DTBS9xe7.js} +1 -1
  43. package/dist/web/assets/{Messages-okIKN3y-.js → Messages-Bae_sFx5.js} +1 -1
  44. package/dist/web/assets/{NativeSkillSidebar-B1QrK2aH.js → NativeSkillSidebar-DSoPD42b.js} +1 -1
  45. package/dist/web/assets/{NewProjectDialog-CcbDk9Py.js → NewProjectDialog-CmXg2GK7.js} +1 -1
  46. package/dist/web/assets/{OutputsPage-CmwXC2Xd.js → OutputsPage-XmIreC0M.js} +1 -1
  47. package/dist/web/assets/{RightChatPanelStack-CHOpwL1L.js → RightChatPanelStack-BMOtbjus.js} +1 -1
  48. package/dist/web/assets/{ScheduledWorkPage-BzSPcB3d.js → ScheduledWorkPage-Cn5a9VLV.js} +1 -1
  49. package/dist/web/assets/{SettingsView-CkmRV5NT.js → SettingsView-DXF8z3P2.js} +6 -6
  50. package/dist/web/assets/{TeamChatView-DevmTvuf.js → TeamChatView-CB_0oRid.js} +1 -1
  51. package/dist/web/assets/{TerminalOverlay-CteY7dSQ.js → TerminalOverlay-XhABQsCB.js} +1 -1
  52. package/dist/web/assets/{TrainingCreationPanel-AMq0npLN.js → TrainingCreationPanel-ChsDr2GP.js} +1 -1
  53. package/dist/web/assets/{TrainingDraftPanel-BVxPaBhF.js → TrainingDraftPanel-CDlpnno6.js} +1 -1
  54. package/dist/web/assets/{UsageSettingsSection-BPIzRNKL.js → UsageSettingsSection-NbX7_3Uz.js} +1 -1
  55. package/dist/web/assets/{WorkspaceDiffPanel-DMu3IIuX.js → WorkspaceDiffPanel-jaJU08NH.js} +3 -3
  56. package/dist/web/assets/{WorkspaceEnvironmentMenu-ConUKuWd.js → WorkspaceEnvironmentMenu-D0nvQmmj.js} +1 -1
  57. package/dist/web/assets/{WorkspaceGitDialogs-o76400dH.js → WorkspaceGitDialogs-C0PMpVfj.js} +1 -1
  58. package/dist/web/assets/{WorkspaceMonacoEditor-HwyVbn8h.js → WorkspaceMonacoEditor-6QNGzQUi.js} +3 -3
  59. package/dist/web/assets/{arrow-up-right-BKN-maHj.js → arrow-up-right-Cx2xjktp.js} +1 -1
  60. package/dist/web/assets/{chevron-up-CVs6VVxb.js → chevron-up-UF_r7JHT.js} +1 -1
  61. package/dist/web/assets/{circle-alert-C01fZFW7.js → circle-alert-BUHAQ7Du.js} +1 -1
  62. package/dist/web/assets/{cloud-upload-jtADHeTW.js → cloud-upload-Cc_ZQEAm.js} +1 -1
  63. package/dist/web/assets/{cssMode-xJZoI37_.js → cssMode-CrigFsxI.js} +1 -1
  64. package/dist/web/assets/{folder-open-DyyC6ByN.js → folder-open-D7a4t258.js} +1 -1
  65. package/dist/web/assets/{folder-plus-UGSTW1kn.js → folder-plus-CmeHTj5W.js} +1 -1
  66. package/dist/web/assets/{git-branch-D6gtbKJu.js → git-branch-CaVUghsI.js} +1 -1
  67. package/dist/web/assets/{git-commit-horizontal-C_GYw-SZ.js → git-commit-horizontal-oiDAVV_Y.js} +1 -1
  68. package/dist/web/assets/{htmlMode-BjKG829K.js → htmlMode-CLzM5GNi.js} +1 -1
  69. package/dist/web/assets/index-De6p2npi.js +1 -0
  70. package/dist/web/assets/index-UUM3pwfd.css +1 -0
  71. package/dist/web/assets/index-Ure41UF0.js +178 -0
  72. package/dist/web/assets/{info-z2hv9cD1.js → info-dTkimobU.js} +1 -1
  73. package/dist/web/assets/{jsonMode-DjZzpcCY.js → jsonMode-BBF67cOE.js} +1 -1
  74. package/dist/web/assets/{lspLanguageFeatures-B4RETEmT.js → lspLanguageFeatures-DHtN2nxz.js} +1 -1
  75. package/dist/web/assets/{monaco.contribution-I3nbx1nu.js → monaco.contribution-BClTZJd2.js} +2 -2
  76. package/dist/web/assets/{monaco.contribution-DJK2Dt3T.js → monaco.contribution-C_GWU01R.js} +2 -2
  77. package/dist/web/assets/{monaco.contribution-Du7kEHLz.js → monaco.contribution-DtM9AdPi.js} +2 -2
  78. package/dist/web/assets/{monaco.contribution-DCRifLw0.js → monaco.contribution-riAIDf7J.js} +2 -2
  79. package/dist/web/assets/{monitor-DCUsiZyp.js → monitor-POfnZCWw.js} +1 -1
  80. package/dist/web/assets/{play-DCKc0E80.js → play-CjWTsI9z.js} +1 -1
  81. package/dist/web/assets/{python-DwbW9406.js → python-CvZQM_g2.js} +1 -1
  82. package/dist/web/assets/{refresh-cw-D6okuGLV.js → refresh-cw-CeHT_tXT.js} +1 -1
  83. package/dist/web/assets/{reply-KIN_PSFi.js → reply-BkH8nKWG.js} +1 -1
  84. package/dist/web/assets/{save-D7tbQpM9.js → save-CmJ92Odx.js} +1 -1
  85. package/dist/web/assets/{square-BUG8bwGr.js → square-B00f_944.js} +1 -1
  86. package/dist/web/assets/{square-pen-CWS_8PrJ.js → square-pen-LHr8bFfZ.js} +1 -1
  87. package/dist/web/assets/{toggleHighContrast-CO8n70ql.js → toggleHighContrast-C6N52VOS.js} +1 -1
  88. package/dist/web/assets/{tsMode-f9Hqewvr.js → tsMode-CDIfvnHn.js} +1 -1
  89. package/dist/web/assets/{upload-DXI5er5D.js → upload-DK0-5jXz.js} +1 -1
  90. package/dist/web/assets/{useLocalAgentSchedules-BMvi6vmi.js → useLocalAgentSchedules-BUkZjV9E.js} +1 -1
  91. package/dist/web/assets/{wifi-off-B3ZtcrOA.js → wifi-off-BQGq-son.js} +1 -1
  92. package/dist/web/assets/{workers-CNGv6B0J.js → workers-BfcjsZ3C.js} +1 -1
  93. package/dist/web/assets/{yaml-C-tL3IVE.js → yaml-CNqgAihH.js} +1 -1
  94. package/dist/web/index.html +2 -2
  95. package/package.json +1 -1
  96. package/dist/web/assets/index-B8xSSlBW.js +0 -178
  97. package/dist/web/assets/index-C-1-yaL8.js +0 -1
  98. package/dist/web/assets/index-D9jTe16Q.css +0 -1
@@ -3,12 +3,12 @@ import {
3
3
  resolveWebLaunchMessages,
4
4
  runOpenPondAppServerCli,
5
5
  runOpenPondServerCli
6
- } from "./chunk-VTCLHCHX.js";
6
+ } from "./chunk-WMEDRQD3.js";
7
7
  import "./chunk-NFNEENNR.js";
8
- import "./chunk-IM67TWCC.js";
9
- import "./chunk-RUEMWXU6.js";
10
- import "./chunk-CGVG46T5.js";
11
- import "./chunk-I4CQJSZK.js";
8
+ import "./chunk-W2S2PF3L.js";
9
+ import "./chunk-DRGFGJIZ.js";
10
+ import "./chunk-RSXT32DP.js";
11
+ import "./chunk-XI3OTQU6.js";
12
12
  import "./chunk-WYDVQOBL.js";
13
13
  import "./chunk-KHNHUA2H.js";
14
14
  import "./chunk-UACZUFIA.js";
@@ -16,12 +16,12 @@ import {
16
16
  runTemplateUpdate,
17
17
  runToolList,
18
18
  runToolRun
19
- } from "./chunk-YYJH2WWX.js";
19
+ } from "./chunk-L4G3SYBA.js";
20
20
  import "./chunk-FCVVOMIP.js";
21
21
  import "./chunk-KHNHUA2H.js";
22
- import "./chunk-HGJQUQAP.js";
22
+ import "./chunk-NNSRF6UH.js";
23
23
  import "./chunk-SMNFI2FU.js";
24
- import "./chunk-YBQTQWOY.js";
24
+ import "./chunk-I5LFWAMT.js";
25
25
  import "./chunk-DBHSOTYZ.js";
26
26
  import "./chunk-KSRWKXRB.js";
27
27
  import "./chunk-MUMPWI4O.js";
@@ -5,9 +5,9 @@ import {
5
5
  import "./chunk-KHNHUA2H.js";
6
6
  import {
7
7
  CliUsageError
8
- } from "./chunk-HGJQUQAP.js";
8
+ } from "./chunk-NNSRF6UH.js";
9
9
  import "./chunk-SMNFI2FU.js";
10
- import "./chunk-YBQTQWOY.js";
10
+ import "./chunk-I5LFWAMT.js";
11
11
  import "./chunk-DBHSOTYZ.js";
12
12
  import "./chunk-KSRWKXRB.js";
13
13
  import {
@@ -17,7 +17,7 @@ import {
17
17
  SandboxTemplateValidationDiagnosticSchema,
18
18
  ToolDeclarationSchema,
19
19
  validateConnectedAppToolCallRequest
20
- } from "./chunk-I4CQJSZK.js";
20
+ } from "./chunk-XI3OTQU6.js";
21
21
  import {
22
22
  external_exports
23
23
  } from "./chunk-WYDVQOBL.js";
@@ -3,7 +3,7 @@ import {
3
3
  CLI_GLOBAL_OPTION_SCHEMA,
4
4
  formatCliCommandUsage,
5
5
  listCliCommandDefinitions
6
- } from "./chunk-YBQTQWOY.js";
6
+ } from "./chunk-I5LFWAMT.js";
7
7
  import "./chunk-MUMPWI4O.js";
8
8
  import "./chunk-UACZUFIA.js";
9
9
 
@@ -11,13 +11,13 @@ import {
11
11
  ensureApiKey
12
12
  } from "./chunk-FCVVOMIP.js";
13
13
  import "./chunk-KHNHUA2H.js";
14
- import "./chunk-HGJQUQAP.js";
14
+ import "./chunk-NNSRF6UH.js";
15
15
  import {
16
16
  resolveApiBaseUrlOption,
17
17
  resolveBaseUrl,
18
18
  resolveChatApiBaseUrlOption
19
19
  } from "./chunk-SMNFI2FU.js";
20
- import "./chunk-YBQTQWOY.js";
20
+ import "./chunk-I5LFWAMT.js";
21
21
  import {
22
22
  loadConfig
23
23
  } from "./chunk-DBHSOTYZ.js";
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import "./chunk-CGVG46T5.js";
3
- import "./chunk-I4CQJSZK.js";
2
+ import "./chunk-RSXT32DP.js";
3
+ import "./chunk-XI3OTQU6.js";
4
4
  import "./chunk-WYDVQOBL.js";
5
5
  import {
6
6
  resolveSandboxClient
@@ -9,9 +9,9 @@ import {
9
9
  DEFAULT_OPENPOND_API_BASE_URL,
10
10
  DEFAULT_OPENPOND_WEB_BASE_URL
11
11
  } from "./chunk-KHNHUA2H.js";
12
- import "./chunk-HGJQUQAP.js";
12
+ import "./chunk-NNSRF6UH.js";
13
13
  import "./chunk-SMNFI2FU.js";
14
- import "./chunk-YBQTQWOY.js";
14
+ import "./chunk-I5LFWAMT.js";
15
15
  import "./chunk-DBHSOTYZ.js";
16
16
  import "./chunk-KSRWKXRB.js";
17
17
  import {
@@ -30,9 +30,9 @@ import {
30
30
  resolveSandboxClient
31
31
  } from "./chunk-FCVVOMIP.js";
32
32
  import "./chunk-KHNHUA2H.js";
33
- import "./chunk-HGJQUQAP.js";
33
+ import "./chunk-NNSRF6UH.js";
34
34
  import "./chunk-SMNFI2FU.js";
35
- import "./chunk-YBQTQWOY.js";
35
+ import "./chunk-I5LFWAMT.js";
36
36
  import "./chunk-DBHSOTYZ.js";
37
37
  import "./chunk-KSRWKXRB.js";
38
38
  import {
@@ -36,9 +36,9 @@ import {
36
36
  runCommand
37
37
  } from "./chunk-FCVVOMIP.js";
38
38
  import "./chunk-KHNHUA2H.js";
39
- import "./chunk-HGJQUQAP.js";
39
+ import "./chunk-NNSRF6UH.js";
40
40
  import "./chunk-SMNFI2FU.js";
41
- import "./chunk-YBQTQWOY.js";
41
+ import "./chunk-I5LFWAMT.js";
42
42
  import "./chunk-DBHSOTYZ.js";
43
43
  import "./chunk-KSRWKXRB.js";
44
44
  import {
@@ -22,9 +22,9 @@ import {
22
22
  summarizeSandboxSecret
23
23
  } from "./chunk-FCVVOMIP.js";
24
24
  import "./chunk-KHNHUA2H.js";
25
- import "./chunk-HGJQUQAP.js";
25
+ import "./chunk-NNSRF6UH.js";
26
26
  import "./chunk-SMNFI2FU.js";
27
- import "./chunk-YBQTQWOY.js";
27
+ import "./chunk-I5LFWAMT.js";
28
28
  import "./chunk-DBHSOTYZ.js";
29
29
  import "./chunk-KSRWKXRB.js";
30
30
  import {
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-3HW6OSHP.js";
6
6
  import {
7
7
  resolveGitBranch
8
- } from "./chunk-YYJH2WWX.js";
8
+ } from "./chunk-L4G3SYBA.js";
9
9
  import {
10
10
  OPENPOND_MANIFEST_FILE_NAME,
11
11
  SANDBOX_TEMPLATE_BUILD_PLAN_FILE_NAME,
@@ -35,12 +35,12 @@ import {
35
35
  warnOnRepoHostMismatch
36
36
  } from "./chunk-FCVVOMIP.js";
37
37
  import "./chunk-KHNHUA2H.js";
38
- import "./chunk-HGJQUQAP.js";
38
+ import "./chunk-NNSRF6UH.js";
39
39
  import {
40
40
  resolveBaseUrl,
41
41
  resolvePublicApiBaseUrl
42
42
  } from "./chunk-SMNFI2FU.js";
43
- import "./chunk-YBQTQWOY.js";
43
+ import "./chunk-I5LFWAMT.js";
44
44
  import {
45
45
  createRepo,
46
46
  loadConfig
@@ -23,6 +23,7 @@ import {
23
23
  createHostedTurnHelpers,
24
24
  createImproveLimit,
25
25
  createImproveTargetKind,
26
+ createLocalHarnessEvaluationReviewModelStream,
26
27
  createLocalHarnessEvaluationReviewScheduler,
27
28
  createLocalHarnessImprovementRuntime,
28
29
  createLocalHarnessModelToolDefinitions,
@@ -47,6 +48,7 @@ import {
47
48
  ensureLocalHarnessRunOverlay,
48
49
  ensureSelectedLocalHarnessWorkspace,
49
50
  ensureWorkspaceGitRepository,
51
+ executableSearchPath,
50
52
  findRecentCodexCompactionCompleted,
51
53
  formatPromptWithAttachmentContext,
52
54
  getWorkspaceDeploymentSource,
@@ -110,10 +112,10 @@ import {
110
112
  workspaceHasHead,
111
113
  workspaceToolExperienceBlocker,
112
114
  writeWorkspaceFile
113
- } from "./chunk-4GHFK3DG.js";
115
+ } from "./chunk-QESBWYQV.js";
114
116
  import {
115
117
  runOpenPondServerCli
116
- } from "./chunk-VTCLHCHX.js";
118
+ } from "./chunk-WMEDRQD3.js";
117
119
  import {
118
120
  createAppServer,
119
121
  runAgentCompaction
@@ -131,7 +133,7 @@ import {
131
133
  streamOpenPondHostedChatTurn,
132
134
  switchOpenPondAccount,
133
135
  updateOpenPondAccountConfig
134
- } from "./chunk-IM67TWCC.js";
136
+ } from "./chunk-W2S2PF3L.js";
135
137
  import {
136
138
  appWorkspacePaths,
137
139
  checkWorkspaceGitAvailability,
@@ -159,7 +161,7 @@ import {
159
161
  runCommand,
160
162
  startMacOSCommandLineToolsInstall,
161
163
  workspaceImageContentType
162
- } from "./chunk-37IPWV2S.js";
164
+ } from "./chunk-SC5LMRWC.js";
163
165
  import {
164
166
  APP_PREFERENCES_CACHE_KEY,
165
167
  APP_PREFERENCES_CACHE_TYPE,
@@ -171,7 +173,7 @@ import {
171
173
  isCliEntrypoint,
172
174
  now,
173
175
  textFromUnknown
174
- } from "./chunk-RUEMWXU6.js";
176
+ } from "./chunk-DRGFGJIZ.js";
175
177
  import {
176
178
  AccountStateSchema,
177
179
  AdapterValidationReceiptSchema,
@@ -409,7 +411,7 @@ import {
409
411
  workFormatCapabilityForContentType,
410
412
  workspacePathFromLocalPathWorkspaceId,
411
413
  writeSourceUploadCache
412
- } from "./chunk-CGVG46T5.js";
414
+ } from "./chunk-RSXT32DP.js";
413
415
  import {
414
416
  AttemptReceiptSchema,
415
417
  CONNECTED_APP_INTEGRATION_SKILLS,
@@ -439,7 +441,7 @@ import {
439
441
  workEvidenceReceiptRef,
440
442
  workSourceOpaqueRef,
441
443
  workWorkspaceOpaqueRef
442
- } from "./chunk-I4CQJSZK.js";
444
+ } from "./chunk-XI3OTQU6.js";
443
445
  import {
444
446
  external_exports,
445
447
  yaml
@@ -29332,18 +29334,7 @@ function defaultShell() {
29332
29334
  return shellLaunch(command, ["-i"], path26.basename(command) || "bash");
29333
29335
  }
29334
29336
  function terminalPath() {
29335
- const entries = [
29336
- path26.join(process.env.HOME ?? "", ".local", "bin"),
29337
- path26.join(process.env.HOME ?? "", ".bun", "bin"),
29338
- "/opt/homebrew/bin",
29339
- "/usr/local/bin",
29340
- "/usr/bin",
29341
- "/bin",
29342
- "/usr/sbin",
29343
- "/sbin",
29344
- process.env.PATH
29345
- ].filter(Boolean);
29346
- return Array.from(new Set(entries.join(path26.delimiter).split(path26.delimiter).filter(Boolean))).join(path26.delimiter);
29337
+ return executableSearchPath();
29347
29338
  }
29348
29339
  function interactiveShellArgs(command) {
29349
29340
  if (process.platform === "win32") return [];
@@ -52180,6 +52171,7 @@ async function createOpenPondServer(options = {}) {
52180
52171
  options.streamOpenPondHostedChatTurn ?? streamOpenPondHostedChatTurn,
52181
52172
  { enabled: scriptedOpenPondModelsEnabled() }
52182
52173
  );
52174
+ const harnessEvaluationReviewStream = createLocalHarnessEvaluationReviewModelStream(streamOpenPondHostedChatTurn2);
52183
52175
  const executeWebSearch = createWebSearchExecutorFromEnv();
52184
52176
  const executeConnectedAppTool = createCloudConnectedAppToolExecutor();
52185
52177
  const attachmentRootDir = path63.join(storeDir, "attachments");
@@ -53413,9 +53405,14 @@ ${grader.rubric}`
53413
53405
  if (result.ok) return result;
53414
53406
  throw new Error(result.error);
53415
53407
  }
53416
- const harnessSettingsRoutes = createLocalHarnessSettingsRoutePayloads({ store, storeDir });
53408
+ const harnessSettingsRoutes = createLocalHarnessSettingsRoutePayloads({
53409
+ store,
53410
+ storeDir,
53411
+ evaluationReviewStream: harnessEvaluationReviewStream
53412
+ });
53417
53413
  const harnessEvaluationReviewScheduler = createLocalHarnessEvaluationReviewScheduler({
53418
53414
  store,
53415
+ stream: harnessEvaluationReviewStream,
53419
53416
  isClosing: () => closing,
53420
53417
  logger
53421
53418
  });
@@ -53432,7 +53429,11 @@ ${grader.rubric}`
53432
53429
  resolveApproval,
53433
53430
  inspectHarness: harnessSettingsRoutes.harnessHistoryPayload,
53434
53431
  reviewHarnessProposal: harnessSettingsRoutes.reviewHarnessProposalPayload,
53435
- reviewHarness: (request) => reviewSelectedLocalHarnessEvaluation({ store, request }),
53432
+ reviewHarness: (request) => reviewSelectedLocalHarnessEvaluation({
53433
+ store,
53434
+ request,
53435
+ stream: harnessEvaluationReviewStream
53436
+ }),
53436
53437
  acceptHarnessEvaluationReview: async (request) => {
53437
53438
  const profile = await loadOpenPondProfileState();
53438
53439
  return trainingApi.request("accept_harness_review", {
@@ -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-IM67TWCC.js";
6
+ } from "./chunk-W2S2PF3L.js";
7
7
  import {
8
8
  ApprovalSchema,
9
9
  ContextUsageSnapshotSchema,
@@ -12,12 +12,12 @@ import {
12
12
  DEFAULT_OPENPOND_CHAT_MODEL,
13
13
  DEFAULT_OPENPOND_COMMAND_ACCESS_MODE,
14
14
  OpenPondCommandAccessModeSchema
15
- } from "./chunk-CGVG46T5.js";
15
+ } from "./chunk-RSXT32DP.js";
16
16
  import {
17
17
  CONNECTED_APP_CATALOG,
18
18
  buildConnectedAppInstallUrl,
19
19
  connectedAppById
20
- } from "./chunk-I4CQJSZK.js";
20
+ } from "./chunk-XI3OTQU6.js";
21
21
  import "./chunk-WYDVQOBL.js";
22
22
  import "./chunk-KHNHUA2H.js";
23
23
  import "./chunk-UACZUFIA.js";
@@ -3,9 +3,9 @@ import {
3
3
  resolveSandboxClient
4
4
  } from "./chunk-FCVVOMIP.js";
5
5
  import "./chunk-KHNHUA2H.js";
6
- import "./chunk-HGJQUQAP.js";
6
+ import "./chunk-NNSRF6UH.js";
7
7
  import "./chunk-SMNFI2FU.js";
8
- import "./chunk-YBQTQWOY.js";
8
+ import "./chunk-I5LFWAMT.js";
9
9
  import "./chunk-DBHSOTYZ.js";
10
10
  import "./chunk-KSRWKXRB.js";
11
11
  import {
@@ -45,8 +45,8 @@ import {
45
45
  truncatePatch,
46
46
  uniqueSortedPaths,
47
47
  workspaceImageContentType
48
- } from "./chunk-37IPWV2S.js";
49
- import "./chunk-RUEMWXU6.js";
48
+ } from "./chunk-SC5LMRWC.js";
49
+ import "./chunk-DRGFGJIZ.js";
50
50
  import "./chunk-UACZUFIA.js";
51
51
  export {
52
52
  MACOS_GIT_MISSING_DEVELOPER_TOOLS_ERROR,
package/dist/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
3
3
  import {
4
4
  parseArgs
5
- } from "./chunks/chunk-HGJQUQAP.js";
5
+ } from "./chunks/chunk-NNSRF6UH.js";
6
6
  import {
7
7
  resolveAccountOption,
8
8
  resolveBaseUrlOption
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  getInstalledCliVersion,
12
12
  runCliCommand
13
- } from "./chunks/chunk-YBQTQWOY.js";
13
+ } from "./chunks/chunk-I5LFWAMT.js";
14
14
  import "./chunks/chunk-KSRWKXRB.js";
15
15
  import {
16
16
  parseBooleanOption
@@ -37,11 +37,11 @@ async function runOpenPondCli(argv = process.argv.slice(2)) {
37
37
  return;
38
38
  }
39
39
  if (action === "check-update") {
40
- await (await import("./chunks/core-commands-O76V62SB.js")).runCheckUpdate();
40
+ await (await import("./chunks/core-commands-TSUT45HF.js")).runCheckUpdate();
41
41
  return;
42
42
  }
43
43
  if (action === "help") {
44
- (await import("./chunks/help-YSGYNWPJ.js")).printHelp();
44
+ (await import("./chunks/help-NWLRDXK2.js")).printHelp();
45
45
  return;
46
46
  }
47
47
  const selectedAccount = resolveAccountOption(options);
@@ -53,25 +53,25 @@ async function runOpenPondCli(argv = process.argv.slice(2)) {
53
53
  process.env.OPENPOND_BASE_URL = selectedBaseUrl;
54
54
  }
55
55
  if (action === "tui") {
56
- await (await import("./chunks/app-layer-4PR4BS7N.js")).runOpenPondTerminalCommand(options, rest);
56
+ await (await import("./chunks/app-layer-IMZRDGJN.js")).runOpenPondTerminalCommand(options, rest);
57
57
  return;
58
58
  }
59
59
  if (action === "ui") {
60
- await (await import("./chunks/app-layer-4PR4BS7N.js")).runOpenPondServerCommand("web", options, rest);
60
+ await (await import("./chunks/app-layer-IMZRDGJN.js")).runOpenPondServerCommand("web", options, rest);
61
61
  return;
62
62
  }
63
63
  if (await runCliCommand({ command, options, rest })) {
64
64
  return;
65
65
  }
66
- (await import("./chunks/help-YSGYNWPJ.js")).printHelp();
66
+ (await import("./chunks/help-NWLRDXK2.js")).printHelp();
67
67
  process.exit(1);
68
68
  }
69
69
  async function runEmbeddedCompanion(argv) {
70
70
  if (argv[0] === "__app-server") {
71
71
  process.argv = [process.execPath, "openpond-app-server", ...argv.slice(1)];
72
72
  const [{ createOpenPondAppServer }, { runOpenPondAppServerCli }] = await Promise.all([
73
- import("./chunks/app-server-runtime-NR6VUXZG.js"),
74
- import("./chunks/cli-7APSIEWR.js")
73
+ import("./chunks/app-server-runtime-LLCQV5U2.js"),
74
+ import("./chunks/cli-5B6DPVAX.js")
75
75
  ]);
76
76
  await runOpenPondAppServerCli(createOpenPondAppServer);
77
77
  return true;
@@ -79,15 +79,15 @@ async function runEmbeddedCompanion(argv) {
79
79
  if (argv[0] === "__server") {
80
80
  process.argv = [process.execPath, "openpond-server", ...argv.slice(1)];
81
81
  const [{ createOpenPondServer }, { runOpenPondServerCli }] = await Promise.all([
82
- import("./chunks/src-EFVACWDG.js"),
83
- import("./chunks/cli-7APSIEWR.js")
82
+ import("./chunks/src-RMLMCS2A.js"),
83
+ import("./chunks/cli-5B6DPVAX.js")
84
84
  ]);
85
- const { createOpenPondAppServer } = await import("./chunks/app-server-runtime-NR6VUXZG.js");
85
+ const { createOpenPondAppServer } = await import("./chunks/app-server-runtime-LLCQV5U2.js");
86
86
  await runOpenPondServerCli({ createOpenPondServer, createOpenPondAppServer });
87
87
  return true;
88
88
  }
89
89
  if (argv[0] === "__terminal") {
90
- await (await import("./chunks/src-JMDVVYFD.js")).runOpenPondTerminalCli(argv.slice(1));
90
+ await (await import("./chunks/src-Z2IT67PX.js")).runOpenPondTerminalCli(argv.slice(1));
91
91
  return true;
92
92
  }
93
93
  return false;
@@ -1 +1 @@
1
- import{r as s,j as w}from"./index-B8xSSlBW.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-Ure41UF0.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,bx as b,n as L,j as e,a6 as I,a as k,X as P,O as E,a3 as F,b3 as U,by as T,g as R}from"./index-B8xSSlBW.js";const O=["For agents","Featured","Productivity","Developer tools"],D=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=M(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:O.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 M(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"?D.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,M as connectedAppSetupTeamId};
1
+ import{r,bx as b,n as L,j as e,a6 as I,a as k,X as P,O as E,a3 as F,b3 as U,by as T,g as R}from"./index-Ure41UF0.js";const O=["For agents","Featured","Productivity","Developer tools"],D=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=M(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:O.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 M(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"?D.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,M as connectedAppSetupTeamId};
@@ -1 +1 @@
1
- import{r as c,bV as v,j as a,a0 as f,X as k,P as j,A as C,b3 as g,E as B}from"./index-B8xSSlBW.js";import{A as y}from"./MarkdownText-CinDMr2e.js";import{R as N}from"./refresh-cw-D6okuGLV.js";import{S as T}from"./square-BUG8bwGr.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 i=e.onState(o=>{o.conversationId===r&&l(o)});return()=>{s=!0,i()}},[e,r]);const u=c.useMemo(()=>b.tabs.find(s=>s.id===b.activeTabId)??null,[b.activeTabId,b.tabs]),t=c.useCallback(async(s,i={})=>{if(!e)return!1;const o=v(s,{explicitFile:i.explicitFile});return o?(i.newTab?await e.newTab({conversationId:r,url:o,explicitFile:i.explicitFile}):await e.open({conversationId:r,url:o,explicitFile:i.explicitFile}),!0):!1},[e,r]),n=u?{conversationId:r,tabId:u.id}:null;return{activeTab:u,available:!!e,bridge:e,state:b,back:()=>e&&n?e.back(n):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&&n?e.forward(n):Promise.resolve({ok:!1}),newTab:s=>e?e.newTab({conversationId:r,url:s}):Promise.resolve({ok:!1}),open:t,openExternal:()=>e&&n?e.openExternal(n):Promise.resolve({ok:!1}),reload:()=>e&&n?e.reload(n):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&&n?e.stop(n):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:n,onReload:s,onStop:i}){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(y,{size:15})}),a.jsx("button",{type:"button",title:r?.loading?"Stop":"Reload","aria-label":r?.loading?"Stop":"Reload",disabled:!r,onClick:r?.loading?i:s,children:r?.loading?a.jsx(T,{size:13}):a.jsx(N,{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:n,children:a.jsx(g,{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(B,{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(i=>{const o=i?`${i.x}:${i.y}:${i.width}:${i.height}`:"null";l.current!==o&&(l.current=o,e(i))},[e]),n=c.useCallback(()=>{const i=b.current;if(!r||!i){t(null);return}const o=i.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,n()}))},[n]);return c.useLayoutEffect(()=>{l.current=null,n();const i=b.current;if(!r||!i)return t(null),()=>t(null);const o=new ResizeObserver(s);return o.observe(i),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,n,s]),a.jsx("div",{className:"browser-viewport",ref:b})}function A({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]),n=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:n,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{A as BrowserSidebar};
1
+ import{r as c,bV as v,j as a,a0 as f,X as k,P as j,A as C,b3 as g,E as B}from"./index-Ure41UF0.js";import{A as y}from"./MarkdownText-DTBS9xe7.js";import{R as N}from"./refresh-cw-CeHT_tXT.js";import{S as T}from"./square-B00f_944.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 i=e.onState(o=>{o.conversationId===r&&l(o)});return()=>{s=!0,i()}},[e,r]);const u=c.useMemo(()=>b.tabs.find(s=>s.id===b.activeTabId)??null,[b.activeTabId,b.tabs]),t=c.useCallback(async(s,i={})=>{if(!e)return!1;const o=v(s,{explicitFile:i.explicitFile});return o?(i.newTab?await e.newTab({conversationId:r,url:o,explicitFile:i.explicitFile}):await e.open({conversationId:r,url:o,explicitFile:i.explicitFile}),!0):!1},[e,r]),n=u?{conversationId:r,tabId:u.id}:null;return{activeTab:u,available:!!e,bridge:e,state:b,back:()=>e&&n?e.back(n):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&&n?e.forward(n):Promise.resolve({ok:!1}),newTab:s=>e?e.newTab({conversationId:r,url:s}):Promise.resolve({ok:!1}),open:t,openExternal:()=>e&&n?e.openExternal(n):Promise.resolve({ok:!1}),reload:()=>e&&n?e.reload(n):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&&n?e.stop(n):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:n,onReload:s,onStop:i}){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(y,{size:15})}),a.jsx("button",{type:"button",title:r?.loading?"Stop":"Reload","aria-label":r?.loading?"Stop":"Reload",disabled:!r,onClick:r?.loading?i:s,children:r?.loading?a.jsx(T,{size:13}):a.jsx(N,{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:n,children:a.jsx(g,{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(B,{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(i=>{const o=i?`${i.x}:${i.y}:${i.width}:${i.height}`:"null";l.current!==o&&(l.current=o,e(i))},[e]),n=c.useCallback(()=>{const i=b.current;if(!r||!i){t(null);return}const o=i.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,n()}))},[n]);return c.useLayoutEffect(()=>{l.current=null,n();const i=b.current;if(!r||!i)return t(null),()=>t(null);const o=new ResizeObserver(s);return o.observe(i),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,n,s]),a.jsx("div",{className:"browser-viewport",ref:b})}function A({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]),n=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:n,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{A as BrowserSidebar};
@@ -1 +1 @@
1
- import{r as j,j as e,a6 as g,ap as f,d as b,aq as k,ar as C,a1 as v,as as P,at as M}from"./index-B8xSSlBW.js";import{S,F as w}from"./square-pen-CWS_8PrJ.js";function y({open:s,query:r,projects:n,sessions:o,onQueryChange:t,onClose:d,onNewChat:x,onOpenProject:u,onOpenSession:m}){const c=r.trim().toLowerCase(),l=j.useMemo(()=>L(o,c,10),[c,o]),i=j.useMemo(()=>z(n,c,8),[c,n]);if(!s)return null;const N=()=>{const a=i[0];if(a){u(a);return}const p=l[0];p&&m(p)};return e.jsx("div",{className:"command-overlay",role:"presentation",onMouseDown:d,children:e.jsxs("section",{className:"command-menu",role:"dialog","aria-modal":"true","aria-label":"Search chats and projects",onMouseDown:a=>a.stopPropagation(),children:[e.jsxs("div",{className:"command-input-row",children:[e.jsx(g,{size:17}),e.jsx("input",{autoFocus:!0,value:r,onChange:a=>t(a.target.value),onKeyDown:a=>{a.key==="Enter"&&(a.preventDefault(),N()),a.key==="Escape"&&(a.preventDefault(),d())},placeholder:"Search chats and projects"}),e.jsx("kbd",{children:"Esc"})]}),e.jsxs("div",{className:"command-results",children:[e.jsxs("button",{className:"command-result command-create",onClick:x,children:[e.jsx(S,{size:15}),e.jsx("span",{children:"New local task"}),e.jsx("small",{children:"General"})]}),e.jsxs(h,{label:"Projects",children:[i.map(a=>e.jsxs("button",{className:"command-result",onClick:()=>u(a),children:[f(a)?e.jsx(b,{size:15}):e.jsx(w,{size:15}),e.jsx("span",{children:a.project.name}),e.jsx("small",{children:D(a)})]},a.project.id)),i.length===0&&e.jsx("div",{className:"command-empty",children:"No projects found"})]}),e.jsxs(h,{label:"Chats",children:[l.map(a=>e.jsxs("button",{className:"command-result",onClick:()=>m(a),children:[a.pinned?e.jsx(k,{size:15}):a.savedForLater?e.jsx(C,{size:15}):e.jsx(v,{size:15}),e.jsx("span",{children:a.title}),e.jsx("small",{children:a.appName??P(a.updatedAt)})]},a.id)),l.length===0&&e.jsx("div",{className:"command-empty",children:"No chats found"})]})]})]})})}function L(s,r,n){const o=[];for(const t of s)if((!r||`${t.title} ${t.appName??""}`.toLowerCase().includes(r))&&(o.push(t),o.length>=n))break;return o}function z(s,r,n){const o=[];for(const t of s)if((!r||$(t).toLowerCase().includes(r))&&(o.push(t),o.length>=n))break;return o}function $(s){return M(s)?`${s.project.name} ${s.project.path} ${s.project.workspacePath}`:`${s.project.name} ${s.project.sourceLabel??""} ${s.project.organizationName??""}`}function D(s){return f(s)?s.project.organizationName??"Cloud Project":s.project.linkedOpenPondApp?"OpenPond project":s.project.source==="git"?"Local Git":"Local folder"}function h({label:s,children:r}){return e.jsxs("div",{className:"command-group",children:[e.jsx("div",{className:"command-group-label",children:s}),r]})}export{y as CommandMenu};
1
+ import{r as j,j as e,a6 as g,ap as f,d as b,aq as k,ar as C,a1 as v,as as P,at as M}from"./index-Ure41UF0.js";import{S,F as w}from"./square-pen-LHr8bFfZ.js";function y({open:s,query:r,projects:n,sessions:o,onQueryChange:t,onClose:d,onNewChat:x,onOpenProject:u,onOpenSession:m}){const c=r.trim().toLowerCase(),l=j.useMemo(()=>L(o,c,10),[c,o]),i=j.useMemo(()=>z(n,c,8),[c,n]);if(!s)return null;const N=()=>{const a=i[0];if(a){u(a);return}const p=l[0];p&&m(p)};return e.jsx("div",{className:"command-overlay",role:"presentation",onMouseDown:d,children:e.jsxs("section",{className:"command-menu",role:"dialog","aria-modal":"true","aria-label":"Search chats and projects",onMouseDown:a=>a.stopPropagation(),children:[e.jsxs("div",{className:"command-input-row",children:[e.jsx(g,{size:17}),e.jsx("input",{autoFocus:!0,value:r,onChange:a=>t(a.target.value),onKeyDown:a=>{a.key==="Enter"&&(a.preventDefault(),N()),a.key==="Escape"&&(a.preventDefault(),d())},placeholder:"Search chats and projects"}),e.jsx("kbd",{children:"Esc"})]}),e.jsxs("div",{className:"command-results",children:[e.jsxs("button",{className:"command-result command-create",onClick:x,children:[e.jsx(S,{size:15}),e.jsx("span",{children:"New local task"}),e.jsx("small",{children:"General"})]}),e.jsxs(h,{label:"Projects",children:[i.map(a=>e.jsxs("button",{className:"command-result",onClick:()=>u(a),children:[f(a)?e.jsx(b,{size:15}):e.jsx(w,{size:15}),e.jsx("span",{children:a.project.name}),e.jsx("small",{children:D(a)})]},a.project.id)),i.length===0&&e.jsx("div",{className:"command-empty",children:"No projects found"})]}),e.jsxs(h,{label:"Chats",children:[l.map(a=>e.jsxs("button",{className:"command-result",onClick:()=>m(a),children:[a.pinned?e.jsx(k,{size:15}):a.savedForLater?e.jsx(C,{size:15}):e.jsx(v,{size:15}),e.jsx("span",{children:a.title}),e.jsx("small",{children:a.appName??P(a.updatedAt)})]},a.id)),l.length===0&&e.jsx("div",{className:"command-empty",children:"No chats found"})]})]})]})})}function L(s,r,n){const o=[];for(const t of s)if((!r||`${t.title} ${t.appName??""}`.toLowerCase().includes(r))&&(o.push(t),o.length>=n))break;return o}function z(s,r,n){const o=[];for(const t of s)if((!r||$(t).toLowerCase().includes(r))&&(o.push(t),o.length>=n))break;return o}function $(s){return M(s)?`${s.project.name} ${s.project.path} ${s.project.workspacePath}`:`${s.project.name} ${s.project.sourceLabel??""} ${s.project.organizationName??""}`}function D(s){return f(s)?s.project.organizationName??"Cloud Project":s.project.linkedOpenPondApp?"OpenPond project":s.project.source==="git"?"Local Git":"Local folder"}function h({label:s,children:r}){return e.jsxs("div",{className:"command-group",children:[e.jsx("div",{className:"command-group-label",children:s}),r]})}export{y as CommandMenu};