@executor-js/plugin-graphql 1.4.33 → 1.5.1

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 (54) hide show
  1. package/dist/AddGraphqlSource-P3D3UXRJ.js +179 -0
  2. package/dist/AddGraphqlSource-P3D3UXRJ.js.map +1 -0
  3. package/dist/EditGraphqlSource-FVF67CTP.js +38 -0
  4. package/dist/EditGraphqlSource-FVF67CTP.js.map +1 -0
  5. package/dist/GraphqlAccountsPanel-GBNFHLFH.js +9 -0
  6. package/dist/GraphqlAccountsPanel-GBNFHLFH.js.map +1 -0
  7. package/dist/api/group.d.ts +108 -119
  8. package/dist/api/handlers.d.ts +9 -7
  9. package/dist/api/index.d.ts +117 -104
  10. package/dist/chunk-2Y3J3CVO.js +191 -0
  11. package/dist/chunk-2Y3J3CVO.js.map +1 -0
  12. package/dist/chunk-ADQTI2OK.js +1309 -0
  13. package/dist/chunk-ADQTI2OK.js.map +1 -0
  14. package/dist/{chunk-UIAHATHP.js → chunk-N5GJE7R6.js} +42 -58
  15. package/dist/chunk-N5GJE7R6.js.map +1 -0
  16. package/dist/chunk-VCYDSSIK.js +79 -0
  17. package/dist/chunk-VCYDSSIK.js.map +1 -0
  18. package/dist/client.js +7 -7
  19. package/dist/client.js.map +1 -1
  20. package/dist/core.js +20 -28
  21. package/dist/index.js +2 -2
  22. package/dist/react/AddGraphqlSource.d.ts +1 -1
  23. package/dist/react/EditGraphqlSource.d.ts +2 -2
  24. package/dist/react/GraphqlAccountsPanel.d.ts +6 -0
  25. package/dist/react/GraphqlSignInButton.d.ts +6 -2
  26. package/dist/react/GraphqlSourceFields.d.ts +2 -2
  27. package/dist/react/atoms.d.ts +95 -205
  28. package/dist/react/auth-method-config.d.ts +9 -0
  29. package/dist/react/client.d.ts +108 -97
  30. package/dist/react/defaults.d.ts +16 -2
  31. package/dist/react/index.d.ts +2 -2
  32. package/dist/react/source-plugin.d.ts +2 -2
  33. package/dist/sdk/errors.d.ts +8 -6
  34. package/dist/sdk/index.d.ts +5 -5
  35. package/dist/sdk/introspect.d.ts +1 -1
  36. package/dist/sdk/invoke.d.ts +1 -4
  37. package/dist/sdk/plugin.d.ts +94 -104
  38. package/dist/sdk/store.d.ts +11 -28
  39. package/dist/sdk/types.d.ts +110 -72
  40. package/package.json +5 -4
  41. package/dist/AddGraphqlSource-CJCUUYNM.js +0 -250
  42. package/dist/AddGraphqlSource-CJCUUYNM.js.map +0 -1
  43. package/dist/EditGraphqlSource-YLTPUYW4.js +0 -267
  44. package/dist/EditGraphqlSource-YLTPUYW4.js.map +0 -1
  45. package/dist/GraphqlSourceSummary-YWJX6ONU.js +0 -70
  46. package/dist/GraphqlSourceSummary-YWJX6ONU.js.map +0 -1
  47. package/dist/chunk-2252RTCE.js +0 -1730
  48. package/dist/chunk-2252RTCE.js.map +0 -1
  49. package/dist/chunk-D3FN3ZDA.js +0 -125
  50. package/dist/chunk-D3FN3ZDA.js.map +0 -1
  51. package/dist/chunk-M4SJY6CB.js +0 -45
  52. package/dist/chunk-M4SJY6CB.js.map +0 -1
  53. package/dist/chunk-UIAHATHP.js.map +0 -1
  54. package/dist/react/GraphqlSourceSummary.d.ts +0 -5
