@zhin.js/testing 1.0.5 → 1.0.7

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.
@@ -39,7 +39,9 @@ export declare class FakeOutboundRootHost implements OutboundRootHost {
39
39
  /** Make the next outbound operation reject once. */
40
40
  failNext(error?: unknown): void;
41
41
  send(input: OutboundSendInput): Promise<string | null>;
42
- sendTarget(target: DeliveryTarget, content: unknown, requester: PluginId): Promise<string | null>;
42
+ sendTarget(target: DeliveryTarget, content: unknown, requester: PluginId, options?: Readonly<{
43
+ locale?: import('@zhin.js/plugin-runtime').Locale;
44
+ }>): Promise<string | null>;
43
45
  addReaction(input: OutboundReactionInput): Promise<string | null>;
44
46
  removeReaction(input: unknown): Promise<void>;
45
47
  recall(input: OutboundRecallInput): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"fake-hosts.d.ts","sourceRoot":"","sources":["../src/fake-hosts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAAE,iBAAiB,EAAyB,cAAc,EACtE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,EAClG,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EACnD,MAAM,wBAAwB,CAAC;AAEhC,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0DnC;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,YAAY;;IACvD,QAAQ,CAAC,OAAO,YAAY;IAC5B,OAAO,UAAQ;IACf,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAqB;IAExD,QAAQ,CAAC,MAAM;oBAAiB,MAAM,KAAG,iBAAiB,GAAG,SAAS;MAA6B;IAEnG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAGhE,MAAM,IAAI,SAAS,MAAM,EAAE;IAC3B,cAAc,IAAI,SAAS;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAC3B,qDAAqD;IACrD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,EAAE;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACvG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;;IAC3D,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAM;IAIxC,oDAAoD;IACpD,QAAQ,CAAC,KAAK,GAAE,OAA4C,GAAG,IAAI;IAanE,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACtD,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAGjG,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAC3D,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IACvD,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CACxD"}
1
+ {"version":3,"file":"fake-hosts.d.ts","sourceRoot":"","sources":["../src/fake-hosts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAAE,iBAAiB,EAAyB,cAAc,EACtE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,EAClG,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EACnD,MAAM,wBAAwB,CAAC;AAEhC,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0DnC;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,YAAY;;IACvD,QAAQ,CAAC,OAAO,YAAY;IAC5B,OAAO,UAAQ;IACf,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAqB;IAExD,QAAQ,CAAC,MAAM;oBAAiB,MAAM,KAAG,iBAAiB,GAAG,SAAS;MAA6B;IAEnG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAGhE,MAAM,IAAI,SAAS,MAAM,EAAE;IAC3B,cAAc,IAAI,SAAS;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAC3B,qDAAqD;IACrD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,EAAE;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACvG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;;IAC3D,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAM;IAIxC,oDAAoD;IACpD,QAAQ,CAAC,KAAK,GAAE,OAA4C,GAAG,IAAI;IAanE,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACtD,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAE,MAAM,CAAC,EAAE,OAAO,yBAAyB,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAG5K,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAC3D,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IACvD,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CACxD"}
package/lib/fake-hosts.js CHANGED
@@ -100,8 +100,8 @@ export class FakeOutboundRootHost {
100
100
  return Promise.resolve(id);
101
101
  }
102
102
  send(input) { return this.#record('send', input); }
103
- sendTarget(target, content, requester) {
104
- return this.#record('sendTarget', { target, content }, requester);
103
+ sendTarget(target, content, requester, options) {
104
+ return this.#record('sendTarget', { target, content, ...(options?.locale ? { locale: options.locale } : {}) }, requester);
105
105
  }
106
106
  addReaction(input) { return this.#record('addReaction', input); }
107
107
  async removeReaction(input) { await this.#record('removeReaction', input, undefined, false); }
@@ -1 +1 @@
1
- {"version":3,"file":"fake-hosts.js","sourceRoot":"","sources":["../src/fake-hosts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,KAAU,EAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAEzG,MAAM,WAAW;IACN,IAAI,GAAU,EAAE,CAAC;IAE1B,MAAM,CAA0B,GAAG,MAAc;QAC/C,IAAI,KAAK,GAAQ,EAAE,CAAC;QACpB,IAAI,KAA+D,CAAC;QACpE,IAAI,GAAG,GAAG,QAAQ,CAAC;QACnB,MAAM,GAAG,GAAG,GAAU,EAAE;YACtB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACvD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;gBACnC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAE,CAAC,CAAC,KAAK,CAAW,GAAI,CAAC,CAAC,KAAK,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3E,CAAC,CAAE,CAAC,CAAC,KAAK,CAAW,GAAI,CAAC,CAAC,KAAK,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE;gBAClE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,MAAM,SAAS,GAA0B;YACvC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;YAC/D,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;YAC1F,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;YACpD,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC;SAC7D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAQ,IAAsB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;IAC1F,MAAM;QACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;gBACnC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBAAE,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC;wBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5G,CAAC,EAAE,CAAC;IACN,CAAC;IACD,MAAM,CAAC,KAAU;QACf,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;gBAAE,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/H,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,QAAa,EAAE,IAAqB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;CAC9G;AAED,MAAM,WAAW;IACN,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IACnD,MAAM,CAAC,GAAG,CAAC,KAAe,EAAE,KAAiB,EAAE,GAAW,IAAY,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnH,KAAK,CAAC,IAAI,CAAC,KAAe,EAAE,KAAiB,EAAE,GAAW;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,KAAe,EAAE,KAAiB,EAAE,GAAW,EAAE,QAA4B,EACjG,KAA4B,EAAE,SAAwB;QACtD,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC/D,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;YAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAc,EAAE,SAAS,EAAE,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACtB,OAAO,GAAG,QAAQ,CAAC;IAC5B,OAAO,GAAG,IAAI,CAAC;IACN,KAAK,GAAwB,IAAI,WAAW,EAAE,CAAC;IAC/C,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,IAAY,EAAiC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAEnG,MAAM,CAAC,IAAY,EAAE,WAAoC;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,KAAwB,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,cAAc,KAAgB,OAAO,SAAS,CAAC,CAAC,CAAC;IACjD,KAAK,CAAC,KAAK,KAAoB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,KAAoB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;IACrD,qDAAqD;IACrD,MAAM,CAAC,QAAgB,IAAoB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;CAC5F;AAUD;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACtB,KAAK,GAAuB,EAAE,CAAC;IACxC,QAAQ,CAAU;IAClB,OAAO,GAAG,CAAC,CAAC;IAEZ,oDAAoD;IACpD,QAAQ,CAAC,QAAiB,IAAI,KAAK,CAAC,uBAAuB,CAAC,IAAU,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;IAE9F,OAAO,CAAC,IAA8B,EAAE,KAAc,EAAE,SAAoB,EAAE,KAAK,GAAG,IAAI;QACxF,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvG,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,KAAwB,IAA4B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9F,UAAU,CAAC,MAAsB,EAAE,OAAgB,EAAE,SAAmB;QACtE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IACD,WAAW,CAAC,KAA4B,IAA4B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChH,KAAK,CAAC,cAAc,CAAC,KAAc,IAAmB,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACtH,KAAK,CAAC,MAAM,CAAC,KAA0B,IAAmB,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAClH,IAAI,CAAC,KAAwB,IAA4B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9F,KAAK,CAAC,MAAM,CAAC,KAA0B,IAAmB,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAClH,WAAW,CAAI,SAA2B,IAAgB,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC;CAChF"}
1
+ {"version":3,"file":"fake-hosts.js","sourceRoot":"","sources":["../src/fake-hosts.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DisposeStack, GenerationHandoffStack, PluginDatabaseHost, PluginOutboundHost, PluginScheduleHost, Scope, type FeatureId, type PluginDefinition, type PluginId, type PluginSetupContext, type Token } from 'zhin.js/plugin-runtime';
1
+ import { DisposeStack, GenerationHandoffStack, PluginDatabaseHost, PluginOutboundHost, PluginScheduleHost, Scope, type FeatureId, type PluginDefinition, type PluginId, type PluginSetupContext, type Token, type PluginLifecycleEventMap } from 'zhin.js/plugin-runtime';
2
2
  import type { CapabilityContext } from 'zhin.js';
3
3
  import { FakeClock, FakeScheduleRootHost } from './fake-clock.js';
4
4
  import { FakeDatabaseRootHost, FakeOutboundRootHost, type FakeOutboundCall } from './fake-hosts.js';
@@ -76,6 +76,8 @@ export declare class FakePlugin<TConfig = unknown> {
76
76
  capabilityContext(): CapabilityContext<TConfig>;
77
77
  /** Abort `signal` and run every disposer (reverse order). */
78
78
  dispose(): Promise<void>;
79
+ /** Deliver a Runtime lifecycle fact to this concrete test instance. */
80
+ dispatchLifecycle<TName extends keyof PluginLifecycleEventMap>(name: TName, event: PluginLifecycleEventMap[TName]): Promise<void>;
79
81
  }
80
82
  export declare function createFakePlugin<TConfig = unknown>(options?: FakePluginOptions<TConfig>): FakePlugin<TConfig>;
81
83
  export interface RunPluginSetupOptions<TConfig = unknown> extends Omit<FakePluginOptions<TConfig>, 'name' | 'config'> {
@@ -1 +1 @@
1
- {"version":3,"file":"fake-plugin.d.ts","sourceRoot":"","sources":["../src/fake-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake-plugin.d.ts","sourceRoot":"","sources":["../src/fake-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DisposeStack, GenerationHandoffStack, PluginDatabaseHost, PluginOutboundHost, PluginScheduleHost, Scope, databaseHostToken, outboundHostToken, qualifyPluginResourceName, rootPluginId, scheduleHostToken, } from 'zhin.js/plugin-runtime';
1
+ import { DisposeStack, GenerationHandoffStack, PluginDatabaseHost, PluginOutboundHost, PluginScheduleHost, createPluginEventChannel, Scope, databaseHostToken, outboundHostToken, qualifyPluginResourceName, rootPluginId, scheduleHostToken, } from 'zhin.js/plugin-runtime';
2
2
  import { parsePluginConfigSchema } from '@zhin.js/runtime';
3
3
  import { FakeClock, FakeScheduleRootHost } from './fake-clock.js';
4
4
  import { FakeDatabaseRootHost, FakeOutboundRootHost } from './fake-hosts.js';
@@ -32,6 +32,7 @@ export class FakePlugin {
32
32
  schedule;
33
33
  outbound;
34
34
  #abort = new AbortController();
35
+ #events = createPluginEventChannel();
35
36
  #context;
36
37
  constructor(options = {}) {
37
38
  this.name = options.name ?? 'test-plugin';
@@ -94,10 +95,20 @@ export class FakePlugin {
94
95
  /** Abort `signal` and run every disposer (reverse order). */
95
96
  async dispose() {
96
97
  this.#abort.abort();
97
- await this.lifecycle.dispose();
98
+ try {
99
+ await this.lifecycle.dispose();
100
+ }
101
+ finally {
102
+ this.#events.dispose();
103
+ }
104
+ }
105
+ /** Deliver a Runtime lifecycle fact to this concrete test instance. */
106
+ dispatchLifecycle(name, event) {
107
+ return this.#events.dispatch(name, event);
98
108
  }
99
109
  #createSetupContext() {
100
110
  const base = {
111
+ events: this.#events.events,
101
112
  signal: this.signal,
102
113
  plugin: Object.freeze({ id: this.id, instanceKey: this.name, root: this.id, role: 'root' }),
103
114
  config: Object.freeze({ get: () => this.config }),
@@ -1 +1 @@
1
- {"version":3,"file":"fake-plugin.js","sourceRoot":"","sources":["../src/fake-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake-plugin.js","sourceRoot":"","sources":["../src/fake-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
+ import { type Locale } from 'zhin.js/i18n';
1
2
  import type { CommandContext, CommandDefinition, CommandMessage, CommandParameterValue } from 'zhin.js/command';
2
3
  import type { HandlerDefinition } from 'zhin.js/handler';
3
4
  import type { MiddlewareDefinition } from 'zhin.js/middleware';
4
5
  import { type AgentToolDefinition, type ToolExecutionContext, type ToolInvocationOrigin, type ToolInvocationPolicy, type ToolQuestionPort } from '@zhin.js/tool';
5
- import type { OperationClientPort } from 'zhin.js';
6
+ import { type OperationClientPort } from 'zhin.js';
6
7
  import type { FakePlugin } from './fake-plugin.js';
7
8
  /** Inbound message with recorded replies. */
8
9
  export interface FakeMessage extends CommandMessage {
@@ -10,6 +11,7 @@ export interface FakeMessage extends CommandMessage {
10
11
  readonly replies: unknown[];
11
12
  }
12
13
  export interface FakeMessageInit {
14
+ readonly locale?: Locale;
13
15
  readonly content?: string;
14
16
  readonly sender?: {
15
17
  readonly id: string;
@@ -23,6 +25,8 @@ export interface FakeMessageInit {
23
25
  }
24
26
  export declare function createFakeMessage(init?: FakeMessageInit): FakeMessage;
25
27
  export interface RunCommandOptions<TInput extends CommandMessage = FakeMessage> {
28
+ readonly locale?: Locale;
29
+ readonly formatCommand?: CommandContext['formatCommand'];
26
30
  readonly input?: TInput;
27
31
  readonly args?: readonly string[];
28
32
  readonly params?: Readonly<Record<string, CommandParameterValue>>;
@@ -56,6 +60,7 @@ export declare function runMiddleware<TConfig, TInput = FakeMessage>(fake: FakeP
56
60
  /** Execute a handler's `handle()` with `this` bound to a capability context. */
57
61
  export declare function runHandler<TConfig>(fake: FakePlugin<TConfig>, definition: HandlerDefinition, ...args: unknown[]): Promise<void>;
58
62
  export interface RunToolOptions {
63
+ readonly locale?: Locale;
59
64
  /**
60
65
  * Derive `origin` (`kind: 'im'`) and `principal` from an inbound message, so a tool sees the same
61
66
  * conversation the command tests use. Explicit `origin` / `principal` win.
@@ -1 +1 @@
1
- {"version":3,"file":"fake-runners.d.ts","sourceRoot":"","sources":["../src/fake-runners.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake-runners.d.ts","sourceRoot":"","sources":["../src/fake-runners.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import { resolveLocale } from 'zhin.js/i18n';
1
2
  import { parseToolInputSchema, } from '@zhin.js/tool';
3
+ import { readOperationSession } from 'zhin.js';
2
4
  import { fileURLToPath } from 'node:url';
3
5
  export function createFakeMessage(init = {}) {
4
6
  const replies = [];
@@ -6,7 +8,7 @@ export function createFakeMessage(init = {}) {
6
8
  endpoint: { id: 'test', adapter: 'test' }, kind: 'group', id: 'test-group', ...init.conversation,
7
9
  };
8
10
  return {
9
- conversation, content: init.content ?? '',
11
+ conversation, content: init.content ?? '', locale: resolveLocale(init.locale),
10
12
  sender: init.sender ?? { id: 'test-user', name: 'Tester', roles: [] },
11
13
  ...(init.id === undefined ? {} : { id: init.id }),
12
14
  ...(init.metadata === undefined ? {} : { metadata: init.metadata }),
@@ -22,11 +24,14 @@ export function createCommandContext(fake, options = {}) {
22
24
  const sender = input.sender;
23
25
  return {
24
26
  ...fake.capabilityContext(),
27
+ locale: options.locale ?? resolveLocale(input.locale),
28
+ formatCommand: options.formatCommand ?? (() => undefined),
25
29
  args: options.args ?? [],
26
30
  params: options.params ?? {},
27
31
  options: options.options ?? {},
28
32
  segments: options.segments ?? [],
29
33
  input,
34
+ get session() { return readOperationSession(input); },
30
35
  $client: input.$client,
31
36
  interaction: options.interaction,
32
37
  adapter: conversation.endpoint.adapter,
@@ -59,6 +64,7 @@ export async function runMiddleware(fake, definition, input = createFakeMessage(
59
64
  const context = {
60
65
  ...fake.capabilityContext(),
61
66
  input,
67
+ get session() { return readOperationSession(input); },
62
68
  $client: input?.$client,
63
69
  };
64
70
  const next = (async () => { continued = true; return undefined; });
@@ -67,7 +73,10 @@ export async function runMiddleware(fake, definition, input = createFakeMessage(
67
73
  }
68
74
  /** Execute a handler's `handle()` with `this` bound to a capability context. */
69
75
  export async function runHandler(fake, definition, ...args) {
70
- const context = fake.capabilityContext();
76
+ const context = {
77
+ ...fake.capabilityContext(),
78
+ get session() { return readOperationSession(args[0]); },
79
+ };
71
80
  await definition.handle.call(context, ...args);
72
81
  }
73
82
  /**
@@ -93,6 +102,7 @@ export function createToolContext(fake, options = {}) {
93
102
  const policy = options.policy ?? {};
94
103
  const context = {
95
104
  ...fake.capabilityContext(),
105
+ locale: options.locale ?? resolveLocale(message?.locale),
96
106
  signal: options.signal ?? fake.signal,
97
107
  traceId: options.traceId ?? 'test-trace',
98
108
  turnId: options.turnId ?? 'test-turn',
@@ -1 +1 @@
1
- {"version":3,"file":"fake-runners.js","sourceRoot":"","sources":["../src/fake-runners.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,GAGrB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiBzC,MAAM,UAAU,iBAAiB,CAAC,OAAwB,EAAE;IAC1D,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAmC;QACnD,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY;KACjG,CAAC;IACF,OAAO;QACL,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QACzC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QACrE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAChE,OAAO;QACP,KAAK,CAAC,MAAM,CAAC,OAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,SAAS,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KAC5F,CAAC;AACJ,CAAC;AAmBD,sGAAsG;AACtG,MAAM,UAAU,oBAAoB,CAClC,IAAyB,EACzB,UAAqC,EAAE;IAEvC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAW,CAAC;IAC/D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,OAAO;QACL,GAAG,IAAI,CAAC,iBAAiB,EAAE;QAC3B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAChC,KAAK;QACL,OAAO,EAAE,KAAK,CAAC,OAAgB;QAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO;QACtC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE;QAClC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE;QACtE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9F,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAyB,EACzB,UAA2E,EAC3E,OAAmC;IAEnC,MAAM,OAAO,GAAG,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1G,OAAO,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,UAAa,EAAE,MAAoB;IAEnC,MAAM,IAAI,GAAG,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClG,kGAAkG;IAClG,MAAM,OAAO,GAA8C,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC3F,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;IACnI,CAAC;IACD,OAAO,OAAO,CAAC,iBAAiB,CAAC,UAAmB,EAAE,IAAI,CAAC,CAAC,UAA0B,CAAC;AACzF,CAAC;AAQD,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAyB,EACzB,UAAqE,EACrE,QAAgB,iBAAiB,EAAY;IAE7C,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,OAAO,GAA2D;QACtE,GAAG,IAAI,CAAC,iBAAiB,EAAE;QAC3B,KAAK;QACL,OAAO,EAAG,KAA2C,EAAE,OAAgB;KACxE,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAA8B,CAAC;IAChG,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,IAAa,CAAC,CAAC;IAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAyB,EACzB,UAA6B,EAC7B,GAAG,IAAe;IAElB,MAAM,OAAO,GAA4B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClE,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAyB,EAAE,GAAG,IAAI,CAAC,CAAC;AACnE,CAAC;AAsBD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAuB;IAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,IAAa;QACnB,QAAQ,EAAE,OAAO,CAAC,aAAa,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO;QAChE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE;QAClC,KAAK,EAAE,YAAY,CAAC,IAAI;QACxB,OAAO,EAAE,YAAY,CAAC,EAAE;QACxB,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;QAC9D,GAAG,CAAC,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;KACpF,CAAC,CAAC;AACL,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,iBAAiB,CAC/B,IAAyB,EACzB,UAA0B,EAAE;IAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG;QACd,GAAG,IAAI,CAAC,iBAAiB,EAAE;QAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;QACrC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,YAAY;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,WAAW;QACrC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO;YACxC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE;YACxI,CAAC,CAAC,cAAc,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACxF,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY;aACtF,CAAC,CAAC,EAAE,CAAyB;QAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI;gBAClD,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,WAAW;gBACpC,GAAG,CAAC,MAAM,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;aAC3B,CAAC,EAAE,CAAC;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3D,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;YACtC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtF,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjB,CAAC;IAC7C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAClG,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAyB,EACzB,IAAgF,EAChF,KAAe,EACf,UAA0B,EAAE;IAE5B,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAA2B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1G,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7F,IAAI,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,qBAAqB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAA8B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,cAAc,CACrB,IAAyB,EAAE,SAAiB;IAE5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACxG,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzG,MAAM,IAAI,KAAK,CAAC,YAAY,SAAS,qCAAqC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvI,CAAC;IACD,OAAO,KAAK,CAAC,UAA+E,CAAC;AAC/F,CAAC"}
1
+ {"version":3,"file":"fake-runners.js","sourceRoot":"","sources":["../src/fake-runners.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { realpath } from 'node:fs/promises';
2
2
  import { resolve } from 'node:path';
3
- import { defineAdapter } from 'zhin.js/adapter';
3
+ import { Adapter, createEndpointSpecification, endpointSpec, defineAdapter } from 'zhin.js/adapter';
4
4
  import { ImRuntime } from 'zhin.js/core/runtime';
5
5
  import { rootPluginId } from 'zhin.js/plugin-runtime';
6
6
  import { NativeDevelopmentModuleRuntime, NodePackageResolver, RootRuntime } from '@zhin.js/runtime';
@@ -38,29 +38,43 @@ export class PluginTestKit {
38
38
  throw new TypeError('Test endpoints must have unique lowercase names');
39
39
  }
40
40
  this.#defaultEndpoint = names[0];
41
- const definitions = new Map(names.map(name => [name, defineAdapter({
42
- capabilities: ['inbound', 'outbound'],
43
- segments: options.segments ?? { html: 'text', interactive: 'text', markdown: 'text' },
44
- create: () => ({
45
- client: Object.freeze({ synthetic: true }),
46
- connect: ({ events, identity }) => {
47
- this.#identities.set(name, identity);
48
- this.#sinks.set(name, events);
49
- return () => { if (this.#sinks.get(name) === events) {
50
- this.#sinks.delete(name);
51
- this.#identities.delete(name);
52
- } };
53
- },
54
- send: (request) => {
55
- const id = `test-${this.#nextDelivery++}`;
56
- this.#attempts.push(Object.freeze({ endpoint: name, id,
57
- conversation: captureDeliveryValue(request.conversation),
58
- payload: captureDeliveryValue(request.payload),
59
- }));
60
- return id;
41
+ const kit = this;
42
+ const definitions = new Map(names.map(name => {
43
+ class SyntheticClient {
44
+ synthetic = true;
45
+ send(request) {
46
+ const id = `test-${kit.#nextDelivery++}`;
47
+ kit.#attempts.push(Object.freeze({ endpoint: name, id,
48
+ conversation: captureDeliveryValue(request.conversation), payload: captureDeliveryValue(request.payload),
49
+ }));
50
+ return id;
51
+ }
52
+ }
53
+ class SyntheticEndpoint extends SyntheticClient {
54
+ [endpointSpec] = createEndpointSpecification(this, {
55
+ start: signal => signal.throwIfAborted(),
56
+ open: () => {
57
+ kit.#identities.set(name, this[endpointSpec].identity);
58
+ kit.#sinks.set(name, this[endpointSpec].events);
61
59
  },
62
- }),
63
- })]));
60
+ close: () => this.#release(), stop: () => this.#release(),
61
+ send: request => this.send(request),
62
+ });
63
+ #release() {
64
+ if (kit.#sinks.get(name) !== this[endpointSpec].events)
65
+ return;
66
+ kit.#sinks.delete(name);
67
+ kit.#identities.delete(name);
68
+ }
69
+ }
70
+ class SyntheticAdapter extends Adapter {
71
+ createEndpoint() { return new SyntheticEndpoint(); }
72
+ }
73
+ return [name, defineAdapter({ capabilities: ['inbound', 'outbound'],
74
+ segments: options.segments ?? { html: 'text', interactive: 'text', markdown: 'text' },
75
+ createAdapter: () => new SyntheticAdapter(),
76
+ })];
77
+ }));
64
78
  const modules = options.modules ?? new NativeDevelopmentModuleRuntime({ projectRoot, watch: false });
65
79
  this.#root = new RootRuntime({ projectRoot,
66
80
  modules: withTestEndpoints(modules, rootEntry, definitions),
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/testing",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Real Plugin Runtime integration fixtures with synthetic IM endpoints",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -17,22 +17,22 @@
17
17
  "README.md"
18
18
  ],
19
19
  "peerDependencies": {
20
- "zhin.js": "^1.1.12",
21
- "@zhin.js/runtime": "^1.1.10",
22
- "@zhin.js/tool": "^1.1.8"
20
+ "zhin.js": "^1.1.19",
21
+ "@zhin.js/runtime": "^1.1.16",
22
+ "@zhin.js/tool": "^1.1.13"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^26.1.2",
26
26
  "typescript": "^6.0.3",
27
27
  "vitest": "^4.1.10",
28
- "@zhin.js/command": "1.1.9",
29
- "@zhin.js/adapter": "1.1.21",
30
- "@zhin.js/middleware": "1.1.8",
31
- "@zhin.js/core": "1.1.47",
32
- "@zhin.js/plugin-runtime": "1.1.15",
33
- "@zhin.js/runtime": "1.1.10",
34
- "@zhin.js/tool": "1.1.8",
35
- "zhin.js": "1.1.12"
28
+ "@zhin.js/adapter": "1.1.26",
29
+ "@zhin.js/command": "1.1.12",
30
+ "@zhin.js/core": "1.1.54",
31
+ "@zhin.js/middleware": "1.1.11",
32
+ "@zhin.js/plugin-runtime": "1.1.18",
33
+ "@zhin.js/runtime": "1.1.16",
34
+ "@zhin.js/tool": "1.1.13",
35
+ "zhin.js": "1.1.19"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=22.19.0"
package/src/fake-hosts.ts CHANGED
@@ -119,8 +119,8 @@ export class FakeOutboundRootHost implements OutboundRootHost {
119
119
  }
120
120
 
121
121
  send(input: OutboundSendInput): Promise<string | null> { return this.#record('send', input); }
122
- sendTarget(target: DeliveryTarget, content: unknown, requester: PluginId): Promise<string | null> {
123
- return this.#record('sendTarget', { target, content }, requester);
122
+ sendTarget(target: DeliveryTarget, content: unknown, requester: PluginId, options?: Readonly<{ locale?: import('@zhin.js/plugin-runtime').Locale }>): Promise<string | null> {
123
+ return this.#record('sendTarget', { target, content, ...(options?.locale ? { locale: options.locale } : {}) }, requester);
124
124
  }
125
125
  addReaction(input: OutboundReactionInput): Promise<string | null> { return this.#record('addReaction', input); }
126
126
  async removeReaction(input: unknown): Promise<void> { await this.#record('removeReaction', input, undefined, false); }
@@ -1,8 +1,8 @@
1
1
  import {
2
- DisposeStack, GenerationHandoffStack, PluginDatabaseHost, PluginOutboundHost, PluginScheduleHost,
2
+ DisposeStack, GenerationHandoffStack, PluginDatabaseHost, PluginOutboundHost, PluginScheduleHost, createPluginEventChannel,
3
3
  Scope, databaseHostToken, outboundHostToken, qualifyPluginResourceName, rootPluginId, scheduleHostToken,
4
4
  type Dispose, type FeatureId, type PluginDefinition, type PluginId, type PluginNodeSnapshot,
5
- type PluginSetupContext, type Token,
5
+ type PluginSetupContext, type Token, type PluginLifecycleEventMap,
6
6
  } from 'zhin.js/plugin-runtime';
7
7
  import type { CapabilityContext } from 'zhin.js';
8
8
  import { parsePluginConfigSchema } from '@zhin.js/runtime';
@@ -66,6 +66,7 @@ export class FakePlugin<TConfig = unknown> {
66
66
  readonly schedule: PluginScheduleHost;
67
67
  readonly outbound: PluginOutboundHost;
68
68
  readonly #abort = new AbortController();
69
+ readonly #events = createPluginEventChannel();
69
70
  readonly #context: PluginSetupContext<TConfig>;
70
71
 
71
72
  constructor(options: FakePluginOptions<TConfig> = {}) {
@@ -130,11 +131,18 @@ export class FakePlugin<TConfig = unknown> {
130
131
  /** Abort `signal` and run every disposer (reverse order). */
131
132
  async dispose(): Promise<void> {
132
133
  this.#abort.abort();
133
- await this.lifecycle.dispose();
134
+ try { await this.lifecycle.dispose(); }
135
+ finally { this.#events.dispose(); }
136
+ }
137
+
138
+ /** Deliver a Runtime lifecycle fact to this concrete test instance. */
139
+ dispatchLifecycle<TName extends keyof PluginLifecycleEventMap>(name: TName, event: PluginLifecycleEventMap[TName]): Promise<void> {
140
+ return this.#events.dispatch(name, event);
134
141
  }
135
142
 
136
143
  #createSetupContext(): PluginSetupContext<TConfig> {
137
144
  const base = {
145
+ events: this.#events.events,
138
146
  signal: this.signal,
139
147
  plugin: Object.freeze({ id: this.id, instanceKey: this.name, root: this.id, role: 'root' as const }),
140
148
  config: Object.freeze({ get: () => this.config as Readonly<TConfig> }),
@@ -1,3 +1,4 @@
1
+ import { resolveLocale, type Locale } from 'zhin.js/i18n';
1
2
  import type {
2
3
  CommandContext, CommandDefinition, CommandMessage, CommandParameterValue,
3
4
  } from 'zhin.js/command';
@@ -10,7 +11,7 @@ import {
10
11
  type AgentToolDefinition, type ToolExecutionContext, type ToolInvocationOrigin,
11
12
  type ToolInvocationPolicy, type ToolQuestionPort,
12
13
  } from '@zhin.js/tool';
13
- import type { OperationClientPort } from 'zhin.js';
14
+ import { readOperationSession, type OperationClientPort } from 'zhin.js';
14
15
  import type { FakePlugin } from './fake-plugin.js';
15
16
  import { fileURLToPath } from 'node:url';
16
17
 
@@ -21,6 +22,7 @@ export interface FakeMessage extends CommandMessage {
21
22
  }
22
23
 
23
24
  export interface FakeMessageInit {
25
+ readonly locale?: Locale;
24
26
  readonly content?: string;
25
27
  readonly sender?: { readonly id: string; readonly name?: string; readonly roles?: readonly string[] };
26
28
  readonly conversation?: Partial<CommandMessage['conversation']>;
@@ -35,7 +37,7 @@ export function createFakeMessage(init: FakeMessageInit = {}): FakeMessage {
35
37
  endpoint: { id: 'test', adapter: 'test' }, kind: 'group', id: 'test-group', ...init.conversation,
36
38
  };
37
39
  return {
38
- conversation, content: init.content ?? '',
40
+ conversation, content: init.content ?? '', locale: resolveLocale(init.locale),
39
41
  sender: init.sender ?? { id: 'test-user', name: 'Tester', roles: [] },
40
42
  ...(init.id === undefined ? {} : { id: init.id }),
41
43
  ...(init.metadata === undefined ? {} : { metadata: init.metadata }),
@@ -46,6 +48,8 @@ export function createFakeMessage(init: FakeMessageInit = {}): FakeMessage {
46
48
  }
47
49
 
48
50
  export interface RunCommandOptions<TInput extends CommandMessage = FakeMessage> {
51
+ readonly locale?: Locale;
52
+ readonly formatCommand?: CommandContext['formatCommand'];
49
53
  readonly input?: TInput;
50
54
  readonly args?: readonly string[];
51
55
  readonly params?: Readonly<Record<string, CommandParameterValue>>;
@@ -72,11 +76,14 @@ export function createCommandContext<TConfig, TInput extends CommandMessage = Fa
72
76
  const sender = input.sender;
73
77
  return {
74
78
  ...fake.capabilityContext(),
79
+ locale: options.locale ?? resolveLocale(input.locale),
80
+ formatCommand: options.formatCommand ?? (() => undefined),
75
81
  args: options.args ?? [],
76
82
  params: options.params ?? {},
77
83
  options: options.options ?? {},
78
84
  segments: options.segments ?? [],
79
85
  input,
86
+ get session() { return readOperationSession(input); },
80
87
  $client: input.$client as never,
81
88
  interaction: options.interaction,
82
89
  adapter: conversation.endpoint.adapter,
@@ -128,6 +135,7 @@ export async function runMiddleware<TConfig, TInput = FakeMessage>(
128
135
  const context: MiddlewareContext<TInput, TConfig, string | undefined> = {
129
136
  ...fake.capabilityContext(),
130
137
  input,
138
+ get session() { return readOperationSession(input); },
131
139
  $client: (input as { $client?: unknown } | undefined)?.$client as never,
132
140
  };
133
141
  const next = (async () => { continued = true; return undefined; }) as unknown as MiddlewareNext;
@@ -141,11 +149,15 @@ export async function runHandler<TConfig>(
141
149
  definition: HandlerDefinition,
142
150
  ...args: unknown[]
143
151
  ): Promise<void> {
144
- const context: HandlerContext<TConfig> = fake.capabilityContext();
152
+ const context: HandlerContext<TConfig> = {
153
+ ...fake.capabilityContext(),
154
+ get session() { return readOperationSession(args[0]); },
155
+ };
145
156
  await definition.handle.call(context as HandlerContext, ...args);
146
157
  }
147
158
 
148
159
  export interface RunToolOptions {
160
+ readonly locale?: Locale;
149
161
  /**
150
162
  * Derive `origin` (`kind: 'im'`) and `principal` from an inbound message, so a tool sees the same
151
163
  * conversation the command tests use. Explicit `origin` / `principal` win.
@@ -192,6 +204,7 @@ export function createToolContext<TConfig, TAdapter extends string | undefined =
192
204
  const policy = options.policy ?? {};
193
205
  const context = {
194
206
  ...fake.capabilityContext(),
207
+ locale: options.locale ?? resolveLocale(message?.locale),
195
208
  signal: options.signal ?? fake.signal,
196
209
  traceId: options.traceId ?? 'test-trace',
197
210
  turnId: options.turnId ?? 'test-turn',
package/src/index.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { realpath } from 'node:fs/promises';
2
2
  import { resolve } from 'node:path';
3
- import { defineAdapter, type AdapterDefinition, type AdapterSegmentPolicy,
3
+ import { Adapter, createEndpointSpecification, endpointSpec, defineAdapter, type Endpoint, type AdapterDefinition, type AdapterSegmentPolicy,
4
4
  type EndpointIdentity, type EndpointEventSink, type EndpointIncomingMessage, type EndpointSendRequest } from 'zhin.js/adapter';
5
5
  import { ImRuntime, type ConversationAddress, type MessageDispatchResult,
6
6
  type RuntimeMessageDiagnosticsReader, type SendContent } from 'zhin.js/core/runtime';
@@ -81,26 +81,41 @@ export class PluginTestKit {
81
81
  throw new TypeError('Test endpoints must have unique lowercase names');
82
82
  }
83
83
  this.#defaultEndpoint = names[0]!;
84
- const definitions = new Map<string, AdapterDefinition>(names.map(name => [name, defineAdapter({
85
- capabilities: ['inbound', 'outbound'],
86
- segments: options.segments ?? { html: 'text', interactive: 'text', markdown: 'text' },
87
- create: () => ({
88
- client: Object.freeze({ synthetic: true }),
89
- connect: ({ events, identity }) => {
90
- this.#identities.set(name, identity);
91
- this.#sinks.set(name, events);
92
- return () => { if (this.#sinks.get(name) === events) { this.#sinks.delete(name); this.#identities.delete(name); } };
93
- },
94
- send: (request: EndpointSendRequest) => {
95
- const id = `test-${this.#nextDelivery++}`;
96
- this.#attempts.push(Object.freeze({ endpoint: name, id,
97
- conversation: captureDeliveryValue(request.conversation),
98
- payload: captureDeliveryValue(request.payload),
84
+ const kit = this;
85
+ const definitions = new Map<string, AdapterDefinition>(names.map(name => {
86
+ class SyntheticClient {
87
+ readonly synthetic = true;
88
+ send(request: EndpointSendRequest): string {
89
+ const id = `test-${kit.#nextDelivery++}`;
90
+ kit.#attempts.push(Object.freeze({ endpoint: name, id,
91
+ conversation: captureDeliveryValue(request.conversation), payload: captureDeliveryValue(request.payload),
99
92
  }));
100
93
  return id;
101
- },
102
- }),
103
- })]));
94
+ }
95
+ }
96
+ class SyntheticEndpoint extends SyntheticClient implements Endpoint {
97
+ readonly [endpointSpec] = createEndpointSpecification(this, {
98
+ start: signal => signal.throwIfAborted(),
99
+ open: () => {
100
+ kit.#identities.set(name, this[endpointSpec].identity);
101
+ kit.#sinks.set(name, this[endpointSpec].events);
102
+ },
103
+ close: () => this.#release(), stop: () => this.#release(),
104
+ send: request => this.send(request),
105
+ });
106
+ #release(): void {
107
+ if (kit.#sinks.get(name) !== this[endpointSpec].events) return;
108
+ kit.#sinks.delete(name); kit.#identities.delete(name);
109
+ }
110
+ }
111
+ class SyntheticAdapter extends Adapter<SyntheticEndpoint> {
112
+ protected createEndpoint(): SyntheticEndpoint { return new SyntheticEndpoint(); }
113
+ }
114
+ return [name, defineAdapter({ capabilities: ['inbound', 'outbound'],
115
+ segments: options.segments ?? { html: 'text', interactive: 'text', markdown: 'text' },
116
+ createAdapter: () => new SyntheticAdapter(),
117
+ })];
118
+ }));
104
119
  const modules = options.modules ?? new NativeDevelopmentModuleRuntime({ projectRoot, watch: false });
105
120
  this.#root = new RootRuntime({ projectRoot,
106
121
  modules: withTestEndpoints(modules, rootEntry, definitions),