openpond 0.0.34 → 0.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{app-layer-UQQNF5VZ.js → app-layer-GUF2CKYH.js} +3 -3
- package/dist/chunks/{apps-7NSC56K5.js → apps-DIVHAUOV.js} +3 -3
- package/dist/chunks/{chunk-MMDKFTJB.js → chunk-2GV3QBBZ.js} +1 -1
- package/dist/chunks/{chunk-BZPAW4JY.js → chunk-2I5TZW66.js} +918 -527
- package/dist/chunks/{chunk-TF234YN4.js → chunk-4Y25BACE.js} +1 -1
- package/dist/chunks/{chunk-ZRNFOHFH.js → chunk-CRFB72X2.js} +3 -3
- package/dist/chunks/{chunk-ZDEBKTWR.js → chunk-EY52SLOQ.js} +1 -1
- package/dist/chunks/{chunk-EBCLEJRO.js → chunk-FRPL5XPX.js} +1 -1
- package/dist/chunks/{chunk-UASXM3RR.js → chunk-GUGFYXFS.js} +4 -4
- package/dist/chunks/{chunk-5MM3P5KY.js → chunk-II2ERA2H.js} +2 -2
- package/dist/chunks/{chunk-V7SHAMUN.js → chunk-LUA5QGQP.js} +33 -33
- package/dist/chunks/{chunk-E3RLJ5XT.js → chunk-NTRTK6C6.js} +2 -2
- package/dist/chunks/{chunk-F6FFL3AA.js → chunk-RLQGMSW7.js} +2 -2
- package/dist/chunks/{chunk-JVTACGKD.js → chunk-S3VA47DG.js} +3 -3
- package/dist/chunks/{chunk-G7XOSECC.js → chunk-SECNDLPQ.js} +966 -528
- package/dist/chunks/{chunk-2GCNPJMD.js → chunk-TXJ4TIDO.js} +1 -1
- package/dist/chunks/{chunk-B5CFIWWU.js → chunk-XIF53VR3.js} +1 -1
- package/dist/chunks/{chunk-U4TUOBXO.js → chunk-YPK2W34Z.js} +1 -1
- package/dist/chunks/{chunk-HGZ3O4TS.js → chunk-ZZOTKXRD.js} +2 -2
- package/dist/chunks/{cli-VEDK2B42.js → cli-3AEIYSMD.js} +6 -6
- package/dist/chunks/{cli-4ETE5RS2.js → cli-HUVI6ELM.js} +4 -4
- package/dist/chunks/{core-commands-J3IQGQOL.js → core-commands-2HUTKFHQ.js} +4 -4
- package/dist/chunks/{extend-3F3LLDOF.js → extend-PAJMXYKV.js} +9 -9
- package/dist/chunks/{harness-JER7P6MJ.js → harness-UWAS2VAN.js} +3 -3
- package/dist/chunks/{help-75NFCYJ4.js → help-M7D2XAOX.js} +1 -1
- package/dist/chunks/{opchat-UT5V7MR2.js → opchat-FQ2CJVM6.js} +5 -5
- package/dist/chunks/{organizations-ERKRLVNQ.js → organizations-L5N6LJ7O.js} +4 -4
- package/dist/chunks/{profile-A3CUSDIF.js → profile-KH5IKVNY.js} +7 -7
- package/dist/chunks/{project-agent-FCV5HPYT.js → project-agent-F4NHVRGY.js} +6 -6
- package/dist/chunks/{sandbox-command-L2QPIWZ5.js → sandbox-command-DDXRQNB6.js} +4 -4
- package/dist/chunks/{sandbox-template-XOIWROEK.js → sandbox-template-5EEEQKR5.js} +5 -5
- package/dist/chunks/{src-V4FUQNHR.js → src-34FV42HE.js} +27227 -24056
- package/dist/chunks/{src-ENVQ7ARM.js → src-LHZWUSD7.js} +2 -2
- package/dist/chunks/{teams-bot-OR3ZJHQ5.js → teams-bot-HFWO5GOV.js} +3 -3
- package/dist/chunks/{workspaces-L73SRLPA.js → workspaces-LO44JAC2.js} +2 -2
- package/dist/cli.js +10 -10
- package/dist/web/assets/AppDialog-T3j6O3yg.js +1 -0
- package/dist/web/assets/{AppsView-CLjjVkjr.js → AppsView-70Qqf9eJ.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-CkNO8723.js → BrowserSidebar-CdBLHdNW.js} +1 -1
- package/dist/web/assets/CloudWorkView-C5-jvlOo.js +1 -0
- package/dist/web/assets/{CommandMenu-DWtdkvmq.js → CommandMenu-B3Y4MvmT.js} +1 -1
- package/dist/web/assets/CommunityView-BHUJ9Hun.js +1 -0
- package/dist/web/assets/ComposerCreateImproveStrip-DeRI5XEO.js +1 -0
- package/dist/web/assets/GetStartedView-CIXScviw.js +1 -0
- package/dist/web/assets/GetStartedView-DBLdduwr.css +1 -0
- package/dist/web/assets/LabsRoute-Cs_R1fuu.js +3 -0
- package/dist/web/assets/MainChatThread-h7VSA_Rc.js +2 -0
- package/dist/web/assets/MakeAgentTutorialLearningPanel-r7jyZVc0.js +2 -0
- package/dist/web/assets/MarkdownText-E35C404I.js +7 -0
- package/dist/web/assets/Messages-BANZuAnA.js +10 -0
- package/dist/web/assets/NativeSkillSidebar-Qgccncuc.js +1 -0
- package/dist/web/assets/NativeSkillSidebar-T8KXjnUH.css +1 -0
- package/dist/web/assets/{NewProjectDialog-PrbA4fL6.js → NewProjectDialog-BowacUmA.js} +1 -1
- package/dist/web/assets/PostTrainingLearningPanel-oJu5qaHK.js +2 -0
- package/dist/web/assets/PostTrainingStatusPill-B9Eoc4s0.js +1 -0
- package/dist/web/assets/{ProfileSettingsSection-CqnfjiCl.css → ProfileSettingsSection-Cg4tKO-C.css} +1 -1
- package/dist/web/assets/ProfileSettingsSection-Dnh92gDH.js +1 -0
- package/dist/web/assets/RightChatPanelStack-pGwbt6Wy.js +1 -0
- package/dist/web/assets/SettingsView-Bjehxwt1.js +6 -0
- package/dist/web/assets/SettingsView-uHhQnazW.css +1 -0
- package/dist/web/assets/TeamChatView-Tn4X5cuY.js +3 -0
- package/dist/web/assets/{TerminalOverlay-DaGfEprz.js → TerminalOverlay-DoX5LYzK.js} +11 -11
- package/dist/web/assets/TrainingCreationPanel-BLSf1Bnp.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-BX5CCqlO.js → TrainingDraftPanel-Da6uGu9y.js} +1 -1
- package/dist/web/assets/UsageSettingsSection-DKky0p47.js +59 -0
- package/dist/web/assets/UsageSettingsSection-O8VK0qBL.css +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-DTRtW9n8.js +14 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-Ba4M8z1N.js +32 -0
- package/dist/web/assets/WorkspaceGitDialogs-CSepNOb8.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-C0fDue2d.js → WorkspaceMonacoEditor-LhFdzCRs.js} +3 -3
- package/dist/web/assets/activity-bW02ZsBD.js +1 -0
- package/dist/web/assets/{boxes-CXLqRF98.js → boxes-B1dRA1pi.js} +1 -1
- package/dist/web/assets/chevron-up-CySy6WNq.js +1 -0
- package/dist/web/assets/circle-alert-DMHz5tj_.js +1 -0
- package/dist/web/assets/circle-x-DY8vKAKi.js +1 -0
- package/dist/web/assets/copy-DuHI1UZ_.js +1 -0
- package/dist/web/assets/{create-pipeline-request-C26NOc7v.js → create-pipeline-request-CGBcdK9r.js} +2 -2
- package/dist/web/assets/credit-card-Bot0OuTl.js +1 -0
- package/dist/web/assets/{cssMode-DmtwKUVm.js → cssMode-BIjAothW.js} +1 -1
- package/dist/web/assets/git-branch-Cm02aNWq.js +1 -0
- package/dist/web/assets/{git-commit-horizontal-CDDZl4iA.js → git-commit-horizontal-FYILXW0v.js} +1 -1
- package/dist/web/assets/{htmlMode-Box0EOm1.js → htmlMode-zO2xLLgL.js} +1 -1
- package/dist/web/assets/index-B5AN29EO.js +177 -0
- package/dist/web/assets/index-BnwYyUgT.js +1 -0
- package/dist/web/assets/index-COGlKIJ4.css +1 -0
- package/dist/web/assets/{info-4Iy6BKvT.js → info-DeuEU_RO.js} +1 -1
- package/dist/web/assets/{jsonMode-g7t_3HFv.js → jsonMode-D2A3mj4n.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-CwhFOYc9.js → lspLanguageFeatures-aPSqvscU.js} +1 -1
- package/dist/web/assets/make-agent-tutorial-A2W9Ajwv.js +2 -0
- package/dist/web/assets/{monaco.contribution-CW2ctrTm.js → monaco.contribution-CHVe9CQ9.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DGZAePHI.js → monaco.contribution-DAq6Jihl.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CwMt3eHi.js → monaco.contribution-Do3Jjslo.js} +2 -2
- package/dist/web/assets/{monaco.contribution-B-QC_ls9.js → monaco.contribution-KqCt1n9-.js} +2 -2
- package/dist/web/assets/{monitor-DOVjBLkr.js → monitor-DXvHWFeW.js} +1 -1
- package/dist/web/assets/{play-DLCuESeG.js → play-BIHyH-Yu.js} +1 -1
- package/dist/web/assets/{python-DRNmHcYd.js → python-g3mtmU2J.js} +1 -1
- package/dist/web/assets/{refresh-cw-JNUovwk4.js → refresh-cw-Daz0oqwK.js} +1 -1
- package/dist/web/assets/{reply-D4QvJyzE.js → reply-wu9DIBuK.js} +1 -1
- package/dist/web/assets/rotate-cw-D7q9GgNc.js +1 -0
- package/dist/web/assets/{save-BR4O4UDP.js → save-BVFY6VTI.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-CrfdWIsV.js → toggleHighContrast-D9C_WUDu.js} +1 -1
- package/dist/web/assets/training-1du5QD-P.css +1 -0
- package/dist/web/assets/{tsMode-ZuV9go1B.js → tsMode-B4lEUN5X.js} +1 -1
- package/dist/web/assets/upload-DNbYB4Rl.js +1 -0
- package/dist/web/assets/{wifi-off-XFVqsf4c.js → wifi-off-C5QLifIJ.js} +1 -1
- package/dist/web/assets/{workers-CJpO1Wzj.js → workers-CV4BZb_x.js} +1 -1
- package/dist/web/assets/{yaml-AQ4ok5ED.js → yaml-3ah8oX43.js} +1 -1
- package/dist/web/courses/post-training/01-how-post-training-works-poster.webp +0 -0
- package/dist/web/courses/post-training/01-how-post-training-works.vtt +25 -0
- package/dist/web/courses/post-training/02-definitions-poster.webp +0 -0
- package/dist/web/courses/post-training/02-definitions.vtt +117 -0
- package/dist/web/courses/post-training/03-on-policy-off-policy-poster.webp +0 -0
- package/dist/web/courses/post-training/03-on-policy-off-policy.vtt +29 -0
- package/dist/web/courses/post-training/04-rewards-credit-assignment-poster.webp +0 -0
- package/dist/web/courses/post-training/04-rewards-credit-assignment.vtt +65 -0
- package/dist/web/courses/post-training/05-verifiable-rewards-rlvr-poster.webp +0 -0
- package/dist/web/courses/post-training/05-verifiable-rewards-rlvr.vtt +69 -0
- package/dist/web/courses/post-training/06-ppo-grpo-poster.webp +0 -0
- package/dist/web/courses/post-training/06-ppo-grpo.vtt +65 -0
- package/dist/web/courses/post-training/07-distillation-poster.webp +0 -0
- package/dist/web/courses/post-training/07-distillation.vtt +53 -0
- package/dist/web/courses/post-training/08-opsd-sdft-sdpo-poster.webp +0 -0
- package/dist/web/courses/post-training/08-opsd-sdft-sdpo.vtt +61 -0
- package/dist/web/courses/post-training/09-credible-experiments-poster.webp +0 -0
- package/dist/web/courses/post-training/09-credible-experiments.vtt +69 -0
- package/dist/web/courses/post-training/10-technical-appendix-poster.webp +0 -0
- package/dist/web/courses/post-training/10-technical-appendix.vtt +69 -0
- package/dist/web/courses/post-training/full-course-poster.webp +0 -0
- package/dist/web/courses/post-training/full-course.vtt +623 -0
- package/dist/web/courses/post-training/scripts/script_01.md +31 -0
- package/dist/web/courses/post-training/scripts/script_02.md +49 -0
- package/dist/web/courses/post-training/scripts/script_03.md +35 -0
- package/dist/web/courses/post-training/scripts/script_04.md +43 -0
- package/dist/web/courses/post-training/scripts/script_05.md +43 -0
- package/dist/web/courses/post-training/scripts/script_06.md +41 -0
- package/dist/web/courses/post-training/scripts/script_07.md +37 -0
- package/dist/web/courses/post-training/scripts/script_08.md +37 -0
- package/dist/web/courses/post-training/scripts/script_09.md +45 -0
- package/dist/web/courses/post-training/scripts/script_10.md +47 -0
- package/dist/web/index.html +2 -2
- package/dist/web/tutorials/how-to-make-an-agent-create-poster.png +0 -0
- package/dist/web/tutorials/how-to-make-an-agent-create.vtt +49 -0
- package/dist/web/tutorials/how-to-make-an-agent-improve-poster.png +0 -0
- package/dist/web/tutorials/how-to-make-an-agent-improve.vtt +45 -0
- package/dist/web/tutorials/how-to-make-an-agent-poster.png +0 -0
- package/dist/web/tutorials/how-to-make-an-agent-use-poster.png +0 -0
- package/dist/web/tutorials/how-to-make-an-agent-use.vtt +33 -0
- package/dist/web/tutorials/how-to-make-an-agent.vtt +125 -0
- package/dist/web/tutorials/what-is-an-openpond-agent-poster.png +0 -0
- package/dist/web/tutorials/what-is-an-openpond-agent.vtt +25 -0
- package/package.json +1 -1
- package/dist/web/assets/CloudWorkView-Cu_VqkaD.js +0 -1
- package/dist/web/assets/CommunityView-f03qOTER.js +0 -1
- package/dist/web/assets/ComposerCreateImproveStrip-CZpiQJsJ.js +0 -1
- package/dist/web/assets/GetStartedView-C3ZrnEz5.css +0 -1
- package/dist/web/assets/GetStartedView-CLMmryTG.js +0 -1
- package/dist/web/assets/LabsRoute-BwR2g71k.js +0 -4
- package/dist/web/assets/ProfileSettingsSection-CD_x_V8d.js +0 -1
- package/dist/web/assets/SettingsView-BMmlKvlB.js +0 -63
- package/dist/web/assets/SettingsView-CAPf81v3.css +0 -1
- package/dist/web/assets/TeamChatView-B5SlhDso.js +0 -3
- package/dist/web/assets/TrainingComputeDialog-BFY6E0yU.js +0 -1
- package/dist/web/assets/TrainingCreationPanel-Cp66gMed.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-D7ZEbryF.js +0 -14
- package/dist/web/assets/WorkspaceEnvironmentMenu-D4DmAJaS.js +0 -32
- package/dist/web/assets/WorkspaceGitDialogs-DHOfJxbL.js +0 -1
- package/dist/web/assets/index-8H-GDlM5.css +0 -1
- package/dist/web/assets/index-BUyeKpY6.js +0 -1
- package/dist/web/assets/index-CKmte5ok.js +0 -192
- package/dist/web/assets/training-DeVTd0m8.css +0 -1
- package/dist/web/assets/useComputeSettings-DUNS6uOl.js +0 -1
- package/dist/web/assets/useComputeSettings-R2Sw621I.css +0 -1
|
@@ -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-
|
|
6
|
+
} from "./chunk-2GV3QBBZ.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-
|
|
15
|
+
} from "./chunk-SECNDLPQ.js";
|
|
16
16
|
import {
|
|
17
17
|
CONNECTED_APP_CATALOG,
|
|
18
18
|
buildConnectedAppInstallUrl,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
resolveSandboxClient
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-RLQGMSW7.js";
|
|
5
|
+
import "./chunk-YPK2W34Z.js";
|
|
6
6
|
import {
|
|
7
7
|
optionString,
|
|
8
8
|
parseJsonOption,
|
|
9
9
|
requiredTeamId
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LUA5QGQP.js";
|
|
11
11
|
import "./chunk-UACZUFIA.js";
|
|
12
12
|
|
|
13
13
|
// src/cli/teams-bot.ts
|
|
@@ -43,8 +43,8 @@ import {
|
|
|
43
43
|
truncatePatch,
|
|
44
44
|
uniqueSortedPaths,
|
|
45
45
|
workspaceImageContentType
|
|
46
|
-
} from "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
} from "./chunk-XIF53VR3.js";
|
|
47
|
+
import "./chunk-EY52SLOQ.js";
|
|
48
48
|
import "./chunk-UACZUFIA.js";
|
|
49
49
|
export {
|
|
50
50
|
MACOS_GIT_MISSING_DEVELOPER_TOOLS_ERROR,
|
package/dist/cli.js
CHANGED
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
parseArgs,
|
|
5
5
|
resolveAccountOption,
|
|
6
6
|
resolveBaseUrlOption
|
|
7
|
-
} from "./chunks/chunk-
|
|
7
|
+
} from "./chunks/chunk-YPK2W34Z.js";
|
|
8
8
|
import {
|
|
9
9
|
getInstalledCliVersion,
|
|
10
10
|
parseBooleanOption,
|
|
11
11
|
runCliCommand
|
|
12
|
-
} from "./chunks/chunk-
|
|
12
|
+
} from "./chunks/chunk-LUA5QGQP.js";
|
|
13
13
|
import "./chunks/chunk-UACZUFIA.js";
|
|
14
14
|
|
|
15
15
|
// src/cli/top-level-action.ts
|
|
@@ -32,11 +32,11 @@ async function runOpenPondCli(argv = process.argv.slice(2)) {
|
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
if (action === "check-update") {
|
|
35
|
-
await (await import("./chunks/core-commands-
|
|
35
|
+
await (await import("./chunks/core-commands-2HUTKFHQ.js")).runCheckUpdate();
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
38
|
if (action === "help") {
|
|
39
|
-
(await import("./chunks/help-
|
|
39
|
+
(await import("./chunks/help-M7D2XAOX.js")).printHelp();
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
const selectedAccount = resolveAccountOption(options);
|
|
@@ -48,31 +48,31 @@ async function runOpenPondCli(argv = process.argv.slice(2)) {
|
|
|
48
48
|
process.env.OPENPOND_BASE_URL = selectedBaseUrl;
|
|
49
49
|
}
|
|
50
50
|
if (action === "tui") {
|
|
51
|
-
await (await import("./chunks/app-layer-
|
|
51
|
+
await (await import("./chunks/app-layer-GUF2CKYH.js")).runOpenPondTerminalCommand(options, rest);
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
54
|
if (action === "ui") {
|
|
55
|
-
await (await import("./chunks/app-layer-
|
|
55
|
+
await (await import("./chunks/app-layer-GUF2CKYH.js")).runOpenPondServerCommand("web", options, rest);
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
58
|
if (await runCliCommand({ command, options, rest })) {
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
|
-
(await import("./chunks/help-
|
|
61
|
+
(await import("./chunks/help-M7D2XAOX.js")).printHelp();
|
|
62
62
|
process.exit(1);
|
|
63
63
|
}
|
|
64
64
|
async function runEmbeddedCompanion(argv) {
|
|
65
65
|
if (argv[0] === "__server") {
|
|
66
66
|
process.argv = [process.execPath, "openpond-server", ...argv.slice(1)];
|
|
67
67
|
const [{ createOpenPondServer }, { runOpenPondServerCli }] = await Promise.all([
|
|
68
|
-
import("./chunks/src-
|
|
69
|
-
import("./chunks/cli-
|
|
68
|
+
import("./chunks/src-34FV42HE.js"),
|
|
69
|
+
import("./chunks/cli-HUVI6ELM.js")
|
|
70
70
|
]);
|
|
71
71
|
await runOpenPondServerCli(createOpenPondServer);
|
|
72
72
|
return true;
|
|
73
73
|
}
|
|
74
74
|
if (argv[0] === "__terminal") {
|
|
75
|
-
await (await import("./chunks/src-
|
|
75
|
+
await (await import("./chunks/src-LHZWUSD7.js")).runOpenPondTerminalCli(argv.slice(1));
|
|
76
76
|
return true;
|
|
77
77
|
}
|
|
78
78
|
return false;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as s,j as w}from"./index-B5AN29EO.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,
|
|
1
|
+
import{r,aW as m,n as L,j as e,S as I,a1 as k,X as P,aX as E,Q as F,E as U,aY as T,aZ as R}from"./index-B5AN29EO.js";const D=["For agents","Featured","Productivity","Developer tools"],M=new Set(["slack","google","github","mcp"]);function Z({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(()=>m()),[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(m()),x(null),d("error"))}),()=>{t=!1}):(h(m()),d("idle"),x(null),()=>{t=!1})},[n]);function A(t){const l=T({appId:t.id,baseUrl:S,teamId:C});W(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:X(g)}),e.jsxs("span",{children:[Q(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(b,{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(b,{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(b,{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:V(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 b({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 W(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 X(s){return s==="loading"?"Checking connections":s==="ready"?"Connection status current":s==="error"?"Connection status unavailable":"Connection status pending"}function Q(s){return s.filter(n=>n.connected).length}function V(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{Z as AppsView,_ as ConnectedAppRow,O as connectedAppSetupTeamId};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as c,
|
|
1
|
+
import{r as c,by as v,j as a,aG as f,X as k,k as j,R as C,aD as g,am as B,E as y,aH as N}from"./index-B5AN29EO.js";import{R as T}from"./refresh-cw-Daz0oqwK.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 R({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:E(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 E(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 D({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 z({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(R,{activeTabId:l.state.activeTabId,tabs:l.state.tabs,onCloseTab:s=>{l.closeTab(s)},onNewTab:()=>{l.newTab()},onSelectTab:s=>{l.selectTab(s)}}),a.jsx(D,{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(z,{active:l.available&&l.state.tabs.length>0,onBounds:u})]})]})}export{L as BrowserSidebar};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as ye,r,a6 as Ne,j as e,R as ke,b as B,am as ee,k as D,bP as se,bQ as ne,D as te,z as Se,bR as Ae,S as we,J as ie,W as H,aA as Re,X as Pe,bS as ae}from"./index-B5AN29EO.js";import{P as Te}from"./play-BIHyH-Yu.js";import{createPipelineAgentIdFromObjective as le,createPipelineSourceRootPathForAgent as _e}from"./create-pipeline-request-CGBcdK9r.js";function ze(s,t){return t==="archive"?!!s.archivedAt:t==="reviews"?s.status==="needs_review":!s.archivedAt}function $e(s){return s==="backlog"?"Task":s==="needs_review"?"Review":s.replace(/_/g," ")}function Me(s,t){const a=s.get(t);return a?.organizationName?`${a.organizationName} / ${a.name}`:a?.name??"Cloud Project"}function Ee(s){const t=s.filter(a=>!oe(a));return t.find(a=>a.role==="user")??t[0]??null}function oe(s){return s.metadata.source==="openpond_app_cloud_create_improve_link"||s.metadata.hidden===!0}function Oe(s){return s.adapter.kind==="local"?"Local profile":s.adapter.kind==="promote_local_to_hosted"?"Local to hosted":"Hosted profile"}function Le(s){return s?.plan?.checks?.length?s.plan.checks.map(t=>({name:t.name,command:t.command})):[{name:"inspect",command:"pnpm agent:inspect"},{name:"build",command:"pnpm build"},{name:"validate",command:"pnpm agent:validate"},{name:"eval",command:"pnpm agent:eval"}]}function De(s){return s?.plan?.requirements?.map(t=>({name:t.name,detail:[t.kind.replace(/_/g," "),t.status,t.detail].filter(Boolean).join(" / ")}))??[]}function He(s){const t=s?.workflowCapture;return t?[{name:"Actions",values:t.profileActions},{name:"Providers",values:t.externalProviders},{name:"Side effects",values:t.sideEffects},{name:"Files",values:t.files},{name:"Artifacts",values:t.outputArtifacts},{name:"Traces",values:t.traceRefs},{name:"Channels",values:t.channelTargets}].flatMap(({name:a,values:u})=>u.length?[{name:a,detail:u.join(", ")}]:[]):[]}function qe(s){if(s.plan?.sourcePlan?.length)return s.plan.sourcePlan;const t=s.operation==="improve"?"update":"create",a=s.target.kind==="agent"?s.target.id??le(s.objective):le(s.objective);return[{path:_e(a),operation:t,reason:s.objective},{path:"settings/profile.yaml",operation:"update",reason:"Expose the default chat action through the hosted profile catalog."}]}function Fe({workItem:s,detail:t,actionBusy:a,localProjectName:u,onApplyLocalPatch:x,onShowFiles:o}){const d=Je(s,t),m=s.status==="needs_review"&&!!(u&&x);return e.jsxs("article",{className:"cloud-work-boundary-strip",children:[e.jsxs("div",{children:[e.jsx("span",{children:Ke(s)}),e.jsx("small",{children:Ve(s)})]}),e.jsx("div",{className:"cloud-work-boundary-chips",children:d.map(j=>e.jsx("span",{children:j},j))}),s.status==="needs_review"?e.jsxs("button",{type:"button",onClick:()=>{x&&x()},disabled:a||!m,title:m?`Apply to ${u}`:"Link this Cloud Project to a local checkout before applying locally.",children:[e.jsx(ie,{size:13}),e.jsx("span",{children:m?"Apply locally":"No local checkout"})]}):null,o?e.jsxs("button",{type:"button",onClick:o,children:[e.jsx(H,{size:13}),e.jsx("span",{children:"Files"})]}):null]})}function Ke(s){return s.status==="needs_review"?"Cloud patch ready":s.status==="queued"||s.status==="running"?"Running in Cloud":s.status==="failed"?"Cloud task failed":"Cloud task"}function Ve(s){return s.status==="needs_review"?"Review files and apply locally only when ready.":s.status==="queued"||s.status==="running"?"The local checkout is unchanged while the sandbox works.":s.status==="failed"?"Open files/logs to inspect the remote run before retrying.":"Cloud changes stay remote until an explicit apply or pull action."}function Je(s,t){const a=[s.status.replace(/_/g," ")];return s.sourceRef&&a.push(s.sourceRef),s.latestSandboxId&&a.push("sandbox"),s.latestTaskRunId&&a.push("task run"),t?.activity.length&&a.push(`${t.activity.length} log${t.activity.length===1?"":"s"}`),s.status==="needs_review"&&a.push("patch only"),a.push("local unchanged"),a}function Qe({run:s,actionBusy:t,onApprove:a,onEdit:u,onCancel:x}){const o=s.state,d=s.plan,m=Le(s),j=De(s),f=He(s),N=qe(s),h=Re(d?.metadata),k=s.scope.targetProject?.name??s.scope.targetProject?.id??"Profile source",S=!!d&&o==="awaiting_plan_approval"&&(d?.status==="draft"||d?.status==="pending_approval"),A=(o==="planning"||o==="awaiting_plan_approval")&&(d?.status==="draft"||d?.status==="pending_approval");return e.jsxs("article",{className:"cloud-create-plan-review",children:[e.jsxs("div",{className:"cloud-create-plan-heading",children:[e.jsx(H,{size:16}),e.jsxs("div",{children:[e.jsx("span",{children:"Agent plan review"}),e.jsxs("small",{children:[s.operation," / ",Oe(s)," / ",o.replace(/_/g," ")]})]})]}),e.jsxs("div",{className:"cloud-create-plan-copy",children:[e.jsxs("section",{children:[e.jsx("span",{children:"Objective"}),e.jsx("p",{children:s.objective})]}),e.jsxs("section",{children:[e.jsx("span",{children:"Target"}),e.jsx("p",{children:k})]}),d?.capturedContextSummary?e.jsxs("section",{children:[e.jsx("span",{children:"Captured context"}),e.jsx("p",{children:d.capturedContextSummary})]}):s.context.targetRepoAssumptions.length?e.jsxs("section",{children:[e.jsx("span",{children:"Captured context"}),e.jsx("p",{children:s.context.targetRepoAssumptions.join("; ")})]}):null,s.context.attachments.length?e.jsxs("section",{children:[e.jsx("span",{children:"Inputs"}),e.jsx("p",{children:s.context.attachments.map(l=>l.name).join(", ")})]}):null,s.context.apps.length?e.jsxs("section",{children:[e.jsx("span",{children:"Apps"}),e.jsx("p",{children:s.context.apps.map(l=>l.name).join(", ")})]}):null,s.context.tools.length?e.jsxs("section",{children:[e.jsx("span",{children:"Tools"}),e.jsx("p",{children:s.context.tools.map(l=>l.name).join(", ")})]}):null,h?e.jsxs("section",{children:[e.jsx("span",{children:"Action shape"}),e.jsxs("p",{children:[h.label,": ",h.detail]})]}):null]}),e.jsxs("div",{className:"cloud-create-plan-grid",children:[h?e.jsxs("section",{children:[e.jsx("span",{children:"Actions"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("code",{children:h.defaultActionKey??"chat"}),e.jsx("small",{children:h.label})]}),h.directActionHint?e.jsxs("li",{children:[e.jsx("code",{children:"direct action"}),e.jsx("small",{children:h.directActionHint})]}):null]})]}):null,e.jsxs("section",{children:[e.jsx("span",{children:"Source plan"}),e.jsx("ul",{children:N.map(l=>e.jsxs("li",{children:[e.jsx("code",{children:l.path}),e.jsx("small",{children:l.operation})]},`${l.operation}:${l.path}`))})]}),e.jsxs("section",{children:[e.jsx("span",{children:"Checks"}),e.jsx("ul",{children:m.map(l=>e.jsxs("li",{children:[e.jsx("code",{children:l.name}),e.jsx("small",{children:l.command})]},`${l.name}:${l.command}`))})]}),j.length?e.jsxs("section",{children:[e.jsx("span",{children:"Requirements"}),e.jsx("ul",{children:j.map(l=>e.jsxs("li",{children:[e.jsx("code",{children:l.name}),e.jsx("small",{children:l.detail})]},`${l.name}:${l.detail}`))})]}):null,f.length?e.jsxs("section",{children:[e.jsx("span",{children:"Workflow evidence"}),e.jsx("ul",{children:f.map(l=>e.jsxs("li",{children:[e.jsx("code",{children:l.name}),e.jsx("small",{children:l.detail})]},`${l.name}:${l.detail}`))})]}):null]}),e.jsxs("div",{className:"cloud-create-plan-actions",children:[e.jsxs("button",{type:"button",onClick:a,disabled:t||!S,children:[e.jsx(ie,{size:14}),e.jsx("span",{children:"Confirm plan"})]}),e.jsxs("button",{type:"button",onClick:u,disabled:t||!A,children:[e.jsx(H,{size:14}),e.jsx("span",{children:"Edit plan"})]}),e.jsxs("button",{type:"button",onClick:x,disabled:t,children:[e.jsx(Pe,{size:14}),e.jsx("span",{children:"Cancel"})]})]})]})}function Ye({projects:s,workItems:t,selectedWorkItem:a,detail:u,loading:x,actionBusy:o,connection:d,error:m,model:j,showToast:f,onBack:N,onModelChange:h,onSetupCloudProject:k,onCreateWork:S,onSelectWorkItem:A,onSendMessage:l,onHandleBackground:q,onCancelCreatePlan:ce,onCancelTask:F,localProjectName:re,onApplyLocalPatch:de,onShowFiles:w}){ye(m);const[y,R]=r.useState(""),[b,g]=r.useState(""),K=r.useRef(null),P=r.useRef(null),[ue,V]=r.useState(0),[pe,T]=r.useState(0),[J,_]=r.useState(!1),[Q,U]=r.useState(!1),[C,z]=r.useState("tasks"),[$,he]=r.useState(""),[X,xe]=r.useState(()=>s[0]?.id??""),M=r.useMemo(()=>new Map(s.map(n=>[n.id,n])),[s]),v=M.has(X)?X:s[0]?.id??"",me=Ne("openpond",j),je=r.useMemo(()=>s.length?s.map(n=>({value:n.id,label:n.organizationName?`${n.organizationName} / ${n.name}`:n.name,shortLabel:n.name,description:n.sourceLabel??n.defaultBranch??void 0})):[{value:"",label:"No Cloud Project"}],[s]),G=r.useMemo(()=>{const n=$.trim().toLowerCase();return t.filter(c=>ze(c,C)?n?c.title.toLowerCase().includes(n):!0:!1)},[$,C,t]);async function Y(){const n=y.trim();!n||!v||o||(await S({projectId:v,prompt:n}),R(""),_(!1))}async function Z(){const n=b.trim();!n||o||(await l(n),g(""))}async function ve(){const n=b.trim();await q(n||null),g(""),U(!1)}function E(n){V(n.selectionStart??n.value.length)}function O(n){T(n.selectionStart??n.value.length)}function fe(n){const c=K.current,p=ae(y,n,c?.selectionStart??ue);R(p.value),V(p.cursorIndex),window.requestAnimationFrame(()=>{c?.focus(),c?.setSelectionRange(p.cursorIndex,p.cursorIndex)})}function be(n){const c=P.current,p=ae(b,n,c?.selectionStart??pe);g(p.value),T(p.cursorIndex),window.requestAnimationFrame(()=>{c?.focus(),c?.setSelectionRange(p.cursorIndex,p.cursorIndex)})}function ge(){g(n=>n||"Revise plan: "),window.requestAnimationFrame(()=>{const n=P.current,c=n?.value.length??0;n?.focus(),n?.setSelectionRange(c,c),T(c)})}if(a){const n=u?.messages??[],c=u?.activity??[],p=u?.createImproveRun??a.createImproveRun??null,W=Ee(n),L=W?.body??a.title,Ce=M.get(a.projectId)??null,I=a.status==="queued"||a.status==="running";return e.jsxs("section",{className:"cloud-work-view thread",children:[e.jsx("div",{className:"cloud-thread-body",children:e.jsxs("div",{className:"cloud-thread-timeline",children:[e.jsxs("div",{className:"cloud-thread-inline-nav",children:[e.jsxs("button",{type:"button",onClick:N,children:[e.jsx(ke,{size:15}),e.jsx("span",{children:"All tasks"})]}),e.jsx("span",{children:Ce?.name??"Cloud Project"}),a.sourceRef?e.jsx("span",{children:a.sourceRef}):null,w?e.jsx("button",{type:"button",onClick:w,children:e.jsx("span",{children:"Files"})}):null]}),L&&e.jsx("article",{className:"cloud-message user",children:e.jsx("p",{children:L})}),e.jsxs("div",{className:"cloud-worked-line",children:[e.jsx("span",{children:$e(a.status)}),e.jsx("span",{children:B(a.updatedAt)}),I&&e.jsxs("button",{type:"button",onClick:()=>{F()},disabled:o,children:[e.jsx(ee,{size:12}),e.jsx("span",{children:"Stop task"})]})]}),e.jsx(Fe,{workItem:a,detail:u,actionBusy:o,localProjectName:re,onApplyLocalPatch:de,onShowFiles:w}),p?e.jsx(Qe,{run:p,actionBusy:o,onApprove:()=>{q(null)},onEdit:ge,onCancel:()=>{ce()}}):null,n.filter(i=>i.id!==W?.id).filter(i=>!oe(i)).map(i=>e.jsx("article",{className:`cloud-message ${i.role}`,children:e.jsx("p",{children:i.body})},i.id)),c.map(i=>e.jsxs("article",{className:"cloud-activity",children:[e.jsx("span",{children:i.kind.replace(/_/g," ")}),e.jsx("p",{children:i.summary})]},i.id)),!x&&n.length===0&&c.length===0&&!L&&e.jsx("p",{className:"cloud-muted",children:"No messages yet."})]})}),e.jsxs("div",{className:"cloud-thread-composer",children:[e.jsx("button",{type:"button",className:`cloud-composer-plus ${Q?"active":""}`,onClick:()=>U(i=>!i),title:"Cloud task options",children:e.jsx(D,{size:18})}),Q&&e.jsxs("div",{className:"cloud-composer-options thread-options",children:[e.jsxs("button",{type:"button",onClick:()=>{ve()},disabled:o,children:[e.jsx(Te,{size:14}),e.jsx("span",{children:"Handle in background"})]}),I&&e.jsxs("button",{type:"button",onClick:()=>{F()},disabled:o,children:[e.jsx(ee,{size:14}),e.jsx("span",{children:"Stop task"})]})]}),e.jsx("textarea",{ref:P,value:b,rows:1,placeholder:"Request changes or ask a question",onChange:i=>{g(i.target.value),O(i.currentTarget)},onClick:i=>O(i.currentTarget),onSelect:i=>O(i.currentTarget),onKeyDown:i=>{i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),Z())}}),e.jsx(se,{buttonClassName:"cloud-composer-mic-button",connection:d,disabled:o,iconSize:17,wrapperClassName:"cloud-composer-mic",showToast:f,onTranscript:be}),e.jsx("button",{type:"button",className:"cloud-composer-submit",disabled:!b.trim()||o,onClick:()=>{Z()},title:"Send",children:e.jsx(ne,{size:17})})]})]})}return e.jsx("section",{className:"cloud-work-view home",children:e.jsxs("div",{className:"cloud-home-shell",children:[e.jsx("h1",{children:"What should we change next?"}),e.jsxs("div",{className:"cloud-home-composer",children:[e.jsx("textarea",{ref:K,value:y,rows:2,placeholder:"Describe a task",onChange:n=>{R(n.target.value),E(n.currentTarget)},onClick:n=>E(n.currentTarget),onSelect:n=>E(n.currentTarget),onKeyDown:n=>{n.key==="Enter"&&!n.shiftKey&&(n.preventDefault(),Y())}}),e.jsxs("div",{className:"cloud-home-composer-actions",children:[e.jsx("button",{type:"button",className:`cloud-composer-plus ${J?"active":""}`,onClick:()=>_(n=>!n),title:"Cloud task options",children:e.jsx(D,{size:18})}),e.jsxs("div",{className:"cloud-composer-selects",children:[e.jsx(te,{compact:!0,className:"cloud-project-select",disabled:o||s.length===0,label:"Cloud Project",options:je,placement:"top",value:v,onChange:xe}),e.jsx(te,{compact:!0,className:"cloud-model-select",disabled:o,label:"Model",options:Se("openpond"),placement:"top",value:me,onChange:h})]}),e.jsx(se,{buttonClassName:"cloud-composer-mic-button",connection:d,disabled:o,iconSize:17,wrapperClassName:"cloud-composer-mic",showToast:f,onTranscript:fe}),e.jsx("button",{type:"button",className:"cloud-composer-submit",disabled:!y.trim()||!v||o,onClick:()=>{Y()},title:"Handle in background",children:e.jsx(ne,{size:17})})]}),J&&e.jsxs("div",{className:"cloud-composer-options",children:[e.jsxs("button",{type:"button",onClick:()=>_(!1),disabled:o,children:[e.jsx(D,{size:14}),e.jsx("span",{children:"New task"})]}),e.jsxs("button",{type:"button",onClick:()=>k(v),disabled:!v||o,children:[e.jsx(Ae,{size:14}),e.jsx("span",{children:"Create environment"})]})]})]}),e.jsxs("div",{className:"cloud-task-list-toolbar",children:[e.jsxs("div",{className:"cloud-task-tabs",role:"tablist","aria-label":"Cloud tasks",children:[e.jsx("button",{type:"button",className:C==="tasks"?"active":"",onClick:()=>z("tasks"),children:"Tasks"}),e.jsx("button",{type:"button",className:C==="reviews"?"active":"",onClick:()=>z("reviews"),children:"Code reviews"}),e.jsx("button",{type:"button",className:C==="archive"?"active":"",onClick:()=>z("archive"),children:"Archive"})]}),e.jsxs("label",{className:"cloud-task-search",children:[e.jsx(we,{size:17}),e.jsx("input",{value:$,placeholder:"Search",onChange:n=>he(n.target.value)})]})]}),e.jsxs("div",{className:"cloud-task-list",children:[G.map(n=>e.jsxs("button",{type:"button",className:"cloud-task-row",onClick:()=>A(n),children:[e.jsx("span",{children:n.title}),e.jsxs("small",{children:[B(n.updatedAt)," · ",Me(M,n.projectId)]})]},n.id)),!x&&G.length===0&&e.jsx("p",{className:"cloud-empty",children:s.length?"No tasks yet":"Create or link a Cloud Project before starting a task"}),x&&e.jsx("p",{className:"cloud-empty",children:"Loading tasks..."})]})]})})}export{Ye as CloudWorkView};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as j,j as e,S as g,a as b,i as f,C,F as P,P as k,M,b as v,c as S}from"./index-
|
|
1
|
+
import{r as j,j as e,S as g,a as b,i as f,C,F as P,P as k,M,b as v,c as S}from"./index-B5AN29EO.js";function E({open:a,query:r,projects:c,sessions:o,onQueryChange:n,onClose:d,onNewChat:x,onOpenProject:u,onOpenSession:p}){const t=r.trim().toLowerCase(),l=j.useMemo(()=>w(o,t,10),[t,o]),i=j.useMemo(()=>L(c,t,8),[t,c]);if(!a)return null;const N=()=>{const s=i[0];if(s){u(s);return}const m=l[0];m&&p(m)};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:s=>s.stopPropagation(),children:[e.jsxs("div",{className:"command-input-row",children:[e.jsx(g,{size:17}),e.jsx("input",{autoFocus:!0,value:r,onChange:s=>n(s.target.value),onKeyDown:s=>{s.key==="Enter"&&(s.preventDefault(),N()),s.key==="Escape"&&(s.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(b,{size:15}),e.jsx("span",{children:"New local task"}),e.jsx("small",{children:"General"})]}),e.jsxs(h,{label:"Projects",children:[i.map(s=>e.jsxs("button",{className:"command-result",onClick:()=>u(s),children:[f(s)?e.jsx(C,{size:15}):e.jsx(P,{size:15}),e.jsx("span",{children:s.project.name}),e.jsx("small",{children:z(s)})]},s.project.id)),i.length===0&&e.jsx("div",{className:"command-empty",children:"No projects found"})]}),e.jsxs(h,{label:"Chats",children:[l.map(s=>e.jsxs("button",{className:"command-result",onClick:()=>p(s),children:[s.pinned?e.jsx(k,{size:15}):e.jsx(M,{size:15}),e.jsx("span",{children:s.title}),e.jsx("small",{children:s.appName??v(s.updatedAt)})]},s.id)),l.length===0&&e.jsx("div",{className:"command-empty",children:"No chats found"})]})]})]})})}function w(a,r,c){const o=[];for(const n of a)if((!r||`${n.title} ${n.appName??""}`.toLowerCase().includes(r))&&(o.push(n),o.length>=c))break;return o}function L(a,r,c){const o=[];for(const n of a)if((!r||$(n).toLowerCase().includes(r))&&(o.push(n),o.length>=c))break;return o}function $(a){return S(a)?`${a.project.name} ${a.project.path} ${a.project.workspacePath}`:`${a.project.name} ${a.project.sourceLabel??""} ${a.project.organizationName??""}`}function z(a){return f(a)?a.project.organizationName??"Cloud Project":a.project.linkedOpenPondApp?"OpenPond project":a.project.source==="git"?"Local Git":"Local folder"}function h({label:a,children:r}){return e.jsxs("div",{className:"command-group",children:[e.jsx("div",{className:"command-group-label",children:a}),r]})}export{E as CommandMenu};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as l,j as e,X as H,c5 as Z,c6 as ee,c7 as se,bQ as ne,c8 as te,c9 as ie,a as ae,T as le,u as M,ca as O,I as oe}from"./index-B5AN29EO.js";import{S as re,W as ce,B as de}from"./wifi-off-C5QLifIJ.js";import{R as F}from"./refresh-cw-Daz0oqwK.js";import{M as J}from"./MarkdownText-E35C404I.js";import{R as me}from"./reply-wu9DIBuK.js";const ue=2e4,R=10,he=12*1024*1024,ye=new Set(["image/png","image/jpeg","image/webp","image/gif"]);function ge(s){const[n,m]=l.useState(""),[a,y]=l.useState(0),[c,u]=l.useState([]),[f,i]=l.useState(null),[b,h]=l.useState(!1),[p,C]=l.useState([]),[N,v]=l.useState(0),[o,I]=l.useState(null),k=l.useRef(null),E=l.useRef(null),D=l.useRef(c);D.current=c;const g=l.useMemo(()=>xe(n,a),[n,a]),S=g?`${g.start}:${g.end}:${g.query}`:null,T=g?.query??null,w=l.useMemo(()=>{if(!g)return[];const t=new Map;for(const d of[...s.members,...p])t.set(d.userId,d);const r=g.query.toLowerCase();return[...t.values()].filter(d=>`${d.handle??""} ${d.name??""}`.toLowerCase().includes(r)).slice(0,8)},[g,s.members,p]),B=!!(g&&S!==o&&w.length>0),L=!!(s.disabled||s.busy||b),U=!L&&(!!n.trim()||c.length>0);l.useEffect(()=>{if(T==null){C([]);return}let t=!0;const r=window.setTimeout(()=>{s.onSearchMembers(T).then(d=>{t&&C(d)},()=>{t&&C([])})},150);return()=>{t=!1,window.clearTimeout(r)}},[T,s.onSearchMembers]),l.useEffect(()=>{v(0)},[S]),l.useEffect(()=>()=>K(D.current),[]);async function $(t){if(t?.preventDefault(),!!U){i(null),h(!0);try{const r=await Promise.all(c.map(te));if(!await s.onSend({body:n,mentionUserIds:fe(n,s.members),attachments:r,replyToMessageId:s.replyTo?.id??null}))return;K(c),m(""),y(0),u([]),s.onCancelReply()}catch(r){i(r instanceof Error?r.message:String(r))}finally{h(!1)}}}function V(t){if(B){if(t.key==="ArrowDown"){t.preventDefault(),v(r=>(r+1)%w.length);return}if(t.key==="ArrowUp"){t.preventDefault(),v(r=>(r-1+w.length)%w.length);return}if(t.key==="Enter"||t.key==="Tab"){t.preventDefault(),z(w[N]??w[0]);return}if(t.key==="Escape"){t.preventDefault(),I(S);return}}t.key!=="Enter"||t.shiftKey||t.nativeEvent.isComposing||(t.preventDefault(),$())}function G(t){if(!t)return;i(null);const r=Math.max(0,R-c.length);if(r===0){i(`You can attach up to ${R} images.`),A();return}const d=[...t],j=d.slice(0,r),P=j.find(x=>!ye.has(x.type)),q=j.find(x=>x.size<=0||x.size>he);if(P){i(`${P.name} is not a supported image type.`),A();return}if(q){i(`${q.name} must be smaller than 12 MB.`),A();return}const W=j.map(x=>({id:ie(),file:x,name:x.name,mediaType:x.type,sizeBytes:x.size,kind:"image",previewUrl:URL.createObjectURL(x)}));u(x=>[...x,...W]),d.length>r&&i(`Only ${R} images can be attached to one message.`),A()}function Q(t){u(r=>{const d=r.find(j=>j.id===t);return d?.previewUrl&&URL.revokeObjectURL(d.previewUrl),r.filter(j=>j.id!==t)})}function A(){k.current&&(k.current.value="")}function z(t){if(!g)return;const r=`@${X(t)} `,d=`${n.slice(0,g.start)}${r}${n.slice(g.end)}`,j=g.start+r.length;m(d),y(j),I(null),window.requestAnimationFrame(()=>E.current?.focusAtPromptIndex(j))}return e.jsxs("form",{className:`composer dock community-composer${c.length>0?" has-attachments":""}${f?" has-attachment-error":""}`,onSubmit:$,children:[s.replyTo?e.jsxs("div",{className:"community-composer-reply",children:[e.jsxs("span",{children:[e.jsx("strong",{children:"Replying to"}),s.replyTo.body.slice(0,100)||"message"]}),e.jsx("button",{type:"button","aria-label":"Cancel reply",onClick:s.onCancelReply,children:e.jsx(H,{size:13})})]}):null,B?e.jsx("div",{className:"community-mention-menu",role:"listbox","aria-label":"Community members",children:w.map((t,r)=>e.jsxs("button",{type:"button",role:"option","aria-selected":r===N,onMouseDown:d=>d.preventDefault(),onClick:()=>z(t),children:[e.jsx("strong",{children:t.name??t.handle??"Community member"}),t.handle?e.jsxs("small",{children:["@",t.handle]}):null]},t.userId))}):null,e.jsxs("div",{className:"composer-input-shell",children:[c.length>0?e.jsx("div",{className:"composer-attachments","aria-label":"Selected attachments",children:c.map(t=>e.jsx(Z,{attachment:t,onRemove:()=>Q(t.id)},t.id))}):null,f?e.jsx("div",{className:"composer-attachment-error",role:"status",children:f}):null,e.jsx("div",{className:"composer-textarea-frame",onClick:t=>{t.target===t.currentTarget&&E.current?.focusAtPromptIndex(a)},children:e.jsx(ee,{ref:E,disabled:L,onCursorChange:y,onKeyDown:V,onPromptChange:(t,r)=>{const d=t.slice(0,ue);m(d),y(Math.min(r,d.length))},onTokenPositionChange:()=>{},placeholder:s.disabled?"Accept the community rules to post":"Message community",prompt:n,token:null})}),e.jsxs("div",{className:"composer-primary-controls team-chat-composer-controls",children:[e.jsx("input",{ref:k,className:"composer-file-input",hidden:!0,type:"file",accept:"image/png,image/jpeg,image/webp,image/gif",multiple:!0,onChange:t=>G(t.currentTarget.files)}),e.jsx("button",{type:"button",className:"composer-icon","aria-label":"Attach images",disabled:L||c.length>=R,onClick:()=>k.current?.click(),children:e.jsx(se,{size:17})}),e.jsx("div",{className:"composer-spacer"}),e.jsx("button",{type:"submit",className:"send-button","aria-label":"Send message",disabled:!U,children:e.jsx(ne,{size:17})})]})]})]})}function xe(s,n=s.length){const m=Math.max(0,Math.min(n,s.length)),a=/(?:^|\s)@([\w-]*)$/.exec(s.slice(0,m));return!a||a.index==null?null:{start:a.index+a[0].indexOf("@"),end:m,query:a[1]??""}}function fe(s,n){const m=new Set([...s.matchAll(/(?:^|\s)@([\w-]+)/g)].map(a=>a[1]?.toLowerCase()));return n.filter(a=>m.has(X(a).toLowerCase())).map(a=>a.userId)}function X(s){return s.handle??s.name?.replace(/[^\w-]/g,"")??s.userId}function K(s){for(const n of s)n.previewUrl&&URL.revokeObjectURL(n.previewUrl)}function be(s){const[n,m]=l.useState(!1),[a,y]=l.useState(s.message.body),c=s.message.refs.find(i=>i.refType==="message_reply"),u=c?s.messagesById.get(c.refId)??null:null,f=u?.authorUserId?s.membersById.get(u.authorUserId)??null:null;return e.jsxs("article",{className:`community-message${s.own?" own":""}`,id:`community-message-${s.message.id}`,children:[e.jsx("div",{className:"community-avatar",children:je(s.author?.name??s.author?.handle??"?")}),e.jsxs("div",{className:"community-message-content",children:[e.jsxs("header",{children:[e.jsx("strong",{children:s.author?.name??s.author?.handle??"Community member"}),e.jsx("time",{dateTime:s.message.createdAt,children:pe(s.message.createdAt)}),s.message.editedAt?e.jsx("span",{children:"edited"}):null,s.message.deletedAt?null:e.jsxs("div",{className:"community-message-actions",children:[e.jsx("button",{type:"button","aria-label":"Reply",onClick:()=>s.onReply(s.message),children:e.jsx(me,{size:13})}),s.own?e.jsx("button",{type:"button","aria-label":"Edit",onClick:()=>m(!0),children:e.jsx(ae,{size:13})}):null,s.own?e.jsx("button",{type:"button","aria-label":"Delete",onClick:()=>{s.onDelete(s.message.id)},children:e.jsx(le,{size:13})}):null]})]}),c?e.jsxs("button",{type:"button",className:"community-reply-quote",onClick:()=>document.getElementById(`community-message-${c.refId}`)?.scrollIntoView({behavior:"smooth",block:"center"}),children:[e.jsx("strong",{children:f?.name??"Community member"}),e.jsx("span",{children:u?.deletedAt?"Message deleted":u?.body??String(c.preview.body??"Earlier message")})]}):null,n?e.jsxs("form",{className:"community-message-edit",onSubmit:i=>{i.preventDefault(),s.onEdit(s.message.id,a).then(b=>{b&&m(!1)})},children:[e.jsx("textarea",{autoFocus:!0,value:a,onChange:i=>y(i.currentTarget.value)}),e.jsxs("div",{children:[e.jsx("button",{type:"button",onClick:()=>m(!1),children:"Cancel"}),e.jsx("button",{type:"submit",disabled:!a.trim(),children:"Save"})]})]}):s.message.deletedAt?e.jsx("div",{className:"community-message-deleted",children:"Message deleted"}):e.jsx(J,{content:s.message.body}),!s.message.deletedAt&&s.message.attachments.length>0?e.jsx("div",{className:"community-message-attachments",children:s.message.attachments.map(i=>s.attachmentsAccessible?e.jsxs("button",{type:"button",onClick:()=>{s.onDownloadAttachment(i.id)},children:[e.jsx("span",{children:i.name}),e.jsx("small",{children:_(i.sizeBytes)})]},i.id):e.jsxs("div",{className:"community-attachment-placeholder",children:[e.jsx("span",{children:i.name}),e.jsxs("small",{children:["Join to view · ",_(i.sizeBytes)]})]},i.id))}):null]})]})}function je(s){return s.split(/\s+/).slice(0,2).map(n=>n[0]?.toUpperCase()??"").join("")||"?"}function pe(s){const n=new Date(s);return Number.isNaN(n.getTime())?"":n.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}function _(s){return s<1024?`${s} B`:s<1024*1024?`${Math.round(s/1024)} KB`:`${(s/1024/1024).toFixed(1)} MB`}function ve(s){const[n,m]=l.useState(!1),a=l.useRef(null),y=l.useRef(s.onClose);l.useEffect(()=>m(!1),[s.rules.id]),l.useEffect(()=>{y.current=s.onClose},[s.onClose]),l.useEffect(()=>{const u=document.activeElement instanceof HTMLElement?document.activeElement:null,f=a.current,i=()=>[...f?.querySelectorAll('button:not([disabled]), input:not([disabled]), [href], [tabindex]:not([tabindex="-1"])')??[]];i()[0]?.focus();const b=h=>{if(h.key==="Escape"){h.preventDefault(),y.current();return}if(h.key!=="Tab")return;const p=i();if(p.length===0){h.preventDefault(),f?.focus();return}const C=p[0],N=p.at(-1);h.shiftKey&&document.activeElement===C?(h.preventDefault(),N.focus()):!h.shiftKey&&document.activeElement===N&&(h.preventDefault(),C.focus())};return document.addEventListener("keydown",b),()=>{document.removeEventListener("keydown",b),u?.focus()}},[]);const c=s.mode!=="review";return e.jsx("div",{className:"community-dialog-backdrop",role:"presentation",onMouseDown:s.onClose,children:e.jsxs("section",{ref:a,className:"community-rules-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"community-rules-title",tabIndex:-1,onMouseDown:u=>u.stopPropagation(),children:[e.jsxs("header",{children:[e.jsxs("div",{children:[e.jsxs("small",{children:["Community rules · version ",s.rules.version]}),e.jsx("h2",{id:"community-rules-title",children:s.rules.title})]}),e.jsx("button",{type:"button","aria-label":"Close rules",onClick:s.onClose,children:e.jsx(H,{size:16})})]}),e.jsx("div",{className:"community-rules-body",children:e.jsx(J,{content:s.rules.bodyMarkdown})}),e.jsxs("footer",{children:[c?e.jsxs("label",{className:"community-rules-acceptance",children:[e.jsx("input",{type:"checkbox",checked:n,onChange:u=>m(u.currentTarget.checked)}),e.jsx("span",{children:"I have read and agree to follow these rules."})]}):e.jsx("span",{}),e.jsxs("div",{children:[e.jsx("button",{type:"button",className:"secondary",onClick:s.onClose,children:"Cancel"}),c?e.jsx("button",{type:"button",disabled:!n||s.busy,onClick:()=>{s.onAccept().then(u=>{u&&s.onClose()})},children:s.busy?"Saving…":s.mode==="join"?"Agree and join":"Accept updated rules"}):null]})]})]})})}function Re({communities:s,chat:n,currentUserId:m}){M(s.discoveryError),M(s.previewError),M(s.membershipError?.message),M(n.channelsError,{prefix:"Channels"}),M(n.messagesError,{prefix:"Messages"}),M(n.actionError);const[a,y]=l.useState(null),[c,u]=l.useState(null),f=l.useRef(null),i=s.preview,b=i?.membership?.status==="active",h=!!i?.capabilities.requiresRulesAcceptance,p=l.useMemo(()=>new Map(n.members.map(o=>[o.userId,o])),[n.members]),C=l.useMemo(()=>new Map(n.messages.map(o=>[o.id,o])),[n.messages]),N=n.messages.at(-1)?.sequence??0;if(l.useEffect(()=>{const o=f.current;o&&(o.scrollTop=o.scrollHeight)},[n.selectedChannelId,N]),l.useEffect(()=>{u(null),h&&i?.currentRules&&y("reaccept")},[i?.currentRules,h]),!s.selectedSummary)return e.jsx("section",{className:"community-empty-page",children:e.jsxs("div",{className:"community-discovery-card",children:[e.jsx(O,{size:30}),e.jsx("h1",{children:"Discover communities"}),e.jsx("p",{children:s.discoveryLoading&&s.items.length===0?"Finding communities…":"Preview public conversations and join after accepting each community's rules."}),s.items.length>0?e.jsx("div",{className:"community-discovery-list",children:s.items.map(o=>e.jsxs("button",{type:"button",onClick:()=>s.selectCommunity(o.id),children:[e.jsx(Y,{name:o.displayName,imageUrl:o.imageUrl}),e.jsxs("span",{children:[e.jsx("strong",{children:o.displayName}),e.jsx("small",{children:o.description})]}),e.jsx("em",{children:o.membership?.status==="active"?"Joined":o.featuredAt?"Featured":`${o.memberCount.toLocaleString()} members`})]},o.id))}):s.discoveryLoading?null:e.jsx("div",{className:"community-state",children:"No public communities are available yet."}),e.jsxs("div",{className:"community-discovery-actions",children:[e.jsxs("button",{type:"button",onClick:()=>{s.refresh()},disabled:s.discoveryLoading,children:[e.jsx(F,{size:14})," Refresh"]}),s.nextCursor?e.jsx("button",{type:"button",className:"secondary",onClick:()=>{s.loadMore()},disabled:s.discoveryLoading,children:"Load more"}):null]})]})});if(!i&&s.previewLoading)return e.jsx("section",{className:"community-empty-page",children:e.jsxs("div",{className:"community-empty-card",children:[e.jsx("span",{className:"community-spinner"})," Loading community…"]})});if(!i)return e.jsx("section",{className:"community-empty-page",children:e.jsxs("div",{className:"community-empty-card",children:[e.jsx("h1",{children:s.selectedSummary.displayName}),e.jsx("div",{className:"community-state",children:"This community preview is unavailable."}),e.jsxs("button",{type:"button",onClick:()=>s.selectCommunity(s.selectedSummary.id),children:[e.jsx(F,{size:14})," Retry preview"]})]})});const v=i.currentRules;return e.jsxs("section",{className:"community-view",children:[e.jsxs("header",{className:"community-header",children:[e.jsxs("div",{className:"community-heading",children:[e.jsx(Y,{name:i.displayName,imageUrl:i.imageUrl}),e.jsxs("div",{children:[e.jsx("small",{children:i.displayName}),e.jsx("h1",{children:n.selectedChannel?`# ${n.selectedChannel.displayName}`:i.displayName}),e.jsx("p",{children:n.selectedChannel?.topic||i.description})]})]}),e.jsxs("div",{className:"community-header-actions",children:[e.jsxs("span",{className:"community-member-count",children:[e.jsx(O,{size:14})," ",i.memberCount.toLocaleString()]}),v?e.jsxs("button",{type:"button",className:"secondary",onClick:()=>y("review"),children:[e.jsx(re,{size:14})," Rules"]}):null,b?e.jsx(Ce,{mode:i.membership?.notificationMode??"mentions",busy:s.membershipBusy,onMode:s.updateNotifications,onLeave:s.leave}):null]})]}),e.jsxs("div",{className:"community-chat-main conversation-surface-main",children:[e.jsxs("div",{className:"community-chat-notices",children:[b?h?e.jsxs("div",{className:"community-preview-banner warning",children:[e.jsxs("div",{children:[e.jsx("strong",{children:"The rules have changed"}),e.jsx("span",{children:"Accept the current rules to continue reading live updates and posting."})]}),e.jsx("button",{type:"button",disabled:!v||s.membershipBusy,onClick:()=>y("reaccept"),children:"Review updated rules"})]}):null:e.jsxs("div",{className:"community-preview-banner",children:[e.jsxs("div",{children:[e.jsxs("strong",{children:["Previewing ",i.displayName]}),e.jsx("span",{children:"Read the public conversation, then accept the rules to join and post."})]}),e.jsx("button",{type:"button",disabled:!v||s.membershipBusy,onClick:()=>y("join"),children:"Join community"})]}),n.realtimeError&&b&&!h?e.jsxs("div",{className:"community-realtime-state",children:[e.jsx(ce,{size:14}),e.jsx("span",{children:"Live updates are reconnecting. Loaded messages are still available."})]}):null,n.lostMembership?e.jsx("div",{className:"community-state error",children:"Your membership changed. Refresh the community before continuing."}):null,n.channelsError?e.jsx("button",{type:"button",className:"community-state",onClick:()=>{n.loadChannels()},children:"Retry loading channels"}):null]}),e.jsxs("div",{className:"community-message-pane conversation-message-scroll",ref:f,role:"log","aria-live":"polite","aria-relevant":"additions text","aria-busy":n.messagesLoading,"aria-label":n.selectedChannel?`${i.displayName}, ${n.selectedChannel.displayName}`:i.displayName,tabIndex:0,children:[n.hasMoreBefore?e.jsx("button",{type:"button",className:"community-load-older",disabled:n.olderMessagesLoading,onClick:()=>{n.loadOlder()},children:n.olderMessagesLoading?"Loading…":"Load earlier messages"}):null,n.messagesLoading&&n.messages.length===0?e.jsx("div",{className:"community-message-state",children:"Loading messages…"}):null,n.messagesError?e.jsxs("div",{className:"community-message-state",children:["Messages are unavailable. ",e.jsx("button",{type:"button",onClick:()=>{n.loadMessages()},children:"Retry"})]}):null,!n.messagesLoading&&!n.messagesError&&n.messages.length===0?e.jsx("div",{className:"community-message-state",children:"No messages in this channel yet."}):null,n.messages.map(o=>e.jsx(be,{message:o,author:o.authorUserId?p.get(o.authorUserId)??null:null,own:o.authorUserId===m,attachmentsAccessible:!n.previewMode,membersById:p,messagesById:C,onReply:u,onEdit:n.editMessage,onDelete:n.deleteMessage,onDownloadAttachment:n.downloadAttachment},o.id))]}),b?e.jsxs("div",{className:"community-composer-wrap conversation-composer-shell",children:[n.failedSend?e.jsxs("div",{className:"community-failed-send",children:[e.jsx("span",{children:"Message not sent."}),e.jsx("button",{type:"button",disabled:n.sending,onClick:()=>{n.retrySend()},children:"Retry"}),e.jsx("button",{type:"button",onClick:n.dismissFailedSend,children:"Dismiss"})]}):null,e.jsx(ge,{members:n.members,replyTo:c,busy:n.sending,disabled:h||n.lostMembership||!n.selectedChannel||n.selectedChannel.postingPolicy==="admins"&&i.membership?.role==="member",onCancelReply:()=>u(null),onSearchMembers:n.searchMembers,onSend:n.sendMessage})]}):null]}),a&&v?e.jsx(ve,{rules:v,mode:a,busy:s.membershipBusy,onAccept:a==="join"?s.join:s.acceptRules,onClose:()=>y(null)}):null]})}function Ce(s){const[n,m]=l.useState(!1);return e.jsxs("div",{className:"community-membership-menu",children:[e.jsxs("button",{type:"button",className:"secondary","aria-expanded":n,onClick:()=>m(a=>!a),children:[s.mode==="none"?e.jsx(oe,{size:14}):e.jsx(de,{size:14})," Joined"]}),n?e.jsxs("div",{className:"community-membership-popover",children:[e.jsx("strong",{children:"Notifications"}),["mentions","all","none"].map(a=>e.jsxs("label",{children:[e.jsx("input",{type:"radio",name:"community-notifications",checked:s.mode===a,disabled:s.busy,onChange:()=>{s.onMode(a)}})," ",a==="mentions"?"Mentions":a==="all"?"All messages":"Nothing"]},a)),e.jsx("button",{type:"button",className:"danger",disabled:s.busy,onClick:()=>{window.confirm("Leave this community? You can join again later by accepting the current rules.")&&s.onLeave().then(a=>{a&&m(!1)})},children:"Leave community"})]}):null]})}function Y({name:s,imageUrl:n}){return n?e.jsx("img",{className:"community-icon",src:n,alt:""}):e.jsx("span",{className:"community-icon fallback",children:s.slice(0,2).toUpperCase()})}export{Re as CommunityView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as _,r as v,j as e,K as A,W as x,X as j,J as y,w as P,aA as w}from"./index-B5AN29EO.js";import{C as q}from"./circle-alert-DMHz5tj_.js";import{P as k}from"./play-BIHyH-Yu.js";import{R as C}from"./refresh-cw-Daz0oqwK.js";const N=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],z=_("circle-question-mark",N);function U({runtime:s}){const[a,i]=v.useState(!1),[o,l]=v.useState(""),[n,u]=v.useState(null),t=s.run,h=t.plan,g=B(t),c={run:t},f=S(t.state),r=T(t),R=r?.git?.pullRequest??t.releaseOutcome.pullRequest;v.useEffect(()=>{i(!1),l(""),u(null)},[t.id,t.revision,t.state,h?.id,g?.id]);async function d(p,b){if(!(!b||n)){u(p);try{await b()}finally{u(null)}}}return e.jsxs("section",{className:`composer-create-strip ${f}`,"aria-label":"Create or improve status",children:[e.jsxs("div",{className:"composer-create-strip-heading",children:[f==="danger"?e.jsx(q,{size:15}):t.state==="awaiting_questions"?e.jsx(z,{size:15}):$(t.state)?e.jsx(A,{className:"composer-create-spin",size:15}):e.jsx(x,{size:15}),e.jsx("span",{children:E(t)}),e.jsx("small",{children:t.target.kind})]}),t.state==="awaiting_questions"&&g?e.jsxs("div",{className:"composer-create-question",children:[e.jsx("p",{children:g.prompt}),e.jsx("div",{className:"composer-create-options",children:g.options.map(p=>e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d(`answer:${p.id}`,()=>s.onAnswerQuestion?s.onAnswerQuestion(c,g.id,p.value):Promise.resolve())},children:[e.jsx("span",{children:n===`answer:${p.id}`?"Saving":p.label}),p.description?e.jsx("small",{children:p.description}):null]},p.id))})]}):t.state==="awaiting_plan_approval"&&h?e.jsxs("div",{className:"composer-create-plan-summary",children:[e.jsx("p",{children:h.summary}),e.jsx(m,{run:t}),a?e.jsxs("div",{className:"composer-create-revision",children:[e.jsx("textarea",{rows:2,value:o,placeholder:"Describe the plan revision",onChange:p=>l(p.currentTarget.value)}),e.jsxs("div",{children:[e.jsxs("button",{type:"button",disabled:!o.trim()||!!n,onClick:()=>{d("revise",()=>s.onRevise?s.onRevise(c,o):Promise.resolve())},children:[e.jsx(x,{size:13}),e.jsx("span",{children:n==="revise"?"Saving":"Save revision"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>i(!1),children:[e.jsx(j,{size:13}),e.jsx("span",{children:"Close"})]})]})]}):e.jsxs("div",{className:"composer-create-actions",children:[e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("approve",()=>s.onApprove?s.onApprove(c):Promise.resolve())},children:[e.jsx(y,{size:13}),e.jsx("span",{children:n==="approve"?"Confirming":"Confirm plan"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>i(!0),children:[e.jsx(x,{size:13}),e.jsx("span",{children:"Edit plan"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("cancel",()=>s.onCancel?s.onCancel(c):Promise.resolve())},children:[e.jsx(j,{size:13}),e.jsx("span",{children:n==="cancel"?"Cancelling":"Cancel"})]})]})]}):t.state==="paused"?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:"This work is paused. Resume it when you are ready to continue."}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("resume",()=>s.onResume?s.onResume(c):Promise.resolve())},children:[e.jsx(k,{size:13}),e.jsx("span",{children:n==="resume"?"Resuming":"Resume"})]})]}):t.state==="awaiting_promotion"&&r?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:M(t,r.id)}),e.jsxs("div",{className:"composer-create-actions",children:[e.jsxs("button",{type:"button",disabled:!!n||!F(t,r.id),onClick:()=>{d("apply-candidate",()=>s.onApplyCandidate?s.onApplyCandidate(c,r.id):Promise.resolve())},children:[e.jsx(y,{size:13}),e.jsx("span",{children:n==="apply-candidate"?"Applying":"Apply update"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reject-candidate",()=>s.onRejectCandidate?s.onRejectCandidate(c,r.id):Promise.resolve())},children:[e.jsx(j,{size:13}),e.jsx("span",{children:n==="reject-candidate"?"Keeping current version":"Keep current version"})]})]})]}):t.state==="pull_request_open"&&r&&R?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:t.target.kind==="agent"?"An Agent update review is open. Finish or close it, then refresh its status.":"An external review is open. Merge or close it, then refresh its status."}),e.jsxs("div",{className:"composer-create-actions",children:[e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reconcile-pr",()=>s.onReconcilePullRequest?s.onReconcilePullRequest(c,r.id):Promise.resolve())},children:[e.jsx(C,{size:13}),e.jsx("span",{children:n==="reconcile-pr"?"Checking":"Refresh review"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reject-candidate",()=>s.onRejectCandidate?s.onRejectCandidate(c,r.id):Promise.resolve())},children:[e.jsx(j,{size:13}),e.jsx("span",{children:n==="reject-candidate"?"Closing":"Close review"})]})]})]}):t.state==="blocked"||t.state==="failed"||t.state==="cancelled"?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:t.blockedReason??"This work stopped before it was ready."}),t.state==="blocked"&&r?.git?.worktreePath&&["draft","checking"].includes(r.status)?e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("resume",()=>s.onResume?s.onResume(c):Promise.resolve())},children:[e.jsx(k,{size:13}),e.jsx("span",{children:n==="resume"?"Continuing":"Continue update"})]}):t.state==="blocked"&&r?.git?.pullRequest?.state==="merged"?e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reconcile-pr",()=>s.onReconcilePullRequest?s.onReconcilePullRequest(c,r.id):Promise.resolve())},children:[e.jsx(C,{size:13}),e.jsx("span",{children:n==="reconcile-pr"?"Checking":"Re-run verification"})]}):null]}):t.state==="released"||t.state==="rejected"||t.state==="ready_local"||t.state==="ready"||t.state==="published_hosted"?e.jsxs("div",{className:"composer-create-status-body composer-create-status-body-reveals",children:[e.jsx("p",{children:t.state==="released"?"The Agent update is saved and its Evals passed.":t.state==="rejected"?"The Agent update was not applied.":t.state==="published_hosted"?"Published to the hosted Profile.":"The Agent and its actions are ready to use."}),e.jsx("div",{className:"composer-create-hover-details",children:e.jsx(m,{run:t})})]}):e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:I(t)}),e.jsx(m,{run:t}),t.executionPolicy.pauseAllowed&&s.onPause?e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("pause",()=>s.onPause?.(c)??Promise.resolve())},children:[e.jsx(P,{size:13}),e.jsx("span",{children:n==="pause"?"Pausing":"Pause"})]}):null]})]})}function B(s){return s.questions.find(a=>a.status==="pending"&&a.required)??s.questions.find(a=>a.status==="pending")??null}function m({run:s}){const a=s.plan,i=s.target.kind==="agent",o=i?null:s.sourceRefs[0]??a?.sourcePlan[0]?.path??null,l=s.checkRefs.length||a?.checks.length||0,n=i?0:a?.requirements.length??0,u=i?[]:[...s.sourceRefs,...s.checkRefs].slice(0,4),t=w(a?.metadata);return!o&&l===0&&n===0&&u.length===0&&!t?null:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"composer-create-facts",children:[t?e.jsx("span",{title:t.detail,children:t.label}):null,o?e.jsx("span",{title:o,children:o}):null,l?e.jsx("span",{children:i?`${l} Evals`:s.checkRefs.length?`${s.checkRefs.length} check refs`:`${l} checks`}):null,n?e.jsxs("span",{children:[n," setup rows"]}):null]}),u.length?e.jsx("ul",{className:"composer-create-refs","aria-label":"Source and check refs",children:u.map(h=>e.jsx("li",{children:e.jsx("code",{title:h,children:h})},h))}):null]})}function E(s){const a=s.target.kind==="agent";return s.state==="awaiting_questions"?"Question":s.state==="awaiting_plan_approval"?"Plan":s.state==="applying_source"?a?"Saving Agent":"Applying source":s.state==="running_checks"?"Running Evals":s.state==="evaluating"?a?"Checking Agent":"Evaluating":s.state==="awaiting_promotion"?a?"Update ready":"Candidate ready":s.state==="opening_pull_request"?"Opening review":s.state==="pull_request_open"?"Review open":s.state==="reconciling_release"?a?"Applying update":"Merging change":s.state==="released"?a?"Agent updated":"Released":s.state==="rejected"?a?"Current Agent kept":"Rejected":s.state==="paused"?"Paused":s.state==="ready"||s.state==="ready_local"?"Ready":s.state==="published_hosted"?"Published":s.state==="cancelled"?"Cancelled":s.state==="blocked"?"Blocked":s.state==="failed"?"Failed":s.operation==="improve"?"Improve":"Create"}function I(s){const a=s.state,i=s.target.kind==="agent";return a==="applying_source"?i?"Saving the approved Agent plan.":"Applying the approved source changes.":a==="running_checks"?i?"Running Evals against the Agent.":"Running checks against the candidate.":a==="evaluating"?i?"Checking the Agent's behavior.":"Evaluating the candidate against its Evals.":a==="opening_pull_request"?i?"Preparing the Agent update review.":"Opening the candidate review.":a==="reconciling_release"?"Applying the change and verifying the active Profile.":a==="pushing_hosted"?"Pushing the Profile source.":a==="running_hosted_checks"?i?"Running hosted Evals.":"Running hosted checks.":"Preparing the work."}function S(s){return["released","ready","ready_local","published_hosted"].includes(s)?"success":["rejected","blocked","failed","cancelled"].includes(s)?"danger":["awaiting_questions","awaiting_plan_approval","awaiting_promotion","pull_request_open","paused"].includes(s)?"warning":"info"}function $(s){return["planning","applying_source","running_checks","evaluating","opening_pull_request","reconciling_release","pushing_hosted","running_hosted_checks"].includes(s)}function T(s){return[...s.candidates].reverse().find(a=>a.target.kind==="agent")??null}function F(s,a){const i=s.evaluationReceipts.filter(o=>o.candidateId===a&&o.subject==="candidate");return i.length>0&&i.every(o=>o.status==="passed"&&o.publishGate!=="failed")}function M(s,a){const i=s.evaluationReceipts.find(n=>n.candidateId===a&&n.subject==="active"),o=s.evaluationReceipts.find(n=>n.candidateId===a&&n.subject==="candidate"),l=n=>n?.summaryCounts?`${n.summaryCounts.passed}/${n.summaryCounts.total}`:n?.status??"not run";return s.target.kind==="agent"?`Current Agent: ${l(i)} Evals passed. Updated Agent: ${l(o)} Evals passed.`:`Base Evals: ${l(i)} passed. Candidate Evals: ${l(o)} passed.`}export{U as ComposerCreateImproveStrip};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e,r as m,aX as B,aZ as K,R as H,w as X,aD as V,X as Y,a_ as O,a$ as F,b0 as E,b1 as Z,b2 as J,b3 as Q,b4 as ee,b5 as W,b6 as te,b7 as se,b8 as ae}from"./index-B5AN29EO.js";import{P as I}from"./play-BIHyH-Yu.js";import{r as re}from"./index-BnwYyUgT.js";import{A as ie}from"./AppDialog-T3j6O3yg.js";import{m as q,M as A,a as S,b as ne,n as le}from"./make-agent-tutorial-A2W9Ajwv.js";import{P as oe}from"./PostTrainingStatusPill-B9Eoc4s0.js";function de({accent:t,kind:s}){switch(s){case"goal-state":return e.jsx(h,{accent:t,children:e.jsx(P,{inputs:[{title:"Local goal",detail:"session state",tone:"state"},{title:"Hosted goal",detail:"work item state",tone:"hosted"}],center:{title:"Shared goal record",detail:"same lifecycle language",tone:"gate"},outputs:[{title:"objective",detail:"what success means"},{title:"evidence",detail:"files, checks, logs"},{title:"blockers",detail:"approval or setup"},{title:"completion",detail:"evidence-backed"}]})});case"goal-evidence":return e.jsx(h,{accent:t,children:e.jsx(ce,{center:"evidence state",nodes:[{title:"Prompt",detail:"objective captured"},{title:"Tools",detail:"files, shell, apps"},{title:"Events",detail:"logs and checks",tone:"gate"},{title:"Review",detail:"approval state"}]})});case"goal-controls":return e.jsx(h,{accent:t,children:e.jsx(ue,{})});case"goal-context":return e.jsx(h,{accent:t,children:e.jsx(P,{inputs:[{title:"Chat turns",detail:"requests and approvals"},{title:"Workspace",detail:"files and source refs",tone:"source"}],center:{title:"Goal context",detail:"inspectable record",tone:"gate"},outputs:[{title:"messages",detail:"conversation trace"},{title:"checks",detail:"command output"},{title:"resources",detail:"linked files"},{title:"approval notes",detail:"what changed"}]})});case"subagent-router":return e.jsx(h,{accent:t,children:e.jsx(xe,{})});case"subagent-handoff":return e.jsx(h,{accent:t,children:e.jsx(me,{})});case"subagent-settings":return e.jsx(h,{accent:t,children:e.jsx(je,{})});case"create-plan":return e.jsx(h,{accent:t,children:e.jsx(D,{nodes:[{title:"Ask",detail:"short request"},{title:"Clarify",detail:"focused questions",tone:"warn"},{title:"Plan",detail:"agent/action shape"},{title:"Review gate",detail:"confirm before source",tone:"gate"}]})});case"source-tree":return e.jsx(h,{accent:t,children:e.jsx(M,{heading:"profiles/default",sourceRows:["agent/agent.ts","agent/actions/*","agent/evals/*"],artifactRows:["action-registry.json","inspect.json","validation.json"]})});case"check-stack":return e.jsx(h,{accent:t,children:e.jsx(pe,{})});case"catalog":return e.jsx(h,{accent:t,children:e.jsx(he,{})});case"edit-review":return e.jsx(h,{accent:t,children:e.jsx(ge,{})});case"profile-source":return e.jsx(h,{accent:t,children:e.jsx(M,{heading:"openpond-profile",sourceRows:["openpond-profile.json","profiles/default/agent","profiles/default/settings"],artifactRows:["artifact-index.json","manifest.json","eval-results.json"]})});case"profile-sync":return e.jsx(h,{accent:t,children:e.jsx(fe,{})});case"secret-boundary":return e.jsx(h,{accent:t,children:e.jsx(be,{})});case"dual-source":return e.jsx(h,{accent:t,children:e.jsx(ve,{})});case"work-item":return e.jsx(h,{accent:t,children:e.jsx(Ne,{})});case"publish-snapshot":return e.jsx(h,{accent:t,children:e.jsx(ye,{})});case"setup-gate":return e.jsx(h,{accent:t,children:e.jsx(we,{})});case"insights-loop":return e.jsx(h,{accent:t,children:e.jsx(ke,{})});case"insights-list":return e.jsx(h,{accent:t,children:e.jsx(Ee,{})});case"apps-grid":return e.jsx(h,{accent:t,children:e.jsx(Te,{})});case"channel-router":return e.jsx(h,{accent:t,children:e.jsx(Se,{})});default:return e.jsx(h,{accent:t,children:e.jsx(D,{nodes:[{title:"Profile source",detail:"agent code",tone:"source"},{title:"Checks",detail:"inspect and eval",tone:"gate"},{title:"Catalog",detail:"available actions"}]})})}}function h({accent:t,children:s}){return e.jsxs("div",{className:`get-started-visual accent-${t}`,children:[e.jsx("div",{className:"get-started-visual-accent"}),e.jsx("div",{className:"get-started-visual-inner",children:e.jsx("div",{className:"get-started-diagram",children:s})})]})}function D({nodes:t}){return e.jsx("div",{className:"get-started-flow-graph",children:t.map((s,r)=>e.jsx(Re,{isLast:r===t.length-1,children:e.jsx(i,{...s})},s.title))})}function ce({center:t,nodes:s}){return e.jsxs("div",{className:"get-started-loop-graph",children:[e.jsx("div",{className:"get-started-loop-ring"}),e.jsxs("div",{className:"get-started-loop-center",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:"updated each turn"})]}),s.map(r=>m.createElement(i,{...r,key:r.title}))]})}function ue(){return e.jsxs("div",{className:"get-started-state-graph",children:[e.jsx(i,{title:"active",detail:"next continuation allowed",tone:"state"}),e.jsx(i,{title:"paused",detail:"user stopped the loop",tone:"warn"}),e.jsxs("div",{className:"get-started-state-core",children:[e.jsx("strong",{children:"runtime controls"}),e.jsx("span",{children:"pause, resume, clear, complete"})]}),e.jsx(i,{title:"blocked",detail:"needs input or setup",tone:"warn"}),e.jsx(i,{title:"complete",detail:"evidence-backed finish",tone:"gate"})]})}function P({center:t,inputs:s,outputs:r}){return e.jsxs("div",{className:"get-started-hub-graph",children:[e.jsx("div",{className:"get-started-node-stack",children:s.map(a=>m.createElement(i,{...a,key:a.title}))}),e.jsx(i,{...t,variant:"hub"}),e.jsx("div",{className:"get-started-node-stack compact",children:r.map(a=>m.createElement(i,{...a,key:a.title,variant:"compact"}))})]})}function M({artifactRows:t,heading:s,sourceRows:r}){return e.jsxs("div",{className:"get-started-contract-graph",children:[e.jsx(i,{title:s,detail:"profile source",tone:"source",children:e.jsx(k,{rows:r})}),e.jsx(v,{label:"generates"}),e.jsx(i,{title:".openpond artifacts",detail:"machine-readable contract",tone:"gate",children:e.jsx(k,{rows:t})}),e.jsx("div",{className:"get-started-consumer-strip",children:["app","CLI","checks","hosted"].map(a=>e.jsx("span",{children:a},a))})]})}function pe(){return e.jsxs("div",{className:"get-started-gate-graph",children:[e.jsx(i,{title:"source change",detail:"candidate profile state",tone:"source"}),e.jsx("div",{className:"get-started-check-grid",children:[["inspect","passed"],["build","passed"],["validate","passed"],["eval","setup ready"]].map(([t,s])=>e.jsxs("div",{className:"get-started-check-cell",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:s})]},t))}),e.jsx(i,{title:"activate",detail:"catalog can refresh",tone:"gate"})]})}function he(){return e.jsx(P,{inputs:[{title:"manifest",detail:"checked snapshot",tone:"gate"},{title:"setup state",detail:"ready or required",tone:"warn"}],center:{title:"Profile action catalog",detail:"generated menu",tone:"state"},outputs:[{title:"default.chat",detail:"local chat"},{title:"support.open-items",detail:"connected app"},{title:"release-notes.generate",detail:"hosted action"}]})}function ge(){return e.jsxs("div",{className:"get-started-review-graph",children:[e.jsx(i,{title:"patch plan",detail:"what will change"}),e.jsx(v,{label:"edits"}),e.jsx(i,{title:"source diff",detail:"+ actions, evals, settings",tone:"source",children:e.jsx(k,{rows:["+ agent/actions/support.ts","+ agent/evals/support.eval.ts","~ settings/profile.yaml"]})}),e.jsx(v,{label:"checks"}),e.jsx(i,{title:"review gate",detail:"commit, push, publish",tone:"gate",children:e.jsx(k,{rows:["source diff","check output","setup rows"]})})]})}function xe(){return e.jsx(P,{inputs:[{title:"Goal",detail:"objective + state",tone:"state"},{title:"OpenAI GPT-5.6",detail:"orchestration model",tone:"hosted"}],center:{title:"Main agent",detail:"routes sub agents",tone:"gate"},outputs:[{title:"GLM coding",detail:"copy-on-write edits"},{title:"Research sub agent",detail:"findings + refs"},{title:"Review sub agent",detail:"ranked findings"},{title:"Test sub agent",detail:"validation evidence"}]})}function me(){return e.jsxs("div",{className:"get-started-subagent-handoff-graph",children:[e.jsx(i,{title:"sub agent run",detail:"bounded assignment",tone:"hosted"}),e.jsx(v,{label:"send"}),e.jsx(i,{title:"sub agent message",detail:"short receipt + details",tone:"gate",children:e.jsx(k,{rows:["summary","message id","run id"]})}),e.jsx(v,{label:"wake"}),e.jsx(i,{title:"parent decides",detail:"reply, route, join, cancel",tone:"state"})]})}function je(){return e.jsxs("div",{className:"get-started-subagent-settings-graph",children:[e.jsx(i,{title:"default model",detail:"shared sub agent model",tone:"gate"}),e.jsx("div",{className:"get-started-subagent-role-table",children:[["coding","GLM","copy-on-write"],["research","OpenAI","read only"],["review","default","goal scoped"]].map(([t,s,r])=>e.jsxs("div",{className:"get-started-subagent-role-row",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:s}),e.jsx("em",{children:r})]},t))}),e.jsx(i,{title:"limits",detail:"concurrency + token caps",tone:"warn"})]})}function fe(){return e.jsxs("div",{className:"get-started-sync-graph",children:[e.jsx(i,{title:"local profile",detail:"source + checks",tone:"source"}),e.jsx(v,{label:"push"}),e.jsx(i,{title:"hosted profile ref",detail:"uploaded source",tone:"hosted"}),e.jsx(v,{label:"check"}),e.jsx(i,{title:"published catalog",detail:"manifest snapshot",tone:"gate"})]})}function be(){return e.jsxs("div",{className:"get-started-boundary-graph",children:[e.jsx(i,{title:"source declares",detail:"requirements, not values",tone:"source",children:e.jsx(k,{rows:["SLACK_CHANNEL","drive scope","volume: reports"]})}),e.jsxs("div",{className:"get-started-boundary-wall",children:[e.jsx("strong",{children:"binding boundary"}),e.jsx("span",{children:"values stay outside Git"})]}),e.jsx(i,{title:"platform stores",detail:"runtime setup state",tone:"gate",children:e.jsx(k,{rows:["OAuth lease","secret ref","volume binding"]})})]})}function ve(){return e.jsxs("div",{className:"get-started-dual-source-graph",children:[e.jsx(i,{title:"/openpond/profile",detail:"agent profile source",tone:"source",children:e.jsx(k,{rows:["agent/agent.ts",".openpond/*"]})}),e.jsx(i,{title:"/workspace",detail:"target project source",tone:"source",children:e.jsx(k,{rows:["src/*","package.json"]})}),e.jsxs("div",{className:"get-started-sandbox-core",children:[e.jsx("strong",{children:"hosted sandbox"}),e.jsx("span",{children:"runs work item with separate mounts"})]}),e.jsx(i,{title:"review output",detail:"diffs, logs, checks, setup rows",tone:"gate"})]})}function Ne(){return e.jsx("div",{className:"get-started-timeline-graph",children:[["goal","running"],["logs","captured"],["checks","pending review"],["approval","publish blocked"]].map(([t,s])=>e.jsxs("div",{className:"get-started-timeline-step",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:s})]},t))})}function ye(){return e.jsxs("div",{className:"get-started-publish-graph",children:[e.jsx(i,{title:"source ref",detail:"reviewed profile state",tone:"source"}),e.jsx(v,{label:"hash"}),e.jsx(i,{title:"manifest hash",detail:"immutable contract",tone:"gate"}),e.jsx(v,{label:"publish"}),e.jsx(i,{title:"hosted catalog",detail:"runtime action menu",tone:"hosted"})]})}function we(){return e.jsxs("div",{className:"get-started-setup-graph",children:[e.jsx("div",{className:"get-started-setup-table",children:[["integration","Slack lease","missing"],["secret","REPORT_BUCKET","ready"],["volume","reports","optional"],["target repo","/workspace","required"]].map(([t,s,r])=>e.jsxs("div",{className:"get-started-setup-row",children:[e.jsx("span",{children:t}),e.jsx("strong",{children:s}),e.jsx("em",{children:r})]},s))}),e.jsxs("div",{className:"get-started-gate-decision",children:[e.jsx("strong",{children:"setup-required"}),e.jsx("span",{children:"block before run or publish"})]})]})}function ke(){return e.jsxs("div",{className:"get-started-insights-loop",children:[e.jsx(i,{title:"create_improve.updated",detail:"runtime event stream",tone:"source"}),e.jsx(v,{label:"scan"}),e.jsx(i,{title:"detector",detail:"waiting, blocked, failed",tone:"gate"}),e.jsx(v,{label:"persist"}),e.jsx(i,{title:"insight_items",detail:"active rows + fingerprints",tone:"state"})]})}function Ee(){return e.jsxs("div",{className:"get-started-insights-list",children:[e.jsxs("div",{className:"get-started-insights-toolbar",children:[e.jsx("span",{children:"All"}),e.jsx("span",{children:"Active"}),e.jsx("span",{children:"Blocker"}),e.jsx("span",{children:"Scan"})]}),[["Blocker","failed","Create agent failed"],["Concern","awaiting approval","Edit agent needs plan approval"],["Concern","awaiting answers","Create agent is waiting for input"]].map(([t,s,r])=>e.jsxs("div",{className:"get-started-insight-row",children:[e.jsx("span",{children:t}),e.jsx("strong",{children:r}),e.jsx("em",{children:s})]},r))]})}function Te(){return e.jsxs("div",{className:"get-started-apps-graph",children:[e.jsx("div",{className:"get-started-app-grid",children:Pe.map(t=>e.jsx(z,{app:t},t.id))}),e.jsxs("div",{className:"get-started-router-core",children:[e.jsx("strong",{children:"profile catalog"}),e.jsx("span",{children:"actions + setup + permissions"})]})]})}function Se(){return e.jsxs("div",{className:"get-started-router-graph",children:[e.jsx("div",{className:"get-started-channel-list",children:Ie.map(t=>e.jsx(z,{app:t},t.id))}),e.jsxs("div",{className:"get-started-router-core",children:[e.jsx("strong",{children:"profile router"}),e.jsx("span",{children:"team + profile + catalog"})]}),e.jsx("div",{className:"get-started-router-results",children:["direct answer","profile action","work item","setup-required"].map(t=>e.jsx("span",{children:t},t))})]})}const Pe=[{id:"github",label:"GitHub"},{id:"google",label:"Google Drive"},{id:"slack",label:"Slack"},{id:"microsoft_teams",label:"Microsoft Teams"},{id:"mcp",label:"MCP"}],Ie=[{id:"web",label:"Web"},{id:"slack",label:"Slack"},{id:"microsoft_teams",label:"Microsoft Teams"},{id:"mcp",label:"MCP"}];function z({app:t}){return e.jsxs("span",{className:"get-started-app-icon-tile",children:[e.jsx("span",{className:"get-started-app-icon",children:e.jsx("img",{alt:"",src:Ae(t.id)})}),e.jsx("span",{children:t.label})]})}function Ae(t){return t==="web"?B:K(t)}function i({children:t,detail:s,title:r,tone:a="default",variant:u="default"}){return e.jsxs("div",{className:`get-started-diagram-node tone-${a} variant-${u}`,children:[e.jsx("div",{className:"get-started-node-heading",children:e.jsx("strong",{children:r})}),e.jsx("span",{children:s}),t]})}function v({label:t}){return e.jsxs("div",{className:"get-started-connector","aria-hidden":t?void 0:!0,children:[e.jsx("span",{}),t?e.jsx("em",{children:t}):null]})}function Re({children:t,isLast:s}){return e.jsxs(e.Fragment,{children:[t,s?null:e.jsx(v,{})]})}function k({rows:t}){return e.jsx("div",{className:"get-started-mini-rows",children:t.map(s=>e.jsx("span",{children:s},s))})}const C=5,U=C*1e3;function Ge({deck:t,resetToken:s=0}){const r=Ce(),[a,u]=m.useState(0),[p,x]=m.useState(!1),l=t.slides[a]??t.slides[0],d=a*C,g=t.slides.length*C;m.useEffect(()=>{u(0),x(!1)},[t.id,s]),m.useEffect(()=>{if(!p||r)return;const c=window.setTimeout(()=>{u(N=>N===t.slides.length-1?0:N+1)},U);return()=>window.clearTimeout(c)},[a,t.slides.length,p,r]),m.useEffect(()=>{r&&x(!1)},[r]);function o(){u(c=>c===0?t.slides.length-1:c-1)}function j(){u(c=>c===t.slides.length-1?0:c+1)}return e.jsxs("section",{className:"get-started-deck","aria-label":`${t.label} deck`,children:[e.jsxs("div",{className:"get-started-deck-body",children:[e.jsxs("div",{className:"get-started-deck-copy",children:[e.jsxs("div",{className:"get-started-eyebrow",children:[e.jsx("span",{className:`get-started-accent-dot accent-${l.accent}`}),e.jsx("span",{children:l.eyebrow})]}),e.jsxs("div",{className:"get-started-slide-copy",children:[e.jsx("h2",{children:l.title}),l.body?e.jsx("p",{children:l.body}):null,l.detail?e.jsx("p",{children:l.detail}):null]})]}),e.jsx(de,{accent:l.accent,kind:l.visual})]}),e.jsxs("div",{className:"get-started-deck-footer",children:[e.jsx("div",{className:"get-started-progress",style:{gridTemplateColumns:`repeat(${t.slides.length}, minmax(0, 1fr))`},children:t.slides.map((c,N)=>{const T=N===a,b=N<a;return e.jsx("button",{"aria-label":`Show ${c.title}`,className:"get-started-progress-button",onClick:()=>u(N),type:"button",children:e.jsx("span",{className:`get-started-progress-fill accent-${c.accent} ${T||b?"filled":""}`,style:{transitionDuration:T&&p&&!r?`${U}ms`:"180ms"}})},c.id)})}),e.jsxs("div",{className:"get-started-controls",children:[e.jsxs("div",{className:"get-started-control-group",children:[e.jsx("button",{"aria-label":"Previous slide",className:"get-started-icon-button",onClick:o,type:"button",children:e.jsx(H,{size:16})}),e.jsx("button",{"aria-label":p?"Pause slides":"Play slides",className:"get-started-icon-button",onClick:()=>x(c=>!c),type:"button",children:p?e.jsx(X,{size:16}):e.jsx(I,{size:16})}),e.jsx("button",{"aria-label":"Next slide",className:"get-started-icon-button",onClick:j,type:"button",children:e.jsx(V,{size:16})})]}),e.jsxs("div",{className:"get-started-time",children:[$(d)," / ",$(g)]})]})]})]})}function $(t){const s=Math.floor(t/60),r=t%60;return`${s}:${String(r).padStart(2,"0")}`}function Ce(){const[t,s]=m.useState(!1);return m.useEffect(()=>{if(!window.matchMedia)return;const r=window.matchMedia("(prefers-reduced-motion: reduce)");s(r.matches);const a=()=>s(r.matches);return r.addEventListener("change",a),()=>r.removeEventListener("change",a)},[]),t}const f="cyan",R=[{id:"goal",label:"Goal loop",description:"How local and hosted goals share durable objective state.",slides:[{id:"goal-durable-objective",eyebrow:"Goal state",title:"Goals are durable objectives",body:"A goal is saved state for a local session or hosted work item, not just prompt text.",detail:"Local and hosted goals use the same lifecycle language: objective, evidence, blockers, approvals, checks, and completion.",visual:"goal-state",accent:f}]},{id:"orchestration",label:"Orchestration",description:"How the main agent delegates bounded work to addressable sub agents.",slides:[{id:"orchestration-delegate",eyebrow:"Model routing",title:"OpenAI GPT-5.6 can coordinate GLM coding",body:"Use a strong orchestration model to split a goal into sub agents, then route coding, research, review, testing, docs, or planning to the role and model that fit.",detail:"For example: OpenAI GPT-5.6 coordinates the goal, GLM handles coding in copy-on-write isolation, and every sub agent reports receipts back to the main chat.",visual:"subagent-router",accent:f},{id:"orchestration-handoff",eyebrow:"Handoffs",title:"Sub agents report back deliberately",body:"Sub agents can send compact handoffs back to the parent chat when a blocker, decision, important finding, or final result should return control.",detail:"The parent sees a short sub agent receipt and can respond, message the sub agent, join or cancel, update the goal, or route follow-up work.",visual:"subagent-handoff",accent:f},{id:"orchestration-settings",eyebrow:"Harness settings",title:"Configure each sub agent role",body:"Sub agents have a default model plus per-role provider and model overrides, tool policies, isolation modes, concurrency caps, token caps, and peer-message rules.",detail:"Copy-on-write is the default for write-capable sub agents so parallel edits stay reviewable before merge or handoff; roles can also use worktrees or no isolation.",visual:"subagent-settings",accent:f}]},{id:"build",label:"Create/Edit Loop",description:"How first-class Create and Edit agents are specific implementations on top of goals.",slides:[{id:"build-one-loop",eyebrow:"First-class agents",title:"Create/Edit is built on goals",body:"Create and Edit are first-class agents specifically designed as implementations on top of the goal loop.",detail:"They add source-aware planning, evidence, approvals, checks, and completion before profile files change.",visual:"create-plan",accent:f},{id:"build-profile-source",eyebrow:"Source",title:"Approved work changes profile source",body:"Create generates SDK-backed files. Edit patches existing agent source. Neither becomes loose chat memory.",detail:"Agents, actions, prompts, evals, and non-secret setup declarations live in the profile source tree.",visual:"source-tree",accent:f}]},{id:"insights",label:"Insights Loop",description:"How Insights reviews goal and Create/Improve state.",slides:[{id:"insights-detect",eyebrow:"Detector",title:"Insights runs on top of goals",body:"Insights watches `create_improve.updated` events and turns stuck Create/Improve runs into active rows.",detail:"Awaiting questions, plan approval, blocked, and failed states become concern or blocker rows tied back to the source event.",visual:"insights-loop",accent:f},{id:"insights-action",eyebrow:"Action",title:"Insights stay actionable",body:"Observation scanning is off by default. Open the suggestions inbox in Lab to enable scanning, then review, resolve, or dismiss the resulting observations there.",detail:"Rows persist in `insight_items` and resolve when the pipeline moves forward or the user marks them handled.",visual:"insights-list",accent:f}]},{id:"profile",label:"Profile",description:"How one Git-backed profile repository makes agents portable.",slides:[{id:"profile-git-repo",eyebrow:"Git-backed source",title:"One agent repository travels with you",body:"The profile repo stores agents, actions, prompts, evals, settings, and non-secret config as source.",detail:"Because it is Git-backed, local app, CLI, checks, and hosted runtime can inspect the same durable agent repository.",visual:"profile-source",accent:f},{id:"profile-portable-artifacts",eyebrow:"Portability",title:"Artifacts make agents portable",body:"The SDK emits a manifest, action registry, inspect output, validation report, and eval results from that repo.",detail:"Those contracts let the same agent run locally, publish hosted, or appear in connected apps without rebuilding it by hand.",visual:"source-tree",accent:f}]},{id:"local-hosted",label:"Local <> Hosted",description:"How hosted work keeps sources separate and publishes reviewed snapshots.",slides:[{id:"local-hosted-mounts",eyebrow:"Sandbox",title:"Hosted work keeps sources separate",body:"A hosted work item can mount profile source for the agent and target source for the project being changed.",detail:"The profile mount is `/openpond/profile`. The target project mount is `/workspace` when a target repo is needed.",visual:"dual-source",accent:f},{id:"local-hosted-publish",eyebrow:"Publish",title:"Published snapshots avoid source drift",body:"A checked manifest snapshot becomes the runtime source for hosted profile actions.",detail:"The hosted catalog should point at a reviewed snapshot, not an ambiguous latest file tree.",visual:"publish-snapshot",accent:f}]},{id:"connect-apps",label:"Connect 3rd party apps",description:"How connected apps bind into the same profile catalog.",slides:[{id:"connect-apps-grid",eyebrow:"Apps",title:"Apps connect to the profile catalog",visual:"apps-grid",accent:f},{id:"connect-channels",eyebrow:"Channels",title:"Web, Slack, Teams, and MCP use the same router",visual:"channel-router",accent:f}]}];function _e({badge:t,onPlay:s,titleElement:r="h3",video:a}){const[u,p]=m.useState(!1),x=m.useRef(null),l=r,d=`${a.id}-title`;function g(){if(s){s();return}re.flushSync(()=>p(!0));const o=x.current;o&&(o.load(),o.play().catch(()=>{}))}return e.jsxs(e.Fragment,{children:[e.jsxs("article",{className:"get-started-course-card","aria-labelledby":d,children:[e.jsx("button",{"aria-haspopup":"dialog","aria-label":`Play ${a.title}`,className:"get-started-course-open",onClick:g,type:"button"}),e.jsxs("div",{className:"get-started-course-media",children:[e.jsx("img",{alt:"",className:"get-started-course-poster",decoding:"async",src:a.posterUrl}),e.jsx("span",{className:"get-started-course-play-icon","aria-hidden":"true",children:e.jsx(I,{fill:"currentColor",size:19})}),t?e.jsx("span",{className:"get-started-course-badge","aria-hidden":"true",children:t}):null]}),e.jsxs("div",{className:"get-started-course-copy",children:[e.jsx(l,{id:d,children:a.title}),e.jsxs("div",{className:"get-started-course-meta","aria-label":`${a.title} details`,children:[e.jsx("span",{children:a.eyebrow}),e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("span",{children:a.duration})]}),a.description?e.jsx("p",{children:a.description}):null]})]}),u&&!s?e.jsx(_,{onClose:()=>p(!1),video:a,videoRef:x}):null]})}function _({autoAdvance:t=!1,contained:s=!1,inertExclusionSelector:r,navigation:a,onEnded:u,onClose:p,onPause:x,onTimeUpdate:l,video:d,videoRef:g}){return e.jsxs(ie,{ariaLabel:`${d.title} player`,backdropClassName:"get-started-course-player-backdrop",className:"get-started-course-player",contained:s,inertExclusionSelector:r,onClose:p,children:[e.jsxs("header",{className:"get-started-course-player-header",children:[e.jsxs("div",{className:"get-started-course-player-copy",children:[e.jsx("strong",{children:d.title}),e.jsxs("span",{children:[a?`Lesson ${a.currentIndex+1} of ${a.total}`:d.eyebrow," · ",d.duration]})]}),e.jsxs("div",{className:"get-started-course-player-actions",children:[a?e.jsxs(e.Fragment,{children:[e.jsx("button",{"aria-label":"Previous lesson",disabled:!a.onPrevious,onClick:a.onPrevious,title:"Previous lesson",type:"button",children:e.jsx(H,{size:17})}),e.jsx("button",{"aria-label":"Next lesson",disabled:!a.onNext,onClick:a.onNext,title:"Next lesson",type:"button",children:e.jsx(V,{size:17})})]}):null,e.jsx("button",{"aria-label":"Close video player","data-autofocus":!0,onClick:p,title:"Close",type:"button",children:e.jsx(Y,{size:18})})]})]}),e.jsx("div",{className:"get-started-course-player-body",children:e.jsx("div",{className:"get-started-course-player-media",children:e.jsx("div",{className:"get-started-course-player-stage",children:e.jsx("video",{"aria-label":`${d.title} video`,className:"get-started-course-player-video",controls:!0,"data-auto-advance":t?"true":void 0,onEnded:o=>u?.(o.currentTarget),onPause:o=>x?.(o.currentTarget),onTimeUpdate:o=>l?.(o.currentTarget),playsInline:!0,poster:d.posterUrl,preload:"metadata",ref:g,src:d.videoUrl,children:d.captionsUrl?e.jsx("track",{kind:"captions",label:"English",src:d.captionsUrl,srcLang:"en"}):null},d.id)})})})]})}const Le=[2,1,0];function Oe({activeVideoId:t="play-all",autoplay:s=!0,onClose:r,onOpen:a,onSelectVideo:u,open:p=!1,playRequestId:x=0}={}){const l=m.useRef(null),d=q(t);m.useEffect(()=>{if(!p)return;const o=l.current;o&&(o.load(),x>0&&o.play().catch(()=>{}))},[d.id,p,x]);function g(){if(!s||!u)return;const o=le(t);o&&u(o)}return e.jsxs("section",{className:"get-started-series","aria-label":A,children:[e.jsxs("article",{className:"get-started-playlist-card","aria-labelledby":"make-agent-series-title",children:[e.jsx("button",{"aria-haspopup":"dialog","aria-label":`Open ${A} playlist`,className:"get-started-playlist-open",onClick:a,type:"button"}),e.jsxs("div",{className:"get-started-playlist-stack","aria-hidden":"true",children:[Le.map((o,j)=>{const c=S[o];return e.jsx("div",{className:`get-started-playlist-poster layer-${j+1}`,children:e.jsx("img",{alt:"",decoding:"async",src:c.posterUrl})},c.id)}),e.jsx("span",{className:"get-started-course-play-icon",children:e.jsx(I,{fill:"currentColor",size:19})}),e.jsxs("span",{className:"get-started-playlist-count",children:[S.length," lessons"]})]}),e.jsxs("div",{className:"get-started-playlist-copy",children:[e.jsx("h1",{id:"make-agent-series-title",children:A}),e.jsxs("div",{className:"get-started-course-meta",children:[e.jsx("span",{children:"Walkthrough playlist"}),e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("span",{children:ne})]}),e.jsx("p",{children:"Create, use, and improve an Account Health Agent, or play the full walkthrough."})]})]}),p&&r&&u?e.jsx(De,{activeVideoId:t,autoplay:s,contained:!0,inertExclusionSelector:".get-started-learning-panel",onClose:r,onEnded:g,onSelectVideo:u,videoRef:l}):null]})}function De({activeVideoId:t="play-all",autoplay:s=!0,contained:r=!1,inertExclusionSelector:a,onClose:u,onEnded:p,onSelectVideo:x=()=>{},videoRef:l}){const d=q(t),g=S.findIndex(c=>c.videoId===t),o=g>=0?S[g+1]?.videoId:void 0,j=g>0?S[g-1]?.videoId:void 0;return e.jsx(_,{autoAdvance:s&&g>=0,contained:r,inertExclusionSelector:a,navigation:g>=0?{currentIndex:g,onNext:o?()=>x(o):void 0,onPrevious:j?()=>x(j):void 0,total:S.length}:void 0,onClose:u,onEnded:p?()=>p():void 0,video:d,videoRef:l})}const G=Z,Me=[2,1,0];function Ue({activeLessonIndex:t,fullCourseSelected:s=!1,autoplay:r=!0,open:a,onClose:u,onOpen:p,onSelectLesson:x,playRequestId:l=0}){const d=m.useRef(null),g=m.useRef(null),o=E[t]??E[0],j=s?F:o;m.useEffect(()=>{if(!a)return;const n=d.current;if(!n)return;let y=!1;g.current=null,n.load();const w=()=>{if(y)return;const L=Q(ee()[j.id]);L>0&&(n.currentTime=L),l>0&&n.play().catch(()=>{})};return n.readyState>=HTMLMediaElement.HAVE_METADATA?w():n.addEventListener("loadedmetadata",w,{once:!0}),()=>{y=!0,n.removeEventListener("loadedmetadata",w),Number.isFinite(n.duration)&&n.duration>0&&n.currentTime>0&&O({completed:n.ended,currentTime:n.currentTime,duration:n.duration,lessonId:j.id})}},[j.id,a,l]);function c(n,y=!1){!Number.isFinite(n.duration)||n.duration<=0||O({completed:y,currentTime:y?n.duration:n.currentTime,duration:n.duration,lessonId:j.id})}function N(n){if(!Number.isFinite(n.duration)||n.duration<=0)return;const y=Math.min(99,Math.floor(n.currentTime/n.duration*100)),w=g.current;w?.lessonId===j.id&&w.percent===y||(g.current={lessonId:j.id,percent:y},c(n))}function T(n){c(n,!0),r&&!s&&b()}function b(){const n=W(t);n!==null&&x(n)}return e.jsxs("section",{className:"get-started-series","aria-label":G,children:[e.jsxs("article",{className:"get-started-playlist-card","aria-labelledby":"post-training-series-title",children:[e.jsx("button",{"aria-haspopup":"dialog","aria-label":`Open ${G} playlist`,className:"get-started-playlist-open",onClick:p,type:"button"}),e.jsxs("div",{className:"get-started-playlist-stack","aria-hidden":"true",children:[Me.map((n,y)=>{const w=E[n];return e.jsx("div",{className:`get-started-playlist-poster layer-${y+1}`,children:e.jsx("img",{alt:"",decoding:"async",src:w.posterUrl})},w.id)}),e.jsx("span",{className:"get-started-course-play-icon",children:e.jsx(I,{fill:"currentColor",size:19})}),e.jsxs("span",{className:"get-started-playlist-count",children:[E.length," lessons"]})]}),e.jsxs("div",{className:"get-started-playlist-copy",children:[e.jsxs("div",{className:"get-started-playlist-title",children:[e.jsx("h1",{id:"post-training-series-title",children:G}),e.jsx(oe,{})]}),e.jsxs("div",{className:"get-started-course-meta",children:[e.jsx("span",{children:"Learning series"}),e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("span",{children:J})]}),e.jsx("p",{children:"Rewards, GRPO, RLVR, distillation, experiments, and a technical appendix."})]})]}),a?e.jsx($e,{activeLessonIndex:t,autoplay:r,fullCourseSelected:s,onClose:u,onEnded:T,onPause:c,onSelectLesson:x,onTimeUpdate:N,videoRef:d}):null]})}function $e({activeLessonIndex:t,autoplay:s,fullCourseSelected:r,onClose:a,onEnded:u,onPause:p,onSelectLesson:x,onTimeUpdate:l,videoRef:d}){const g=E[t]??E[0],o=W(t),j=r?F:g;return e.jsx(_,{autoAdvance:s&&!r,contained:!0,inertExclusionSelector:".get-started-learning-panel",navigation:r?void 0:{currentIndex:t,onNext:o!==null?()=>x(o):void 0,onPrevious:t>0?()=>x(t-1):void 0,total:E.length},onClose:a,onEnded:u,onPause:p,onTimeUpdate:l,video:j,videoRef:d})}const He={captionsUrl:ae,description:"See how Profile Agents combine chat, direct actions, shared runtime surfaces, and Evals.",duration:"1:16",eyebrow:"Agent overview",id:"openpond-agent-overview",posterUrl:se,title:"What is an OpenPond Agent?",videoUrl:te};function Ke({makeAgentTutorial:t,onCloseMakeAgentTutorial:s,onClosePostTrainingCourse:r,onOpenMakeAgentTutorial:a,onOpenPostTrainingCourse:u,onSelectMakeAgentTutorialVideo:p,onSelectPostTrainingLesson:x,postTrainingCourse:l}){const[d,g]=m.useState("goal"),[o,j]=m.useState(0),c=m.useMemo(()=>R.find(b=>b.id===d)??R[0],[d]),N=!!(l||t);function T(b){g(b),j(n=>n+1)}return e.jsx("section",{className:`get-started-view ${N?"course-player-open":""}`,"aria-label":"Get started",children:e.jsxs("div",{className:"get-started-shell",children:[e.jsxs("section",{className:"get-started-start-here","aria-labelledby":"get-started-start-here-title",children:[e.jsx("header",{className:"get-started-section-heading",children:e.jsx("h2",{id:"get-started-start-here-title",children:"Start here"})}),e.jsx("div",{className:"get-started-learning-grid",children:e.jsx(_e,{titleElement:"h1",video:He})})]}),e.jsxs("section",{className:"get-started-walkthroughs","aria-labelledby":"get-started-walkthroughs-title",children:[e.jsx("header",{className:"get-started-section-heading",children:e.jsx("h2",{id:"get-started-walkthroughs-title",children:"Walkthroughs"})}),e.jsx("div",{className:"get-started-learning-grid",children:e.jsx(Oe,{activeVideoId:t?.videoId??"create",autoplay:t?.autoplay??!0,onClose:s,onOpen:a,onSelectVideo:p,open:!!t,playRequestId:t?.playRequestId??0})})]}),e.jsxs("section",{className:"get-started-learn","aria-labelledby":"get-started-learn-title",children:[e.jsx("header",{className:"get-started-section-heading",children:e.jsx("h2",{id:"get-started-learn-title",children:"Learn deeper"})}),e.jsx("div",{className:"get-started-learning-grid",children:e.jsx(Ue,{activeLessonIndex:l?.lessonIndex??0,autoplay:l?.autoplay??!0,fullCourseSelected:l?.fullCourseSelected??!1,open:!!l,onClose:r,onOpen:u,onSelectLesson:x,playRequestId:l?.playRequestId??0})})]}),N?null:e.jsxs("section",{className:"get-started-guides","aria-labelledby":"openpond-guides-title",children:[e.jsx("header",{className:"get-started-section-heading",children:e.jsx("h2",{id:"openpond-guides-title",children:"How OpenPond works"})}),e.jsx("div",{className:"surface-tabs get-started-tabs",role:"tablist","aria-label":"Get started topics",children:R.map(b=>e.jsx("button",{"aria-selected":c.id===b.id,className:c.id===b.id?"active":"",onClick:()=>T(b.id),role:"tab",type:"button",children:e.jsx("span",{children:b.label})},b.id))}),e.jsx(Ge,{deck:c,resetToken:o},c.id)]})]})})}export{Ke as GetStartedView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.get-started-view{display:grid;align-content:start;width:min(1040px,calc(100% - 56px));min-width:0;justify-self:center;padding:34px 0 54px;color:var(--text)}.get-started-view.course-player-open{position:relative;align-self:stretch;align-content:stretch;justify-self:stretch;width:100%;height:100%;overflow:hidden;padding:0}.get-started-shell{display:grid;min-width:0;gap:46px}.get-started-learning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-width:0}.get-started-series{min-width:0}.get-started-playlist-card{position:relative;min-width:0;color:#f5f5f5}.get-started-playlist-open{position:absolute;inset:0;z-index:5;width:100%;border:0;border-radius:12px;background:transparent;padding:0;cursor:pointer}.get-started-playlist-open:focus-visible{outline:2px solid rgba(103,232,249,.72);outline-offset:4px}.get-started-playlist-stack{position:relative;aspect-ratio:16 / 10;margin-right:8px}.get-started-playlist-poster{position:absolute;width:calc(100% - 12px);aspect-ratio:16 / 9;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#0d0e11;box-shadow:0 8px 20px #00000042;transition:transform .22s ease}.get-started-playlist-poster img{display:block;width:100%;height:100%;object-fit:cover}.get-started-playlist-poster.layer-1{top:0;left:12px;opacity:.48}.get-started-playlist-poster.layer-2{top:6px;left:6px;opacity:.72}.get-started-playlist-poster.layer-3{top:12px;left:0}.get-started-playlist-card:hover .get-started-playlist-poster.layer-1,.get-started-playlist-card:focus-within .get-started-playlist-poster.layer-1{transform:translate(3px,-2px)}.get-started-playlist-card:hover .get-started-playlist-poster.layer-3,.get-started-playlist-card:focus-within .get-started-playlist-poster.layer-3{transform:translate(-2px,2px)}.get-started-playlist-stack .get-started-course-play-icon{top:calc(50% + 4px);left:calc(50% - 6px);z-index:3}.get-started-playlist-count{position:absolute;right:13px;bottom:11px;z-index:3;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:#050505e0;color:#c7c7c7;padding:4px 7px;font-size:10px;font-weight:600}.get-started-playlist-copy{display:grid;gap:7px;padding:10px 0 8px}.get-started-playlist-copy h1{margin:0;color:#f5f5f5;font-size:18px;font-weight:620;letter-spacing:-.025em;line-height:1.25}.get-started-playlist-title,.get-started-learning-toolbar-title{display:flex;align-items:center;gap:7px;min-width:0}.get-started-playlist-status{display:inline-flex;align-items:center;flex:0 0 auto;min-height:17px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#ffffff0e;color:#a5a5a5;padding:1px 6px;font-size:9px;font-weight:600;line-height:1}.get-started-playlist-status:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px}.get-started-playlist-copy p{display:-webkit-box;min-height:38px;margin:0;overflow:hidden;color:#858585;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.get-started-course-card{position:relative;min-width:0;color:#f5f5f5}.get-started-course-open{position:absolute;inset:0;z-index:2;width:100%;border:0;border-radius:12px 12px 0 0;background:transparent;padding:0;cursor:pointer}.get-started-course-open:focus-visible{outline:2px solid rgba(103,232,249,.72);outline-offset:4px}.get-started-course-media{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px 12px 0 0;background:#0d0e11}.get-started-course-poster{display:block;width:100%;height:100%;object-fit:cover;background:#0d0e11;transition:transform .28s ease}.get-started-course-card:hover .get-started-course-poster,.get-started-course-card:focus-within .get-started-course-poster{transform:scale(1.045)}.get-started-course-play-icon{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:#080808d1;color:#f5f5f5;box-shadow:0 12px 32px #0000005c;transform:translate(-50%,-50%);transition:transform .16s ease,background .16s ease}.get-started-course-badge{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;min-width:28px;height:22px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:#050505db;color:#c7c7c7;font-size:10px;font-variant-numeric:tabular-nums;font-weight:620}.get-started-course-card:hover .get-started-course-play-icon,.get-started-course-card:focus-within .get-started-course-play-icon{background:#141414f0;transform:translate(-50%,-50%) scale(1.05)}.get-started-course-copy{display:grid;gap:7px;padding:14px 0 8px}.get-started-course-meta{display:flex;align-items:center;gap:7px;color:#888;font-size:11px;font-weight:500}.get-started-course-copy h1,.get-started-course-copy h2,.get-started-course-copy h3,.get-started-section-heading h2{margin:0;color:#f5f5f5;font-weight:620;letter-spacing:-.025em}.get-started-course-copy h1,.get-started-course-copy h2,.get-started-course-copy h3{font-size:17px;line-height:1.25}.get-started-course-copy h3{font-weight:620}.get-started-course-copy p{display:-webkit-box;min-height:38px;margin:0;overflow:hidden;color:#858585;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.get-started-course-player-backdrop{position:absolute;inset:0;z-index:20;display:grid;min-width:0;min-height:0;background:#050505;padding:16px}.get-started-course-player{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;outline:0}.get-started-course-player-body,.get-started-course-player-media{display:grid;min-width:0;min-height:0}.get-started-course-player-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;padding:0 2px 14px}.get-started-course-player-copy{display:grid;gap:3px;min-width:0}.get-started-course-player-header strong,.get-started-course-player-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.get-started-course-player-header strong{color:#f5f5f5;font-size:14px;font-weight:600}.get-started-course-player-header span{color:#858585;font-size:12px}.get-started-course-player-actions{display:flex;align-items:center;gap:4px}.get-started-course-player-actions button{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:#aaa;padding:0;cursor:pointer}.get-started-course-player-actions button:hover:not(:disabled){background:#ffffff14;color:#f5f5f5}.get-started-course-player-actions button:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px}.get-started-course-player-actions button:disabled{color:#3f3f3f;cursor:default}.get-started-course-player-stage{display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;border-radius:8px;background:#0d0e11}.get-started-course-player-video{display:block;width:100%;height:100%;object-fit:contain;background:#0d0e11}.get-started-learning-panel{grid-template-rows:41px 48px minmax(0,1fr)}.get-started-learning-panel-tabs{border-bottom:1px solid var(--border)}.get-started-learning-panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;border-bottom:1px solid var(--border);padding:0 10px 0 12px}.get-started-learning-panel-toolbar>span{display:grid;gap:2px;min-width:0}.get-started-learning-panel-toolbar strong,.get-started-learning-panel-toolbar small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.get-started-learning-panel-toolbar strong{color:#e4e4e4;font-size:12px;font-weight:600}.get-started-learning-panel-toolbar small{color:#747474;font-size:9px}.get-started-learning-autoplay{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;border:0;background:transparent;color:#777;padding:4px 0;font-size:9px;cursor:pointer}.get-started-learning-autoplay:hover,.get-started-learning-autoplay.active{color:#d4d4d4}.get-started-learning-autoplay>i{position:relative;width:23px;height:13px;border-radius:999px;background:#343434;transition:background .14s ease}.get-started-learning-autoplay>i:after{content:"";position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:#898989;transition:background .14s ease,transform .14s ease}.get-started-learning-autoplay.active>i{background:#555}.get-started-learning-autoplay.active>i:after{background:#eee;transform:translate(10px)}.get-started-learning-autoplay:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px;border-radius:4px}.get-started-learning-panel-toolbar.file>span{grid-template-columns:minmax(0,auto) auto;align-items:baseline;gap:6px}.get-started-learning-panel-body{min-width:0;min-height:0;overflow:hidden}.get-started-learning-panel-body.lessons{display:grid;grid-template-rows:minmax(0,1fr) auto}.get-started-learning-panel-body ol{display:grid;align-content:start;gap:3px;min-height:0;margin:0;overflow:auto;padding:7px;list-style:none}.get-started-learning-panel-body li{min-width:0}.get-started-learning-lesson-card{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:stretch;column-gap:3px;row-gap:2px;min-width:0;border-radius:7px;background:transparent}.get-started-learning-lesson-button{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-width:0;border:0;border-radius:6px 0 0 6px;background:transparent;color:#a0a0a0;padding:6px;text-align:left;cursor:pointer}.get-started-learning-lesson-button[aria-current=true]{color:#f1f1f1}.get-started-learning-script-button{display:grid;place-items:center;width:36px;min-width:36px;border:0;border-radius:0 6px 6px 0;background:transparent;color:#686868;padding:0;cursor:pointer}.get-started-learning-script-button:hover{color:#dedede}.get-started-learning-script-button:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:1px}.get-started-learning-progress{grid-column:1 / -1;height:2px;margin:0 6px 3px;overflow:hidden;border-radius:999px;background:#ffffff13}.get-started-learning-progress>i{display:block;height:100%;border-radius:inherit;background:#8c8c8c;transition:width .22s linear}.get-started-learning-progress.complete>i{background:#c2c2c2}.get-started-learning-full-video{border-top:1px solid var(--border);padding:6px 7px 7px}.get-started-learning-full-video>button{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;border:0;border-radius:6px;background:transparent;color:#999;padding:7px 6px;text-align:left;cursor:pointer}.get-started-learning-full-video>button:hover,.get-started-learning-full-video>button[aria-current=true]{color:#f1f1f1}.get-started-learning-full-video>button:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:1px}.get-started-learning-full-video-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffffff12}.get-started-learning-full-video>button>span:last-child{display:grid;gap:2px;min-width:0}.get-started-learning-full-video strong{font-size:11px;font-weight:600}.get-started-learning-full-video small{color:#747474;font-size:9px}.get-started-learning-panel-body li img{display:block;width:74px;aspect-ratio:16 / 9;border-radius:4px;object-fit:cover}.get-started-learning-panel-body li span{display:grid;gap:3px;min-width:0}.get-started-learning-panel-body li small{color:#777;font-size:9px}.get-started-learning-panel-body li strong{overflow:hidden;font-size:11px;font-weight:570;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.get-started-learning-panel-body.script{display:grid}.get-started-learning-panel-body.script>.workspace-markdown-preview{min-height:0}.get-started-learning-panel-body.make-agent-steps{overflow:auto;padding:8px}.make-agent-steps>section+section{margin-top:12px}.make-agent-steps h3{margin:0 0 5px;color:#d8d8d8;font-size:11px;font-weight:620}.make-agent-steps ol{gap:2px;overflow:visible;padding:0}.make-agent-steps li{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:7px;border-radius:6px;padding:6px}.make-agent-steps li>span{color:#6f6f6f;font-size:9px;line-height:1.4}.make-agent-steps li>div{display:grid;gap:3px;min-width:0}.make-agent-steps li strong{white-space:normal}.make-agent-steps li p{margin:0;color:#858585;font-size:10px;line-height:1.4}.get-started-script-status{display:grid;place-content:center;justify-items:center;gap:9px;min-height:0;color:#777;padding:20px;text-align:center;font-size:11px}.get-started-script-status.error{color:#a3a3a3}.get-started-script-status button{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#ffffff0d;color:#d0d0d0;padding:0 10px;font-size:10px;cursor:pointer}.get-started-learn,.get-started-walkthroughs,.get-started-guides{display:grid;min-width:0;gap:16px}.get-started-section-heading{display:grid;width:100%;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:10px}.get-started-section-heading h2{font-size:22px;line-height:1.2}.get-started-tabs{grid-auto-columns:minmax(118px,1fr)}.get-started-icon-button:focus-visible,.get-started-progress-button:focus-visible{outline:2px solid rgba(6,182,212,.52);outline-offset:2px}.get-started-tabs span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.get-started-deck{display:grid;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#070707}.get-started-deck-body{display:grid;grid-template-columns:minmax(260px,.88fr) minmax(300px,1.12fr);gap:24px;min-height:414px;min-width:0;padding:26px}.get-started-deck-copy{display:grid;align-content:center;gap:20px;min-width:0}.get-started-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#929292;font-size:13px;font-weight:520}.get-started-accent-dot{width:8px;height:8px;border-radius:999px}.get-started-slide-copy{display:grid;gap:12px}.get-started-slide-copy h2{margin:0;color:#f5f5f5;font-size:32px;font-weight:620;line-height:1.12}.get-started-slide-copy p{margin:0;color:#c8c8c8;font-size:15px;line-height:1.65}.get-started-slide-copy p:last-child{color:#888;font-size:13px}.get-started-deck-footer{display:grid;gap:12px;border-top:1px solid rgba(255,255,255,.08);padding:14px}.get-started-progress{display:grid;gap:7px}.get-started-progress-button{height:8px;min-width:24px;overflow:hidden;border:0;border-radius:999px;background:#ffffff1a;padding:0}.get-started-progress-fill{display:block;width:100%;height:100%;border-radius:inherit;transform:scaleX(0);transform-origin:left center;transition:transform .18s ease}.get-started-progress-fill.filled{transform:scaleX(1)}.get-started-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.get-started-control-group{display:inline-flex;align-items:center;gap:3px}.get-started-icon-button{display:grid;place-items:center;width:31px;height:31px;border:0;border-radius:7px;background:transparent;color:var(--muted);padding:0}.get-started-icon-button:hover{background:#ffffff14;color:var(--text)}.get-started-time{color:#777;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.get-started-visual{position:relative;display:grid;min-height:310px;min-width:0;overflow:hidden;border-radius:8px;background:#0d0d0d;box-shadow:inset 0 0 0 1px #ffffff0b}.get-started-visual-accent{display:none}.get-started-visual-inner{display:grid;min-width:0;padding:18px}.accent-cyan,.accent-cyan .get-started-visual-accent{background:#22d3ee}.get-started-visual.accent-cyan{background:#0d0d0d}.get-started-visual.accent-cyan{--get-started-accent: #22d3ee;--get-started-accent-soft: rgba(34, 211, 238, .12)}.get-started-diagram{position:relative;display:grid;align-items:center;min-height:100%;min-width:0;isolation:isolate}.get-started-diagram:before{position:absolute;inset:0;z-index:-1;border-radius:8px;border:1px dashed rgba(255,255,255,.055);content:""}.get-started-diagram-node{position:relative;z-index:1;display:grid;align-content:start;gap:6px;min-height:72px;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.105);border-radius:8px;background:#101010;box-shadow:inset 0 1px #ffffff0d,0 12px 28px #00000038;padding:11px}.get-started-diagram-node.tone-source,.get-started-diagram-node.tone-state,.get-started-diagram-node.tone-review,.get-started-diagram-node.tone-hosted,.get-started-diagram-node.tone-warn{border-color:#ffffff20}.get-started-diagram-node.tone-gate{border-color:#22d3ee5c;background:#101010}.get-started-diagram-node.variant-hub{align-content:center;justify-items:center;min-height:132px;text-align:center}.get-started-diagram-node.variant-compact{min-height:54px;padding:9px 10px}.get-started-node-heading{display:flex;align-items:center;gap:7px;min-width:0}.get-started-node-heading strong{overflow:hidden;color:#f2f2f2;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:620}.get-started-diagram-node>span{overflow:hidden;color:#9f9f9f;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.get-started-mini-rows{display:grid;gap:5px;margin-top:3px}.get-started-mini-rows span,.get-started-consumer-strip span,.get-started-insights-toolbar span,.get-started-router-results span{overflow:hidden;border-radius:6px;background:#fff1;color:#cfcfcf;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.get-started-connector{display:grid;align-items:center;justify-items:center;gap:3px;min-width:28px;color:var(--get-started-accent)}.get-started-connector>span{width:100%;min-width:18px;border-top:1px dashed rgba(255,255,255,.24)}.get-started-connector em{max-width:64px;overflow:hidden;color:#8f8f8f;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal}.get-started-flow-graph,.get-started-insights-loop,.get-started-subagent-handoff-graph,.get-started-review-graph,.get-started-sync-graph,.get-started-publish-graph{display:flex;align-items:center;gap:8px;min-width:0}.get-started-flow-graph>.get-started-diagram-node,.get-started-insights-loop>.get-started-diagram-node,.get-started-subagent-handoff-graph>.get-started-diagram-node,.get-started-review-graph>.get-started-diagram-node,.get-started-sync-graph>.get-started-diagram-node,.get-started-publish-graph>.get-started-diagram-node{flex:1 1 0}.get-started-hub-graph{position:relative;display:grid;grid-template-columns:minmax(112px,.9fr) minmax(132px,.8fr) minmax(124px,1fr);align-items:center;gap:12px;min-width:0}.get-started-hub-graph:before{position:absolute;top:50%;right:20%;left:20%;border-top:1px dashed rgba(255,255,255,.2);content:""}.get-started-node-stack{display:grid;gap:10px;min-width:0}.get-started-node-stack.compact{gap:7px}.get-started-loop-graph,.get-started-state-graph{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:74px 14px;min-height:274px;min-width:0}.get-started-loop-ring{position:absolute;top:50%;left:50%;width:178px;height:178px;border:1px dashed rgba(255,255,255,.2);border-radius:999px;transform:translate(-50%,-50%)}.get-started-loop-ring:after{position:absolute;top:18px;right:18px;width:10px;height:10px;border-top:2px solid var(--get-started-accent);border-right:2px solid var(--get-started-accent);content:"";transform:rotate(38deg)}.get-started-loop-center,.get-started-state-core,.get-started-sandbox-core,.get-started-gate-decision,.get-started-router-core,.get-started-boundary-wall{display:grid;place-items:center;gap:6px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#101010;color:#f1f1f1;padding:13px;text-align:center;box-shadow:inset 0 1px #ffffff0d}.get-started-loop-center,.get-started-state-core{position:absolute;top:50%;left:50%;z-index:2;width:132px;min-height:92px;transform:translate(-50%,-50%)}.get-started-loop-center strong,.get-started-state-core strong,.get-started-sandbox-core strong,.get-started-gate-decision strong,.get-started-router-core strong,.get-started-boundary-wall span{color:#f4f4f4;font-size:13px;font-weight:620}.get-started-state-core span,.get-started-sandbox-core span,.get-started-gate-decision span,.get-started-router-core span{color:#9d9d9d;font-size:12px}.get-started-contract-graph,.get-started-gate-graph{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.get-started-consumer-strip{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.get-started-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.get-started-check-cell{display:grid;gap:4px;min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0e;padding:9px}.get-started-check-cell strong,.get-started-check-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.get-started-check-cell strong{color:#f0f0f0;font-size:12px}.get-started-check-cell span{color:#929292;font-size:11px}.get-started-gate-graph{grid-template-columns:minmax(104px,.8fr) minmax(168px,1.05fr) minmax(104px,.8fr)}.get-started-boundary-graph,.get-started-apps-graph,.get-started-insights-list,.get-started-setup-graph,.get-started-subagent-settings-graph,.get-started-router-graph{display:grid;align-items:center;gap:12px;min-width:0}.get-started-boundary-graph{grid-template-columns:minmax(0,1fr) minmax(82px,.42fr) minmax(0,1fr)}.get-started-apps-graph{grid-template-columns:minmax(0,1fr) minmax(136px,.65fr)}.get-started-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}.get-started-app-icon-tile{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.095);border-radius:8px;background:#ffffff0e;color:#d6d6d6;padding:8px 9px}.get-started-app-icon{display:grid;flex:0 0 auto;place-items:center;width:24px;height:24px;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:#f7f7f7}.get-started-app-icon img{display:block;width:16px;height:16px;object-fit:contain}.get-started-app-icon-tile>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:560}.get-started-insights-list{align-content:center;gap:8px}.get-started-insights-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.get-started-insight-row{display:grid;grid-template-columns:minmax(64px,.34fr) minmax(0,1fr) minmax(92px,.52fr);align-items:center;gap:8px;min-width:0;border:1px solid rgba(255,255,255,.095);border-radius:8px;background:#ffffff0e;padding:8px 10px}.get-started-insight-row span,.get-started-insight-row strong,.get-started-insight-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.get-started-insight-row span,.get-started-insight-row em{color:#9a9a9a;font-size:12px;font-style:normal}.get-started-insight-row strong{color:#eee;font-size:12px;font-weight:600}.get-started-boundary-wall{min-height:132px}.get-started-dual-source-graph{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.get-started-sandbox-core,.get-started-dual-source-graph>.get-started-diagram-node:last-child{grid-column:1 / -1}.get-started-sandbox-core{min-height:70px}.get-started-timeline-graph{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:10px;min-width:0}.get-started-timeline-graph:before{position:absolute;top:28px;right:8%;left:8%;border-top:1px dashed rgba(255,255,255,.22);content:""}.get-started-timeline-step{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#111;padding:12px 8px;text-align:center}.get-started-timeline-step strong,.get-started-timeline-step span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.get-started-timeline-step strong{color:#f2f2f2;font-size:12px}.get-started-timeline-step span{color:#969696;font-size:11px}.get-started-setup-graph{grid-template-columns:minmax(0,1.18fr) minmax(128px,.62fr)}.get-started-subagent-settings-graph{grid-template-columns:minmax(128px,.56fr) minmax(0,1fr) minmax(128px,.56fr)}.get-started-subagent-role-table{display:grid;gap:7px;min-width:0}.get-started-subagent-role-row{display:grid;grid-template-columns:minmax(68px,.42fr) minmax(92px,.58fr) minmax(104px,.62fr);align-items:center;gap:8px;min-height:39px;min-width:0;border:1px solid rgba(255,255,255,.095);border-radius:8px;background:#ffffff0e;padding:8px 9px}.get-started-subagent-role-row strong,.get-started-subagent-role-row span,.get-started-subagent-role-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.get-started-subagent-role-row strong{color:#eee;font-size:12px;font-weight:620}.get-started-subagent-role-row span,.get-started-subagent-role-row em{color:#9a9a9a;font-size:11px;font-style:normal}.get-started-setup-table{display:grid;gap:7px;min-width:0}.get-started-setup-table .get-started-setup-row{display:grid;grid-template-columns:minmax(72px,.46fr) minmax(0,1fr) minmax(64px,.36fr);align-items:center;gap:8px;min-height:38px;border:1px solid rgba(255,255,255,.095);border-radius:8px;background:#ffffff0e;padding:7px 9px}.get-started-gate-decision{min-height:164px}.get-started-router-graph{grid-template-columns:minmax(0,1fr) minmax(124px,.72fr) minmax(0,1fr)}.get-started-channel-list,.get-started-router-results{display:grid;gap:7px;min-width:0}.get-started-router-core{min-height:146px}@media(max-width:900px){.get-started-view{width:min(100% - 28px,1040px);padding-top:24px}.get-started-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.get-started-deck-body{grid-template-columns:minmax(0,1fr);min-height:0;padding:20px}.get-started-deck-copy{align-content:start}.get-started-slide-copy h2{font-size:26px}.get-started-flow-graph,.get-started-insights-loop,.get-started-subagent-handoff-graph,.get-started-review-graph,.get-started-sync-graph,.get-started-publish-graph{align-items:stretch}.get-started-hub-graph{grid-template-columns:minmax(128px,.95fr) minmax(142px,.86fr) minmax(136px,1fr)}}@media(max-width:620px){.get-started-shell{gap:34px}.get-started-learning-grid{grid-template-columns:minmax(0,1fr)}.get-started-course-copy{padding:12px 0 8px}.get-started-course-copy h1{font-size:18px}.get-started-course-play-icon{width:42px;height:42px}.get-started-course-player-backdrop{padding:10px}.get-started-course-player-header{min-height:46px;padding-bottom:10px}.get-started-course-player-copy span{font-size:11px}.get-started-tabs{grid-auto-columns:minmax(132px,45vw)}.get-started-deck-body{padding:16px}.get-started-slide-copy h2{font-size:23px}.get-started-visual-inner{padding:14px}.get-started-flow-graph,.get-started-insights-loop,.get-started-review-graph,.get-started-sync-graph,.get-started-publish-graph{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.get-started-connector{min-height:16px;min-width:0}.get-started-connector>span{width:38px;min-width:0;height:1px;border-top:1px dashed rgba(255,255,255,.24)}.get-started-connector em{max-width:100%}.get-started-hub-graph,.get-started-contract-graph,.get-started-gate-graph,.get-started-boundary-graph,.get-started-apps-graph,.get-started-dual-source-graph,.get-started-setup-graph,.get-started-subagent-settings-graph,.get-started-router-graph{grid-template-columns:minmax(0,1fr)}.get-started-hub-graph:before,.get-started-timeline-graph:before{display:none}.get-started-loop-graph,.get-started-state-graph{grid-template-columns:minmax(0,1fr);gap:8px;min-height:0}.get-started-loop-ring{display:none}.get-started-loop-center,.get-started-state-core{position:static;width:auto;min-height:72px;transform:none}.get-started-contract-graph>.get-started-connector{order:2}.get-started-contract-graph>.get-started-diagram-node:last-of-type{order:3}.get-started-consumer-strip{grid-template-columns:repeat(2,minmax(0,1fr));order:4}.get-started-check-grid,.get-started-insights-toolbar,.get-started-timeline-graph{grid-template-columns:repeat(2,minmax(0,1fr))}.get-started-insight-row{grid-template-columns:minmax(0,1fr)}.get-started-controls{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.get-started-progress-fill,.get-started-tabs button,.get-started-icon-button,.get-started-course-poster,.get-started-playlist-poster,.get-started-course-play-icon{transition:none}}
|