package/dist/core.js CHANGED
@@ -1,64 +1,56 @@
1
1
  import {
2
+ describeGraphqlAuthMethods,
2
3
  extract,
3
4
  graphqlPlugin,
4
- graphqlSchema,
5
5
  introspect,
6
6
  invoke,
7
7
  invokeWithLayer,
8
8
  makeDefaultGraphqlStore,
9
- parseIntrospectionJson,
10
- resolveHeaders
11
- } from "./chunk-2252RTCE.js";
9
+ parseIntrospectionJson
10
+ } from "./chunk-ADQTI2OK.js";
12
11
  import "./chunk-D6E4WAYW.js";
13
12
  import {
14
- ConfiguredGraphqlCredentialValue,
13
+ ApiKeyAuthTemplate,
14
+ AuthTemplate,
15
15
  ExtractedField,
16
16
  ExtractionResult,
17
- GRAPHQL_OAUTH_CONNECTION_SLOT,
18
17
  GraphqlArgument,
19
- GraphqlCredentialInput,
18
+ GraphqlAuthRequiredError,
20
19
  GraphqlExtractionError,
20
+ GraphqlIntegrationConfig,
21
21
  GraphqlIntrospectionError,
22
22
  GraphqlInvocationError,
23
23
  GraphqlOperationKind,
24
- GraphqlSourceAuth,
25
- GraphqlSourceAuthInput,
26
- HeaderValue,
27
- InvocationConfig,
28
24
  InvocationResult,
25
+ OAuthAuthTemplate,
29
26
  OperationBinding,
30
- QueryParamValue,
31
- graphqlHeaderSlot,
32
- graphqlQueryParamSlot
33
- } from "./chunk-UIAHATHP.js";
27
+ decodeGraphqlIntegrationConfig,
28
+ decodeGraphqlIntegrationConfigOption
29
+ } from "./chunk-N5GJE7R6.js";
34
30
  export {
35
- ConfiguredGraphqlCredentialValue,
31
+ ApiKeyAuthTemplate,
32
+ AuthTemplate,
36
33
  ExtractedField,
37
34
  ExtractionResult,
38
- GRAPHQL_OAUTH_CONNECTION_SLOT,
39
35
  GraphqlArgument,
40
- GraphqlCredentialInput,
36
+ GraphqlAuthRequiredError,
41
37
  GraphqlExtractionError,
38
+ GraphqlIntegrationConfig,
42
39
  GraphqlIntrospectionError,
43
40
  GraphqlInvocationError,
44
41
  GraphqlOperationKind,
45
- GraphqlSourceAuth,
46
- GraphqlSourceAuthInput,
47
- HeaderValue,
48
- InvocationConfig,
49
42
  InvocationResult,
43
+ OAuthAuthTemplate,
50
44
  OperationBinding,
51
- QueryParamValue,
45
+ decodeGraphqlIntegrationConfig,
46
+ decodeGraphqlIntegrationConfigOption,
47
+ describeGraphqlAuthMethods,
52
48
  extract,
53
- graphqlHeaderSlot,
54
49
  graphqlPlugin,
55
- graphqlQueryParamSlot,
56
- graphqlSchema,
57
50
  introspect,
58
51
  invoke,
59
52
  invokeWithLayer,
60
53
  makeDefaultGraphqlStore,
61
- parseIntrospectionJson,
62
- resolveHeaders
54
+ parseIntrospectionJson
63
55
  };
64
56
  //# sourceMappingURL=core.js.map
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  graphqlPlugin
3
- } from "./chunk-2252RTCE.js";
3
+ } from "./chunk-ADQTI2OK.js";
4
4
  import "./chunk-D6E4WAYW.js";
5
- import "./chunk-UIAHATHP.js";
5
+ import "./chunk-N5GJE7R6.js";
6
6
  export {
7
7
  graphqlPlugin
8
8
  };
