@alfe.ai/integration-manifest 0.3.0 → 0.3.2
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 +5 -0
- package/dist/index.d.ts +16 -28
- package/dist/index.js +3 -2
- package/package.json +9 -1
package/README.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ import { z } from "zod";
|
|
|
15
15
|
* caught at runtime when the integrations service tries to resolve the
|
|
16
16
|
* provider and gets nothing back.
|
|
17
17
|
*/
|
|
18
|
-
declare const KNOWN_CONNECT_PROVIDER_IDS: readonly ["atlassian", "custom", "discord", "github", "google", "microsoft", "mobile", "myob", "notion", "salesforce", "slack", "xero"];
|
|
18
|
+
declare const KNOWN_CONNECT_PROVIDER_IDS: readonly ["atlassian", "ctrader", "custom", "discord", "github", "google", "microsoft", "mobile", "myob", "notion", "salesforce", "slack", "xero"];
|
|
19
19
|
type KnownConnectProviderId = (typeof KNOWN_CONNECT_PROVIDER_IDS)[number];
|
|
20
20
|
/**
|
|
21
21
|
* `custom` is a special provider id: it doesn't correspond to a fixed
|
|
@@ -283,29 +283,8 @@ declare const IntegrationManifestSchema: z.ZodObject<{
|
|
|
283
283
|
requires_credentials: z.ZodOptional<z.ZodString>;
|
|
284
284
|
hook_managed: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
285
285
|
}, z.core.$strip>>>>;
|
|
286
|
-
requires_connection: z.ZodOptional<z.ZodArray<z.
|
|
287
|
-
|
|
288
|
-
custom: "custom";
|
|
289
|
-
discord: "discord";
|
|
290
|
-
github: "github";
|
|
291
|
-
google: "google";
|
|
292
|
-
microsoft: "microsoft";
|
|
293
|
-
mobile: "mobile";
|
|
294
|
-
myob: "myob";
|
|
295
|
-
notion: "notion";
|
|
296
|
-
salesforce: "salesforce";
|
|
297
|
-
slack: "slack";
|
|
298
|
-
xero: "xero";
|
|
299
|
-
}>>>;
|
|
300
|
-
channel_type: z.ZodOptional<z.ZodEnum<{
|
|
301
|
-
discord: "discord";
|
|
302
|
-
slack: "slack";
|
|
303
|
-
whatsapp: "whatsapp";
|
|
304
|
-
sms: "sms";
|
|
305
|
-
voice: "voice";
|
|
306
|
-
google_chat: "google_chat";
|
|
307
|
-
teams: "teams";
|
|
308
|
-
}>>;
|
|
286
|
+
requires_connection: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
287
|
+
channel_type: z.ZodOptional<z.ZodString>;
|
|
309
288
|
expected_credentials: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
310
289
|
key: z.ZodString;
|
|
311
290
|
type: z.ZodEnum<{
|
|
@@ -542,16 +521,25 @@ interface IntegrationManifest {
|
|
|
542
521
|
* Connect provider ids whose credentials this integration resolves at
|
|
543
522
|
* runtime. OR-semantics: any one in the list satisfies activation. See
|
|
544
523
|
* the `requires_connection` field in `schema.ts` for full semantics.
|
|
545
|
-
*
|
|
546
|
-
*
|
|
524
|
+
*
|
|
525
|
+
* Typed as `KnownConnectProviderId | (string & {})` — the union keeps
|
|
526
|
+
* IDE autocomplete for known provider ids while the `string` arm mirrors
|
|
527
|
+
* the RUNTIME parser, which is intentionally lenient (an unknown id is a
|
|
528
|
+
* no-op credential hint, never an install-blocking error). Do NOT narrow
|
|
529
|
+
* this back to `KnownConnectProviderId[]`: that reintroduces the
|
|
530
|
+
* forward-compat hazard where an older daemon crashes on a newly-added id.
|
|
547
531
|
*/
|
|
548
|
-
requires_connection?: KnownConnectProviderId[];
|
|
532
|
+
requires_connection?: (KnownConnectProviderId | (string & {}))[];
|
|
549
533
|
/**
|
|
550
534
|
* Channel type this integration adapts. Populated on integrations under
|
|
551
535
|
* the submodule's `channels/<id>/` folder that map to a single channel
|
|
552
536
|
* type. See `channel_type` in `schema.ts` for full semantics.
|
|
537
|
+
*
|
|
538
|
+
* Typed as `ChannelType | (string & {})` for the same forward-compat
|
|
539
|
+
* reason as `requires_connection` — the runtime parser accepts any
|
|
540
|
+
* string so a newly-added channel type can't strand an older daemon.
|
|
553
541
|
*/
|
|
554
|
-
channel_type?: ChannelType;
|
|
542
|
+
channel_type?: ChannelType | (string & {});
|
|
555
543
|
/**
|
|
556
544
|
* Credential fields the manifest expects a Custom Connection's owner
|
|
557
545
|
* to fill in at create time. Used ONLY by manifests authored against
|
package/dist/index.js
CHANGED
|
@@ -24,6 +24,7 @@ import { parse } from "yaml";
|
|
|
24
24
|
*/
|
|
25
25
|
const KNOWN_CONNECT_PROVIDER_IDS = [
|
|
26
26
|
"atlassian",
|
|
27
|
+
"ctrader",
|
|
27
28
|
"custom",
|
|
28
29
|
"discord",
|
|
29
30
|
"github",
|
|
@@ -235,8 +236,8 @@ const IntegrationManifestSchema = z.object({
|
|
|
235
236
|
hooks: IntegrationHooksSchema.optional().default({}),
|
|
236
237
|
commands: z.array(CommandDeclarationSchema).optional().default([]),
|
|
237
238
|
mcp_servers: z.array(McpServerDeclarationSchema).optional().default([]),
|
|
238
|
-
requires_connection: z.array(z.
|
|
239
|
-
channel_type:
|
|
239
|
+
requires_connection: z.array(z.string().min(1)).optional(),
|
|
240
|
+
channel_type: z.string().min(1).optional(),
|
|
240
241
|
expected_credentials: z.array(CredentialFieldSpecSchema).optional(),
|
|
241
242
|
repository: z.url().optional(),
|
|
242
243
|
supported_agents: z.array(RuntimeKeySchema).optional(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfe.ai/integration-manifest",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Integration manifest schema, types, and parser for Alfe integration platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,6 +19,14 @@
|
|
|
19
19
|
"dist"
|
|
20
20
|
],
|
|
21
21
|
"license": "UNLICENSED",
|
|
22
|
+
"homepage": "https://alfe.ai",
|
|
23
|
+
"author": "Alfe (https://alfe.ai)",
|
|
24
|
+
"keywords": [
|
|
25
|
+
"alfe",
|
|
26
|
+
"ai-agents",
|
|
27
|
+
"agent",
|
|
28
|
+
"llm"
|
|
29
|
+
],
|
|
22
30
|
"scripts": {
|
|
23
31
|
"build": "tsdown",
|
|
24
32
|
"dev": "tsdown --watch",
|