@shivaedev/work-board 0.9.0 → 0.10.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 +25 -0
- package/README.md +31 -1
- package/assets/native.js +35 -29
- package/dist/board.d.ts.map +1 -1
- package/dist/board.js +14 -1
- package/dist/board.js.map +1 -1
- package/dist/browser/client.d.ts +2 -0
- package/dist/browser/client.d.ts.map +1 -1
- package/dist/browser/client.js +2 -1
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/entry.d.ts.map +1 -1
- package/dist/browser/entry.js +2 -0
- package/dist/browser/entry.js.map +1 -1
- package/dist/browser/handoffs/copy.d.ts +3 -0
- package/dist/browser/handoffs/copy.d.ts.map +1 -0
- package/dist/browser/handoffs/copy.js +47 -0
- package/dist/browser/handoffs/copy.js.map +1 -0
- package/dist/browser/handoffs/fields.d.ts +11 -0
- package/dist/browser/handoffs/fields.d.ts.map +1 -0
- package/dist/browser/handoffs/fields.js +45 -0
- package/dist/browser/handoffs/fields.js.map +1 -0
- package/dist/browser/handoffs/schema.d.ts +89 -0
- package/dist/browser/handoffs/schema.d.ts.map +1 -0
- package/dist/browser/handoffs/schema.js +38 -0
- package/dist/browser/handoffs/schema.js.map +1 -0
- package/dist/browser/handoffs/setup.d.ts +2 -0
- package/dist/browser/handoffs/setup.d.ts.map +1 -0
- package/dist/browser/handoffs/setup.js +108 -0
- package/dist/browser/handoffs/setup.js.map +1 -0
- package/dist/browser/responses/draftSession.d.ts +1 -1
- package/dist/browser/responses/draftSession.d.ts.map +1 -1
- package/dist/browser/responses/draftSession.js +4 -4
- package/dist/browser/responses/draftSession.js.map +1 -1
- package/dist/browser/responses/preview.js.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/files/list.d.ts.map +1 -1
- package/dist/handoffs/html.d.ts +37 -0
- package/dist/handoffs/html.d.ts.map +1 -0
- package/dist/handoffs/html.js +31 -0
- package/dist/handoffs/html.js.map +1 -0
- package/dist/handoffs/page.d.ts +7 -0
- package/dist/handoffs/page.d.ts.map +1 -0
- package/dist/handoffs/page.js +31 -0
- package/dist/handoffs/page.js.map +1 -0
- package/dist/handoffs/records.d.ts +7 -0
- package/dist/handoffs/records.d.ts.map +1 -0
- package/dist/handoffs/records.js +30 -0
- package/dist/handoffs/records.js.map +1 -0
- package/dist/handoffs/service.d.ts +55 -0
- package/dist/handoffs/service.d.ts.map +1 -0
- package/dist/handoffs/service.js +82 -0
- package/dist/handoffs/service.js.map +1 -0
- package/dist/handoffs/source.d.ts +11 -0
- package/dist/handoffs/source.d.ts.map +1 -0
- package/dist/handoffs/source.js +31 -0
- package/dist/handoffs/source.js.map +1 -0
- package/dist/http/assets.d.ts.map +1 -1
- package/dist/http/assets.js.map +1 -1
- package/dist/http/events.d.ts.map +1 -1
- package/dist/http/loopback.d.ts.map +1 -1
- package/dist/http/page.d.ts.map +1 -1
- package/dist/http/respond.d.ts.map +1 -1
- package/dist/metadata/backlinks.d.ts.map +1 -1
- package/dist/metadata/backlinks.js +1 -0
- package/dist/metadata/backlinks.js.map +1 -1
- package/dist/metadata/fields.d.ts +14 -1
- package/dist/metadata/fields.d.ts.map +1 -1
- package/dist/metadata/model.js.map +1 -1
- package/dist/metadata/problems.d.ts.map +1 -1
- package/dist/metadata/problems.js +1 -0
- package/dist/metadata/problems.js.map +1 -1
- package/dist/metadata/schema.d.ts +18 -1
- package/dist/metadata/schema.d.ts.map +1 -1
- package/dist/metadata/schema.js +3 -1
- package/dist/metadata/schema.js.map +1 -1
- package/dist/page/escape.d.ts.map +1 -1
- package/dist/page/metadata.d.ts.map +1 -1
- package/dist/page/metadata.js +6 -1
- package/dist/page/metadata.js.map +1 -1
- package/dist/page/metadataDetails.d.ts.map +1 -1
- package/dist/page/metadataDetails.js +3 -0
- package/dist/page/metadataDetails.js.map +1 -1
- package/dist/page/nav.d.ts.map +1 -1
- package/dist/page/navigationScript.js +1 -1
- package/dist/page/shell.d.ts +1 -1
- package/dist/page/shell.d.ts.map +1 -1
- package/dist/page/shell.js.map +1 -1
- package/dist/page/startTemplates.d.ts +89 -3
- package/dist/page/startTemplates.d.ts.map +1 -1
- package/dist/page/swap.d.ts +1 -1
- package/dist/page/swap.d.ts.map +1 -1
- package/dist/page/swap.js +2 -2
- package/dist/page/updated.d.ts.map +1 -1
- package/dist/render/board.d.ts.map +1 -1
- package/dist/render/callouts.d.ts.map +1 -1
- package/dist/render/code.d.ts.map +1 -1
- package/dist/render/documentHeadings.d.ts.map +1 -1
- package/dist/render/documentLinks.d.ts.map +1 -1
- package/dist/render/footnotes.d.ts.map +1 -1
- package/dist/render/highlighter.d.ts.map +1 -1
- package/dist/render/highlighter.js.map +1 -1
- package/dist/render/markdown.js.map +1 -1
- package/dist/render/questionnaireDocuments.d.ts.map +1 -1
- package/dist/render/visualDocuments.d.ts.map +1 -1
- package/dist/responses/agent.d.ts +8 -8
- package/dist/responses/agent.js.map +1 -1
- package/dist/responses/flags.d.ts.map +1 -1
- package/dist/responses/outcome.d.ts.map +1 -1
- package/dist/responses/publish.d.ts +1 -1
- package/dist/responses/publish.d.ts.map +1 -1
- package/dist/responses/publish.js +7 -7
- package/dist/responses/publish.js.map +1 -1
- package/dist/responses/publishIn.d.ts +1 -1
- package/dist/responses/publishIn.d.ts.map +1 -1
- package/dist/responses/publishIn.js +3 -3
- package/dist/responses/publishIn.js.map +1 -1
- package/dist/responses/records.d.ts.map +1 -1
- package/dist/responses/records.js +2 -1
- package/dist/responses/records.js.map +1 -1
- package/dist/responses/waitFor.d.ts.map +1 -1
- package/dist/rpc/contract.d.ts +67 -1
- package/dist/rpc/contract.d.ts.map +1 -1
- package/dist/rpc/contract.js +3 -2
- package/dist/rpc/contract.js.map +1 -1
- package/dist/rpc/handoffContract.d.ts +142 -0
- package/dist/rpc/handoffContract.d.ts.map +1 -0
- package/dist/rpc/handoffContract.js +26 -0
- package/dist/rpc/handoffContract.js.map +1 -0
- package/dist/rpc/server.d.ts +2 -0
- package/dist/rpc/server.d.ts.map +1 -1
- package/dist/rpc/server.js +4 -1
- package/dist/rpc/server.js.map +1 -1
- package/dist/search/collector.d.ts.map +1 -1
- package/dist/search/entries.js.map +1 -1
- package/dist/search/linkCollector.d.ts.map +1 -1
- package/dist/serve-cli.js +2 -2
- package/dist/serve-cli.js.map +1 -1
- package/dist/serve.d.ts.map +1 -1
- package/dist/views/state.js.map +1 -1
- package/package.json +3 -3
- package/src/board.ts +14 -1
- package/src/browser/client.ts +3 -1
- package/src/browser/entry.ts +2 -0
- package/src/browser/handoffs/copy.ts +45 -0
- package/src/browser/handoffs/fields.ts +50 -0
- package/src/browser/handoffs/schema.ts +44 -0
- package/src/browser/handoffs/setup.ts +113 -0
- package/src/browser/responses/draftSession.ts +11 -4
- package/src/handoffs/html.ts +42 -0
- package/src/handoffs/page.ts +45 -0
- package/src/handoffs/records.ts +34 -0
- package/src/handoffs/service.ts +103 -0
- package/src/handoffs/source.ts +35 -0
- package/src/metadata/backlinks.ts +1 -0
- package/src/metadata/problems.ts +1 -0
- package/src/metadata/schema.ts +3 -1
- package/src/page/metadata.ts +7 -1
- package/src/page/metadataDetails.ts +3 -0
- package/src/page/navigationScript.ts +1 -1
- package/src/page/shell.ts +1 -1
- package/src/page/swap.ts +2 -2
- package/src/responses/publish.ts +7 -7
- package/src/responses/publishIn.ts +10 -3
- package/src/responses/records.ts +4 -1
- package/src/rpc/contract.ts +3 -2
- package/src/rpc/handoffContract.ts +26 -0
- package/src/rpc/server.ts +6 -1
- package/src/serve-cli.ts +2 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type FileHandle } from "node:fs/promises";
|
|
2
|
-
export declare function publishIn(target: FileHandle, root: string, realRoot: string, id: string, content: string): Promise<void>;
|
|
2
|
+
export declare function publishIn(target: FileHandle, root: string, realRoot: string, id: string, content: string, namespace?: "responses" | "handoffs"): Promise<void>;
|
|
3
3
|
//# sourceMappingURL=publishIn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishIn.d.ts","sourceRoot":"","sources":["../../src/responses/publishIn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA0C,MAAM,kBAAkB,CAAC;AA4B3F,wBAAsB,SAAS,
|
|
1
|
+
{"version":3,"file":"publishIn.d.ts","sourceRoot":"","sources":["../../src/responses/publishIn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA0C,MAAM,kBAAkB,CAAC;AA4B3F,wBAAsB,SAAS,CAC9B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,WAAW,GAAG,UAAwB,iBAkCjD"}
|
|
@@ -3,7 +3,7 @@ import { constants } from "node:fs";
|
|
|
3
3
|
import { link, open, readFile, realpath, unlink } from "node:fs/promises";
|
|
4
4
|
import { ResponseFailed } from "#browser/responses/schema.ts";
|
|
5
5
|
function uncertain(cause) {
|
|
6
|
-
return new ResponseFailed({ cause, code: "Uncertain", message: "Publication may have completed. Re-read the
|
|
6
|
+
return new ResponseFailed({ cause, code: "Uncertain", message: "Publication may have completed. Re-read the record identity before retrying." });
|
|
7
7
|
}
|
|
8
8
|
function exists(cause) {
|
|
9
9
|
return cause instanceof Error && "code" in cause && cause.code === "EEXIST";
|
|
@@ -29,9 +29,9 @@ async function linkOrReconcile(temporary, name, content) {
|
|
|
29
29
|
}
|
|
30
30
|
return false;
|
|
31
31
|
}
|
|
32
|
-
export async function publishIn(target, root, realRoot, id, content) {
|
|
32
|
+
export async function publishIn(target, root, realRoot, id, content, namespace = "responses") {
|
|
33
33
|
const folder = `/proc/self/fd/${target.fd}`;
|
|
34
|
-
const expected = `${realRoot}
|
|
34
|
+
const expected = `${realRoot}/${namespace}`;
|
|
35
35
|
async function validate() {
|
|
36
36
|
if ((await realpath(folder)) !== expected || (await realpath(root)) !== realRoot) {
|
|
37
37
|
throw new ResponseFailed({ code: "Conflict", message: "The write boundary changed." });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishIn.js","sourceRoot":"","sources":["../../src/responses/publishIn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAmB,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,SAAS,SAAS,CAAC,KAAc;IAChC,OAAO,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"publishIn.js","sourceRoot":"","sources":["../../src/responses/publishIn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/responses/records.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,UAExC;AACD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAEzF;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAEzD;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAEjE;AACD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAS7E;AACD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAGrF;AACD,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAOhG;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,WAS1E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/responses/records.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,UAExC;AACD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAEzF;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAEzD;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAEjE;AACD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAS7E;AACD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAGrF;AACD,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAOhG;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,WAS1E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,WAM3D"}
|
|
@@ -44,6 +44,7 @@ export function matchesResponse(record, input) {
|
|
|
44
44
|
}
|
|
45
45
|
export function malformedResponse(document) {
|
|
46
46
|
const fields = document.parsed.fields;
|
|
47
|
-
return fields.kind === "response" && !(fields.id && fields.response)
|
|
47
|
+
return ((fields.kind === "response" && !(fields.id && fields.response))
|
|
48
|
+
|| (document.file.startsWith("responses/") && document.parsed.diagnostics.some((problem) => problem.field === undefined)));
|
|
48
49
|
}
|
|
49
50
|
//# sourceMappingURL=records.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/responses/records.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/responses/records.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitFor.d.ts","sourceRoot":"","sources":["../../src/responses/waitFor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAsBhF,eAAO,MAAM,eAAe,eACf,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,cAAc,CAAC,qBACpD,MAAM,KAAK,IAAI
|
|
1
|
+
{"version":3,"file":"waitFor.d.ts","sourceRoot":"","sources":["../../src/responses/waitFor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAsBhF,eAAO,MAAM,eAAe,eACf,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,cAAc,CAAC,qBACpD,MAAM,KAAK,IAAI;mBApBH,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAkDxC,CAAC"}
|
package/dist/rpc/contract.d.ts
CHANGED
|
@@ -88,7 +88,38 @@ export declare const Subscribe: Rpc.Rpc<"work-board.subscribe", Schema.Void, imp
|
|
|
88
88
|
}>, Schema.Struct<{
|
|
89
89
|
readonly _tag: Schema.Literal<"Resync">;
|
|
90
90
|
}>]>, typeof ReadFailed>, Schema.Never, never, never>;
|
|
91
|
-
export declare const workRpcs: import("effect/unstable/rpc/RpcGroup").RpcGroup<Rpc.Rpc<"work-board.
|
|
91
|
+
export declare const workRpcs: import("effect/unstable/rpc/RpcGroup").RpcGroup<Rpc.Rpc<"work-board.prepareHandoff", Schema.Struct<{
|
|
92
|
+
readonly constraints: Schema.String;
|
|
93
|
+
readonly goal: Schema.String;
|
|
94
|
+
readonly id: Schema.String;
|
|
95
|
+
readonly item: Schema.String;
|
|
96
|
+
readonly nextAction: Schema.String;
|
|
97
|
+
readonly recipient: Schema.String;
|
|
98
|
+
readonly revision: Schema.String;
|
|
99
|
+
readonly source: Schema.String;
|
|
100
|
+
}>, Schema.Struct<{
|
|
101
|
+
readonly context: Schema.String;
|
|
102
|
+
readonly file: Schema.String;
|
|
103
|
+
readonly handoff: Schema.encodeKeys<Schema.Struct<{
|
|
104
|
+
readonly by: Schema.optional<Schema.String>;
|
|
105
|
+
readonly constraints: Schema.String;
|
|
106
|
+
readonly goal: Schema.String;
|
|
107
|
+
readonly item: Schema.String;
|
|
108
|
+
readonly nextAction: Schema.String;
|
|
109
|
+
readonly note: Schema.optional<Schema.String>;
|
|
110
|
+
readonly preparedAt: Schema.Number;
|
|
111
|
+
readonly recipient: Schema.String;
|
|
112
|
+
readonly reviewedRevision: Schema.String;
|
|
113
|
+
readonly source: Schema.String;
|
|
114
|
+
readonly state: Schema.Literals<readonly ["requested", "acknowledged", "rejected", "unavailable"]>;
|
|
115
|
+
}>, {
|
|
116
|
+
readonly nextAction: "next_action";
|
|
117
|
+
readonly preparedAt: "prepared_at";
|
|
118
|
+
readonly reviewedRevision: "reviewed_revision";
|
|
119
|
+
}>;
|
|
120
|
+
readonly id: Schema.String;
|
|
121
|
+
readonly prompt: Schema.String;
|
|
122
|
+
}>, Schema.Union<readonly typeof import("../browser/responses/schema.ts").ResponseFailed[]>, never, never> | Rpc.Rpc<"work-board.recordResponse", Schema.Struct<{
|
|
92
123
|
readonly answers: Schema.optional<Schema.$Array<Schema.Struct<{
|
|
93
124
|
readonly prompt: Schema.String;
|
|
94
125
|
readonly selected: Schema.$Array<Schema.String>;
|
|
@@ -167,6 +198,41 @@ export declare const workRpcs: import("effect/unstable/rpc/RpcGroup").RpcGroup<R
|
|
|
167
198
|
readonly type: Schema.Literals<readonly ["answer", "clarify", "not_now"]>;
|
|
168
199
|
}>;
|
|
169
200
|
}>>;
|
|
201
|
+
}>, Schema.Union<readonly typeof import("../browser/responses/schema.ts").ResponseFailed[]>, never, never> | Rpc.Rpc<"work-board.handoffSource", Schema.Struct<{
|
|
202
|
+
item: Schema.String;
|
|
203
|
+
}>, Schema.Struct<{
|
|
204
|
+
readonly context: Schema.String;
|
|
205
|
+
readonly id: Schema.String;
|
|
206
|
+
readonly item: Schema.String;
|
|
207
|
+
readonly reviewedRevision: Schema.String;
|
|
208
|
+
readonly source: Schema.String;
|
|
209
|
+
}>, Schema.Union<readonly typeof import("../browser/responses/schema.ts").ResponseFailed[]>, never, never> | Rpc.Rpc<"work-board.handoffs", Schema.Struct<{
|
|
210
|
+
item: Schema.String;
|
|
211
|
+
}>, Schema.Struct<{
|
|
212
|
+
readonly records: Schema.$Array<Schema.Struct<{
|
|
213
|
+
readonly context: Schema.String;
|
|
214
|
+
readonly file: Schema.String;
|
|
215
|
+
readonly handoff: Schema.encodeKeys<Schema.Struct<{
|
|
216
|
+
readonly by: Schema.optional<Schema.String>;
|
|
217
|
+
readonly constraints: Schema.String;
|
|
218
|
+
readonly goal: Schema.String;
|
|
219
|
+
readonly item: Schema.String;
|
|
220
|
+
readonly nextAction: Schema.String;
|
|
221
|
+
readonly note: Schema.optional<Schema.String>;
|
|
222
|
+
readonly preparedAt: Schema.Number;
|
|
223
|
+
readonly recipient: Schema.String;
|
|
224
|
+
readonly reviewedRevision: Schema.String;
|
|
225
|
+
readonly source: Schema.String;
|
|
226
|
+
readonly state: Schema.Literals<readonly ["requested", "acknowledged", "rejected", "unavailable"]>;
|
|
227
|
+
}>, {
|
|
228
|
+
readonly nextAction: "next_action";
|
|
229
|
+
readonly preparedAt: "prepared_at";
|
|
230
|
+
readonly reviewedRevision: "reviewed_revision";
|
|
231
|
+
}>;
|
|
232
|
+
readonly id: Schema.String;
|
|
233
|
+
readonly prompt: Schema.String;
|
|
234
|
+
}>>;
|
|
235
|
+
readonly unknown: Schema.$Array<Schema.String>;
|
|
170
236
|
}>, Schema.Union<readonly typeof import("../browser/responses/schema.ts").ResponseFailed[]>, never, never> | Rpc.Rpc<"work-board.history", Schema.Struct<{
|
|
171
237
|
readonly action: Schema.Literals<readonly ["check", "compare", "observe"]>;
|
|
172
238
|
readonly baseline: Schema.NullOr<Schema.String>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/rpc/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;;;;;
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/rpc/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;;;;;AAU1C,qBAAa,UAAW,SAAQ,eAAmG;CAAG;AAkDtI,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAAwG,CAAC;AAClI,eAAO,MAAM,SAAS;;;;;;;;;;;;qDAA2F,CAAC;AAClH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAA6E,CAAC"}
|
package/dist/rpc/contract.js
CHANGED
|
@@ -4,6 +4,7 @@ import { contract } from "@shivaedev/effect-contract/contract.ts";
|
|
|
4
4
|
import { LiveHint } from "@shivaedev/effect-contract/live.ts";
|
|
5
5
|
import { query } from "@shivaedev/effect-contract/operation.ts";
|
|
6
6
|
import { HistoryInput, HistoryOutput } from "#history/schema.ts";
|
|
7
|
+
import { handoffContract } from "#rpc/handoffContract.ts";
|
|
7
8
|
import { responseContract } from "#rpc/responseContract.ts";
|
|
8
9
|
import { index, navigation, watcher, workspace } from "./keys.js";
|
|
9
10
|
import { pageKeys } from "./pageKeys.js";
|
|
@@ -16,7 +17,7 @@ const PageUrl = Schema.String.check(Schema.isMaxLength(8192), Schema.makeFilter(
|
|
|
16
17
|
try {
|
|
17
18
|
const path = new URL(value, "http://127.0.0.1").pathname;
|
|
18
19
|
return (path === "/"
|
|
19
|
-
|| ["/_board/work", "/_board/overview", "/_board/changes", "/_board/start", "/_board/respond"].includes(path)
|
|
20
|
+
|| ["/_board/work", "/_board/overview", "/_board/changes", "/_board/start", "/_board/respond", "/_board/handoff"].includes(path)
|
|
20
21
|
|| /^\/_board\/item\/[^/]+\/$/u.exec(path) !== null
|
|
21
22
|
|| /\.md$/iu.exec(path) !== null
|
|
22
23
|
|| "Expected a local reading URL");
|
|
@@ -56,5 +57,5 @@ const ReadWatcher = query("watcher", {
|
|
|
56
57
|
});
|
|
57
58
|
export const workContract = contract("work-board", { queries: [ReadPage, ReadNavigation, ReadSearch, ReadHistory, ReadWatcher] });
|
|
58
59
|
export const Subscribe = Rpc.make("work-board.subscribe", { error: ReadFailed, stream: true, success: LiveHint });
|
|
59
|
-
export const workRpcs = workContract.add(Subscribe).merge(responseContract);
|
|
60
|
+
export const workRpcs = workContract.add(Subscribe).merge(responseContract).merge(handoffContract);
|
|
60
61
|
//# sourceMappingURL=contract.js.map
|
package/dist/rpc/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/rpc/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,WAAW,EAAc,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;CAAG;AACtI,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAClC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EACxB,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;IAC3B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,8BAA8B,CAAC;IACvC,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;QACzD,OAAO,CACN,IAAI,KAAK,GAAG;eACT,CAAC,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/rpc/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { ResponseFailed } from "#browser/responses/schema.ts";
|
|
3
|
+
export declare const handoffContract: import("@shivaedev/effect-contract/contract.ts").Contract<"work-board", readonly [import("@shivaedev/effect-contract/operation.ts").Query<"handoffSource", Schema.Struct<{
|
|
4
|
+
item: Schema.String;
|
|
5
|
+
}>, Schema.Struct<{
|
|
6
|
+
readonly context: Schema.String;
|
|
7
|
+
readonly id: Schema.String;
|
|
8
|
+
readonly item: Schema.String;
|
|
9
|
+
readonly reviewedRevision: Schema.String;
|
|
10
|
+
readonly source: Schema.String;
|
|
11
|
+
}>, {
|
|
12
|
+
readonly ResponseFailed: typeof ResponseFailed;
|
|
13
|
+
}>, import("@shivaedev/effect-contract/operation.ts").Query<"handoffs", Schema.Struct<{
|
|
14
|
+
item: Schema.String;
|
|
15
|
+
}>, Schema.Struct<{
|
|
16
|
+
readonly records: Schema.$Array<Schema.Struct<{
|
|
17
|
+
readonly context: Schema.String;
|
|
18
|
+
readonly file: Schema.String;
|
|
19
|
+
readonly handoff: Schema.encodeKeys<Schema.Struct<{
|
|
20
|
+
readonly by: Schema.optional<Schema.String>;
|
|
21
|
+
readonly constraints: Schema.String;
|
|
22
|
+
readonly goal: Schema.String;
|
|
23
|
+
readonly item: Schema.String;
|
|
24
|
+
readonly nextAction: Schema.String;
|
|
25
|
+
readonly note: Schema.optional<Schema.String>;
|
|
26
|
+
readonly preparedAt: Schema.Number;
|
|
27
|
+
readonly recipient: Schema.String;
|
|
28
|
+
readonly reviewedRevision: Schema.String;
|
|
29
|
+
readonly source: Schema.String;
|
|
30
|
+
readonly state: Schema.Literals<readonly ["requested", "acknowledged", "rejected", "unavailable"]>;
|
|
31
|
+
}>, {
|
|
32
|
+
readonly nextAction: "next_action";
|
|
33
|
+
readonly preparedAt: "prepared_at";
|
|
34
|
+
readonly reviewedRevision: "reviewed_revision";
|
|
35
|
+
}>;
|
|
36
|
+
readonly id: Schema.String;
|
|
37
|
+
readonly prompt: Schema.String;
|
|
38
|
+
}>>;
|
|
39
|
+
readonly unknown: Schema.$Array<Schema.String>;
|
|
40
|
+
}>, {
|
|
41
|
+
readonly ResponseFailed: typeof ResponseFailed;
|
|
42
|
+
}>], readonly [import("@shivaedev/effect-contract/operation.ts").Command<"prepareHandoff", Schema.Struct<{
|
|
43
|
+
readonly constraints: Schema.String;
|
|
44
|
+
readonly goal: Schema.String;
|
|
45
|
+
readonly id: Schema.String;
|
|
46
|
+
readonly item: Schema.String;
|
|
47
|
+
readonly nextAction: Schema.String;
|
|
48
|
+
readonly recipient: Schema.String;
|
|
49
|
+
readonly revision: Schema.String;
|
|
50
|
+
readonly source: Schema.String;
|
|
51
|
+
}>, Schema.Struct<{
|
|
52
|
+
readonly context: Schema.String;
|
|
53
|
+
readonly file: Schema.String;
|
|
54
|
+
readonly handoff: Schema.encodeKeys<Schema.Struct<{
|
|
55
|
+
readonly by: Schema.optional<Schema.String>;
|
|
56
|
+
readonly constraints: Schema.String;
|
|
57
|
+
readonly goal: Schema.String;
|
|
58
|
+
readonly item: Schema.String;
|
|
59
|
+
readonly nextAction: Schema.String;
|
|
60
|
+
readonly note: Schema.optional<Schema.String>;
|
|
61
|
+
readonly preparedAt: Schema.Number;
|
|
62
|
+
readonly recipient: Schema.String;
|
|
63
|
+
readonly reviewedRevision: Schema.String;
|
|
64
|
+
readonly source: Schema.String;
|
|
65
|
+
readonly state: Schema.Literals<readonly ["requested", "acknowledged", "rejected", "unavailable"]>;
|
|
66
|
+
}>, {
|
|
67
|
+
readonly nextAction: "next_action";
|
|
68
|
+
readonly preparedAt: "prepared_at";
|
|
69
|
+
readonly reviewedRevision: "reviewed_revision";
|
|
70
|
+
}>;
|
|
71
|
+
readonly id: Schema.String;
|
|
72
|
+
readonly prompt: Schema.String;
|
|
73
|
+
}>, {
|
|
74
|
+
readonly ResponseFailed: typeof ResponseFailed;
|
|
75
|
+
}>], import("effect/unstable/rpc/Rpc").Rpc<"work-board.prepareHandoff", Schema.Struct<{
|
|
76
|
+
readonly constraints: Schema.String;
|
|
77
|
+
readonly goal: Schema.String;
|
|
78
|
+
readonly id: Schema.String;
|
|
79
|
+
readonly item: Schema.String;
|
|
80
|
+
readonly nextAction: Schema.String;
|
|
81
|
+
readonly recipient: Schema.String;
|
|
82
|
+
readonly revision: Schema.String;
|
|
83
|
+
readonly source: Schema.String;
|
|
84
|
+
}>, Schema.Struct<{
|
|
85
|
+
readonly context: Schema.String;
|
|
86
|
+
readonly file: Schema.String;
|
|
87
|
+
readonly handoff: Schema.encodeKeys<Schema.Struct<{
|
|
88
|
+
readonly by: Schema.optional<Schema.String>;
|
|
89
|
+
readonly constraints: Schema.String;
|
|
90
|
+
readonly goal: Schema.String;
|
|
91
|
+
readonly item: Schema.String;
|
|
92
|
+
readonly nextAction: Schema.String;
|
|
93
|
+
readonly note: Schema.optional<Schema.String>;
|
|
94
|
+
readonly preparedAt: Schema.Number;
|
|
95
|
+
readonly recipient: Schema.String;
|
|
96
|
+
readonly reviewedRevision: Schema.String;
|
|
97
|
+
readonly source: Schema.String;
|
|
98
|
+
readonly state: Schema.Literals<readonly ["requested", "acknowledged", "rejected", "unavailable"]>;
|
|
99
|
+
}>, {
|
|
100
|
+
readonly nextAction: "next_action";
|
|
101
|
+
readonly preparedAt: "prepared_at";
|
|
102
|
+
readonly reviewedRevision: "reviewed_revision";
|
|
103
|
+
}>;
|
|
104
|
+
readonly id: Schema.String;
|
|
105
|
+
readonly prompt: Schema.String;
|
|
106
|
+
}>, Schema.Union<readonly (typeof ResponseFailed)[]>, never, never> | import("effect/unstable/rpc/Rpc").Rpc<"work-board.handoffSource", Schema.Struct<{
|
|
107
|
+
item: Schema.String;
|
|
108
|
+
}>, Schema.Struct<{
|
|
109
|
+
readonly context: Schema.String;
|
|
110
|
+
readonly id: Schema.String;
|
|
111
|
+
readonly item: Schema.String;
|
|
112
|
+
readonly reviewedRevision: Schema.String;
|
|
113
|
+
readonly source: Schema.String;
|
|
114
|
+
}>, Schema.Union<readonly (typeof ResponseFailed)[]>, never, never> | import("effect/unstable/rpc/Rpc").Rpc<"work-board.handoffs", Schema.Struct<{
|
|
115
|
+
item: Schema.String;
|
|
116
|
+
}>, Schema.Struct<{
|
|
117
|
+
readonly records: Schema.$Array<Schema.Struct<{
|
|
118
|
+
readonly context: Schema.String;
|
|
119
|
+
readonly file: Schema.String;
|
|
120
|
+
readonly handoff: Schema.encodeKeys<Schema.Struct<{
|
|
121
|
+
readonly by: Schema.optional<Schema.String>;
|
|
122
|
+
readonly constraints: Schema.String;
|
|
123
|
+
readonly goal: Schema.String;
|
|
124
|
+
readonly item: Schema.String;
|
|
125
|
+
readonly nextAction: Schema.String;
|
|
126
|
+
readonly note: Schema.optional<Schema.String>;
|
|
127
|
+
readonly preparedAt: Schema.Number;
|
|
128
|
+
readonly recipient: Schema.String;
|
|
129
|
+
readonly reviewedRevision: Schema.String;
|
|
130
|
+
readonly source: Schema.String;
|
|
131
|
+
readonly state: Schema.Literals<readonly ["requested", "acknowledged", "rejected", "unavailable"]>;
|
|
132
|
+
}>, {
|
|
133
|
+
readonly nextAction: "next_action";
|
|
134
|
+
readonly preparedAt: "prepared_at";
|
|
135
|
+
readonly reviewedRevision: "reviewed_revision";
|
|
136
|
+
}>;
|
|
137
|
+
readonly id: Schema.String;
|
|
138
|
+
readonly prompt: Schema.String;
|
|
139
|
+
}>>;
|
|
140
|
+
readonly unknown: Schema.$Array<Schema.String>;
|
|
141
|
+
}>, Schema.Union<readonly (typeof ResponseFailed)[]>, never, never>>;
|
|
142
|
+
//# sourceMappingURL=handoffContract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoffContract.d.ts","sourceRoot":"","sources":["../../src/rpc/handoffContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAqB9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oEAA2E,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { contract } from "@shivaedev/effect-contract/contract.ts";
|
|
3
|
+
import { command, query } from "@shivaedev/effect-contract/operation.ts";
|
|
4
|
+
import { Handoff, HandoffInput, HandoffPreview, HandoffReading } from "#browser/handoffs/schema.ts";
|
|
5
|
+
import { ResponseFailed } from "#browser/responses/schema.ts";
|
|
6
|
+
import { index, workspace } from "#rpc/keys.ts";
|
|
7
|
+
const locate = query("handoffSource", {
|
|
8
|
+
payload: { item: Schema.String },
|
|
9
|
+
reads: () => [workspace.list, index.list],
|
|
10
|
+
rejections: { ResponseFailed },
|
|
11
|
+
success: HandoffPreview,
|
|
12
|
+
});
|
|
13
|
+
const read = query("handoffs", {
|
|
14
|
+
payload: { item: Schema.String },
|
|
15
|
+
reads: () => [workspace.list, index.list],
|
|
16
|
+
rejections: { ResponseFailed },
|
|
17
|
+
success: HandoffReading,
|
|
18
|
+
});
|
|
19
|
+
const prepare = command("prepareHandoff", {
|
|
20
|
+
invalidates: () => [workspace.list, index.list],
|
|
21
|
+
payload: HandoffInput,
|
|
22
|
+
rejections: { ResponseFailed },
|
|
23
|
+
success: Handoff,
|
|
24
|
+
});
|
|
25
|
+
export const handoffContract = contract("work-board", { commands: [prepare], queries: [locate, read] });
|
|
26
|
+
//# sourceMappingURL=handoffContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoffContract.js","sourceRoot":"","sources":["../../src/rpc/handoffContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,EAAE;IACrC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;IAChC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IACzC,UAAU,EAAE,EAAE,cAAc,EAAE;IAC9B,OAAO,EAAE,cAAc;CACvB,CAAC,CAAC;AACH,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE;IAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;IAChC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IACzC,UAAU,EAAE,EAAE,cAAc,EAAE;IAC9B,OAAO,EAAE,cAAc;CACvB,CAAC,CAAC;AACH,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE;IACzC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAC/C,OAAO,EAAE,YAAY;IACrB,UAAU,EAAE,EAAE,cAAc,EAAE;IAC9B,OAAO,EAAE,OAAO;CAChB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC"}
|
package/dist/rpc/server.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { HttpServerResponse } from "effect/unstable/http";
|
|
3
3
|
import type { Changes } from "#files/changes.ts";
|
|
4
|
+
import type { handoffService } from "#handoffs/service.ts";
|
|
4
5
|
import type { responseService } from "#responses/service.ts";
|
|
5
6
|
import type { Snapshot } from "#search/snapshot.ts";
|
|
6
7
|
export interface ServerOptions {
|
|
7
8
|
readonly changes: Changes;
|
|
9
|
+
readonly handoffs: Effect.Success<ReturnType<typeof handoffService>>;
|
|
8
10
|
readonly home: string | undefined;
|
|
9
11
|
readonly index: Effect.Effect<Snapshot, unknown>;
|
|
10
12
|
readonly page: (url: string) => Effect.Effect<HttpServerResponse.HttpServerResponse, unknown>;
|
package/dist/rpc/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAc,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAuB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAc,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAuB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC9F,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,MAAM,qTA0CjB,CAAC"}
|
package/dist/rpc/server.js
CHANGED
|
@@ -8,9 +8,11 @@ import { navHtml } from "#page/nav.ts";
|
|
|
8
8
|
import { searchMatch } from "#search/match.ts";
|
|
9
9
|
import { ReadFailed, workRpcs } from "./contract.js";
|
|
10
10
|
import { hints } from "./hints.js";
|
|
11
|
-
export const server = Effect.fn("WorkBoard.server")(function* ({ changes, home, index, page, responses }) {
|
|
11
|
+
export const server = Effect.fn("WorkBoard.server")(function* ({ changes, handoffs, home, index, page, responses }) {
|
|
12
12
|
const handlers = workRpcs.toLayer({
|
|
13
13
|
"work-board.awaitResponse": responses.awaitResponse,
|
|
14
|
+
"work-board.handoffSource": ({ item }) => handoffs.locate(item),
|
|
15
|
+
"work-board.handoffs": ({ item }) => handoffs.read(item),
|
|
14
16
|
"work-board.history": ({ action, baseline }) => Effect.gen(function* () {
|
|
15
17
|
const now = yield* Clock.currentTimeMillis;
|
|
16
18
|
const snapshot = action === "check" ? undefined : yield* index;
|
|
@@ -23,6 +25,7 @@ export const server = Effect.fn("WorkBoard.server")(function* ({ changes, home,
|
|
|
23
25
|
}
|
|
24
26
|
return Effect.succeed({ html: new TextDecoder().decode(response.body.body), status: response.status });
|
|
25
27
|
}), Effect.catch((error) => Effect.fail(error instanceof ReadFailed ? error : new ReadFailed({ operation: "page", status: 500 })))),
|
|
28
|
+
"work-board.prepareHandoff": handoffs.prepare,
|
|
26
29
|
"work-board.question": ({ item, request }) => responses.locate(item, request),
|
|
27
30
|
"work-board.recordResponse": responses.record,
|
|
28
31
|
"work-board.registerQuestion": responses.register,
|
package/dist/rpc/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAWnC,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAiB;IAChI,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;QACjC,0BAA0B,EAAE,SAAS,CAAC,aAAa;QACnD,0BAA0B,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/D,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC9C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YAC/D,OAAO,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAChG,uBAAuB,EAAE,GAAG,EAAE,CAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAClE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CACzF;QACF,iBAAiB,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CACb,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3B,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACnE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACxG,CAAC,CAAC,EACF,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAC9H;QACF,2BAA2B,EAAE,QAAQ,CAAC,OAAO;QAC7C,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;QAC7E,2BAA2B,EAAE,SAAS,CAAC,MAAM;QAC7C,6BAA6B,EAAE,SAAS,CAAC,QAAQ;QACjD,sBAAsB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClE,mBAAmB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CACrH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CACrF;QACF,sBAAsB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;QACnD,oBAAoB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;KAC/F,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAClI,OAAO,OAAO,CAAC,IAAI,CAClB,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,EACpF,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAC1E,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/search/collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAC;AAI1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAS1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,MAAM;;
|
|
1
|
+
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/search/collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAC;AAI1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAS1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,MAAM;;yBAwBrE,IAAI;EASrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/search/entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWnD,SAAS,gBAAgB,CAAC,MAAc,EAAE,QAAgB,EAAE,QAAgB,EAAE,IAAyB;IACtG,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,IAAY,EAAE,IAAa,EAAE,QAAQ,GAAG,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/search/entries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkCollector.d.ts","sourceRoot":"","sources":["../../src/search/linkCollector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"linkCollector.d.ts","sourceRoot":"","sources":["../../src/search/linkCollector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,gBAC3B,IAAI,UAWxB"}
|
package/dist/serve-cli.js
CHANGED
|
@@ -3,7 +3,7 @@ import { NodeRuntime, NodeServices } from "@effect/platform-node";
|
|
|
3
3
|
import { Effect, Layer, Option, Path } from "effect";
|
|
4
4
|
import { Argument, Command, Flag } from "effect/unstable/cli";
|
|
5
5
|
import { HOST, serveBoard } from "./serve.js";
|
|
6
|
-
const VERSION = "0.
|
|
6
|
+
const VERSION = "0.10.0";
|
|
7
7
|
const serve = Effect.fn("WorkBoard.serve")(function* (input) {
|
|
8
8
|
const path = yield* Path.Path;
|
|
9
9
|
return yield* Layer.launch(serveBoard({ home: Option.getOrUndefined(input.home), port: input.port, responses: input.responses, root: path.resolve(input.dir) }));
|
|
@@ -12,7 +12,7 @@ const workBoard = Command.make("work-board", {
|
|
|
12
12
|
dir: Argument.directory("dir", { mustExist: true }).pipe(Argument.withDescription("The folder of markdown files to serve")),
|
|
13
13
|
home: Flag.string("home").pipe(Flag.optional, Flag.withDescription("The file shown as a board at /, relative to the folder")),
|
|
14
14
|
port: Flag.integer("port").pipe(Flag.withDefault(4747), Flag.withDescription(`The port to listen on at ${HOST}`)),
|
|
15
|
-
responses: Flag.boolean("responses").pipe(Flag.withDefault(false), Flag.withDescription("Explicitly enable local durable question and
|
|
15
|
+
responses: Flag.boolean("responses").pipe(Flag.withDefault(false), Flag.withDescription("Explicitly enable local durable question, response and handoff writes (Linux)")),
|
|
16
16
|
}, serve).pipe(Command.withDescription("Serve a folder of markdown files as a live page that updates in place when a file changes."));
|
|
17
17
|
export function runServe() {
|
|
18
18
|
Command.run(workBoard, { version: VERSION }).pipe(Effect.provide(NodeServices.layer), NodeRuntime.runMain);
|
package/dist/serve-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-cli.js","sourceRoot":"","sources":["../src/serve-cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"serve-cli.js","sourceRoot":"","sources":["../src/serve-cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,KAKrD;IACA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9B,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CACzB,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CACpI,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAC7B,YAAY,EACZ;IACC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,uCAAuC,CAAC,CAAC;IAC3H,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,wDAAwD,CAAC,CAAC;IAC7H,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;IACjH,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CACxC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACvB,IAAI,CAAC,eAAe,CAAC,+EAA+E,CAAC,CACrG;CACD,EACD,KAAK,CACL,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,4FAA4F,CAAC,CAAC,CAAC;AAE9H,MAAM,UAAU,QAAQ;IACvB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AAC5G,CAAC"}
|
package/dist/serve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,YAAY,CAAC;AAE3D,eAAO,MAAM,IAAI,cAAc,CAAC;AAEhC,MAAM,WAAW,YAAa,SAAQ,YAAY;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,YAAY,CAAC;AAE3D,eAAO,MAAM,IAAI,cAAc,CAAC;AAEhC,MAAM,WAAW,YAAa,SAAQ,YAAY;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,SAAU,MAAM,+SAA8F,CAAC;AAEpI,eAAO,MAAM,UAAU,YAAa,YAAY,geACgE,CAAC"}
|
package/dist/views/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/views/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACjD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,IAAI,EAAE,IAAI;CACV,CAAC,CAAC;AAGH,MAAM,UAAU,OAAO,CAAC,GAAW;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,YAAY,CAAC;IAC7D,OAAO;QACN,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;QAChC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC5C,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;QAC3F,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QAClC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC;KAC3F,CAAC;AACH,CAAC;AACD,MAAM,UAAU,OAAO,CAAC,KAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/views/state.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shivaedev/work-board",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Serve a folder of markdown files as a live local page that updates in place when a file changes",
|
|
5
5
|
"homepage": "https://github.com/ShivaeDev/platform/tree/main/packages/work-board#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@effect/platform-node": "4.0.0-rc.112",
|
|
65
65
|
"@effect/platform-node-shared": "4.0.0-rc.112",
|
|
66
|
-
"@shivaedev/quality": "0.
|
|
66
|
+
"@shivaedev/quality": "0.18.0",
|
|
67
67
|
"@types/hast": "3.0.5",
|
|
68
68
|
"@types/mdast": "4.0.4",
|
|
69
69
|
"@types/node": "24.10.1",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"provenance": true
|
|
90
90
|
},
|
|
91
91
|
"scripts": {
|
|
92
|
-
"build": "node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { force: true, recursive: true }))\" &&
|
|
92
|
+
"build": "node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { force: true, recursive: true }))\" && tsc --project tsconfig.build.json && pnpm build:browser",
|
|
93
93
|
"build:browser": "esbuild src/browser/entry.ts --bundle --platform=browser --format=esm --conditions=source --minify --outfile=assets/native.js && esbuild src/responses/agent-cli.ts --bundle --platform=node --format=esm --conditions=source --minify --outfile=assets/agent.js",
|
|
94
94
|
"ready": "pnpm typecheck && pnpm test && pnpm build",
|
|
95
95
|
"test": "pnpm test:prepare && vitest run",
|
package/src/board.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { Context, Effect, FileSystem, Layer, Path, type PlatformError, type Scop
|
|
|
2
2
|
import { HttpRouter, HttpServerRequest, type HttpServerResponse } from "effect/unstable/http";
|
|
3
3
|
import { watchChanges } from "#files/changes.ts";
|
|
4
4
|
import { type HomeMissing, homeIn } from "#files/home.ts";
|
|
5
|
+
import { handoffPage } from "#handoffs/page.ts";
|
|
6
|
+
import { handoffService } from "#handoffs/service.ts";
|
|
5
7
|
import { ASSETS, MERMAID_ROUTE, type MermaidMissing, mermaidFile, mermaidRoot, NATIVE_ROUTE, nativeAsset } from "#http/assets.ts";
|
|
6
8
|
import { attachment } from "#http/attachment.ts";
|
|
7
9
|
import { events } from "#http/events.ts";
|
|
@@ -70,6 +72,14 @@ const routes = (options: BoardOptions) =>
|
|
|
70
72
|
});
|
|
71
73
|
const replyPage = responsePage(responses, changes, home, options.responses === true);
|
|
72
74
|
yield* serve("/_board/respond", replyPage);
|
|
75
|
+
const handoffs = yield* handoffService({
|
|
76
|
+
changes,
|
|
77
|
+
enabled: options.responses === true,
|
|
78
|
+
index: Effect.provideContext(index, context),
|
|
79
|
+
root: options.root,
|
|
80
|
+
});
|
|
81
|
+
const handoff = handoffPage(handoffs, changes, home, options.responses === true);
|
|
82
|
+
yield* serve("/_board/handoff", handoff);
|
|
73
83
|
const pages = page({ home, root: options.root }, changes, index);
|
|
74
84
|
const items = identity(index, pages, changes, home);
|
|
75
85
|
yield* serve("/_board/item/*", items);
|
|
@@ -78,6 +88,9 @@ const routes = (options: BoardOptions) =>
|
|
|
78
88
|
const pathname = new URL(url, "http://127.0.0.1").pathname;
|
|
79
89
|
let selected: ReturnType<typeof pages>;
|
|
80
90
|
switch (pathname) {
|
|
91
|
+
case "/_board/handoff":
|
|
92
|
+
selected = handoff(request);
|
|
93
|
+
break;
|
|
81
94
|
case "/_board/respond":
|
|
82
95
|
selected = replyPage(request);
|
|
83
96
|
break;
|
|
@@ -98,7 +111,7 @@ const routes = (options: BoardOptions) =>
|
|
|
98
111
|
}
|
|
99
112
|
return Effect.provideContext(selected, context);
|
|
100
113
|
}
|
|
101
|
-
const rpc = yield* server({ changes, home, index: Effect.provideContext(index, context), page: readPage, responses });
|
|
114
|
+
const rpc = yield* server({ changes, handoffs, home, index: Effect.provideContext(index, context), page: readPage, responses });
|
|
102
115
|
yield* serve(
|
|
103
116
|
"/_board/rpc",
|
|
104
117
|
(request) =>
|