@@ -1,5 +1,5 @@
1
1
  export default function AddGraphqlSource(props: {
2
- onComplete: () => void;
2
+ onComplete: (slug?: string) => void;
3
3
  onCancel: () => void;
4
4
  initialUrl?: string;
5
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
1
  export default function EditGraphqlSource(props: {
2
- sourceId: string;
3
- onSave: () => void;
2
+ readonly sourceId: string;
3
+ readonly onSave: () => void;
4
4
  }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import type { IntegrationAccountHandoff } from "@executor-js/sdk/client";
2
+ export default function GraphqlAccountsPanel(props: {
3
+ readonly sourceId: string;
4
+ readonly integrationName: string;
5
+ readonly accountHandoff?: IntegrationAccountHandoff | null;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,7 @@
1
+ import { IntegrationSlug, type Connection, type AuthTemplateSlug as AuthTemplateSlugType } from "@executor-js/sdk/shared";
1
2
  export default function GraphqlSignInButton(props: {
2
- sourceId: string;
3
- }): import("react/jsx-runtime").JSX.Element | null;
3
+ readonly slug: IntegrationSlug;
4
+ readonly template: AuthTemplateSlugType;
5
+ readonly displayName: string;
6
+ readonly existing: readonly Connection[];
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
- import { type SourceIdentity } from "@executor-js/react/plugins/source-identity";
1
+ import { type IntegrationIdentity } from "@executor-js/react/plugins/integration-identity";
2
2
  export declare function GraphqlSourceFields(props: {
3
3
  readonly endpoint: string;
4
4
  readonly onEndpointChange: (endpoint: string) => void;
5
- readonly identity: SourceIdentity;
5
+ readonly identity: IntegrationIdentity;
6
6
  readonly endpointDisabled?: boolean;
7
7
  readonly namespaceReadOnly?: boolean;
8
8
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,234 +1,124 @@
1
- import type { ScopeId } from "@executor-js/sdk/shared";
1
+ import type { IntegrationSlug } from "@executor-js/sdk/shared";
2
2
  import * as Atom from "effect/unstable/reactivity/Atom";
3
3
  import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
4
- export declare const graphqlSourceAtom: (scopeId: ScopeId, namespace: string) => Atom.Atom<AsyncResult.AsyncResult<{
4
+ export declare const graphqlIntegrationConfigAtom: (slug: IntegrationSlug) => Atom.Atom<AsyncResult.AsyncResult<unknown, import("@executor-js/sdk").IntegrationAlreadyExistsError | import("@executor-js/sdk").InternalError | import("../sdk").GraphqlIntrospectionError | import("../sdk").GraphqlExtractionError>>;
5
+ export declare const graphqlConfigAtom: (slug: IntegrationSlug) => Atom.Atom<AsyncResult.AsyncResult<{
5
6
  readonly name: string;
6
- readonly scope: string & import("effect/Brand").Brand<"ScopeId">;
7
- readonly namespace: string;
8
7
  readonly endpoint: string;
9
- readonly headers: {
10
- readonly [x: string]: string | {
11
- readonly kind: "binding";
12
- readonly slot: string;
13
- readonly prefix?: string | undefined;
14
- };
15
- };
16
- readonly queryParams: {
17
- readonly [x: string]: string | {
18
- readonly kind: "binding";
19
- readonly slot: string;
20
- readonly prefix?: string | undefined;
21
- };
22
- };
23
- readonly auth: {
24
- readonly kind: "none";
8
+ readonly authenticationTemplate: readonly ({
9
+ readonly name: string;
10
+ readonly in: "header" | "query";
11
+ readonly slug: string;
12
+ readonly kind: "apiKey";
13
+ readonly prefix?: string | undefined;
25
14
  } | {
15
+ readonly slug: string;
26
16
  readonly kind: "oauth2";
27
- readonly connectionSlot: string;
28
- };
29
- } | null, import("@executor-js/sdk").InternalError | import("../sdk").GraphqlIntrospectionError | import("../sdk").GraphqlExtractionError>>;
30
- export declare const graphqlSourceBindingsAtom: (scopeId: ScopeId, namespace: string, sourceScopeId: ScopeId) => Atom.Atom<AsyncResult.AsyncResult<readonly {
31
- readonly pluginId: string;
32
- readonly sourceId: string;
33
- readonly value: {
34
- readonly text: string;
35
- readonly kind: "text";
36
- } | {
37
- readonly secretId: string & import("effect/Brand").Brand<"SecretId">;
38
- readonly kind: "secret";
39
- readonly secretScopeId?: (string & import("effect/Brand").Brand<"ScopeId">) | undefined;
40
- } | {
41
- readonly connectionId: string & import("effect/Brand").Brand<"ConnectionId">;
42
- readonly kind: "connection";
43
- };
44
- readonly id: string & import("effect/Brand").Brand<"CredentialBindingId">;
45
- readonly scopeId: string & import("effect/Brand").Brand<"ScopeId">;
46
- readonly createdAt: Date;
47
- readonly updatedAt: Date;
48
- readonly sourceScopeId: string & import("effect/Brand").Brand<"ScopeId">;
49
- readonly slotKey: string;
50
- }[], import("@executor-js/sdk").InternalError>>;
51
- export declare const addGraphqlSource: Atom.AtomResultFn<{
52
- readonly params: {
53
- readonly scopeId: string & import("effect/Brand").Brand<"ScopeId">;
54
- };
17
+ readonly header?: string | undefined;
18
+ readonly prefix?: string | undefined;
19
+ })[];
20
+ readonly headers?: {
21
+ readonly [x: string]: string;
22
+ } | undefined;
23
+ readonly introspectionJson?: string | undefined;
24
+ readonly queryParams?: {
25
+ readonly [x: string]: string;
26
+ } | undefined;
27
+ } | null, import("@executor-js/sdk").IntegrationAlreadyExistsError | import("@executor-js/sdk").InternalError | import("../sdk").GraphqlIntrospectionError | import("../sdk").GraphqlExtractionError>>;
28
+ export declare const addGraphqlIntegration: Atom.AtomResultFn<{
55
29
  readonly payload: {
56
- readonly name: string;
57
- readonly namespace: string;
58
30
  readonly endpoint: string;
59
- readonly oauth2?: {
60
- readonly kind: "oauth2";
61
- readonly scopes: readonly string[];
62
- readonly clientSecretSlot: string | null;
63
- readonly securitySchemeName: string;
64
- readonly flow: "authorizationCode" | "clientCredentials";
65
- readonly tokenUrl: string;
66
- readonly clientIdSlot: string;
67
- readonly connectionSlot: string;
68
- readonly issuerUrl?: string | null | undefined;
69
- readonly authorizationUrl?: string | null | undefined;
70
- } | undefined;
31
+ readonly name?: string | undefined;
32
+ readonly slug?: string | undefined;
71
33
  readonly headers?: {
72
- readonly [x: string]: string | {
73
- readonly kind: "secret";
74
- readonly prefix?: string | undefined;
75
- };
76
- } | undefined;
77
- readonly queryParams?: {
78
- readonly [x: string]: string | {
79
- readonly kind: "secret";
80
- readonly prefix?: string | undefined;
81
- };
34
+ readonly [x: string]: string;
82
35
  } | undefined;
83
36
  readonly introspectionJson?: string | undefined;
84
- readonly credentials?: {
85
- readonly scope: string & import("effect/Brand").Brand<"ScopeId">;
86
- readonly headers?: {
87
- readonly [x: string]: string | {
88
- readonly text: string;
89
- readonly kind: "text";
90
- readonly prefix?: string | undefined;
91
- } | {
92
- readonly secretId: string;
93
- readonly kind: "secret";
94
- readonly prefix?: string | undefined;
95
- readonly secretScope?: string | undefined;
96
- } | {
97
- readonly connectionId: string;
98
- readonly kind: "connection";
99
- };
100
- } | undefined;
101
- readonly queryParams?: {
102
- readonly [x: string]: string | {
103
- readonly text: string;
104
- readonly kind: "text";
105
- readonly prefix?: string | undefined;
106
- } | {
107
- readonly secretId: string;
108
- readonly kind: "secret";
109
- readonly prefix?: string | undefined;
110
- readonly secretScope?: string | undefined;
111
- } | {
112
- readonly connectionId: string;
113
- readonly kind: "connection";
114
- };
115
- } | undefined;
116
- readonly auth?: {
117
- readonly kind: "none";
118
- } | {
119
- readonly oauth2?: {
120
- readonly connection?: string | {
121
- readonly text: string;
122
- readonly kind: "text";
123
- readonly prefix?: string | undefined;
124
- } | {
125
- readonly secretId: string;
126
- readonly kind: "secret";
127
- readonly prefix?: string | undefined;
128
- readonly secretScope?: string | undefined;
129
- } | {
130
- readonly connectionId: string;
131
- readonly kind: "connection";
132
- } | undefined;
133
- } | undefined;
134
- } | undefined;
37
+ readonly queryParams?: {
38
+ readonly [x: string]: string;
135
39
  } | undefined;
40
+ readonly authenticationTemplate?: readonly ({
41
+ readonly name: string;
42
+ readonly in: "header" | "query";
43
+ readonly slug: string;
44
+ readonly kind: "apiKey";
45
+ readonly prefix?: string | undefined;
46
+ } | {
47
+ readonly slug: string;
48
+ readonly kind: "oauth2";
49
+ readonly header?: string | undefined;
50
+ readonly prefix?: string | undefined;
51
+ })[] | undefined;
136
52
  };
137
53
  readonly responseMode?: "decoded-only" | undefined;
138
54
  readonly reactivityKeys?: readonly unknown[] | import("effect/Record").ReadonlyRecord<string, readonly unknown[]> | undefined;
139
55
  }, {
140
- readonly namespace: string;
141
- readonly toolCount: number;
142
- }, import("@executor-js/sdk").InternalError | import("../sdk").GraphqlIntrospectionError | import("../sdk").GraphqlExtractionError>;
143
- export declare const addGraphqlSourceOptimistic: (arg: string & import("effect/Brand").Brand<"ScopeId">) => Atom.AtomResultFn<{
56
+ readonly name: string;
57
+ readonly slug: string;
58
+ }, import("@executor-js/sdk").IntegrationAlreadyExistsError | import("@executor-js/sdk").InternalError | import("../sdk").GraphqlIntrospectionError | import("../sdk").GraphqlExtractionError>;
59
+ export declare const graphqlConfigure: Atom.AtomResultFn<{
144
60
  readonly params: {
145
- readonly scopeId: string & import("effect/Brand").Brand<"ScopeId">;
61
+ readonly slug: string;
146
62
  };
147
63
  readonly payload: {
64
+ readonly authenticationTemplate: readonly ({
65
+ readonly name: string;
66
+ readonly in: "header" | "query";
67
+ readonly slug: string;
68
+ readonly kind: "apiKey";
69
+ readonly prefix?: string | undefined;
70
+ } | {
71
+ readonly slug: string;
72
+ readonly kind: "oauth2";
73
+ readonly header?: string | undefined;
74
+ readonly prefix?: string | undefined;
75
+ })[];
76
+ readonly mode?: "replace" | "merge" | undefined;
77
+ };
78
+ readonly responseMode?: "decoded-only" | undefined;
79
+ readonly reactivityKeys?: readonly unknown[] | import("effect/Record").ReadonlyRecord<string, readonly unknown[]> | undefined;
80
+ }, {
81
+ readonly authenticationTemplate: readonly ({
148
82
  readonly name: string;
149
- readonly namespace: string;
83
+ readonly in: "header" | "query";
84
+ readonly slug: string;
85
+ readonly kind: "apiKey";
86
+ readonly prefix?: string | undefined;
87
+ } | {
88
+ readonly slug: string;
89
+ readonly kind: "oauth2";
90
+ readonly header?: string | undefined;
91
+ readonly prefix?: string | undefined;
92
+ })[];
93
+ }, import("@executor-js/sdk").IntegrationAlreadyExistsError | import("@executor-js/sdk").InternalError | import("../sdk").GraphqlIntrospectionError | import("../sdk").GraphqlExtractionError>;
94
+ export declare const addGraphqlIntegrationOptimistic: Atom.AtomResultFn<{
95
+ readonly payload: {
150
96
  readonly endpoint: string;
151
- readonly oauth2?: {
152
- readonly kind: "oauth2";
153
- readonly scopes: readonly string[];
154
- readonly clientSecretSlot: string | null;
155
- readonly securitySchemeName: string;
156
- readonly flow: "authorizationCode" | "clientCredentials";
157
- readonly tokenUrl: string;
158
- readonly clientIdSlot: string;
159
- readonly connectionSlot: string;
160
- readonly issuerUrl?: string | null | undefined;
161
- readonly authorizationUrl?: string | null | undefined;
162
- } | undefined;
97
+ readonly name?: string | undefined;
98
+ readonly slug?: string | undefined;
163
99
  readonly headers?: {
164
- readonly [x: string]: string | {
165
- readonly kind: "secret";
166
- readonly prefix?: string | undefined;
167
- };
168
- } | undefined;
169
- readonly queryParams?: {
170
- readonly [x: string]: string | {
171
- readonly kind: "secret";
172
- readonly prefix?: string | undefined;
173
- };
100
+ readonly [x: string]: string;
174
101
  } | undefined;
175
102
  readonly introspectionJson?: string | undefined;
176
- readonly credentials?: {
177
- readonly scope: string & import("effect/Brand").Brand<"ScopeId">;
178
- readonly headers?: {
179
- readonly [x: string]: string | {
180
- readonly text: string;
181
- readonly kind: "text";
182
- readonly prefix?: string | undefined;
183
- } | {
184
- readonly secretId: string;
185
- readonly kind: "secret";
186
- readonly prefix?: string | undefined;
187
- readonly secretScope?: string | undefined;
188
- } | {
189
- readonly connectionId: string;
190
- readonly kind: "connection";
191
- };
192
- } | undefined;
193
- readonly queryParams?: {
194
- readonly [x: string]: string | {
195
- readonly text: string;
196
- readonly kind: "text";
197
- readonly prefix?: string | undefined;
198
- } | {
199
- readonly secretId: string;
200
- readonly kind: "secret";
201
- readonly prefix?: string | undefined;
202
- readonly secretScope?: string | undefined;
203
- } | {
204
- readonly connectionId: string;
205
- readonly kind: "connection";
206
- };
207
- } | undefined;
208
- readonly auth?: {
209
- readonly kind: "none";
210
- } | {
211
- readonly oauth2?: {
212
- readonly connection?: string | {
213
- readonly text: string;
214
- readonly kind: "text";
215
- readonly prefix?: string | undefined;
216
- } | {
217
- readonly secretId: string;
218
- readonly kind: "secret";
219
- readonly prefix?: string | undefined;
220
- readonly secretScope?: string | undefined;
221
- } | {
222
- readonly connectionId: string;
223
- readonly kind: "connection";
224
- } | undefined;
225
- } | undefined;
226
- } | undefined;
103
+ readonly queryParams?: {
104
+ readonly [x: string]: string;
227
105
  } | undefined;
106
+ readonly authenticationTemplate?: readonly ({
107
+ readonly name: string;
108
+ readonly in: "header" | "query";
109
+ readonly slug: string;
110
+ readonly kind: "apiKey";
111
+ readonly prefix?: string | undefined;
112
+ } | {
113
+ readonly slug: string;
114
+ readonly kind: "oauth2";
115
+ readonly header?: string | undefined;
116
+ readonly prefix?: string | undefined;
117
+ })[] | undefined;
228
118
  };
229
119
  readonly responseMode?: "decoded-only" | undefined;
230
120
  readonly reactivityKeys?: readonly unknown[] | import("effect/Record").ReadonlyRecord<string, readonly unknown[]> | undefined;
231
121
  }, {
232
- readonly namespace: string;
233
- readonly toolCount: number;
234
- }, import("@executor-js/sdk").InternalError | import("../sdk").GraphqlIntrospectionError | import("../sdk").GraphqlExtractionError>;
122
+ readonly name: string;
123
+ readonly slug: string;
124
+ }, import("@executor-js/sdk").IntegrationAlreadyExistsError | import("@executor-js/sdk").InternalError | import("../sdk").GraphqlIntrospectionError | import("../sdk").GraphqlExtractionError>;
@@ -0,0 +1,9 @@
1
+ import type { AuthMethod, Placement } from "@executor-js/react/lib/auth-placements";
2
+ import type { AuthTemplate } from "../sdk/types";
3
+ /** Map each stored GraphQL auth template to a generic `AuthMethod`. A `custom_`
4
+ * slug marks a user-defined method; everything else is spec-declared. */
5
+ export declare function authMethodsFromConfig(templates: readonly AuthTemplate[]): AuthMethod[];
6
+ /** Build GraphQL `apiKey` templates from generic placements. The optional
7
+ * `slug` names the FIRST emitted template (subsequent placements get an empty
8
+ * slug so the backend assigns a `custom_<id>` each). */
9
+ export declare function graphqlTemplatesFromPlacements(placements: readonly Placement[], slug?: string): AuthTemplate[];