@deadair/plugin-sdk 0.77.7 → 0.77.9

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.
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Messages held for a `receive` that has not come yet, and a way for that `receive` to wait for one.
3
+ *
4
+ * A chat plugin holding a socket is told about messages when they arrive, and the station asks for them
5
+ * when it polls. This is the queue between the two, bounded so a station that is not listening (a
6
+ * quarantined plugin, or one mid-reinit) cannot be handed a backlog that is stale by the time it is
7
+ * read: past the bound the oldest go. Discord and Slack each wrote this into their plugin class.
8
+ *
9
+ * Generic rather than tied to `InboundMessage`, because nothing here reads what is held.
10
+ */
11
+ export declare class MessageInbox<T> {
12
+ private readonly max;
13
+ private readonly held;
14
+ private wake?;
15
+ private overflowed;
16
+ /** @param max - How many messages are held at once. */
17
+ constructor(max: number);
18
+ /**
19
+ * Queue one message, dropping the oldest past the bound, and wake a `take` that is waiting.
20
+ *
21
+ * Answers `true` the FIRST time a message is dropped and never again, so the caller can say so
22
+ * once in its log rather than once per message in a flood.
23
+ */
24
+ deliver(message: T): boolean;
25
+ /**
26
+ * Everything held, emptying the inbox. When nothing is held it first waits up to `waitMs` for a
27
+ * message, an {@link interrupt} or a {@link close}, whichever comes first.
28
+ */
29
+ take(waitMs: number): Promise<T[]>;
30
+ /** Wake a waiting `take` without delivering anything, for a socket that has stopped for good. */
31
+ interrupt(): void;
32
+ /** Wake a waiting `take` and drop everything held, for a plugin being disposed. */
33
+ close(): void;
34
+ private waitForMessages;
35
+ }
36
+ //# sourceMappingURL=message.inbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.inbox.d.ts","sourceRoot":"","sources":["../src/message.inbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,YAAY,CAAC,CAAC;IAMX,OAAO,CAAC,QAAQ,CAAC,GAAG;IALhC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAChC,OAAO,CAAC,IAAI,CAAC,CAAa;IAC1B,OAAO,CAAC,UAAU,CAAS;IAE3B,uDAAuD;gBAC1B,GAAG,EAAE,MAAM;IAExC;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO;IAY5B;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAKxC,iGAAiG;IACjG,SAAS,IAAI,IAAI;IAIjB,mFAAmF;IACnF,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,eAAe;CAW1B"}
@@ -284,6 +284,29 @@ export declare function isRowSecretKey(key: string): boolean;
284
284
  * a row and thinks better of it.
285
285
  */
286
286
  export declare function parseRows(raw: unknown): Record<string, string>[];
287
+ /**
288
+ * Whether every row an operator typed fills `columns`, for a config schema's refinement.
289
+ *
290
+ * An unset field passes: no rows is a choice. A row with something in it owes every named column,
291
+ * since {@link parseRows} has already dropped the rows with nothing in them. The four speech plugins
292
+ * each checked their voice table this way.
293
+ */
294
+ export declare function rowsHaveColumns(raw: unknown, columns: readonly string[]): boolean;
295
+ /**
296
+ * One cell of a row as a number, or `undefined` when it holds none.
297
+ *
298
+ * Every cell is text, so a blank one is unset rather than 0. `positive` makes 0 and below unset as
299
+ * well, for a value like a reading speed where they mean nothing; `range` clamps what is left, for a
300
+ * dial the engine only accepts between two bounds. Without a range the number is kept as typed, for
301
+ * an engine that declares its own bounds and is asked for them.
302
+ */
303
+ export declare function numberCell(raw: string | undefined, options?: {
304
+ range?: {
305
+ min: number;
306
+ max: number;
307
+ };
308
+ positive?: boolean;
309
+ }): number | undefined;
287
310
  /**
288
311
  * A row a `list` field offers to start from, instead of an empty one.
289
312
  *
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.config.fields.d.ts","sourceRoot":"","sources":["../src/plugin.config.fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.config.fields.d.ts","sourceRoot":"","sources":["../src/plugin.config.fields.ts"],"names":[],"mappings":"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"}
@@ -187,5 +187,15 @@ export declare function toPluginError(error: unknown, fallback?: PluginErrorCode
187
187
  * about a failure wants the error itself.
188
188
  */
189
189
  export declare const errorText: (error: unknown) => string;
190
+ /**
191
+ * `text` with every secret in it replaced by `<token>`, for the last line of defence before an error
192
+ * from a client library leaves a plugin.
193
+ *
194
+ * A library that echoes the URL or the header it called with puts the token in its error message, and
195
+ * that message is what reaches a log line and the plugin page. Blank secrets are skipped, since
196
+ * splitting on an empty string would scatter the placeholder through every character. The three chat
197
+ * plugins each wrote this.
198
+ */
199
+ export declare function scrubSecrets(text: string, secrets: readonly string[]): string;
190
200
  export {};
