@deadair/plugin-sdk 0.8.2 → 0.9.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/README.md +57 -0
- package/dist/boundary.json.safe.d.ts +9 -2
- package/dist/boundary.json.safe.d.ts.map +1 -1
- package/dist/capabilities/podcast.d.ts +248 -0
- package/dist/capabilities/podcast.d.ts.map +1 -0
- package/dist/define.plugin.d.ts +3 -0
- package/dist/define.plugin.d.ts.map +1 -1
- package/dist/feed.parse.d.ts +84 -0
- package/dist/feed.parse.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -4
- package/dist/index.js.map +1 -1
- package/dist/plugin.config.fields.d.ts +10 -1
- package/dist/plugin.config.fields.d.ts.map +1 -1
- package/dist/plugin.manifest.d.ts +16 -1
- package/dist/plugin.manifest.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -101,6 +101,11 @@ export interface ConfigFieldOption {
|
|
|
101
101
|
* plugin could answer: the ids are qualified with the plugin that offered them, and no plugin knows
|
|
102
102
|
* what the others are called.
|
|
103
103
|
*
|
|
104
|
+
* `station.podcastShows` is `station.newsFeeds`' twin for the programmes the station carries: every
|
|
105
|
+
* show every podcast plugin currently lists, by its qualified id and its title, for the topic that
|
|
106
|
+
* says which show a `syndicated` band on the format clock means. Here for the same reason: the ids
|
|
107
|
+
* are qualified with the plugin that carries the show, and no plugin knows what the others carry.
|
|
108
|
+
*
|
|
104
109
|
* The four `plugins.*` members answer the enabled plugins that declare a given capability — speech,
|
|
105
110
|
* llm, mixer, analysis — by id and name, for the settings that pick which plugin a capability with
|
|
106
111
|
* several installed candidates uses. Those settings stay free text (`selectPlugin` in
|
|
@@ -119,7 +124,7 @@ export interface ConfigFieldOption {
|
|
|
119
124
|
* personas) is obvious, and a closed set is what the contract mirroring this can express. Whatever
|
|
120
125
|
* it names is resolved by the CONSOLE; nothing here reaches a plugin.
|
|
121
126
|
*/
|
|
122
|
-
export type ConfigFieldOptionSource = 'station.newsCategories' | 'station.newsFeeds' | 'intl.timeZones' | 'plugins.speech' | 'plugins.llm' | 'plugins.mixer' | 'plugins.analysis' | 'llm.models';
|
|
127
|
+
export type ConfigFieldOptionSource = 'station.newsCategories' | 'station.newsFeeds' | 'station.podcastShows' | 'intl.timeZones' | 'plugins.speech' | 'plugins.llm' | 'plugins.mixer' | 'plugins.analysis' | 'llm.models';
|
|
123
128
|
/**
|
|
124
129
|
* One column of a `list` field.
|
|
125
130
|
*
|
|
@@ -411,6 +416,7 @@ export declare const configFieldControlSchema: z.ZodEnum<{
|
|
|
411
416
|
export declare const configFieldOptionSourceSchema: z.ZodEnum<{
|
|
412
417
|
"station.newsCategories": "station.newsCategories";
|
|
413
418
|
"station.newsFeeds": "station.newsFeeds";
|
|
419
|
+
"station.podcastShows": "station.podcastShows";
|
|
414
420
|
"intl.timeZones": "intl.timeZones";
|
|
415
421
|
"plugins.speech": "plugins.speech";
|
|
416
422
|
"plugins.llm": "plugins.llm";
|
|
@@ -436,6 +442,7 @@ export declare const configFieldColumnSchema: z.ZodObject<{
|
|
|
436
442
|
optionsFrom: z.ZodOptional<z.ZodEnum<{
|
|
437
443
|
"station.newsCategories": "station.newsCategories";
|
|
438
444
|
"station.newsFeeds": "station.newsFeeds";
|
|
445
|
+
"station.podcastShows": "station.podcastShows";
|
|
439
446
|
"intl.timeZones": "intl.timeZones";
|
|
440
447
|
"plugins.speech": "plugins.speech";
|
|
441
448
|
"plugins.llm": "plugins.llm";
|
|
@@ -483,6 +490,7 @@ export declare const configFieldSchema: z.ZodObject<{
|
|
|
483
490
|
optionsFrom: z.ZodOptional<z.ZodEnum<{
|
|
484
491
|
"station.newsCategories": "station.newsCategories";
|
|
485
492
|
"station.newsFeeds": "station.newsFeeds";
|
|
493
|
+
"station.podcastShows": "station.podcastShows";
|
|
486
494
|
"intl.timeZones": "intl.timeZones";
|
|
487
495
|
"plugins.speech": "plugins.speech";
|
|
488
496
|
"plugins.llm": "plugins.llm";
|
|
@@ -508,6 +516,7 @@ export declare const configFieldSchema: z.ZodObject<{
|
|
|
508
516
|
optionsFrom: z.ZodOptional<z.ZodEnum<{
|
|
509
517
|
"station.newsCategories": "station.newsCategories";
|
|
510
518
|
"station.newsFeeds": "station.newsFeeds";
|
|
519
|
+
"station.podcastShows": "station.podcastShows";
|
|
511
520
|
"intl.timeZones": "intl.timeZones";
|
|
512
521
|
"plugins.speech": "plugins.speech";
|
|
513
522
|
"plugins.llm": "plugins.llm";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.config.fields.d.ts","sourceRoot":"","sources":["../src/plugin.config.fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvI;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEnD,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"plugin.config.fields.d.ts","sourceRoot":"","sources":["../src/plugin.config.fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvI;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEnD,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,MAAM,uBAAuB,GAC7B,wBAAwB,GACxB,mBAAmB,GACnB,sBAAsB,GACtB,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,kBAAkB,GAClB,YAAY,CAAC;AAEnB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;;;;;;;;;;OAYG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE7C,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,oFAAoF;IACpF,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAE9B,mFAAmF;IACnF,WAAW,CAAC,EAAE,uBAAuB,CAAC;IAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAUvD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,UAAU,QAAQ,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAoBhE;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,iGAAiG;IACjG,GAAG,EAAE,MAAM,CAAC;IAEZ,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE,eAAe,CAAC;IAEtB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAEpC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAC;IAEtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAE9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;EAA4G,CAAC;AAE/I,eAAO,MAAM,qBAAqB;;;EAAgC,CAAC;AAEnE,eAAO,MAAM,wBAAwB;;;EAA6B,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;EAUxC,CAAC;AAMH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBlC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkB5B,CAAC"}
|
|
@@ -80,6 +80,19 @@ export declare const PLUGIN_CAPABILITY_CHARTS = "charts";
|
|
|
80
80
|
* is a fact, and the only thing that can be done with it is say it.
|
|
81
81
|
*/
|
|
82
82
|
export declare const PLUGIN_CAPABILITY_NEWS = "news";
|
|
83
|
+
/**
|
|
84
|
+
* The plugin can say what programmes the station subscribes to, and what each
|
|
85
|
+
* has published: a show in, episodes out, each with the address of its audio.
|
|
86
|
+
*
|
|
87
|
+
* Separate from {@link PLUGIN_CAPABILITY_NEWS} although both read somebody
|
|
88
|
+
* else's feed, because what comes back is not a fact to say but a programme to
|
|
89
|
+
* AIR, and the station carries it rather than reading it out. And separate from
|
|
90
|
+
* {@link PLUGIN_CAPABILITY_CATALOG} although both end in audio, because an
|
|
91
|
+
* episode is not a record: every rule the station applies to a record, from
|
|
92
|
+
* rotation to scrobbling, is wrong for an hour of somebody else's programme.
|
|
93
|
+
* `capabilities/podcast.ts` says why at length.
|
|
94
|
+
*/
|
|
95
|
+
export declare const PLUGIN_CAPABILITY_PODCAST = "podcast";
|
|
83
96
|
/**
|
|
84
97
|
* The plugin can say who else sounds like this: an artist in, artists out.
|
|
85
98
|
*
|
|
@@ -130,7 +143,7 @@ export declare const PLUGIN_CAPABILITY_WEATHER = "weather";
|
|
|
130
143
|
* that installing a plugin is consent to broadcast from it.
|
|
131
144
|
*/
|
|
132
145
|
export declare const PLUGIN_CAPABILITY_SCROBBLE = "scrobble";
|
|
133
|
-
export declare const KNOWN_PLUGIN_CAPABILITIES: readonly ["catalog", "stream", "steer", "oauth", "enrichment", "speech", "llm", "analysis", "mixer", "charts", "news", "similarity", "search", "weather", "scrobble"];
|
|
146
|
+
export declare const KNOWN_PLUGIN_CAPABILITIES: readonly ["catalog", "stream", "steer", "oauth", "enrichment", "speech", "llm", "analysis", "mixer", "charts", "news", "podcast", "similarity", "search", "weather", "scrobble"];
|
|
134
147
|
export type KnownPluginCapability = (typeof KNOWN_PLUGIN_CAPABILITIES)[number];
|
|
135
148
|
/**
|
|
136
149
|
* Known capabilities get autocomplete; the type stays open so a plugin built
|
|
@@ -239,6 +252,7 @@ export declare const pluginManifestSchema: z.ZodObject<{
|
|
|
239
252
|
optionsFrom: z.ZodOptional<z.ZodEnum<{
|
|
240
253
|
"station.newsCategories": "station.newsCategories";
|
|
241
254
|
"station.newsFeeds": "station.newsFeeds";
|
|
255
|
+
"station.podcastShows": "station.podcastShows";
|
|
242
256
|
"intl.timeZones": "intl.timeZones";
|
|
243
257
|
"plugins.speech": "plugins.speech";
|
|
244
258
|
"plugins.llm": "plugins.llm";
|
|
@@ -264,6 +278,7 @@ export declare const pluginManifestSchema: z.ZodObject<{
|
|
|
264
278
|
optionsFrom: z.ZodOptional<z.ZodEnum<{
|
|
265
279
|
"station.newsCategories": "station.newsCategories";
|
|
266
280
|
"station.newsFeeds": "station.newsFeeds";
|
|
281
|
+
"station.podcastShows": "station.podcastShows";
|
|
267
282
|
"intl.timeZones": "intl.timeZones";
|
|
268
283
|
"plugins.speech": "plugins.speech";
|
|
269
284
|
"plugins.llm": "plugins.llm";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.manifest.d.ts","sourceRoot":"","sources":["../src/plugin.manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE1F;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAC/C,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAC/C,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,aAAa,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,aAAa,CAAC;AAErD,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"plugin.manifest.d.ts","sourceRoot":"","sources":["../src/plugin.manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE1F;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAC/C,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAC/C,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,aAAa,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,aAAa,CAAC;AAErD,eAAO,MAAM,yBAAyB,kLAiB5B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAEvF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAKvE;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,+FAA+F;IAC/F,EAAE,EAAE,MAAM,CAAC;IAEX,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IAEb,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAEhB,0EAA0E;IAC1E,YAAY,EAAE,gBAAgB,EAAE,CAAC;IAEjC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,WAAW,EAAE,iBAAiB,CAAC;IAE/B,iCAAiC;IACjC,YAAY,EAAE,WAAW,EAAE,CAAC;IAE5B;;;;OAIG;IACH,YAAY,EAAE,kBAAkB,CAAC;CACpC;AAKD;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAY/B,CAAC"}
|
package/package.json
CHANGED