@deepwatch/dsh-client-settings 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +82 -0
- package/lib/client/binding-state.d.ts +334 -0
- package/lib/client/binding-state.js +543 -0
- package/lib/client/binding-state.js.map +1 -0
- package/lib/client/chat-gate.d.ts +100 -0
- package/lib/client/chat-gate.js +141 -0
- package/lib/client/chat-gate.js.map +1 -0
- package/lib/client/components.d.ts +194 -0
- package/lib/client/components.js +273 -0
- package/lib/client/components.js.map +1 -0
- package/lib/client/index.d.ts +35 -0
- package/lib/client/index.js +273 -0
- package/lib/client/index.js.map +1 -0
- package/lib/client/onboarding.d.ts +28 -0
- package/lib/client/onboarding.js +31 -0
- package/lib/client/onboarding.js.map +1 -0
- package/lib/client/readiness.d.ts +36 -0
- package/lib/client/readiness.js +207 -0
- package/lib/client/readiness.js.map +1 -0
- package/lib/client/role-bindings.d.ts +118 -0
- package/lib/client/role-bindings.js +211 -0
- package/lib/client/role-bindings.js.map +1 -0
- package/lib/client.js +3888 -0
- package/lib/client.js.map +1 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.js +13 -0
- package/lib/index.js.map +1 -0
- package/lib/ocr-measured.d.ts +27 -0
- package/lib/ocr-measured.js +66 -0
- package/lib/ocr-measured.js.map +1 -0
- package/lib/providers.d.ts +26 -0
- package/lib/providers.js +26 -0
- package/lib/providers.js.map +1 -0
- package/package.json +83 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/client/components.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE/G,4EAA4E;AAC5E,8EAA8E;AAC9E,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAQ1F,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,CAAC,GAAG;IACf,IAAI,EAAE;QACJ,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO;QAC1C,UAAU,EAAE,0GAA0G;KACvH;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI;QACpC,KAAK,EAAE,kCAAkC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM;KAChF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,kFAAkF;QAC1F,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,WAAW;QACpB,YAAY,EAAE,MAAM;QACpB,UAAU,EAAE,4HAA4H;QACxI,SAAS,EAAE,uDAAuD;KACnE;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM;QACpD,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAe;KAC3D;IACD,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE;IACjF,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,mBAAmB,EAAE,iBAAiB;QACtC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;QAChC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;KACpC;IACD,GAAG,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE;IACjD,KAAK,EAAE,EAAE,KAAK,EAAE,kCAAkC,EAAE;IACpD,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI;QAClC,KAAK,EAAE,iCAAiC;QACxC,iBAAiB,EAAE,+BAA+B;QAClD,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;KAC/C;IACD,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAoB,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,YAAY,EAAE;CAC5J,CAAA;AAYD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,EAAE,IAAI,EAAE,QAAQ,EAA6D;IAE7E,8EAA8E;IAC9E,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC7B,OAAO,CACL,eAAM,KAAK,EAAE;YACX,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK;YACxD,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS;YACrD,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ;YAC3C,MAAM,EAAE,gCAAgC,MAAM,oBAAoB,EAAE,KAAK,EAAE,MAAM;YACjF,UAAU,EAAE,sBAAsB,MAAM,mBAAmB;SAC5D,YAEE,QAAQ,GACJ,CACR,CAAA;AACH,CAAC;AAED,2EAA2E;AAC3E,SAAS,KAAK,CAAC,EAAE,KAAK,EAA+B;IACnD,OAAO,KAAC,UAAU,IAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,YAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAc,CAAA;AAC/F,CAAC;AAED,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAA4D;IACxF,OAAO,CACL,8BACE,eAAM,KAAK,EAAE,CAAC,CAAC,GAAG,YAAG,KAAK,GAAQ,EAClC,eAAM,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,QAAQ,GAAQ,IACtC,CACJ,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAyE;IAEzF,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,aAC9C,eAAK,KAAK,EAAE,CAAC,CAAC,QAAQ,aACpB,aAAI,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,IAAI,GAAM,EAC/B,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,+BAA4B,IAClD,EACN,YAAG,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAG,GAAG,GAAK,EACrD,YAAG,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAG,GAAG,GAAK,IACjD,CACP,CAAA;AACH,CAAC;AAGD,+EAA+E;AAE/E;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,GAAG,GAAuE;QAC9E,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;QACxC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE;QACzD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE;QAC7D,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE;QACnD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE;QACnD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;QACzD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE;QACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;QAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;QACnD,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE;QACrD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE;KAChD,CAAA;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACrE,OAAO,KAAC,UAAU,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAAG,KAAK,CAAC,IAAI,GAAc,CAAA;AAChE,CAAC;AAED,SAAS,SAAS,CAAC,KAAoB;IACrC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACpC,OAAO,GAAG,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;AACnD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,CACL,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,YAAG,KAAK,EAAE,CAAC,CAAC,IAAI,mUAMZ,EACJ,aAAI,KAAK,EAAE,CAAC,CAAC,EAAE,+BAAqB,EACnC,WAAW,CAAC,GAAG,CAAC,CAAC,MAA4B,EAAE,EAAE,CAAC,CACjD,eAAqB,KAAK,EAAE,CAAC,CAAC,IAAI,aAChC,eAAK,KAAK,EAAE,CAAC,CAAC,QAAQ,aACpB,aAAI,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,MAAM,CAAC,WAAW,GAAM,EAC7C,gBAAM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,aAC1C,KAAC,KAAK,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,KAAK,QAAQ,GAAI,EAC5C,aAAa,CAAC,YAAY,CAAC,IACvB,IACH,EACN,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,KAAC,GAAG,IAAC,KAAK,EAAC,SAAS,YAAE,MAAM,CAAC,OAAO,GAAO,EAC3C,KAAC,GAAG,IAAC,KAAK,EAAC,SAAS,YAAE,MAAM,CAAC,OAAO,GAAO,EAC3C,KAAC,GAAG,IAAC,KAAK,EAAC,UAAU,YAClB,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,UAAU;oCACjC,CAAC,CAAC,eAAe,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE;oCAC7G,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,GAChE,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,QAAQ,YAChB,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM;oCAC/B,CAAC,CAAC,6BAA6B;oCAC/B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gCAAgC,GAC9F,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,SAAS,YAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,GAAO,EAC/F,MAAC,GAAG,IAAC,KAAK,EAAC,SAAS,aACjB,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EACvE,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAClG,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,SAAS,YACjB,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;oCAC7C,CAAC,CAAC,iDAAiD;oCACnD,CAAC,CAAC,8BAA8B,GAC9B,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,yBAAyB,YACjC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,IAAI,qCAAqC,GAC7E,IACF,KAlCE,MAAM,CAAC,EAAE,CAmCb,CACP,CAAC,EACD,YAAY;gBACX,CAAC,CAAC,CACE,8BACE,aAAI,KAAK,EAAE,CAAC,CAAC,EAAE,YAAG,uBAAuB,UAAU,OAAO,UAAU,EAAE,GAAM,EAC5E,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,YAAG,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,6TAMvC,EACJ,cAAK,KAAK,EAAE,CAAC,CAAC,IAAI,YACf,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAC1B,MAAC,GAAG,IAAoB,KAAK,EAAE,GAAG,CAAC,QAAQ,aACzC,KAAC,UAAU,IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,YAC9C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,GAChC,EACZ,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EACtE,oBAAoB,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,KAL3E,GAAG,CAAC,QAAQ,CAMhB,CACP,CAAC,GACE,EACN,YAAG,KAAK,EAAE,CAAC,CAAC,IAAI,gLAIZ,IACA,IACL,CACJ;gBACH,CAAC,CAAC,IAAI,EAER,YAAG,KAAK,EAAE,CAAC,CAAC,IAAI,iQAKZ,IACA,CACP,CAAA;AACH,CAAC;AAED,+EAA+E;AAE/E,MAAM,OAAO,GAAG;IACd,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,oCAAoC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,qCAAqC,EAAE;IAC7I,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gEAAgE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE;IACtJ,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,uDAAuD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,yBAAyB,EAAE;IACxJ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,wBAAwB,EAAE;IAClH,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,wBAAwB,EAAE;IACvH,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,wBAAwB,EAAE;IAClH,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,wBAAwB,EAAE;IACzH,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,qDAAqD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,sBAAsB,EAAE;CACtJ,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,CACL,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,YAAG,KAAK,EAAE,CAAC,CAAC,IAAI,sSAKZ,EACH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACrB,eAAqB,KAAK,EAAE,CAAC,CAAC,IAAI,aAChC,eAAK,KAAK,EAAE,CAAC,CAAC,QAAQ,aACpB,aAAI,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,MAAM,CAAC,IAAI,GAAM,EACtC,gBAAM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,aAC1C,KAAC,KAAK,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAI,EAC9B,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,8BAA2B,IAChD,IACH,EACN,YAAG,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAG,MAAM,CAAC,OAAO,GAAK,EAChE,cAAK,KAAK,EAAE,CAAC,CAAC,IAAI,YAAE,KAAC,GAAG,IAAC,KAAK,EAAC,YAAY,YAAE,MAAM,CAAC,UAAU,GAAO,GAAM,KATnE,MAAM,CAAC,EAAE,CAUb,CACP,CAAC,IACE,CACP,CAAA;AACH,CAAC;AAED,+EAA+E;AAE/E,MAAM,YAAY,GAAG;IACnB,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,6CAA6C,EAAE;IACjF,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,sDAAsD,EAAE;IAC5G,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,6CAA6C,EAAE;IACvG,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,4DAA4D,EAAE;CAC3H,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,YAAG,KAAK,EAAE,CAAC,CAAC,IAAI,mOAIZ,EACJ,aAAI,KAAK,EAAE,CAAC,CAAC,EAAE,qBAAW,EACzB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACxB,eAAmB,KAAK,EAAE,CAAC,CAAC,IAAI,aAC9B,eAAK,KAAK,EAAE,CAAC,CAAC,QAAQ,aACpB,aAAI,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,IAAI,CAAC,IAAI,GAAM,EACnC,IAAI,CAAC,EAAE,KAAK,gBAAgB;gCAC3B,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,QAAQ,yCAAsC;gCACjE,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,0BAAuB,IACjD,EACN,YAAG,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAG,IAAI,CAAC,MAAM,GAAK,KAPrD,IAAI,CAAC,EAAE,CAQX,CACP,CAAC,EACF,aAAI,KAAK,EAAE,CAAC,CAAC,EAAE,wBAAc,EAC7B,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,KAAC,GAAG,IAAC,KAAK,EAAC,QAAQ,yDAA+C,EAClE,KAAC,GAAG,IAAC,KAAK,EAAC,aAAa,+DAAqD,EAC7E,KAAC,GAAG,IAAC,KAAK,EAAC,YAAY,4FAEjB,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,WAAW,iEAAuD,EAC7E,KAAC,GAAG,IAAC,KAAK,EAAC,oBAAoB,YAC7B,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,8BAA2B,GACjD,IACF,EACN,YAAG,KAAK,EAAE,CAAC,CAAC,IAAI,mbAOZ,IACA,IACF,CACP,CAAA;AACH,CAAC;AAED,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,CACL,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,eAAK,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,aAC3D,aAAI,KAAK,EAAE,CAAC,CAAC,KAAK,gDAAiC,EACnD,YAAG,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,mTAMtC,IACA,EACN,aAAI,KAAK,EAAE,CAAC,CAAC,EAAE,yBAAe,EAC9B,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,eAAK,KAAK,EAAE,CAAC,CAAC,QAAQ,aACpB,aAAI,KAAK,EAAE,CAAC,CAAC,KAAK,qCAA2B,EAC7C,gBAAM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,aAC1C,KAAC,KAAK,IAAC,KAAK,SAAG,EACf,KAAC,UAAU,IAAC,IAAI,EAAC,QAAQ,0BAAuB,IAC3C,IACH,EACN,YAAG,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,qJAGtC,IACA,EACN,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,eAAK,KAAK,EAAE,CAAC,CAAC,QAAQ,aACpB,aAAI,KAAK,EAAE,CAAC,CAAC,KAAK,sCAA4B,EAC9C,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,wCAAqC,IAC3D,EACN,YAAG,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,8LAItC,IACA,EACN,aAAI,KAAK,EAAE,CAAC,CAAC,EAAE,yBAAe,EAC9B,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,KAAC,GAAG,IAAC,KAAK,EAAC,UAAU,wDAA8C,EACnE,KAAC,GAAG,IAAC,KAAK,EAAC,QAAQ,8CAAoC,EACvD,KAAC,GAAG,IAAC,KAAK,EAAC,YAAY,8DAA+C,EACtE,KAAC,GAAG,IAAC,KAAK,EAAC,cAAc,6DAAmD,IACxE,EACN,YAAG,KAAK,EAAE,CAAC,CAAC,IAAI,2JAGZ,IACA,IACF,CACP,CAAA;AACH,CAAC;AAED,+EAA+E;AAE/E;;;;;;GAMG;AACH,SAAS,aAAa,CACpB,EAAE,MAAM,EAAE,OAAO,EAGhB;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,CACL,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,YACvB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,GAChC,CACd,CAAA;IACH,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW;QAAE,OAAO,KAAC,UAAU,IAAC,IAAI,EAAC,QAAQ,0BAAuB,CAAA;IAC3F,IAAI,MAAM,CAAC,cAAc;QAAE,OAAO,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,+BAA4B,CAAA;IACxF,OAAO,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,YAAE,MAAM,CAAC,KAAK,GAAc,CAAA;AAC/D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,KAQ5C,EAAE;IAEN,OAAO,CACL,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,YAAG,KAAK,EAAE,CAAC,CAAC,IAAI,uKAIZ,EACJ,aAAI,KAAK,EAAE,CAAC,CAAC,EAAE,qCAA2B,EAC1C,KAAC,aAAa,IAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,EAE3F,aAAI,KAAK,EAAE,CAAC,CAAC,EAAE,yBAAe,EAC9B,cAAK,KAAK,EAAE,CAAC,CAAC,IAAI,YAChB,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,KAAC,GAAG,IAAC,KAAK,EAAC,WAAW,sBAAY,EAClC,KAAC,GAAG,IAAC,KAAK,EAAC,kBAAkB,2BAAiB,EAI9C,KAAC,GAAG,IAAC,KAAK,EAAC,YAAY,YACpB,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI;gCACrE,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,6BAA0B;gCACtD,CAAC,CAAC,MAAM,CAAC,WAAW,GAClB,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,iBAAiB,YACzB,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI;gCACzE,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,6BAA0B;gCACtD,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,mBACjC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAC/D,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,GAC3E,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,qBAAqB,kBAAQ,IACpC,GACF,EACN,aAAI,KAAK,EAAE,CAAC,CAAC,EAAE,uBAAa,EAC5B,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAUhB,KAAC,GAAG,IAAC,KAAK,EAAC,YAAY,YACrB,gBAAM,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,aACvE,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GAAI,EAC3D,SAAS,KAAK,SAAS;4CACtB,CAAC,CAAC,IAAI;4CACN,CAAC,CAAC,CACA,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,EAClE,KAAK,EAAE;oDACL,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;oDAC9C,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;oDACpD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,WAAW;iDACrD,wBAGM,CACV,IACE,GACH,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,kBAAkB,YAC1B,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;oCACtC,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,6BAA0B;oCACtD,CAAC,CAAC,MAAM,CAAC,cAAc;wCACrB,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,uCAAoC;wCAChE,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI;4CACzB,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,6BAA0B;4CACtD,CAAC,CAAC,MAAM,CAAC,SAAS,GACpB,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,UAAU,YAClB,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;oCACtC,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,6BAA0B;oCACtD,CAAC,CAAC,MAAM,CAAC,cAAc;wCACrB,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,QAAQ,mCAAgC;wCAC3D,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,YACzB,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gDAChC,CAAC,CAAC,YAAY;gDACd,CAAC,CAAC,YAAY,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GACtC,GACb,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,cAAc,YACtB,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;oCACtC,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,6BAA0B;oCACtD,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW;0CAC7C,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc;0CACrD,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,iBAAiB;0CAC3D,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,GAClD,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,gBAAgB,YACxB,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI;oCACzE,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,sBAAmB;oCAC/C,CAAC,CAAC,MAAM,CAAC,eAAe,GACtB,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,eAAe,YACvB,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;oCACtC,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,6BAA0B;oCACtD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAC3B,EACL,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW;gCACxE,CAAC,CAAC,CACA,KAAC,GAAG,IAAC,KAAK,EAAC,SAAS,YAClB,2BACE,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,YAAE,MAAM,CAAC,OAAO,GAAc,EACvD,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAM,KAAK,EAAE,CAAC,CAAC,IAAI,kBAAI,MAAM,CAAC,GAAG,IAAQ,IAChE,GACH,CACP;gCACD,CAAC,CAAC,IAAI,EACR,KAAC,GAAG,IAAC,KAAK,EAAC,SAAS,YAClB,KAAC,UAAU,IAAC,IAAI,EAAC,QAAQ,6BAA0B,GAC/C,EACN,KAAC,GAAG,IAAC,KAAK,EAAC,sBAAsB,YAC/B,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,0BAAuB,GAC7C,IACF,EACN,YAAG,KAAK,EAAE,CAAC,CAAC,IAAI,uPAKZ,IACA,IACF,CACP,CAAA;AACH,CAAC;AAED,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,CACL,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,aAGrF,cAAK,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAC,EAAE,iBAAa,MAAM,EACxE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,GAC7E,EACF,0BACE,aAAI,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAG,YAAY,GAAM,EAChE,YAAG,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,qFAEtC,IACA,IACF,EACN,cAAK,KAAK,EAAE,CAAC,CAAC,IAAI,YAChB,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,KAAC,GAAG,IAAC,KAAK,EAAC,WAAW,sBAAY,EAIlC,KAAC,GAAG,IAAC,KAAK,EAAC,YAAY,2DAAiD,EACxE,KAAC,GAAG,IAAC,KAAK,EAAC,UAAU,4CAAkC,EACvD,KAAC,GAAG,IAAC,KAAK,EAAC,YAAY,yDAA+C,IAClE,GACF,EACN,eAAK,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,aAC3D,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,YAAG,WAAW,GAAK,EAC7E,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,kCAAkC,EAAE,YAC1G,YAAY,GACX,IACA,EACN,aAAI,KAAK,EAAE,CAAC,CAAC,EAAE,yBAAe,EAC9B,cAAK,KAAK,EAAE,CAAC,CAAC,IAAI,YAChB,eAAK,KAAK,EAAE,CAAC,CAAC,IAAI,aAChB,KAAC,GAAG,IAAC,KAAK,EAAC,WAAW,oBAAU,EAChC,KAAC,GAAG,IAAC,KAAK,EAAC,kBAAkB,0DAAgD,EAC7E,KAAC,GAAG,IAAC,KAAK,EAAC,qBAAqB,uEAA6D,EAC7F,KAAC,GAAG,IAAC,KAAK,EAAC,eAAe,gFAEpB,IACF,GACF,IACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Watch Technology & Capability Center, registered into DSH's settings.
|
|
3
|
+
*
|
|
4
|
+
* `settings.section` is a list, so these seven sit alongside DSH's General,
|
|
5
|
+
* Models and Plugins rather than replacing any of them. That is the whole
|
|
6
|
+
* arrangement: the foundation keeps its settings, and Watch adds the surfaces
|
|
7
|
+
* that make its own capabilities inspectable.
|
|
8
|
+
*
|
|
9
|
+
* The `order` values start at 20 so upstream's sections keep the top of the
|
|
10
|
+
* list, and they are grouped so the reading order tells a story — what the
|
|
11
|
+
* agent is (Intelligence), what it can perceive (Perception), what it keeps
|
|
12
|
+
* (Memory), what it can prove (Truth), and what it actually is (System).
|
|
13
|
+
*
|
|
14
|
+
* @module @deepwatch/dsh-client-settings/client
|
|
15
|
+
*/
|
|
16
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
17
|
+
export * from './components.js';
|
|
18
|
+
export * from './onboarding.js';
|
|
19
|
+
export * from './readiness.js';
|
|
20
|
+
export * from './binding-state.js';
|
|
21
|
+
export * from './role-bindings.js';
|
|
22
|
+
export * from './chat-gate.js';
|
|
23
|
+
/**
|
|
24
|
+
* Services this half needs before it can register anything.
|
|
25
|
+
*
|
|
26
|
+
* `connection` is what makes Role Bindings a working screen rather than a
|
|
27
|
+
* description of one: it carries the RPC face this package asks for the
|
|
28
|
+
* provider directory, the model catalogue, credential state and the stored
|
|
29
|
+
* assignments. Registering the section without it would put a control on
|
|
30
|
+
* screen that fails when pressed.
|
|
31
|
+
*/
|
|
32
|
+
export declare const inject: string[];
|
|
33
|
+
/** Add the Watch sections to DSH's settings panel. */
|
|
34
|
+
export declare function apply(ctx: Context): void;
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Watch Technology & Capability Center, registered into DSH's settings.
|
|
3
|
+
*
|
|
4
|
+
* `settings.section` is a list, so these seven sit alongside DSH's General,
|
|
5
|
+
* Models and Plugins rather than replacing any of them. That is the whole
|
|
6
|
+
* arrangement: the foundation keeps its settings, and Watch adds the surfaces
|
|
7
|
+
* that make its own capabilities inspectable.
|
|
8
|
+
*
|
|
9
|
+
* The `order` values start at 20 so upstream's sections keep the top of the
|
|
10
|
+
* list, and they are grouped so the reading order tells a story — what the
|
|
11
|
+
* agent is (Intelligence), what it can perceive (Perception), what it keeps
|
|
12
|
+
* (Memory), what it can prove (Truth), and what it actually is (System).
|
|
13
|
+
*
|
|
14
|
+
* @module @deepwatch/dsh-client-settings/client
|
|
15
|
+
*/
|
|
16
|
+
import { useEffect, useSyncExternalStore } from 'react';
|
|
17
|
+
import { AboutSection, DiagnosticsSection, EnginesSection, MemorySection, SourcesSection, VerificationSection, } from './components.js';
|
|
18
|
+
import { WatchOnboarding } from './onboarding.js';
|
|
19
|
+
import { BindingStore } from './binding-state.js';
|
|
20
|
+
import { RoleBindings } from './role-bindings.js';
|
|
21
|
+
import { ChatGate } from './chat-gate.js';
|
|
22
|
+
export * from './components.js';
|
|
23
|
+
export * from './onboarding.js';
|
|
24
|
+
export * from './readiness.js';
|
|
25
|
+
export * from './binding-state.js';
|
|
26
|
+
export * from './role-bindings.js';
|
|
27
|
+
export * from './chat-gate.js';
|
|
28
|
+
/**
|
|
29
|
+
* Services this half needs before it can register anything.
|
|
30
|
+
*
|
|
31
|
+
* `connection` is what makes Role Bindings a working screen rather than a
|
|
32
|
+
* description of one: it carries the RPC face this package asks for the
|
|
33
|
+
* provider directory, the model catalogue, credential state and the stored
|
|
34
|
+
* assignments. Registering the section without it would put a control on
|
|
35
|
+
* screen that fails when pressed.
|
|
36
|
+
*/
|
|
37
|
+
// `remote` is listed because Diagnostics reads the engine through
|
|
38
|
+
// `remote.watchQuery`, and cordis refuses a property no inject entry claims —
|
|
39
|
+
// the Health card rendered as a crashed slot until this said so.
|
|
40
|
+
//
|
|
41
|
+
// `remote.watchQuery` is listed for the same reason: cordis guards the nested
|
|
42
|
+
// namespace separately, and reaching it without the entry crashed the settings
|
|
43
|
+
// slot rather than returning undefined.
|
|
44
|
+
//
|
|
45
|
+
// Listing it parks this plugin until the namespace is mounted, which is only
|
|
46
|
+
// safe because `@deepwatch/dsh-client-remotes` is now a declared
|
|
47
|
+
// `dsh.client.inject` dependency in package.json — the boot graph reads that,
|
|
48
|
+
// not this constant, and without it the mount ordering was not guaranteed.
|
|
49
|
+
// The lookup below is still written defensively, so a profile that somehow
|
|
50
|
+
// lacks the namespace gets "could not be read" rather than a blank card.
|
|
51
|
+
export const inject = ['slots', 'connection', 'remote', 'remote.watchQuery'];
|
|
52
|
+
/** One live Core reading shared by onboarding and Diagnostics. */
|
|
53
|
+
class CoreHealthStore {
|
|
54
|
+
reader;
|
|
55
|
+
snapshot = { health: null, reading: true, loaded: false };
|
|
56
|
+
listeners = new Set();
|
|
57
|
+
generation = 0;
|
|
58
|
+
inFlight = null;
|
|
59
|
+
constructor(reader) {
|
|
60
|
+
this.reader = reader;
|
|
61
|
+
}
|
|
62
|
+
getSnapshot = () => this.snapshot;
|
|
63
|
+
subscribe = (listener) => {
|
|
64
|
+
this.listeners.add(listener);
|
|
65
|
+
return () => { this.listeners.delete(listener); };
|
|
66
|
+
};
|
|
67
|
+
publish(snapshot) {
|
|
68
|
+
this.snapshot = snapshot;
|
|
69
|
+
for (const listener of this.listeners)
|
|
70
|
+
listener();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Read once, however many surfaces ask.
|
|
74
|
+
*
|
|
75
|
+
* Onboarding and Diagnostics mount independently and both need the same
|
|
76
|
+
* reading. Firing a second Core handshake because a second surface appeared
|
|
77
|
+
* is two readings that can disagree, and the one a person is looking at
|
|
78
|
+
* would be whichever landed last.
|
|
79
|
+
*/
|
|
80
|
+
ensureLoaded() {
|
|
81
|
+
if (this.snapshot.loaded || this.inFlight !== null)
|
|
82
|
+
return;
|
|
83
|
+
this.inFlight = this.refresh().finally(() => { this.inFlight = null; });
|
|
84
|
+
}
|
|
85
|
+
async refresh() {
|
|
86
|
+
const generation = ++this.generation;
|
|
87
|
+
this.publish({ ...this.snapshot, reading: true });
|
|
88
|
+
const reader = this.reader();
|
|
89
|
+
if (reader === null) {
|
|
90
|
+
this.publish({ health: null, reading: false, loaded: true });
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
const result = await reader({
|
|
95
|
+
protocol: 1, requestId: `req_${Date.now().toString(36)}`, deadlineMs: 15_000,
|
|
96
|
+
}, new AbortController().signal);
|
|
97
|
+
if (generation !== this.generation)
|
|
98
|
+
return;
|
|
99
|
+
const report = result.ok ? result.value : null;
|
|
100
|
+
this.publish({
|
|
101
|
+
health: report?.outcome === 'core_health' ? report : null,
|
|
102
|
+
reading: false,
|
|
103
|
+
loaded: true,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
if (generation === this.generation) {
|
|
108
|
+
this.publish({ health: null, reading: false, loaded: true });
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/** Add the Watch sections to DSH's settings panel. */
|
|
114
|
+
export function apply(ctx) {
|
|
115
|
+
const slots = ctx.slots;
|
|
116
|
+
// One store for the whole panel. Two would be two answers to "is Chat
|
|
117
|
+
// ready?", and the screen that showed a stale one would be the screen
|
|
118
|
+
// somebody trusted.
|
|
119
|
+
// Diagnostics reads the same store, so "Agent Model — Not configured" cannot
|
|
120
|
+
// sit beside a Role Bindings screen saying Chat is ready. One store, one
|
|
121
|
+
// answer, on every surface that asks.
|
|
122
|
+
/**
|
|
123
|
+
* The channel to the engine, looked up when Diagnostics renders.
|
|
124
|
+
*
|
|
125
|
+
* Deliberately *not* an `inject` entry. Naming `remote.watchQuery` there
|
|
126
|
+
* parks this whole plugin until the service exists, and the cost of being
|
|
127
|
+
* wrong about that is not a missing Health card — it is every Watch settings
|
|
128
|
+
* section disappearing, which is what happened: "View diagnostics" became a
|
|
129
|
+
* button that did nothing. The same mistake is recorded twenty lines below
|
|
130
|
+
* about `conversation`, and it is the same mistake.
|
|
131
|
+
*
|
|
132
|
+
* So this is read at the point of use, and its absence is a state the panel
|
|
133
|
+
* already renders honestly: "could not be read" rather than a plausible
|
|
134
|
+
* default. A screen that says it does not know beats a screen that is not
|
|
135
|
+
* there.
|
|
136
|
+
*/
|
|
137
|
+
const readHealth = () => {
|
|
138
|
+
const remote = ctx.remote;
|
|
139
|
+
return remote?.watchQuery?.coreHealth ?? null;
|
|
140
|
+
};
|
|
141
|
+
const runProviderTest = async (provider, model, signal) => {
|
|
142
|
+
const method = ctx.remote?.watchQuery?.providerTest;
|
|
143
|
+
if (method === undefined)
|
|
144
|
+
throw new Error('provider test remote unavailable');
|
|
145
|
+
const result = await method({
|
|
146
|
+
protocol: 1, requestId: `req_provider_${Date.now().toString(36)}`,
|
|
147
|
+
deadlineMs: 15_000, provider, model,
|
|
148
|
+
}, signal);
|
|
149
|
+
if (!result.ok)
|
|
150
|
+
throw new Error('provider test remote refused the request');
|
|
151
|
+
const value = result.value;
|
|
152
|
+
if (value.outcome !== 'provider_test' || value.provider !== provider || value.model !== model) {
|
|
153
|
+
throw new Error('provider test returned a mismatched response');
|
|
154
|
+
}
|
|
155
|
+
return value;
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* The Host's verdict on a route, read rather than remembered.
|
|
159
|
+
*
|
|
160
|
+
* Shaped like `runProviderTest` and deliberately not like it: this spends
|
|
161
|
+
* nothing, reaches no provider, and is asked on every load. It is what stops
|
|
162
|
+
* a tab that has been open across a Host restart, or across an edit made
|
|
163
|
+
* somewhere else, from drawing a tested badge over a route the Host would
|
|
164
|
+
* refuse.
|
|
165
|
+
*/
|
|
166
|
+
const readRouteReadiness = async (provider, model, signal) => {
|
|
167
|
+
const method = ctx.remote?.watchQuery?.routeReadiness;
|
|
168
|
+
if (method === undefined)
|
|
169
|
+
throw new Error('route readiness remote unavailable');
|
|
170
|
+
const result = await method({
|
|
171
|
+
protocol: 1, requestId: `req_readiness_${Date.now().toString(36)}`,
|
|
172
|
+
deadlineMs: 5_000, provider, model,
|
|
173
|
+
}, signal);
|
|
174
|
+
if (!result.ok)
|
|
175
|
+
throw new Error('route readiness remote refused the request');
|
|
176
|
+
const value = result.value;
|
|
177
|
+
if (value.outcome !== 'route_readiness' || value.provider !== provider || value.model !== model) {
|
|
178
|
+
throw new Error('route readiness returned a mismatched response');
|
|
179
|
+
}
|
|
180
|
+
return { proved: value.proved, reason: value.reason };
|
|
181
|
+
};
|
|
182
|
+
const store = new BindingStore(ctx.get('connection').api, runProviderTest, readRouteReadiness);
|
|
183
|
+
const RoleBindingsSection = () => RoleBindings({ store });
|
|
184
|
+
const healthStore = new CoreHealthStore(readHealth);
|
|
185
|
+
const DiagnosticsWithRoles = () => {
|
|
186
|
+
// Subscribed, not sampled: a Diagnostics page that read the snapshot once
|
|
187
|
+
// would show the readiness that happened to be loaded when it mounted, and
|
|
188
|
+
// go quietly stale the moment somebody bound something in the next tab.
|
|
189
|
+
const snapshot = useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
|
|
190
|
+
useEffect(() => { void store.load(); }, []);
|
|
191
|
+
const core = useSyncExternalStore(healthStore.subscribe, healthStore.getSnapshot, healthStore.getSnapshot);
|
|
192
|
+
useEffect(() => { healthStore.ensureLoaded(); }, []);
|
|
193
|
+
return DiagnosticsSection({
|
|
194
|
+
roles: snapshot.roles, health: core.health, reading: core.reading,
|
|
195
|
+
onRefresh: () => { void healthStore.refresh(); },
|
|
196
|
+
});
|
|
197
|
+
};
|
|
198
|
+
const OnboardingWithReadiness = (props) => {
|
|
199
|
+
const snapshot = useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
|
|
200
|
+
const core = useSyncExternalStore(healthStore.subscribe, healthStore.getSnapshot, healthStore.getSnapshot);
|
|
201
|
+
useEffect(() => { void store.load(); healthStore.ensureLoaded(); }, []);
|
|
202
|
+
return WatchOnboarding({
|
|
203
|
+
...props, roles: snapshot.roles, health: core.health, reading: core.reading,
|
|
204
|
+
});
|
|
205
|
+
};
|
|
206
|
+
const section = (id, label, order, component) => {
|
|
207
|
+
slots.inject('settings.section', () => {
|
|
208
|
+
slots.register({ name: 'settings.section', id, label, order }, component);
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
// A section label has 112px, measured in the running settings nav.
|
|
212
|
+
//
|
|
213
|
+
// "Perception Engines", "Sources & Devices" and "Memory & Retrieval" were
|
|
214
|
+
// 118px, 114px and 124px, so all three ellipsised to "Perception Engi…",
|
|
215
|
+
// "Sources & Devic…" and "Memory & Retri…" — three of eight Watch sections
|
|
216
|
+
// unreadable in every screenshot. The one-word forms are 66px, 49px and
|
|
217
|
+
// 52px, and they sit consistently beside the labels that already fit:
|
|
218
|
+
// Role Bindings 84px, Verification 70px, Diagnostics 72px, About 39px.
|
|
219
|
+
//
|
|
220
|
+
// The nav width is DSH's, so the label is the half that has to give.
|
|
221
|
+
// INTELLIGENCE — what the agent is, and what each capability is bound to.
|
|
222
|
+
// DSH's own Models section stays where it is; this adds the per-role view it
|
|
223
|
+
// has no reason to carry, since roles are a Watch concept.
|
|
224
|
+
section('watch-roles', 'Role Bindings', 20, RoleBindingsSection);
|
|
225
|
+
// PERCEPTION — what runs here, and what it is allowed to see.
|
|
226
|
+
section('watch-engines', 'Perception', 30, EnginesSection);
|
|
227
|
+
section('watch-sources', 'Sources', 40, SourcesSection);
|
|
228
|
+
// MEMORY — what is kept, under which rules.
|
|
229
|
+
section('watch-memory', 'Memory', 50, MemorySection);
|
|
230
|
+
// TRUTH — what a verdict means and who may issue one.
|
|
231
|
+
section('watch-verification', 'Verification', 60, VerificationSection);
|
|
232
|
+
// SYSTEM — what this installation actually is.
|
|
233
|
+
section('watch-diagnostics', 'Diagnostics', 70, DiagnosticsWithRoles);
|
|
234
|
+
section('watch-about', 'About', 80, AboutSection);
|
|
235
|
+
// The composer's own preflight, in the seat beside it.
|
|
236
|
+
//
|
|
237
|
+
// The seat is claimed unconditionally and the conversation service is looked
|
|
238
|
+
// up when the gate renders. Parking the registration behind
|
|
239
|
+
// `ctx.inject(['conversation'], …)` looked tidier and was wrong: the
|
|
240
|
+
// callback never ran, so the card never drew and the composer was never
|
|
241
|
+
// blocked -- silently, while every other surface in this package worked.
|
|
242
|
+
// Upstream's own model-selection plugin reaches the same registry with a
|
|
243
|
+
// plain `ctx.get('conversation')` at the point of use, which is late enough
|
|
244
|
+
// to be there.
|
|
245
|
+
//
|
|
246
|
+
// It lives here rather than in the shell because this is the package that
|
|
247
|
+
// knows. Upstream's note on composer blocks says the model-selection plugin
|
|
248
|
+
// is what raises one -- "the composer cannot read the plugins that would
|
|
249
|
+
// know" -- and in this distribution that is this package: it holds the
|
|
250
|
+
// store, the readiness and the picker. Anywhere else would mean a second
|
|
251
|
+
// store, and two answers to "can Chat run?".
|
|
252
|
+
const blocks = () => ctx.get('conversation')?.blocks;
|
|
253
|
+
slots.inject('conversation.input.dock', () => {
|
|
254
|
+
slots.register(
|
|
255
|
+
// Order 5, ahead of the Watch composer panel at 10: a person who cannot
|
|
256
|
+
// send yet should meet the reason before the turn controls.
|
|
257
|
+
{ name: 'conversation.input.dock', id: 'watch-chat-gate', order: 5 }, ({ sessionId }) => ChatGate({ sessionId, store, blocks }));
|
|
258
|
+
});
|
|
259
|
+
// The first-run screen, ahead of upstream's.
|
|
260
|
+
//
|
|
261
|
+
// `settings.onboarding` is a list and DSH renders `{ only: currentStep }`, so
|
|
262
|
+
// order decides what a person sees first. Upstream registers
|
|
263
|
+
// `deepseek-official` at 0; this sits at -50 and leads instead with what the
|
|
264
|
+
// product is and what is actually ready.
|
|
265
|
+
//
|
|
266
|
+
// Upstream's step is not removed. DeepSeek remains a perfectly good provider
|
|
267
|
+
// choice, and continuing past this screen reaches it unchanged — the change
|
|
268
|
+
// is that connecting it is no longer presented as the price of entry.
|
|
269
|
+
slots.inject('settings.onboarding', () => {
|
|
270
|
+
slots.register({ name: 'settings.onboarding', id: 'watch-welcome', order: -50 }, OnboardingWithReadiness);
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeepWatch's first-run product surface.
|
|
3
|
+
*
|
|
4
|
+
* The settings.onboarding slot renders from a narrow sidebar seat, so this
|
|
5
|
+
* component owns a real modal. DSH's Modal keeps the focus, Escape and mask
|
|
6
|
+
* behavior; this component only owns the product layout inside it.
|
|
7
|
+
*
|
|
8
|
+
* Both counts come from the same normalized runtime snapshot as Diagnostics.
|
|
9
|
+
* Nothing is shown ready while it loads, and a saved credential is not a
|
|
10
|
+
* successful provider test.
|
|
11
|
+
*
|
|
12
|
+
* @module @deepwatch/dsh-client-settings/onboarding
|
|
13
|
+
*/
|
|
14
|
+
import type { ReactNode } from 'react';
|
|
15
|
+
import type { CoreHealthReport } from '@deepwatch/dsh-contracts/query/wire';
|
|
16
|
+
import type { RoleRow } from './binding-state.js';
|
|
17
|
+
/** What DSH hands an onboarding step. */
|
|
18
|
+
export interface OnboardingProps {
|
|
19
|
+
readonly stepId?: string;
|
|
20
|
+
readonly complete?: () => void;
|
|
21
|
+
readonly openSection?: (id: string) => void;
|
|
22
|
+
readonly roles?: readonly RoleRow[];
|
|
23
|
+
readonly health?: CoreHealthReport | null;
|
|
24
|
+
readonly reading?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/** The truthful, intentional first impression of DeepWatch. */
|
|
27
|
+
export declare function WatchOnboarding({ complete, openSection, roles, health, reading }: OnboardingProps): ReactNode;
|
|
28
|
+
//# sourceMappingURL=onboarding.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, IconCheckOutline16, IconRightUpOutline16, IconSettingsOutline16, Modal, } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
3
|
+
import { PRODUCT_NAME, WATCH_MARK_PNG } from '@deepwatch/dsh-client-brand';
|
|
4
|
+
import { deriveReadiness } from './readiness.js';
|
|
5
|
+
import css from './onboarding.module.css';
|
|
6
|
+
/** A human list that stays useful at zero, one and many items. */
|
|
7
|
+
function names(items) {
|
|
8
|
+
if (items.length === 0)
|
|
9
|
+
return 'None yet';
|
|
10
|
+
if (items.length <= 3)
|
|
11
|
+
return items.map(item => item.name).join(' · ');
|
|
12
|
+
return items.slice(0, 2).map(item => item.name).join(' · ')
|
|
13
|
+
+ ' · +' + String(items.length - 2) + ' more';
|
|
14
|
+
}
|
|
15
|
+
/** The truthful, intentional first impression of DeepWatch. */
|
|
16
|
+
export function WatchOnboarding({ complete, openSection, roles, health, reading }) {
|
|
17
|
+
const readiness = deriveReadiness({ roles, health, reading });
|
|
18
|
+
const ready = readiness.filter(item => item.status === 'ready');
|
|
19
|
+
const pending = readiness.filter(item => item.status !== 'ready');
|
|
20
|
+
const finish = () => { complete?.(); };
|
|
21
|
+
const go = (section) => {
|
|
22
|
+
openSection?.(section);
|
|
23
|
+
finish();
|
|
24
|
+
};
|
|
25
|
+
return (_jsx(Modal, { open: true, title: 'Welcome to ' + PRODUCT_NAME, onClose: finish, headless: true, className: css.dialog ?? '', children: _jsxs("section", { className: css.card, "aria-labelledby": "watch-welcome-title", children: [_jsxs("header", { className: css.hero, children: [_jsxs("div", { className: css.identity, children: [_jsx("div", { className: css.markFrame, "aria-hidden": "true", children: _jsx("img", { src: WATCH_MARK_PNG, width: 58, height: 58, alt: "", className: css.mark }) }), _jsxs("div", { className: css.titleBlock, children: [_jsx("span", { className: css.eyebrow, children: "DEEPWATCH / INTO THE KNOW" }), _jsxs("h2", { id: "watch-welcome-title", className: css.title, children: ["See what happened.", _jsx("br", {}), "Prove what worked."] }), _jsx("p", { className: css.tagline, children: "See \u00B7 Remember \u00B7 Act \u00B7 Verify" })] })] }), _jsx("p", { className: css.lead, children: "Your local evidence workspace is ready to begin. Connect a model when you want conversation; local capabilities need no provider and no network." })] }), _jsxs("div", { className: css.statusSection, children: [_jsxs("div", { className: css.statusHeading, children: [_jsx("span", { className: css.eyebrow, children: "INSTALLATION STATUS" }), _jsxs("span", { className: css.liveLabel, "aria-live": "polite", children: [_jsx("span", { className: [css.liveDot, reading === true ? css.checkingDot : '']
|
|
26
|
+
.filter(Boolean).join(' '), "aria-hidden": "true" }), reading === true ? 'Checking runtime' : 'Runtime checked'] })] }), _jsxs("div", { className: css.statusGrid, role: "group", "aria-label": "What is ready now", children: [_jsxs("article", { className: [css.metricCard, css.readyCard].filter(Boolean).join(' '), "data-watch-readiness": "ready", children: [_jsxs("div", { className: css.metricTop, children: [_jsxs("span", { className: css.metricLabel, children: [_jsx(IconCheckOutline16, { size: 16 }), "Ready now"] }), _jsx("strong", { className: css.metricValue, "data-watch-count": true, children: reading === true ? '—' : ready.length })] }), _jsx("p", { className: css.metricCopy, children: reading === true
|
|
27
|
+
? 'Checking this installation. Nothing is assumed ready.'
|
|
28
|
+
: names(ready) + ' passed ' + (ready.length === 1 ? 'its' : 'their')
|
|
29
|
+
+ ' runtime gates.' })] }), _jsxs("article", { className: css.metricCard, "data-watch-readiness": "pending", children: [_jsxs("div", { className: css.metricTop, children: [_jsxs("span", { className: css.metricLabel, children: [_jsx(IconSettingsOutline16, { size: 16 }), "Needs setup"] }), _jsx("strong", { className: css.metricValue, "data-watch-count": true, children: pending.length })] }), _jsx("p", { className: css.metricCopy, children: "Configure, test or repair these when you need them. Saved is never presented as tested." })] })] })] }), _jsxs("div", { className: css.consent, children: [_jsx("span", { className: css.consentIcon, "aria-hidden": "true", children: _jsx(IconCheckOutline16, { size: 14 }) }), _jsxs("div", { children: [_jsx("strong", { children: "Private by default" }), _jsx("p", { children: "Connecting a model does not permit uploading frames, audio, transcripts or evidence. Media access is separate and stays off." })] })] }), _jsxs("footer", { className: css.footer, children: [_jsx(Button, { variant: "ghost", icon: _jsx(IconRightUpOutline16, { size: 16 }), onClick: () => { go('watch-diagnostics'); }, children: "View diagnostics" }), _jsxs("div", { className: css.primaryActions, children: [_jsx(Button, { variant: "outline", onClick: finish, children: "Explore offline" }), _jsx(Button, { variant: "primary", onClick: () => { go('watch-roles'); }, children: "Finish setup" })] })] })] }) }));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=onboarding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/client/onboarding.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Truthful capability readiness shared by onboarding and Diagnostics. */
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { BindableRole } from '@deepwatch/dsh-contracts';
|
|
4
|
+
import type { CoreHealthReport } from '@deepwatch/dsh-contracts/query/wire';
|
|
5
|
+
import type { ChipTone } from './components.js';
|
|
6
|
+
import type { RoleRow } from './binding-state.js';
|
|
7
|
+
/** The complete UI vocabulary. No surface may invent a more flattering state. */
|
|
8
|
+
export type ReadinessStatus = 'loading' | 'ready' | 'degraded' | 'unconfigured' | 'unavailable' | 'not_tested' | 'error';
|
|
9
|
+
export declare const READINESS_STATUS_LABEL: Readonly<Record<ReadinessStatus, string>>;
|
|
10
|
+
/** One capability definition. Runtime state is deliberately not stored here. */
|
|
11
|
+
export interface ReadinessDefinition {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly detail: string;
|
|
14
|
+
readonly section?: string;
|
|
15
|
+
readonly role?: BindableRole;
|
|
16
|
+
readonly coreCapabilities?: readonly string[];
|
|
17
|
+
readonly defaultStatus?: 'unconfigured' | 'not_tested';
|
|
18
|
+
}
|
|
19
|
+
/** One capability after live facts have been folded through the shared model. */
|
|
20
|
+
export interface ReadinessRow extends ReadinessDefinition {
|
|
21
|
+
readonly status: ReadinessStatus;
|
|
22
|
+
readonly statusLabel: string;
|
|
23
|
+
readonly tone: ChipTone;
|
|
24
|
+
}
|
|
25
|
+
export declare const READINESS: readonly ReadinessDefinition[];
|
|
26
|
+
export interface ReadinessFacts {
|
|
27
|
+
readonly roles?: readonly RoleRow[] | undefined;
|
|
28
|
+
readonly health?: CoreHealthReport | null | undefined;
|
|
29
|
+
readonly reading?: boolean | undefined;
|
|
30
|
+
}
|
|
31
|
+
/** Derive every row from runtime facts. Used by both first-run and Diagnostics. */
|
|
32
|
+
export declare function deriveReadiness(facts: ReadinessFacts): readonly ReadinessRow[];
|
|
33
|
+
export declare function ReadinessList({ openSection, roles, health, reading }: ReadinessFacts & {
|
|
34
|
+
readonly openSection?: ((id: string) => void) | undefined;
|
|
35
|
+
}): ReactNode;
|
|
36
|
+
//# sourceMappingURL=readiness.d.ts.map
|