bazilion 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +272 -129
- package/dist/cli.js.map +1 -1
- package/dist/daemon.js +1689 -709
- package/dist/daemon.js.map +1 -1
- package/dist/migrations/0001_init.sql +46 -0
- package/dist/web/client/assets/{ChatPane-DCyGcqdh.js → ChatPane-CGCtAuD3.js} +1 -1
- package/dist/web/client/assets/{ConfirmDialog-C908TxS5.js → ConfirmDialog-Br19uXWH.js} +1 -1
- package/dist/web/client/assets/{FieldRow-CELqI-1V.js → FieldRow-Csy3_cH5.js} +1 -1
- package/dist/web/client/assets/{ProductionTeamPolicyEditor-DnTcWhG8.js → ProductionTeamPolicyEditor-DG1x4Cqz.js} +1 -1
- package/dist/web/client/assets/{ProfileCommunicationEditor-BVIEaW3s.js → ProfileCommunicationEditor-C3odNVkK.js} +1 -1
- package/dist/web/client/assets/{ResultSourceConversation-4gbZCh_s.js → ResultSourceConversation-5PFWqXTY.js} +1 -1
- package/dist/web/client/assets/{TeamTabs-V17b45X5.js → TeamTabs-BHB_COm0.js} +1 -1
- package/dist/web/client/assets/{TemplatesTabs-BMK3Qok_.js → TemplatesTabs-YyytjW7k.js} +1 -1
- package/dist/web/client/assets/{UnsavedChangesGuard-BaE-UzyS.js → UnsavedChangesGuard-CredyC3E.js} +1 -1
- package/dist/web/client/assets/{_id-CArZR-IO.js → _id-BLm9LVlZ.js} +1 -1
- package/dist/web/client/assets/{_id-BU1l9gP7.js → _id-BZ_-4M4s.js} +1 -1
- package/dist/web/client/assets/{_id-Bvh5LyUv.js → _id-CIkPtQY0.js} +1 -1
- package/dist/web/client/assets/{_id-BVANQm00.js → _id-KXX6nuKc.js} +1 -1
- package/dist/web/client/assets/{_id-tUkSe5li.js → _id-nDbQY7f_.js} +1 -1
- package/dist/web/client/assets/{activity-CWCnqjqj.js → activity-BE7jG1Mz.js} +1 -1
- package/dist/web/client/assets/{agents-CdCnhH06.js → agents-S9lzXrrs.js} +1 -1
- package/dist/web/client/assets/{agents-CX4STmGK.js → agents-vOPd-upn.js} +1 -1
- package/dist/web/client/assets/{approvals-CnNpwG78.js → approvals-BUfhlUAX.js} +1 -1
- package/dist/web/client/assets/{attention-CEE-wWrx.js → attention-C3r-2GSp.js} +1 -1
- package/dist/web/client/assets/chevron-right-C7P3Z105.js +1 -0
- package/dist/web/client/assets/{config-CSEtI-dq.js → config-AL_EM57n.js} +1 -1
- package/dist/web/client/assets/{inbox-MYnBtPdF.js → inbox-LlCpJrMH.js} +1 -1
- package/dist/web/client/assets/{index-Ct31TjS-.js → index-CwMw0pnV.js} +2 -2
- package/dist/web/client/assets/{learning-BIR5FTgQ.js → learning-zvTJ_9vM.js} +1 -1
- package/dist/web/client/assets/{login-DIeceuOs.js → login-BpQ54z8Y.js} +1 -1
- package/dist/web/client/assets/{mcp-CX3kJpGu.js → mcp-BD6VzXg_.js} +1 -1
- package/dist/web/client/assets/{members-DlhSjye1.js → members-SEDi8SFo.js} +1 -1
- package/dist/web/client/assets/{memory-CsDd6b2l.js → memory-zi_dPlMA.js} +1 -1
- package/dist/web/client/assets/{policy-DkWDhG0x.js → policy-URjQAAdN.js} +1 -1
- package/dist/web/client/assets/{results-BHdhNHJJ.js → results-Bcuy4Flp.js} +1 -1
- package/dist/web/client/assets/review-CVH7X9-d.js +1 -0
- package/dist/web/client/assets/{routes-DtYD4WJL.js → routes-BJEX6yAE.js} +1 -1
- package/dist/web/client/assets/{services-WUlW7oEo.js → services-BTG4F5FL.js} +1 -1
- package/dist/web/client/assets/{skills-jNoUfUSZ.js → skills-DwiHS7eD.js} +1 -1
- package/dist/web/client/assets/{teams-C1kYRrtP.js → teams-DcROmSGB.js} +1 -1
- package/dist/web/client/assets/{teams-D3FaSKE7.js → teams-DfpwQu1i.js} +1 -1
- package/dist/web/client/assets/{telegram-D86AO6V9.js → telegram-BLyaaUXE.js} +1 -1
- package/dist/web/client/assets/{tokens-B42KDisP.js → tokens-Dp9Vwvfx.js} +1 -1
- package/dist/web/client/assets/{triggers-yEfWnQ_K.js → triggers-CtVhrAGA.js} +1 -1
- package/dist/web/client/assets/verifications-TC0ccGLY.js +2 -0
- package/dist/web/client/assets/{welcome-D8IbF_P0.js → welcome-DML3X1ha.js} +1 -1
- package/dist/web/client/assets/{x-CXKABZ7C.js → x-D8yuCam7.js} +1 -1
- package/dist/web/server/assets/{_id-bVispdh-.js → _id-Bazctexc.js} +1 -1
- package/dist/web/server/assets/{_id-Dab2CVtO2.js → _id-BjvOb4CK2.js} +1 -1
- package/dist/web/server/assets/{_id-DL-SnSnK.js → _id-Bn0w00AG.js} +1 -1
- package/dist/web/server/assets/{_id-D2bDA1iV.js → _id-DFf_uQiI.js} +1 -1
- package/dist/web/server/assets/{_tanstack-start-manifest_v-BcTOb0oj.js → _tanstack-start-manifest_v-BGSoO6CK.js} +79 -79
- package/dist/web/server/assets/{activity-CLDAy6rk.js → activity-j_Enmf3L.js} +1 -1
- package/dist/web/server/assets/{agents-CdB2kuNN.js → agents-BAi0dE66.js} +1 -1
- package/dist/web/server/assets/{agents-DfHcb2H2.js → agents-BHUbTrm7.js} +1 -1
- package/dist/web/server/assets/{approvals-Bq846WaP.js → approvals-BcUm6IOo.js} +1 -1
- package/dist/web/server/assets/{attention-Sm-U7s_0.js → attention-BQBa0Bu5.js} +1 -1
- package/dist/web/server/assets/{auth-PB5dVyvX.js → auth-PDNSxrT-.js} +1 -1
- package/dist/web/server/assets/{config-BNGTBu80.js → config-Cf7hhsUR.js} +1 -1
- package/dist/web/server/assets/{daemon-client-CWQvck6B.js → daemon-client-DY4jE6KU.js} +15 -0
- package/dist/web/server/assets/{git-review-C_h_tezf.js → git-review-RvzReZyD.js} +1 -1
- package/dist/web/server/assets/{inbox-DJoU-bla.js → inbox-Du1guYth.js} +1 -1
- package/dist/web/server/assets/{learning-DVb0I_3Z.js → learning-CjcixPRH.js} +1 -1
- package/dist/web/server/assets/{mcp-CeZqOiDG.js → mcp-BCalFLvt.js} +1 -1
- package/dist/web/server/assets/{members-CcYjuqxB.js → members-C4TpK50B.js} +1 -1
- package/dist/web/server/assets/{memory-CH2yNT89.js → memory-CLZs-XRY.js} +1 -1
- package/dist/web/server/assets/{policy-DrRKinMr.js → policy-BrIXpwxZ.js} +1 -1
- package/dist/web/server/assets/publications-BrX3-WJf.js +57 -0
- package/dist/web/server/assets/{results-fT2zyiJx.js → results-CJR6dNzB.js} +1 -1
- package/dist/web/server/assets/{review-CvUPk4HA.js → review-CRHiZfC8.js} +1 -1
- package/dist/web/server/assets/{review-DYcYdUTv.js → review-Dqdts12v.js} +205 -3
- package/dist/web/server/assets/{review-packets-e36PsTSX.js → review-packets-D3bZ7QYU.js} +1 -1
- package/dist/web/server/assets/{router-NYhuYQCd.js → router-BVhdWkwP.js} +3 -3
- package/dist/web/server/assets/{routes-RdppWPiW.js → routes-DizvfkfZ.js} +1 -1
- package/dist/web/server/assets/{services-Dgu7dcTC.js → services-DDRj180j.js} +1 -1
- package/dist/web/server/assets/{skills-DL7UIWa8.js → skills-Bck9L5oo.js} +1 -1
- package/dist/web/server/assets/{teams-DiC-MBg4.js → teams-CSqR5mWl.js} +1 -1
- package/dist/web/server/assets/{teams-Cmn7mdx9.js → teams-C_PicOsj.js} +1 -1
- package/dist/web/server/assets/{telegram-CLOFnLjF.js → telegram-D0odXx1E.js} +1 -1
- package/dist/web/server/assets/{tokens-BVva7GHu.js → tokens-B2O0Di4p.js} +1 -1
- package/dist/web/server/assets/{triggers-D4orksJq.js → triggers-DtKMYL2r.js} +1 -1
- package/dist/web/server/assets/{verification-C1SHMTX8.js → verification-no5BrOeR.js} +1 -1
- package/dist/web/server/assets/{verifications-Ci49n2Km.js → verifications-CM-Bbgjt.js} +114 -91
- package/dist/web/server/assets/{verifications-C_ycXrPK.js → verifications-DhGe86E1.js} +1 -1
- package/dist/web/server/server.js +56 -48
- package/dist/worker.js +52 -1
- package/dist/worker.js.map +1 -1
- package/package.json +3 -3
- package/dist/web/client/assets/chevron-right-CvCEwfSl.js +0 -1
- package/dist/web/client/assets/review-Dyw47eM1.js +0 -1
- package/dist/web/client/assets/verifications-DrHQEQFx.js +0 -2
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as createServerFn } from "../server.js";
|
|
2
|
+
import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
|
|
3
|
+
import { a as fetchReviewFileLink, c as recordReviewConclusion, i as fetchReviewExport, l as resolveReviewFinding, n as addReviewFinding, o as fetchReviewPacket, r as createReviewPacket, s as recordReportedState, t as Route } from "./review-CRHiZfC8.js";
|
|
2
4
|
import { a as fetchTeamSnapshot, i as fetchTeamReview, n as fetchFileDiff, o as prepareReviewFeedback, s as sendReviewFeedback, t as captureTeamSnapshot } from "./git-review-BB3M9nYg.js";
|
|
3
5
|
import { r as PageShell } from "./Page-Bz-ydB8j.js";
|
|
4
6
|
import { t as Button } from "./Button-Dsnw22OF.js";
|
|
@@ -6,6 +8,206 @@ import { a as referenceLabel, i as changeSummary, o as snapshotLabel, r as baseL
|
|
|
6
8
|
import { t as TeamTabs } from "./TeamTabs-Dg4v6x0-.js";
|
|
7
9
|
import { useState } from "react";
|
|
8
10
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
//#region src/lib/publications.ts
|
|
12
|
+
var fetchTeamPublications = createServerFn({ method: "POST" }).validator((input) => input).handler(createSsrRpc("8cb9f33e191419922cf300f6a376425d82c51eefacc87c7ac673a4dc6d5404d6"));
|
|
13
|
+
var publishReviewedRevision = createServerFn({ method: "POST" }).validator((input) => input).handler(createSsrRpc("f514a362fcd27ca13859cf38b528929dac740cb400fe6cd920fedfb5b4860198"));
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/components/PublicationPanel.tsx
|
|
16
|
+
function PublicationPanel({ teamId }) {
|
|
17
|
+
const [view, setView] = useState(null);
|
|
18
|
+
const [packetId, setPacketId] = useState("");
|
|
19
|
+
const [branch, setBranch] = useState("");
|
|
20
|
+
const [busy, setBusy] = useState(false);
|
|
21
|
+
const [error, setError] = useState(null);
|
|
22
|
+
const [refusal, setRefusal] = useState(null);
|
|
23
|
+
const load = async () => {
|
|
24
|
+
setBusy(true);
|
|
25
|
+
const next = await fetchTeamPublications({ data: { id: teamId } });
|
|
26
|
+
setBusy(false);
|
|
27
|
+
setView(next);
|
|
28
|
+
};
|
|
29
|
+
if (view === null) return /* @__PURE__ */ jsxs("section", {
|
|
30
|
+
className: "card space-y-3",
|
|
31
|
+
"aria-label": "Publications",
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ jsx("h3", { children: "Publications" }),
|
|
34
|
+
/* @__PURE__ */ jsx("p", {
|
|
35
|
+
className: "muted",
|
|
36
|
+
children: "Publishing commits a reviewed revision to a new branch and opens a pull request. It never merges and never deploys, and the commit is unsigned."
|
|
37
|
+
}),
|
|
38
|
+
/* @__PURE__ */ jsx(Button, {
|
|
39
|
+
variant: "ghost",
|
|
40
|
+
disabled: busy,
|
|
41
|
+
onClick: () => void load(),
|
|
42
|
+
children: "Load publications"
|
|
43
|
+
})
|
|
44
|
+
]
|
|
45
|
+
});
|
|
46
|
+
return /* @__PURE__ */ jsxs("section", {
|
|
47
|
+
className: "card space-y-3",
|
|
48
|
+
"aria-label": "Publications",
|
|
49
|
+
children: [
|
|
50
|
+
/* @__PURE__ */ jsx("h3", { children: "Publications" }),
|
|
51
|
+
/* @__PURE__ */ jsx("p", {
|
|
52
|
+
className: "muted",
|
|
53
|
+
children: "Publishing commits a reviewed revision to a new branch and opens a pull request. It never merges and never deploys, and the commit is unsigned."
|
|
54
|
+
}),
|
|
55
|
+
/* @__PURE__ */ jsxs("div", {
|
|
56
|
+
className: "flex flex-wrap items-end gap-2",
|
|
57
|
+
children: [
|
|
58
|
+
/* @__PURE__ */ jsxs("label", {
|
|
59
|
+
className: "flex flex-col grow text-sm",
|
|
60
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
61
|
+
className: "muted",
|
|
62
|
+
children: "Reviewed packet id"
|
|
63
|
+
}), /* @__PURE__ */ jsx("input", {
|
|
64
|
+
value: packetId,
|
|
65
|
+
onChange: (event) => setPacketId(event.target.value)
|
|
66
|
+
})]
|
|
67
|
+
}),
|
|
68
|
+
/* @__PURE__ */ jsxs("label", {
|
|
69
|
+
className: "flex flex-col grow text-sm",
|
|
70
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
71
|
+
className: "muted",
|
|
72
|
+
children: "Branch (optional)"
|
|
73
|
+
}), /* @__PURE__ */ jsx("input", {
|
|
74
|
+
value: branch,
|
|
75
|
+
placeholder: "bazilion/review-…",
|
|
76
|
+
onChange: (event) => setBranch(event.target.value)
|
|
77
|
+
})]
|
|
78
|
+
}),
|
|
79
|
+
/* @__PURE__ */ jsx(Button, {
|
|
80
|
+
variant: "primary",
|
|
81
|
+
disabled: busy || packetId.trim().length === 0,
|
|
82
|
+
onClick: () => {
|
|
83
|
+
(async () => {
|
|
84
|
+
setBusy(true);
|
|
85
|
+
setError(null);
|
|
86
|
+
setRefusal(null);
|
|
87
|
+
const result = await publishReviewedRevision({ data: {
|
|
88
|
+
id: teamId,
|
|
89
|
+
packetId: packetId.trim(),
|
|
90
|
+
...branch.trim() ? { headBranch: branch.trim() } : {}
|
|
91
|
+
} });
|
|
92
|
+
setBusy(false);
|
|
93
|
+
if ("blocked" in result && result.blocked) {
|
|
94
|
+
setRefusal(result.blocked);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if ("unavailable" in result && result.unavailable) {
|
|
98
|
+
setError(result.unavailable.message);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
await load();
|
|
102
|
+
})();
|
|
103
|
+
},
|
|
104
|
+
children: "Publish"
|
|
105
|
+
}),
|
|
106
|
+
/* @__PURE__ */ jsx(Button, {
|
|
107
|
+
variant: "ghost",
|
|
108
|
+
disabled: busy,
|
|
109
|
+
onClick: () => void load(),
|
|
110
|
+
children: "Refresh"
|
|
111
|
+
})
|
|
112
|
+
]
|
|
113
|
+
}),
|
|
114
|
+
refusal ? /* @__PURE__ */ jsxs("p", {
|
|
115
|
+
role: "alert",
|
|
116
|
+
className: "rounded-sm border border-fawn p-2 text-sm",
|
|
117
|
+
children: [
|
|
118
|
+
"Refused (",
|
|
119
|
+
refusal.reason,
|
|
120
|
+
"): ",
|
|
121
|
+
refusal.detail,
|
|
122
|
+
" — nothing was sent."
|
|
123
|
+
]
|
|
124
|
+
}) : null,
|
|
125
|
+
error ? /* @__PURE__ */ jsx("p", {
|
|
126
|
+
role: "alert",
|
|
127
|
+
className: "rounded-sm border border-fawn p-2 text-sm",
|
|
128
|
+
children: error
|
|
129
|
+
}) : null,
|
|
130
|
+
view.unavailable ? /* @__PURE__ */ jsx("p", {
|
|
131
|
+
role: "alert",
|
|
132
|
+
children: view.unavailable.message
|
|
133
|
+
}) : null,
|
|
134
|
+
view.publications.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
135
|
+
className: "muted",
|
|
136
|
+
children: "No publications yet. Nothing has been sent anywhere for this Team."
|
|
137
|
+
}) : /* @__PURE__ */ jsx("ul", {
|
|
138
|
+
className: "list",
|
|
139
|
+
children: view.publications.map((publication) => /* @__PURE__ */ jsxs("li", {
|
|
140
|
+
className: "card space-y-1",
|
|
141
|
+
children: [
|
|
142
|
+
/* @__PURE__ */ jsxs("div", {
|
|
143
|
+
className: "flex flex-wrap items-baseline justify-between gap-2",
|
|
144
|
+
children: [/* @__PURE__ */ jsx("strong", { children: publication.state }), /* @__PURE__ */ jsxs("span", {
|
|
145
|
+
className: "muted",
|
|
146
|
+
children: [
|
|
147
|
+
publication.host,
|
|
148
|
+
" ",
|
|
149
|
+
publication.repository
|
|
150
|
+
]
|
|
151
|
+
})]
|
|
152
|
+
}),
|
|
153
|
+
/* @__PURE__ */ jsxs("p", {
|
|
154
|
+
className: "muted",
|
|
155
|
+
children: [
|
|
156
|
+
publication.headBranch,
|
|
157
|
+
" (base ",
|
|
158
|
+
publication.baseBranch,
|
|
159
|
+
") · packet ",
|
|
160
|
+
publication.packetId
|
|
161
|
+
]
|
|
162
|
+
}),
|
|
163
|
+
publication.commitOid ? /* @__PURE__ */ jsxs("p", {
|
|
164
|
+
className: "muted",
|
|
165
|
+
children: [
|
|
166
|
+
"commit ",
|
|
167
|
+
publication.commitOid.slice(0, 12),
|
|
168
|
+
" · unsigned"
|
|
169
|
+
]
|
|
170
|
+
}) : null,
|
|
171
|
+
publication.pullRequestUrl ? /* @__PURE__ */ jsxs("p", {
|
|
172
|
+
className: "muted",
|
|
173
|
+
children: [
|
|
174
|
+
"pull request",
|
|
175
|
+
" ",
|
|
176
|
+
/* @__PURE__ */ jsxs("a", {
|
|
177
|
+
href: publication.pullRequestUrl,
|
|
178
|
+
rel: "noreferrer",
|
|
179
|
+
target: "_blank",
|
|
180
|
+
children: ["#", publication.pullRequestNumber ?? ""]
|
|
181
|
+
})
|
|
182
|
+
]
|
|
183
|
+
}) : publication.state === "published" ? /* @__PURE__ */ jsx("p", {
|
|
184
|
+
className: "muted",
|
|
185
|
+
children: "no pull request was opened"
|
|
186
|
+
}) : null,
|
|
187
|
+
publication.refusalReason ? /* @__PURE__ */ jsxs("p", {
|
|
188
|
+
className: "muted",
|
|
189
|
+
children: [
|
|
190
|
+
"refused: ",
|
|
191
|
+
publication.refusalReason,
|
|
192
|
+
" — ",
|
|
193
|
+
publication.refusalDetail
|
|
194
|
+
]
|
|
195
|
+
}) : null,
|
|
196
|
+
publication.error ? /* @__PURE__ */ jsxs("p", {
|
|
197
|
+
className: "muted",
|
|
198
|
+
children: ["note: ", publication.error]
|
|
199
|
+
}) : null,
|
|
200
|
+
/* @__PURE__ */ jsx("p", {
|
|
201
|
+
className: "muted",
|
|
202
|
+
children: publication.state === "refused" ? "Nothing was sent: no commit, no push, no pull request." : publication.state === "uncertain" ? "Whether the branch reached the host is unknown. Check the host before publishing again." : "Nothing was merged and nothing was deployed."
|
|
203
|
+
})
|
|
204
|
+
]
|
|
205
|
+
}, publication.id))
|
|
206
|
+
})
|
|
207
|
+
]
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
//#endregion
|
|
9
211
|
//#region src/components/ReviewPacketPanel.tsx
|
|
10
212
|
var SEVERITIES = [
|
|
11
213
|
"blocker",
|
|
@@ -849,10 +1051,10 @@ function ReviewPage() {
|
|
|
849
1051
|
})
|
|
850
1052
|
]
|
|
851
1053
|
}),
|
|
852
|
-
loaded.packets ? /* @__PURE__ */ jsx(ReviewPacketPanel, {
|
|
1054
|
+
loaded.packets ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(ReviewPacketPanel, {
|
|
853
1055
|
teamId,
|
|
854
1056
|
view: loaded.packets
|
|
855
|
-
}) : null
|
|
1057
|
+
}), /* @__PURE__ */ jsx(PublicationPanel, { teamId })] }) : null
|
|
856
1058
|
] });
|
|
857
1059
|
}
|
|
858
1060
|
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as createServerFn } from "../server.js";
|
|
2
2
|
import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
|
|
3
|
-
import { n as daemonClient, r as ApiClientError } from "./daemon-client-
|
|
3
|
+
import { n as daemonClient, r as ApiClientError } from "./daemon-client-DY4jE6KU.js";
|
|
4
4
|
//#region src/lib/review-packets.ts?tss-serverfn-split
|
|
5
5
|
function failure(error, fallback) {
|
|
6
6
|
if (!(error instanceof ApiClientError)) throw error;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as getCookie, n as createServerFn } from "../server.js";
|
|
2
|
-
import { t as DAEMON_BASE_URL } from "./daemon-client-
|
|
2
|
+
import { t as DAEMON_BASE_URL } from "./daemon-client-DY4jE6KU.js";
|
|
3
3
|
import { t as webOriginConfig } from "./public-origin-xV0lm0Ty.js";
|
|
4
4
|
import { i as BaziuLogo, n as ThemeToggle, r as PawIcon, t as Route$5 } from "./login-rDox7PRD.js";
|
|
5
5
|
import { t as createSsrRpc } from "./createSsrRpc-6LHNEsSK.js";
|
|
@@ -18,8 +18,8 @@ import { t as Route$17 } from "./teams-BJuoNOTB.js";
|
|
|
18
18
|
import { t as Route$18 } from "./agents-CJk4pxKu.js";
|
|
19
19
|
import { t as Route$19 } from "./_id--onriuvj.js";
|
|
20
20
|
import { t as Route$20 } from "./_id-BN1BPEDI.js";
|
|
21
|
-
import { t as Route$21 } from "./verifications-
|
|
22
|
-
import { t as Route$22 } from "./review-
|
|
21
|
+
import { t as Route$21 } from "./verifications-DhGe86E1.js";
|
|
22
|
+
import { t as Route$22 } from "./review-CRHiZfC8.js";
|
|
23
23
|
import { t as Route$23 } from "./results-BFqs2iOu.js";
|
|
24
24
|
import { t as Route$24 } from "./policy-B62WXIFo.js";
|
|
25
25
|
import { t as Route$25 } from "./memory-lo2vHRNw.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as getCookie, n as createServerFn } from "../server.js";
|
|
2
2
|
import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
|
|
3
|
-
import { n as daemonClient, r as ApiClientError } from "./daemon-client-
|
|
3
|
+
import { n as daemonClient, r as ApiClientError } from "./daemon-client-DY4jE6KU.js";
|
|
4
4
|
import { t as SIDEBAR_OPEN_GROUPS_COOKIE } from "./Sidebar-DKyk7oIo.js";
|
|
5
5
|
//#region src/routes/index.tsx?tss-serverfn-split
|
|
6
6
|
function parseOpenGroupsCookie(raw) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as createServerFn } from "../server.js";
|
|
2
2
|
import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
|
|
3
|
-
import { n as daemonClient } from "./daemon-client-
|
|
3
|
+
import { n as daemonClient } from "./daemon-client-DY4jE6KU.js";
|
|
4
4
|
//#region src/routes/config/services.tsx?tss-serverfn-split
|
|
5
5
|
var fetchServices_createServerFn_handler = createServerRpc({
|
|
6
6
|
id: "6afd81bef0ee381d6e3641cd8e269968429c874e2f9d56c8f818cc9d180ee477",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as createServerFn } from "../server.js";
|
|
2
2
|
import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
|
|
3
|
-
import { n as daemonClient } from "./daemon-client-
|
|
3
|
+
import { n as daemonClient } from "./daemon-client-DY4jE6KU.js";
|
|
4
4
|
//#region src/routes/skills/index.tsx?tss-serverfn-split
|
|
5
5
|
var fetchSkills_createServerFn_handler = createServerRpc({
|
|
6
6
|
id: "ae1d30575b229c1e2622fbaf2252800a9a7acc84afdd68cba025ca890b8d52c5",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as createServerFn } from "../server.js";
|
|
2
2
|
import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
|
|
3
|
-
import { n as daemonClient } from "./daemon-client-
|
|
3
|
+
import { n as daemonClient } from "./daemon-client-DY4jE6KU.js";
|
|
4
4
|
//#region src/routes/teams/index.tsx?tss-serverfn-split
|
|
5
5
|
var fetchTeamsData_createServerFn_handler = createServerRpc({
|
|
6
6
|
id: "1ab05a58944792f34ad279deeaa56f70e9360687856b18327f335b022e8d21a5",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as createServerFn } from "../server.js";
|
|
2
2
|
import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
|
|
3
|
-
import { n as daemonClient } from "./daemon-client-
|
|
3
|
+
import { n as daemonClient } from "./daemon-client-DY4jE6KU.js";
|
|
4
4
|
//#region src/routes/templates/teams/index.tsx?tss-serverfn-split
|
|
5
5
|
var fetchTeams_createServerFn_handler = createServerRpc({
|
|
6
6
|
id: "1bb12262aaa902fa208aafaa70b69c63da34c1fe523ab0322fe766903fc6b4c1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as createServerFn } from "../server.js";
|
|
2
2
|
import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
|
|
3
|
-
import { n as daemonClient } from "./daemon-client-
|
|
3
|
+
import { n as daemonClient } from "./daemon-client-DY4jE6KU.js";
|
|
4
4
|
//#region src/routes/config/integrations/telegram.tsx?tss-serverfn-split
|
|
5
5
|
var fetchTelegramConfig_createServerFn_handler = createServerRpc({
|
|
6
6
|
id: "00a157dd07824e1f126f06646effd1d876f280f6fc64c144d2f6429414a4e58a",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as createServerFn } from "../server.js";
|
|
2
2
|
import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
|
|
3
|
-
import { n as daemonClient } from "./daemon-client-
|
|
3
|
+
import { n as daemonClient } from "./daemon-client-DY4jE6KU.js";
|
|
4
4
|
//#region src/routes/config/tokens.tsx?tss-serverfn-split
|
|
5
5
|
var fetchTokens_createServerFn_handler = createServerRpc({
|
|
6
6
|
id: "46e35c9f1afc79423cb49703b454ef684344db08ec19775efd70a8768c7837f1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as createServerFn } from "../server.js";
|
|
2
2
|
import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
|
|
3
|
-
import { n as daemonClient, r as ApiClientError } from "./daemon-client-
|
|
3
|
+
import { n as daemonClient, r as ApiClientError } from "./daemon-client-DY4jE6KU.js";
|
|
4
4
|
//#region src/routes/agents/$id/triggers.tsx?tss-serverfn-split
|
|
5
5
|
var fetchTriggers_createServerFn_handler = createServerRpc({
|
|
6
6
|
id: "57ebf437fdb3fcfc63b176e796a55f04bdfec0b230059673196e98d413d15c4d",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as createServerFn } from "../server.js";
|
|
2
2
|
import { t as createServerRpc } from "./createServerRpc-B7Yr1K8i.js";
|
|
3
|
-
import { n as daemonClient, r as ApiClientError } from "./daemon-client-
|
|
3
|
+
import { n as daemonClient, r as ApiClientError } from "./daemon-client-DY4jE6KU.js";
|
|
4
4
|
//#region src/lib/verification.ts?tss-serverfn-split
|
|
5
5
|
function failure(error, fallback) {
|
|
6
6
|
if (!(error instanceof ApiClientError)) throw error;
|
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
import { a as fetchVerification, i as fetchTeamVerifications, n as cancelVerification, r as createVerification, t as Route } from "./verifications-
|
|
1
|
+
import { a as fetchVerification, i as fetchTeamVerifications, n as cancelVerification, r as createVerification, t as Route } from "./verifications-DhGe86E1.js";
|
|
2
2
|
import { r as PageShell } from "./Page-Bz-ydB8j.js";
|
|
3
3
|
import { t as Button } from "./Button-Dsnw22OF.js";
|
|
4
4
|
import { t as TeamTabs } from "./TeamTabs-Dg4v6x0-.js";
|
|
5
5
|
import { useState } from "react";
|
|
6
6
|
import { Link } from "@tanstack/react-router";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
//#region ../../packages/api-types/src/verification.ts
|
|
9
|
+
/**
|
|
10
|
+
* What a verification outcome is, and what it is not.
|
|
11
|
+
*
|
|
12
|
+
* One wording with two readers: the result message an Agent receives and the panel the operator reads
|
|
13
|
+
* in the browser. A limit stated on one surface and not the other is how an operator comes to read
|
|
14
|
+
* "all inside the declared paths" as confinement, or a completed request as an approval.
|
|
15
|
+
*
|
|
16
|
+
* The last sentence is the one that matters most: declared output paths are **reported**, not enforced.
|
|
17
|
+
*/
|
|
18
|
+
var VERIFICATION_OUTCOME_LIMITS = ["Facts above are executor-owned. A non-zero exit is a result about the commands that ran, never proof about later code, and this is not an approval to publish, merge or deploy.", "Declared output paths are not enforced, so a change they do not cover appears above rather than being prevented."];
|
|
19
|
+
//#endregion
|
|
8
20
|
//#region src/routes/teams/$id/verifications.tsx?tsr-split=component
|
|
9
21
|
/** Three-valued and never a badge: "changed" proves the source moved, not that it was relevant. */
|
|
10
22
|
function applicabilityLabel(comparison) {
|
|
@@ -180,100 +192,111 @@ function VerificationsPage() {
|
|
|
180
192
|
}),
|
|
181
193
|
/* @__PURE__ */ jsxs("section", {
|
|
182
194
|
"aria-label": "Verification requests",
|
|
183
|
-
children: [
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
children: [
|
|
196
|
+
/* @__PURE__ */ jsx("h3", { children: "Requests" }),
|
|
197
|
+
requests.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
198
|
+
className: "muted",
|
|
199
|
+
children: "No verification requests yet."
|
|
200
|
+
}) : /* @__PURE__ */ jsx("ul", {
|
|
201
|
+
className: "list",
|
|
202
|
+
children: requests.map((report) => {
|
|
203
|
+
const attempt = [...report.attempts].sort((a, b) => b.attemptNumber - a.attemptNumber)[0];
|
|
204
|
+
const outcomes = new Map((attempt?.outcomes ?? []).map((outcome) => [outcome.ordinal, outcome]));
|
|
205
|
+
const cancellable = report.request.state === "pending" || report.request.state === "awaiting_approval" || report.request.state === "running";
|
|
206
|
+
return /* @__PURE__ */ jsxs("li", {
|
|
207
|
+
className: "card",
|
|
208
|
+
children: [
|
|
209
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
210
|
+
/* @__PURE__ */ jsx("strong", { children: report.request.state }),
|
|
211
|
+
" ",
|
|
212
|
+
/* @__PURE__ */ jsxs("span", {
|
|
213
|
+
className: "muted",
|
|
214
|
+
children: [
|
|
215
|
+
report.request.recipientAgentId,
|
|
216
|
+
" · ",
|
|
217
|
+
report.request.id
|
|
218
|
+
]
|
|
219
|
+
})
|
|
220
|
+
] }),
|
|
221
|
+
/* @__PURE__ */ jsxs("p", {
|
|
199
222
|
className: "muted",
|
|
200
223
|
children: [
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
224
|
+
"change ",
|
|
225
|
+
report.request.snapshot.id.slice(0, 12),
|
|
226
|
+
" ·",
|
|
227
|
+
" ",
|
|
228
|
+
report.request.environment.image,
|
|
229
|
+
" (shell ",
|
|
230
|
+
report.request.environment.sandbox,
|
|
231
|
+
")"
|
|
204
232
|
]
|
|
205
|
-
})
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
"
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
onClick: () => cancel(report.request.id),
|
|
271
|
-
children: "Cancel"
|
|
272
|
-
}) : null
|
|
273
|
-
]
|
|
274
|
-
}, report.request.id);
|
|
233
|
+
}),
|
|
234
|
+
/* @__PURE__ */ jsx("ul", { children: report.checks.map((check) => {
|
|
235
|
+
const outcome = outcomes.get(check.ordinal);
|
|
236
|
+
return /* @__PURE__ */ jsxs("li", { children: [
|
|
237
|
+
"[",
|
|
238
|
+
check.ordinal,
|
|
239
|
+
"] ",
|
|
240
|
+
outcomeLabel(outcome?.state ?? "not_executed", outcome?.exitCode ?? null),
|
|
241
|
+
" ",
|
|
242
|
+
"— ",
|
|
243
|
+
/* @__PURE__ */ jsx("code", { children: check.command }),
|
|
244
|
+
outcome?.commandId ? /* @__PURE__ */ jsxs(Fragment, { children: [" ", /* @__PURE__ */ jsxs("span", {
|
|
245
|
+
className: "muted",
|
|
246
|
+
children: ["receipt ", outcome.commandId.slice(0, 8)]
|
|
247
|
+
})] }) : outcome?.receiptUnavailable ? /* @__PURE__ */ jsxs(Fragment, { children: [" ", /* @__PURE__ */ jsx("span", {
|
|
248
|
+
className: "muted",
|
|
249
|
+
children: "receipt no longer available"
|
|
250
|
+
})] }) : null
|
|
251
|
+
] }, check.ordinal);
|
|
252
|
+
}) }),
|
|
253
|
+
attempt?.observedWrites?.undeclaredPaths.length ? /* @__PURE__ */ jsxs("p", {
|
|
254
|
+
className: "muted",
|
|
255
|
+
children: [
|
|
256
|
+
"wrote outside the declared output paths (",
|
|
257
|
+
attempt.observedWrites.declaredPaths.length ? attempt.observedWrites.declaredPaths.join(", ") : "none declared",
|
|
258
|
+
"): ",
|
|
259
|
+
attempt.observedWrites.undeclaredPaths.join(", "),
|
|
260
|
+
attempt.observedWrites.truncated ? " …" : ""
|
|
261
|
+
]
|
|
262
|
+
}) : attempt?.observedWrites?.comparison === "unknown" ? /* @__PURE__ */ jsx("p", {
|
|
263
|
+
className: "muted",
|
|
264
|
+
children: "writes: could not be established"
|
|
265
|
+
}) : null,
|
|
266
|
+
attempt?.error ? /* @__PURE__ */ jsxs("p", {
|
|
267
|
+
className: "muted",
|
|
268
|
+
children: ["note: ", attempt.error]
|
|
269
|
+
}) : null,
|
|
270
|
+
/* @__PURE__ */ jsxs("p", {
|
|
271
|
+
className: "muted",
|
|
272
|
+
children: ["applicability: ", applicability[report.request.id] ?? "not checked"]
|
|
273
|
+
}),
|
|
274
|
+
/* @__PURE__ */ jsx(Button, {
|
|
275
|
+
variant: "ghost",
|
|
276
|
+
disabled: busy,
|
|
277
|
+
onClick: () => checkApplicability(report.request.id),
|
|
278
|
+
children: "Check applicability"
|
|
279
|
+
}),
|
|
280
|
+
" ",
|
|
281
|
+
cancellable ? /* @__PURE__ */ jsx(Button, {
|
|
282
|
+
variant: "danger",
|
|
283
|
+
disabled: busy,
|
|
284
|
+
onClick: () => cancel(report.request.id),
|
|
285
|
+
children: "Cancel"
|
|
286
|
+
}) : null
|
|
287
|
+
]
|
|
288
|
+
}, report.request.id);
|
|
289
|
+
})
|
|
290
|
+
}),
|
|
291
|
+
/* @__PURE__ */ jsxs("p", {
|
|
292
|
+
className: "muted",
|
|
293
|
+
children: [
|
|
294
|
+
VERIFICATION_OUTCOME_LIMITS[0],
|
|
295
|
+
" ",
|
|
296
|
+
VERIFICATION_OUTCOME_LIMITS[1]
|
|
297
|
+
]
|
|
275
298
|
})
|
|
276
|
-
|
|
299
|
+
]
|
|
277
300
|
})
|
|
278
301
|
] });
|
|
279
302
|
}
|
|
@@ -12,7 +12,7 @@ var createVerification = createServerFn({ method: "POST" }).validator((input) =>
|
|
|
12
12
|
var cancelVerification = createServerFn({ method: "POST" }).validator((input) => input).handler(createSsrRpc("8f81bc274b3fa565cdb912454629cacae4686a46b7e672331432b113484722c3"));
|
|
13
13
|
//#endregion
|
|
14
14
|
//#region src/routes/teams/$id/verifications.tsx
|
|
15
|
-
var $$splitComponentImporter = () => import("./verifications-
|
|
15
|
+
var $$splitComponentImporter = () => import("./verifications-CM-Bbgjt.js");
|
|
16
16
|
var Route = createFileRoute("/teams/$id/verifications")({
|
|
17
17
|
loader: async ({ params }) => {
|
|
18
18
|
const data = await fetchTeamVerifications({ data: { id: params.id } });
|