opencode-puter-auth 1.0.2 → 1.0.4

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,106 @@
1
+ /**
2
+ * Puter Chat Model Settings
3
+ *
4
+ * Configuration options for the Puter chat language model.
5
+ */
6
+ /**
7
+ * Settings for the Puter chat model.
8
+ */
9
+ export interface PuterChatSettings {
10
+ /**
11
+ * The Puter model ID to use.
12
+ * @example 'claude-opus-4-5', 'claude-sonnet-4-5', 'gpt-4o', 'gemini-2.5-pro'
13
+ */
14
+ modelId?: string;
15
+ /**
16
+ * Maximum number of tokens to generate.
17
+ */
18
+ maxTokens?: number;
19
+ /**
20
+ * Temperature for response generation.
21
+ * Higher values make output more random, lower values more deterministic.
22
+ * @default 0.7
23
+ */
24
+ temperature?: number;
25
+ /**
26
+ * Top-p (nucleus) sampling parameter.
27
+ */
28
+ topP?: number;
29
+ /**
30
+ * Top-k sampling parameter.
31
+ */
32
+ topK?: number;
33
+ /**
34
+ * Stop sequences that will halt generation.
35
+ */
36
+ stopSequences?: string[];
37
+ /**
38
+ * Whether to enable streaming responses.
39
+ * @default true
40
+ */
41
+ stream?: boolean;
42
+ }
43
+ /**
44
+ * Configuration for the Puter provider.
45
+ */
46
+ export interface PuterProviderConfig {
47
+ /**
48
+ * The Puter authentication token.
49
+ * Can be obtained by authenticating with Puter.com.
50
+ */
51
+ authToken: string;
52
+ /**
53
+ * Base URL for the Puter API.
54
+ * @default 'https://api.puter.com'
55
+ */
56
+ baseURL?: string;
57
+ /**
58
+ * Request timeout in milliseconds.
59
+ * @default 120000
60
+ */
61
+ timeout?: number;
62
+ /**
63
+ * Custom headers to include in requests.
64
+ */
65
+ headers?: Record<string, string>;
66
+ /**
67
+ * Custom fetch function for making HTTP requests.
68
+ * Useful for testing or custom networking.
69
+ */
70
+ fetch?: typeof globalThis.fetch;
71
+ /**
72
+ * Function to generate unique IDs.
73
+ * Used for tool call IDs and other identifiers.
74
+ */
75
+ generateId?: () => string;
76
+ }
77
+ /**
78
+ * Internal configuration passed to the chat model.
79
+ */
80
+ export interface PuterChatConfig {
81
+ /**
82
+ * Provider identifier.
83
+ */
84
+ provider: string;
85
+ /**
86
+ * Base URL for API calls.
87
+ */
88
+ baseURL: string;
89
+ /**
90
+ * Request timeout in milliseconds.
91
+ */
92
+ timeout: number;
93
+ /**
94
+ * Function to get headers for requests.
95
+ */
96
+ headers: () => Record<string, string>;
97
+ /**
98
+ * Fetch function to use for requests.
99
+ */
100
+ fetch: typeof globalThis.fetch;
101
+ /**
102
+ * Function to generate unique IDs.
103
+ */
104
+ generateId: () => string;
105
+ }
106
+ //# sourceMappingURL=puter-chat-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puter-chat-settings.d.ts","sourceRoot":"","sources":["../../src/ai-provider/puter-chat-settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Puter Chat Model Settings
3
+ *
4
+ * Configuration options for the Puter chat language model.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=puter-chat-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puter-chat-settings.js","sourceRoot":"","sources":["../../src/ai-provider/puter-chat-settings.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Puter AI SDK Provider
3
+ *
4
+ * Factory function for creating Puter language models compatible with the AI SDK.
5
+ * This enables Puter.com's FREE AI models to work as a proper provider in OpenCode.
6
+ */
7
+ import type { ProviderV3 } from '@ai-sdk/provider';
8
+ import { PuterChatLanguageModel } from './puter-chat-language-model.js';
9
+ import type { PuterChatSettings, PuterProviderConfig } from './puter-chat-settings.js';
10
+ /**
11
+ * Puter provider interface extending ProviderV3.
12
+ */
13
+ export interface PuterProvider extends ProviderV3 {
14
+ /**
15
+ * Create a Puter chat language model.
16
+ * @param modelId - The model ID (e.g., 'claude-opus-4-5', 'gpt-4o')
17
+ * @param settings - Optional model settings
18
+ */
19
+ (modelId: string, settings?: PuterChatSettings): PuterChatLanguageModel;
20
+ /**
21
+ * Create a Puter chat language model.
22
+ * @param modelId - The model ID (e.g., 'claude-opus-4-5', 'gpt-4o')
23
+ * @param settings - Optional model settings
24
+ */
25
+ languageModel(modelId: string, settings?: PuterChatSettings): PuterChatLanguageModel;
26
+ /**
27
+ * Create a Puter chat language model (alias for languageModel).
28
+ * @param modelId - The model ID
29
+ * @param settings - Optional model settings
30
+ */
31
+ chat(modelId: string, settings?: PuterChatSettings): PuterChatLanguageModel;
32
+ }
33
+ /**
34
+ * Create a Puter provider instance.
35
+ *
36
+ * @param options - Provider configuration options
37
+ * @returns A Puter provider instance
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * import { createPuter } from 'opencode-puter-auth';
42
+ *
43
+ * const puter = createPuter({
44
+ * authToken: 'your-puter-auth-token',
45
+ * });
46
+ *
47
+ * const model = puter('claude-opus-4-5');
48
+ * ```
49
+ */
50
+ export declare function createPuter(options: PuterProviderConfig): PuterProvider;
51
+ /**
52
+ * Default Puter provider (lazy-loaded).
53
+ *
54
+ * This is a proxy that lazily creates the provider when first accessed.
55
+ * It requires the PUTER_AUTH_TOKEN environment variable to be set.
56
+ */
57
+ export declare const puter: PuterProvider;
58
+ //# sourceMappingURL=puter-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puter-provider.d.ts","sourceRoot":"","sources":["../../src/ai-provider/puter-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAmB,MAAM,0BAA0B,CAAC;AAExG;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C;;;;OAIG;IACH,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC;IAExE;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC;IAErF;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,CAAC;CAC7E;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAiFvE;AAkCD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,aAsBnB,CAAC"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Puter AI SDK Provider
3
+ *
4
+ * Factory function for creating Puter language models compatible with the AI SDK.
5
+ * This enables Puter.com's FREE AI models to work as a proper provider in OpenCode.
6
+ */
7
+ import { generateId, withoutTrailingSlash } from '@ai-sdk/provider-utils';
8
+ import { PuterChatLanguageModel } from './puter-chat-language-model.js';
9
+ /**
10
+ * Default Puter API base URL.
11
+ */
12
+ const DEFAULT_BASE_URL = 'https://api.puter.com';
13
+ /**
14
+ * Default request timeout in milliseconds.
15
+ */
16
+ const DEFAULT_TIMEOUT = 120000;
17
+ /**
18
+ * Create a Puter provider instance.
19
+ *
20
+ * @param options - Provider configuration options
21
+ * @returns A Puter provider instance
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * import { createPuter } from 'opencode-puter-auth';
26
+ *
27
+ * const puter = createPuter({
28
+ * authToken: 'your-puter-auth-token',
29
+ * });
30
+ *
31
+ * const model = puter('claude-opus-4-5');
32
+ * ```
33
+ */
34
+ export function createPuter(options) {
35
+ const baseURL = withoutTrailingSlash(options.baseURL) ?? DEFAULT_BASE_URL;
36
+ const timeout = options.timeout ?? DEFAULT_TIMEOUT;
37
+ const fetchFn = options.fetch ?? globalThis.fetch;
38
+ const generateIdFn = options.generateId ?? generateId;
39
+ /**
40
+ * Get headers for API requests.
41
+ */
42
+ const getHeaders = () => {
43
+ const headers = {
44
+ 'Content-Type': 'application/json',
45
+ };
46
+ // Add auth token if provided
47
+ if (options.authToken) {
48
+ headers['Authorization'] = `Bearer ${options.authToken}`;
49
+ }
50
+ // Add custom headers
51
+ if (options.headers) {
52
+ Object.assign(headers, options.headers);
53
+ }
54
+ return headers;
55
+ };
56
+ /**
57
+ * Create a chat language model configuration.
58
+ */
59
+ const createChatConfig = () => ({
60
+ provider: 'puter',
61
+ baseURL,
62
+ timeout,
63
+ headers: getHeaders,
64
+ fetch: fetchFn,
65
+ generateId: generateIdFn,
66
+ });
67
+ /**
68
+ * Create a chat language model.
69
+ */
70
+ const createChatModel = (modelId, settings = {}) => {
71
+ return new PuterChatLanguageModel(modelId, settings, createChatConfig());
72
+ };
73
+ /**
74
+ * Provider function that can be called directly or via methods.
75
+ */
76
+ const provider = function (modelId, settings) {
77
+ if (new.target) {
78
+ throw new Error('The Puter provider function cannot be called with the new keyword.');
79
+ }
80
+ return createChatModel(modelId, settings);
81
+ };
82
+ // Add methods to the provider function
83
+ provider.languageModel = createChatModel;
84
+ provider.chat = createChatModel;
85
+ // ProviderV3 specification version
86
+ provider.specificationVersion = 'v3';
87
+ // Puter only supports chat models, throw for unsupported types
88
+ provider.embeddingModel = () => {
89
+ throw new Error('Puter does not support embedding models');
90
+ };
91
+ provider.imageModel = () => {
92
+ throw new Error('Puter does not support image models');
93
+ };
94
+ return provider;
95
+ }
96
+ /**
97
+ * Lazy-loaded default Puter provider instance.
98
+ *
99
+ * This provider is only instantiated when actually used, avoiding errors
100
+ * when the PUTER_AUTH_TOKEN environment variable is not set at import time.
101
+ *
102
+ * Note: Requires the PUTER_AUTH_TOKEN environment variable to be set when used.
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * import { puter } from 'opencode-puter-auth';
107
+ *
108
+ * // Requires PUTER_AUTH_TOKEN environment variable
109
+ * const model = puter('claude-opus-4-5');
110
+ * ```
111
+ */
112
+ let _puterInstance = null;
113
+ function getPuterInstance() {
114
+ if (!_puterInstance) {
115
+ const authToken = process.env.PUTER_AUTH_TOKEN;
116
+ if (!authToken) {
117
+ throw new Error('PUTER_AUTH_TOKEN environment variable is required for the default puter provider. ' +
118
+ 'Either set the environment variable or use createPuter() with an explicit authToken.');
119
+ }
120
+ _puterInstance = createPuter({ authToken });
121
+ }
122
+ return _puterInstance;
123
+ }
124
+ /**
125
+ * Default Puter provider (lazy-loaded).
126
+ *
127
+ * This is a proxy that lazily creates the provider when first accessed.
128
+ * It requires the PUTER_AUTH_TOKEN environment variable to be set.
129
+ */
130
+ export const puter = new Proxy(function () { }, {
131
+ apply(_target, _thisArg, args) {
132
+ return getPuterInstance()(...args);
133
+ },
134
+ get(_target, prop) {
135
+ if (prop === 'languageModel' || prop === 'chat') {
136
+ return (...args) => getPuterInstance()[prop](...args);
137
+ }
138
+ if (prop === 'specificationVersion') {
139
+ return 'v3';
140
+ }
141
+ if (prop === 'embeddingModel' || prop === 'imageModel') {
142
+ return () => {
143
+ throw new Error(`Puter does not support ${String(prop).replace('Model', '')} models`);
144
+ };
145
+ }
146
+ return getPuterInstance()[prop];
147
+ },
148
+ });
149
+ //# sourceMappingURL=puter-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puter-provider.js","sourceRoot":"","sources":["../../src/ai-provider/puter-provider.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,5 +8,9 @@
8
8
  * @license MIT
