openpond 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/cache.d.ts +7 -10
- package/dist/chunks/actions-command-QP3NMDK4.js +2 -0
- package/dist/chunks/app-layer-N7VFRVJ2.js +3 -0
- package/dist/chunks/app-server-runtime-OCLPUI7F.js +2 -0
- package/dist/chunks/apps-AMG75TI4.js +2 -0
- package/dist/chunks/chunk-22UARBPW.js +3 -0
- package/dist/chunks/chunk-3A7HZJNE.js +1 -0
- package/dist/chunks/chunk-3M53YXEI.js +2 -0
- package/dist/chunks/chunk-3NDRIQTI.js +2 -0
- package/dist/chunks/chunk-5BBVEWG3.js +2 -0
- package/dist/chunks/chunk-5O7ZVCMV.js +6 -0
- package/dist/chunks/chunk-6FA3GG5B.js +33 -0
- package/dist/chunks/chunk-6MI4KKWF.js +2 -0
- package/dist/chunks/chunk-BBG546O6.js +6 -0
- package/dist/chunks/chunk-BX4J2VDU.js +2 -0
- package/dist/chunks/chunk-BZMVB3GS.js +2 -0
- package/dist/chunks/chunk-C5LOZSVS.js +2 -0
- package/dist/chunks/chunk-CWQWV2T3.js +2 -0
- package/dist/chunks/chunk-DUA3QP6Y.js +19 -0
- package/dist/chunks/chunk-EAPFMACH.js +10 -0
- package/dist/chunks/chunk-ES2ISFJC.js +66 -0
- package/dist/chunks/chunk-F65NIZLM.js +2199 -0
- package/dist/chunks/chunk-FGJ5LFPL.js +5 -0
- package/dist/chunks/chunk-FTQLQJQV.js +2 -0
- package/dist/chunks/chunk-FY7OQ5RK.js +24 -0
- package/dist/chunks/chunk-FYCJSUFV.js +53 -0
- package/dist/chunks/chunk-GLUWATL5.js +2 -0
- package/dist/chunks/chunk-H7IWJN7L.js +17 -0
- package/dist/chunks/chunk-HZP5U2AA.js +3 -0
- package/dist/chunks/chunk-I5K74TOH.js +3 -0
- package/dist/chunks/chunk-IR3YJWPW.js +7 -0
- package/dist/chunks/chunk-KU7QOHFT.js +2872 -0
- package/dist/chunks/chunk-KV553EWX.js +16 -0
- package/dist/chunks/chunk-MGN6GLNZ.js +2 -0
- package/dist/chunks/chunk-OG5Q6NXK.js +28 -0
- package/dist/chunks/chunk-OGPHXXCD.js +1 -0
- package/dist/chunks/chunk-PI36UHRA.js +18 -0
- package/dist/chunks/chunk-RWSAGQTP.js +2 -0
- package/dist/chunks/chunk-SAE4OIPC.js +2 -0
- package/dist/chunks/chunk-SDO4FC4Q.js +2 -0
- package/dist/chunks/chunk-UKUVMXOW.js +12 -0
- package/dist/chunks/chunk-VCLCFK3O.js +36 -0
- package/dist/chunks/chunk-VYUMTRB3.js +5 -0
- package/dist/chunks/chunk-X37KMV27.js +1 -0
- package/dist/chunks/chunk-XDHAGACI.js +3 -0
- package/dist/chunks/chunk-XEOEKFG6.js +71 -0
- package/dist/chunks/chunk-ZF7TEGY5.js +5 -0
- package/dist/chunks/chunk-ZVOO7FKM.js +2 -0
- package/dist/chunks/cli-M2FG7SSI.js +2 -0
- package/dist/chunks/configuration-command-XBKBIZBO.js +2 -0
- package/dist/chunks/continual-D75WA7E7.js +7 -0
- package/dist/chunks/core-commands-LUZVWXQR.js +2 -0
- package/dist/chunks/database-X2CUV732.js +2 -0
- package/dist/chunks/desktop-test-KGC4JVJ7.js +3 -0
- package/dist/chunks/dist-NKLXFA37.js +2 -0
- package/dist/chunks/extension-NQ7N5LEY.js +5 -0
- package/dist/chunks/help-MWK66XZK.js +8 -0
- package/dist/chunks/module-ES6BEMUI-ZVL3F6NW.js +2 -0
- package/dist/chunks/module-asyncify-2EFITU5U-R7TVXNAE.js +2 -0
- package/dist/chunks/opchat-XJZA3QKZ.js +3 -0
- package/dist/chunks/organizations-UECDFEYE.js +2 -0
- package/dist/chunks/profile-KUMIZURM.js +3 -0
- package/dist/chunks/project-agent-NILMJHLV.js +2 -0
- package/dist/chunks/sandbox-command-QHH65OSE.js +2 -0
- package/dist/chunks/sandbox-template-N7I63PNU.js +10 -0
- package/dist/chunks/src-724HF43W.js +82 -0
- package/dist/chunks/src-VTKTTKQO.js +319 -0
- package/dist/chunks/taskset-PISBOILQ.js +2 -0
- package/dist/chunks/teams-bot-UV4RU53M.js +3 -0
- package/dist/chunks/training-2NDOWH5S.js +2 -0
- package/dist/chunks/workspaces-XXT4KUD3.js +2 -0
- package/dist/cli.js +3 -101
- package/dist/client.d.ts +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/index.js +1 -26305
- package/dist/private-json-file.d.ts +1 -2
- package/dist/sandbox-template/manifest.js +1 -18380
- package/dist/web/assets/App-DxecRQUL.js +176 -0
- package/dist/web/assets/AppDialog-B65Eo3gp.js +1 -0
- package/dist/web/assets/AppTerminalPanel-B2EKQM7W.js +2 -0
- package/dist/web/assets/{AppsView-Ck_OzQWf.js → AppsView-BBoVe7s2.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-CqciX8aL.js → BrowserSidebar-CSM1atSJ.js} +1 -1
- package/dist/web/assets/{CartesianChart-Y0lsL4vC.js → CartesianChart-CJKfXiEG.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-BOb9PjvS.js → CollaborationTabs-BMZamWFC.js} +1 -1
- package/dist/web/assets/{CommandMenu-Co6JnmTu.js → CommandMenu-B3U1z2eo.js} +1 -1
- package/dist/web/assets/{CommunityView-BbTSeL7h.js → CommunityView-CTyRUcfy.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-BGzCWVFp.js → ComposerCreateImproveStrip-D7usvRtK.js} +1 -1
- package/dist/web/assets/GetStartedView-Ibu7oKWJ.js +1 -0
- package/dist/web/assets/HostedModelLearningReview-qnzIkT70.js +1 -0
- package/dist/web/assets/HostedModelLearningSettings--PKjpYsy.js +1 -0
- package/dist/web/assets/LabModelVersionDetailPage-s9uUN6fV.js +1 -0
- package/dist/web/assets/{LabSkillSidebar-C5oS6UmH.js → LabSkillSidebar-BKYseMiJ.js} +1 -1
- package/dist/web/assets/LabsRoute-C1FWCoYb.css +1 -0
- package/dist/web/assets/LabsRoute-DoRs0K6v.js +32 -0
- package/dist/web/assets/MainChatThread-DvuyMcMB.js +2 -0
- package/dist/web/assets/MainPane-BWwcxgHD.js +8 -0
- package/dist/web/assets/{MarkdownText-DqJarmTh.js → MarkdownText-D8XC5UT_.js} +1 -1
- package/dist/web/assets/{Messages-BaT7HOzB.js → Messages-e4A8JUjD.js} +6 -6
- package/dist/web/assets/{NativeSkillSidebar-DXp8snN5.js → NativeSkillSidebar-D2Joh8XB.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-CLHuGUN5.js → NewExperienceSwitcher-CzGebt2E.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-CzpHCAaC.js → NewProjectDialog-CdMTSxUE.js} +1 -1
- package/dist/web/assets/{OutputsPage-DIzx-Ge6.js → OutputsPage-m7cSb8dW.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DojwrhOy.js → ProjectsPage-C9mz8W1g.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-B4LEqKEj.js +1 -0
- package/dist/web/assets/{RightSidebarHomePanel-DTzfuEX3.js → RightSidebarHomePanel-DOeUsH7h.js} +1 -1
- package/dist/web/assets/ScheduledWorkPage-UXZSSWgA.js +1 -0
- package/dist/web/assets/SettingsView-CAH0vreE.css +1 -0
- package/dist/web/assets/SettingsView-CQm1ai73.js +9 -0
- package/dist/web/assets/TeamChatView-C4haojB7.js +3 -0
- package/dist/web/assets/{TerminalOverlay-DnNVrCtu.js → TerminalOverlay-p2GZsuyQ.js} +3 -3
- package/dist/web/assets/{TrainingCreationPanel-CDwwyucO.js → TrainingCreationPanel-BYJSlO8X.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-BijDnV_0.js → TrainingDraftPanel-DR5KlayH.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-Y5BFAu1p.js → UsageSettingsSection-BQToNXE4.js} +5 -5
- package/dist/web/assets/{WorkSidebarPanel-CkJlvZKm.js → WorkSidebarPanel--EeytWeg.js} +1 -1
- package/dist/web/assets/WorkspaceDiffPanel-BrovSYhn.js +14 -0
- package/dist/web/assets/{WorkspaceEnvironmentMenu-D8knAy1q.js → WorkspaceEnvironmentMenu-l-keRgvj.js} +3 -3
- package/dist/web/assets/{WorkspaceGitDialogs-_LHTrvh6.js → WorkspaceGitDialogs-aicWzaZu.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-B2B7OM_L.js → WorkspaceMonacoEditor-CO_E74jM.js} +36 -36
- package/dist/web/assets/{arrow-up-right-4nAzMtjW.js → arrow-up-right-rwPXNfVn.js} +1 -1
- package/dist/web/assets/chat-file-links-B3jDstSC.js +1 -0
- package/dist/web/assets/chevron-up-D089nvYQ.js +1 -0
- package/dist/web/assets/{clipboard-BzjUoZFo.js → clipboard-DwEExyU4.js} +1 -1
- package/dist/web/assets/{cloud-upload-CsrrwS-b.js → cloud-upload-D2he0-vQ.js} +1 -1
- package/dist/web/assets/{cssMode-CIbSSHKJ.js → cssMode-DS4k0NcI.js} +1 -1
- package/dist/web/assets/{folder-open-vRTuLzpS.js → folder-open-CAOLduKD.js} +1 -1
- package/dist/web/assets/{folder-plus-hyqwgUnx.js → folder-plus-D56MrxVT.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-CaxKfeYa.js → git-commit-horizontal-CeNM0oKJ.js} +1 -1
- package/dist/web/assets/{htmlMode-C3MGQGam.js → htmlMode-Xkni5erh.js} +1 -1
- package/dist/web/assets/{index-ByQIHpc9.css → index-BGMzUaup.css} +1 -1
- package/dist/web/assets/{index-Dvq7bpBG.js → index-KwyAyscP.js} +1 -1
- package/dist/web/assets/{info-aYWeE1Iw.js → info-CcrBaEE_.js} +1 -1
- package/dist/web/assets/{jsonMode-CpD6UkT7.js → jsonMode-C4YPbQB7.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-DpcK8ZI6.js → lspLanguageFeatures-CF5oMTz6.js} +1 -1
- package/dist/web/assets/{minimize-2-DeYg7XqB.js → minimize-2-DzHQnInk.js} +1 -1
- package/dist/web/assets/{monaco.contribution-CrrdDQgP.js → monaco.contribution-0EN4mGCC.js} +2 -2
- package/dist/web/assets/{monaco.contribution-JWFq0HzV.js → monaco.contribution-B4qcTP0w.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BDTM0ZJq.js → monaco.contribution-CJK_NrBm.js} +2 -2
- package/dist/web/assets/{monaco.contribution-C-_ekTxy.js → monaco.contribution-CkPGKNd-.js} +2 -2
- package/dist/web/assets/{play-BqgRTddV.js → play-p3-AMTPL.js} +1 -1
- package/dist/web/assets/{python-B67wope9.js → python-B0kpTxAZ.js} +1 -1
- package/dist/web/assets/{refresh-cw-DwMA_2On.js → refresh-cw-_jbTIzzr.js} +1 -1
- package/dist/web/assets/{save-B0BKh5oQ.js → save-Cy6hEotx.js} +1 -1
- package/dist/web/assets/{square-LY3oz82L.js → square-DKQkcrOH.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-B2jka5B1.js → toggleHighContrast-Bnk1VVVq.js} +1 -1
- package/dist/web/assets/{tsMode-1MUwluYD.js → tsMode-BDrSVy7V.js} +1 -1
- package/dist/web/assets/{upload-bSKSkFVa.js → upload-COn0my_O.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules--jnnM4Fz.js → useLocalAgentSchedules-iZNB4Oee.js} +1 -1
- package/dist/web/assets/{wifi-off-DA34iPmr.js → wifi-off-Cqt-ZLXY.js} +1 -1
- package/dist/web/assets/{workers-CczIcRcl.js → workers-hu0Ym93h.js} +1 -1
- package/dist/web/assets/{yaml-DwEGoHA9.js → yaml-D-JLDGL6.js} +1 -1
- package/dist/web/index.html +2 -2
- package/docs/command-reference.md +28 -2
- package/package.json +10 -7
- package/dist/chunks/actions-command-6N5XWMR6.js +0 -185
- package/dist/chunks/app-layer-XEYHFJHI.js +0 -214
- package/dist/chunks/app-server-runtime-FJM2EQPH.js +0 -21
- package/dist/chunks/apps-GSXUDK6V.js +0 -427
- package/dist/chunks/chunk-2JABRRNR.js +0 -183
- package/dist/chunks/chunk-47EIAYI7.js +0 -2162
- package/dist/chunks/chunk-4L3ZJS2T.js +0 -1207
- package/dist/chunks/chunk-5TKZBMQM.js +0 -731
- package/dist/chunks/chunk-6G6MDZLM.js +0 -14509
- package/dist/chunks/chunk-BVY5JYM6.js +0 -512
- package/dist/chunks/chunk-C5TKGE5Y.js +0 -1275
- package/dist/chunks/chunk-CNTM26OW.js +0 -602
- package/dist/chunks/chunk-D7BO5Y5J.js +0 -1531
- package/dist/chunks/chunk-DJL4TJYG.js +0 -70
- package/dist/chunks/chunk-DLQQIWN2.js +0 -648
- package/dist/chunks/chunk-DNXBJZAU.js +0 -630
- package/dist/chunks/chunk-EFET7LB7.js +0 -1331
- package/dist/chunks/chunk-FQS2QL5F.js +0 -14522
- package/dist/chunks/chunk-HFPUR4CQ.js +0 -669
- package/dist/chunks/chunk-J3YDKJFD.js +0 -88
- package/dist/chunks/chunk-J7PYGDRY.js +0 -634
- package/dist/chunks/chunk-JTHL5XJ2.js +0 -1838
- package/dist/chunks/chunk-KSRWKXRB.js +0 -12
- package/dist/chunks/chunk-KWDOAJJI.js +0 -238
- package/dist/chunks/chunk-MUMPWI4O.js +0 -92
- package/dist/chunks/chunk-N3TGCM7J.js +0 -1135
- package/dist/chunks/chunk-NTK22KJD.js +0 -10707
- package/dist/chunks/chunk-O6B6YCMI.js +0 -57688
- package/dist/chunks/chunk-R3C3MNSI.js +0 -140
- package/dist/chunks/chunk-SMNFI2FU.js +0 -113
- package/dist/chunks/chunk-UACZUFIA.js +0 -47
- package/dist/chunks/chunk-W5GKHH77.js +0 -168
- package/dist/chunks/chunk-WBAZFKC7.js +0 -1643
- package/dist/chunks/chunk-X7ZG4TSW.js +0 -3063
- package/dist/chunks/chunk-YVCYVDNP.js +0 -746
- package/dist/chunks/cli-6PFRZ2WV.js +0 -21
- package/dist/chunks/continual-FYDKLCO7.js +0 -803
- package/dist/chunks/core-commands-MAN3CSJQ.js +0 -48
- package/dist/chunks/desktop-test-OE5SST2W.js +0 -146
- package/dist/chunks/extension-J3CIEDP4.js +0 -10041
- package/dist/chunks/help-JNGJJFU5.js +0 -67
- package/dist/chunks/opchat-6HEQJFLL.js +0 -167
- package/dist/chunks/organizations-MWAPNOCK.js +0 -804
- package/dist/chunks/profile-P7HMONTZ.js +0 -1134
- package/dist/chunks/project-agent-2RAK7GAZ.js +0 -514
- package/dist/chunks/sandbox-command-G22CPFNK.js +0 -1659
- package/dist/chunks/sandbox-template-S4WRUWJ6.js +0 -1653
- package/dist/chunks/src-BKBZ7WLO.js +0 -3624
- package/dist/chunks/src-RTGN2O4H.js +0 -65745
- package/dist/chunks/taskset-BMI7KOWP.js +0 -66
- package/dist/chunks/teams-bot-5VBYEN7M.js +0 -144
- package/dist/chunks/training-UPVSGDTB.js +0 -17
- package/dist/chunks/workspaces-IJQPWX3H.js +0 -99
- package/dist/web/assets/App-BOkhmdHu.js +0 -173
- package/dist/web/assets/AppDialog-BCjKFUBn.js +0 -1
- package/dist/web/assets/AppTerminalPanel-DRU8GIfy.js +0 -2
- package/dist/web/assets/GetStartedView-jEogFjxP.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-CrudId_1.js +0 -1
- package/dist/web/assets/LabsRoute-9v8qwEBc.js +0 -2
- package/dist/web/assets/LabsRoute-CGFgymTX.css +0 -1
- package/dist/web/assets/MainChatThread-VtMpAxlP.js +0 -2
- package/dist/web/assets/MainPane-BbknUzp3.js +0 -8
- package/dist/web/assets/RightChatPanelStack-CIE5bgmO.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-DdbcQGSv.js +0 -1
- package/dist/web/assets/SettingsView-CC5GXaE1.css +0 -1
- package/dist/web/assets/SettingsView-QT_OLmDh.js +0 -6
- package/dist/web/assets/TeamChatView-C4-nG1tC.js +0 -3
- package/dist/web/assets/WorkspaceDiffPanel-CBgzmBk8.js +0 -14
- package/dist/web/assets/chat-file-links-Bned0MT7.js +0 -1
- package/dist/web/assets/chevron-up-DK7ejCfk.js +0 -1
- package/dist/web/assets/index-66-ohHD5.js +0 -1
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
external_exports
|
|
4
|
-
} from "./chunk-FQS2QL5F.js";
|
|
5
|
-
|
|
6
|
-
// ../../packages/continual-support/dist/schema.js
|
|
7
|
-
var Id = external_exports.string().trim().min(1).max(240);
|
|
8
|
-
var Hash = external_exports.string().regex(/^[a-f0-9]{64}$/);
|
|
9
|
-
var Timestamp = external_exports.string().datetime({ offset: true });
|
|
10
|
-
var ImmutableRef = external_exports.object({ id: Id, contentHash: Hash }).strict();
|
|
11
|
-
var VersionedRef = ImmutableRef.extend({ revision: external_exports.number().int().positive() }).strict();
|
|
12
|
-
var ChatModelRef = external_exports.object({ providerId: Id, modelId: external_exports.string().trim().min(1).max(300) }).strict();
|
|
13
|
-
var ContinualBenchPanelRoleSchema = external_exports.enum(["correction", "sibling_verification", "cumulative_known", "development", "retained", "frozen_final", "training_eligible"]);
|
|
14
|
-
var ContinualBenchIssueCaseSchema = external_exports.object({
|
|
15
|
-
taskId: Id,
|
|
16
|
-
taskContentHash: Hash,
|
|
17
|
-
panelRole: ContinualBenchPanelRoleSchema,
|
|
18
|
-
passLabel: Id.nullable(),
|
|
19
|
-
optimizerEligible: external_exports.boolean(),
|
|
20
|
-
criticalInvariantIds: external_exports.array(Id).max(100).default([])
|
|
21
|
-
}).strict().superRefine((entry, context) => {
|
|
22
|
-
if (entry.optimizerEligible !== (entry.panelRole === "correction"))
|
|
23
|
-
context.addIssue({ code: "custom", path: ["optimizerEligible"], message: "Only correction cases may be optimizer eligible." });
|
|
24
|
-
});
|
|
25
|
-
var ContinualBenchIssuePacketSchema = external_exports.object({
|
|
26
|
-
schemaVersion: external_exports.literal("openpond.continualBenchIssuePacket.v1"),
|
|
27
|
-
id: Id,
|
|
28
|
-
revision: external_exports.number().int().positive(),
|
|
29
|
-
contentHash: Hash,
|
|
30
|
-
familyId: Id,
|
|
31
|
-
familyLabel: external_exports.string().trim().min(1).max(500),
|
|
32
|
-
severity: external_exports.enum(["low", "medium", "high", "critical"]),
|
|
33
|
-
cases: external_exports.array(ContinualBenchIssueCaseSchema).min(2).max(1e4),
|
|
34
|
-
duplicateEvidence: ImmutableRef,
|
|
35
|
-
leakageEvidence: ImmutableRef,
|
|
36
|
-
priorExposureEvidence: ImmutableRef,
|
|
37
|
-
observedAt: Timestamp,
|
|
38
|
-
reviewedAt: Timestamp,
|
|
39
|
-
queuedAt: Timestamp.nullable(),
|
|
40
|
-
runAt: Timestamp.nullable(),
|
|
41
|
-
createdBy: Id,
|
|
42
|
-
createdAt: Timestamp
|
|
43
|
-
}).strict().superRefine((packet, context) => {
|
|
44
|
-
if (!packet.cases.some((entry) => entry.panelRole === "correction"))
|
|
45
|
-
context.addIssue({ code: "custom", path: ["cases"], message: "An issue packet requires a correction case." });
|
|
46
|
-
if (!packet.cases.some((entry) => entry.panelRole === "sibling_verification"))
|
|
47
|
-
context.addIssue({ code: "custom", path: ["cases"], message: "An issue packet requires a sibling-verification case." });
|
|
48
|
-
if (new Set(packet.cases.map((entry) => entry.taskId)).size !== packet.cases.length)
|
|
49
|
-
context.addIssue({ code: "custom", path: ["cases"], message: "Issue-packet task ids must be unique." });
|
|
50
|
-
});
|
|
51
|
-
var ContinualBenchPanelReleaseSchema = external_exports.object({
|
|
52
|
-
id: Id,
|
|
53
|
-
role: ContinualBenchPanelRoleSchema,
|
|
54
|
-
passLabel: Id.nullable(),
|
|
55
|
-
taskset: VersionedRef,
|
|
56
|
-
familyIds: external_exports.array(Id).min(1).max(1e5),
|
|
57
|
-
taskCount: external_exports.number().int().positive().max(1e6),
|
|
58
|
-
sealedAt: Timestamp
|
|
59
|
-
}).strict().superRefine((panel, context) => {
|
|
60
|
-
const requiresPass = panel.role === "correction" || panel.role === "sibling_verification" || panel.role === "cumulative_known";
|
|
61
|
-
if (requiresPass !== (panel.passLabel !== null))
|
|
62
|
-
context.addIssue({ code: "custom", path: ["passLabel"], message: requiresPass ? "This panel role requires a pass label." : "This panel role is series-wide and cannot carry a pass label." });
|
|
63
|
-
});
|
|
64
|
-
var ContinualBenchPolicyIdentitySchema = external_exports.discriminatedUnion("kind", [
|
|
65
|
-
external_exports.object({ kind: external_exports.literal("base_model"), id: Id, revision: external_exports.string().trim().min(1).max(500), contentHash: Hash }).strict(),
|
|
66
|
-
external_exports.object({ kind: external_exports.literal("model_version"), id: Id, contentHash: Hash }).strict(),
|
|
67
|
-
external_exports.object({ kind: external_exports.literal("external_reference"), id: Id, model: ChatModelRef, providerRevision: external_exports.string().trim().min(1).max(500), contentHash: Hash }).strict()
|
|
68
|
-
]);
|
|
69
|
-
var ContinualBenchScheduleEntrySchema = external_exports.object({
|
|
70
|
-
scheduleEntryId: Id,
|
|
71
|
-
ordinal: external_exports.number().int().nonnegative(),
|
|
72
|
-
label: Id,
|
|
73
|
-
role: external_exports.enum(["seed", "daily_residual", "rank_candidate", "weekly_rollup", "full_refresh"]),
|
|
74
|
-
parentRule: external_exports.enum(["base_model", "previous_release", "seed_release", "accepted_daily_head", "accepted_seed"]),
|
|
75
|
-
trainableRank: external_exports.number().int().positive().max(1024),
|
|
76
|
-
correctionPanelIds: external_exports.array(Id).min(1).max(1e3),
|
|
77
|
-
optimizerGroupsPerTask: external_exports.number().int().positive().max(1e3),
|
|
78
|
-
trajectoriesPerGroup: external_exports.number().int().min(4).max(1e3)
|
|
79
|
-
}).strict();
|
|
80
|
-
var ContinualBenchCurrencyThresholdsSchema = external_exports.object({
|
|
81
|
-
revision: external_exports.number().int().positive(),
|
|
82
|
-
requireAllAttemptsTerminal: external_exports.literal(true),
|
|
83
|
-
criticalCorrectionPassRate: external_exports.number().min(0).max(1),
|
|
84
|
-
siblingPassRate: external_exports.number().min(0).max(1),
|
|
85
|
-
behavioralRetentionRate: external_exports.number().min(0).max(1),
|
|
86
|
-
maximumRetainedRegressionPoints: external_exports.number().min(0).max(100),
|
|
87
|
-
blockCriticalPriorRegression: external_exports.boolean(),
|
|
88
|
-
authorizedClaims: external_exports.array(external_exports.enum(["systems_complete", "correction_absorbed", "issue_generalized", "continually_current", "frontier_pareto_result"])).min(1).max(5)
|
|
89
|
-
}).strict();
|
|
90
|
-
var ContinualBenchmarkProtocolReleaseSchema = external_exports.object({
|
|
91
|
-
schemaVersion: external_exports.literal("openpond.continualBenchmarkProtocol.v1"),
|
|
92
|
-
id: Id,
|
|
93
|
-
revision: external_exports.number().int().positive(),
|
|
94
|
-
contentHash: Hash,
|
|
95
|
-
ownerId: Id,
|
|
96
|
-
createdAt: Timestamp,
|
|
97
|
-
sealedAt: Timestamp,
|
|
98
|
-
creationReceipt: ImmutableRef,
|
|
99
|
-
predecessorSeries: external_exports.object({ id: Id, revision: external_exports.number().int().positive(), contentHash: Hash }).strict().nullable(),
|
|
100
|
-
scenarioPack: ImmutableRef,
|
|
101
|
-
issueFamilyLedger: ImmutableRef,
|
|
102
|
-
issuePacketRelease: ImmutableRef,
|
|
103
|
-
panels: external_exports.array(ContinualBenchPanelReleaseSchema).min(6).max(1e4),
|
|
104
|
-
grader: ImmutableRef,
|
|
105
|
-
judge: external_exports.object({ release: ImmutableRef, rubricRelease: ImmutableRef, calibrationRelease: ImmutableRef, model: ChatModelRef }).strict().nullable(),
|
|
106
|
-
policies: external_exports.object({ base: ContinualBenchPolicyIdentitySchema, master: ContinualBenchPolicyIdentitySchema.nullable(), externalReferences: external_exports.array(ContinualBenchPolicyIdentitySchema).min(1).max(20) }).strict(),
|
|
107
|
-
invariants: external_exports.object({
|
|
108
|
-
systemPromptHash: Hash,
|
|
109
|
-
toolSchema: ImmutableRef,
|
|
110
|
-
application: ImmutableRef,
|
|
111
|
-
harness: ImmutableRef,
|
|
112
|
-
runtime: ImmutableRef,
|
|
113
|
-
workerImage: ImmutableRef,
|
|
114
|
-
autoRefiner: external_exports.object({ enabled: external_exports.boolean(), release: ImmutableRef.nullable() }).strict()
|
|
115
|
-
}).strict(),
|
|
116
|
-
schedule: external_exports.array(ContinualBenchScheduleEntrySchema).min(1).max(1e3),
|
|
117
|
-
evaluation: external_exports.object({ seeds: external_exports.array(external_exports.number().int()).min(3).max(100), repetitions: external_exports.number().int().min(3).max(20), powerRule: ImmutableRef, pairedBootstrapSamples: external_exports.number().int().min(1e3).max(1e6), confidenceLevel: external_exports.literal(0.95) }).strict(),
|
|
118
|
-
resources: external_exports.object({ maximumTrainingGpuSeconds: external_exports.number().int().positive(), maximumEvaluationGpuSeconds: external_exports.number().int().positive(), maximumProviderSpendUsd: external_exports.number().positive(), maximumTotalSpendUsd: external_exports.number().positive(), maximumConcurrentGroups: external_exports.number().int().positive().max(1e3) }).strict(),
|
|
119
|
-
currencyThresholds: ContinualBenchCurrencyThresholdsSchema
|
|
120
|
-
}).strict().superRefine((protocol, context) => {
|
|
121
|
-
const panelIds = protocol.panels.map((panel) => panel.id);
|
|
122
|
-
if (new Set(panelIds).size !== panelIds.length)
|
|
123
|
-
context.addIssue({ code: "custom", path: ["panels"], message: "Protocol panel ids must be unique." });
|
|
124
|
-
for (const role of ["development", "retained", "frozen_final", "training_eligible"]) {
|
|
125
|
-
if (protocol.panels.filter((panel) => panel.role === role).length !== 1)
|
|
126
|
-
context.addIssue({ code: "custom", path: ["panels"], message: `A protocol requires exactly one ${role} panel.` });
|
|
127
|
-
}
|
|
128
|
-
const ordered = [...protocol.schedule].sort((left, right) => left.ordinal - right.ordinal);
|
|
129
|
-
if (ordered.some((entry, index) => entry.ordinal !== index))
|
|
130
|
-
context.addIssue({ code: "custom", path: ["schedule"], message: "Protocol schedule ordinals must be contiguous from zero." });
|
|
131
|
-
const known = new Set(panelIds);
|
|
132
|
-
if (protocol.schedule.some((entry) => entry.correctionPanelIds.some((id) => !known.has(id))))
|
|
133
|
-
context.addIssue({ code: "custom", path: ["schedule"], message: "Every scheduled correction panel must belong to the protocol." });
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
export {
|
|
137
|
-
ContinualBenchPanelRoleSchema,
|
|
138
|
-
ContinualBenchIssuePacketSchema,
|
|
139
|
-
ContinualBenchmarkProtocolReleaseSchema
|
|
140
|
-
};
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
DEFAULT_OPENPOND_API_BASE_URL,
|
|
4
|
-
DEFAULT_OPENPOND_WEB_BASE_URL
|
|
5
|
-
} from "./chunk-KSRWKXRB.js";
|
|
6
|
-
|
|
7
|
-
// src/cli/common/urls.ts
|
|
8
|
-
var DEFAULT_OPENPOND_API_HOST = new URL(DEFAULT_OPENPOND_API_BASE_URL).hostname;
|
|
9
|
-
var DEFAULT_OPENPOND_WEB_HOST = new URL(DEFAULT_OPENPOND_WEB_BASE_URL).hostname;
|
|
10
|
-
function resolveAccountOption(options) {
|
|
11
|
-
const raw = typeof options.account === "string" ? options.account : typeof options.profile === "string" ? options.profile : null;
|
|
12
|
-
if (!raw) return null;
|
|
13
|
-
const trimmed = raw.trim();
|
|
14
|
-
if (!trimmed || trimmed === "true") {
|
|
15
|
-
throw new Error("account must be a non-empty value");
|
|
16
|
-
}
|
|
17
|
-
return trimmed;
|
|
18
|
-
}
|
|
19
|
-
function resolveBaseUrlOption(options) {
|
|
20
|
-
const raw = typeof options.baseUrl === "string" ? options.baseUrl : typeof options.baseurl === "string" ? options.baseurl : null;
|
|
21
|
-
if (!raw) return null;
|
|
22
|
-
const trimmed = raw.trim();
|
|
23
|
-
if (!trimmed || trimmed === "true") {
|
|
24
|
-
throw new Error("baseurl must be a non-empty value");
|
|
25
|
-
}
|
|
26
|
-
return trimmed.replace(/\/$/, "");
|
|
27
|
-
}
|
|
28
|
-
function resolveApiBaseUrlOption(options) {
|
|
29
|
-
const raw = typeof options.apiBaseUrl === "string" ? options.apiBaseUrl : typeof options.apiBaseurl === "string" ? options.apiBaseurl : null;
|
|
30
|
-
if (!raw) return null;
|
|
31
|
-
const trimmed = raw.trim();
|
|
32
|
-
if (!trimmed || trimmed === "true") {
|
|
33
|
-
throw new Error("api-base-url must be a non-empty value");
|
|
34
|
-
}
|
|
35
|
-
return trimmed.replace(/\/$/, "");
|
|
36
|
-
}
|
|
37
|
-
function resolveChatApiBaseUrlOption(options) {
|
|
38
|
-
const raw = typeof options.chatApiBaseUrl === "string" ? options.chatApiBaseUrl : typeof options.chatApiBaseurl === "string" ? options.chatApiBaseurl : typeof options.chatApiUrl === "string" ? options.chatApiUrl : null;
|
|
39
|
-
if (!raw) return null;
|
|
40
|
-
const trimmed = raw.trim();
|
|
41
|
-
if (!trimmed || trimmed === "true") {
|
|
42
|
-
throw new Error("chat-api-base-url must be a non-empty value");
|
|
43
|
-
}
|
|
44
|
-
return trimmed.replace(/\/$/, "");
|
|
45
|
-
}
|
|
46
|
-
function resolveSandboxApiUrlOption(options) {
|
|
47
|
-
const raw = typeof options.sandboxApiUrl === "string" ? options.sandboxApiUrl : typeof options.sandboxApiurl === "string" ? options.sandboxApiurl : null;
|
|
48
|
-
if (!raw) return null;
|
|
49
|
-
const trimmed = raw.trim();
|
|
50
|
-
if (!trimmed || trimmed === "true") {
|
|
51
|
-
throw new Error("sandbox-api-url must be a non-empty value");
|
|
52
|
-
}
|
|
53
|
-
return trimmed.replace(/\/$/, "");
|
|
54
|
-
}
|
|
55
|
-
function resolveBaseUrl(config) {
|
|
56
|
-
const envBase = process.env.OPENPOND_BASE_URL;
|
|
57
|
-
const base = envBase || config.baseUrl || DEFAULT_OPENPOND_WEB_BASE_URL;
|
|
58
|
-
return base.replace(/\/$/, "");
|
|
59
|
-
}
|
|
60
|
-
function mapUiBaseToApiBase(baseUrl) {
|
|
61
|
-
if (!baseUrl) return null;
|
|
62
|
-
const trimmed = baseUrl.replace(/\/$/, "");
|
|
63
|
-
try {
|
|
64
|
-
const url = new URL(trimmed);
|
|
65
|
-
const host = url.hostname.toLowerCase();
|
|
66
|
-
if (host === DEFAULT_OPENPOND_WEB_HOST || host === "openpond.live" || host === "www.openpond.live") {
|
|
67
|
-
return DEFAULT_OPENPOND_API_BASE_URL;
|
|
68
|
-
}
|
|
69
|
-
if (host === DEFAULT_OPENPOND_API_HOST || host.startsWith("api.")) {
|
|
70
|
-
return trimmed;
|
|
71
|
-
}
|
|
72
|
-
} catch {
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
function resolvePublicApiBaseUrl(config) {
|
|
78
|
-
const envBase = process.env.OPENPOND_API_URL;
|
|
79
|
-
const configuredApiBase = config?.apiBaseUrl?.trim();
|
|
80
|
-
const mapped = mapUiBaseToApiBase(
|
|
81
|
-
process.env.OPENPOND_BASE_URL || config?.baseUrl
|
|
82
|
-
);
|
|
83
|
-
const base = envBase || configuredApiBase || mapped || DEFAULT_OPENPOND_API_BASE_URL;
|
|
84
|
-
return base.replace(/\/$/, "");
|
|
85
|
-
}
|
|
86
|
-
function normalizeTemplateRepoUrl(input, baseUrl) {
|
|
87
|
-
const trimmed = input.trim();
|
|
88
|
-
if (!trimmed) {
|
|
89
|
-
throw new Error("template must be non-empty");
|
|
90
|
-
}
|
|
91
|
-
if (trimmed.startsWith("http://") || trimmed.startsWith("https://")) {
|
|
92
|
-
return trimmed.endsWith(".git") ? trimmed : `${trimmed}.git`;
|
|
93
|
-
}
|
|
94
|
-
const normalizedBase = baseUrl.replace(/\/$/, "");
|
|
95
|
-
const [owner, repoRaw] = trimmed.includes("/") ? trimmed.split("/", 2) : ["openpondai", trimmed];
|
|
96
|
-
const repo = repoRaw.endsWith(".git") ? repoRaw.slice(0, -4) : repoRaw;
|
|
97
|
-
if (!owner || !repo) {
|
|
98
|
-
throw new Error("template must be <owner>/<repo> or a full https URL");
|
|
99
|
-
}
|
|
100
|
-
return `${normalizedBase}/${owner}/${repo}.git`;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export {
|
|
104
|
-
resolveAccountOption,
|
|
105
|
-
resolveBaseUrlOption,
|
|
106
|
-
resolveApiBaseUrlOption,
|
|
107
|
-
resolveChatApiBaseUrlOption,
|
|
108
|
-
resolveSandboxApiUrlOption,
|
|
109
|
-
resolveBaseUrl,
|
|
110
|
-
mapUiBaseToApiBase,
|
|
111
|
-
resolvePublicApiBaseUrl,
|
|
112
|
-
normalizeTemplateRepoUrl
|
|
113
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
9
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
10
|
-
}) : x)(function(x) {
|
|
11
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
12
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
13
|
-
});
|
|
14
|
-
var __commonJS = (cb, mod) => function __require2() {
|
|
15
|
-
try {
|
|
16
|
-
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
17
|
-
} catch (e) {
|
|
18
|
-
throw mod = 0, e;
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
var __export = (target, all) => {
|
|
22
|
-
for (var name in all)
|
|
23
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
24
|
-
};
|
|
25
|
-
var __copyProps = (to, from, except, desc) => {
|
|
26
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
27
|
-
for (let key of __getOwnPropNames(from))
|
|
28
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
29
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
30
|
-
}
|
|
31
|
-
return to;
|
|
32
|
-
};
|
|
33
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
34
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
35
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
36
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
37
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
38
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
39
|
-
mod
|
|
40
|
-
));
|
|
41
|
-
|
|
42
|
-
export {
|
|
43
|
-
__require,
|
|
44
|
-
__commonJS,
|
|
45
|
-
__export,
|
|
46
|
-
__toESM
|
|
47
|
-
};
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
|
|
3
|
-
// ../../packages/cloud/src/stream.ts
|
|
4
|
-
function normalizeDataFrames(raw) {
|
|
5
|
-
const frames = Array.isArray(raw) ? raw : raw && typeof raw === "object" && Array.isArray(raw.data) ? raw.data : [raw];
|
|
6
|
-
const items = [];
|
|
7
|
-
let conversationId;
|
|
8
|
-
for (const frame of frames) {
|
|
9
|
-
if (!frame || typeof frame !== "object") continue;
|
|
10
|
-
const typed = frame;
|
|
11
|
-
const type = typeof typed.type === "string" ? typed.type : void 0;
|
|
12
|
-
if (type === "conversation-created") {
|
|
13
|
-
const cid = typed.conversationId;
|
|
14
|
-
if (typeof cid === "string") {
|
|
15
|
-
conversationId = cid;
|
|
16
|
-
}
|
|
17
|
-
continue;
|
|
18
|
-
}
|
|
19
|
-
if (type === "response_items" && Array.isArray(typed.items)) {
|
|
20
|
-
items.push(...typed.items);
|
|
21
|
-
continue;
|
|
22
|
-
}
|
|
23
|
-
if (type === "response_item" && typed.item) {
|
|
24
|
-
items.push(typed.item);
|
|
25
|
-
continue;
|
|
26
|
-
}
|
|
27
|
-
if (type === "assistant-message" && typeof typed.content === "string") {
|
|
28
|
-
items.push({
|
|
29
|
-
type: "message",
|
|
30
|
-
role: "assistant",
|
|
31
|
-
id: `assistant-${Date.now()}`,
|
|
32
|
-
content: [{ type: "markdown", text: typed.content }],
|
|
33
|
-
createdAt: typeof typed.createdAt === "string" ? typed.createdAt : (/* @__PURE__ */ new Date()).toISOString()
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return { conversationId, items };
|
|
38
|
-
}
|
|
39
|
-
function extractUsage(raw) {
|
|
40
|
-
const frames = Array.isArray(raw) ? raw : raw && typeof raw === "object" && Array.isArray(raw.data) ? raw.data : [raw];
|
|
41
|
-
for (const frame of frames) {
|
|
42
|
-
if (!frame || typeof frame !== "object") continue;
|
|
43
|
-
const typed = frame;
|
|
44
|
-
if (typed.type !== "usage") continue;
|
|
45
|
-
const usage = typed.usage;
|
|
46
|
-
if (!usage) continue;
|
|
47
|
-
const promptTokens = typeof usage.promptTokens === "number" ? usage.promptTokens : typeof usage.prompt_tokens === "number" ? usage.prompt_tokens : void 0;
|
|
48
|
-
const completionTokens = typeof usage.completionTokens === "number" ? usage.completionTokens : typeof usage.completion_tokens === "number" ? usage.completion_tokens : void 0;
|
|
49
|
-
const totalTokens = typeof usage.totalTokens === "number" ? usage.totalTokens : typeof usage.total_tokens === "number" ? usage.total_tokens : void 0;
|
|
50
|
-
return { promptTokens, completionTokens, totalTokens };
|
|
51
|
-
}
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
async function consumeStream(response, callbacks) {
|
|
55
|
-
if (!response.body) {
|
|
56
|
-
throw new Error("Missing response body");
|
|
57
|
-
}
|
|
58
|
-
const reader = response.body.getReader();
|
|
59
|
-
const decoder = new TextDecoder();
|
|
60
|
-
let remainder = "";
|
|
61
|
-
const shouldStop = callbacks.shouldStop;
|
|
62
|
-
const stopIfNeeded = async () => {
|
|
63
|
-
if (!shouldStop || !shouldStop()) {
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
try {
|
|
67
|
-
await reader.cancel();
|
|
68
|
-
} catch {
|
|
69
|
-
}
|
|
70
|
-
callbacks.onStop?.();
|
|
71
|
-
return true;
|
|
72
|
-
};
|
|
73
|
-
while (true) {
|
|
74
|
-
const { done, value } = await reader.read();
|
|
75
|
-
if (done) break;
|
|
76
|
-
const chunk = decoder.decode(value, { stream: true });
|
|
77
|
-
const textChunk = remainder + chunk;
|
|
78
|
-
const lines = textChunk.split("\n");
|
|
79
|
-
remainder = lines.pop() || "";
|
|
80
|
-
for (const line of lines) {
|
|
81
|
-
if (!line) continue;
|
|
82
|
-
if (line.startsWith("0:")) {
|
|
83
|
-
const payload = line.slice(2).trim();
|
|
84
|
-
if (!payload) continue;
|
|
85
|
-
const delta = JSON.parse(payload);
|
|
86
|
-
if (typeof delta === "string") {
|
|
87
|
-
callbacks.onTextDelta?.(delta);
|
|
88
|
-
}
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
if (line.startsWith("g:")) {
|
|
92
|
-
const payload = line.slice(2).trim();
|
|
93
|
-
if (!payload) continue;
|
|
94
|
-
const delta = JSON.parse(payload);
|
|
95
|
-
if (typeof delta === "string") {
|
|
96
|
-
callbacks.onReasoningDelta?.(delta);
|
|
97
|
-
}
|
|
98
|
-
continue;
|
|
99
|
-
}
|
|
100
|
-
if (line.startsWith("d:")) {
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
if (line.startsWith("3:")) {
|
|
104
|
-
const payload = line.slice(2).trim();
|
|
105
|
-
if (!payload) continue;
|
|
106
|
-
try {
|
|
107
|
-
const message = JSON.parse(payload);
|
|
108
|
-
if (typeof message === "string") {
|
|
109
|
-
throw new Error(message);
|
|
110
|
-
}
|
|
111
|
-
} catch {
|
|
112
|
-
}
|
|
113
|
-
continue;
|
|
114
|
-
}
|
|
115
|
-
if (line.startsWith("2:")) {
|
|
116
|
-
const payload = line.slice(2).trim();
|
|
117
|
-
if (!payload) continue;
|
|
118
|
-
try {
|
|
119
|
-
const dataItems = JSON.parse(payload);
|
|
120
|
-
const usage = extractUsage(dataItems);
|
|
121
|
-
if (usage) {
|
|
122
|
-
callbacks.onUsage?.(usage);
|
|
123
|
-
}
|
|
124
|
-
const { conversationId, items } = normalizeDataFrames(dataItems);
|
|
125
|
-
if (conversationId) {
|
|
126
|
-
callbacks.onConversationId?.(conversationId);
|
|
127
|
-
}
|
|
128
|
-
if (items.length > 0) {
|
|
129
|
-
await Promise.resolve(callbacks.onItems?.(items));
|
|
130
|
-
}
|
|
131
|
-
if (await stopIfNeeded()) {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
} catch {
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
if (await stopIfNeeded()) {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
function formatStreamItem(item) {
|
|
144
|
-
if (!item || typeof item !== "object") return null;
|
|
145
|
-
const type = item.type;
|
|
146
|
-
if (typeof type !== "string") return null;
|
|
147
|
-
if (type === "app_creation_started") {
|
|
148
|
-
const name = item.appName || item.name || item.appId || "app";
|
|
149
|
-
const templateRepoUrl = typeof item.templateRepoUrl === "string" ? item.templateRepoUrl : null;
|
|
150
|
-
const suffix = templateRepoUrl ? ` template=${templateRepoUrl}` : "";
|
|
151
|
-
return `app_creation_started: ${name}${suffix}`;
|
|
152
|
-
}
|
|
153
|
-
if (type === "app_created") {
|
|
154
|
-
const appId = typeof item.appId === "string" ? item.appId : "unknown";
|
|
155
|
-
const name = typeof item.appName === "string" ? item.appName : null;
|
|
156
|
-
return name ? `app_created: ${name} (${appId})` : `app_created: ${appId}`;
|
|
157
|
-
}
|
|
158
|
-
if (type.startsWith("tool_creation_")) {
|
|
159
|
-
const message = item.message || item.content || "";
|
|
160
|
-
return message ? `${type}: ${message}` : type;
|
|
161
|
-
}
|
|
162
|
-
return null;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
export {
|
|
166
|
-
consumeStream,
|
|
167
|
-
formatStreamItem
|
|
168
|
-
};
|