@shivaedev/work-board 0.6.1 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -2
- package/README.md +19 -0
- package/assets/native.js +1 -1
- package/dist/board.d.ts.map +1 -1
- package/dist/board.js +6 -0
- package/dist/board.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/http/page.d.ts.map +1 -1
- package/dist/http/page.js +4 -0
- package/dist/http/page.js.map +1 -1
- package/dist/http/start.d.ts +4 -0
- package/dist/http/start.d.ts.map +1 -0
- package/dist/http/start.js +12 -0
- package/dist/http/start.js.map +1 -0
- 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 +1 -1
- package/dist/page/shell.js.map +1 -1
- package/dist/page/startHtml.d.ts +2 -0
- package/dist/page/startHtml.d.ts.map +1 -0
- package/dist/page/startHtml.js +10 -0
- package/dist/page/startHtml.js.map +1 -0
- package/dist/page/startTemplates.d.ts +14 -0
- package/dist/page/startTemplates.d.ts.map +1 -0
- package/dist/page/startTemplates.js +104 -0
- package/dist/page/startTemplates.js.map +1 -0
- package/dist/page/style.d.ts.map +1 -1
- package/dist/page/style.js +37 -1
- package/dist/page/style.js.map +1 -1
- package/dist/render/board.d.ts.map +1 -1
- package/dist/render/board.js +5 -2
- package/dist/render/board.js.map +1 -1
- package/dist/render/callouts.d.ts +3 -0
- package/dist/render/callouts.d.ts.map +1 -0
- package/dist/render/callouts.js +27 -0
- package/dist/render/callouts.js.map +1 -0
- package/dist/render/markdown.d.ts.map +1 -1
- package/dist/render/markdown.js +4 -1
- package/dist/render/markdown.js.map +1 -1
- package/dist/render/visual.d.ts +3 -0
- package/dist/render/visual.d.ts.map +1 -0
- package/dist/render/visual.js +90 -0
- package/dist/render/visual.js.map +1 -0
- package/dist/render/visualDocuments.d.ts +5 -0
- package/dist/render/visualDocuments.d.ts.map +1 -0
- package/dist/render/visualDocuments.js +57 -0
- package/dist/render/visualDocuments.js.map +1 -0
- package/dist/render/visualFields.d.ts +12 -0
- package/dist/render/visualFields.d.ts.map +1 -0
- package/dist/render/visualFields.js +13 -0
- package/dist/render/visualFields.js.map +1 -0
- package/dist/rpc/contract.js +1 -1
- package/dist/rpc/contract.js.map +1 -1
- package/dist/search/entries.d.ts.map +1 -1
- package/dist/search/entries.js +4 -1
- package/dist/search/entries.js.map +1 -1
- package/package.json +4 -2
- package/src/board.ts +6 -0
- package/src/cli.ts +1 -1
- package/src/http/page.ts +4 -0
- package/src/http/start.ts +16 -0
- package/src/page/navigationScript.ts +1 -1
- package/src/page/shell.ts +2 -2
- package/src/page/startHtml.ts +10 -0
- package/src/page/startTemplates.ts +103 -0
- package/src/page/style.ts +38 -1
- package/src/render/board.ts +5 -2
- package/src/render/callouts.ts +29 -0
- package/src/render/markdown.ts +4 -1
- package/src/render/visual.ts +100 -0
- package/src/render/visualDocuments.ts +68 -0
- package/src/render/visualFields.ts +17 -0
- package/src/rpc/contract.ts +1 -1
- package/src/search/entries.ts +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,10 +4,43 @@
|
|
|
4
4
|
|
|
5
5
|
### Changed
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
|
|
7
|
+
- Remove document export and shareable artifact/packet generation from the vision
|
|
8
|
+
and delivery scope. Keep onboarding/report templates and linked in-app review.
|
|
9
9
|
- Record the approved Platform-first live client direction and its actual shared HTTP/browser fixture evidence; Work Board adopts that foundation in 0.5.0 below.
|
|
10
10
|
|
|
11
|
+
## 0.7.1 - 2026-10-06
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Useful empty-workspace guidance and persistent getting-started access to copyable
|
|
16
|
+
project, investigation and agent-result Markdown templates. Read the same page
|
|
17
|
+
through server-rendered links and native page navigation with Back preservation. Keep source
|
|
18
|
+
creation in existing editors/agent tools and evidence unrecorded until observed.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Keep document printing focused on readable content and diagram-source fallback.
|
|
23
|
+
No document export or portable packet generation is part of this project.
|
|
24
|
+
|
|
25
|
+
## 0.7.0 - 2026-10-06
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- Read-only metric, progress and authored timeline Markdown directives parsed by
|
|
30
|
+
`remark-directive` and validated with Effect Schema. Keep Markdown labels/source
|
|
31
|
+
links, explicit unknown values and native labeled progress with text alternatives.
|
|
32
|
+
Retain invalid/unsupported source with diagnostics and bound each component to
|
|
33
|
+
64 KiB and each timeline to 100 entries. Nested composition remains deferred.
|
|
34
|
+
- GitHub NOTE/TIP/IMPORTANT/WARNING/CAUTION callouts, with comparisons remaining
|
|
35
|
+
ordinary GFM tables. The project brief uses the agreed source conventions.
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- Use the same remark parser/directive grammar for legacy board segmentation,
|
|
40
|
+
rendering and search; remove Satteri. Headings inside directive containers do
|
|
41
|
+
not become board columns. Keep native live/history ownership and local-only
|
|
42
|
+
reading without source writes or acceptance inference.
|
|
43
|
+
|
|
11
44
|
## 0.6.1 - 2026-10-06
|
|
12
45
|
|
|
13
46
|
### Changed
|
package/README.md
CHANGED
|
@@ -9,6 +9,15 @@ pnpm add --global @shivaedev/work-board
|
|
|
9
9
|
work-board ./project-notes --port 4747 --home plan.md
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
+
For an empty folder, omit `--home` until its home file exists. It opens
|
|
13
|
+
getting-started guidance at `/`. **Getting started** in the
|
|
14
|
+
sidebar remains available at `/_board/start`, with copyable project, investigation
|
|
15
|
+
and agent-result Markdown templates. Focus a template text area, select all and
|
|
16
|
+
copy; save through your editor or agent tool. Replace example IDs and matching
|
|
17
|
+
references, and record evidence only after an actual observation. The viewer
|
|
18
|
+
does not create project files. Templates and links also work without JavaScript.
|
|
19
|
+
Browser print focuses on the document; document export is outside product scope.
|
|
20
|
+
|
|
12
21
|
It listens on `127.0.0.1` only and answers only requests addressed to a loopback
|
|
13
22
|
host. Every `.md` file under the folder appears in the collapsible sidebar with
|
|
14
23
|
how long ago it changed. Below the folder, files and folders starting with a dot
|
|
@@ -402,3 +411,13 @@ server-rendered Markdown, with locally served Mermaid for ordinary `mermaid`
|
|
|
402
411
|
fences. Existing local links, images, heading anchors, footnotes, raw-HTML details
|
|
403
412
|
and Shiki code highlighting remain available without React client state. Mermaid
|
|
404
413
|
rendering and inspection need JavaScript; its source remains readable without it.
|
|
414
|
+
|
|
415
|
+
### Visual document directives
|
|
416
|
+
|
|
417
|
+
Use `:::metric{value="50" unit="documents"}`, `:::progress{completed="3" total="8"}`
|
|
418
|
+
and `:::timeline` containers with Markdown labels and linked sources. Components
|
|
419
|
+
render on the server and remain readable without JavaScript. Unknown counts stay
|
|
420
|
+
unknown, invalid components retain their source with a diagnostic, and timelines
|
|
421
|
+
preserve authored order. Recorded values do not establish verified acceptance.
|
|
422
|
+
See [the complete source conventions](./docs/vision/delivery/visual-document-examples.md).
|
|
423
|
+
GitHub alert blockquotes render as callouts; comparisons remain ordinary GFM tables.
|
package/assets/native.js
CHANGED
|
@@ -33,4 +33,4 @@ ${t}}`),r},rg="~effect/Fiber",U3={_A:L,_E:L},D3={id:0},Ji=()=>globalThis[cf],og=
|
|
|
33
33
|
`,i)}return r=r.slice(i),gE(r.length,t)&&o(t),c},encode:s=>{if(Array.isArray(s)){if(s.length===0)return;let i="";for(let a=0;a<s.length;a++)i+=JSON.stringify(s[a])+`
|
|
34
34
|
`;return i}return JSON.stringify(s)+`
|
|
35
35
|
`}}}})},$z=xE(),qz=e=>En.of({contentType:e?.contentType??"application/json",includesFraming:!1,codecFor:oh,makeUnsafe:()=>{let t=new TextDecoder,n=new Map;return{decode:r=>{let o=JSON.parse(typeof r=="string"?r:t.decode(r));return Hz(o,n)},encode:r=>{let o=Wz(r,n);return o&&JSON.stringify(o)}}}}),zz=e=>En.of({contentType:e?.contentType??"application/json-rpc",includesFraming:!0,codecFor:oh,makeUnsafe:()=>{let t=xE({maxBufferSize:e?.maxBufferSize}).makeUnsafe(),n=new Map;return{decode:r=>{let o=t.decode(r);if(o.length===0)return[];let s=[];for(let i=0;i<o.length;i++){let a=o[i];s.push(...Hz(a,n))}return s},encode:r=>{let o=Wz(r,n);return o&&t.encode(o)}}}});function Hz(e,t){if(Array.isArray(e)){let n={size:0,responses:new Map},r=[];for(let o=0;o<e.length;o++){let s=Nz(e[o]);r.push(s),s._tag==="Request"&&!s.isNotification&&(n.size++,t.set(s.id,n))}return r}return[Nz(e)]}function Nz(e){if(Object.hasOwn(e,"method")){let r=e;if(IA(r.id)&&r.method.startsWith("@effect/rpc/")){let o=r.method.slice(12),s=r.params?.requestId;return s?{_tag:o,requestId:s}:{_tag:o}}return{_tag:"Request",id:r.id??"",tag:r.method,payload:r.params??null,headers:r.headers??[],...B(r,"id")?{}:{isNotification:!0},...r.spanId?{traceId:r.traceId,spanId:r.spanId,sampled:r.sampled}:{}}}let t=e,n=Object.hasOwn(t,"error");return n&&t.error&&t.error._tag==="Defect"?{_tag:"Defect",defect:t.error.data}:Object.hasOwn(t,"chunk")&&t.chunk===!0?{_tag:"Chunk",requestId:t.id??"",values:t.result}:{_tag:"Exit",requestId:t.id??"",exit:n&&t.error!=null?{_tag:"Failure",cause:t.error._tag==="Cause"?t.error.data:[{_tag:"Die",defect:t.error}]}:{_tag:"Success",value:t.result}}}function Lz(e,t){if(!("requestId"in e))return rA(e);let n=t.get(e.requestId);return n?(t.delete(e.requestId),n.responses.set(e.requestId,e),n.size===n.responses.size?Array.from(n.responses.values(),rA):void 0):rA(e)}function Wz(e,t){if(Array.isArray(e)===!1)return Lz(e,t);if(e.length===0)return;let n=[];for(let o=0;o<e.length;o++){let s=Lz(e[o],t);s!==void 0&&n.push(s)}if(n.length===0)return;if(n.length===1)return n[0];let r=[];for(let o=0;o<n.length;o++){let s=n[o];Array.isArray(s)?r.push(...s):r.push(s)}return r}function rA(e){switch(e._tag){case"Request":return{jsonrpc:"2.0",method:e.tag,params:e.payload,...e.isNotification?{}:{id:e.id},...e.headers?.length>0?{headers:e.headers}:{},traceId:e.traceId,spanId:e.spanId,sampled:e.sampled};case"Ping":case"Pong":case"Interrupt":case"Ack":case"Eof":return{jsonrpc:"2.0",method:`@effect/rpc/${e._tag}`,params:"requestId"in e?{requestId:e.requestId}:void 0};case"Chunk":return{jsonrpc:"2.0",chunk:!0,id:e.requestId,result:e.values};case"Exit":{if(e.exit._tag==="Success")return{jsonrpc:"2.0",id:e.requestId??void 0,result:e.exit.value};let t=e.exit.cause.find(r=>r._tag==="Fail"),n=t?._tag==="Fail"?t.error:void 0;return{jsonrpc:"2.0",id:e.requestId??void 0,error:e.exit._tag==="Failure"?{_tag:"Cause",code:n&&B(n,"code")?Number(n.code):0,message:n&&B(n,"message")?n.message:JSON.stringify(e.exit.cause),data:e.exit.cause}:void 0}}case"Defect":return{jsonrpc:"2.0",id:Zne,error:{_tag:"Defect",code:1,message:"A defect occurred",data:e.defect}};case"ClientProtocolError":return{}}}var Zne=-32603,oA=e=>{let{maxBufferSize:t=Bz,...n}=e??{};return En.of({contentType:"application/msgpack",includesFraming:!0,codecFor:oh,makeUnsafe:()=>{let r=new Ri(n),o=new Ac(n),s=new TextEncoder,i,a=c=>{throw i=void 0,new rh({maxBufferSize:c})};return{decode(c){let u=typeof c=="string"?s.encode(c):c;if(i!==void 0){gE(i.length+u.length,t)&&a(t);let f=u;c=new Uint8Array(i.length+u.length),c.set(i),c.set(f,i.length),u=c,i=void 0}try{return r.unpackMultiple(u)}catch(f){let l=f;if(l.incomplete)return i=u.subarray(l.lastPosition),gE(i.length,t)&&a(t),l.values??[];throw f}},encode:c=>o.pack(c)}}})},Kz=oA({useRecords:!0}),Qne=16*1024*1024,Yne=new TextEncoder,Xne=e=>{let t=e?.maxFrameSize??Qne,n=e?.fingerprintPayloads===!0?o=>VC(o,{fingerprint:!0}):VC,r={fingerprint:!0,dictionary:!0};return En.of({contentType:"application/vnd.effect.rpc+schema-binary",includesFraming:!0,codecFor:n,makeUnsafe:()=>{let o=Zq(yC,{...r,maxFrameSize:t}),s=Yq(yC,r);return{decode:i=>o.feedSync(typeof i=="string"?Yne.encode(i):i),encode:i=>{if(!Array.isArray(i))return s.encode(i);if(i.length!==0)return s.encodeMany(i)}}}})},ere=ii(En)(jz),tre=ii(En)($z),nre=e=>ii(En)(xE(e)),rre=e=>ii(En)(qz(e)),ore=e=>ii(En)(zz(e)),sre=ii(En)(Kz),ire=e=>ii(En)(oA(e)),are=e=>W0(En)(()=>Xne(e));var yE=class extends Ke()("effect/rpc/RpcWorker/InitialMessage"){};var Jz=e=>K(()=>{let t=new Set,n=new Map,r=new Map,o=(s,i)=>cr(a=>{let c=n.get(s);return c||(c=[],n.set(s,c)),c.push([i,a]),H});return Y(e((s,i)=>{let a=r.get(s);return a?a(i):o(s,i)},t),s=>({...s,run(i,a){return qt(function*(){t.add(i),r.set(i,a);let c=n.get(i);if(c){n.delete(i);for(let[u,f]of c)yield*Nn(K(()=>a(u)),f)}return yield*ur(Hr,()=>(t.delete(i),r.delete(i),H))})}}))});var ure=e=>yr(e,"RpcClientError"),fre=0,Gz=ye(function*(e,t){let n=t?.spanPrefix??"RpcClient",r=t?.supportsAck??!0,o=t?.disableTracing??!1,s=t?.generateRequestId??(()=>fre++),i=yield*ar(),a=qe(i,It),c=new Map,u=!1;yield*_t(a,xn(E=>(u=!0,f(Lg(E.id)))));let f=ye(function*(E){for(let[y,w]of c)c.delete(y),w._tag==="Queue"?yield*E._tag==="Success"?zp(w.queue):Zt(w.queue,E.cause):w.resume(E)}),l=E=>{let y=jm(E.successSchema),w=h(E);return(S,C)=>{let _=C?.headers?ki(C.headers):Kl,R=C?.context??bt();if(!y){let q=P=>p(E,w,P,E.payloadSchema.make(S),_,R,C?.discard??!1);return o?q(void 0):cp(`${n}.${E._tag}`,{attributes:t.spanAttributes},q)}let M=m(E,w,E.payloadSchema.make(S),_,C?.streamBufferSize??16,R);return C?.asQueue?M:mr(Y(M,Ii))}},p=(E,y,w,S,C,_,R)=>xn(M=>{if(u)return ho;let q=s(),P=y(ee=>t.onFromClient({message:ee,context:_,discard:R}),{_tag:"Request",id:q,tag:E._tag,payload:S,...w?{traceId:w.traceId,spanId:w.spanId,sampled:w.sampled}:{},headers:Vl(M.getRef(SE),C)});if(R)return P;let te;return ui(Es(ee=>{let T={_tag:"Effect",rpc:E,context:_,resume(z){ee(z),te&&!te.pollUnsafe()&&M.currentDispatcher.scheduleTask(()=>{te.interruptUnsafe(M.id)},0)}};c.set(q,T),te=P.pipe(w?Xf(w,{captureStackTrace:!1}):L,Ln(M.context)),te.addObserver(z=>{if(z._tag==="Failure")return ee(z)})}),ee=>(c.delete(q),Dn(yo(te),g(q,Array.from(ee),_))))}),m=ye(function*(E,y,w,S,C,_){if(u)return yield*ho;let R=o?void 0:yield*Uw(`${n}.${E._tag}`,{attributes:t.spanAttributes}),M=xi(),q=s(),P=Jn(M.context,It);yield*Fo(P,ee=>c.has(q)?(c.delete(q),g(q,ri(ee)?Array.from(XM(ee.cause)):[],_)):H);let te=yield*Ou(C);return c.set(q,{_tag:"Queue",rpc:E,queue:te,scope:P,context:_}),yield*y(ee=>t.onFromClient({message:ee,context:_,discard:!1}),{_tag:"Request",id:q,tag:E._tag,payload:w,...R?{traceId:R.traceId,spanId:R.spanId,sampled:R.sampled}:{},headers:Vl(M.getRef(SE),S)}).pipe(R?Xf(R,{captureStackTrace:!1}):L,ft(ee=>Zt(te,ee)),ra,Ut(P,{startImmediately:!0})),te}),h=E=>{let y=[];for(let w of E.middlewares.values()){let S=qi(i,`${w.key}/Client`);S&&y.push(S)}return y.length===0?(w,S)=>w(S):function w(S,C,_=y.length-1){return _===-1?S(C):y[_]({rpc:E,request:C,next(R){return w(S,R,_-1)}})}},g=(E,y,w)=>Es(S=>{let C=xi();t.onFromClient({message:{_tag:"Interrupt",requestId:E,interruptors:y},context:w,discard:!1}).pipe(Iw(1e3),Ln(C.context)).addObserver(()=>{S(H)})}),x=E=>{switch(E._tag){case"Chunk":{let y=E.requestId,w=c.get(y);return!w||w._tag!=="Queue"?H:ga(w.queue,E.values).pipe(r?A(()=>t.onFromClient({message:{_tag:"Ack",requestId:E.requestId},context:w.context,discard:!1})):L,ft(S=>Zt(w.queue,S)))}case"Exit":{let y=E.requestId,w=c.get(y);return w?(c.delete(y),w._tag==="Effect"?(w.resume(E.exit),H):E.exit._tag==="Success"?zp(w.queue):Zt(w.queue,E.exit.cause)):H}case"Defect":return f(Ng(E.defect));case"ClientEnd":return H}},b;if(t.flatten){let E=new Map;b=function(w,S,C){let _=E.get(w);return _||(_=l(e.requests.get(w)),E.set(w,_)),_(S,C)}}else b={},e.requests.forEach(E=>{W(b,E._tag,l(E))});return{client:b,write:x}}),lre=0,sA=ye(function*(e,t){let n=lre++,{codecFor:r,run:o,send:s,supportsAck:i,supportsTransferables:a}=yield*Pi,c=dre(r),u=dm(r(ln())),f=new Map,{client:l,write:p}=yield*Gz(e,{...t,supportsAck:i,onFromClient({message:m}){switch(m._tag){case"Request":{let h=e.requests.get(m.tag),g=a?eq():void 0,x=xi(),b={rpc:h,context:g?Ve(x.context,Bm,g):x.context,schemas:c(h)};return f.set(m.id,b),b.schemas.encodePayload(m.payload).pipe(Nn(b.context),ci,A(E=>s(n,{...m,id:m.id,payload:E,headers:Object.entries(m.headers)},g&&g.readUnsafe())))}case"Ack":return f.get(m.requestId)?s(n,{_tag:"Ack",requestId:m.requestId}):H;case"Interrupt":return f.get(m.requestId)?(f.delete(m.requestId),s(n,{_tag:"Interrupt",requestId:m.requestId})):H;case"Eof":return H}}});return yield*o(n,m=>{switch(m._tag){case"Chunk":{let h=zm(m.requestId),g=f.get(h);return!g||ge(g.schemas.decodeChunk)?H:g.schemas.decodeChunk.value(m.values).pipe(Nn(g.context),ci,A(x=>p({_tag:"Chunk",clientId:0,requestId:zm(m.requestId),values:x})),mo(x=>p({_tag:"Exit",clientId:0,requestId:zm(m.requestId),exit:jt(x)})))}case"Exit":{let h=zm(m.requestId),g=f.get(h);return g?(f.delete(h),g.schemas.decodeExit(m.exit).pipe(Nn(g.context),ci,Kr({onSuccess:x=>p({_tag:"Exit",clientId:0,requestId:h,exit:x}),onFailure:x=>p({_tag:"Exit",clientId:0,requestId:h,exit:jt(x)})}))):H}case"Defect":return p({_tag:"Defect",clientId:0,defect:u(m.defect)});case"ClientProtocolError":{let h=Mo(m.error);return Do(f.keys(),g=>p({_tag:"Exit",clientId:0,requestId:g,exit:h}))}default:return H}}).pipe(ft(fp),ra,bs),l}),dre=e=>{let t=new WeakMap;return n=>{let r=t.get(n);if(r!==void 0)return r;let o=qS(n.successSchema);return r={decodeChunk:Lt(o,s=>hc(e(rS(s.success)))),encodePayload:tS(e(n.payloadSchema)),decodeExit:hc(e(gC(n)))},t.set(n,r),r}},SE=Me("effect/rpc/RpcClient/CurrentHeaders",{defaultValue:()=>Kl}),pre=d(2,(e,t)=>Rw(e,SE,Vl(ki(t)))),Pi=class extends Ke()("effect/rpc/RpcClient/Protocol"){static make=Jz},Zz=e=>Pi.make(ye(function*(t){let n=yield*En,r=n.includesFraming,o=u=>new qs({reason:Jl.fromHttpClientError(u)}),s=(u,f)=>new qs({reason:new Tc({message:u,cause:f})}),i=u=>s("Received empty HTTP response from RPC server",u),a=u=>s("HTTP response ended before RPC request completed",u);return{send:ye(function*(u,f){if(f._tag!=="Request")return;let l=n.makeUnsafe(),p=l.encode(f),m=typeof p=="string"?Fk(p,n.contentType):TS(p,n.contentType),h=yield*e.post("",{body:m}).pipe(Yf(o));if(!r){let b=yield*h.text.pipe(Yf(o)),E=yield*No({try:()=>l.decode(b),catch:S=>s("Error decoding HTTP response",S)});if(!Array.isArray(E))return yield*s("Expected an array of responses",E);if(E.length===0)return yield*i(f);let y=!1,w=0;return yield*Qn({while:()=>w<E.length,body:()=>{let S=E[w++];return SC(S)&&(y=!0),t(u,S)},step:bn}),y?void 0:yield*a(f)}let g=!1,x=!1;if(yield*Wl(h.stream,b=>No({try:()=>b.flatMap(l.decode),catch:E=>s("Error decoding HTTP response",E)}).pipe(A(E=>{if(E.length===0)return H;g=!0;let y=0;return Qn({while:()=>y<E.length,body:()=>{let w=E[y++];return SC(w)&&(x=!0),t(u,w)},step:bn})}))).pipe(Yf(b=>ure(b)?b:o(b))),g){if(!x)return yield*a(f)}else return yield*i(f)}),supportsAck:!1,supportsTransferables:!1,codecFor:n.codecFor}})),mre=e=>qr(Pi)(A(zk,t=>(t=j$(t,M$(e.url)),Zz(e.transformClient?e.transformClient(t):t)))),Qz=e=>Pi.make(ye(function*(t,n){let r=yield*H$,o=yield*En,s=yield*hu(ih),i=new Map,a=yield*r.writer,c=o.makeUnsafe(),u=yield*gre(K(()=>a(c.encode(oq)))),f,l=K(()=>(f=void 0,Te(s)?s.value.onConnect:H)),p=h=>Do(n,g=>t(g,h)),m=h=>(f=h,p({_tag:"ClientProtocolError",error:h}));return yield*K(()=>(c=o.makeUnsafe(),u.reset(),r.runRaw(h=>{try{let g=c.decode(h);if(g.length===0)return;let x=0;return Qn({while:()=>x<g.length,body:()=>{let b=g[x++];if(b._tag==="Pong")return u.onPong(),H;if(Object.hasOwn(b,"requestId")){let E=b.requestId,y=i.get(E);if(y!==void 0)return b._tag==="Exit"&&i.delete(E),t(y,b)}return p(b)},step:bn})}catch(g){return p({_tag:"ClientProtocolError",error:new qs({reason:new Tc({message:"Error decoding message",cause:g})})})}},{onOpen:l}).pipe(Ya(A(u.timeout,()=>G(new Zl({reason:new Pm({kind:"Timeout",cause:new Error("ping timeout")})}))))))).pipe(A(()=>G(new Zl({reason:new Fm({code:1e3})}))),Te(s)?na(s.value.onDisconnect):L,sp(h=>{let g=jf(h),x=Kt(g),b=new qs({reason:x?g.success.reason:new Tc({message:"Unknown socket error",cause:su(h)})});return e?.retryTransientErrors&&x&&g.success.reason._tag==="SocketOpenError"?(e.onTransientError?.(b)??H).pipe(ww({log:!0,message:"RpcClient onTransientError hook failed"})):m(b)}),Ew(e?.retryPolicy??hre,h=>m(new qs({reason:h.reason}))),fx({module:"RpcClient",method:"makeProtocolSocket"}),bs),{send(h,g){if(f)return G(f);g._tag==="Request"&&i.set(g.id,h);let x=c.encode(g);return x===void 0?H:ci(a(x))},supportsAck:!0,supportsTransferables:!1,codecFor:o.codecFor}})),hre=WP([KP(500,1.5),Vf(5e3)]),gre=ye(function*(e){let t=!0,n=fr(),r=()=>{t=!0,n.closeUnsafe()},o=()=>{t=!0};return yield*K(()=>t?(t=!1,e):n.open).pipe(ta("5 seconds"),bw,Ht,ra,bs),{timeout:n.await,reset:r,onPong:o}}),xre=e=>qr(Pi)(Qz(e)),Yz=e=>Pi.make(ye(function*(t,n){let r=yield*$S,o=yield*jo,s=0,i=yield*hu(yE),a=yield*hu(ih),c=new Map,u=m=>Do(n,h=>t(h,m)),f=qt(function*(){let m=s++,h=yield*r.spawn(m);return yield*h.run(g=>{if(g._tag==="Exit"){let x=c.get(g.requestId);if(x)return c.delete(g.requestId),x.latch.openUnsafe(),t(x.clientId,g)}else if(g._tag==="Defect"){for(let[x,b]of c)c.delete(x),b.latch.openUnsafe();return u(g)}else if("requestId"in g){let x=c.get(g.requestId);if(x)return t(x.clientId,g)}return u(g)},{onSpawn:Te(i)?A(i.value,([g,x])=>ci(h.send({_tag:"InitialMessage",value:g},x))):void 0}).pipe(sp(g=>{for(let[b,E]of c)E.worker===h&&(c.delete(b),E.latch.openUnsafe());let x=jf(g);return u({_tag:"ClientProtocolError",error:new qs({reason:Kt(x)?x.success.reason:new Tc({message:"Error in worker",cause:su(g)})})})}),ix(Vf(1e3)),fx({module:"RpcClient",method:"makeProtocolWorker"}),ra,bs),h}),l="minSize"in e?yield*Gj({acquire:f,min:e.minSize,max:e.maxSize,concurrency:e.concurrency,targetUtilization:e.targetUtilization,timeToLive:e.timeToLive}):yield*Jj({acquire:f,size:e.size,concurrency:e.concurrency,targetUtilization:e.targetUtilization});yield*_t(o,se(()=>{for(let m of c.values())m.latch.openUnsafe();c.clear()}));let p=(m,h,g)=>{switch(h._tag){case"Request":return Sk(l).pipe(A(x=>{let b=fr(!1);return c.set(h.id,{clientId:m,worker:x,latch:b}),A(x.send(h,g),()=>b.await)}),gu,ci);case"Interrupt":{let x=c.get(h.requestId);return x?(c.delete(h.requestId),x.latch.openUnsafe(),ci(x.worker.send(h))):H}case"Ack":{let x=c.get(h.requestId);return x?ci(x.worker.send(h)):H}}return H};return yield*gu(Sk(l)),Te(a)&&(yield*a.value.onConnect),{send:p,supportsAck:!0,supportsTransferables:!0,codecFor:Ec}})),yre=Fc(Yz,qr(Pi)),ih=class extends Ke()("effect/rpc/RpcClient/ConnectionHooks"){};var EE="~effect/reactivity/Atom",tH=e=>B(e,EE),aA="~effect/reactivity/Atom/Writable",uh=d(2,(e,t)=>{let n=gt(t),r=as(n);return Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!r,idleTTL:r?Tn(n):void 0})}),tf=uh(0),uA={[EE]:EE,equals:Object.is,...vn,toJSON(){return{_id:"Atom",keepAlive:this.keepAlive,lazy:this.lazy,label:this.label}}},Sre={...uA,atom(e,t){let n=nH(e,t);return Fi(r=>{let o=r.self(),s=r(this);return s._tag!=="Success"?Dm(s,o):n(r,s.value)})},fn(e,t){return arguments.length===0?(n,r)=>Xz(this,n,r):Xz(this,e,t)},pull(e,t){let n=tf(fA(0)),r=Fi(o=>{let s=o.self(),i=o(this);return i._tag!=="Success"?Dm(i,s):bE(o,Ore(o,n,e,t),Ia(!0),i.value)});return Rre(n,r)},subscriptionRef(e){return kre(tf(Fi(t=>{let n=t.self(),r=t(this);if(r._tag!=="Success")return Dm(r,n);let o=typeof e=="function"?e(t):e;return Om(o)?o:bE(t,o,Ia(!0),r.value)})),(t,n)=>{let r=Xk(t(this));return Tre(t,n,r)})}},Xz=(e,t,n)=>{let[r,o,s]=Are(n?.reactivityKeys?(i,a)=>{let c=t(i,a);return Cr(c)?SS(c,n.reactivityKeys):Cm(c,ES(n.reactivityKeys))}:t,n);return fh(i=>{i.get(s);let a=i.self(),c=i.get(e);return c._tag!=="Success"?Dm(c,a):r(i,c.value)},o)},Ere={...uA,[aA]:aA},bre=e=>aA in e,Fi=(e,t)=>{let n=Object.create(uA);return n.keepAlive=!1,n.lazy=!0,n.read=e,n.refresh=t,n},fh=(e,t,n)=>{let r=Object.create(Ere);return r.keepAlive=!1,r.lazy=!0,r.read=e,r.write=t,r.refresh=n,r};function wre(e,t){e.setSelf(t)}var ch=(e,t)=>{let n=nH(e,t);return EE in n?n:Fi(n)},nH=(e,t)=>{if(typeof e=="function"&&!Cr(e)&&!Ue(e)){let n=e;return function(r,o){let s=n(r);switch(typeof s){case"function":case"object":return s===null?s:rH in s?cA(r,s,t,o):Ire in s?eH(r,s,t,o):s;default:return s}}}else{if(Cr(e))return function(n,r){return cA(n,e,t,r)};if(Ue(e))return function(n,r){return eH(n,e,t,r)}}return fA(e)},rH="~effect/Effect",Ire="~effect/Stream",fA=e=>fh(function(t){return e},wre),cA=(e,t,n,r)=>{let o=n?.initialValue!==void 0?Go(n.initialValue):Ia();return bE(e,t,o,r,n?.uninterruptible)};function bE(e,t,n,r=bt(),o=!1){let s=e.self(),i=$r();e.addFinalizer(()=>{Ln(r)(Je(i,Vt))});let a,c=!1,u=lA(r.pipe(Ve(It,i),Ve(BS,e.registry),Ve(ja,e.registry.scheduler)),t,function(f){a=Qk(f,s),c&&e.setSelf(a)},o);return c=!0,u!==void 0&&e.addFinalizer(u),a!==void 0?a:s._tag==="Some"?LS(s):Um(n)}function lA(e,t,n,r=!1){if(ms(t)){n(t);return}let s=Ln(e)(t);s.currentDispatcher?.flush();let i=s.pollUnsafe();if(i){n(i);return}let a=s.addObserver(n);function c(){a(),r||s.interruptUnsafe()}return c}function vre(e){let t=e?.memoMap??tf(ch(()=>oi())),n=i=>tH(t)?i(t):t,r=bS;function o(i){let a=Object.create(Sre);a.keepAlive=!1,a.lazy=!0,a.refresh=void 0,a.factory=o;let c=hA(Fi(typeof i=="function"?u=>Kd(i(u),r):()=>Kd(i,r)));return a.layer=c,a.read=function(f){let l=f(c),p=A(jo,m=>si(l,n(f),m));return cA(f,p,{uninterruptible:!0})},a}o.memoMap=t,o.addGlobalLayer=i=>{r=Kd(r,gs(i,bS))};let s=tf(ch(i=>cr(a=>si(bS,n(i),qe(a,It))).pipe(Y(qe(Ti)))));return o.withReactivity=i=>a=>_re(a,c=>{let u=Xk(c(s));return c.addFinalizer(u.registerUnsafe(i,()=>{c.refresh(a)})),c.subscribe(a,f=>c.setSelf(f)),c.once(a)},{initialValueTarget:a}),o}var dA=vre(),$pe=dA.withReactivity,eH=(e,t,n,r)=>{let o=n?.initialValue!==void 0?Go(n.initialValue):Ia();return pA(e,t,o,r)};function pA(e,t,n,r=bt()){let o=e.self();r=Ve(r,BS,e.registry);let s=ap(a=>A(Ho(t.channel,a),c=>Qn({while:Xt,body:()=>c,step(u){e.setSelf(Go(Sf(u),{waiting:!0}))}}))).pipe(ft(a=>(Uo(a)?of(e.self(),rs(Yk),rr({onNone:()=>e.setSelf(G$(new $f,{previous:e.self()})),onSome:c=>e.setSelf(Go(c))})):e.setSelf(Yl(a,{previous:e.self()})),H))),i=lA(r.pipe(Ve(BS,e.registry),Ve(ja,e.registry.scheduler)),s,bn,!1);return i!==void 0&&e.addFinalizer(i),o._tag==="Some"?LS(o):Um(n)}var Tre=(e,t,n=bt())=>Om(t)?(e.addFinalizer(vk(t).pipe(Wl(r=>{for(let o=0;o<r.length;o++)e.setSelf(r[o]);return H}),Dw(n))),Bw(n)(n$(t))):t._tag!=="Success"?t:pA(e,vk(t.value),Ia(!0),n),kre=(e,t)=>{function n(r,o){let s=r.get(e);Om(s)?li(Tk(s,o)):Ql(s)&&li(Tk(s.value,o))}return fh(r=>{let o=r(e);return Om(o)||Ql(o)?t(r,o):o},n)};var Cre=Symbol.for("effect/reactivity/atom/Atom/Reset"),iA=Symbol.for("effect/reactivity/atom/Atom/Interrupt");function Are(e,t){let n=tf(fA([0,void 0])),r=t?.initialValue!==void 0?Go(t.initialValue):Ia(),o=t?.concurrent?tf(Fi(a=>{let c=new Set;return a.addFinalizer(()=>c.forEach(u=>u.interruptUnsafe())),c})):void 0;function s(a,c){let u=o?a(o):void 0;a.isFn=!0;let[f,l]=a.get(n);if(f===0)return r;if(l===iA)return Yl(QM(),{previous:a.self()});let p=e(l,a);return rH in p?(u&&(p=A(tl(p,{startImmediately:!0}),h=>(u.add(h),h.addObserver(()=>u.delete(h)),Y(Xx(u),g=>g[0])))),bE(a,p,r,c,!1)):pA(a,p,r,c)}function i(a,c){Pre(()=>{c===Cre?a.set(n,[0,void 0]):c===iA?a.set(n,[a.get(n)[0]+1,iA]):a.set(n,[a.get(n)[0]+1,c]),a.refreshSelf()})}return[s,i,n]}var Ore=(e,t,n,r)=>A(mk(typeof n=="function"?n(e):n),o=>{let i=xi().context,a=rn(),c=Kr(o,{onFailure(f){return Uo(f)?Ye(a)?v({done:!0,items:a}):G(new $f("Atom.pull: no items")):ct(f)},onSuccess(f){let l;return r?.disableAccumulation?l=f:(l=yf(a,f),a=l),v({done:!1,items:l})}}),u=new Set;return e.addFinalizer(()=>{for(let f of u)f()}),e.once(t),e.subscribe(t,()=>{e.setSelf(LS(e.self()));let f;f=lA(i,c,l=>{f&&u.delete(f);let p=Qk(l,e.self()),m=u.size>0;e.setSelf(m?Um(p):p)}),f&&u.add(f)}),c}),Rre=(e,t)=>fh(t.read,function(n,r){n.set(e,n.get(e)+1)}),mA=typeof WeakRef>"u"||typeof FinalizationRegistry>"u"?e=>{let t=cc();return function(n){let r=As(t,n);if(r._tag==="Some")return r.value;let o=e(n);return uc(t,n,o),o}}:e=>{let t=cc(),n=new FinalizationRegistry(r=>{ku(t,r)});return function(r){let o=As(t,r).pipe(YE(i=>i.deref()));if(o._tag==="Some")return o.value;let s=e(r);return uc(t,r,new WeakRef(s)),n.register(s,r),s}};var hA=e=>Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!0});var _re=d(e=>tH(e[0]),(e,t,n)=>{let r=tf(bre(e)?fh(o=>t(o,e),function(o,s){o.set(e,s)},e.refresh??function(o){o(e)}):Fi(o=>t(o,e),e.refresh??function(o){o(e)}));return n?.initialValueTarget&&(r.initialValueTarget=Mre(n.initialValueTarget)),r}),Mre=e=>{let t=e;for(;t.initialValueTarget;)t=t.initialValueTarget;return t};var Pre=Q$;var Fre="~effect-atom/atom/Atom/Serializable";var gA=d(2,(e,t)=>{let n=Ec(t.schema);return Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,label:e.label??[t.key,new Error().stack?.split(`
|
|
36
|
-
`)[5]??""],[Fre]:{key:t.key,encode:vT(n),decode:dm(n)}})});var sH=()=>(e,t)=>{let n=Ke()(e),r=qr(n,t.makeEffect??sA(t.group,{...t,flatten:!0})),o=t.runtime??dA;n.runtime=o(typeof t.protocol=="function"?i=>gs(r,Wg(t.protocol(i))):gs(r,Wg(t.protocol))),n.mutation=mA(i=>{let a=t.group.requests.get(i);return n.runtime.fn()(ye(function*({headers:c,payload:u,reactivityKeys:f}){let p=(yield*n)(i,u,{headers:c});return yield*f?SS(p,f):p})).pipe(gA({key:`AtomRpc:mutation:${i}`,schema:eC({success:a.successSchema,error:oH(a)})}))});let s=mA(i=>{let{headers:a,payload:c,reactivityKeys:u,tag:f,timeToLive:l}=i,p=t.group.requests.get(f),m=jm(p.successSchema),h=m?n.runtime.pull(mr(n.use(g=>v(g(f,c,{headers:a}))))):n.runtime.atom(n.use(g=>g(f,c,{headers:a})));return u&&(h=n.runtime.factory.withReactivity(u)(h)),!m&&i.serializationKey&&(h=gA(h,{key:`AtomRpc:${i.tag}:${i.serializationKey}`,schema:eC({success:p.successSchema,error:oH(p)})})),l&&(h=as(l)?uh(h,l):hA(h)),h});return n.query=(i,a,c)=>{let u={tag:i,payload:a,headers:c?.headers?ki(c.headers):void 0,reactivityKeys:c?.reactivityKeys,timeToLive:c?.timeToLive?gt(c.timeToLive):void 0,serializationKey:c?.serializationKey};return s(u)},n},oH=e=>He([e.errorSchema,...Array.from(e.middlewares,t=>t.error),qs]);var wE={};Hs(wE,{make:()=>Nre});var Dre={add(...e){let t=new Map(this.requests);for(let n of e)t.set(n._tag,n);return Ta({requests:t,annotations:this.annotations})},merge(...e){let t=new Map(this.requests),n=new Map(this.annotations.mapUnsafe);for(let r of e){for(let[o,s]of r.requests)t.set(o,s);for(let[o,s]of r.annotations.mapUnsafe)n.set(o,s)}return Ta({requests:t,annotations:Ro(n)})},omit(...e){let t=new Map(this.requests);for(let n of e)t.delete(n);return Ta({requests:t,annotations:this.annotations})},middleware(e){let t=new Map;for(let[n,r]of this.requests)t.set(n,r.middleware(e));return Ta({requests:t,annotations:this.annotations})},toHandlers(e){let t=this;return qt(function*(){let n=yield*ar(),r=Cr(e)?yield*e:e,o=new Map;return t.requests.forEach((s,i)=>{o.set(s.key,{tag:s._tag,handler:r[i],context:n})}),Ro(o)})},prefix(e){let t=new Map;for(let n of this.requests.values()){let r=n.prefix(e);t.set(r._tag,r)}return Ta({requests:t,annotations:this.annotations})},toLayer(e){return zf(this.toHandlers(e))},of:L,toLayerHandler(e,t){let n=this;return zf(qt(function*(){let r=yield*ar(),o=Cr(t)?yield*t:t,s=new Map,i=n.requests.get(e);return s.set(i.key,{handler:o,context:r}),Ro(s)}))},accessHandler(e){return cr(t=>{let n=this.requests.get(e),{handler:r,context:o}=qi(t,n.key);return v((s,i)=>{i.rpc=n;let a=r(s,i),c=ed(a)?a.value:a;return Cr(c)?Aw(c,o):dk(c,o)})})},annotate(e,t){return Ta({requests:this.requests,annotations:Ve(this.annotations,e,t)})},annotateRpcs(e,t){return this.annotateRpcsMerge(ss(e,t))},annotateMerge(e){return Ta({requests:this.requests,annotations:Er(this.annotations,e)})},annotateRpcsMerge(e){let t=new Map;for(let[n,r]of this.requests)t.set(n,r.annotateMerge(Er(e,r.annotations)));return Ta({requests:t,annotations:this.annotations})}},Ta=e=>Object.assign(function(){},Dre,{requests:e.requests,annotations:e.annotations}),Nre=(...e)=>Ta({requests:new Map(e.map(t=>[t._tag,t])),annotations:bt()});var iH=j.Union([j.Struct({_tag:j.Literal("List"),collection:j.String}),j.Struct({_tag:j.Literal("Item"),collection:j.String,id:j.Union([j.String,j.Number])})]),nf=(e,t)=>({item:n=>({_tag:"Item",collection:e,id:n}),list:{_tag:"List",collection:e},name:e}),aH=e=>e._tag==="List"?e.collection:`${e.collection}:${e.id}`,IE=e=>[...new Set(e.map(aH))],vE=e=>[...new Set(e.flatMap(t=>t._tag==="List"?[t.collection]:[aH(t),t.collection]))];var Lre=Se.fn("EffectContract.invalidateAfter")(function*(e){yield*ES(vE(e))});function Bre(e,t,n){function r(o){return IE(n.reads(o))}return{query:(o,s={})=>e.query(t,o,{...s,reactivityKeys:r(o)}),run:o=>e.use(s=>s(t,o))}}function jre(e,t,n){return{run:r=>e.use(o=>o(t,r)).pipe(Se.tap(o=>Lre(n.invalidates(r,o))))}}function cH(e,t){let{name:n,queries:r,commands:o}=e.declaration;return Object.fromEntries([...r.map(s=>[s.name,Bre(t,`${n}.${s.name}`,s)]),...o.map(s=>[s.name,jre(t,`${n}.${s.name}`,s)])])}var uH=j.Union([j.Struct({_tag:j.Literal("Changed"),keys:j.Array(iH)}),j.Struct({_tag:j.Literal("Resync")})]),$re=256;function fH(e,t){let n=ch(!1),r=ch({connection:"connecting",failure:Le.none(),needsResync:!0,pending:0});return{connection:e.atom(s=>Se.gen(function*(){s.mount(r);let i=yield*Ti;function a(f){s.set(r,{...s.once(r),...f})}function c(){if(s.once(n)){a({needsResync:!0});return}i.invalidateUnsafe(IE(t.resyncKeys)),a({needsResync:!1,pending:0})}s.subscribe(n,f=>{f||c()}),t.resume!==void 0&&(s.once(t.resume),s.subscribe(t.resume,c));let u=Se.suspend(()=>{let f=!0;function l(p){a({connection:"live",failure:Le.none()}),s.once(n)?a({needsResync:!0,pending:Math.min($re,s.once(r).pending+1)}):f||p._tag==="Resync"?c():i.invalidateUnsafe(vE(p.keys)),f=!1}return t.stream.pipe(nr.runForEach(p=>Se.sync(()=>l(p))),Se.scoped,Se.catchCause(p=>Se.sync(()=>a({failure:Le.some(p)}))),Se.andThen(Se.sync(()=>a({connection:"reconnecting",needsResync:!0}))),Se.andThen(Se.sleep(t.retryDelay??"1 second")))});yield*Se.forever(u)})).pipe(uh(0)),paused:n,status:r}}function lH(e,t){return n=>{function r(){e.document.visibilityState==="visible"&&n()}return e.addEventListener(t,r),()=>e.removeEventListener(t,r)}}function dH({window:e,native:t}){let n=e===void 0?[]:[lH(e,"visibilitychange"),lH(e,"online")],r=t===void 0?n:[...n,t];return Fi(o=>{let s=0;function i(){s+=1,o.setSelf(s)}for(let a of r)o.addFinalizer(a(i));return s})}var qre=e=>{let t=e.map(({name:n})=>n).filter((n,r,o)=>o.indexOf(n)!==r);if(t.length>0)throw new Error(`Operation names must be unique; duplicated: ${[...new Set(t)].join(", ")}`)},pH=(e,t)=>{let n=e.middleware.bind(e);return Object.assign(e,{declaration:t,middleware:r=>pH(n(r),t)})};function mH(e,t){let{queries:n=[],commands:r=[]}=t;qre([...n,...r]);let o=[...n,...r].map(s=>vc.make(`${e}.${s.name}`,{error:s.error,payload:s.payload,success:s.success}));return pH(wE.make(...o),{commands:r,name:e,queries:n})}function hH(e){let t=Object.entries(e).map(([n,r])=>[n,j.isSchema(r)?r:j.TaggedError()(n,r)]);return{error:t.length===0?j.Never:j.Union(t.map(([,n])=>n)),Rejection:Object.fromEntries(t),reject:Object.fromEntries(t.map(([n,r])=>[n,(...o)=>Se.fail(Reflect.construct(r,o))]))}}var zre=e=>e===void 0?j.Void:j.isSchema(e)?e:j.Struct(e),Hre=(e,t,n)=>{let{payload:r,success:o,rejections:s={}}=n;return{kind:e,name:t,payload:zre(r),rejections:s,success:o??j.Void,...hH(s)}};function id(e,t){return{...Hre("query",e,t),reads:t.reads}}function Wre(e){return e.startsWith(".")||e==="node_modules"}function gH(e){return e.endsWith(".md")&&!e.split("/").some(Wre)}var Kre=j.String.check(j.makeFilter(e=>gH(e)&&!e.includes("\\")&&!e.includes("\0")&&e.split("/").every(t=>t.length>0&&t!=="..")||"Expected a relative readable Markdown path")),Vre=j.String.check(j.makeFilter(e=>Number.isFinite(Date.parse(e))&&/^\d{4}-\d{2}-\d{2}T.*(?:Z|[+-]\d{2}:\d{2})$/u.exec(e)!==null||"Expected an ISO observation time with timezone")),pme=j.Struct({documents:j.Array(j.Struct({file:Kre,source:j.String})).check(j.makeFilter(e=>new Set(e.map(t=>t.file)).size===e.length||"Duplicate source paths are not a complete observation")),recordedAt:Vre,version:j.Literal(1)}).pipe(j.encodeKeys({recordedAt:"recorded_at"})),xH=j.Struct({action:j.Literals(["check","compare","observe"]),baseline:j.NullOr(j.String)}),yH=j.Struct({discardBaseline:j.Boolean,html:j.String,reason:j.String,snapshot:j.NullOr(j.String)});var ka=nf("work-board/workspace",j.String),SH=nf("work-board/documents",j.String),EH=nf("work-board/identities",j.String),bH=nf("work-board/navigation",j.String),lh=nf("work-board/index",j.String),wH=nf("work-board/watcher",j.String);function IH(e){let t=new URL(e,"http://127.0.0.1").pathname,n=/^\/_board\/item\/(?<id>[^/]+)\/$/u.exec(t)?.groups?.id,r=SH.item(decodeURIComponent(t.slice(1)));return n?r=EH.item(decodeURIComponent(n)):t.startsWith("/_board/")&&(r=lh.list),[ka.list,r]}var _c=class extends j.TaggedError()("ReadFailed",{operation:j.String,status:j.Number}){},Jre=j.String.check(j.isMaxLength(8192),j.makeFilter(e=>{if(!e.startsWith("/")||e.startsWith("//"))return"Expected a local reading URL";try{let t=new URL(e,"http://127.0.0.1").pathname;return t==="/"||["/_board/work","/_board/overview","/_board/changes"].includes(t)||/^\/_board\/item\/[^/]+\/$/u.exec(t)!==null||/\.md$/iu.exec(t)!==null||"Expected a local reading URL"}catch{return"Expected a local reading URL"}})),Gre=j.Struct({html:j.String,status:j.Number}),Zre=j.Struct({file:j.String,href:j.String,kind:j.Literals(["document","heading","passage"]),line:j.optional(j.Number),snippet:j.String,text:j.String,title:j.String}),Qre=id("page",{payload:{url:Jre},reads:({url:e})=>IH(e),rejections:{ReadFailed:_c},success:Gre}),Yre=id("navigation",{reads:()=>[ka.list,bH.list],rejections:{ReadFailed:_c},success:j.String}),Xre=id("search",{payload:{query:j.String.check(j.isMaxLength(8192))},reads:()=>[ka.list,lh.list],rejections:{ReadFailed:_c},success:j.Struct({results:j.Array(Zre),total:j.Number,unavailable:j.Array(j.String)})}),eoe=id("history",{payload:xH,reads:()=>[ka.list,lh.list],rejections:{ReadFailed:_c},success:yH}),toe=id("watcher",{reads:()=>[ka.list,wH.list],rejections:{ReadFailed:_c},success:j.Struct({watching:j.Boolean})}),yA=mH("work-board",{queries:[Qre,Yre,Xre,eoe,toe]}),noe=vc.make("work-board.subscribe",{error:_c,stream:!0,success:uH}),vH=yA.add(noe);function TH(e,t={}){class n extends sH()("WorkBoard/Reader",{group:vH,protocol:ah.layerProtocolHttp({url:`${e}/_board/rpc`}).pipe(zr.provide([US.layer,sh.layerNdjson]))}){}let r=cH(yA,n),o=Z$({defaultIdleTTL:0,timeoutResolution:1}),s=fH(n.runtime,{resume:dH(t),resyncKeys:[ka.list],stream:nr.unwrap(n.use(c=>Se.succeed(c("work-board.subscribe",void 0))))});o.mount(s.connection);async function i(c,u){try{return await Se.runPromise(jS(o,c,{suspendOnWaiting:!0}),{signal:u})}catch(f){if(u?.aborted){let l=new Error("Reading canceled",{cause:f});throw l.name="AbortError",l}throw f}}async function a(c,u){try{return await Se.runPromise(Se.flatMap(jS(o,n.runtime),f=>Se.provideContext(c,f)),{signal:u})}catch(f){if(u?.aborted){let l=new Error("Reading canceled",{cause:f});throw l.name="AbortError",l}throw f}}return{api:r,read:i,registry:o,run:a,updates:s}}var TE=new WeakMap;function Bme(e){let t=TE.get(e);if(t===void 0){let o=function(){r.registry.dispose(),TE.get(e)===r&&TE.delete(e),e.removeEventListener("pagehide",o)};var n=o;t=TH(e.location.origin,{window:e}),TE.set(e,t);let r=t;e.addEventListener("pagehide",o)}return t}export{Bme as session};
|
|
36
|
+
`)[5]??""],[Fre]:{key:t.key,encode:vT(n),decode:dm(n)}})});var sH=()=>(e,t)=>{let n=Ke()(e),r=qr(n,t.makeEffect??sA(t.group,{...t,flatten:!0})),o=t.runtime??dA;n.runtime=o(typeof t.protocol=="function"?i=>gs(r,Wg(t.protocol(i))):gs(r,Wg(t.protocol))),n.mutation=mA(i=>{let a=t.group.requests.get(i);return n.runtime.fn()(ye(function*({headers:c,payload:u,reactivityKeys:f}){let p=(yield*n)(i,u,{headers:c});return yield*f?SS(p,f):p})).pipe(gA({key:`AtomRpc:mutation:${i}`,schema:eC({success:a.successSchema,error:oH(a)})}))});let s=mA(i=>{let{headers:a,payload:c,reactivityKeys:u,tag:f,timeToLive:l}=i,p=t.group.requests.get(f),m=jm(p.successSchema),h=m?n.runtime.pull(mr(n.use(g=>v(g(f,c,{headers:a}))))):n.runtime.atom(n.use(g=>g(f,c,{headers:a})));return u&&(h=n.runtime.factory.withReactivity(u)(h)),!m&&i.serializationKey&&(h=gA(h,{key:`AtomRpc:${i.tag}:${i.serializationKey}`,schema:eC({success:p.successSchema,error:oH(p)})})),l&&(h=as(l)?uh(h,l):hA(h)),h});return n.query=(i,a,c)=>{let u={tag:i,payload:a,headers:c?.headers?ki(c.headers):void 0,reactivityKeys:c?.reactivityKeys,timeToLive:c?.timeToLive?gt(c.timeToLive):void 0,serializationKey:c?.serializationKey};return s(u)},n},oH=e=>He([e.errorSchema,...Array.from(e.middlewares,t=>t.error),qs]);var wE={};Hs(wE,{make:()=>Nre});var Dre={add(...e){let t=new Map(this.requests);for(let n of e)t.set(n._tag,n);return Ta({requests:t,annotations:this.annotations})},merge(...e){let t=new Map(this.requests),n=new Map(this.annotations.mapUnsafe);for(let r of e){for(let[o,s]of r.requests)t.set(o,s);for(let[o,s]of r.annotations.mapUnsafe)n.set(o,s)}return Ta({requests:t,annotations:Ro(n)})},omit(...e){let t=new Map(this.requests);for(let n of e)t.delete(n);return Ta({requests:t,annotations:this.annotations})},middleware(e){let t=new Map;for(let[n,r]of this.requests)t.set(n,r.middleware(e));return Ta({requests:t,annotations:this.annotations})},toHandlers(e){let t=this;return qt(function*(){let n=yield*ar(),r=Cr(e)?yield*e:e,o=new Map;return t.requests.forEach((s,i)=>{o.set(s.key,{tag:s._tag,handler:r[i],context:n})}),Ro(o)})},prefix(e){let t=new Map;for(let n of this.requests.values()){let r=n.prefix(e);t.set(r._tag,r)}return Ta({requests:t,annotations:this.annotations})},toLayer(e){return zf(this.toHandlers(e))},of:L,toLayerHandler(e,t){let n=this;return zf(qt(function*(){let r=yield*ar(),o=Cr(t)?yield*t:t,s=new Map,i=n.requests.get(e);return s.set(i.key,{handler:o,context:r}),Ro(s)}))},accessHandler(e){return cr(t=>{let n=this.requests.get(e),{handler:r,context:o}=qi(t,n.key);return v((s,i)=>{i.rpc=n;let a=r(s,i),c=ed(a)?a.value:a;return Cr(c)?Aw(c,o):dk(c,o)})})},annotate(e,t){return Ta({requests:this.requests,annotations:Ve(this.annotations,e,t)})},annotateRpcs(e,t){return this.annotateRpcsMerge(ss(e,t))},annotateMerge(e){return Ta({requests:this.requests,annotations:Er(this.annotations,e)})},annotateRpcsMerge(e){let t=new Map;for(let[n,r]of this.requests)t.set(n,r.annotateMerge(Er(e,r.annotations)));return Ta({requests:t,annotations:this.annotations})}},Ta=e=>Object.assign(function(){},Dre,{requests:e.requests,annotations:e.annotations}),Nre=(...e)=>Ta({requests:new Map(e.map(t=>[t._tag,t])),annotations:bt()});var iH=j.Union([j.Struct({_tag:j.Literal("List"),collection:j.String}),j.Struct({_tag:j.Literal("Item"),collection:j.String,id:j.Union([j.String,j.Number])})]),nf=(e,t)=>({item:n=>({_tag:"Item",collection:e,id:n}),list:{_tag:"List",collection:e},name:e}),aH=e=>e._tag==="List"?e.collection:`${e.collection}:${e.id}`,IE=e=>[...new Set(e.map(aH))],vE=e=>[...new Set(e.flatMap(t=>t._tag==="List"?[t.collection]:[aH(t),t.collection]))];var Lre=Se.fn("EffectContract.invalidateAfter")(function*(e){yield*ES(vE(e))});function Bre(e,t,n){function r(o){return IE(n.reads(o))}return{query:(o,s={})=>e.query(t,o,{...s,reactivityKeys:r(o)}),run:o=>e.use(s=>s(t,o))}}function jre(e,t,n){return{run:r=>e.use(o=>o(t,r)).pipe(Se.tap(o=>Lre(n.invalidates(r,o))))}}function cH(e,t){let{name:n,queries:r,commands:o}=e.declaration;return Object.fromEntries([...r.map(s=>[s.name,Bre(t,`${n}.${s.name}`,s)]),...o.map(s=>[s.name,jre(t,`${n}.${s.name}`,s)])])}var uH=j.Union([j.Struct({_tag:j.Literal("Changed"),keys:j.Array(iH)}),j.Struct({_tag:j.Literal("Resync")})]),$re=256;function fH(e,t){let n=ch(!1),r=ch({connection:"connecting",failure:Le.none(),needsResync:!0,pending:0});return{connection:e.atom(s=>Se.gen(function*(){s.mount(r);let i=yield*Ti;function a(f){s.set(r,{...s.once(r),...f})}function c(){if(s.once(n)){a({needsResync:!0});return}i.invalidateUnsafe(IE(t.resyncKeys)),a({needsResync:!1,pending:0})}s.subscribe(n,f=>{f||c()}),t.resume!==void 0&&(s.once(t.resume),s.subscribe(t.resume,c));let u=Se.suspend(()=>{let f=!0;function l(p){a({connection:"live",failure:Le.none()}),s.once(n)?a({needsResync:!0,pending:Math.min($re,s.once(r).pending+1)}):f||p._tag==="Resync"?c():i.invalidateUnsafe(vE(p.keys)),f=!1}return t.stream.pipe(nr.runForEach(p=>Se.sync(()=>l(p))),Se.scoped,Se.catchCause(p=>Se.sync(()=>a({failure:Le.some(p)}))),Se.andThen(Se.sync(()=>a({connection:"reconnecting",needsResync:!0}))),Se.andThen(Se.sleep(t.retryDelay??"1 second")))});yield*Se.forever(u)})).pipe(uh(0)),paused:n,status:r}}function lH(e,t){return n=>{function r(){e.document.visibilityState==="visible"&&n()}return e.addEventListener(t,r),()=>e.removeEventListener(t,r)}}function dH({window:e,native:t}){let n=e===void 0?[]:[lH(e,"visibilitychange"),lH(e,"online")],r=t===void 0?n:[...n,t];return Fi(o=>{let s=0;function i(){s+=1,o.setSelf(s)}for(let a of r)o.addFinalizer(a(i));return s})}var qre=e=>{let t=e.map(({name:n})=>n).filter((n,r,o)=>o.indexOf(n)!==r);if(t.length>0)throw new Error(`Operation names must be unique; duplicated: ${[...new Set(t)].join(", ")}`)},pH=(e,t)=>{let n=e.middleware.bind(e);return Object.assign(e,{declaration:t,middleware:r=>pH(n(r),t)})};function mH(e,t){let{queries:n=[],commands:r=[]}=t;qre([...n,...r]);let o=[...n,...r].map(s=>vc.make(`${e}.${s.name}`,{error:s.error,payload:s.payload,success:s.success}));return pH(wE.make(...o),{commands:r,name:e,queries:n})}function hH(e){let t=Object.entries(e).map(([n,r])=>[n,j.isSchema(r)?r:j.TaggedError()(n,r)]);return{error:t.length===0?j.Never:j.Union(t.map(([,n])=>n)),Rejection:Object.fromEntries(t),reject:Object.fromEntries(t.map(([n,r])=>[n,(...o)=>Se.fail(Reflect.construct(r,o))]))}}var zre=e=>e===void 0?j.Void:j.isSchema(e)?e:j.Struct(e),Hre=(e,t,n)=>{let{payload:r,success:o,rejections:s={}}=n;return{kind:e,name:t,payload:zre(r),rejections:s,success:o??j.Void,...hH(s)}};function id(e,t){return{...Hre("query",e,t),reads:t.reads}}function Wre(e){return e.startsWith(".")||e==="node_modules"}function gH(e){return e.endsWith(".md")&&!e.split("/").some(Wre)}var Kre=j.String.check(j.makeFilter(e=>gH(e)&&!e.includes("\\")&&!e.includes("\0")&&e.split("/").every(t=>t.length>0&&t!=="..")||"Expected a relative readable Markdown path")),Vre=j.String.check(j.makeFilter(e=>Number.isFinite(Date.parse(e))&&/^\d{4}-\d{2}-\d{2}T.*(?:Z|[+-]\d{2}:\d{2})$/u.exec(e)!==null||"Expected an ISO observation time with timezone")),pme=j.Struct({documents:j.Array(j.Struct({file:Kre,source:j.String})).check(j.makeFilter(e=>new Set(e.map(t=>t.file)).size===e.length||"Duplicate source paths are not a complete observation")),recordedAt:Vre,version:j.Literal(1)}).pipe(j.encodeKeys({recordedAt:"recorded_at"})),xH=j.Struct({action:j.Literals(["check","compare","observe"]),baseline:j.NullOr(j.String)}),yH=j.Struct({discardBaseline:j.Boolean,html:j.String,reason:j.String,snapshot:j.NullOr(j.String)});var ka=nf("work-board/workspace",j.String),SH=nf("work-board/documents",j.String),EH=nf("work-board/identities",j.String),bH=nf("work-board/navigation",j.String),lh=nf("work-board/index",j.String),wH=nf("work-board/watcher",j.String);function IH(e){let t=new URL(e,"http://127.0.0.1").pathname,n=/^\/_board\/item\/(?<id>[^/]+)\/$/u.exec(t)?.groups?.id,r=SH.item(decodeURIComponent(t.slice(1)));return n?r=EH.item(decodeURIComponent(n)):t.startsWith("/_board/")&&(r=lh.list),[ka.list,r]}var _c=class extends j.TaggedError()("ReadFailed",{operation:j.String,status:j.Number}){},Jre=j.String.check(j.isMaxLength(8192),j.makeFilter(e=>{if(!e.startsWith("/")||e.startsWith("//"))return"Expected a local reading URL";try{let t=new URL(e,"http://127.0.0.1").pathname;return t==="/"||["/_board/work","/_board/overview","/_board/changes","/_board/start"].includes(t)||/^\/_board\/item\/[^/]+\/$/u.exec(t)!==null||/\.md$/iu.exec(t)!==null||"Expected a local reading URL"}catch{return"Expected a local reading URL"}})),Gre=j.Struct({html:j.String,status:j.Number}),Zre=j.Struct({file:j.String,href:j.String,kind:j.Literals(["document","heading","passage"]),line:j.optional(j.Number),snippet:j.String,text:j.String,title:j.String}),Qre=id("page",{payload:{url:Jre},reads:({url:e})=>IH(e),rejections:{ReadFailed:_c},success:Gre}),Yre=id("navigation",{reads:()=>[ka.list,bH.list],rejections:{ReadFailed:_c},success:j.String}),Xre=id("search",{payload:{query:j.String.check(j.isMaxLength(8192))},reads:()=>[ka.list,lh.list],rejections:{ReadFailed:_c},success:j.Struct({results:j.Array(Zre),total:j.Number,unavailable:j.Array(j.String)})}),eoe=id("history",{payload:xH,reads:()=>[ka.list,lh.list],rejections:{ReadFailed:_c},success:yH}),toe=id("watcher",{reads:()=>[ka.list,wH.list],rejections:{ReadFailed:_c},success:j.Struct({watching:j.Boolean})}),yA=mH("work-board",{queries:[Qre,Yre,Xre,eoe,toe]}),noe=vc.make("work-board.subscribe",{error:_c,stream:!0,success:uH}),vH=yA.add(noe);function TH(e,t={}){class n extends sH()("WorkBoard/Reader",{group:vH,protocol:ah.layerProtocolHttp({url:`${e}/_board/rpc`}).pipe(zr.provide([US.layer,sh.layerNdjson]))}){}let r=cH(yA,n),o=Z$({defaultIdleTTL:0,timeoutResolution:1}),s=fH(n.runtime,{resume:dH(t),resyncKeys:[ka.list],stream:nr.unwrap(n.use(c=>Se.succeed(c("work-board.subscribe",void 0))))});o.mount(s.connection);async function i(c,u){try{return await Se.runPromise(jS(o,c,{suspendOnWaiting:!0}),{signal:u})}catch(f){if(u?.aborted){let l=new Error("Reading canceled",{cause:f});throw l.name="AbortError",l}throw f}}async function a(c,u){try{return await Se.runPromise(Se.flatMap(jS(o,n.runtime),f=>Se.provideContext(c,f)),{signal:u})}catch(f){if(u?.aborted){let l=new Error("Reading canceled",{cause:f});throw l.name="AbortError",l}throw f}}return{api:r,read:i,registry:o,run:a,updates:s}}var TE=new WeakMap;function Bme(e){let t=TE.get(e);if(t===void 0){let o=function(){r.registry.dispose(),TE.get(e)===r&&TE.delete(e),e.removeEventListener("pagehide",o)};var n=o;t=TH(e.location.origin,{window:e}),TE.set(e,t);let r=t;e.addEventListener("pagehide",o)}return t}export{Bme as session};
|
package/dist/board.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../src/board.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,aAAa,EAAc,MAAM,QAAQ,CAAC;AAClG,OAAO,EAAE,UAAU,EAA8C,MAAM,sBAAsB,CAAC;AAE9F,OAAO,EAAE,KAAK,WAAW,EAAU,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAyB,KAAK,cAAc,EAAuD,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../src/board.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,aAAa,EAAc,MAAM,QAAQ,CAAC;AAClG,OAAO,EAAE,UAAU,EAA8C,MAAM,sBAAsB,CAAC;AAE9F,OAAO,EAAE,KAAK,WAAW,EAAU,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAyB,KAAK,cAAc,EAAuD,MAAM,iBAAiB,CAAC;AAalI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AA2ED,KAAK,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,CAAC,aAAa,GAAG,YAAY,CAAC;AAC5F,KAAK,aAAa,GAAG,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;AAE1I,eAAO,MAAM,UAAU,GAAI,SAAS,YAAY,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,CACxC,CAAC"}
|
package/dist/board.js
CHANGED
|
@@ -13,6 +13,7 @@ import { page } from "#http/page.ts";
|
|
|
13
13
|
import { respond } from "#http/respond.ts";
|
|
14
14
|
import { sameOrigin } from "#http/sameOrigin.ts";
|
|
15
15
|
import { search } from "#http/search.ts";
|
|
16
|
+
import { start } from "#http/start.ts";
|
|
16
17
|
import { work } from "#http/work.ts";
|
|
17
18
|
import { Highlighter } from "#render/highlighter.ts";
|
|
18
19
|
import { server } from "#rpc/server.ts";
|
|
@@ -27,6 +28,8 @@ const routes = (options) => HttpRouter.use((router) => Effect.gen(function* () {
|
|
|
27
28
|
yield* serve("/_board/attachment/*", attachment(options.root, changes.realRoot));
|
|
28
29
|
const index = yield* searchSnapshot(options.root, home, changes);
|
|
29
30
|
yield* serve("/_board/search", search(index));
|
|
31
|
+
const startPage = start(changes, home);
|
|
32
|
+
yield* serve("/_board/start", startPage);
|
|
30
33
|
const workPage = work(index, changes, home);
|
|
31
34
|
const overviewPage = overview(index, changes, home);
|
|
32
35
|
const historyPage = changesPage(changes, home);
|
|
@@ -47,6 +50,9 @@ const routes = (options) => HttpRouter.use((router) => Effect.gen(function* () {
|
|
|
47
50
|
const pathname = new URL(url, "http://127.0.0.1").pathname;
|
|
48
51
|
let selected;
|
|
49
52
|
switch (pathname) {
|
|
53
|
+
case "/_board/start":
|
|
54
|
+
selected = startPage();
|
|
55
|
+
break;
|
|
50
56
|
case "/_board/work":
|
|
51
57
|
selected = workPage(request);
|
|
52
58
|
break;
|
package/dist/board.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.js","sourceRoot":"","sources":["../src/board.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"board.js","sourceRoot":"","sources":["../src/board.ts"],"names":[],"mappings":"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"}
|
package/dist/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.7.1";
|
|
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, root: path.resolve(input.dir) }));
|
package/dist/http/page.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/http/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAU,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/http/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAU,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAajD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAaD,eAAO,MAAM,IAAI,GAAI,SAAS,WAAW,EAAE,SAAS,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,mWA4DpH,CAAC"}
|
package/dist/http/page.js
CHANGED
|
@@ -8,6 +8,7 @@ import { escapeHtml } from "#page/escape.ts";
|
|
|
8
8
|
import { metadataHtml } from "#page/metadata.ts";
|
|
9
9
|
import { navHtml } from "#page/nav.ts";
|
|
10
10
|
import { shell } from "#page/shell.ts";
|
|
11
|
+
import { startHtml } from "#page/startHtml.ts";
|
|
11
12
|
import { boardOf } from "#render/board.ts";
|
|
12
13
|
import { respond } from "./respond.js";
|
|
13
14
|
const requestedPath = (url) => {
|
|
@@ -55,6 +56,9 @@ export const page = (options, changes, index) => {
|
|
|
55
56
|
const missing = () => respond(layout(message(expectedIdentity
|
|
56
57
|
? `No item with ID ${expectedIdentity} at ${requested}; its source identity changed or is invalid.`
|
|
57
58
|
: `No markdown file at ${requested || options.root}.`)), "text/html", 404);
|
|
59
|
+
if (files.length === 0 && requestedPath(request.url) === "" && resolved === undefined && expectedIdentity === undefined) {
|
|
60
|
+
return respond(layout(startHtml(true)), "text/html");
|
|
61
|
+
}
|
|
58
62
|
if (file === undefined) {
|
|
59
63
|
return missing();
|
|
60
64
|
}
|
package/dist/http/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/http/page.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/http/page.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type { Changes } from "#files/changes.ts";
|
|
3
|
+
export declare function start(changes: Changes, home: string | undefined): () => Effect.Effect<import("effect/unstable/http/HttpServerResponse").HttpServerResponse, import("effect/PlatformError").PlatformError, never>;
|
|
4
|
+
//# sourceMappingURL=start.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/http/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAMjD,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,kJAQ/D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { navHtml } from "#page/nav.ts";
|
|
3
|
+
import { shell } from "#page/shell.ts";
|
|
4
|
+
import { startHtml } from "#page/startHtml.ts";
|
|
5
|
+
import { respond } from "./respond.js";
|
|
6
|
+
export function start(changes, home) {
|
|
7
|
+
return Effect.fn("WorkBoard.start")(function* () {
|
|
8
|
+
const files = yield* changes.files;
|
|
9
|
+
return respond(shell("Getting started", navHtml(files, "", home), startHtml(files.length === 0), changes.realRoot, false, undefined, "start"), "text/html");
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/http/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,UAAU,KAAK,CAAC,OAAgB,EAAE,IAAwB;IAC/D,OAAO,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,OAAO,OAAO,CACb,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAC9H,WAAW,CACX,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -88,7 +88,7 @@ document.addEventListener("click", (event) => {
|
|
|
88
88
|
const link = event.target.closest?.("a[href]");
|
|
89
89
|
if (!link || event.defaultPrevented || event.button !== 0 || event.ctrlKey || event.metaKey || event.shiftKey || event.altKey || link.hasAttribute("download") || (link.target && link.target !== "_self")) return;
|
|
90
90
|
const target = new URL(link.href, location.href);
|
|
91
|
-
if (target.origin !== location.origin || !(target.pathname === "/" || (target.pathname === "/_board/changes" || target.pathname === "/_board/overview" || target.pathname === "/_board/work" || target.pathname.startsWith("/_board/item/")) || /\\.md$/i.test(target.pathname))) return;
|
|
91
|
+
if (target.origin !== location.origin || !(target.pathname === "/" || (target.pathname === "/_board/start" || target.pathname === "/_board/changes" || target.pathname === "/_board/overview" || target.pathname === "/_board/work" || target.pathname.startsWith("/_board/item/")) || /\\.md$/i.test(target.pathname))) return;
|
|
92
92
|
event.preventDefault();
|
|
93
93
|
navigate(target);
|
|
94
94
|
});
|
package/dist/page/shell.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const shell: (title: string, nav: string, main: string, workspace: string, board: boolean, identity?: string, view?: boolean | "overview" | "changes") => string;
|
|
1
|
+
export declare const shell: (title: string, nav: string, main: string, workspace: string, board: boolean, identity?: string, view?: boolean | "overview" | "changes" | "start") => string;
|
|
2
2
|
//# sourceMappingURL=shell.d.ts.map
|
package/dist/page/shell.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/page/shell.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,KAAK,GACjB,OAAO,MAAM,EACb,KAAK,MAAM,EACX,MAAM,MAAM,EACZ,WAAW,MAAM,EACjB,OAAO,OAAO,EACd,WAAW,MAAM,EACjB,OAAM,OAAO,GAAG,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/page/shell.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,KAAK,GACjB,OAAO,MAAM,EACb,KAAK,MAAM,EACX,MAAM,MAAM,EACZ,WAAW,MAAM,EACjB,OAAO,OAAO,EACd,WAAW,MAAM,EACjB,OAAM,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,OAAe,KACtD,MAmBQ,CAAC"}
|
package/dist/page/shell.js
CHANGED
|
@@ -15,7 +15,7 @@ export const shell = (title, nav, main, workspace, board, identity, view = false
|
|
|
15
15
|
'<link rel="stylesheet" href="/_board/style.css"><script type="module" src="/_board/client.js"></script>',
|
|
16
16
|
'</head><body><noscript><style>html:not([data-js]) figure.diagram .diagram-source{display:block}html:not([data-js]) figure.diagram[data-state="pending"]{min-height:0}</style></noscript><a class="skip" href="#doc">Skip to content</a><div class="workspace">',
|
|
17
17
|
'<aside id="sidebar" class="sidebar"><a class="brand" href="/">work board<span>Local workspace</span></a>',
|
|
18
|
-
'<div id="reading-library" class="reading-library" hidden></div><h2 class="nav-heading">Project files</h2>',
|
|
18
|
+
'<div id="reading-library" class="reading-library" hidden></div><a id="start-open" class="start-open" href="/_board/start">Getting started</a><h2 class="nav-heading">Project files</h2>',
|
|
19
19
|
`<nav id="files" class="files" aria-label="Project files">${nav}</nav></aside>`,
|
|
20
20
|
'<div class="page"><header class="bar"><button id="sidebar-toggle" type="button" aria-controls="sidebar" aria-expanded="true">Files</button>',
|
|
21
21
|
`<nav id="breadcrumbs" class="breadcrumbs" aria-label="File location"><a href="/">Workspace</a><span class="separator">/</span>${location(title)}</nav>`,
|
package/dist/page/shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/page/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,SAAS,QAAQ,CAAC,IAAY;IAC7B,OAAO,IAAI;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;SACjD,IAAI,CAAC,kCAAkC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CACpB,KAAa,EACb,GAAW,EACX,IAAY,EACZ,SAAiB,EACjB,KAAc,EACd,QAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/page/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,SAAS,QAAQ,CAAC,IAAY;IAC7B,OAAO,IAAI;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;SACjD,IAAI,CAAC,kCAAkC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CACpB,KAAa,EACb,GAAW,EACX,IAAY,EACZ,SAAiB,EACjB,KAAc,EACd,QAAiB,EACjB,OAAmD,KAAK,EAC/C,EAAE,CACX;IACC,kDAAkD,UAAU,CAAC,SAAS,CAAC,gCAAgC;IACvG,qHAAqH;IACrH,UAAU,UAAU,CAAC,KAAK,CAAC,UAAU;IACrC,yGAAyG;IACzG,gQAAgQ;IAChQ,0GAA0G;IAC1G,yLAAyL;IACzL,4DAA4D,GAAG,gBAAgB;IAC/E,6IAA6I;IAC7I,iIAAiI,QAAQ,CAAC,KAAK,CAAC,QAAQ;IACxJ,kEAAkE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,kFAAkF,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,yEAAyE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,6QAA6Q;IACtnB,yEAAyE;IACzE,wMAAwM;IACxM,0LAA0L;IAC1L,wJAAwJ;IACxJ,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,mBAAmB,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,wBAAwB,UAAU,CAAC,KAAK,CAAC,eAAe,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,mBAAmB,IAAI,SAAS;IAC/S,eAAe,YAAY,GAAG,YAAY,gBAAgB;CAC1D,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startHtml.d.ts","sourceRoot":"","sources":["../../src/page/startHtml.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CAAC,KAAK,UAAQ,GAAG,MAAM,CAM/C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { escapeHtml } from "./escape.js";
|
|
2
|
+
import { startTemplates } from "./startTemplates.js";
|
|
3
|
+
export function startHtml(empty = false) {
|
|
4
|
+
return `<article class="doc onboarding"><h1>${empty ? "Start your local workspace" : "Project and report templates"}</h1>
|
|
5
|
+
<p>Work Board reads Markdown files from your workspace folder. Use your editor or existing agent tools to create and update them; this viewer does not write project files.</p>
|
|
6
|
+
<ol><li>Choose a template below. Focus its text area, select all, and copy the Markdown.</li><li>Save it in the served folder with the suggested filename, or adjust its links to your chosen filenames.</li><li>Replace the example IDs with unique stable IDs and update every matching relationship and criterion reference. Frontmatter is optional; ordinary Markdown and existing heading boards also work.</li><li>Fill in real context and observations. Work Board discovers saved files automatically. Start with the project, then follow the investigation and result links.</li></ol>
|
|
7
|
+
<p>Unknown checks stay unknown. Add criterion evidence only after a real observation; a finished agent run is not verified acceptance. No project content is created or marked seen by opening these templates.</p>
|
|
8
|
+
${startTemplates.map((template) => `<section class="start-template"><h2>${template.label}</h2><p>Suggested file: <code>${template.file}</code></p><details data-key="template:${template.file}"><summary>Read and copy ${template.label.toLowerCase()} Markdown</summary><label for="template-${template.file}">${template.label} template Markdown</label><textarea id="template-${template.file}" readonly rows="16" spellcheck="false">${escapeHtml(template.source)}</textarea></details></section>`).join("")}</article>`;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=startHtml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startHtml.js","sourceRoot":"","sources":["../../src/page/startHtml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,UAAU,SAAS,CAAC,KAAK,GAAG,KAAK;IACtC,OAAO,uCAAuC,KAAK,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,8BAA8B;;;;EAIlH,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,uCAAuC,QAAQ,CAAC,KAAK,iCAAiC,QAAQ,CAAC,IAAI,0CAA0C,QAAQ,CAAC,IAAI,4BAA4B,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,2CAA2C,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,oDAAoD,QAAQ,CAAC,IAAI,2CAA2C,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC;AAC/f,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const startTemplates: readonly [{
|
|
2
|
+
readonly file: "project.md";
|
|
3
|
+
readonly label: "Project";
|
|
4
|
+
readonly source: "---\nid: example.project\nkind: project\ncriteria:\n - id: readable-result\n text: A reviewer can trace the result to its reasoning and recorded evidence.\n---\n# Project\n\n## Goal\nDescribe the outcome and who needs it.\n\n## Scope and constraints\nName what belongs here and what must remain outside this work.\n\n## Reading path\n- [Investigation](investigation.md)\n- [Agent result](result.md)\n\n## Acceptance\nThe criterion above is a target, not a recorded pass.\nRecord what was checked, the source revision, and remaining limitations.\n";
|
|
5
|
+
}, {
|
|
6
|
+
readonly file: "investigation.md";
|
|
7
|
+
readonly label: "Investigation";
|
|
8
|
+
readonly source: "---\nid: example.investigation\nkind: investigation\nrelationships:\n - kind: informs\n target: example.project\ncriteria:\n - id: explained-choice\n text: Options, evidence, tradeoffs and the recommendation are explicit.\n---\n# Investigation\n\n## Question and background\nExplain the decision in context; do not require the reader to reconstruct it.\n\n## Options and tradeoffs\n| Option | Benefit | Cost | Evidence |\n| --- | --- | --- | --- |\n| First option | Not recorded | Not recorded | Not recorded |\n| Second option | Not recorded | Not recorded | Not recorded |\n\n## Recommendation\nState your take and what remains uncertain.\n\n## Response needed\nName the exact question and the choices. Do not imply that a response was recorded.\n\n[Project and acceptance target](project.md)\n";
|
|
9
|
+
}, {
|
|
10
|
+
readonly file: "result.md";
|
|
11
|
+
readonly label: "Agent result";
|
|
12
|
+
readonly source: "---\nid: example.result\nkind: result\nrelationships:\n - kind: implements\n target: example.investigation\n - kind: relates_to\n target: example.project\n# Add evidence only after a real observation; replace every placeholder:\n# evidence:\n# - criterion: example.project#readable-result\n# source: ./evidence/reading-check.md\n# method: Describe the actual check.\n# outcome: Describe the observed result and its limits.\n# observed_at: Use the actual ISO timestamp with timezone.\n# checked_revision: Use the actual full source commit SHA.\n---\n# Agent result\n\n## Outcome and changes\nExplain what changed and why. Link the relevant source files or patch.\n\n## Reasoning\n[Investigation and alternatives](investigation.md)\n\n## Checks and evidence\nNot recorded. Replace this with actual commands, observations and local evidence links.\nRecorded evidence does not by itself establish verified acceptance.\n\n## Limits and unresolved questions\nName failures, skipped checks, uncertainty and any response needed.\n\n## Next action\nState the next action and who needs to respond, if known.\n\n[Project and acceptance target](project.md)\n";
|
|
13
|
+
}];
|
|
14
|
+
//# sourceMappingURL=startTemplates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startTemplates.d.ts","sourceRoot":"","sources":["../../src/page/startTemplates.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;EAsGjB,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export const startTemplates = [
|
|
2
|
+
{
|
|
3
|
+
file: "project.md",
|
|
4
|
+
label: "Project",
|
|
5
|
+
source: `---
|
|
6
|
+
id: example.project
|
|
7
|
+
kind: project
|
|
8
|
+
criteria:
|
|
9
|
+
- id: readable-result
|
|
10
|
+
text: A reviewer can trace the result to its reasoning and recorded evidence.
|
|
11
|
+
---
|
|
12
|
+
# Project
|
|
13
|
+
|
|
14
|
+
## Goal
|
|
15
|
+
Describe the outcome and who needs it.
|
|
16
|
+
|
|
17
|
+
## Scope and constraints
|
|
18
|
+
Name what belongs here and what must remain outside this work.
|
|
19
|
+
|
|
20
|
+
## Reading path
|
|
21
|
+
- [Investigation](investigation.md)
|
|
22
|
+
- [Agent result](result.md)
|
|
23
|
+
|
|
24
|
+
## Acceptance
|
|
25
|
+
The criterion above is a target, not a recorded pass.
|
|
26
|
+
Record what was checked, the source revision, and remaining limitations.
|
|
27
|
+
`,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
file: "investigation.md",
|
|
31
|
+
label: "Investigation",
|
|
32
|
+
source: `---
|
|
33
|
+
id: example.investigation
|
|
34
|
+
kind: investigation
|
|
35
|
+
relationships:
|
|
36
|
+
- kind: informs
|
|
37
|
+
target: example.project
|
|
38
|
+
criteria:
|
|
39
|
+
- id: explained-choice
|
|
40
|
+
text: Options, evidence, tradeoffs and the recommendation are explicit.
|
|
41
|
+
---
|
|
42
|
+
# Investigation
|
|
43
|
+
|
|
44
|
+
## Question and background
|
|
45
|
+
Explain the decision in context; do not require the reader to reconstruct it.
|
|
46
|
+
|
|
47
|
+
## Options and tradeoffs
|
|
48
|
+
| Option | Benefit | Cost | Evidence |
|
|
49
|
+
| --- | --- | --- | --- |
|
|
50
|
+
| First option | Not recorded | Not recorded | Not recorded |
|
|
51
|
+
| Second option | Not recorded | Not recorded | Not recorded |
|
|
52
|
+
|
|
53
|
+
## Recommendation
|
|
54
|
+
State your take and what remains uncertain.
|
|
55
|
+
|
|
56
|
+
## Response needed
|
|
57
|
+
Name the exact question and the choices. Do not imply that a response was recorded.
|
|
58
|
+
|
|
59
|
+
[Project and acceptance target](project.md)
|
|
60
|
+
`,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
file: "result.md",
|
|
64
|
+
label: "Agent result",
|
|
65
|
+
source: `---
|
|
66
|
+
id: example.result
|
|
67
|
+
kind: result
|
|
68
|
+
relationships:
|
|
69
|
+
- kind: implements
|
|
70
|
+
target: example.investigation
|
|
71
|
+
- kind: relates_to
|
|
72
|
+
target: example.project
|
|
73
|
+
# Add evidence only after a real observation; replace every placeholder:
|
|
74
|
+
# evidence:
|
|
75
|
+
# - criterion: example.project#readable-result
|
|
76
|
+
# source: ./evidence/reading-check.md
|
|
77
|
+
# method: Describe the actual check.
|
|
78
|
+
# outcome: Describe the observed result and its limits.
|
|
79
|
+
# observed_at: Use the actual ISO timestamp with timezone.
|
|
80
|
+
# checked_revision: Use the actual full source commit SHA.
|
|
81
|
+
---
|
|
82
|
+
# Agent result
|
|
83
|
+
|
|
84
|
+
## Outcome and changes
|
|
85
|
+
Explain what changed and why. Link the relevant source files or patch.
|
|
86
|
+
|
|
87
|
+
## Reasoning
|
|
88
|
+
[Investigation and alternatives](investigation.md)
|
|
89
|
+
|
|
90
|
+
## Checks and evidence
|
|
91
|
+
Not recorded. Replace this with actual commands, observations and local evidence links.
|
|
92
|
+
Recorded evidence does not by itself establish verified acceptance.
|
|
93
|
+
|
|
94
|
+
## Limits and unresolved questions
|
|
95
|
+
Name failures, skipped checks, uncertainty and any response needed.
|
|
96
|
+
|
|
97
|
+
## Next action
|
|
98
|
+
State the next action and who needs to respond, if known.
|
|
99
|
+
|
|
100
|
+
[Project and acceptance target](project.md)
|
|
101
|
+
`,
|
|
102
|
+
},
|
|
103
|
+
];
|
|
104
|
+
//# sourceMappingURL=startTemplates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startTemplates.js","sourceRoot":"","sources":["../../src/page/startTemplates.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B;QACC,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBT;KACC;IACD;QACC,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BT;KACC;IACD;QACC,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCT;KACC;CACQ,CAAC"}
|
package/dist/page/style.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/page/style.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/page/style.ts"],"names":[],"mappings":"AAsFA,eAAO,MAAM,KAAK,QAYN,CAAC"}
|
package/dist/page/style.js
CHANGED
|
@@ -54,5 +54,41 @@ figure.diagram[data-state="failed"] .diagram-source { display: block; }
|
|
|
54
54
|
[data-diagram-error] { color: var(--danger); font-size: 0.875em; }
|
|
55
55
|
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
|
|
56
56
|
`;
|
|
57
|
-
|
|
57
|
+
const documents = `
|
|
58
|
+
.start-open { display: block; padding: 0 12px 18px; color: var(--sidebar-text); }
|
|
59
|
+
.onboarding { max-width: 76ch; }
|
|
60
|
+
.start-template textarea { display: block; box-sizing: border-box; width: 100%; margin: 12px 0; padding: 12px; font-family: var(--mono); font-size: 13px; color: var(--text); background: var(--surface); border: 1px solid var(--border); border-radius: 6px; }
|
|
61
|
+
@media print {
|
|
62
|
+
.sidebar, .bar, .preferences, .reading-tools, .visual-tools { display: none !important; }
|
|
63
|
+
.workspace { display: block !important; }
|
|
64
|
+
.page { width: 100%; }
|
|
65
|
+
#doc { padding: 0; }
|
|
66
|
+
.doc pre, .doc table { white-space: pre-wrap; overflow: visible; }
|
|
67
|
+
figure.diagram[data-state="pending"] .diagram-source, figure.diagram[data-state="failed"] .diagram-source { display: block; }
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.visual-document, .visual-callout { border: 1px solid var(--border); border-radius: 12px; padding: 1em 1.2em; margin: 1.2em 0; overflow-wrap: anywhere; }
|
|
71
|
+
.visual-document > :last-child, .visual-callout > :last-child { margin-bottom: 0; }
|
|
72
|
+
.visual-label { font-weight: 650; margin-top: 0; }
|
|
73
|
+
.visual-value { font-size: 1.35em; font-variant-numeric: tabular-nums; }
|
|
74
|
+
.visual-document progress { display: block; width: 100%; height: 1em; accent-color: var(--link); }
|
|
75
|
+
.visual-timeline-entries { border-left: 2px solid var(--border); padding-left: 1.6em; }
|
|
76
|
+
.visual-timeline-entries > li { padding: .3em 0 .7em .2em; }
|
|
77
|
+
.visual-callout { border-left: 4px solid var(--link); background: var(--surface); }
|
|
78
|
+
.visual-warning, .visual-caution { border-left-color: #b97720; }
|
|
79
|
+
.visual-diagnostic { font-weight: 600; color: var(--muted); }
|
|
80
|
+
@media print { .visual-document, .visual-callout { break-inside: avoid; } }
|
|
81
|
+
`;
|
|
82
|
+
export const style = theme
|
|
83
|
+
+ layout
|
|
84
|
+
+ prose
|
|
85
|
+
+ board
|
|
86
|
+
+ diagrams
|
|
87
|
+
+ readingStyles()
|
|
88
|
+
+ searchStyles
|
|
89
|
+
+ metadataStyles
|
|
90
|
+
+ workStyle()
|
|
91
|
+
+ attentionStyle()
|
|
92
|
+
+ visualStyles
|
|
93
|
+
+ documents;
|
|
58
94
|
//# sourceMappingURL=style.js.map
|
package/dist/page/style.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/page/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bb,CAAC;AAEF,MAAM,KAAK,GAAG;;;;;;;;;;;;CAYb,CAAC;AAEF,MAAM,QAAQ,GAAG;;;;;;;;CAQhB,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GACjB,KAAK,
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/page/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bb,CAAC;AAEF,MAAM,KAAK,GAAG;;;;;;;;;;;;CAYb,CAAC;AAEF,MAAM,QAAQ,GAAG;;;;;;;;CAQhB,CAAC;AAEF,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBjB,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GACjB,KAAK;MACH,MAAM;MACN,KAAK;MACL,KAAK;MACL,QAAQ;MACR,aAAa,EAAE;MACf,YAAY;MACZ,cAAc;MACd,SAAS,EAAE;MACX,cAAc,EAAE;MAChB,YAAY;MACZ,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/render/board.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/render/board.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,OAAO;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AA0CD,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,KAAG,KAexC,CAAC;AAEF,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,KAAG,SAAS,KAAK,EAC2E,CAAC"}
|