9
9
  */
10
10
  export { PuterAuthPlugin } from './plugin.js';
11
+ export { createPuter, puter } from './ai-provider/index.js';
12
+ export type { PuterProvider } from './ai-provider/index.js';
13
+ export { PuterChatLanguageModel } from './ai-provider/index.js';
14
+ export type { PuterChatSettings, PuterProviderConfig, PuterChatConfig } from './ai-provider/index.js';
11
15
  export type { PuterConfig, PuterAccount, PuterChatOptions, PuterChatResponse, PuterChatMessage, PuterChatStreamChunk, PuterModelInfo } from './types.js';
12
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGtG,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -12,4 +12,8 @@
12
12
  // OpenCode's plugin loader calls all exports as functions, so exporting
13
13
  // classes (PuterClient, PuterAuthManager) causes "cannot call class without new" errors.
14
14
  export { PuterAuthPlugin } from './plugin.js';
15
+ // AI SDK Provider exports
16
+ // These enable Puter to work as a proper AI SDK provider
17
+ export { createPuter, puter } from './ai-provider/index.js';
18
+ export { PuterChatLanguageModel } from './ai-provider/index.js';
15
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kDAAkD;AAClD,2DAA2D;AAC3D,wEAAwE;AACxE,yFAAyF;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kDAAkD;AAClD,2DAA2D;AAC3D,wEAAwE;AACxE,yFAAyF;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,0BAA0B;AAC1B,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AAuDtE;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAuR7B,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AAwDtE;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAqS7B,CAAC"}
package/dist/plugin.js CHANGED
@@ -14,6 +14,7 @@ import http from 'node:http';
14
14
  import { URL } from 'node:url';
