@xyne/workflow-sdk 3.2.37 → 3.2.38
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/dist/agents/agent-step.d.ts +2 -2
- package/dist/agents/host-agent-step.d.ts +1 -1
- package/dist/builder/index.d.ts +2 -2
- package/dist/builder/index.d.ts.map +1 -1
- package/dist/builder/index.js +1 -1
- package/dist/builder/index.js.map +1 -1
- package/dist/client/types.d.ts +7 -5
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/workflow-client.d.ts.map +1 -1
- package/dist/client/workflow-client.js +7 -0
- package/dist/client/workflow-client.js.map +1 -1
- package/dist/common/citation-ref.d.ts +4 -4
- package/dist/common/credentials.d.ts +107 -0
- package/dist/common/credentials.d.ts.map +1 -1
- package/dist/common/credentials.js +67 -0
- package/dist/common/credentials.js.map +1 -1
- package/dist/common/index.d.ts +2 -2
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +2 -2
- package/dist/common/index.js.map +1 -1
- package/dist/connectors/builtin/builtin-connector.d.ts +32 -0
- package/dist/connectors/builtin/builtin-connector.d.ts.map +1 -0
- package/dist/connectors/builtin/builtin-connector.js +62 -0
- package/dist/connectors/builtin/builtin-connector.js.map +1 -0
- package/dist/connectors/builtin/credentials.d.ts +18 -0
- package/dist/connectors/builtin/credentials.d.ts.map +1 -0
- package/dist/connectors/builtin/credentials.js +50 -0
- package/dist/connectors/builtin/credentials.js.map +1 -0
- package/dist/connectors/builtin/steps/code.step.d.ts +99 -0
- package/dist/connectors/builtin/steps/code.step.d.ts.map +1 -0
- package/dist/connectors/builtin/steps/code.step.js +152 -0
- package/dist/connectors/builtin/steps/code.step.js.map +1 -0
- package/dist/connectors/builtin/steps/conditional.step.d.ts +182 -0
- package/dist/connectors/builtin/steps/conditional.step.d.ts.map +1 -0
- package/dist/connectors/builtin/steps/conditional.step.js +82 -0
- package/dist/connectors/builtin/steps/conditional.step.js.map +1 -0
- package/dist/connectors/builtin/steps/dedup.step.d.ts +65 -0
- package/dist/connectors/builtin/steps/dedup.step.d.ts.map +1 -0
- package/dist/connectors/builtin/steps/dedup.step.js +61 -0
- package/dist/connectors/builtin/steps/dedup.step.js.map +1 -0
- package/dist/connectors/builtin/steps/http-request.step.d.ts +1027 -0
- package/dist/connectors/builtin/steps/http-request.step.d.ts.map +1 -0
- package/dist/connectors/builtin/steps/http-request.step.js +497 -0
- package/dist/connectors/builtin/steps/http-request.step.js.map +1 -0
- package/dist/connectors/builtin/steps/loop.step.d.ts +100 -0
- package/dist/connectors/builtin/steps/loop.step.d.ts.map +1 -0
- package/dist/connectors/builtin/steps/loop.step.js +73 -0
- package/dist/connectors/builtin/steps/loop.step.js.map +1 -0
- package/dist/connectors/builtin/steps/map.step.d.ts +148 -0
- package/dist/connectors/builtin/steps/map.step.d.ts.map +1 -0
- package/dist/connectors/builtin/steps/map.step.js +111 -0
- package/dist/connectors/builtin/steps/map.step.js.map +1 -0
- package/dist/connectors/builtin/steps/parallel.step.d.ts +246 -0
- package/dist/connectors/builtin/steps/parallel.step.d.ts.map +1 -0
- package/dist/connectors/builtin/steps/parallel.step.js +175 -0
- package/dist/connectors/builtin/steps/parallel.step.js.map +1 -0
- package/dist/connectors/builtin/steps/ssrf-guard.d.ts +9 -0
- package/dist/connectors/builtin/steps/ssrf-guard.d.ts.map +1 -0
- package/dist/connectors/builtin/steps/ssrf-guard.js +115 -0
- package/dist/connectors/builtin/steps/ssrf-guard.js.map +1 -0
- package/dist/connectors/builtin/steps/switch.step.d.ts +235 -0
- package/dist/connectors/builtin/steps/switch.step.d.ts.map +1 -0
- package/dist/connectors/builtin/steps/switch.step.js +101 -0
- package/dist/connectors/builtin/steps/switch.step.js.map +1 -0
- package/dist/connectors/builtin/steps/wait.step.d.ts +1072 -0
- package/dist/connectors/builtin/steps/wait.step.d.ts.map +1 -0
- package/dist/connectors/builtin/steps/wait.step.js +254 -0
- package/dist/connectors/builtin/steps/wait.step.js.map +1 -0
- package/dist/connectors/builtin/triggers/default-cron-trigger.d.ts +44 -0
- package/dist/connectors/builtin/triggers/default-cron-trigger.d.ts.map +1 -0
- package/dist/connectors/builtin/triggers/default-cron-trigger.js +31 -0
- package/dist/connectors/builtin/triggers/default-cron-trigger.js.map +1 -0
- package/dist/connectors/builtin/triggers/default-event-trigger.d.ts +32 -0
- package/dist/connectors/builtin/triggers/default-event-trigger.d.ts.map +1 -0
- package/dist/connectors/builtin/triggers/default-event-trigger.js +21 -0
- package/dist/connectors/builtin/triggers/default-event-trigger.js.map +1 -0
- package/dist/connectors/builtin/triggers/default-manual-trigger.d.ts +45 -0
- package/dist/connectors/builtin/triggers/default-manual-trigger.d.ts.map +1 -0
- package/dist/connectors/builtin/triggers/default-manual-trigger.js +51 -0
- package/dist/connectors/builtin/triggers/default-manual-trigger.js.map +1 -0
- package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.d.ts +31 -0
- package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.d.ts.map +1 -0
- package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.js +40 -0
- package/dist/connectors/builtin/triggers/default-webhook-v2-trigger.js.map +1 -0
- package/dist/connectors/core/base-connector.d.ts +45 -0
- package/dist/connectors/core/base-connector.d.ts.map +1 -0
- package/dist/connectors/core/base-connector.js +3 -0
- package/dist/connectors/core/base-connector.js.map +1 -0
- package/dist/connectors/core/connector-registry.d.ts +130 -0
- package/dist/connectors/core/connector-registry.d.ts.map +1 -0
- package/dist/connectors/core/connector-registry.js +357 -0
- package/dist/connectors/core/connector-registry.js.map +1 -0
- package/dist/connectors/core/credentials.d.ts +104 -0
- package/dist/connectors/core/credentials.d.ts.map +1 -0
- package/dist/connectors/core/credentials.js +67 -0
- package/dist/connectors/core/credentials.js.map +1 -0
- package/dist/connectors/core/index.d.ts +7 -0
- package/dist/connectors/core/index.d.ts.map +1 -0
- package/dist/connectors/core/index.js +5 -0
- package/dist/connectors/core/index.js.map +1 -0
- package/dist/engine/available-context.d.ts +3 -4
- package/dist/engine/available-context.d.ts.map +1 -1
- package/dist/engine/available-context.js +17 -13
- package/dist/engine/available-context.js.map +1 -1
- package/dist/engine/config-validator.d.ts +13 -5
- package/dist/engine/config-validator.d.ts.map +1 -1
- package/dist/engine/config-validator.js +89 -11
- package/dist/engine/config-validator.js.map +1 -1
- package/dist/engine/credential-resolver.d.ts +42 -0
- package/dist/engine/credential-resolver.d.ts.map +1 -0
- package/dist/engine/credential-resolver.js +63 -0
- package/dist/engine/credential-resolver.js.map +1 -0
- package/dist/engine/workflow-executor.d.ts +4 -5
- package/dist/engine/workflow-executor.d.ts.map +1 -1
- package/dist/engine/workflow-executor.js +16 -38
- package/dist/engine/workflow-executor.js.map +1 -1
- package/dist/index.d.ts +43 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -15
- package/dist/index.js.map +1 -1
- package/dist/ingest/body.d.ts +18 -0
- package/dist/ingest/body.d.ts.map +1 -0
- package/dist/ingest/body.js +47 -0
- package/dist/ingest/body.js.map +1 -0
- package/dist/ingest/filter.d.ts +11 -0
- package/dist/ingest/filter.d.ts.map +1 -0
- package/dist/ingest/filter.js +23 -0
- package/dist/ingest/filter.js.map +1 -0
- package/dist/ingest/headers.d.ts +3 -0
- package/dist/ingest/headers.d.ts.map +1 -0
- package/dist/ingest/headers.js +11 -0
- package/dist/ingest/headers.js.map +1 -0
- package/dist/ingest/types.d.ts +50 -0
- package/dist/ingest/types.d.ts.map +1 -0
- package/dist/ingest/types.js +9 -0
- package/dist/ingest/types.js.map +1 -0
- package/dist/persistence/in-memory-adapter.d.ts +4 -8
- package/dist/persistence/in-memory-adapter.d.ts.map +1 -1
- package/dist/persistence/in-memory-adapter.js +8 -25
- package/dist/persistence/in-memory-adapter.js.map +1 -1
- package/dist/persistence/types.d.ts +5 -19
- package/dist/persistence/types.d.ts.map +1 -1
- package/dist/router/types.d.ts +31 -3
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/workflow-router.d.ts +4 -3
- package/dist/router/workflow-router.d.ts.map +1 -1
- package/dist/router/workflow-router.js +66 -40
- package/dist/router/workflow-router.js.map +1 -1
- package/dist/runtime/types.d.ts +6 -4
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/workflow-runtime.d.ts +43 -37
- package/dist/runtime/workflow-runtime.d.ts.map +1 -1
- package/dist/runtime/workflow-runtime.js +158 -133
- package/dist/runtime/workflow-runtime.js.map +1 -1
- package/dist/steps/base-step.d.ts +23 -0
- package/dist/steps/base-step.d.ts.map +1 -1
- package/dist/steps/base-step.js +22 -0
- package/dist/steps/base-step.js.map +1 -1
- package/dist/steps/step-descriptor.d.ts +52 -0
- package/dist/steps/step-descriptor.d.ts.map +1 -0
- package/dist/steps/step-descriptor.js +32 -0
- package/dist/steps/step-descriptor.js.map +1 -0
- package/dist/testing/authz-conformance.d.ts.map +1 -1
- package/dist/testing/authz-conformance.js +6 -7
- package/dist/testing/authz-conformance.js.map +1 -1
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/mock-step-context.d.ts +1 -0
- package/dist/testing/mock-step-context.d.ts.map +1 -1
- package/dist/testing/mock-step-context.js +1 -0
- package/dist/testing/mock-step-context.js.map +1 -1
- package/dist/testing/test-connector.d.ts +40 -0
- package/dist/testing/test-connector.d.ts.map +1 -0
- package/dist/testing/test-connector.js +39 -0
- package/dist/testing/test-connector.js.map +1 -0
- package/dist/triggers/api-trigger.d.ts +15 -0
- package/dist/triggers/api-trigger.d.ts.map +1 -0
- package/dist/triggers/api-trigger.js +14 -0
- package/dist/triggers/api-trigger.js.map +1 -0
- package/dist/triggers/base-trigger.d.ts +29 -0
- package/dist/triggers/base-trigger.d.ts.map +1 -1
- package/dist/triggers/base-trigger.js +16 -0
- package/dist/triggers/base-trigger.js.map +1 -1
- package/dist/triggers/trigger-descriptor.d.ts +42 -0
- package/dist/triggers/trigger-descriptor.d.ts.map +1 -0
- package/dist/triggers/trigger-descriptor.js +29 -0
- package/dist/triggers/trigger-descriptor.js.map +1 -0
- package/dist/triggers/webhook-trigger.d.ts +31 -38
- package/dist/triggers/webhook-trigger.d.ts.map +1 -1
- package/dist/triggers/webhook-trigger.js +19 -6
- package/dist/triggers/webhook-trigger.js.map +1 -1
- package/dist/types/known-types.d.ts +0 -1
- package/dist/types/known-types.d.ts.map +1 -1
- package/dist/types/known-types.js +0 -1
- package/dist/types/known-types.js.map +1 -1
- package/dist/types/validation.d.ts +3 -1
- package/dist/types/validation.d.ts.map +1 -1
- package/dist/types/validation.js +2 -0
- package/dist/types/validation.js.map +1 -1
- package/dist/types/workflow-config.d.ts +23 -0
- package/dist/types/workflow-config.d.ts.map +1 -1
- package/dist/types/workflow-config.js +8 -0
- package/dist/types/workflow-config.js.map +1 -1
- package/dist/util/credential-slot-schema.d.ts +20 -0
- package/dist/util/credential-slot-schema.d.ts.map +1 -0
- package/dist/util/credential-slot-schema.js +30 -0
- package/dist/util/credential-slot-schema.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A throwaway connector for tests.
|
|
3
|
+
*
|
|
4
|
+
* `ConnectorRegistry` has no `registerStep` on purpose — a component may only
|
|
5
|
+
* enter the system as part of a connector, because every check the registry
|
|
6
|
+
* makes depends on knowing the owner. That is right in production and
|
|
7
|
+
* inconvenient in a test that wants one fake step, so this wraps loose
|
|
8
|
+
* components in a connector named `test`.
|
|
9
|
+
*/
|
|
10
|
+
import { BaseConnector } from '../connectors/core/base-connector.js';
|
|
11
|
+
import { ConnectorRegistry } from '../connectors/core/connector-registry.js';
|
|
12
|
+
export class TestConnector extends BaseConnector {
|
|
13
|
+
id = 'test';
|
|
14
|
+
version = '1.0.0';
|
|
15
|
+
name = 'Test';
|
|
16
|
+
description = 'Components under test';
|
|
17
|
+
/** Whatever the components under test accept; empty unless a case sets it. */
|
|
18
|
+
credentials;
|
|
19
|
+
steps;
|
|
20
|
+
triggers;
|
|
21
|
+
constructor(components) {
|
|
22
|
+
super();
|
|
23
|
+
this.steps = components?.steps ?? [];
|
|
24
|
+
this.triggers = components?.triggers ?? [];
|
|
25
|
+
this.credentials = components?.credentials ?? [];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A registry holding these components, under one test connector.
|
|
30
|
+
*
|
|
31
|
+
* The built-ins (CODE, WAIT, LOOP, …) come with every `ConnectorRegistry`, so
|
|
32
|
+
* cases that drive a real control-flow step need nothing extra here.
|
|
33
|
+
*/
|
|
34
|
+
export function testRegistry(components) {
|
|
35
|
+
const registry = new ConnectorRegistry();
|
|
36
|
+
registry.register(new TestConnector(components));
|
|
37
|
+
return registry;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=test-connector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-connector.js","sourceRoot":"","sources":["../../src/testing/test-connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC5B,EAAE,GAAG,MAAM,CAAC;IACZ,OAAO,GAAG,OAAO,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC;IACd,WAAW,GAAG,uBAAuB,CAAC;IACxD,8EAA8E;IAC5D,WAAW,CAAkC;IAC7C,KAAK,CAAqB;IAC1B,QAAQ,CAAwB;IAElD,YAAY,UAIX;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,UAAU,EAAE,WAAW,IAAI,EAAE,CAAC;IACnD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,UAI5B;IACC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import { ManualTrigger } from './manual-trigger.js';
|
|
3
|
+
/**
|
|
4
|
+
* API trigger — started by a client calling the workflow's API trigger route.
|
|
5
|
+
*
|
|
6
|
+
* The SDK does not authenticate that caller; a host that exposes the route
|
|
7
|
+
* guards it, for example with an API key. Like a manual trigger, the payload is
|
|
8
|
+
* described by the author's input schema.
|
|
9
|
+
*
|
|
10
|
+
* The API trigger route accepts only workflows whose trigger is an `ApiTrigger`,
|
|
11
|
+
* the same way the webhook route accepts only a `WebhookTrigger`.
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class ApiTrigger<TConfig extends z.ZodTypeAny = z.ZodTypeAny> extends ManualTrigger<TConfig> {
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=api-trigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-trigger.d.ts","sourceRoot":"","sources":["../../src/triggers/api-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;GASG;AACH,8BAAsB,UAAU,CAC9B,OAAO,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAC3C,SAAQ,aAAa,CAAC,OAAO,CAAC;CAAG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ManualTrigger } from './manual-trigger.js';
|
|
2
|
+
/**
|
|
3
|
+
* API trigger — started by a client calling the workflow's API trigger route.
|
|
4
|
+
*
|
|
5
|
+
* The SDK does not authenticate that caller; a host that exposes the route
|
|
6
|
+
* guards it, for example with an API key. Like a manual trigger, the payload is
|
|
7
|
+
* described by the author's input schema.
|
|
8
|
+
*
|
|
9
|
+
* The API trigger route accepts only workflows whose trigger is an `ApiTrigger`,
|
|
10
|
+
* the same way the webhook route accepts only a `WebhookTrigger`.
|
|
11
|
+
*/
|
|
12
|
+
export class ApiTrigger extends ManualTrigger {
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=api-trigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-trigger.js","sourceRoot":"","sources":["../../src/triggers/api-trigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,OAAgB,UAEpB,SAAQ,aAAsB;CAAG"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
2
|
import type { TriggerType } from '../types/trigger-types.js';
|
|
3
3
|
import type { TriggerCategory } from '../types/categories.js';
|
|
4
|
+
import type { CredentialSlot } from '../steps/base-step.js';
|
|
5
|
+
import type { CredentialRequirement } from '../connectors/core/credentials.js';
|
|
6
|
+
import type { ResolvedCredential } from '../common/credentials.js';
|
|
7
|
+
import type { ResourceAttributes } from '../authz/attributes.js';
|
|
8
|
+
/** What the engine hands a trigger's server-side methods. */
|
|
9
|
+
export interface TriggerExecutionContext {
|
|
10
|
+
/** Credentials the trigger's slots resolved to, keyed by slot name. */
|
|
11
|
+
readonly credentials: Readonly<Record<string, ResolvedCredential>>;
|
|
12
|
+
/** The tenant the workflow belongs to. */
|
|
13
|
+
readonly attributes: ResourceAttributes<'workflow'>;
|
|
14
|
+
/** Base URL the deployment is reachable at. Empty when unconfigured. */
|
|
15
|
+
readonly baseUrl: string;
|
|
16
|
+
}
|
|
4
17
|
/**
|
|
5
18
|
* Abstract base for all triggers.
|
|
6
19
|
*
|
|
@@ -20,6 +33,22 @@ export declare abstract class BaseTrigger<TConfig extends z.ZodTypeAny> {
|
|
|
20
33
|
abstract readonly outputSchema: z.ZodTypeAny;
|
|
21
34
|
abstract readonly category: TriggerCategory;
|
|
22
35
|
readonly icon?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Which connector provides this trigger. Written by
|
|
38
|
+
* `ConnectorRegistry.register()`, never by the trigger — see BaseStep.
|
|
39
|
+
*/
|
|
40
|
+
readonly connectorId?: string;
|
|
41
|
+
readonly connectorName?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Config fields holding a credential name, resolved by the engine. Same
|
|
44
|
+
* contract as a step's slots.
|
|
45
|
+
*/
|
|
46
|
+
readonly credentialSlots?: readonly CredentialSlot[];
|
|
47
|
+
/**
|
|
48
|
+
* Which credential types this trigger accepts. The registry checks each is
|
|
49
|
+
* declared by the trigger's own connector.
|
|
50
|
+
*/
|
|
51
|
+
readonly credential?: CredentialRequirement;
|
|
23
52
|
/** Whether this trigger requires scope-based filtering in the UI. */
|
|
24
53
|
readonly requiresScopeFilter?: boolean;
|
|
25
54
|
/** Fields used for scope filtering (e.g. channelIds, boardIds). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-trigger.d.ts","sourceRoot":"","sources":["../../src/triggers/base-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-trigger.d.ts","sourceRoot":"","sources":["../../src/triggers/base-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,6DAA6D;AAC7D,MAAM,WAAW,uBAAuB;IACtC,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACnE,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACpD,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;GAUG;AACH,8BAAsB,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC,UAAU;IAC5D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAErD;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IAE5C,qEAAqE;IACrE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAEvC,mEAAmE;IACnE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE/C,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAI3C;;;OAGG;IACH,cAAc,CAAC,CACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,YAAY,CACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO;IAIV;;;OAGG;IACH,oBAAoB,CAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI1B;;;;;;;;;;;OAWG;IACH,uBAAuB,CAAC,CACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAC3B"}
|
|
@@ -11,6 +11,22 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export class BaseTrigger {
|
|
13
13
|
icon;
|
|
14
|
+
/**
|
|
15
|
+
* Which connector provides this trigger. Written by
|
|
16
|
+
* `ConnectorRegistry.register()`, never by the trigger — see BaseStep.
|
|
17
|
+
*/
|
|
18
|
+
connectorId;
|
|
19
|
+
connectorName;
|
|
20
|
+
/**
|
|
21
|
+
* Config fields holding a credential name, resolved by the engine. Same
|
|
22
|
+
* contract as a step's slots.
|
|
23
|
+
*/
|
|
24
|
+
credentialSlots;
|
|
25
|
+
/**
|
|
26
|
+
* Which credential types this trigger accepts. The registry checks each is
|
|
27
|
+
* declared by the trigger's own connector.
|
|
28
|
+
*/
|
|
29
|
+
credential;
|
|
14
30
|
/** Whether this trigger requires scope-based filtering in the UI. */
|
|
15
31
|
requiresScopeFilter;
|
|
16
32
|
/** Fields used for scope filtering (e.g. channelIds, boardIds). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-trigger.js","sourceRoot":"","sources":["../../src/triggers/base-trigger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-trigger.js","sourceRoot":"","sources":["../../src/triggers/base-trigger.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,WAAW;IAOtB,IAAI,CAAU;IAEvB;;;OAGG;IACM,WAAW,CAAU;IACrB,aAAa,CAAU;IAEhC;;;OAGG;IACM,eAAe,CAA6B;IAErD;;;OAGG;IACM,UAAU,CAAyB;IAE5C,qEAAqE;IAC5D,mBAAmB,CAAW;IAEvC,mEAAmE;IAC1D,iBAAiB,CAAqB;IAE/C,wDAAwD;IACxD,QAAQ,CAAC,MAAe;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;IAC7D,CAAC;IAUD;;;OAGG;IACH,YAAY,CACV,OAAgC,EAChC,QAAiC;QAEjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAClB,UAAmC;QAEnC,OAAO,UAAU,CAAC;IACpB,CAAC;CAiBF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a trigger describes itself to the builder — the `StepDescriptor`
|
|
3
|
+
* counterpart, moved out of the deleted `TriggerRegistry` for the same reason:
|
|
4
|
+
* connectors hold triggers now, but the palette still needs them described.
|
|
5
|
+
*/
|
|
6
|
+
import type { z } from 'zod';
|
|
7
|
+
import type { TriggerType } from '../types/trigger-types.js';
|
|
8
|
+
import type { TriggerCategory } from '../types/categories.js';
|
|
9
|
+
import { BaseTrigger } from './base-trigger.js';
|
|
10
|
+
import type { CredentialSlot } from '../steps/base-step.js';
|
|
11
|
+
import type { CredentialTypeRef } from '../common/credentials.js';
|
|
12
|
+
type AnyTrigger = BaseTrigger<z.ZodTypeAny>;
|
|
13
|
+
export interface TriggerSummary {
|
|
14
|
+
type: TriggerType;
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
category: TriggerCategory;
|
|
18
|
+
icon?: string;
|
|
19
|
+
/** The connector that provides this trigger. Stamped at registration. */
|
|
20
|
+
connectorId?: string;
|
|
21
|
+
connectorName?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface TriggerDescriptor extends TriggerSummary {
|
|
24
|
+
/** JSON Schema for the trigger's config — generated from the Zod schema. */
|
|
25
|
+
configSchema: Record<string, unknown>;
|
|
26
|
+
/** JSON Schema for the trigger's output — generated from the Zod schema. */
|
|
27
|
+
outputSchema: Record<string, unknown>;
|
|
28
|
+
/** Whether this trigger requires scope-based filtering in the UI. */
|
|
29
|
+
requiresScopeFilter: boolean;
|
|
30
|
+
/** Fields used for scope filtering (e.g. channelIds, boardIds). */
|
|
31
|
+
scopeFilterFields: readonly string[];
|
|
32
|
+
/** Credential slots this trigger declares. Empty array if none. */
|
|
33
|
+
credentialSlots: readonly CredentialSlot[];
|
|
34
|
+
/** Credential types the trigger accepts. Empty means any type. */
|
|
35
|
+
credential: readonly CredentialTypeRef[];
|
|
36
|
+
/** True for a webhook trigger, which an external provider calls. */
|
|
37
|
+
webhook: boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare function buildTriggerSummary(t: AnyTrigger): TriggerSummary;
|
|
40
|
+
export declare function buildTriggerDescriptor(t: AnyTrigger): TriggerDescriptor;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=trigger-descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-descriptor.d.ts","sourceRoot":"","sources":["../../src/triggers/trigger-descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,KAAK,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAI5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,qEAAqE;IACrE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mEAAmE;IACnE,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,mEAAmE;IACnE,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,kEAAkE;IAClE,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzC,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,UAAU,GAAG,cAAc,CAUjE;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,UAAU,GAAG,iBAAiB,CAWvE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseTrigger } from './base-trigger.js';
|
|
2
|
+
import { WebhookTrigger } from './webhook-trigger.js';
|
|
3
|
+
import { zodToJsonSchemaRecord } from '../util/schema-convert.js';
|
|
4
|
+
import { credentialTypeRefs } from '../util/credential-slot-schema.js';
|
|
5
|
+
// ─── Builders ───
|
|
6
|
+
export function buildTriggerSummary(t) {
|
|
7
|
+
return {
|
|
8
|
+
type: t.type,
|
|
9
|
+
name: t.name,
|
|
10
|
+
description: t.description,
|
|
11
|
+
category: t.category,
|
|
12
|
+
...(t.icon !== undefined ? { icon: t.icon } : {}),
|
|
13
|
+
...(t.connectorId !== undefined ? { connectorId: t.connectorId } : {}),
|
|
14
|
+
...(t.connectorName !== undefined ? { connectorName: t.connectorName } : {}),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export function buildTriggerDescriptor(t) {
|
|
18
|
+
return {
|
|
19
|
+
...buildTriggerSummary(t),
|
|
20
|
+
configSchema: t.decorateConfigSchema(zodToJsonSchemaRecord(t.configSchema)),
|
|
21
|
+
outputSchema: zodToJsonSchemaRecord(t.outputSchema),
|
|
22
|
+
requiresScopeFilter: t.requiresScopeFilter ?? false,
|
|
23
|
+
scopeFilterFields: t.scopeFilterFields ?? [],
|
|
24
|
+
credentialSlots: t.credentialSlots ?? [],
|
|
25
|
+
credential: credentialTypeRefs(t.credential),
|
|
26
|
+
webhook: t instanceof WebhookTrigger,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=trigger-descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-descriptor.js","sourceRoot":"","sources":["../../src/triggers/trigger-descriptor.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAoCvE,mBAAmB;AAEnB,MAAM,UAAU,mBAAmB,CAAC,CAAa;IAC/C,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,CAAa;IAClD,OAAO;QACL,GAAG,mBAAmB,CAAC,CAAC,CAAC;QACzB,YAAY,EAAE,CAAC,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3E,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC;QACnD,mBAAmB,EAAE,CAAC,CAAC,mBAAmB,IAAI,KAAK;QACnD,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,EAAE;QAC5C,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE;QACxC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC;QAC5C,OAAO,EAAE,CAAC,YAAY,cAAc;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -1,50 +1,43 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
2
|
import { BaseTrigger } from './base-trigger.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
headers: Record<string, string | string[] | undefined>;
|
|
6
|
-
body: unknown;
|
|
7
|
-
query: Record<string, string | string[] | undefined>;
|
|
8
|
-
}
|
|
9
|
-
export interface WebhookResponse {
|
|
10
|
-
status: number;
|
|
11
|
-
headers?: Record<string, string>;
|
|
12
|
-
body?: unknown;
|
|
13
|
-
}
|
|
14
|
-
export interface WebhookHandleResult {
|
|
15
|
-
/** Data to pass into the workflow as trigger context. */
|
|
16
|
-
triggerData: Record<string, unknown>;
|
|
17
|
-
/** HTTP response to return to the webhook caller. */
|
|
18
|
-
httpResponse: WebhookResponse;
|
|
19
|
-
}
|
|
20
|
-
export interface WebhookActivationContext {
|
|
21
|
-
/** The full URL the webhook will be reachable at. */
|
|
22
|
-
webhookUrl: string;
|
|
23
|
-
credentials: Record<string, never>;
|
|
24
|
-
}
|
|
3
|
+
import type { TriggerExecutionContext } from './base-trigger.js';
|
|
4
|
+
import type { InboundHttpRequest, RawInboundRequest, Translation } from '../ingest/types.js';
|
|
25
5
|
/**
|
|
26
|
-
* Webhook trigger — fires when an external
|
|
6
|
+
* Webhook trigger — fires when an external service POSTs to
|
|
7
|
+
* `<baseUrl>/webhooks/<workflowId>`.
|
|
8
|
+
*
|
|
9
|
+
* The author registers that URL with the provider by hand. On each request the
|
|
10
|
+
* engine:
|
|
27
11
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
12
|
+
* 1. finds the workflow and checks it is active,
|
|
13
|
+
* 2. resolves the trigger's credentials, rejecting the request if one is
|
|
14
|
+
* missing, revoked, or of a type the trigger does not accept,
|
|
15
|
+
* 3. calls {@link verify} with the exact bytes and those credentials,
|
|
16
|
+
* 4. parses the body,
|
|
17
|
+
*
|
|
18
|
+
* and only then calls {@link handleRequest}. Each event it returns must pass
|
|
19
|
+
* the workflow's trigger filter to become a run.
|
|
20
|
+
*
|
|
21
|
+
* How a request is verified belongs to the connector: its provider's signing
|
|
22
|
+
* scheme, its own utilities. The engine's part is that verification always
|
|
23
|
+
* runs first and receives the right credentials. The URL carries no secret, so
|
|
24
|
+
* an implementation that accepts everything leaves the workflow open to anyone
|
|
25
|
+
* who learns its id.
|
|
32
26
|
*/
|
|
33
27
|
export declare abstract class WebhookTrigger<TConfig extends z.ZodTypeAny = z.ZodTypeAny> extends BaseTrigger<TConfig> {
|
|
34
28
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Called when the workflow is activated. Use to register the webhook URL
|
|
41
|
-
* with the external service (e.g. Stripe, GitHub).
|
|
29
|
+
* Is this request really from the provider? Return false, or throw, to reject
|
|
30
|
+
* it with 401. Runs before the body is parsed.
|
|
31
|
+
*
|
|
32
|
+
* Read a secret with `credentialValues(ctx.credentials, slot, 'secret')`.
|
|
42
33
|
*/
|
|
43
|
-
|
|
34
|
+
abstract verify(request: InboundHttpRequest, config: z.infer<TConfig>, ctx: TriggerExecutionContext): Promise<boolean>;
|
|
44
35
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
36
|
+
* Turn a verified request into events, and say what to reply.
|
|
37
|
+
*
|
|
38
|
+
* Should be pure: no network calls. Enrichment that needs the provider's API
|
|
39
|
+
* belongs in `hydratePayload`, which runs inside the execution.
|
|
47
40
|
*/
|
|
48
|
-
|
|
41
|
+
abstract handleRequest(request: RawInboundRequest, config: z.infer<TConfig>, ctx: TriggerExecutionContext): Promise<Translation>;
|
|
49
42
|
}
|
|
50
43
|
//# sourceMappingURL=webhook-trigger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-trigger.d.ts","sourceRoot":"","sources":["../../src/triggers/webhook-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"webhook-trigger.d.ts","sourceRoot":"","sources":["../../src/triggers/webhook-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,8BAAsB,cAAc,CAClC,OAAO,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAC3C,SAAQ,WAAW,CAAC,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CACb,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EACxB,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CACpB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EACxB,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,WAAW,CAAC;CACxB"}
|
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
import { BaseTrigger } from './base-trigger.js';
|
|
2
|
-
// ─── WebhookTrigger ───
|
|
3
2
|
/**
|
|
4
|
-
* Webhook trigger — fires when an external
|
|
3
|
+
* Webhook trigger — fires when an external service POSTs to
|
|
4
|
+
* `<baseUrl>/webhooks/<workflowId>`.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* The author registers that URL with the provider by hand. On each request the
|
|
7
|
+
* engine:
|
|
8
|
+
*
|
|
9
|
+
* 1. finds the workflow and checks it is active,
|
|
10
|
+
* 2. resolves the trigger's credentials, rejecting the request if one is
|
|
11
|
+
* missing, revoked, or of a type the trigger does not accept,
|
|
12
|
+
* 3. calls {@link verify} with the exact bytes and those credentials,
|
|
13
|
+
* 4. parses the body,
|
|
14
|
+
*
|
|
15
|
+
* and only then calls {@link handleRequest}. Each event it returns must pass
|
|
16
|
+
* the workflow's trigger filter to become a run.
|
|
17
|
+
*
|
|
18
|
+
* How a request is verified belongs to the connector: its provider's signing
|
|
19
|
+
* scheme, its own utilities. The engine's part is that verification always
|
|
20
|
+
* runs first and receives the right credentials. The URL carries no secret, so
|
|
21
|
+
* an implementation that accepts everything leaves the workflow open to anyone
|
|
22
|
+
* who learns its id.
|
|
10
23
|
*/
|
|
11
24
|
export class WebhookTrigger extends BaseTrigger {
|
|
12
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-trigger.js","sourceRoot":"","sources":["../../src/triggers/webhook-trigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"webhook-trigger.js","sourceRoot":"","sources":["../../src/triggers/webhook-trigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAgB,cAEpB,SAAQ,WAAoB;CAwB7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"known-types.d.ts","sourceRoot":"","sources":["../../src/types/known-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;GAGG;AACH,oBAAY,eAAe;IAEzB,WAAW,gBAAgB;IAC3B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,GAAG,QAAQ;IAEX,IAAI,SAAS;IACb,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,qBAAqB,yCAAgC,CAAC;AAInE,QAAA,MAAM,wBAAwB,qIAMpB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,yGAAyG;AACzG,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAEvD,CAAC;AAEF,eAAO,MAAM,yBAAyB,uIAMpC,CAAC;AAIH;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,
|
|
1
|
+
{"version":3,"file":"known-types.d.ts","sourceRoot":"","sources":["../../src/types/known-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;GAGG;AACH,oBAAY,eAAe;IAEzB,WAAW,gBAAgB;IAC3B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,GAAG,QAAQ;IAEX,IAAI,SAAS;IACb,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,qBAAqB,yCAAgC,CAAC;AAInE,QAAA,MAAM,wBAAwB,qIAMpB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,yGAAyG;AACzG,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAEvD,CAAC;AAEF,eAAO,MAAM,yBAAyB,uIAMpC,CAAC;AAIH;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAED,eAAO,MAAM,wBAAwB,4CAAmC,CAAC"}
|
|
@@ -44,7 +44,6 @@ export const ControlFlowStepTypeSchema = z.enum([
|
|
|
44
44
|
export var BuiltinTriggerType;
|
|
45
45
|
(function (BuiltinTriggerType) {
|
|
46
46
|
BuiltinTriggerType["EVENT"] = "EVENT";
|
|
47
|
-
BuiltinTriggerType["WEBHOOK"] = "WEBHOOK";
|
|
48
47
|
BuiltinTriggerType["CRON"] = "CRON";
|
|
49
48
|
BuiltinTriggerType["MANUAL"] = "MANUAL";
|
|
50
49
|
BuiltinTriggerType["WEBHOOK_V2"] = "WEBHOOK_V2";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"known-types.js","sourceRoot":"","sources":["../../src/types/known-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8BAA8B;AAE9B;;;GAGG;AACH,MAAM,CAAN,IAAY,eAYX;AAZD,WAAY,eAAe;IACzB,eAAe;IACf,8CAA2B,CAAA;IAC3B,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,8BAAW,CAAA;IACX,SAAS;IACT,gCAAa,CAAA;IACb,gCAAa,CAAA;IACb,gDAA6B,CAAA;IAC7B,kCAAe,CAAA;AACjB,CAAC,EAZW,eAAe,KAAf,eAAe,QAY1B;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAEnE,8BAA8B;AAE9B,MAAM,wBAAwB,GAAG;IAC/B,eAAe,CAAC,WAAW;IAC3B,eAAe,CAAC,MAAM;IACtB,eAAe,CAAC,IAAI;IACpB,eAAe,CAAC,QAAQ;IACxB,eAAe,CAAC,GAAG;CACX,CAAC;AAIX,yGAAyG;AACzG,MAAM,CAAC,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CACjE,wBAAwB,CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9C,eAAe,CAAC,WAAW;IAC3B,eAAe,CAAC,MAAM;IACtB,eAAe,CAAC,IAAI;IACpB,eAAe,CAAC,QAAQ;IACxB,eAAe,CAAC,GAAG;CACpB,CAAC,CAAC;AAEH,iCAAiC;AAEjC;;;GAGG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"known-types.js","sourceRoot":"","sources":["../../src/types/known-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8BAA8B;AAE9B;;;GAGG;AACH,MAAM,CAAN,IAAY,eAYX;AAZD,WAAY,eAAe;IACzB,eAAe;IACf,8CAA2B,CAAA;IAC3B,oCAAiB,CAAA;IACjB,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,8BAAW,CAAA;IACX,SAAS;IACT,gCAAa,CAAA;IACb,gCAAa,CAAA;IACb,gDAA6B,CAAA;IAC7B,kCAAe,CAAA;AACjB,CAAC,EAZW,eAAe,KAAf,eAAe,QAY1B;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAEnE,8BAA8B;AAE9B,MAAM,wBAAwB,GAAG;IAC/B,eAAe,CAAC,WAAW;IAC3B,eAAe,CAAC,MAAM;IACtB,eAAe,CAAC,IAAI;IACpB,eAAe,CAAC,QAAQ;IACxB,eAAe,CAAC,GAAG;CACX,CAAC;AAIX,yGAAyG;AACzG,MAAM,CAAC,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CACjE,wBAAwB,CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9C,eAAe,CAAC,WAAW;IAC3B,eAAe,CAAC,MAAM;IACtB,eAAe,CAAC,IAAI;IACpB,eAAe,CAAC,QAAQ;IACxB,eAAe,CAAC,GAAG;CACpB,CAAC,CAAC;AAEH,iCAAiC;AAEjC;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,+CAAyB,CAAA;AAC3B,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -4,7 +4,9 @@ export declare enum ValidationIssueCode {
|
|
|
4
4
|
UNKNOWN_REFERENCE = "unknownReference",
|
|
5
5
|
FORWARD_REFERENCE = "forwardReference",
|
|
6
6
|
TYPE_MISMATCH = "typeMismatch",
|
|
7
|
-
DUPLICATE_STEP_ID = "duplicateStepId"
|
|
7
|
+
DUPLICATE_STEP_ID = "duplicateStepId",
|
|
8
|
+
MISSING_CREDENTIAL = "missingCredential",
|
|
9
|
+
INVALID_FILTER = "invalidFilter"
|
|
8
10
|
}
|
|
9
11
|
export declare const ValidationIssueCodeSchema: z.ZodNativeEnum<typeof ValidationIssueCode>;
|
|
10
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oBAAY,mBAAmB;IAC7B,KAAK,UAAU;IACf,iBAAiB,qBAAqB;IACtC,iBAAiB,qBAAqB;IACtC,aAAa,iBAAiB;IAC9B,iBAAiB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oBAAY,mBAAmB;IAC7B,KAAK,UAAU;IACf,iBAAiB,qBAAqB;IACtC,iBAAiB,qBAAqB;IACtC,aAAa,iBAAiB;IAC9B,iBAAiB,oBAAoB;IACrC,kBAAkB,sBAAsB;IACxC,cAAc,kBAAkB;CACjC;AAED,eAAO,MAAM,yBAAyB,6CAAoC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qHAAqH;IACrH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B"}
|
package/dist/types/validation.js
CHANGED
|
@@ -6,6 +6,8 @@ export var ValidationIssueCode;
|
|
|
6
6
|
ValidationIssueCode["FORWARD_REFERENCE"] = "forwardReference";
|
|
7
7
|
ValidationIssueCode["TYPE_MISMATCH"] = "typeMismatch";
|
|
8
8
|
ValidationIssueCode["DUPLICATE_STEP_ID"] = "duplicateStepId";
|
|
9
|
+
ValidationIssueCode["MISSING_CREDENTIAL"] = "missingCredential";
|
|
10
|
+
ValidationIssueCode["INVALID_FILTER"] = "invalidFilter";
|
|
9
11
|
})(ValidationIssueCode || (ValidationIssueCode = {}));
|
|
10
12
|
export const ValidationIssueCodeSchema = z.nativeEnum(ValidationIssueCode);
|
|
11
13
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAN,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,6DAAsC,CAAA;IACtC,6DAAsC,CAAA;IACtC,qDAA8B,CAAA;IAC9B,4DAAqC,CAAA;IACrC,+DAAwC,CAAA;IACxC,uDAAgC,CAAA;AAClC,CAAC,EARW,mBAAmB,KAAnB,mBAAmB,QAQ9B;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -178,6 +178,12 @@ export interface WorkflowConfig {
|
|
|
178
178
|
trigger: {
|
|
179
179
|
type: TriggerType;
|
|
180
180
|
config: Record<string, unknown>;
|
|
181
|
+
/**
|
|
182
|
+
* Which arriving events start a run. Separate from `config` because it has a
|
|
183
|
+
* different lifecycle: config is what the trigger is connected to, the filter
|
|
184
|
+
* is which of its events the workflow wants. See {@link TriggerFilter}.
|
|
185
|
+
*/
|
|
186
|
+
filter?: TriggerFilter;
|
|
181
187
|
};
|
|
182
188
|
steps: WorkflowStepConfig[];
|
|
183
189
|
settings?: WorkflowSettings;
|
|
@@ -193,6 +199,23 @@ export interface WorkflowConfig {
|
|
|
193
199
|
*/
|
|
194
200
|
variables?: WorkflowVariable[];
|
|
195
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* An author-configured condition on the trigger's events, evaluated by the
|
|
204
|
+
* engine before a run is created. An event that fails it leaves no trace.
|
|
205
|
+
*/
|
|
206
|
+
export interface TriggerFilter {
|
|
207
|
+
/**
|
|
208
|
+
* The same condition tree the Conditional step uses. Variables may reference
|
|
209
|
+
* `{{trigger.*}}` and `{{vars.*}}` only — nothing else exists before a run.
|
|
210
|
+
*/
|
|
211
|
+
conditions?: Condition;
|
|
212
|
+
}
|
|
213
|
+
export declare const TriggerFilterSchema: z.ZodType<TriggerFilter>;
|
|
214
|
+
/**
|
|
215
|
+
* The scope id that asks for the context a trigger filter can see — the trigger
|
|
216
|
+
* output and variables, no steps. Pass it wherever an `atStepId` is expected.
|
|
217
|
+
*/
|
|
218
|
+
export declare const TRIGGER_FILTER_SCOPE = "$trigger";
|
|
196
219
|
/**
|
|
197
220
|
* Read a dotted path from a nested object.
|
|
198
221
|
* `readDottedPath({ a: { b: 1 } }, 'a.b')` → `1`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-config.d.ts","sourceRoot":"","sources":["../../src/types/workflow-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"workflow-config.d.ts","sourceRoot":"","sources":["../../src/types/workflow-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,14 @@ export const WorkflowSettingsSchema = z.object({
|
|
|
50
50
|
})
|
|
51
51
|
.optional(),
|
|
52
52
|
});
|
|
53
|
+
export const TriggerFilterSchema = z
|
|
54
|
+
.object({ conditions: ConditionSchema.optional() })
|
|
55
|
+
.strict();
|
|
56
|
+
/**
|
|
57
|
+
* The scope id that asks for the context a trigger filter can see — the trigger
|
|
58
|
+
* output and variables, no steps. Pass it wherever an `atStepId` is expected.
|
|
59
|
+
*/
|
|
60
|
+
export const TRIGGER_FILTER_SCOPE = '$trigger';
|
|
53
61
|
// ─── Utility ───
|
|
54
62
|
/**
|
|
55
63
|
* Read a dotted path from a nested object.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-config.js","sourceRoot":"","sources":["../../src/types/workflow-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,+BAA+B,GAChC,MAAM,yBAAyB,CAAC;AAGjC,qCAAqC;AAErC,MAAM,uBAAuB,GAAG,CAAC;KAC9B,MAAM,EAAE;KACR,KAAK,CAAC,kBAAkB,EAAE,wCAAwC,CAAC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,KAAQ;IAER,OAAO,CAAC;SACL,KAAK,CAAC,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;SACvC,QAAQ,CACP,GAAG,+BAA+B,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAChD,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAoB;IAEpB,IACE,MAAM,YAAY,CAAC,CAAC,QAAQ;QAC5B,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QACtC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAC9D,CAAC;QACD,MAAM,OAAO,GAAI,MAAmD,CAAC,IAAI;aACtE,OAAO,CAAC;QACX,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAeD,MAAM,CAAC,MAAM,mBAAmB,GAA6B,CAAC,CAAC,MAAM,CAAC;IACpE,QAAQ,EAAE,uBAAuB;IACjC,QAAQ,EAAE,uBAAuB;IACjC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC/D,CAAC,CAAC,KAAK,CAAC;IACN,mBAAmB;IACnB,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;IAC3C,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;CAC5C,CAAC,CACH,CAAC;AAoIF,4BAA4B;AAE5B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACrD,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;KACvC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-config.js","sourceRoot":"","sources":["../../src/types/workflow-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mark a component's credential fields in its config JSON Schema.
|
|
3
|
+
*
|
|
4
|
+
* A component calls this from its own `decorateConfigSchema`, so the component
|
|
5
|
+
* decides which fields hold credentials, what they are called, how deeply they
|
|
6
|
+
* are nested, and how many there are. The framework never marks fields itself.
|
|
7
|
+
*/
|
|
8
|
+
import type { CredentialRequirement } from '../connectors/core/credentials.js';
|
|
9
|
+
import type { CredentialTypeRef } from '../common/credentials.js';
|
|
10
|
+
/** The JSON Schema `format` the builder renders as a credential picker. */
|
|
11
|
+
export declare const CREDENTIAL_NAME_FORMAT = "credential-name";
|
|
12
|
+
/**
|
|
13
|
+
* A field's JSON Schema, marked as a credential picker limited to the accepted types.
|
|
14
|
+
*
|
|
15
|
+
* props['credentialName'] = markCredentialField(props['credentialName'], this.credential);
|
|
16
|
+
*/
|
|
17
|
+
export declare function markCredentialField(fieldSchema: Record<string, unknown>, accepted: CredentialRequirement | undefined): Record<string, unknown>;
|
|
18
|
+
/** The accepted types, as the UI needs them. */
|
|
19
|
+
export declare function credentialTypeRefs(accepted: CredentialRequirement | undefined): CredentialTypeRef[];
|
|
20
|
+
//# sourceMappingURL=credential-slot-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-slot-schema.d.ts","sourceRoot":"","sources":["../../src/util/credential-slot-schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,QAAQ,EAAE,qBAAqB,GAAG,SAAS,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,SAAS,GAAG,iBAAiB,EAAE,CAKnG"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mark a component's credential fields in its config JSON Schema.
|
|
3
|
+
*
|
|
4
|
+
* A component calls this from its own `decorateConfigSchema`, so the component
|
|
5
|
+
* decides which fields hold credentials, what they are called, how deeply they
|
|
6
|
+
* are nested, and how many there are. The framework never marks fields itself.
|
|
7
|
+
*/
|
|
8
|
+
/** The JSON Schema `format` the builder renders as a credential picker. */
|
|
9
|
+
export const CREDENTIAL_NAME_FORMAT = 'credential-name';
|
|
10
|
+
/**
|
|
11
|
+
* A field's JSON Schema, marked as a credential picker limited to the accepted types.
|
|
12
|
+
*
|
|
13
|
+
* props['credentialName'] = markCredentialField(props['credentialName'], this.credential);
|
|
14
|
+
*/
|
|
15
|
+
export function markCredentialField(fieldSchema, accepted) {
|
|
16
|
+
const credentialTypes = (accepted ?? []).map((definition) => definition.credType);
|
|
17
|
+
return {
|
|
18
|
+
...fieldSchema,
|
|
19
|
+
format: CREDENTIAL_NAME_FORMAT,
|
|
20
|
+
...(credentialTypes.length > 0 ? { credentialTypes } : {}),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/** The accepted types, as the UI needs them. */
|
|
24
|
+
export function credentialTypeRefs(accepted) {
|
|
25
|
+
return (accepted ?? []).map((definition) => ({
|
|
26
|
+
credType: definition.credType,
|
|
27
|
+
label: definition.label,
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=credential-slot-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-slot-schema.js","sourceRoot":"","sources":["../../src/util/credential-slot-schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAoC,EACpC,QAA2C;IAE3C,MAAM,eAAe,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClF,OAAO;QACL,GAAG,WAAW;QACd,MAAM,EAAE,sBAAsB;QAC9B,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,kBAAkB,CAAC,QAA2C;IAC5E,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3C,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;KACxB,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED