@deadair/plugin-sdk 0.2.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.
Files changed (73) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1062 -0
  3. package/dist/article.parse.d.ts +82 -0
  4. package/dist/article.parse.d.ts.map +1 -0
  5. package/dist/boundary.json.safe.d.ts +191 -0
  6. package/dist/boundary.json.safe.d.ts.map +1 -0
  7. package/dist/capabilities/analysis.d.ts +330 -0
  8. package/dist/capabilities/analysis.d.ts.map +1 -0
  9. package/dist/capabilities/charts.d.ts +134 -0
  10. package/dist/capabilities/charts.d.ts.map +1 -0
  11. package/dist/capabilities/enrichment.d.ts +255 -0
  12. package/dist/capabilities/enrichment.d.ts.map +1 -0
  13. package/dist/capabilities/llm.d.ts +318 -0
  14. package/dist/capabilities/llm.d.ts.map +1 -0
  15. package/dist/capabilities/mixer.d.ts +183 -0
  16. package/dist/capabilities/mixer.d.ts.map +1 -0
  17. package/dist/capabilities/music.provider.d.ts +245 -0
  18. package/dist/capabilities/music.provider.d.ts.map +1 -0
  19. package/dist/capabilities/news.d.ts +171 -0
  20. package/dist/capabilities/news.d.ts.map +1 -0
  21. package/dist/capabilities/scrobble.d.ts +133 -0
  22. package/dist/capabilities/scrobble.d.ts.map +1 -0
  23. package/dist/capabilities/search.d.ts +122 -0
  24. package/dist/capabilities/search.d.ts.map +1 -0
  25. package/dist/capabilities/similarity.d.ts +101 -0
  26. package/dist/capabilities/similarity.d.ts.map +1 -0
  27. package/dist/capabilities/speech.d.ts +211 -0
  28. package/dist/capabilities/speech.d.ts.map +1 -0
  29. package/dist/capabilities/weather.d.ts +192 -0
  30. package/dist/capabilities/weather.d.ts.map +1 -0
  31. package/dist/chunk-7QVYU63E.js +7 -0
  32. package/dist/chunk-7QVYU63E.js.map +1 -0
  33. package/dist/define.plugin.d.ts +56 -0
  34. package/dist/define.plugin.d.ts.map +1 -0
  35. package/dist/feed.parse.d.ts +97 -0
  36. package/dist/feed.parse.d.ts.map +1 -0
  37. package/dist/html.text.d.ts +71 -0
  38. package/dist/html.text.d.ts.map +1 -0
  39. package/dist/index.d.ts +30 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +1153 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/match.text.d.ts +28 -0
  44. package/dist/match.text.d.ts.map +1 -0
  45. package/dist/plugin.api.version.d.ts +9 -0
  46. package/dist/plugin.api.version.d.ts.map +1 -0
  47. package/dist/plugin.base.d.ts +80 -0
  48. package/dist/plugin.base.d.ts.map +1 -0
  49. package/dist/plugin.config.fields.d.ts +524 -0
  50. package/dist/plugin.config.fields.d.ts.map +1 -0
  51. package/dist/plugin.config.read.d.ts +52 -0
  52. package/dist/plugin.config.read.d.ts.map +1 -0
  53. package/dist/plugin.error.d.ts +177 -0
  54. package/dist/plugin.error.d.ts.map +1 -0
  55. package/dist/plugin.host.d.ts +220 -0
  56. package/dist/plugin.host.d.ts.map +1 -0
  57. package/dist/plugin.host.response.d.ts +42 -0
  58. package/dist/plugin.host.response.d.ts.map +1 -0
  59. package/dist/plugin.http.d.ts +80 -0
  60. package/dist/plugin.http.d.ts.map +1 -0
  61. package/dist/plugin.lifecycle.d.ts +68 -0
  62. package/dist/plugin.lifecycle.d.ts.map +1 -0
  63. package/dist/plugin.manifest.d.ts +282 -0
  64. package/dist/plugin.manifest.d.ts.map +1 -0
  65. package/dist/plugin.permissions.d.ts +186 -0
  66. package/dist/plugin.permissions.d.ts.map +1 -0
  67. package/dist/testing/fake.plugin.host.d.ts +85 -0
  68. package/dist/testing/fake.plugin.host.d.ts.map +1 -0
  69. package/dist/testing/index.d.ts +10 -0
  70. package/dist/testing/index.d.ts.map +1 -0
  71. package/dist/testing/index.js +141 -0
  72. package/dist/testing/index.js.map +1 -0
  73. package/package.json +67 -0