15
15
  import { PuterClient } from './client.js';
16
16
  import { PuterAuthManager } from './auth.js';
17
+ import { createPuterFetch } from './provider.js';
17
18
  import { PuterConfigSchema } from './types.js';
18
19
  // Default config directory
19
20
  const getConfigDir = () => {
@@ -75,15 +76,28 @@ export const PuterAuthPlugin = async (_input) => {
75
76
  // AUTH HOOK - OAuth with Puter
76
77
  // ========================================
77
78
  auth: {
79
+ // Use 'puter' as a standalone provider
80
+ // This registers Puter as its own provider in OpenCode's model picker
81
+ // The custom fetch intercepts all requests and routes them to Puter's API
82
+ // with proper request/response translation (OpenAI-compatible format)
78
83
  provider: 'puter',
79
84
  // Load auth credentials for Puter provider
80
- async loader(_auth, _provider) {
85
+ async loader(_auth, provider) {
81
86
  const account = authManager?.getActiveAccount();
82
87
  if (account) {
88
+ // Set all Puter models as FREE (cost = 0)
89
+ if (provider?.models) {
90
+ for (const model of Object.values(provider.models)) {
91
+ model.cost = { input: 0, output: 0, cache: { read: 0, write: 0 } };
92
+ }
93
+ }
94
+ // Return custom fetch function that intercepts and transforms requests
95
+ // This enables Puter to work as a provider in OpenCode's model picker
96
+ // Using localhost as fake baseURL that gets intercepted by custom fetch
83
97
  return {
84
- key: account.authToken,
85
- username: account.username,
86
- email: account.email,
98
+ apiKey: account.authToken, // Real auth token for debugging
99
+ baseURL: 'http://localhost:8080', // Fake localhost URL intercepted by custom fetch
100
+ fetch: createPuterFetch(account.authToken, pluginConfig),
87
101
  };
88
102
  }
89
103
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,2BAA2B;AAC3B,MAAM,YAAY,GAAG,GAAW,EAAE;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC9C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,eAAe;AACf,IAAI,WAAW,GAA4B,IAAI,CAAC;AAChD,IAAI,WAAW,GAAuB,IAAI,CAAC;AAC3C,IAAI,YAAY,GAAyB,EAAE,CAAC;AAE5C,qBAAqB;AACrB,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,SAAiB;IACzC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,GAAG,CAAC,OAAe,EAAE,QAAmC,MAAM;IACrE,IAAI,YAAY,CAAC,UAAU;QAAE,OAAO;IAEpC,MAAM,MAAM,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,iBAAiB,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAW,KAAK,EAAE,MAAmB,EAAkB,EAAE;IACnF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,qBAAqB;IACrB,YAAY,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;IAE3C,0BAA0B;IAC1B,WAAW,GAAG,IAAI,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IAEzB,iDAAiD;IACjD,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAI,aAAa,EAAE,CAAC;QAClB,WAAW,GAAG,IAAI,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACrE,GAAG,CAAC,mBAAmB,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,OAAO;QACL,2CAA2C;QAC3C,+BAA+B;QAC/B,2CAA2C;QAC3C,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO;YAEjB,2CAA2C;YAC3C,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS;gBAC3B,MAAM,OAAO,GAAG,WAAW,EAAE,gBAAgB,EAAE,CAAC;gBAChD,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO;wBACL,GAAG,EAAE,OAAO,CAAC,SAAS;wBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,+BAA+B;oBAEtC,KAAK,CAAC,SAAS;wBACb,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;4BAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;4BACrB,IAAI,MAAM,GAAuB,IAAI,CAAC;4BAEtC,4BAA4B;4BAC5B,MAAM,eAAe,GAAG,IAAI,OAAO,CAAwD,CAAC,eAAe,EAAE,EAAE;gCAC7G,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;oCAC5C,IAAI,QAAQ,EAAE,CAAC;wCACb,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;wCACpD,GAAG,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;wCACpE,OAAO;oCACT,CAAC;oCAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,aAAa,EAAE,CAAC,CAAC;oCAEzE,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;wCACjC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wCAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC;wCAClE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;wCACzD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;wCAEvD,IAAI,KAAK,EAAE,CAAC;4CACV,QAAQ,GAAG,IAAI,CAAC;4CAEhB,MAAM,OAAO,GAAiB;gDAC5B,QAAQ;gDACR,KAAK;gDACL,SAAS,EAAE,KAAK;gDAChB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;gDACnB,WAAW,EAAE,MAAM;6CACpB,CAAC;4CAEF,eAAe;4CACf,IAAI,WAAW,EAAE,CAAC;gDAChB,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gDACtC,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gDACnD,GAAG,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;4CACvC,CAAC;4CAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;4CACpD,GAAG,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;uBAqBP,CAAC,CAAC;4CAEH,MAAM,EAAE,KAAK,EAAE,CAAC;4CAChB,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;wCACnD,CAAC;6CAAM,CAAC;4CACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;4CACpD,GAAG,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;wCAC9D,CAAC;oCACH,CAAC;yCAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;wCAChC,yBAAyB;wCACzB,MAAM,WAAW,GAAG,kBAAkB,CAAC,oBAAoB,aAAa,WAAW,CAAC,CAAC;wCACrF,MAAM,OAAO,GAAG,mCAAmC,WAAW,EAAE,CAAC;wCAEjE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;wCAC1C,GAAG,CAAC,GAAG,EAAE,CAAC;oCACZ,CAAC;yCAAM,CAAC;wCACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;wCACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oCACvB,CAAC;gCACH,CAAC,CAAC,CAAC;gCAEH,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;gCAE1C,kBAAkB;gCAClB,UAAU,CAAC,GAAG,EAAE;oCACd,IAAI,CAAC,QAAQ,EAAE,CAAC;wCACd,QAAQ,GAAG,IAAI,CAAC;wCAChB,MAAM,EAAE,KAAK,EAAE,CAAC;wCAChB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oCACtC,CAAC;gCACH,CAAC,EAAE,eAAe,CAAC,CAAC;gCAEpB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oCACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;wCACd,QAAQ,GAAG,IAAI,CAAC;wCAChB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oCACtC,CAAC;gCACH,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;4BAEH,OAAO,CAAC;gCACN,GAAG,EAAE,oBAAoB,aAAa,EAAE;gCACxC,YAAY,EAAE,4GAA4G;gCAC1H,MAAM,EAAE,MAAe;gCACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe;6BAChC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACL,CAAC;iBACF;aACF;SACF;QAED,2CAA2C;QAC3C,eAAe;QACf,2CAA2C;QAC3C,IAAI,EAAE;YACJ,cAAc,EAAE,IAAI,CAAC;gBACnB,WAAW,EAAE,yEAAyE;gBACtF,IAAI,EAAE,EAAE;gBACR,KAAK,CAAC,OAAO;oBACX,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,OAAO,wDAAwD,CAAC;oBAClE,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;oBAE9C,IAAI,MAAM,GAAG,oDAAoD,CAAC;oBAElE,oBAAoB;oBACpB,MAAM,UAAU,GAAkC,EAAE,CAAC;oBACrD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC;wBAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;wBACrD,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnC,CAAC;oBAED,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpE,MAAM,IAAI,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC3E,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;4BACnC,MAAM,IAAI,OAAO,KAAK,CAAC,EAAE,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC;4BAChD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gCACzB,MAAM,IAAI,gBAAgB,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC;4BAC7E,CAAC;wBACH,CAAC;wBACD,MAAM,IAAI,IAAI,CAAC;oBACjB,CAAC;oBAED,MAAM,IAAI,YAAY,MAAM,CAAC,MAAM,6BAA6B,CAAC;oBAEjE,OAAO,MAAM,CAAC;gBAChB,CAAC;aACF,CAAC;YAEF,eAAe,EAAE,IAAI,CAAC;gBACpB,WAAW,EAAE,4CAA4C;gBACzD,IAAI,EAAE,EAAE;gBACR,KAAK,CAAC,OAAO;oBACX,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,OAAO,8BAA8B,CAAC;oBACxC,CAAC;oBAED,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;oBAC9C,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;oBAErD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO,wDAAwD,CAAC;oBAClE,CAAC;oBAED,IAAI,MAAM,GAAG,0BAA0B,CAAC;oBAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC5B,MAAM,QAAQ,GAAG,OAAO,KAAK,aAAa,CAAC;wBAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;wBACtC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;wBAExD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,QAAQ,MAAM,MAAM,IAAI,CAAC;wBACnE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;4BAClB,MAAM,IAAI,gBAAgB,OAAO,CAAC,KAAK,IAAI,CAAC;wBAC9C,CAAC;wBACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;4BACrB,MAAM,IAAI,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC;wBAChF,CAAC;oBACH,CAAC;oBAED,MAAM,IAAI,SAAS,CAAC;oBACpB,MAAM,IAAI,wEAAwE,CAAC;oBAEnF,OAAO,MAAM,CAAC;gBAChB,CAAC;aACF,CAAC;YAEF,YAAY,EAAE,IAAI,CAAC;gBACjB,WAAW,EAAE,oGAAoG;gBACjH,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;oBACvE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+HAA+H,CAAC;iBACjL;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI;oBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,OAAO,wDAAwD,CAAC;oBAClE,CAAC;oBAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC;oBAChD,MAAM,QAAQ,GAAuB;wBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;qBACxC,CAAC;oBAEF,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;wBAE7D,MAAM,WAAW,EAAE,kBAAkB,EAAE,CAAC;wBAExC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,IAAI,aAAa,CAAC;wBAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK;4BAC1B,CAAC,CAAC,oBAAoB,KAAK,cAAc,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG;4BACvE,CAAC,CAAC,EAAE,CAAC;wBAEP,OAAO,OAAO,GAAG,KAAK,CAAC;oBACzB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;oBACrG,CAAC;gBACH,CAAC;aACF,CAAC;SACH;QAED,2CAA2C;QAC3C,gBAAgB;QAChB,2CAA2C;QAC3C,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;YACnB,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}