@specship/specship-win32-arm64 0.11.7 → 0.11.8
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/lib/dist/bin/specship.js +7 -7
- package/lib/dist/bin/specship.js.map +1 -1
- package/lib/dist/commands/{ss-design-implement.md → specship/design-implement.md} +5 -5
- package/lib/dist/commands/{ss-design-loop.md → specship/design-loop.md} +6 -6
- package/lib/dist/commands/{ss-spec.md → specship/spec.md} +4 -4
- package/lib/dist/index.d.ts +1 -1
- package/lib/dist/index.js +1 -1
- package/lib/dist/installer/instructions-template.js +3 -3
- package/lib/dist/installer/instructions-template.js.map +1 -1
- package/lib/dist/installer/targets/claude.d.ts +6 -4
- package/lib/dist/installer/targets/claude.d.ts.map +1 -1
- package/lib/dist/installer/targets/claude.js +69 -17
- package/lib/dist/installer/targets/claude.js.map +1 -1
- package/lib/dist/mcp/designer-tools.js +1 -1
- package/lib/dist/mcp/designer-tools.js.map +1 -1
- package/lib/dist/mcp/spec-tools.js +3 -3
- package/lib/dist/mcp/spec-tools.js.map +1 -1
- package/lib/dist/resolution/domain-gap-seed.d.ts +1 -1
- package/lib/dist/resolution/domain-gap-seed.js +1 -1
- package/lib/dist/server/chat/classify.js +28 -8
- package/lib/dist/server/routes/chat-answer.js +11 -0
- package/lib/dist/web/chunk-H723TYYD.js +2 -0
- package/lib/dist/web/chunk-HSJNHNOH.js +6 -0
- package/lib/dist/web/chunk-KYSTCHAH.js +1 -0
- package/lib/dist/web/{chunk-HPKNOV45.js → chunk-OTQR5VFM.js} +1 -1
- package/lib/dist/web/chunk-PS6HRYQQ.js +3 -0
- package/lib/dist/web/index.html +1 -1
- package/lib/dist/web/{main-5B4RR3BC.js → main-FY3HQ4PX.js} +1 -1
- package/lib/dist/workflows/defaults/claude-design-implement.yaml +5 -5
- package/lib/dist/workflows/defaults/spec-author.yaml +1 -1
- package/lib/node_modules/.package-lock.json +1 -1
- package/lib/package.json +1 -1
- package/package.json +1 -1
- package/lib/dist/web/chunk-LIFS4XH2.js +0 -6
- package/lib/dist/web/chunk-MADMRWIK.js +0 -3
- package/lib/dist/web/chunk-N5WSFE4J.js +0 -2
- package/lib/dist/web/chunk-UYOKO7C5.js +0 -1
- /package/lib/dist/commands/{ss-check.md → specship/check.md} +0 -0
- /package/lib/dist/commands/{ss-explore.md → specship/explore.md} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as U}from"./chunk-NKPK3BR3.js";import{a as G}from"./chunk-G7VZT5KB.js";import{a as q}from"./chunk-YWIRU745.js";import{a as Q}from"./chunk-JLOJCDIY.js";import{a as B}from"./chunk-PZSU53SS.js";import{a as h,b as j}from"./chunk-WBJ5VEB5.js";import{a as N,c as $,d as V}from"./chunk-DOKZOFKM.js";import{c as A}from"./chunk-DTWIJ3GJ.js";import{a as F}from"./chunk-JGDK6YKG.js";import{a as R}from"./chunk-TWVVIWKO.js";import{Aa as s,Ga as P,I as v,Ia as C,Ka as c,M as f,N as b,Ta as M,Ua as w,Va as l,W as E,Wa as _,Xa as y,Ya as O,aa as T,ea as i,ka as z,lb as m,qa as I,ra as g,sa as u,va as k,wa as S,xa as p,ya as a,yb as L,za as r,zb as H}from"./chunk-SYGIPC2P.js";import"./chunk-Q7L6LLAK.js";var D=(n,e)=>e.id;function W(n,e){n&1&&(a(0,"div",1),s(1,"div",3)(2,"div",4)(3,"div",5)(4,"div",6)(5,"div",7),r())}function X(n,e){if(n&1&&(a(0,"app-empty",2)(1,"a",8),s(2,"app-icon",9),l(3," Back to Specs "),r()()),n&2){let t=c();p("body","No spec matches "+t.specId()+"."),i(2),p("size",12)}}function Y(n,e){if(n&1&&(a(0,"app-pill",20),l(1),r()),n&2){let t=c();p("color","var(--node-code)")("bg","var(--node-code-soft)"),i(),_(t.priority)}}function Z(n,e){if(n&1&&(a(0,"span",22),l(1,"owned by "),a(2,"span",37),l(3),r()()),n&2){let t=c();i(3),_(t.owner)}}function ee(n,e){if(n&1&&(a(0,"span",22),l(1),r()),n&2){let t=c(2);i(),y("verified ",t.relTime(e))}}function te(n,e){if(n&1&&s(0,"span",43),n&2){let t=e.$implicit,o=c(3);M("background",o.critColor(t.state)),w("pending",t.state==="pending"),p("title",t.id+" \xB7 "+o.stateLabel(t.state))}}function ne(n,e){n&1&&s(0,"app-icon",45),n&2&&p("name",e)("size",12)}function ie(n,e){if(n&1&&s(0,"span",49),n&2){let t=c().$implicit,o=c(3);M("border-color",o.critColor(t.state))}}function oe(n,e){if(n&1&&(a(0,"div",42)(1,"span",44),g(2,ne,1,2,"app-icon",45)(3,ie,1,2,"span",46),r(),a(4,"span",47),l(5),r(),a(6,"span",48),l(7),r()()),n&2){let t,o=e.$implicit,d=e.$index,x=c(3);i(),M("background",x.critBg(o.state))("color",x.critColor(o.state)),p("title",x.stateLabel(o.state)),i(),u((t=x.critIcon(o.state))?2:3,t),i(3),y("A",d+1),i(2),_(o.title)}}function re(n,e){if(n&1&&(a(0,"section",23)(1,"div",26)(2,"div",24),l(3,"Acceptance criteria"),r(),a(4,"div",38),l(5),r()(),a(6,"div",39),k(7,te,1,5,"span",40,D),r(),a(9,"div",41),k(10,oe,8,8,"div",42,D),r()()),n&2){let t=c(2);i(4),w("all-met",t.metCount()===t.criteria().length),i(),O(" ",t.metCount()," / ",t.criteria().length," met "),i(2),S(t.criteria()),i(3),S(t.criteria())}}function ae(n,e){if(n&1&&(a(0,"div",27),l(1),r()),n&2){let t=c(2);i(),O("",t.links().length," ",t.links().length===1?"symbol":"symbols")}}function de(n,e){if(n&1&&(a(0,"div",28),l(1,"No linked code yet \u2014 run "),a(2,"span",50),l(3),r(),l(4," to link it."),r()),n&2){let t,o=c(2);i(3),y("/ss-spec implement ",(t=o.spec())==null?null:t.id)}}function le(n,e){if(n&1&&(a(0,"app-pill"),l(1),r()),n&2){let t=c().$implicit;i(),_(t.provenance)}}function ce(n,e){if(n&1){let t=P();a(0,"div",51),s(1,"app-state-pill",52),a(2,"span",53),l(3),r(),s(4,"span",54),g(5,le,2,1,"app-pill"),a(6,"button",55),C("click",function(){let d=f(t).$implicit,x=c(3);return b(x.revealLink(d))}),s(7,"app-icon",56),l(8," Reveal "),r()()}if(n&2){let t=e.$implicit,o=c(3);i(),p("state",t.state),i(2),_(o.linkTarget(t)),i(2),u(t.provenance?5:-1),i(),I("aria-label","Reveal "+o.linkTarget(t)),i(),p("size",12)}}function pe(n,e){if(n&1&&(a(0,"div",29),k(1,ce,9,5,"div",51,D),r()),n&2){let t=c(2);i(),S(t.links())}}function se(n,e){if(n&1){let t=P();a(0,"div",10)(1,"a",11),s(2,"app-icon",12),l(3," Specs "),r(),a(4,"span",13),l(5,"/"),r(),a(6,"span",14),l(7),r(),a(8,"span",13),l(9,"\xB7"),r(),a(10,"span",15),l(11),r(),s(12,"app-copy-btn",16),r(),a(13,"h1",17),l(14),r(),a(15,"div",18),s(16,"app-state-pill",19),g(17,Y,2,3,"app-pill",20),a(18,"span",21),l(19),r(),g(20,Z,4,1,"span",22),g(21,ee,2,1,"span",22),r(),a(22,"section",23)(23,"div",24),l(24,"Requirement"),r(),s(25,"div",25),r(),g(26,re,12,4,"section",23),a(27,"section",23)(28,"div",26)(29,"div",24),l(30,"Linked code"),r(),g(31,ae,2,2,"div",27),r(),g(32,de,5,1,"div",28)(33,pe,3,0,"div",29),r(),a(34,"div",30)(35,"button",31),C("click",function(){f(t);let d=c();return b(d.onImplement())}),s(36,"app-icon",32),l(37),r(),a(38,"button",33),C("click",function(){f(t);let d=c();return b(d.onVerify())}),s(39,"app-icon",34),l(40),r(),a(41,"button",33),C("click",function(){f(t);let d=c();return b(d.onEdit())}),s(42,"app-icon",35),l(43," Edit spec "),r(),a(44,"button",33),C("click",function(){f(t);let d=c();return b(d.onShowInGraph())}),s(45,"app-icon",36),l(46," Show in graph "),r()()}if(n&2){let t,o=e,d=c();i(2),p("size",13),i(5),_(o.sourcePath),i(4),_(o.id),i(),p("text",o.id),i(2),_(o.title),i(2),p("state",d.overallState())("withDot",!0),i(),u(o.priority?17:-1),i(2),_(o.kind),i(),u(o.owner?20:-1),i(),u((t=d.verifiedAt())?21:-1,t),i(4),p("innerHTML",d.bodyHtml(),T),i(),u(d.criteria().length>0?26:-1),i(5),u(d.links().length>0?31:-1),i(),u(d.links().length===0?32:33),i(4),p("size",12),i(),y(" ",d.copied()==="implement"?"Copied!":"Implement"," "),i(2),p("size",12),i(),y(" ",d.copied()==="verify"?"Copied!":"Verify"," "),i(2),p("size",12),i(3),p("size",12)}}function K(n){return n.replace(/<!--[\s\S]*?-->/g,"")}var me=["broken","orphaned","drifted","drafted","implementing","implemented","verified"],xe={verified:"check",implemented:"check",completed:"check",drifted:"drift",broken:"cancel",orphaned:"cancel",failed:"cancel"};function ge(n){return n.length?n.some(e=>e.state==="broken")?"broken":n.some(e=>e.state==="orphaned")?"orphaned":n.some(e=>e.state==="drifted")?"drifted":n.every(e=>e.state==="verified")?"verified":"implemented":"pending"}var J=class n{api=v(R);projects=v(F);router=v($);route=v(N);sanitizer=v(L);paramMap=U(this.route.paramMap,{initialValue:this.route.snapshot.paramMap});specId=m(()=>this.paramMap().get("id")??"");detail=A(this.api,()=>{let e=this.specId();return e?`/api/spec/${encodeURIComponent(e)}${this.projects.projectQuery()}`:null});loading=m(()=>this.detail.state().loading);spec=m(()=>this.detail.state().data?.spec??null);links=m(()=>this.detail.state().data?.links??[]);children=m(()=>this.detail.state().data?.children??[]);childLinks=m(()=>this.detail.state().data?.childLinks??{});notFound=m(()=>!this.loading()&&!!this.specId()&&!this.spec());overallState=m(()=>{let e=this.links();if(!e.length)return"drafted";for(let t of me)if(e.some(o=>o.state===t))return t;return"implemented"});verifiedAt=m(()=>{let e=this.links().filter(t=>t.state==="verified").map(t=>t.updatedAt);return e.length?Math.max(...e):null});criteria=m(()=>{let e=this.childLinks();return this.children().filter(t=>t.kind==="acceptance").map(t=>{let o=e[t.id]??[],d=ge(o);return{id:t.id,title:K(t.title).trim(),state:d,hasLinks:o.length>0,met:d==="verified"}})});metCount=m(()=>this.criteria().filter(e=>e.met).length);critIcon(e){return xe[e]??null}critColor(e){return h[e]?.color??"var(--text-muted)"}critBg(e){return h[e]?.bg??"rgba(255,255,255,0.05)"}bodyHtml=m(()=>this.sanitizer.bypassSecurityTrustHtml(G(K(this.spec()?.body??""))));stateColor(e){return h[e]?.color??"var(--node-spec)"}stateLabel(e){return h[e]?.label??e}relTime(e){let t=Date.now()-e,o=Math.max(0,Math.round(t/1e3));if(o<60)return`${o}s ago`;let d=Math.round(o/60);if(d<60)return`${d}m ago`;let x=Math.round(d/60);return x<24?`${x}h ago`:`${Math.round(x/24)}d ago`}linkTarget(e){return`${e.targetFilePath}:${e.targetQualifiedName}`}copied=E(null);copyCmd(e,t){try{navigator.clipboard?.writeText(e)}catch{}this.copied.set(t),setTimeout(()=>{this.copied()===t&&this.copied.set(null)},1800)}onImplement(){let e=this.spec()?.id;e&&this.copyCmd(`/ss-spec implement ${e}`,"implement")}onVerify(){this.copyCmd("/ss-check","verify")}onEdit(){this.router.navigate(["/specs"])}onShowInGraph(){let e=this.spec()?.id;this.router.navigate(["/graph"],{queryParams:e?{focus:"spec:"+e}:{}})}revealLink(e){this.router.navigate(["/graph"],{queryParams:{focus:this.linkTarget(e)}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=z({type:n,selectors:[["app-spec-detail"]],decls:4,vars:1,consts:[[1,"scroll-y","spec-detail"],[1,"sd-skel"],["icon","book","title","Spec not found",3,"body"],[1,"skel",2,"height","16px","width","220px","border-radius","5px"],[1,"skel",2,"height","34px","width","60%","border-radius","7px","margin-top","14px"],[1,"skel",2,"height","20px","width","340px","border-radius","6px","margin-top","12px"],[1,"skel",2,"height","120px","border-radius","10px","margin-top","22px"],[1,"skel",2,"height","160px","border-radius","10px","margin-top","14px"],["action","","routerLink","/specs",1,"btn","btn-secondary","btn-sm"],["name","arrowRight",3,"size"],[1,"sd-crumb"],["routerLink","/specs",1,"sd-back"],["name","chevronLeft",3,"size"],[1,"sd-sep"],[1,"mono","sd-path"],[1,"mono","sd-id"],["label","Copy spec id",3,"text"],[1,"sd-title"],[1,"sd-meta"],[3,"state","withDot"],[3,"color","bg"],[1,"sd-meta-kind"],[1,"sd-meta-dim"],[1,"sd-section"],[1,"sd-eyebrow"],[1,"sd-prose",3,"innerHTML"],[1,"sd-section-head"],[1,"sd-count"],[1,"sd-empty-row"],[1,"sd-links"],[1,"sd-actions"],["type","button",1,"btn","btn-primary","btn-sm",3,"click"],["name","play",3,"size"],["type","button",1,"btn","btn-secondary","btn-sm",3,"click"],["name","check",3,"size"],["name","book",3,"size"],["name","graph",3,"size"],[1,"sd-meta-owner"],[1,"sd-rollup"],[1,"sd-crit-bars"],[1,"sd-crit-seg",3,"pending","background","title"],[1,"sd-criteria"],[1,"sd-crit"],[1,"sd-crit-seg",3,"title"],[1,"sd-crit-mark",3,"title"],[3,"name","size"],[1,"sd-crit-dot",3,"border-color"],[1,"sd-crit-id","mono"],[1,"sd-crit-text"],[1,"sd-crit-dot"],[1,"mono"],[1,"sd-link"],[3,"state"],[1,"mono","sd-link-target"],[1,"grow"],["type","button",1,"btn","btn-ghost","btn-xs",3,"click"],["name","reveal",3,"size"]],template:function(t,o){if(t&1&&(a(0,"div",0),g(1,W,6,0,"div",1)(2,X,4,2,"app-empty",2)(3,se,47,21),r()),t&2){let d;i(),u(o.loading()?1:o.notFound()?2:(d=o.spec())?3:-1,d)}},dependencies:[V,H,j,Q,B,q],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:contents}.spec-detail[_ngcontent-%COMP%]{flex:1;padding:22px 26px 40px;color:var(--text-primary);background:var(--bg-canvas);max-width:920px}.sd-skel[_ngcontent-%COMP%]{display:flex;flex-direction:column}.sd-crumb[_ngcontent-%COMP%]{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-muted);margin-bottom:12px}.sd-back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:3px;color:var(--text-secondary);text-decoration:none;cursor:pointer}.sd-back[_ngcontent-%COMP%]:hover{color:var(--text-primary)}.sd-sep[_ngcontent-%COMP%]{color:var(--text-faint)}.sd-path[_ngcontent-%COMP%]{color:var(--text-secondary)}.sd-id[_ngcontent-%COMP%]{color:var(--node-spec)}.sd-title[_ngcontent-%COMP%]{font-size:24px;font-weight:650;letter-spacing:-.02em;line-height:1.18;margin:0 0 12px;color:var(--text-primary)}.sd-meta[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:26px;font-size:12px}.sd-meta-kind[_ngcontent-%COMP%]{font-size:11px;color:var(--text-secondary);background:var(--bg-hover);border:1px solid var(--border-subtle);padding:2px 8px;border-radius:5px}.sd-meta-dim[_ngcontent-%COMP%]{color:var(--text-muted)}.sd-meta-owner[_ngcontent-%COMP%]{color:var(--text-secondary)}.sd-section[_ngcontent-%COMP%]{margin-bottom:24px}.sd-section-head[_ngcontent-%COMP%]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.sd-eyebrow[_ngcontent-%COMP%]{font-size:10.5px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.sd-section-head[_ngcontent-%COMP%] .sd-eyebrow[_ngcontent-%COMP%]{margin-bottom:0}.sd-prose[_ngcontent-%COMP%]{font-size:14px;line-height:1.62;color:var(--text-secondary)}.sd-prose[_ngcontent-%COMP%] [_ngcontent-%COMP%]:global(strong){color:var(--text-primary);font-weight:600}.sd-prose[_ngcontent-%COMP%] [_ngcontent-%COMP%]:global(code){font-family:ui-monospace,Geist Mono,monospace;font-size:.86em;color:var(--node-spec);background:var(--node-spec-soft);padding:1px 5px;border-radius:4px}.sd-prose[_ngcontent-%COMP%] [_ngcontent-%COMP%]:global(p){margin:0 0 10px}.sd-rollup[_ngcontent-%COMP%]{font-size:11px;font-weight:600;color:var(--text-muted);font-family:ui-monospace,monospace}.sd-rollup.all-met[_ngcontent-%COMP%]{color:var(--success)}.sd-crit-bars[_ngcontent-%COMP%]{display:flex;gap:4px;margin-bottom:12px}.sd-crit-seg[_ngcontent-%COMP%]{flex:1;height:4px;border-radius:999px;opacity:.9}.sd-crit-seg.pending[_ngcontent-%COMP%]{opacity:.25}.sd-criteria[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px}.sd-crit[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:var(--bg-panel);border:1px solid var(--border-subtle)}.sd-crit-mark[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;flex-shrink:0}.sd-crit-dot[_ngcontent-%COMP%]{width:7px;height:7px;border-radius:50%;border:1.6px solid currentColor;box-sizing:border-box}.sd-crit-id[_ngcontent-%COMP%]{font-size:10px;color:var(--text-muted);flex-shrink:0;width:22px}.sd-crit-text[_ngcontent-%COMP%]{font-size:13px;color:var(--text-secondary);line-height:1.45}.sd-count[_ngcontent-%COMP%]{font-size:11px;color:var(--text-muted);font-family:ui-monospace,monospace}.sd-empty-row[_ngcontent-%COMP%]{font-size:12.5px;color:var(--text-muted);padding:12px;border-radius:8px;background:var(--bg-panel);border:1px dashed var(--border-subtle)}.sd-empty-row[_ngcontent-%COMP%] .mono[_ngcontent-%COMP%]{color:var(--text-secondary)}.sd-links[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:5px}.sd-link[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;background:var(--bg-panel);border:1px solid var(--border-subtle);font-size:12.5px}.sd-link-state[_ngcontent-%COMP%]{display:inline-flex;align-items:center;flex-shrink:0}.sd-link-target[_ngcontent-%COMP%]{color:var(--text-primary)}.grow[_ngcontent-%COMP%]{flex:1}.sd-prov[_ngcontent-%COMP%]{font-size:10px;color:var(--text-muted);background:var(--bg-hover);border:1px solid var(--border-subtle);padding:1px 6px;border-radius:4px}.sd-link-statelabel[_ngcontent-%COMP%]{font-size:11px;font-weight:600}.sd-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;padding-top:18px;border-top:1px solid var(--border-subtle)}.mono[_ngcontent-%COMP%]{font-family:ui-monospace,Geist Mono,monospace}'],changeDetection:0})};export{J as SpecDetail};
|
|
File without changes
|
|
File without changes
|