@@ -0,0 +1,56 @@
1
+ import type { ChartsProvider } from './capabilities/charts.js';
2
+ import type { EnrichmentProvider } from './capabilities/enrichment.js';
3
+ import type { MusicProviderCatalog, MusicProviderOAuth, MusicProviderSteer, MusicProviderStream } from './capabilities/music.provider.js';
4
+ import type { NewsProvider } from './capabilities/news.js';
5
+ import type { ScrobbleProvider } from './capabilities/scrobble.js';
6
+ import type { SearchProvider } from './capabilities/search.js';
7
+ import type { SimilarityProvider } from './capabilities/similarity.js';
8
+ import type { WeatherProvider } from './capabilities/weather.js';
9
+ import type { PluginManifest } from './plugin.manifest.js';
10
+ import type { PluginLifecycle } from './plugin.lifecycle.js';
11
+ /**
12
+ * A plugin instance: the lifecycle, plus whatever capability interfaces the
13
+ * plugin declared in `manifest.capabilities`.
14
+ */
15
+ export type PluginInstance = PluginLifecycle;
16
+ /**
17
+ * Builds a fresh plugin instance. The host calls this once per configured
18
+ * installation, then calls `init(host)` on the result. Do no I/O here: keep
19
+ * the constructor cheap and put setup in `init`.
20
+ */
21
+ export type PluginFactory<TInstance extends PluginInstance = PluginInstance> = () => TInstance;
22
+ /** What a plugin package default-exports. */
23
+ export interface DeadairPlugin<TInstance extends PluginInstance = PluginInstance> {
24
+ manifest: PluginManifest;
25
+ factory: PluginFactory<TInstance>;
26
+ }
27
+ /**
28
+ * Instance shape for a `music-provider` plugin. Every capability method is
29
+ * optional: implement the subset you declared in `manifest.capabilities`.
30
+ */
31
+ export type MusicProviderPluginInstance = PluginLifecycle & Partial<MusicProviderCatalog> & Partial<MusicProviderStream> & Partial<MusicProviderSteer> & Partial<MusicProviderOAuth>;
32
+ /** Instance shape for an `enrichment` plugin. */
33
+ export type EnrichmentPluginInstance = PluginLifecycle & EnrichmentProvider;
34
+ /** Instance shape for a `charts` plugin. */
35
+ export type ChartsPluginInstance = PluginLifecycle & ChartsProvider;
36
+ /** Instance shape for a `news` plugin. */
37
+ export type NewsPluginInstance = PluginLifecycle & NewsProvider;
38
+ /** Instance shape for a `similarity` plugin. */
39
+ export type SimilarityPluginInstance = PluginLifecycle & SimilarityProvider;
40
+ /** Instance shape for a `search` plugin. */
41
+ export type SearchPluginInstance = PluginLifecycle & SearchProvider;
42
+ /** Instance shape for a `weather` plugin. */
43
+ export type WeatherPluginInstance = PluginLifecycle & WeatherProvider;
44
+ /** Instance shape for a `scrobble` plugin. */
45
+ export type ScrobblePluginInstance = PluginLifecycle & ScrobbleProvider;
46
+ /**
47
+ * Pairs a manifest with its factory and returns the object a plugin package
48
+ * default-exports. Purely a typing helper: it does no validation, because the
49
+ * host validates the manifest with `pluginManifestSchema` at load time.
50
+ *
51
+ * ```ts
52
+ * export default definePlugin(manifest, () => new MyPlugin());
53
+ * ```
54
+ */
55
+ export declare function definePlugin<TInstance extends PluginInstance>(manifest: PluginManifest, factory: PluginFactory<TInstance>): DeadairPlugin<TInstance>;
56
+ //# sourceMappingURL=define.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.plugin.d.ts","sourceRoot":"","sources":["../src/define.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC1I,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,IAAI,MAAM,SAAS,CAAC;AAE/F,6CAA6C;AAC7C,MAAM,WAAW,aAAa,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc;IAC5E,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,eAAe,GACrD,OAAO,CAAC,oBAAoB,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC,GAC5B,OAAO,CAAC,kBAAkB,CAAC,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEhC,iDAAiD;AACjD,MAAM,MAAM,wBAAwB,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAE5E,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,cAAc,CAAC;AAEpE,0CAA0C;AAC1C,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,YAAY,CAAC;AAEhE,gDAAgD;AAChD,MAAM,MAAM,wBAAwB,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAE5E,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,cAAc,CAAC;AAEpE,6CAA6C;AAC7C,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG,eAAe,CAAC;AAEtE,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAExE;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,SAAS,cAAc,EACzD,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAClC,aAAa,CAAC,SAAS,CAAC,CAE1B"}
@@ -0,0 +1,97 @@
1
+ import type { HostFetchInit, PluginHost } from './plugin.host.js';
2
+ /**
3
+ * A syndicated feed, as one shape, whichever of the three formats it arrived in.
4
+ *
5
+ * The sibling of `plugin.http.ts`, and here for the same reason: every plugin
6
+ * that reads a feed writes the same normalisation, and none of it is that
7
+ * plugin's opinion. RSS 2.0 dates an item with `pubDate` in RFC-822, Atom uses
8
+ * `published` in ISO-8601 and RSS 1.0 uses `dc:date`; a link is an element's
9
+ * text in two of them and an attribute in the third; a title is a bare string
10
+ * until somebody sets `type="html"` on it and it becomes an object. None of
11
+ * that is worth learning twice.
12
+ *
13
+ * ## It parses and it does not fetch
14
+ *
15
+ * {@link parseFeed} takes a string. That is what makes it testable against real
16
+ * documents with no host in the way, and it is the half other plugins will
17
+ * actually reuse. {@link fetchFeed} is the thin convenience on top, and it is
18
+ * thin deliberately: `host.fetch` already carries the allowlist, the pacing and
19
+ * the `Retry-After` back-off, so there is nothing left here but a status check.
20
+ *
21
+ * Caching and conditional GET (`ETag`, `Last-Modified`) are NOT here. They
22
+ * belong to whoever is polling — a plugin knows how often its own feeds are
23
+ * worth asking and this file does not — and putting a cache behind a pure
24
+ * parser would hide it from the one caller that must not be surprised by it.
25
+ *
26
+ * ## Tolerant in one specific direction
27
+ *
28
+ * A feed is somebody else's file, served by somebody else's edge, and the ways
29
+ * it goes wrong are not interesting: a truncated body, an HTML error page with
30
+ * a 200 on it, an item with no title. So a document that will not parse answers
31
+ * with no items rather than throwing, and an item missing the one field that
32
+ * makes it an item is dropped rather than guessed at. What is NOT tolerated is
33
+ * a bad status, because that is the upstream saying so itself.
34
+ */
35
+ /** One entry, whatever the feed called it. */
36
+ export interface FeedItem {
37
+ /**
38
+ * A stable identifier for this entry, across polls and across restarts.
39
+ *
40
+ * The load-bearing field, and the reason it is never absent. Anything that
41
+ * polls a feed has to tell an arrival from something it has already seen,
42
+ * and the only alternative to an id is comparing timestamps — which fails
43
+ * on a publisher that back-dates, re-dates or omits them.
44
+ *
45
+ * Taken from `guid`, then Atom's `id`, then the link, and only then a hash
46
+ * of the title and date. The fallback is what makes the guarantee hold for
47
+ * a feed that supplies none of the three, and it is a hash rather than an
48
+ * index because a position in a list changes every time the list does.
49
+ */
50
+ id: string;
51
+ title: string;
52
+ /** The entry's own words, as plain text. See {@link FEED_SUMMARY_MAX_CHARS}. */
53
+ summary?: string;
54
+ url?: string;
55
+ /** ISO-8601. Never a `Date`, and absent when the feed gave no readable one. */
56
+ publishedAt?: string;
57
+ author?: string;
58
+ categories?: string[];
59
+ }
60
+ /** A feed, and what it holds. */
61
+ export interface ParsedFeed {
62
+ title?: string;
63
+ /** Where the publication itself lives, as opposed to any one entry. */
64
+ homeUrl?: string;
65
+ /** Newest first where the feed said, and otherwise in the order it listed them. */
66
+ items: FeedItem[];
67
+ }
68
+ /**
69
+ * How much of an entry's own words are kept.
70
+ *
71
+ * A description is written for a browser and its destination here is a model's
72
+ * context and possibly a voice, neither of which wants three paragraphs of a
73
+ * press release. Generous enough to hold a real first paragraph, short enough
74
+ * that twenty of them still leave room to think.
75
+ */
76
+ export declare const FEED_SUMMARY_MAX_CHARS = 500;
77
+ /**
78
+ * A feed document, read.
79
+ *
80
+ * Answers with an empty feed rather than throwing, for anything that is not one
81
+ * — a parse failure, an HTML page, an empty body. The caller's next move is the
82
+ * same in every case, and a plugin fanning out over five feeds must not lose
83
+ * four of them to the fifth.
84
+ */
85
+ export declare function parseFeed(xml: string): ParsedFeed;
86
+ /**
87
+ * A feed off the network.
88
+ *
89
+ * Everything about the request except the status check is `host.fetch`'s: the
90
+ * allowlist, the pacing, the redirect re-checks, the body caps. What is left is
91
+ * the one decision a plugin should not be making differently from its
92
+ * neighbours — which {@link PluginErrorCode} a status means — and that is
93
+ * `plugin.http.ts`'s ladder, unmodified. A service with its own reading of a
94
+ * status layers that in front by calling {@link parseFeed} itself.
95
+ */
96
+ export declare function fetchFeed(host: PluginHost, url: string, init?: HostFetchInit): Promise<ParsedFeed>;
97
+ //# sourceMappingURL=feed.parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed.parse.d.ts","sourceRoot":"","sources":["../src/feed.parse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,8CAA8C;AAC9C,MAAM,WAAW,QAAQ;IACrB;;;;;;;;;;;;OAYG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,KAAK,EAAE,QAAQ,EAAE,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAuB1C;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAgCjD;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAoBxG"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Somebody else's markup as something a person could be read aloud.
3
+ *
4
+ * Lifted out of `feed.parse.ts` when `article.parse.ts` needed the same two
5
+ * steps, and shared rather than copied for the reason `match.text.ts` gives
6
+ * about its own two: a difference between the copies would have one reader
7
+ * hand a model `&amp;` while the other did not, and nobody would notice until
8
+ * a voice said it on air.
9
+ *
10
+ * Neither function knows anything about feeds or articles. What is here is the
11
+ * part that is true of any publisher's text: tags are not words, entities are
12
+ * not punctuation, and a paragraph's worth of whitespace is one space.
13
+ */
14
+ export declare function decodeEntities(value: string): string;
15
+ /**
16
+ * Markup as plain text, capped.
17
+ *
18
+ * Tags out, entities decoded, whitespace collapsed, length bounded.
19
+ *
20
+ * Entities are decoded AFTER the tags come out, and that order matters: an
21
+ * escaped `&lt;script&gt;` would otherwise be turned into a tag by the decode
22
+ * and then survive the strip.
23
+ *
24
+ * @param maxChars - Where to cut. Absent means keep whatever there is, which is
25
+ * what a caller that has already bounded the input wants.
26
+ */
27
+ export declare function plainText(raw: string, maxChars?: number): string | undefined;
28
+ /**
29
+ * Text cut at a word boundary where there is one nearby, with an ellipsis.
30
+ *
31
+ * A summary that ends mid-word reads as a broken feed rather than as a
32
+ * truncation, which is the difference between a listener hearing a station
33
+ * quoting a publisher and one hearing a station malfunction.
34
+ */
35
+ export declare function truncateWords(value: string, maxChars: number): string;
36
+ /**
37
+ * The first sentence of a passage, as published, or the whole thing when it is
38
+ * one sentence.
39
+ *
40
+ * Here rather than in a caller because both consumers of prose need it and
41
+ * neither should be splitting sentences by hand: a station reads the opening
42
+ * line of a story aloud, and a truncation cuts at the last one that fits.
43
+ */
44
+ export declare function firstSentence(value: string): string;
45
+ /**
46
+ * Text cut at the last SENTENCE that fits, with no ellipsis.
47
+ *
48
+ * The other kind of cut, and the one that belongs on anything a voice will read
49
+ * or a model will be told is the story: half a sentence is something to finish,
50
+ * and a model handed one finishes it out of its own head — which is exactly the
51
+ * failure a bulletin cannot have. Falls back to {@link truncateWords} when the
52
+ * first sentence is already longer than the cap, because a hard stop mid-clause
53
+ * is still better than three paragraphs.
54
+ */
55
+ export declare function truncateSentences(value: string, maxChars: number): string;
56
+ /**
57
+ * The longest run of WHOLE sentences within a word count, or nothing.
58
+ *
59
+ * The word-counted sibling of {@link truncateSentences}, and the difference
60
+ * between them is the fallback rather than the unit. That one cuts mid-clause
61
+ * when the first sentence is already too long, because its caller would rather
62
+ * have a hard stop than three paragraphs. This one answers `undefined`, because
63
+ * its caller is choosing between a script and something else it can say
64
+ * instead, and half a sentence read aloud is worse than either.
65
+ *
66
+ * A passage already within the count comes back trimmed and otherwise
67
+ * untouched, so a caller can put this in front of everything rather than
68
+ * branching on the length itself.
69
+ */
70
+ export declare function sentencesWithin(value: string, maxWords: number): string | undefined;
71
+ //# sourceMappingURL=html.text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.text.d.ts","sourceRoot":"","sources":["../src/html.text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA4BH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO5E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMrE;AA2BD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYzE;AAeD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgBnF"}
@@ -0,0 +1,30 @@
1
+ export * from './boundary.json.safe.js';
2
+ export * from './capabilities/analysis.js';
3
+ export * from './capabilities/charts.js';
4
+ export * from './capabilities/enrichment.js';
5
+ export * from './capabilities/llm.js';
6
+ export * from './capabilities/mixer.js';
7
+ export * from './capabilities/music.provider.js';
8
+ export * from './capabilities/news.js';
9
+ export * from './capabilities/scrobble.js';
10
+ export * from './capabilities/search.js';
11
+ export * from './capabilities/similarity.js';
12
+ export * from './capabilities/speech.js';
13
+ export * from './capabilities/weather.js';
14
+ export * from './article.parse.js';
15
+ export * from './define.plugin.js';
16
+ export * from './feed.parse.js';
17
+ export * from './html.text.js';
18
+ export * from './match.text.js';
19
+ export * from './plugin.api.version.js';
20
+ export * from './plugin.base.js';
21
+ export * from './plugin.config.fields.js';
22
+ export * from './plugin.config.read.js';
23
+ export * from './plugin.error.js';
24
+ export * from './plugin.host.js';
25
+ export * from './plugin.host.response.js';
26
+ export * from './plugin.http.js';
27
+ export * from './plugin.lifecycle.js';
28
+ export * from './plugin.manifest.js';
29
+ export * from './plugin.permissions.js';
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}