191
201
  //# sourceMappingURL=plugin.error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.error.d.ts","sourceRoot":"","sources":["../src/plugin.error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,eAAe;AACvB,qFAAqF;AACnF,MAAM;AACR,8FAA8F;GAC5F,QAAQ;AACV,kFAAkF;GAChF,WAAW;AACb;;;;GAIG;GACD,WAAW;AACb,wEAAwE;GACtE,cAAc;AAChB,uCAAuC;GACrC,SAAS;AACX,gEAAgE;GAC9D,aAAa;AACf,0DAA0D;GACxD,aAAa;AACf,6DAA6D;GAC3D,UAAU;AACZ,oDAAoD;GAClD,UAAU,CAAC;AAEjB,+FAA+F;AAC/F,eAAO,MAAM,kBAAkB,wIAWrB,CAAC;AAoBX;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAEnE;AAwBD;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,kBAAkB,eAAwC,CAAC;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAClC,uFAAuF;IACvF,QAAQ,CAAC,CAAC,kBAAkB,CAAC,QAAQ;IAErC,iGAAiG;IACjG,IAAI,EAAE,eAAe,CAAc;IACnC,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAA8B;IAChD,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;gBAEnB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAW1D,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,eAAe;IAM9B;;;;OAIG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM;IAM9B,kBAAkB,CAAC,cAAc,EAAE,MAAM;IAKzC,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAIjD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAEvD,CAAC;AAcF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAE,eAA4B,GAAG,WAAW,CAkBjG;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,MAAkE,CAAC"}
1
+ {"version":3,"file":"plugin.error.d.ts","sourceRoot":"","sources":["../src/plugin.error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,eAAe;AACvB,qFAAqF;AACnF,MAAM;AACR,8FAA8F;GAC5F,QAAQ;AACV,kFAAkF;GAChF,WAAW;AACb;;;;GAIG;GACD,WAAW;AACb,wEAAwE;GACtE,cAAc;AAChB,uCAAuC;GACrC,SAAS;AACX,gEAAgE;GAC9D,aAAa;AACf,0DAA0D;GACxD,aAAa;AACf,6DAA6D;GAC3D,UAAU;AACZ,oDAAoD;GAClD,UAAU,CAAC;AAEjB,+FAA+F;AAC/F,eAAO,MAAM,kBAAkB,wIAWrB,CAAC;AAoBX;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAEnE;AAwBD;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,kBAAkB,eAAwC,CAAC;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAClC,uFAAuF;IACvF,QAAQ,CAAC,CAAC,kBAAkB,CAAC,QAAQ;IAErC,iGAAiG;IACjG,IAAI,EAAE,eAAe,CAAc;IACnC,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAA8B;IAChD,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;gBAEnB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAW1D,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,eAAe;IAM9B;;;;OAIG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM;IAM9B,kBAAkB,CAAC,cAAc,EAAE,MAAM;IAKzC,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAIjD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAEvD,CAAC;AAcF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAE,eAA4B,GAAG,WAAW,CAkBjG;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,MAAkE,CAAC;AAE9G;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAI7E"}
@@ -0,0 +1,20 @@
1
+ import type { PluginLogger } from './plugin.host.js';
2
+ /** A logger in the console's shape: a message and anything after it, which is what most client libraries take. */
3
+ export interface VariadicLogger {
4
+ error(message: unknown, ...rest: unknown[]): void;
5
+ warn(message: unknown, ...rest: unknown[]): void;
6
+ info(message: unknown, ...rest: unknown[]): void;
7
+ debug(message: unknown, ...rest: unknown[]): void;
8
+ trace(message: unknown, ...rest: unknown[]): void;
9
+ }
10
+ /**
11
+ * The plugin's logger in the shape a client library takes, so the library's own lines land in the
12
+ * plugin's log under its name.
13
+ *
14
+ * The first thing after the message becomes the line's metadata when it is a plain object, and
15
+ * anything else is dropped rather than stringified into the message. `trace` is written as `debug`,
16
+ * which is the finest level the host keeps. Discord's and Slack's ServerKit clients each had this
17
+ * adapter written into their plugin.
18
+ */
19
+ export declare function variadicLogger(logger: PluginLogger): VariadicLogger;
20
+ //# sourceMappingURL=plugin.logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.logger.d.ts","sourceRoot":"","sources":["../src/plugin.logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,kHAAkH;AAClH,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAYnE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deadair/plugin-sdk",
3
- "version": "0.77.7",
3
+ "version": "0.77.9",
4
4
  "description": "The contract a deadair plugin is written against: the manifest, the capabilities, the host it is handed, and a fake host for its tests.",
5
5
  "keywords": [
6
6
  "deadair",