@shivaedev/work-board 0.14.1 → 0.15.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/CHANGELOG.md +26 -0
- package/README.md +1 -1
- package/assets/agent.js +1 -1
- package/assets/native.js +25 -25
- package/assets/react.js +38 -37
- package/dist/browser/diagnostics/schema.d.ts +15 -12
- package/dist/browser/diagnostics/schema.d.ts.map +1 -1
- package/dist/browser/diagnostics/schema.js +12 -2
- package/dist/browser/diagnostics/schema.js.map +1 -1
- package/dist/browser/views/remaining.d.ts +20 -12
- package/dist/browser/views/remaining.d.ts.map +1 -1
- package/dist/client/client.d.ts +1 -0
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +1 -1
- package/dist/client/client.js.map +1 -1
- package/dist/client/formStatus.d.ts +12 -0
- package/dist/client/formStatus.d.ts.map +1 -0
- package/dist/client/formStatus.js +27 -0
- package/dist/client/formStatus.js.map +1 -0
- package/dist/client/react/BoardShell.d.ts.map +1 -1
- package/dist/client/react/BoardShell.js +15 -21
- package/dist/client/react/BoardShell.js.map +1 -1
- package/dist/client/react/DocumentContext.d.ts.map +1 -1
- package/dist/client/react/DocumentContext.js +6 -3
- package/dist/client/react/DocumentContext.js.map +1 -1
- package/dist/client/react/FormContext.d.ts +5 -0
- package/dist/client/react/FormContext.d.ts.map +1 -0
- package/dist/client/react/FormContext.js +10 -0
- package/dist/client/react/FormContext.js.map +1 -0
- package/dist/client/react/LiveControls.d.ts +4 -3
- package/dist/client/react/LiveControls.d.ts.map +1 -1
- package/dist/client/react/LiveControls.js +5 -19
- package/dist/client/react/LiveControls.js.map +1 -1
- package/dist/client/react/MainLocationContext.d.ts +3 -0
- package/dist/client/react/MainLocationContext.d.ts.map +1 -0
- package/dist/client/react/MainLocationContext.js +7 -0
- package/dist/client/react/MainLocationContext.js.map +1 -0
- package/dist/client/react/ProjectionFrame.d.ts +1 -2
- package/dist/client/react/ProjectionFrame.d.ts.map +1 -1
- package/dist/client/react/ProjectionFrame.js +10 -4
- package/dist/client/react/ProjectionFrame.js.map +1 -1
- package/dist/client/react/ReadingLibrary.d.ts.map +1 -1
- package/dist/client/react/ReadingLibrary.js +7 -8
- package/dist/client/react/ReadingLibrary.js.map +1 -1
- package/dist/client/react/SystemPage.d.ts.map +1 -1
- package/dist/client/react/SystemPage.js +2 -1
- package/dist/client/react/SystemPage.js.map +1 -1
- package/dist/client/react/TodayOptions.d.ts.map +1 -1
- package/dist/client/react/TodayOptions.js +23 -14
- package/dist/client/react/TodayOptions.js.map +1 -1
- package/dist/client/react/VisualViewer.d.ts.map +1 -1
- package/dist/client/react/VisualViewer.js +6 -5
- package/dist/client/react/VisualViewer.js.map +1 -1
- package/dist/client/react/boardRouter.d.ts +3 -2
- package/dist/client/react/boardRouter.d.ts.map +1 -1
- package/dist/client/react/boardRouter.js +2 -1
- package/dist/client/react/boardRouter.js.map +1 -1
- package/dist/client/react/createResponse.d.ts +32 -4
- package/dist/client/react/createResponse.d.ts.map +1 -1
- package/dist/client/react/createResponse.js +7 -28
- package/dist/client/react/createResponse.js.map +1 -1
- package/dist/client/react/diagnosticsValues.d.ts.map +1 -1
- package/dist/client/react/diagnosticsValues.js +5 -7
- package/dist/client/react/diagnosticsValues.js.map +1 -1
- package/dist/client/react/entry.d.ts.map +1 -1
- package/dist/client/react/entry.js +2 -34
- package/dist/client/react/entry.js.map +1 -1
- package/dist/client/react/githubLimited.d.ts +3 -0
- package/dist/client/react/githubLimited.d.ts.map +1 -0
- package/dist/client/react/githubLimited.js +4 -0
- package/dist/client/react/githubLimited.js.map +1 -0
- package/dist/client/react/loadProjection.d.ts +135 -135
- package/dist/client/react/loadRemaining.d.ts +37 -29
- package/dist/client/react/loadRemaining.d.ts.map +1 -1
- package/dist/client/react/mainLocation.d.ts +4 -2
- package/dist/client/react/mainLocation.d.ts.map +1 -1
- package/dist/client/react/mainLocation.js +1 -8
- package/dist/client/react/mainLocation.js.map +1 -1
- package/dist/client/react/mountBoard.d.ts +3 -0
- package/dist/client/react/mountBoard.d.ts.map +1 -0
- package/dist/client/react/mountBoard.js +45 -0
- package/dist/client/react/mountBoard.js.map +1 -0
- package/dist/client/react/navigationLocation.d.ts +1 -1
- package/dist/client/react/navigationLocation.d.ts.map +1 -1
- package/dist/client/react/navigationLocation.js +1 -1
- package/dist/client/react/navigationLocation.js.map +1 -1
- package/dist/client/react/retryPage.d.ts +2 -1
- package/dist/client/react/retryPage.d.ts.map +1 -1
- package/dist/client/react/retryPage.js +3 -4
- package/dist/client/react/retryPage.js.map +1 -1
- package/dist/client/react/useBoardNavigation.d.ts.map +1 -1
- package/dist/client/react/useBoardNavigation.js +18 -8
- package/dist/client/react/useBoardNavigation.js.map +1 -1
- package/dist/client/react/useDocumentPage.d.ts +1 -1
- package/dist/client/react/useDocumentPage.d.ts.map +1 -1
- package/dist/client/react/useDocumentPage.js +9 -6
- package/dist/client/react/useDocumentPage.js.map +1 -1
- package/dist/client/react/useHandoffForm.d.ts +56 -30
- package/dist/client/react/useHandoffForm.d.ts.map +1 -1
- package/dist/client/react/useHandoffForm.js +19 -30
- package/dist/client/react/useHandoffForm.js.map +1 -1
- package/dist/client/react/useResponseForm.d.ts +72 -43
- package/dist/client/react/useResponseForm.d.ts.map +1 -1
- package/dist/client/react/useResponseForm.js +20 -17
- package/dist/client/react/useResponseForm.js.map +1 -1
- package/dist/client/react/visualSources.d.ts.map +1 -1
- package/dist/client/react/visualSources.js +10 -8
- package/dist/client/react/visualSources.js.map +1 -1
- package/dist/client/saveFailure.d.ts +8 -0
- package/dist/client/saveFailure.d.ts.map +1 -0
- package/dist/client/saveFailure.js +8 -0
- package/dist/client/saveFailure.js.map +1 -0
- package/dist/diagnostics/daemonContract.d.ts +65 -38
- package/dist/diagnostics/daemonContract.d.ts.map +1 -1
- package/dist/diagnostics/daemonContract.js +2 -1
- package/dist/diagnostics/daemonContract.js.map +1 -1
- package/dist/diagnostics/health.d.ts +10 -0
- package/dist/diagnostics/health.d.ts.map +1 -1
- package/dist/diagnostics/health.js +2 -0
- package/dist/diagnostics/health.js.map +1 -1
- package/dist/diagnostics/source.d.ts +55 -36
- package/dist/diagnostics/source.d.ts.map +1 -1
- package/dist/diagnostics/source.js +1 -2
- package/dist/diagnostics/source.js.map +1 -1
- package/dist/rpc/contract.d.ts +60 -36
- package/dist/rpc/contract.d.ts.map +1 -1
- package/dist/rpc/handoffContract.d.ts +8 -8
- package/dist/server/diagnostics/daemon.d.ts +41 -25
- package/dist/server/diagnostics/daemon.d.ts.map +1 -1
- package/dist/server/diagnostics/fleetHealth.d.ts +10 -0
- package/dist/server/diagnostics/fleetHealth.d.ts.map +1 -1
- package/dist/server/diagnostics/githubLimits.d.ts +12 -13
- package/dist/server/diagnostics/githubLimits.d.ts.map +1 -1
- package/dist/server/diagnostics/githubLimits.js +6 -6
- package/dist/server/diagnostics/githubLimits.js.map +1 -1
- package/dist/server/integration/diagnostics.d.ts +74 -38
- package/dist/server/integration/diagnostics.d.ts.map +1 -1
- package/dist/server/mcp/client.d.ts +589 -581
- package/dist/server/mcp/client.d.ts.map +1 -1
- package/dist/server/mcp/queries.d.ts +60 -36
- package/dist/server/mcp/queries.d.ts.map +1 -1
- package/dist/server/metadata/fields.js +1 -1
- package/dist/server/metadata/fields.js.map +1 -1
- package/dist/server/packageInfo.d.ts +1 -1
- package/dist/server/packageInfo.js +1 -1
- package/dist/server/views/remainingQueries.d.ts +20 -12
- package/dist/server/views/remainingQueries.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/browser/diagnostics/schema.ts +12 -2
- package/src/client/client.ts +2 -1
- package/src/client/formStatus.ts +35 -0
- package/src/client/react/BoardShell.tsx +19 -26
- package/src/client/react/DocumentContext.tsx +6 -3
- package/src/client/react/FormContext.ts +13 -0
- package/src/client/react/LiveControls.tsx +5 -25
- package/src/client/react/MainLocationContext.ts +8 -0
- package/src/client/react/ProjectionFrame.tsx +13 -5
- package/src/client/react/ReadingLibrary.tsx +7 -8
- package/src/client/react/SystemPage.tsx +2 -1
- package/src/client/react/TodayOptions.tsx +40 -33
- package/src/client/react/VisualViewer.tsx +6 -6
- package/src/client/react/boardRouter.ts +3 -2
- package/src/client/react/createResponse.ts +10 -35
- package/src/client/react/diagnosticsValues.tsx +20 -12
- package/src/client/react/entry.tsx +2 -37
- package/src/client/react/githubLimited.ts +5 -0
- package/src/client/react/mainLocation.ts +5 -8
- package/src/client/react/mountBoard.tsx +49 -0
- package/src/client/react/navigationLocation.ts +2 -2
- package/src/client/react/retryPage.ts +4 -4
- package/src/client/react/useBoardNavigation.ts +20 -8
- package/src/client/react/useDocumentPage.ts +12 -6
- package/src/client/react/useHandoffForm.ts +25 -33
- package/src/client/react/useResponseForm.ts +20 -18
- package/src/client/react/visualSources.ts +10 -8
- package/src/client/saveFailure.ts +14 -0
- package/src/diagnostics/daemonContract.ts +2 -1
- package/src/diagnostics/health.ts +2 -0
- package/src/diagnostics/source.ts +1 -2
- package/src/server/diagnostics/githubLimits.ts +9 -11
- package/src/server/metadata/fields.ts +1 -1
- package/src/server/packageInfo.ts +1 -1
- package/dist/client/handoffs/failureStatus.d.ts +0 -2
- package/dist/client/handoffs/failureStatus.d.ts.map +0 -1
- package/dist/client/handoffs/failureStatus.js +0 -7
- package/dist/client/handoffs/failureStatus.js.map +0 -1
- package/dist/client/responses/failure.d.ts +0 -5
- package/dist/client/responses/failure.d.ts.map +0 -1
- package/dist/client/responses/failure.js +0 -13
- package/dist/client/responses/failure.js.map +0 -1
- package/dist/server/diagnostics/readCommand.d.ts +0 -4
- package/dist/server/diagnostics/readCommand.d.ts.map +0 -1
- package/dist/server/diagnostics/readCommand.js +0 -20
- package/dist/server/diagnostics/readCommand.js.map +0 -1
- package/src/client/handoffs/failureStatus.ts +0 -6
- package/src/client/responses/failure.ts +0 -13
- package/src/server/diagnostics/readCommand.ts +0 -24
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useAtomRef } from "@effect/atom-react";
|
|
2
|
-
import { Equal,
|
|
3
|
-
import
|
|
4
|
-
import { useEffect, useRef, useState } from "react";
|
|
2
|
+
import { Equal, Option, Schema } from "effect";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
5
4
|
import { useCreate } from "@shivaedev/effect-react/create.ts";
|
|
6
5
|
import { formDraft } from "#client/formDraft.ts";
|
|
6
|
+
import { formStatus, responseSaved } from "#client/formStatus.ts";
|
|
7
7
|
import { answerRecovery, recoveryText } from "#client/responses/answerRecovery.ts";
|
|
8
8
|
import { authorLabel } from "#client/responses/authorLabel.ts";
|
|
9
9
|
import { responseFormSchema } from "#client/responses/formSchema.ts";
|
|
@@ -12,12 +12,12 @@ import { retainContext } from "#client/responses/retainContext.ts";
|
|
|
12
12
|
import { responseFeedback, responseSummary } from "#client/responses/summary.ts";
|
|
13
13
|
import { sourceChanged } from "#client/sourceChanged.ts";
|
|
14
14
|
import { createResponse } from "./createResponse.js";
|
|
15
|
-
|
|
15
|
+
import { useFormClient } from "./FormContext.js";
|
|
16
16
|
export function useResponseForm(source, prompts) {
|
|
17
|
+
const client = useFormClient();
|
|
17
18
|
const schema = responseFormSchema(prompts.length > 0);
|
|
18
19
|
const [preview, setPreview] = useState();
|
|
19
|
-
const [
|
|
20
|
-
const [status, setStatus] = useState("");
|
|
20
|
+
const [interaction, setInteraction] = useState("draft");
|
|
21
21
|
const [attempted, setAttempted] = useState(false);
|
|
22
22
|
const [label] = useState(() => authorLabel(() => window.localStorage, typeof document === "undefined" ? undefined : document.documentElement.dataset.workspace));
|
|
23
23
|
const [initial] = useState(() => ({
|
|
@@ -33,13 +33,13 @@ export function useResponseForm(source, prompts) {
|
|
|
33
33
|
type: "answer",
|
|
34
34
|
}));
|
|
35
35
|
const draft = formDraft("response", source.item, source.request);
|
|
36
|
-
const modelRef = useRef(undefined);
|
|
37
36
|
const created = useCreate({
|
|
38
|
-
create: (submission) => createResponse(source, submission
|
|
37
|
+
create: (submission) => createResponse(client, source, submission),
|
|
39
38
|
fields: schema,
|
|
40
39
|
initialValues: initial,
|
|
41
40
|
persistedDraft: draft,
|
|
42
|
-
|
|
41
|
+
rejectField: () => undefined,
|
|
42
|
+
runtime: client.runtime,
|
|
43
43
|
});
|
|
44
44
|
const form = created.form;
|
|
45
45
|
const values = useAtomRef(form.values);
|
|
@@ -51,7 +51,6 @@ export function useResponseForm(source, prompts) {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}, [form, created.created, created.dirty, initial, label]);
|
|
54
|
-
modelRef.current = values;
|
|
55
54
|
const same = values.question === source.id && values.revision === source.reviewedRevision;
|
|
56
55
|
const stale = Boolean(values.id) && !same;
|
|
57
56
|
const recovery = answerRecovery(values, !stale || values.answerContext === JSON.stringify([source.id, source.reviewedRevision]));
|
|
@@ -76,7 +75,7 @@ export function useResponseForm(source, prompts) {
|
|
|
76
75
|
edit();
|
|
77
76
|
}
|
|
78
77
|
function showPreview() {
|
|
79
|
-
|
|
78
|
+
setInteraction("draft");
|
|
80
79
|
if (!form.values.value.id || form.values.value.question !== source.id || form.values.value.revision !== source.reviewedRevision) {
|
|
81
80
|
form.change("id", `response.${crypto.randomUUID()}`);
|
|
82
81
|
}
|
|
@@ -88,7 +87,6 @@ export function useResponseForm(source, prompts) {
|
|
|
88
87
|
form.blur(name);
|
|
89
88
|
}
|
|
90
89
|
setPreview(form.values.value);
|
|
91
|
-
setStatus("");
|
|
92
90
|
}
|
|
93
91
|
function edit() {
|
|
94
92
|
if (!form.values.value.id) {
|
|
@@ -99,18 +97,17 @@ export function useResponseForm(source, prompts) {
|
|
|
99
97
|
label.save(form.values.value.author);
|
|
100
98
|
setPreview(undefined);
|
|
101
99
|
if (!created.saving) {
|
|
102
|
-
|
|
103
|
-
setStatus("");
|
|
100
|
+
setInteraction("draft");
|
|
104
101
|
}
|
|
105
102
|
}
|
|
106
103
|
function clear() {
|
|
107
104
|
setAttempted(false);
|
|
108
|
-
setOutcome(undefined);
|
|
109
105
|
created.revert();
|
|
110
106
|
setPreview(undefined);
|
|
111
|
-
|
|
107
|
+
setInteraction("cleared");
|
|
112
108
|
}
|
|
113
109
|
const previewed = preview !== undefined && same && Equal.equals(preview, values);
|
|
110
|
+
const { outcome, text: status } = formStatus(created, interaction, "response", (saved) => responseSaved(saved.id, created.dirty));
|
|
114
111
|
const summary = responseSummary(values, prompts, answers(values), attempted);
|
|
115
112
|
return {
|
|
116
113
|
answers: answers(values),
|
|
@@ -121,7 +118,13 @@ export function useResponseForm(source, prompts) {
|
|
|
121
118
|
},
|
|
122
119
|
attempted,
|
|
123
120
|
clear,
|
|
124
|
-
created
|
|
121
|
+
created: {
|
|
122
|
+
...created,
|
|
123
|
+
save: () => {
|
|
124
|
+
setInteraction("submitted");
|
|
125
|
+
created.save();
|
|
126
|
+
},
|
|
127
|
+
},
|
|
125
128
|
draft,
|
|
126
129
|
edit,
|
|
127
130
|
editAnswers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResponseForm.js","sourceRoot":"","sources":["../../../src/client/react/useResponseForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useResponseForm.js","sourceRoot":"","sources":["../../../src/client/react/useResponseForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualSources.d.ts","sourceRoot":"","sources":["../../../src/client/react/visualSources.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"visualSources.d.ts","sourceRoot":"","sources":["../../../src/client/react/visualSources.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1B;AACD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,QA2F7E"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { Clock, Effect } from "effect";
|
|
2
|
-
import { useEffect } from "react";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { useMainLocation } from "./MainLocationContext.js";
|
|
3
4
|
export function useVisualSources(inspect) {
|
|
5
|
+
const page = useMainLocation();
|
|
6
|
+
const revisionRef = useRef(0);
|
|
4
7
|
useEffect(() => {
|
|
5
|
-
let revision = 0;
|
|
6
8
|
function refresh() {
|
|
7
|
-
|
|
9
|
+
revisionRef.current += 1;
|
|
8
10
|
for (const graphic of document.querySelectorAll("#doc img[data-local-image]")) {
|
|
9
11
|
graphic.tabIndex = 0;
|
|
10
12
|
graphic.setAttribute("role", "button");
|
|
11
13
|
graphic.setAttribute("aria-label", `Inspect image: ${graphic.alt || "Local image"}`);
|
|
12
14
|
const url = new URL(graphic.dataset.localImage ?? graphic.src, location.href);
|
|
13
|
-
url.searchParams.set("_wb", `${Effect.runSync(Clock.currentTimeMillis)}-${
|
|
15
|
+
url.searchParams.set("_wb", `${Effect.runSync(Clock.currentTimeMillis)}-${revisionRef.current}`);
|
|
14
16
|
graphic.src = url.href;
|
|
15
17
|
graphic.onerror = () => {
|
|
16
18
|
if (!graphic.isConnected || graphic.nextElementSibling?.hasAttribute("data-image-error")) {
|
|
@@ -80,13 +82,13 @@ export function useVisualSources(inspect) {
|
|
|
80
82
|
}
|
|
81
83
|
document.addEventListener("click", click);
|
|
82
84
|
document.addEventListener("keydown", key);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
if (page.route) {
|
|
86
|
+
refresh();
|
|
87
|
+
}
|
|
85
88
|
return () => {
|
|
86
89
|
document.removeEventListener("click", click);
|
|
87
90
|
document.removeEventListener("keydown", key);
|
|
88
|
-
document.removeEventListener("board-page", refresh);
|
|
89
91
|
};
|
|
90
|
-
}, [inspect]);
|
|
92
|
+
}, [inspect, page]);
|
|
91
93
|
}
|
|
92
94
|
//# sourceMappingURL=visualSources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualSources.js","sourceRoot":"","sources":["../../../src/client/react/visualSources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"visualSources.js","sourceRoot":"","sources":["../../../src/client/react/visualSources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RpcClientError } from "effect/rpc/RpcClientError";
|
|
2
|
+
import type { ResponseRejection } from "#rpc/rejections.ts";
|
|
3
|
+
export type SaveFailure = ResponseRejection | RpcClientError;
|
|
4
|
+
export declare function saveFailure(error: SaveFailure, kind: "response" | "handoff"): {
|
|
5
|
+
outcome: string;
|
|
6
|
+
text: string;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=saveFailure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveFailure.d.ts","sourceRoot":"","sources":["../../src/client/saveFailure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAE7D,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS;;;EAQ3E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function saveFailure(error, kind) {
|
|
2
|
+
const outcome = error._tag === "PublicationUncertain" || error._tag === "InternalServerError" || error._tag === "RpcClientError" ? "uncertain" : "rejected";
|
|
3
|
+
const retained = kind === "response"
|
|
4
|
+
? "Draft retained. Preview and retry with the same identity; saved content will be reconciled."
|
|
5
|
+
: "Draft retained; preview and retry.";
|
|
6
|
+
return { outcome, text: `${outcome === "rejected" ? "Rejected" : "Uncertain"}: ${String(error)}. ${retained}` };
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=saveFailure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveFailure.js","sourceRoot":"","sources":["../../src/client/saveFailure.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,WAAW,CAAC,KAAkB,EAAE,IAA4B;IAC3E,MAAM,OAAO,GACZ,KAAK,CAAC,IAAI,KAAK,sBAAsB,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAC7I,MAAM,QAAQ,GACb,IAAI,KAAK,UAAU;QAClB,CAAC,CAAC,6FAA6F;QAC/F,CAAC,CAAC,oCAAoC,CAAC;IACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,EAAE,CAAC;AACjH,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Schema } from "effect";
|
|
2
|
+
import { ServiceUnavailable } from "@shivaedev/platform/errors/taxonomy.ts";
|
|
2
3
|
export declare const DiagnosticsSnapshot: Schema.Struct<{
|
|
3
4
|
readonly codex: Schema.Union<readonly [Schema.Struct<{
|
|
4
5
|
readonly observedAt: Schema.Number;
|
|
@@ -25,6 +26,16 @@ export declare const DiagnosticsSnapshot: Schema.Struct<{
|
|
|
25
26
|
readonly state: Schema.Literal<"ready">;
|
|
26
27
|
readonly value: Schema.Struct<{
|
|
27
28
|
readonly concurrency: Schema.Int;
|
|
29
|
+
readonly github: Schema.optional<Schema.$Array<Schema.Struct<{
|
|
30
|
+
readonly limit: Schema.Int;
|
|
31
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
32
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
33
|
+
readonly observedAt: Schema.Number;
|
|
34
|
+
readonly remaining: Schema.Int;
|
|
35
|
+
readonly reset: Schema.Int;
|
|
36
|
+
readonly resource: Schema.String;
|
|
37
|
+
readonly used: Schema.Int;
|
|
38
|
+
}>>>;
|
|
28
39
|
readonly lastCapacityRejection: Schema.NullOr<Schema.Struct<{
|
|
29
40
|
readonly at: Schema.Number;
|
|
30
41
|
readonly cause: Schema.String;
|
|
@@ -49,18 +60,16 @@ export declare const DiagnosticsSnapshot: Schema.Struct<{
|
|
|
49
60
|
readonly github: Schema.Union<readonly [Schema.Struct<{
|
|
50
61
|
readonly observedAt: Schema.Number;
|
|
51
62
|
readonly state: Schema.Literal<"ready">;
|
|
52
|
-
readonly value: Schema.Struct<{
|
|
53
|
-
readonly
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
readonly
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}>;
|
|
63
|
-
}>;
|
|
63
|
+
readonly value: Schema.$Array<Schema.Struct<{
|
|
64
|
+
readonly limit: Schema.Int;
|
|
65
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
66
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
67
|
+
readonly observedAt: Schema.Number;
|
|
68
|
+
readonly remaining: Schema.Int;
|
|
69
|
+
readonly reset: Schema.Int;
|
|
70
|
+
readonly resource: Schema.String;
|
|
71
|
+
readonly used: Schema.Int;
|
|
72
|
+
}>>;
|
|
64
73
|
}>, Schema.Struct<{
|
|
65
74
|
readonly cause: Schema.String;
|
|
66
75
|
readonly observedAt: Schema.Number;
|
|
@@ -94,6 +103,16 @@ export declare const DiagnosticsContract: import("@shivaedev/effect-contract/con
|
|
|
94
103
|
readonly state: Schema.Literal<"ready">;
|
|
95
104
|
readonly value: Schema.Struct<{
|
|
96
105
|
readonly concurrency: Schema.Int;
|
|
106
|
+
readonly github: Schema.optional<Schema.$Array<Schema.Struct<{
|
|
107
|
+
readonly limit: Schema.Int;
|
|
108
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
109
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
110
|
+
readonly observedAt: Schema.Number;
|
|
111
|
+
readonly remaining: Schema.Int;
|
|
112
|
+
readonly reset: Schema.Int;
|
|
113
|
+
readonly resource: Schema.String;
|
|
114
|
+
readonly used: Schema.Int;
|
|
115
|
+
}>>>;
|
|
97
116
|
readonly lastCapacityRejection: Schema.NullOr<Schema.Struct<{
|
|
98
117
|
readonly at: Schema.Number;
|
|
99
118
|
readonly cause: Schema.String;
|
|
@@ -118,18 +137,16 @@ export declare const DiagnosticsContract: import("@shivaedev/effect-contract/con
|
|
|
118
137
|
readonly github: Schema.Union<readonly [Schema.Struct<{
|
|
119
138
|
readonly observedAt: Schema.Number;
|
|
120
139
|
readonly state: Schema.Literal<"ready">;
|
|
121
|
-
readonly value: Schema.Struct<{
|
|
122
|
-
readonly
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
readonly
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}>;
|
|
132
|
-
}>;
|
|
140
|
+
readonly value: Schema.$Array<Schema.Struct<{
|
|
141
|
+
readonly limit: Schema.Int;
|
|
142
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
143
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
144
|
+
readonly observedAt: Schema.Number;
|
|
145
|
+
readonly remaining: Schema.Int;
|
|
146
|
+
readonly reset: Schema.Int;
|
|
147
|
+
readonly resource: Schema.String;
|
|
148
|
+
readonly used: Schema.Int;
|
|
149
|
+
}>>;
|
|
133
150
|
}>, Schema.Struct<{
|
|
134
151
|
readonly cause: Schema.String;
|
|
135
152
|
readonly observedAt: Schema.Number;
|
|
@@ -153,7 +170,9 @@ export declare const DiagnosticsContract: import("@shivaedev/effect-contract/con
|
|
|
153
170
|
readonly updatedAt: Schema.NullOr<Schema.Number>;
|
|
154
171
|
readonly workId: Schema.String;
|
|
155
172
|
}>>;
|
|
156
|
-
}>, {
|
|
173
|
+
}>, {
|
|
174
|
+
readonly ServiceUnavailable: typeof ServiceUnavailable;
|
|
175
|
+
}>>], readonly [], import("effect/rpc/Rpc").Rpc<"daemon.diagnostics", Schema.Struct<{}>, Schema.Struct<{
|
|
157
176
|
readonly codex: Schema.Union<readonly [Schema.Struct<{
|
|
158
177
|
readonly observedAt: Schema.Number;
|
|
159
178
|
readonly state: Schema.Literal<"ready">;
|
|
@@ -179,6 +198,16 @@ export declare const DiagnosticsContract: import("@shivaedev/effect-contract/con
|
|
|
179
198
|
readonly state: Schema.Literal<"ready">;
|
|
180
199
|
readonly value: Schema.Struct<{
|
|
181
200
|
readonly concurrency: Schema.Int;
|
|
201
|
+
readonly github: Schema.optional<Schema.$Array<Schema.Struct<{
|
|
202
|
+
readonly limit: Schema.Int;
|
|
203
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
204
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
205
|
+
readonly observedAt: Schema.Number;
|
|
206
|
+
readonly remaining: Schema.Int;
|
|
207
|
+
readonly reset: Schema.Int;
|
|
208
|
+
readonly resource: Schema.String;
|
|
209
|
+
readonly used: Schema.Int;
|
|
210
|
+
}>>>;
|
|
182
211
|
readonly lastCapacityRejection: Schema.NullOr<Schema.Struct<{
|
|
183
212
|
readonly at: Schema.Number;
|
|
184
213
|
readonly cause: Schema.String;
|
|
@@ -203,18 +232,16 @@ export declare const DiagnosticsContract: import("@shivaedev/effect-contract/con
|
|
|
203
232
|
readonly github: Schema.Union<readonly [Schema.Struct<{
|
|
204
233
|
readonly observedAt: Schema.Number;
|
|
205
234
|
readonly state: Schema.Literal<"ready">;
|
|
206
|
-
readonly value: Schema.Struct<{
|
|
207
|
-
readonly
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
readonly
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}>;
|
|
217
|
-
}>;
|
|
235
|
+
readonly value: Schema.$Array<Schema.Struct<{
|
|
236
|
+
readonly limit: Schema.Int;
|
|
237
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
238
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
239
|
+
readonly observedAt: Schema.Number;
|
|
240
|
+
readonly remaining: Schema.Int;
|
|
241
|
+
readonly reset: Schema.Int;
|
|
242
|
+
readonly resource: Schema.String;
|
|
243
|
+
readonly used: Schema.Int;
|
|
244
|
+
}>>;
|
|
218
245
|
}>, Schema.Struct<{
|
|
219
246
|
readonly cause: Schema.String;
|
|
220
247
|
readonly observedAt: Schema.Number;
|
|
@@ -238,7 +265,7 @@ export declare const DiagnosticsContract: import("@shivaedev/effect-contract/con
|
|
|
238
265
|
readonly updatedAt: Schema.NullOr<Schema.Number>;
|
|
239
266
|
readonly workId: Schema.String;
|
|
240
267
|
}>>;
|
|
241
|
-
}>, Schema.
|
|
268
|
+
}>, Schema.Union<readonly (typeof ServiceUnavailable)[]>, never, never>, readonly []>;
|
|
242
269
|
export declare const DAEMON_RPC_PATH = "/_fleet/rpc";
|
|
243
270
|
export declare const DAEMON_PORT = 3457;
|
|
244
271
|
//# sourceMappingURL=daemonContract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemonContract.d.ts","sourceRoot":"","sources":["../../src/diagnostics/daemonContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"daemonContract.d.ts","sourceRoot":"","sources":["../../src/diagnostics/daemonContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAc5E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qFAK9B,CAAC;AACH,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,WAAW,OAAO,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Schema } from "effect";
|
|
2
2
|
import { contract } from "@shivaedev/effect-contract/contract.ts";
|
|
3
3
|
import { query } from "@shivaedev/effect-contract/operation.ts";
|
|
4
|
+
import { ServiceUnavailable } from "@shivaedev/platform/errors/taxonomy.ts";
|
|
4
5
|
import { CodexLimits, GithubLimits } from "#browser/diagnostics/schema.ts";
|
|
5
6
|
import { FleetItems } from "./fleetItems.js";
|
|
6
7
|
import { FleetHealth } from "./health.js";
|
|
@@ -19,7 +20,7 @@ export const DiagnosticsSnapshot = Schema.Struct({
|
|
|
19
20
|
export const DiagnosticsContract = contract("daemon", {
|
|
20
21
|
queries: [
|
|
21
22
|
query("diagnostics", { payload: {}, reads: () => [], success: DiagnosticsSnapshot }),
|
|
22
|
-
query("fleetItems", { payload: {}, reads: () => [], success: FleetItems }),
|
|
23
|
+
query("fleetItems", { payload: {}, reads: () => [], rejections: { ServiceUnavailable }, success: FleetItems }),
|
|
23
24
|
],
|
|
24
25
|
});
|
|
25
26
|
export const DAEMON_RPC_PATH = "/_fleet/rpc";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemonContract.js","sourceRoot":"","sources":["../../src/diagnostics/daemonContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAE9I,SAAS,WAAW,CAA6B,KAAc;IAC9D,OAAO,MAAM,CAAC,KAAK,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;KACnH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC;IAC/B,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC;CACjC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,EAAE;IACrD,OAAO,EAAE;QACR,KAAK,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QACpF,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"daemonContract.js","sourceRoot":"","sources":["../../src/diagnostics/daemonContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAE9I,SAAS,WAAW,CAA6B,KAAc;IAC9D,OAAO,MAAM,CAAC,KAAK,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;KACnH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC;IAC/B,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC;CACjC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,EAAE;IACrD,OAAO,EAAE;QACR,KAAK,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QACpF,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;KAC9G;CACD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;AAC7C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC"}
|
|
@@ -8,6 +8,16 @@ export declare const FLEET_HEALTH_NAME = "health.json";
|
|
|
8
8
|
export declare const FLEET_HEALTH_FILE = "fleet/health.json";
|
|
9
9
|
export declare const FleetHealth: Schema.Struct<{
|
|
10
10
|
readonly concurrency: Schema.Int;
|
|
11
|
+
readonly github: Schema.optional<Schema.$Array<Schema.Struct<{
|
|
12
|
+
readonly limit: Schema.Int;
|
|
13
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
14
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
15
|
+
readonly observedAt: Schema.Number;
|
|
16
|
+
readonly remaining: Schema.Int;
|
|
17
|
+
readonly reset: Schema.Int;
|
|
18
|
+
readonly resource: Schema.String;
|
|
19
|
+
readonly used: Schema.Int;
|
|
20
|
+
}>>>;
|
|
11
21
|
readonly lastCapacityRejection: Schema.NullOr<Schema.Struct<{
|
|
12
22
|
readonly at: Schema.Number;
|
|
13
23
|
readonly cause: Schema.String;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/diagnostics/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/diagnostics/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,eAAO,MAAM,iBAAiB;;;EAA+G,CAAC;AAC9I,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,sBAA+B,CAAC;AAC9D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Schema } from "effect";
|
|
2
|
+
import { GithubLimits } from "#browser/diagnostics/schema.ts";
|
|
2
3
|
const Count = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
|
|
3
4
|
const Timestamp = Schema.Number.check(Schema.isFinite(), Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(8_640_000_000_000_000));
|
|
4
5
|
export const CapacityRejection = Schema.Struct({ at: Timestamp, cause: Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(500)) });
|
|
@@ -6,6 +7,7 @@ export const FLEET_HEALTH_NAME = "health.json";
|
|
|
6
7
|
export const FLEET_HEALTH_FILE = `fleet/${FLEET_HEALTH_NAME}`;
|
|
7
8
|
export const FleetHealth = Schema.Struct({
|
|
8
9
|
concurrency: Schema.Int.check(Schema.isGreaterThan(0)),
|
|
10
|
+
github: Schema.optional(GithubLimits),
|
|
9
11
|
lastCapacityRejection: Schema.NullOr(CapacityRejection),
|
|
10
12
|
lastSchedulerPass: Schema.NullOr(Timestamp),
|
|
11
13
|
observedAt: Timestamp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/diagnostics/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/diagnostics/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC9I,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAG9I,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,iBAAiB,EAAE,CAAC;AAC9D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;IACrC,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;IACvD,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAC3C,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;CACrF,CAAC,CAAC"}
|
|
@@ -18,21 +18,24 @@ export declare const CodexLimits: Schema.Struct<{
|
|
|
18
18
|
readonly usedPercent: Schema.Number;
|
|
19
19
|
readonly windowDurationMins: Schema.NullOr<Schema.Int>;
|
|
20
20
|
}>>;
|
|
21
|
-
}>, GithubLimits: Schema.Struct<{
|
|
22
|
-
readonly
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
readonly
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}>;
|
|
32
|
-
}>, GithubWindow: Schema.Struct<{
|
|
21
|
+
}>, GithubLimits: Schema.$Array<Schema.Struct<{
|
|
22
|
+
readonly limit: Schema.Int;
|
|
23
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
24
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
25
|
+
readonly observedAt: Schema.Number;
|
|
26
|
+
readonly remaining: Schema.Int;
|
|
27
|
+
readonly reset: Schema.Int;
|
|
28
|
+
readonly resource: Schema.String;
|
|
29
|
+
readonly used: Schema.Int;
|
|
30
|
+
}>>, GithubWindow: Schema.Struct<{
|
|
33
31
|
readonly limit: Schema.Int;
|
|
32
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
33
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
34
|
+
readonly observedAt: Schema.Number;
|
|
34
35
|
readonly remaining: Schema.Int;
|
|
35
36
|
readonly reset: Schema.Int;
|
|
37
|
+
readonly resource: Schema.String;
|
|
38
|
+
readonly used: Schema.Int;
|
|
36
39
|
}>, UsageWindow: Schema.Struct<{
|
|
37
40
|
readonly resetsAt: Schema.NullOr<Schema.Int>;
|
|
38
41
|
readonly usedPercent: Schema.Number;
|
|
@@ -68,6 +71,16 @@ export declare const diagnostics: (sources: Sources) => Effect.Effect<Effect.Eff
|
|
|
68
71
|
}>;
|
|
69
72
|
fleet: Observation<{
|
|
70
73
|
readonly concurrency: number;
|
|
74
|
+
readonly github?: readonly {
|
|
75
|
+
readonly limit: number;
|
|
76
|
+
readonly limitedBy: "rate-limit" | "reserve" | null;
|
|
77
|
+
readonly limitedUntil: number | null;
|
|
78
|
+
readonly observedAt: number;
|
|
79
|
+
readonly remaining: number;
|
|
80
|
+
readonly reset: number;
|
|
81
|
+
readonly resource: string;
|
|
82
|
+
readonly used: number;
|
|
83
|
+
}[] | undefined;
|
|
71
84
|
readonly lastCapacityRejection: {
|
|
72
85
|
readonly at: number;
|
|
73
86
|
readonly cause: string;
|
|
@@ -84,18 +97,16 @@ export declare const diagnostics: (sources: Sources) => Effect.Effect<Effect.Eff
|
|
|
84
97
|
readonly orchestrator: number;
|
|
85
98
|
};
|
|
86
99
|
}>;
|
|
87
|
-
github: Observation<{
|
|
88
|
-
readonly
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
readonly
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
};
|
|
98
|
-
}>;
|
|
100
|
+
github: Observation<readonly {
|
|
101
|
+
readonly limit: number;
|
|
102
|
+
readonly limitedBy: "rate-limit" | "reserve" | null;
|
|
103
|
+
readonly limitedUntil: number | null;
|
|
104
|
+
readonly observedAt: number;
|
|
105
|
+
readonly remaining: number;
|
|
106
|
+
readonly reset: number;
|
|
107
|
+
readonly resource: string;
|
|
108
|
+
readonly used: number;
|
|
109
|
+
}[]>;
|
|
99
110
|
}, never, never>, never, never>;
|
|
100
111
|
type DiagnosticsInput = {
|
|
101
112
|
readonly _tag: "Sources";
|
|
@@ -123,6 +134,16 @@ export declare const Diagnostics: Context.Service<"WorkBoard/Diagnostics", Reado
|
|
|
123
134
|
}>;
|
|
124
135
|
fleet: Observation<{
|
|
125
136
|
readonly concurrency: number;
|
|
137
|
+
readonly github?: readonly {
|
|
138
|
+
readonly limit: number;
|
|
139
|
+
readonly limitedBy: "rate-limit" | "reserve" | null;
|
|
140
|
+
readonly limitedUntil: number | null;
|
|
141
|
+
readonly observedAt: number;
|
|
142
|
+
readonly remaining: number;
|
|
143
|
+
readonly reset: number;
|
|
144
|
+
readonly resource: string;
|
|
145
|
+
readonly used: number;
|
|
146
|
+
}[] | undefined;
|
|
126
147
|
readonly lastCapacityRejection: {
|
|
127
148
|
readonly at: number;
|
|
128
149
|
readonly cause: string;
|
|
@@ -139,18 +160,16 @@ export declare const Diagnostics: Context.Service<"WorkBoard/Diagnostics", Reado
|
|
|
139
160
|
readonly orchestrator: number;
|
|
140
161
|
};
|
|
141
162
|
}>;
|
|
142
|
-
github: Observation<{
|
|
143
|
-
readonly
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
readonly
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
};
|
|
153
|
-
}>;
|
|
163
|
+
github: Observation<readonly {
|
|
164
|
+
readonly limit: number;
|
|
165
|
+
readonly limitedBy: "rate-limit" | "reserve" | null;
|
|
166
|
+
readonly limitedUntil: number | null;
|
|
167
|
+
readonly observedAt: number;
|
|
168
|
+
readonly remaining: number;
|
|
169
|
+
readonly reset: number;
|
|
170
|
+
readonly resource: string;
|
|
171
|
+
readonly used: number;
|
|
172
|
+
}[]>;
|
|
154
173
|
}, never, never>;
|
|
155
174
|
}>> & {
|
|
156
175
|
readonly layer: import("effect/Layer").Layer<"WorkBoard/Diagnostics", never, DiagnosticsConfig>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/diagnostics/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExD,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;;;;AAE/C,qBAAa,aAAc,SAAQ,kBAGjC;CAAG;AAEL,eAAO,MAAQ,WAAW;;;;;;;;;;;IAAE,YAAY
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/diagnostics/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExD,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;;;;AAE/C,qBAAa,aAAc,SAAQ,kBAGjC;CAAG;AAEL,eAAO,MAAQ,WAAW;;;;;;;;;;;IAAE,YAAY;;;;;;;;;KAAE,YAAY;;;;;;;;;IAAE,WAAW;;;;EAAW,CAAC;AAC/E,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AACpD,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAClD,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AACxD,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;CACtC;;AACD,qBAAa,kBAAmB,SAAQ,uBAA8E;CAAG;AAEzH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAEnD,eAAO,MAAM,OAAO,GAA6C,CAAC,mEAMhE,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAOtB,CAAC;AAEH,KAAK,gBAAgB,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAA;CAAE,CAAC;;AAE5F,qBAAa,iBAAkB,SAAQ,sBAAqF;CAAG;AAE/H,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,UAAU,CAAC"}
|