@stigmer/embed 3.35.0 → 3.36.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/define.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["src/define.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/define.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["src/define.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,kBAAkB,EAAE,CAAC"}
package/element.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0BH,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAExD;AAED;;;;;;;;GAQG;AACH,QAAA,MAAM,WAAW,EAEZ,OAAO,WAAW,CAAC;AAExB,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,MAAM,KAAK,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAEjD;IAED,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,IAAI,CAA0B;IAEtC,iBAAiB,IAAI,IAAI;IAIzB,oBAAoB,IAAI,IAAI;IAI5B,wBAAwB,IAAI,IAAI;IAQhC,OAAO,CAAC,MAAM;IAkDd,OAAO,CAAC,MAAM;CAMf;AAgDD,gEAAgE;AAChE,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["src/element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0BH,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAExD;AAED;;;;;;;;GAQG;AACH,QAAA,MAAM,WAAW,EAEZ,OAAO,WAAW,CAAC;AAExB,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,MAAM,KAAK,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAEjD;IAED,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,IAAI,CAA0B;IAEtC,iBAAiB,IAAI,IAAI;IAIzB,oBAAoB,IAAI,IAAI;IAI5B,wBAAwB,IAAI,IAAI;IAQhC,OAAO,CAAC,MAAM;IAkDd,OAAO,CAAC,MAAM;CAMf;AAgDD,gEAAgE;AAChE,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC"}
package/element.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["src/element.ts"],"names":[],"mappings":"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"}
package/frame.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AAKpC;;;GAGG;AACH,wBAAgB,UAAU,IAAI,OAAO,CASpC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,MAA6B,GACvC,OAAO,CAAC,MAAM,CAAC,CAQjB;AAiDD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,GACnB,IAAI,CAIN"}
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["src/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AAKpC;;;GAGG;AACH,wBAAgB,UAAU,IAAI,OAAO,CASpC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,MAA6B,GACvC,OAAO,CAAC,MAAM,CAAC,CAQjB;AAiDD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,GACnB,IAAI,CAIN"}
package/frame.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"frame.js","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame.js","sourceRoot":"","sources":["src/frame.ts"],"names":[],"mappings":"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"}
package/global.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAStB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["src/global.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAStB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
package/global.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;AACtC,IAAI,MAAM,YAAY,iBAAiB,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;IACtD,mBAAmB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,kBAAkB,EAAE,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["src/global.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;AACtC,IAAI,MAAM,YAAY,iBAAiB,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;IACtD,mBAAmB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,kBAAkB,EAAE,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
package/host.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,2DAA2D;IAC3D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,iBAAsB,GAC/B,SAAS,CAiCX"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["src/host.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,2DAA2D;IAC3D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,iBAAsB,GAC/B,SAAS,CAiCX"}
package/host.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAc1D;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAyB,EACzB,WAAmB,EACnB,WAA8B,EAAE;IAEhC,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAQ,EAAE;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa;YAAE,OAAO;QAClD,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO;QACzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,OAAO;gBACV,QAAQ,EAAE,CAAC;gBACX,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrB,MAAM;YACR,KAAK,SAAS;gBACZ,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;gBACvB,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE1C,OAAO;QACL,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["src/host.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAc1D;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAyB,EACzB,WAAmB,EACnB,WAA8B,EAAE;IAEhC,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAQ,EAAE;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa;YAAE,OAAO;QAClD,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO;QACzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,OAAO;gBACV,QAAQ,EAAE,CAAC;gBACX,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrB,MAAM;YACR,KAAK,SAAS;gBACZ,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;gBACvB,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE1C,OAAO;QACL,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC"}
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,EACN,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,KAAK,SAAS,EACd,KAAK,iBAAiB,GACvB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,EACN,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,KAAK,SAAS,EACd,KAAK,iBAAiB,GACvB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,GAGP,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,GAGhB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,GAGP,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,GAGhB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
package/jsx.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;;;;;;;;;;GAgBG;AAGH,UAAU,sBACR,SAAQ,eAAe,CAAC,mBAAmB,CAAC,EAC1C,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACvD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAU,GAAG,CAAC;QACZ,UAAU,iBAAiB;YACzB,eAAe,EAAE,sBAAsB,CAAC;SACzC;KACF;CACF;AAGD,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["src/jsx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;;;;;;;;;;GAgBG;AAGH,UAAU,sBACR,SAAQ,eAAe,CAAC,mBAAmB,CAAC,EAC1C,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACvD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAU,GAAG,CAAC;QACZ,UAAU,iBAAiB;YACzB,eAAe,EAAE,sBAAsB,CAAC;SACzC;KACF;CACF;AAGD,OAAO,EAAE,CAAC"}
package/jsx.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../src/jsx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
1
+ {"version":3,"file":"jsx.js","sourceRoot":"","sources":["src/jsx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/embed",
3
- "version": "3.35.0",
3
+ "version": "3.36.0",
4
4
  "description": "One-line script embed for shared Stigmer agents — a framework-free <stigmer-agent> web component that bootstraps the hosted chat page in an iframe",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
package/protocol.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAC5C,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,kFAAkF;AAClF,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAEjC,kFAAkF;AAClF,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,UAAU,QAAQ;IAChB,QAAQ,CAAC,MAAM,EAAE,OAAO,YAAY,CAAC;IACrC,QAAQ,CAAC,CAAC,EAAE,OAAO,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,mEAAmE;AACnE,wBAAgB,MAAM,CACpB,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,GAC/C,QAAQ,CAEV;AAWD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAW1E;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAIzE"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAC5C,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,kFAAkF;AAClF,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAEjC,kFAAkF;AAClF,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,UAAU,QAAQ;IAChB,QAAQ,CAAC,MAAM,EAAE,OAAO,YAAY,CAAC;IACrC,QAAQ,CAAC,CAAC,EAAE,OAAO,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,mEAAmE;AACnE,wBAAgB,MAAM,CACpB,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,GAC/C,QAAQ,CAEV;AAWD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAW1E;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAIzE"}
package/protocol.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAiBxC,mEAAmE;AACnE,MAAM,UAAU,MAAM,CACpB,OAAgD;IAEhD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,sBAAsB,EAAE,GAAG,OAAO,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,SAAS,GAAG,IAA+B,CAAC;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,SAAS,CAAC,CAAC,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,SAAgC,CAAC;AAC1C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAiBxC,mEAAmE;AACnE,MAAM,UAAU,MAAM,CACpB,OAAgD;IAEhD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,sBAAsB,EAAE,GAAG,OAAO,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,SAAS,GAAG,IAA+B,CAAC;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,SAAS,CAAC,CAAC,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,SAAgC,CAAC;AAC1C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC"}
@@ -1,177 +0,0 @@
1
- import { afterEach, beforeAll, describe, expect, it, vi } from "vitest";
2
-
3
- import {
4
- StigmerAgentElement,
5
- defineStigmerAgent,
6
- setDefaultAppOrigin,
7
- } from "../element.js";
8
- import { toWire } from "../protocol.js";
9
-
10
- const APP_ORIGIN = "https://app.stigmer.example";
11
-
12
- beforeAll(() => {
13
- defineStigmerAgent();
14
- });
15
-
16
- afterEach(() => {
17
- document.body.innerHTML = "";
18
- setDefaultAppOrigin(APP_ORIGIN);
19
- });
20
-
21
- function mount(attributes: Record<string, string>): StigmerAgentElement {
22
- const element = document.createElement("stigmer-agent") as StigmerAgentElement;
23
- for (const [name, value] of Object.entries(attributes)) {
24
- element.setAttribute(name, value);
25
- }
26
- document.body.appendChild(element);
27
- return element;
28
- }
29
-
30
- function iframeOf(element: StigmerAgentElement): HTMLIFrameElement | null {
31
- return element.querySelector("iframe");
32
- }
33
-
34
- describe("<stigmer-agent>", () => {
35
- it("registers exactly once, tolerating repeat define calls", () => {
36
- defineStigmerAgent();
37
- expect(customElements.get("stigmer-agent")).toBe(StigmerAgentElement);
38
- });
39
-
40
- it("renders an iframe onto the hosted chat page for org/agent", () => {
41
- setDefaultAppOrigin(APP_ORIGIN);
42
- const element = mount({ org: "acme", agent: "support-bot" });
43
-
44
- const iframe = iframeOf(element);
45
- expect(iframe).not.toBeNull();
46
- expect(iframe!.src).toBe(`${APP_ORIGIN}/chat/acme/support-bot`);
47
- expect(element.style.width).toBe("400px");
48
- expect(element.style.height).toBe("600px");
49
- });
50
-
51
- it("honors width/height (bare numbers become px) and explicit themes", () => {
52
- setDefaultAppOrigin(APP_ORIGIN);
53
- const element = mount({
54
- org: "acme",
55
- agent: "support-bot",
56
- width: "320",
57
- height: "80vh",
58
- theme: "dark",
59
- });
60
-
61
- expect(element.style.width).toBe("320px");
62
- expect(element.style.height).toBe("80vh");
63
- expect(iframeOf(element)!.src).toBe(
64
- `${APP_ORIGIN}/chat/acme/support-bot?theme=dark`,
65
- );
66
- });
67
-
68
- it("forwards the token attribute as ?k= on the iframe URL (locked link)", () => {
69
- setDefaultAppOrigin(APP_ORIGIN);
70
- const element = mount({
71
- org: "acme",
72
- agent: "support-bot",
73
- token: "tok123",
74
- theme: "dark",
75
- });
76
-
77
- // The hosted page reads ?k= and forwards it on its guest mint; the
78
- // token must ride BEFORE theme so the URL matches the SDK's shape.
79
- expect(iframeOf(element)!.src).toBe(
80
- `${APP_ORIGIN}/chat/acme/support-bot?k=tok123&theme=dark`,
81
- );
82
- });
83
-
84
- it("prefers the app-origin attribute over the loader default", () => {
85
- setDefaultAppOrigin(APP_ORIGIN);
86
- const element = mount({
87
- org: "acme",
88
- agent: "support-bot",
89
- "app-origin": "https://selfhosted.example",
90
- });
91
-
92
- expect(iframeOf(element)!.src).toBe(
93
- "https://selfhosted.example/chat/acme/support-bot",
94
- );
95
- });
96
-
97
- it("URL-encodes org and agent path segments", () => {
98
- setDefaultAppOrigin(APP_ORIGIN);
99
- const element = mount({ org: "acme co", agent: "bot/one" });
100
-
101
- expect(iframeOf(element)!.src).toBe(
102
- `${APP_ORIGIN}/chat/acme%20co/bot%2Fone`,
103
- );
104
- });
105
-
106
- it("renders nothing (with a console error) when required config is missing", () => {
107
- const consoleError = vi
108
- .spyOn(console, "error")
109
- .mockImplementation(() => undefined);
110
-
111
- const missingAgent = mount({ org: "acme" });
112
- expect(iframeOf(missingAgent)).toBeNull();
113
-
114
- setDefaultAppOrigin("");
115
- const missingOrigin = mount({ org: "acme", agent: "support-bot" });
116
- expect(iframeOf(missingOrigin)).toBeNull();
117
-
118
- expect(consoleError).toHaveBeenCalled();
119
- consoleError.mockRestore();
120
- });
121
-
122
- it("hides itself and dispatches stigmer:refused when the frame reports refusal", () => {
123
- setDefaultAppOrigin(APP_ORIGIN);
124
- const element = mount({ org: "acme", agent: "support-bot" });
125
- const refused = vi.fn();
126
- element.addEventListener("stigmer:refused", refused);
127
-
128
- window.dispatchEvent(
129
- new MessageEvent("message", {
130
- data: toWire({ type: "refused" }),
131
- origin: APP_ORIGIN,
132
- source: iframeOf(element)!.contentWindow,
133
- }),
134
- );
135
-
136
- expect(element.style.display).toBe("none");
137
- expect(refused).toHaveBeenCalledTimes(1);
138
- });
139
-
140
- it("dispatches stigmer:ready when the frame reports readiness", () => {
141
- setDefaultAppOrigin(APP_ORIGIN);
142
- const element = mount({ org: "acme", agent: "support-bot" });
143
- const ready = vi.fn();
144
- element.addEventListener("stigmer:ready", ready);
145
-
146
- window.dispatchEvent(
147
- new MessageEvent("message", {
148
- data: toWire({ type: "ready" }),
149
- origin: APP_ORIGIN,
150
- source: iframeOf(element)!.contentWindow,
151
- }),
152
- );
153
-
154
- expect(ready).toHaveBeenCalledTimes(1);
155
- expect(element.style.display).toBe("inline-block");
156
- });
157
-
158
- it("tears down its iframe and bridge on disconnect", () => {
159
- setDefaultAppOrigin(APP_ORIGIN);
160
- const element = mount({ org: "acme", agent: "support-bot" });
161
- const ready = vi.fn();
162
- element.addEventListener("stigmer:ready", ready);
163
- const frameWindow = iframeOf(element)!.contentWindow;
164
-
165
- element.remove();
166
-
167
- expect(iframeOf(element)).toBeNull();
168
- window.dispatchEvent(
169
- new MessageEvent("message", {
170
- data: toWire({ type: "ready" }),
171
- origin: APP_ORIGIN,
172
- source: frameWindow,
173
- }),
174
- );
175
- expect(ready).not.toHaveBeenCalled();
176
- });
177
- });
@@ -1,141 +0,0 @@
1
- import { afterEach, describe, expect, it, vi } from "vitest";
2
-
3
- import { OPAQUE_ORIGIN, notifyParent, resolveParentOrigin } from "../frame.js";
4
- import { toWire } from "../protocol.js";
5
-
6
- /**
7
- * happy-dom runs the suite unframed (window.self === window.top), so framed
8
- * behavior is exercised by stubbing the browser-owned discovery sources
9
- * (ancestorOrigins, referrer, parent messaging) rather than real nesting —
10
- * real cross-origin frames are e2e territory.
11
- */
12
-
13
- const PARENT_ORIGIN = "https://docs.example.com";
14
-
15
- function stubAncestorOrigins(...origins: string[]): void {
16
- vi.spyOn(window, "location", "get").mockReturnValue({
17
- ...window.location,
18
- ancestorOrigins: {
19
- length: origins.length,
20
- 0: origins[0],
21
- item: (i: number) => origins[i] ?? null,
22
- },
23
- } as unknown as Location);
24
- }
25
-
26
- afterEach(() => {
27
- vi.restoreAllMocks();
28
- });
29
-
30
- describe("resolveParentOrigin", () => {
31
- it("prefers ancestorOrigins when the browser provides it", async () => {
32
- stubAncestorOrigins(PARENT_ORIGIN);
33
-
34
- await expect(resolveParentOrigin()).resolves.toBe(PARENT_ORIGIN);
35
- });
36
-
37
- it("falls back to the referrer origin when ancestorOrigins is unavailable", async () => {
38
- vi.spyOn(document, "referrer", "get").mockReturnValue(
39
- `${PARENT_ORIGIN}/pricing/page?x=1`,
40
- );
41
-
42
- await expect(resolveParentOrigin()).resolves.toBe(PARENT_ORIGIN);
43
- });
44
-
45
- it("skips an opaque ancestor entry and keeps descending the ladder", async () => {
46
- stubAncestorOrigins(OPAQUE_ORIGIN);
47
- vi.spyOn(document, "referrer", "get").mockReturnValue(`${PARENT_ORIGIN}/`);
48
-
49
- await expect(resolveParentOrigin()).resolves.toBe(PARENT_ORIGIN);
50
- });
51
-
52
- it("uses the loader handshake's event.origin when nothing else is available", async () => {
53
- vi.spyOn(document, "referrer", "get").mockReturnValue("");
54
- // The hello goes to window.parent; unframed in happy-dom that is window
55
- // itself, so the loader's reply is simulated with a parent-sourced event.
56
- const helloSent = new Promise<void>((resolve) => {
57
- vi.spyOn(window.parent, "postMessage").mockImplementation(() => {
58
- resolve();
59
- });
60
- });
61
-
62
- const pending = resolveParentOrigin(1_000);
63
- await helloSent;
64
- window.dispatchEvent(
65
- new MessageEvent("message", {
66
- data: toWire({ type: "init" }),
67
- origin: PARENT_ORIGIN,
68
- source: window.parent,
69
- }),
70
- );
71
-
72
- await expect(pending).resolves.toBe(PARENT_ORIGIN);
73
- });
74
-
75
- it("ignores forged init messages that are not from the parent window", async () => {
76
- vi.spyOn(document, "referrer", "get").mockReturnValue("");
77
- vi.spyOn(window.parent, "postMessage").mockImplementation(() => undefined);
78
- const iframe = document.createElement("iframe");
79
- document.body.appendChild(iframe);
80
-
81
- const pending = resolveParentOrigin(50);
82
- window.dispatchEvent(
83
- new MessageEvent("message", {
84
- data: toWire({ type: "init" }),
85
- origin: "https://evil.example.com",
86
- source: iframe.contentWindow,
87
- }),
88
- );
89
-
90
- // The forged message must not settle the ladder; the timeout resolves it
91
- // to the opaque sentinel instead.
92
- await expect(pending).resolves.toBe(OPAQUE_ORIGIN);
93
- iframe.remove();
94
- });
95
-
96
- it("resolves to the opaque sentinel when the handshake times out", async () => {
97
- vi.spyOn(document, "referrer", "get").mockReturnValue("");
98
- vi.spyOn(window.parent, "postMessage").mockImplementation(() => undefined);
99
-
100
- await expect(resolveParentOrigin(20)).resolves.toBe(OPAQUE_ORIGIN);
101
- });
102
- });
103
-
104
- describe("notifyParent", () => {
105
- it("targets the discovered parent origin", () => {
106
- // notifyParent no-ops when unframed, so frame window.top to a distinct
107
- // object for the duration of the call.
108
- vi.spyOn(window, "top", "get").mockReturnValue({} as Window);
109
- const postMessage = vi
110
- .spyOn(window.parent, "postMessage")
111
- .mockImplementation(() => undefined);
112
-
113
- notifyParent({ type: "ready" }, PARENT_ORIGIN);
114
-
115
- expect(postMessage).toHaveBeenCalledWith(
116
- toWire({ type: "ready" }),
117
- PARENT_ORIGIN,
118
- );
119
- });
120
-
121
- it("falls back to a wildcard target for an opaque parent", () => {
122
- vi.spyOn(window, "top", "get").mockReturnValue({} as Window);
123
- const postMessage = vi
124
- .spyOn(window.parent, "postMessage")
125
- .mockImplementation(() => undefined);
126
-
127
- notifyParent({ type: "refused" }, OPAQUE_ORIGIN);
128
-
129
- expect(postMessage).toHaveBeenCalledWith(toWire({ type: "refused" }), "*");
130
- });
131
-
132
- it("no-ops when the page is not framed", () => {
133
- const postMessage = vi
134
- .spyOn(window.parent, "postMessage")
135
- .mockImplementation(() => undefined);
136
-
137
- notifyParent({ type: "ready" }, PARENT_ORIGIN);
138
-
139
- expect(postMessage).not.toHaveBeenCalled();
140
- });
141
- });
@@ -1,103 +0,0 @@
1
- import { afterEach, describe, expect, it, vi } from "vitest";
2
-
3
- import { createEmbedHost } from "../host.js";
4
- import { toWire } from "../protocol.js";
5
-
6
- const FRAME_ORIGIN = "https://app.stigmer.example";
7
-
8
- /**
9
- * happy-dom does not model cross-frame messaging, so the tests drive the
10
- * host's window listener directly with synthetic MessageEvents whose
11
- * source/origin we control — exactly the fields the pinning rules check.
12
- */
13
- function makeIframe(): HTMLIFrameElement {
14
- const iframe = document.createElement("iframe");
15
- document.body.appendChild(iframe);
16
- return iframe;
17
- }
18
-
19
- function dispatchMessage(
20
- data: unknown,
21
- origin: string,
22
- source: MessageEventSource | null,
23
- ): void {
24
- window.dispatchEvent(
25
- new MessageEvent("message", { data, origin, source }),
26
- );
27
- }
28
-
29
- afterEach(() => {
30
- document.body.innerHTML = "";
31
- });
32
-
33
- describe("createEmbedHost", () => {
34
- it("invokes onReady / onRefused for pinned messages from the frame", () => {
35
- const iframe = makeIframe();
36
- const onReady = vi.fn();
37
- const onRefused = vi.fn();
38
- const host = createEmbedHost(iframe, FRAME_ORIGIN, { onReady, onRefused });
39
-
40
- dispatchMessage(toWire({ type: "ready" }), FRAME_ORIGIN, iframe.contentWindow);
41
- dispatchMessage(toWire({ type: "refused" }), FRAME_ORIGIN, iframe.contentWindow);
42
-
43
- expect(onReady).toHaveBeenCalledTimes(1);
44
- expect(onRefused).toHaveBeenCalledTimes(1);
45
- host.destroy();
46
- });
47
-
48
- it("ignores messages from the right origin but the wrong window", () => {
49
- const iframe = makeIframe();
50
- const other = makeIframe();
51
- const onReady = vi.fn();
52
- const host = createEmbedHost(iframe, FRAME_ORIGIN, { onReady });
53
-
54
- dispatchMessage(toWire({ type: "ready" }), FRAME_ORIGIN, other.contentWindow);
55
-
56
- expect(onReady).not.toHaveBeenCalled();
57
- host.destroy();
58
- });
59
-
60
- it("ignores messages from the right window but the wrong origin", () => {
61
- const iframe = makeIframe();
62
- const onReady = vi.fn();
63
- const host = createEmbedHost(iframe, FRAME_ORIGIN, { onReady });
64
-
65
- dispatchMessage(
66
- toWire({ type: "ready" }),
67
- "https://evil.example",
68
- iframe.contentWindow,
69
- );
70
-
71
- expect(onReady).not.toHaveBeenCalled();
72
- host.destroy();
73
- });
74
-
75
- it("answers hello with init posted to the pinned frame origin", () => {
76
- const iframe = makeIframe();
77
- const host = createEmbedHost(iframe, FRAME_ORIGIN);
78
- // Stubbed (not called through): happy-dom's about:blank frame would
79
- // reject the cross-origin target that a real chat frame accepts.
80
- const postMessage = vi
81
- .spyOn(iframe.contentWindow!, "postMessage")
82
- .mockImplementation(() => undefined);
83
-
84
- dispatchMessage(toWire({ type: "hello" }), FRAME_ORIGIN, iframe.contentWindow);
85
-
86
- expect(postMessage).toHaveBeenCalledWith(
87
- toWire({ type: "init" }),
88
- FRAME_ORIGIN,
89
- );
90
- host.destroy();
91
- });
92
-
93
- it("stops reacting after destroy", () => {
94
- const iframe = makeIframe();
95
- const onReady = vi.fn();
96
- const host = createEmbedHost(iframe, FRAME_ORIGIN, { onReady });
97
-
98
- host.destroy();
99
- dispatchMessage(toWire({ type: "ready" }), FRAME_ORIGIN, iframe.contentWindow);
100
-
101
- expect(onReady).not.toHaveBeenCalled();
102
- });
103
- });
@@ -1,55 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
-
3
- import {
4
- EMBED_PROTOCOL_VERSION,
5
- EMBED_SOURCE,
6
- parseFrameMessage,
7
- parseHostMessage,
8
- toWire,
9
- } from "../protocol.js";
10
-
11
- describe("embed protocol", () => {
12
- it("stamps every outbound message with source and version", () => {
13
- expect(toWire({ type: "ready" })).toEqual({
14
- source: EMBED_SOURCE,
15
- v: EMBED_PROTOCOL_VERSION,
16
- type: "ready",
17
- });
18
- });
19
-
20
- it("round-trips every frame->host message type", () => {
21
- for (const type of ["hello", "ready", "refused"] as const) {
22
- expect(parseFrameMessage(toWire({ type }))).toEqual({ type });
23
- }
24
- });
25
-
26
- it("round-trips the host->frame init message", () => {
27
- expect(parseHostMessage(toWire({ type: "init" }))).toEqual({ type: "init" });
28
- });
29
-
30
- it("rejects foreign messages on the shared channel", () => {
31
- // The message channel is page-global: analytics scripts, React DevTools,
32
- // and other embeds all post here. Anything unstamped must parse to null.
33
- const foreign: unknown[] = [
34
- null,
35
- undefined,
36
- "string-message",
37
- 42,
38
- {},
39
- { type: "ready" },
40
- { source: "other-widget", v: 1, type: "ready" },
41
- { source: EMBED_SOURCE, v: 999, type: "ready" },
42
- { source: EMBED_SOURCE, v: EMBED_PROTOCOL_VERSION, type: "unknown" },
43
- { source: EMBED_SOURCE, v: EMBED_PROTOCOL_VERSION },
44
- ];
45
- for (const data of foreign) {
46
- expect(parseFrameMessage(data)).toBeNull();
47
- expect(parseHostMessage(data)).toBeNull();
48
- }
49
- });
50
-
51
- it("does not cross-parse directions", () => {
52
- expect(parseFrameMessage(toWire({ type: "init" }))).toBeNull();
53
- expect(parseHostMessage(toWire({ type: "ready" }))).toBeNull();
54
- });
55
- });
@@ -1,24 +0,0 @@
1
- // @vitest-environment node
2
- //
3
- // SSR safety: React frameworks prerender "use client" components on the
4
- // server, so `import "@stigmer/embed/define"` runs where neither HTMLElement
5
- // nor customElements exist. This suite runs in plain Node (no happy-dom) to
6
- // prove the modules load and no-op there — the regression it pins is the
7
- // module-scope `extends HTMLElement` crash (element.ts's BaseElement shim).
8
-
9
- import { describe, it, expect } from "vitest";
10
-
11
- describe("server-side import", () => {
12
- it("loads element.ts without a DOM and defineStigmerAgent no-ops", async () => {
13
- const { defineStigmerAgent, StigmerAgentElement } = await import(
14
- "../element.js"
15
- );
16
-
17
- expect(typeof StigmerAgentElement).toBe("function");
18
- expect(() => defineStigmerAgent()).not.toThrow();
19
- });
20
-
21
- it("loads the ./define side-effect entry without a DOM", async () => {
22
- await expect(import("../define.js")).resolves.toBeDefined();
23
- });
24
- });