n8n-nodes-reeflex 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,32 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Reeflex
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ NOTE ON LICENSING SCOPE: this MIT license applies only to this
26
+ n8n-nodes-reeflex/ directory (a thin n8n community-node client). It does not
27
+ relicense reeflex-core, reeflex-spec, reeflex-wordpress, or the reeflex.io
28
+ website, which remain Apache 2.0 under the repository root LICENSE. MIT is
29
+ used here because the n8n community node verification program requires it
30
+ (see PUBLISH.md) - the same precedent already applies to the
31
+ reeflex-wordpress WordPress.org submission (GPLv2-or-later, scoped to that
32
+ plugin directory).
package/README.md ADDED
@@ -0,0 +1,211 @@
1
+ # n8n-nodes-reeflex
2
+
3
+ This is an n8n community node. It lets you use [Reeflex](https://reeflex.io)
4
+ - deterministic governance for AI-agent actions - in your n8n workflows.
5
+
6
+ Reeflex decides `allow` / `deny` / `require_approval` on a universal Action
7
+ Envelope via `reeflex-core`'s `POST /v1/decide`. The decision path is pure
8
+ OPA/Rego and classical logic - zero LLM, ever. This package ships one node,
9
+ **Reeflex Gate**, that is a thin, zero-business-logic consumer of that single
10
+ endpoint: it builds an envelope from its parameters, submits it, and routes
11
+ the item to one of three outputs based on the verdict.
12
+
13
+ [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/)
14
+ workflow automation platform.
15
+
16
+ [Installation](#installation)
17
+ [Operations](#operations)
18
+ [Credentials](#credentials)
19
+ [Compatibility](#compatibility)
20
+ [Usage](#usage)
21
+ [Fail-closed behavior](#fail-closed-behavior)
22
+ [Conformance](#conformance)
23
+ [Zero-code alternative](#zero-code-alternative)
24
+ [Resources](#resources)
25
+ [Version history](#version-history)
26
+
27
+ ## Installation
28
+
29
+ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation-and-management/)
30
+ in the n8n community nodes documentation, and install `n8n-nodes-reeflex`.
31
+
32
+ ## Operations
33
+
34
+ The package ships a single node, **Reeflex Gate**. It has one input and
35
+ three outputs:
36
+
37
+ | Output | Fires when |
38
+ |---|---|
39
+ | Allowed | reeflex-core returned `decision: "allow"` |
40
+ | Held for Approval | reeflex-core returned `decision: "require_approval"` (a hold was created - see [Usage](#usage)) |
41
+ | Denied | reeflex-core returned `decision: "deny"`, an unrecognized decision value, or the request itself failed (see [Fail-closed behavior](#fail-closed-behavior)) |
42
+
43
+ Every output item carries the original input JSON plus a `reeflex` field
44
+ with the full Decision object returned by core (`decision`, `reason`,
45
+ `rule`, `obligations`, `modulation`, and - for held items - `hold_id` and
46
+ `expires_ts`), **plus the exact Action Envelope this node sent**
47
+ (`reeflex.envelope`) - present on all three outputs, not just Denied, so a
48
+ downstream "resolve the hold, then resubmit" flow can reuse it verbatim
49
+ (flip `approval.present`/`approval.hold_id` and POST it back to
50
+ `/v1/decide`) without reconstructing it by hand. See [Usage](#usage).
51
+
52
+ **Node parameters** map directly onto the Action Envelope
53
+ (`reeflex-spec/SPEC.md` SS2):
54
+
55
+ | Parameter | Envelope field |
56
+ |---|---|
57
+ | Action / Ability | `action.ability` (also derives `action.namespace` from the text before the first `/`) |
58
+ | Verb | `action.verb` |
59
+ | Environment | `target.environment` |
60
+ | Reversibility, Blast Radius, Externality | `axes.*` |
61
+ | Count | `magnitude.count` |
62
+ | Target System | `target.kind` (informational) |
63
+ | Session ID | `agent.session_id` (required - see [Usage](#usage)) |
64
+ | Agent ID | `agent.id` |
65
+ | Additional Fields -> On Behalf Of | `agent.on_behalf_of` |
66
+ | Additional Fields -> Target Ref | `target.ref` |
67
+
68
+ The Reversibility / Blast Radius / Externality dropdowns default to the
69
+ most restrictive value in each set (`irreversible` / `systemic` /
70
+ `outbound`). This is deliberate: an unconfigured node fails toward a hold
71
+ or a deny rather than silently allowing. Set them to describe your actual
72
+ action.
73
+
74
+ ## Credentials
75
+
76
+ You need a **Reeflex API** credential:
77
+
78
+ - **Core URL** - the base URL of your `reeflex-core` instance, e.g.
79
+ `http://127.0.0.1:8080` or `https://core.example.com`. No trailing slash,
80
+ no path.
81
+ - **API Token** - the Bearer token matching the server's
82
+ `REEFLEX_AUTH_TOKEN`. Leave empty only if the server has auth disabled.
83
+ - **Ignore SSL Issues (Insecure)** - off by default. Enable only for
84
+ trusted development or self-signed endpoints; this removes protection
85
+ against man-in-the-middle attacks.
86
+
87
+ Prerequisite: a running `reeflex-core` instance. See
88
+ [`../reeflex-core/README.md`](../reeflex-core/README.md) to run one, and
89
+ [`../INSTALL.md`](../INSTALL.md) for OPA installation.
90
+
91
+ The credential's **Test** button calls `GET /v1/holds?limit=1` - a
92
+ read-only endpoint that requires the same Bearer auth as `/v1/decide`, so a
93
+ pass genuinely validates both reachability and the token (unlike
94
+ `/healthz`, which is always unauthenticated). This requires reeflex-core
95
+ v0.1.5 or later (the Holds API, HIL Phase 1). See the code comment in
96
+ `credentials/ReeflexApi.credentials.ts` for a known limitation: the Test
97
+ button does not currently honor "Ignore SSL Issues" against a self-signed
98
+ Core URL, even though the node's real `/v1/decide` calls do.
99
+
100
+ ## Compatibility
101
+
102
+ - Requires n8n with community nodes support and Node.js >= 20.15.
103
+ - Requires `reeflex-core` v0.1.5 or later for the credential test (the
104
+ Holds API). `POST /v1/decide` itself works against any reeflex-core v0.1.x.
105
+ - Built and tested against `n8n-workflow` as a peer dependency (no pinned
106
+ version - see `package.json`).
107
+
108
+ ## Usage
109
+
110
+ **Session ID is required.** reeflex-core uses `agent.session_id` to detect
111
+ fragmented bulk actions across multiple calls in the same session (SPEC
112
+ SS4.1 - "fragmentation resistance": ten single-item deletes in the same
113
+ session are evaluated cumulatively, not as ten independent small actions).
114
+ The node defaults this field to the expression `={{$execution.id}}`, which
115
+ is stable for the lifetime of one workflow execution. Reuse the same
116
+ session id across a longer-lived process (e.g. a chat session spanning
117
+ several executions) if you want cumulative budgets to apply across it.
118
+
119
+ **This node does not resolve holds or re-execute anything.** When the
120
+ verdict is `require_approval`, the output item on "Held for Approval"
121
+ carries `reeflex.hold_id` and `reeflex.expires_ts`. Getting a human decision
122
+ and re-submitting the envelope (with `approval.present: true` and the same
123
+ `hold_id`) is your workflow's job - see
124
+ [`/docs/guides/n8n.md`](../docs/guides/n8n.md)
125
+ for a worked pattern using n8n's built-in Wait node and reeflex-core's
126
+ outbound hold webhook. Reeflex never executes actions on any surface (SPEC
127
+ SS5.1): core only ever returns a verdict.
128
+
129
+ ## Fail-closed behavior
130
+
131
+ Per the Reeflex Adapter Contract (SPEC SS6, responsibility #3 ENFORCE), an
132
+ adapter must never treat a core failure as `allow`. If the HTTP call to
133
+ `/v1/decide` fails outright (network error, timeout, TLS failure - no HTTP
134
+ response at all), or comes back with an HTTP error status that carries no
135
+ usable `decision` field, the node **unconditionally routes the item to
136
+ Denied** with a synthetic reason (`rule: "n8n-nodes-reeflex/fail_closed"`)
137
+ - it never throws for this error class, and it never routes to Allowed.
138
+
139
+ This is deliberate, not gated behind "Continue On Fail": a governance gate
140
+ that halts the entire workflow on a core outage defeats the purpose of
141
+ having a Denied branch to alert on, and it mirrors every other Reeflex
142
+ adapter (`reeflex-claude`, `reeflex-wordpress`) - never silently allow,
143
+ never crash past the gate, always emit a definitive, auditable deny.
144
+ **Wire real monitoring (Slack, email, a logging node) on the Denied
145
+ output** - a `reeflex-core` outage should page someone, not vanish silently.
146
+
147
+ If `reeflex-core` DOES return an HTTP 500 with a usable `decision` field
148
+ (its own internal-error fail-closed path, see `reeflex-core/app/decide.py`
149
+ `process()`), this node reads that real `reason`/`rule` instead of
150
+ substituting a generic message, so you get the same detail you would from
151
+ `reeflex-core`'s own audit log.
152
+
153
+ **This is a different error class from this node's own configuration
154
+ errors** (missing Action/Ability, missing Session ID): those still throw a
155
+ `NodeOperationError` and halt the workflow by default (standard n8n
156
+ behavior), or route to Denied with a plain `error` field (no `reeflex` key)
157
+ if you enable **Continue On Fail** on the node - "core said no or is
158
+ unreachable" and "this node was misconfigured" are handled differently on
159
+ purpose.
160
+
161
+ ## Conformance
162
+
163
+ This node satisfies the applicable parts of the SPEC SS7 conformance
164
+ checklist for a source-side adapter:
165
+
166
+ - Produces a schema-valid envelope with all three axes always set (never
167
+ omitted - see the safe-conservative defaults above).
168
+ - Applies `allow` / `require_approval` / `deny` correctly by routing to the
169
+ matching output.
170
+ - Fails closed on any core error (see above).
171
+ - Supplies a stable `session_id`.
172
+ - Passes `obligations` through on the `reeflex` output field for the
173
+ workflow to act on. **The node does not itself enforce any obligation**
174
+ (e.g. `redact:pii`) - build that as downstream workflow logic that
175
+ branches on `{{$json.reeflex.obligations}}`. This is deliberate given the
176
+ node's "zero business logic" scope; it is not a facade - obligations are
177
+ visible, not silently dropped, and no rule in the shipped policy pack
178
+ currently emits a non-empty obligations array.
179
+ - Envelope signing (`meta.signature`) is a documented stub
180
+ (`ed25519:stub:n8n-nodes-reeflex`), matching reeflex-core's own current
181
+ skeleton state (SPEC SS6 implementation-status note). Real signing is on
182
+ core's roadmap (Vault-backed key management); see the code comment next
183
+ to the stub for the upgrade path.
184
+ - Per-decision audit is provided by reeflex-core itself (every
185
+ `/v1/decide` call is written to its JSONL audit log server-side) - this
186
+ node does not duplicate that audit trail (Adapter Contract responsibility
187
+ #4).
188
+
189
+ ## Zero-code alternative
190
+
191
+ You do not need this node to use Reeflex from n8n. `POST /v1/decide` is a
192
+ plain HTTP endpoint - see
193
+ [`/docs/guides/n8n.md`](../docs/guides/n8n.md)
194
+ for a complete pattern using only n8n's built-in HTTP Request, Switch, and
195
+ Wait nodes. Install this package once you are tired of hand-building the
196
+ envelope JSON and the branching logic across multiple workflows.
197
+
198
+ ## Resources
199
+
200
+ * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
201
+ * [Reeflex Action Envelope & Adapter Contract (SPEC.md)](https://github.com/Reeflex-io/reeflex/blob/main/reeflex-spec/SPEC.md)
202
+ * [reeflex-core README](https://github.com/Reeflex-io/reeflex/blob/main/reeflex-core/README.md)
203
+ * [reeflex.io](https://reeflex.io)
204
+ * [`examples/bulk-delete-guard.workflow.json`](./examples/bulk-delete-guard.workflow.json) - an importable end-to-end example workflow
205
+ * [`test/reeflexGate.test.ts`](./test/reeflexGate.test.ts) - the node's test suite, against a mocked core
206
+ * [`PUBLISH.md`](./PUBLISH.md) - exact, gated steps to publish this package to npm (not yet done)
207
+
208
+ ## Version history
209
+
210
+ - **0.1.0** - Initial release. One node (Reeflex Gate, three outputs), one
211
+ credential (Reeflex API). Targets reeflex-core v0.1.5+ (HIL Phase 1).
@@ -0,0 +1,10 @@
1
+ import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, Icon, INodeProperties } from 'n8n-workflow';
2
+ export declare class ReeflexApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ icon: Icon;
6
+ documentationUrl: string;
7
+ properties: INodeProperties[];
8
+ authenticate: IAuthenticateGeneric;
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReeflexApi = void 0;
4
+ class ReeflexApi {
5
+ constructor() {
6
+ this.name = 'reeflexApi';
7
+ this.displayName = 'Reeflex API';
8
+ this.icon = 'file:../nodes/ReeflexGate/reeflexGate.svg';
9
+ this.documentationUrl = 'https://github.com/Reeflex-io/reeflex/blob/main/reeflex-core/README.md';
10
+ this.properties = [
11
+ {
12
+ displayName: 'Core URL',
13
+ name: 'coreUrl',
14
+ type: 'string',
15
+ default: 'http://127.0.0.1:8080',
16
+ placeholder: 'e.g. https://core.example.com',
17
+ description: 'Base URL of your reeflex-core instance, with no trailing slash and no path. The node calls "<Core URL>/v1/decide"',
18
+ required: true,
19
+ },
20
+ {
21
+ displayName: 'API Token',
22
+ name: 'apiToken',
23
+ type: 'string',
24
+ typeOptions: { password: true },
25
+ default: '',
26
+ description: "Bearer token for reeflex-core (the server's REEFLEX_AUTH_TOKEN environment variable). Leave empty only if the server has auth disabled (REEFLEX_AUTH_TOKEN unset)",
27
+ },
28
+ {
29
+ displayName: 'Ignore SSL Issues (Insecure)',
30
+ name: 'ignoreSslIssues',
31
+ type: 'boolean',
32
+ default: false,
33
+ description: 'Whether to accept invalid or self-signed TLS certificates when connecting to reeflex-core. Only enable this for trusted development or self-signed endpoints - it removes protection against man-in-the-middle attacks. Use at your own risk',
34
+ },
35
+ ];
36
+ this.authenticate = {
37
+ type: 'generic',
38
+ properties: {
39
+ headers: {
40
+ Authorization: '=Bearer {{$credentials.apiToken}}',
41
+ },
42
+ },
43
+ };
44
+ this.test = {
45
+ request: {
46
+ baseURL: '={{$credentials.coreUrl}}',
47
+ url: '/v1/holds',
48
+ method: 'GET',
49
+ qs: {
50
+ limit: 1,
51
+ },
52
+ },
53
+ };
54
+ }
55
+ }
56
+ exports.ReeflexApi = ReeflexApi;
57
+ //# sourceMappingURL=ReeflexApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReeflexApi.credentials.js","sourceRoot":"","sources":["../../credentials/ReeflexApi.credentials.ts"],"names":[],"mappings":";;;AAqBA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QAEpB,gBAAW,GAAG,aAAa,CAAC;QAE5B,SAAI,GAAS,2CAA2C,CAAC;QAEzD,qBAAgB,GAAG,wEAAwE,CAAC;QAE5F,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,WAAW,EAAE,+BAA+B;gBAC5C,WAAW,EACV,mHAAmH;gBACpH,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EACV,mKAAmK;aACpK;YACD;gBACC,WAAW,EAAE,8BAA8B;gBAC3C,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EACV,8OAA8O;aAC/O;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,mCAAmC;iBAClD;aACD;SACD,CAAC;QASF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,KAAK;gBACb,EAAE,EAAE;oBACH,KAAK,EAAE,CAAC;iBACR;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAjED,gCAiEC"}
@@ -0,0 +1,5 @@
1
+ import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class ReeflexGate implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,375 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReeflexGate = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const REEFLEX_VERSION = '0.1';
6
+ function generateNonce() {
7
+ return `${Date.now().toString(16)}-${Math.random().toString(16).slice(2)}`;
8
+ }
9
+ function _asDataObject(body) {
10
+ if (body && typeof body === 'object' && !Array.isArray(body)) {
11
+ return body;
12
+ }
13
+ if (typeof body === 'string' && body.trim().length > 0) {
14
+ try {
15
+ const parsed = JSON.parse(body);
16
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
17
+ return parsed;
18
+ }
19
+ }
20
+ catch {
21
+ }
22
+ }
23
+ return {};
24
+ }
25
+ function _failClosed(reason) {
26
+ return {
27
+ decision: 'deny',
28
+ reason: `Reeflex: ${reason} -- failing closed`,
29
+ rule: 'n8n-nodes-reeflex/fail_closed',
30
+ obligations: [],
31
+ modulation: null,
32
+ };
33
+ }
34
+ class ReeflexGate {
35
+ constructor() {
36
+ this.description = {
37
+ displayName: 'Reeflex Gate',
38
+ name: 'reeflexGate',
39
+ icon: 'file:reeflexGate.svg',
40
+ group: ['transform'],
41
+ version: 1,
42
+ subtitle: '={{$parameter["verb"] + ": " + $parameter["ability"]}}',
43
+ description: 'Deterministic governance gate for AI-agent actions - calls reeflex-core POST /v1/decide',
44
+ defaults: {
45
+ name: 'Reeflex Gate',
46
+ },
47
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
48
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main, n8n_workflow_1.NodeConnectionTypes.Main, n8n_workflow_1.NodeConnectionTypes.Main],
49
+ outputNames: ['Allowed', 'Held for Approval', 'Denied'],
50
+ credentials: [
51
+ {
52
+ name: 'reeflexApi',
53
+ required: true,
54
+ },
55
+ ],
56
+ properties: [
57
+ {
58
+ displayName: 'Reeflex Gate submits one Action Envelope per input item to reeflex-core and routes the item to Allowed, Held for Approval, or Denied. The axis defaults below (Irreversible / Systemic / Outbound) are deliberately the most restrictive, so an unconfigured node fails toward safety - set them to describe your actual action truthfully.',
59
+ name: 'reeflexNotice',
60
+ type: 'notice',
61
+ default: '',
62
+ },
63
+ {
64
+ displayName: 'Action / Ability',
65
+ name: 'ability',
66
+ type: 'string',
67
+ required: true,
68
+ default: '',
69
+ placeholder: 'e.g. wordpress/delete-post',
70
+ description: 'The backend-specific action identifier (Action Envelope action.ability). The part before the first "/" is used as action.namespace; falls back to "n8n" if there is no "/".',
71
+ },
72
+ {
73
+ displayName: 'Verb',
74
+ name: 'verb',
75
+ type: 'options',
76
+ options: [
77
+ {
78
+ name: 'Create',
79
+ value: 'create',
80
+ description: 'Add new state (e.g. INSERT, create-post)',
81
+ },
82
+ {
83
+ name: 'Delete',
84
+ value: 'delete',
85
+ description: 'Remove state (e.g. DELETE, delete-post)',
86
+ },
87
+ {
88
+ name: 'Emit',
89
+ value: 'emit',
90
+ description: 'Send to the outside world (e.g. send email, publish)',
91
+ },
92
+ {
93
+ name: 'Execute',
94
+ value: 'execute',
95
+ description: 'Run, trigger, or deploy (e.g. kubectl apply, run job)',
96
+ },
97
+ {
98
+ name: 'Read',
99
+ value: 'read',
100
+ description: 'Observe, no state change (e.g. SELECT, GetObject)',
101
+ },
102
+ {
103
+ name: 'Transact',
104
+ value: 'transact',
105
+ description: 'Move money or commit an obligation (e.g. refund, payment)',
106
+ },
107
+ {
108
+ name: 'Update',
109
+ value: 'update',
110
+ description: 'Modify existing state (e.g. UPDATE, edit-page)',
111
+ },
112
+ ],
113
+ default: 'read',
114
+ description: 'The normalized verb for this action (Action Envelope action.verb)',
115
+ },
116
+ {
117
+ displayName: 'Environment',
118
+ name: 'environment',
119
+ type: 'options',
120
+ options: [
121
+ { name: 'Production', value: 'production' },
122
+ { name: 'Staging', value: 'staging' },
123
+ { name: 'Dev', value: 'dev' },
124
+ ],
125
+ default: 'production',
126
+ description: 'Which environment this action targets (Action Envelope target.environment). Defaults to Production, the safe-conservative choice - override explicitly for staging or dev runs.',
127
+ },
128
+ {
129
+ displayName: 'Reversibility',
130
+ name: 'reversibility',
131
+ type: 'options',
132
+ options: [
133
+ {
134
+ name: 'Reversible',
135
+ value: 'reversible',
136
+ description: 'Trivially undone (e.g. toggle a draft)',
137
+ },
138
+ {
139
+ name: 'Recoverable',
140
+ value: 'recoverable',
141
+ description: 'Undone with effort or backup (e.g. soft-deleted row)',
142
+ },
143
+ {
144
+ name: 'Irreversible',
145
+ value: 'irreversible',
146
+ description: 'Gone for good (e.g. hard delete, sent email, executed payment)',
147
+ },
148
+ ],
149
+ default: 'irreversible',
150
+ description: 'Whether this action can be undone (Action Envelope axes.reversibility). Defaults to the safe-conservative value.',
151
+ },
152
+ {
153
+ displayName: 'Blast Radius',
154
+ name: 'blastRadius',
155
+ type: 'options',
156
+ options: [
157
+ { name: 'Single', value: 'single', description: 'Affects one entity' },
158
+ {
159
+ name: 'Broad',
160
+ value: 'broad',
161
+ description: 'Affects a large set - a whole table, bucket, or site',
162
+ },
163
+ {
164
+ name: 'Systemic',
165
+ value: 'systemic',
166
+ description: 'Could affect the system itself - schema, infrastructure, or all users',
167
+ },
168
+ ],
169
+ default: 'systemic',
170
+ description: 'How much is affected (Action Envelope axes.blast_radius). Defaults to the safe-conservative value. The full Action Envelope spec also defines a "scoped" value between Single and Broad, not exposed here to keep this list short',
171
+ },
172
+ {
173
+ displayName: 'Externality',
174
+ name: 'externality',
175
+ type: 'options',
176
+ options: [
177
+ { name: 'Internal', value: 'internal', description: 'Stays inside the controlled system' },
178
+ {
179
+ name: 'Outbound',
180
+ value: 'outbound',
181
+ description: 'Reaches third parties - email, API, publish',
182
+ },
183
+ ],
184
+ default: 'outbound',
185
+ description: 'Whether this action reaches beyond the system (Action Envelope axes.externality). Defaults to the safe-conservative value. The full Action Envelope spec also defines a "physical" value for actions affecting the physical world, not exposed here',
186
+ },
187
+ {
188
+ displayName: 'Count',
189
+ name: 'count',
190
+ type: 'number',
191
+ typeOptions: {
192
+ minValue: 1,
193
+ },
194
+ default: 1,
195
+ description: 'How many entities this action affects (Action Envelope magnitude.count). reeflex-core uses this together with the per-session budget to detect fragmented bulk actions (SPEC SS4.1).',
196
+ },
197
+ {
198
+ displayName: 'Target System',
199
+ name: 'targetSystem',
200
+ type: 'string',
201
+ default: '',
202
+ placeholder: 'e.g. wp-prod, billing-db, CRM',
203
+ description: 'Free-text identifier of the system or service being acted on. Informational: sent as Action Envelope target.kind, not itself a decision axis.',
204
+ },
205
+ {
206
+ displayName: 'Session ID',
207
+ name: 'sessionId',
208
+ type: 'string',
209
+ required: true,
210
+ default: '={{$execution.id}}',
211
+ description: 'Stable identifier tying this action to a session (Action Envelope agent.session_id), required so reeflex-core can detect fragmented bulk actions across calls (SPEC SS4.1). Defaults to this workflow execution\'s ID.',
212
+ },
213
+ {
214
+ displayName: 'Agent ID',
215
+ name: 'agentId',
216
+ type: 'string',
217
+ required: true,
218
+ default: 'agent:n8n',
219
+ description: 'Identifier of the agent performing the action (Action Envelope agent.id)',
220
+ },
221
+ {
222
+ displayName: 'Additional Fields',
223
+ name: 'additionalFields',
224
+ type: 'collection',
225
+ placeholder: 'Add Field',
226
+ default: {},
227
+ options: [
228
+ {
229
+ displayName: 'On Behalf Of',
230
+ name: 'onBehalfOf',
231
+ type: 'string',
232
+ default: '',
233
+ placeholder: 'e.g. user:alice',
234
+ description: 'The authorized human principal this agent is acting for (Action Envelope agent.on_behalf_of)',
235
+ },
236
+ {
237
+ displayName: 'Target Ref',
238
+ name: 'targetRef',
239
+ type: 'string',
240
+ default: '',
241
+ placeholder: 'e.g. post:1481',
242
+ description: 'Stable identifier of the specific entity being acted on (Action Envelope target.ref). Leave empty for bulk actions.',
243
+ },
244
+ ],
245
+ },
246
+ ],
247
+ usableAsTool: true,
248
+ };
249
+ }
250
+ async execute() {
251
+ const items = this.getInputData();
252
+ const allowedItems = [];
253
+ const heldItems = [];
254
+ const deniedItems = [];
255
+ for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
256
+ try {
257
+ const ability = this.getNodeParameter('ability', itemIndex);
258
+ if (!ability) {
259
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Action / Ability is required', {
260
+ itemIndex,
261
+ description: 'Enter the backend-specific action identifier, for example "wordpress/delete-post"',
262
+ });
263
+ }
264
+ const verb = this.getNodeParameter('verb', itemIndex);
265
+ const environment = this.getNodeParameter('environment', itemIndex);
266
+ const reversibility = this.getNodeParameter('reversibility', itemIndex);
267
+ const blastRadius = this.getNodeParameter('blastRadius', itemIndex);
268
+ const externality = this.getNodeParameter('externality', itemIndex);
269
+ const count = this.getNodeParameter('count', itemIndex);
270
+ const targetSystem = this.getNodeParameter('targetSystem', itemIndex, '');
271
+ const sessionId = this.getNodeParameter('sessionId', itemIndex);
272
+ const agentId = this.getNodeParameter('agentId', itemIndex);
273
+ const additionalFields = this.getNodeParameter('additionalFields', itemIndex, {});
274
+ if (!sessionId) {
275
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Session ID is required for fragmentation-resistant governance (SPEC SS4.1)', {
276
+ itemIndex,
277
+ description: "Provide a stable session identifier - for example the default '={{$execution.id}}' expression",
278
+ });
279
+ }
280
+ const namespace = ability.includes('/') ? ability.split('/')[0] : 'n8n';
281
+ const envelope = {
282
+ reeflex_version: REEFLEX_VERSION,
283
+ agent: {
284
+ id: agentId,
285
+ on_behalf_of: additionalFields.onBehalfOf || null,
286
+ session_id: sessionId,
287
+ },
288
+ action: {
289
+ namespace,
290
+ verb,
291
+ ability,
292
+ },
293
+ target: {
294
+ kind: targetSystem || null,
295
+ ref: additionalFields.targetRef || null,
296
+ environment,
297
+ },
298
+ params: {},
299
+ magnitude: {
300
+ count,
301
+ },
302
+ axes: {
303
+ reversibility,
304
+ blast_radius: blastRadius,
305
+ externality,
306
+ },
307
+ approval: {
308
+ present: false,
309
+ hold_id: null,
310
+ },
311
+ trajectory_ref: null,
312
+ context: {},
313
+ meta: {
314
+ timestamp: new Date().toISOString(),
315
+ nonce: generateNonce(),
316
+ signature: 'ed25519:stub:n8n-nodes-reeflex',
317
+ },
318
+ };
319
+ const credentials = await this.getCredentials('reeflexApi');
320
+ const baseUrl = credentials.coreUrl.replace(/\/+$/, '');
321
+ const options = {
322
+ method: 'POST',
323
+ url: `${baseUrl}/v1/decide`,
324
+ body: envelope,
325
+ json: true,
326
+ skipSslCertificateValidation: credentials.ignoreSslIssues === true,
327
+ returnFullResponse: true,
328
+ ignoreHttpStatusErrors: true,
329
+ };
330
+ let decision;
331
+ try {
332
+ const response = (await this.helpers.httpRequestWithAuthentication.call(this, 'reeflexApi', options));
333
+ const body = _asDataObject(response.body);
334
+ if (typeof body.decision === 'string') {
335
+ decision = body;
336
+ }
337
+ else {
338
+ decision = _failClosed(`reeflex-core returned HTTP ${response.statusCode} without a decision` +
339
+ (typeof body.error === 'string' ? `: ${body.error}` : '') +
340
+ (typeof body.detail === 'string' ? ` (${body.detail})` : ''));
341
+ }
342
+ }
343
+ catch (error) {
344
+ decision = _failClosed(`reeflex-core unreachable: ${error instanceof Error ? error.message : String(error)}`);
345
+ }
346
+ const outputItem = {
347
+ json: { ...items[itemIndex].json, reeflex: { ...decision, envelope } },
348
+ pairedItem: { item: itemIndex },
349
+ };
350
+ if (decision.decision === 'allow') {
351
+ allowedItems.push(outputItem);
352
+ }
353
+ else if (decision.decision === 'require_approval') {
354
+ heldItems.push(outputItem);
355
+ }
356
+ else {
357
+ deniedItems.push(outputItem);
358
+ }
359
+ }
360
+ catch (error) {
361
+ if (this.continueOnFail()) {
362
+ deniedItems.push({
363
+ json: { ...items[itemIndex].json, error: error instanceof Error ? error.message : String(error) },
364
+ pairedItem: { item: itemIndex },
365
+ });
366
+ continue;
367
+ }
368
+ throw error;
369
+ }
370
+ }
371
+ return [allowedItems, heldItems, deniedItems];
372
+ }
373
+ }
374
+ exports.ReeflexGate = ReeflexGate;
375
+ //# sourceMappingURL=ReeflexGate.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReeflexGate.node.js","sourceRoot":"","sources":["../../../nodes/ReeflexGate/ReeflexGate.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ {
2
+ "node": "n8n-nodes-reeflex.reeflexGate",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "categories": ["Development", "Developer Tools"],
6
+ "resources": {
7
+ "credentialDocumentation": [
8
+ {
9
+ "url": "https://github.com/Reeflex-io/reeflex/tree/main/n8n-nodes-reeflex#credentials"
10
+ }
11
+ ],
12
+ "primaryDocumentation": [
13
+ {
14
+ "url": "https://github.com/Reeflex-io/reeflex/tree/main/n8n-nodes-reeflex#readme"
15
+ }
16
+ ]
17
+ }
18
+ }
@@ -0,0 +1,24 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
2
+ <defs>
3
+ <radialGradient id="bg" cx="50%" cy="38%" r="75%">
4
+ <stop offset="0%" stop-color="#141E3C"/>
5
+ <stop offset="58%" stop-color="#0B1020"/>
6
+ <stop offset="100%" stop-color="#070C18"/>
7
+ </radialGradient>
8
+ <linearGradient id="bar" x1="0%" y1="0%" x2="0%" y2="100%">
9
+ <stop offset="0%" stop-color="#EEF3FC"/>
10
+ <stop offset="55%" stop-color="#D3DDF1"/>
11
+ <stop offset="100%" stop-color="#B9C7E4"/>
12
+ </linearGradient>
13
+ <radialGradient id="dot" cx="36%" cy="30%" r="70%">
14
+ <stop offset="0%" stop-color="#F5B08D"/>
15
+ <stop offset="55%" stop-color="#E07A50"/>
16
+ <stop offset="100%" stop-color="#B2542F"/>
17
+ </radialGradient>
18
+ </defs>
19
+ <rect x="0" y="0" width="100" height="100" rx="18" fill="url(#bg)"/>
20
+ <circle cx="50" cy="50" r="30" fill="#E07A50" opacity="0.12"/>
21
+ <rect x="30" y="26" width="9" height="48" rx="4.5" fill="url(#bar)"/>
22
+ <rect x="61" y="26" width="9" height="48" rx="4.5" fill="url(#bar)"/>
23
+ <circle cx="50" cy="50" r="6" fill="url(#dot)"/>
24
+ </svg>
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "n8n-nodes-reeflex",
3
+ "version": "0.1.0",
4
+ "description": "n8n community node for Reeflex - deterministic governance for AI-agent actions. Calls reeflex-core POST /v1/decide and routes each item to Allowed, Held for Approval, or Denied.",
5
+ "license": "MIT",
6
+ "homepage": "https://reeflex.io",
7
+ "keywords": [
8
+ "n8n-community-node-package",
9
+ "reeflex",
10
+ "governance",
11
+ "ai-agents",
12
+ "guardrails",
13
+ "human-in-the-loop"
14
+ ],
15
+ "author": {
16
+ "name": "Reeflex",
17
+ "email": "hello@reeflex.io"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/Reeflex-io/reeflex.git",
22
+ "directory": "n8n-nodes-reeflex"
23
+ },
24
+ "bugs": {
25
+ "url": "https://github.com/Reeflex-io/reeflex/issues"
26
+ },
27
+ "scripts": {
28
+ "build": "n8n-node build",
29
+ "build:watch": "tsc --watch",
30
+ "dev": "n8n-node dev",
31
+ "lint": "n8n-node lint",
32
+ "lint:fix": "n8n-node lint --fix",
33
+ "test": "tsc -p tsconfig.test.json && node dist-test/test/reeflexGate.test.js",
34
+ "release": "n8n-node release",
35
+ "prepublishOnly": "n8n-node prerelease"
36
+ },
37
+ "files": [
38
+ "dist"
39
+ ],
40
+ "n8n": {
41
+ "n8nNodesApiVersion": 1,
42
+ "strict": true,
43
+ "credentials": [
44
+ "dist/credentials/ReeflexApi.credentials.js"
45
+ ],
46
+ "nodes": [
47
+ "dist/nodes/ReeflexGate/ReeflexGate.node.js"
48
+ ]
49
+ },
50
+ "devDependencies": {
51
+ "@n8n/node-cli": "^0.23.1",
52
+ "eslint": "^9.39.4",
53
+ "prettier": "^3.8.3",
54
+ "typescript": "^5.9.3"
55
+ },
56
+ "peerDependencies": {
57
+ "n8n-workflow": "*"
58
+ },
59
+ "engines": {
60
+ "node": ">=20.15"
61
+ }
62
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/@langchain/core/dist/agents.d.ts","../node_modules/@langchain/core/dist/load/map_keys.d.ts","../node_modules/@langchain/core/dist/load/serializable.d.ts","../node_modules/@langchain/core/dist/messages/content/base.d.ts","../node_modules/@langchain/core/dist/messages/content/tools.d.ts","../node_modules/@langchain/core/dist/messages/content/multimodal.d.ts","../node_modules/@langchain/core/dist/messages/content/data.d.ts","../node_modules/@langchain/core/dist/types/type-utils.d.ts","../node_modules/@langchain/core/dist/messages/content/index.d.ts","../node_modules/@langchain/core/dist/messages/format.d.ts","../node_modules/@langchain/core/dist/messages/metadata.d.ts","../node_modules/@langchain/core/dist/messages/tool.d.ts","../node_modules/@langchain/core/dist/messages/ai.d.ts","../node_modules/@langchain/core/dist/messages/chat.d.ts","../node_modules/@langchain/core/dist/messages/function.d.ts","../node_modules/@langchain/core/dist/messages/human.d.ts","../node_modules/@langchain/core/dist/messages/system.d.ts","../node_modules/@langchain/core/dist/messages/utils.d.ts","../node_modules/@langchain/core/dist/messages/message.d.ts","../node_modules/@langchain/core/dist/messages/base.d.ts","../node_modules/@langchain/core/dist/outputs.d.ts","../node_modules/@standard-schema/spec/dist/index.d.ts","../node_modules/@langchain/core/dist/utils/standard_schema.d.ts","../node_modules/@langchain/core/dist/utils/types/zod.d.ts","../node_modules/@langchain/core/dist/utils/types/index.d.ts","../node_modules/@langchain/core/dist/language_models/event.d.ts","../node_modules/@langchain/core/dist/documents/document.d.ts","../node_modules/@langchain/core/dist/callbacks/base.d.ts","../node_modules/@langchain/core/dist/callbacks/manager.d.ts","../node_modules/@langchain/core/callbacks/manager.d.ts","../node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../node_modules/zod/dist/types/v3/helpers/util.d.ts","../node_modules/zod/dist/types/v3/zoderror.d.ts","../node_modules/zod/dist/types/v3/locales/en.d.ts","../node_modules/zod/dist/types/v3/errors.d.ts","../node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../node_modules/zod/dist/types/v3/standard-schema.d.ts","../node_modules/zod/dist/types/v3/types.d.ts","../node_modules/zod/dist/types/v3/external.d.ts","../node_modules/zod/dist/types/v3/index.d.ts","../node_modules/zod/dist/types/index.d.ts","../node_modules/@n8n/config/dist/configs/ai-assistant.config.d.ts","../node_modules/@n8n/config/dist/configs/ai-builder.config.d.ts","../node_modules/@n8n/config/dist/configs/ai.config.d.ts","../node_modules/@n8n/config/dist/configs/auth.config.d.ts","../node_modules/@n8n/config/dist/configs/cache.config.d.ts","../node_modules/@n8n/config/dist/configs/chat-hub.config.d.ts","../node_modules/@n8n/config/dist/custom-types.d.ts","../node_modules/@n8n/config/dist/configs/credentials.config.d.ts","../node_modules/@n8n/config/dist/configs/data-table.config.d.ts","../node_modules/@n8n/config/dist/configs/database.config.d.ts","../node_modules/@n8n/config/dist/configs/deployment.config.d.ts","../node_modules/@n8n/config/dist/configs/diagnostics.config.d.ts","../node_modules/@n8n/config/dist/configs/dynamic-banners.config.d.ts","../node_modules/@n8n/config/dist/configs/endpoints.config.d.ts","../node_modules/@n8n/config/dist/configs/event-bus.config.d.ts","../node_modules/@n8n/config/dist/configs/executions.config.d.ts","../node_modules/@n8n/config/dist/configs/external-hooks.config.d.ts","../node_modules/@n8n/config/dist/configs/generic.config.d.ts","../node_modules/@n8n/config/dist/configs/hiring-banner.config.d.ts","../node_modules/@n8n/config/dist/configs/license.config.d.ts","../node_modules/@n8n/config/dist/configs/logging.config.d.ts","../node_modules/@n8n/config/dist/configs/mfa.config.d.ts","../node_modules/@n8n/config/dist/configs/multi-main-setup.config.d.ts","../node_modules/@n8n/config/dist/configs/nodes.config.d.ts","../node_modules/@n8n/config/dist/configs/personalization.config.d.ts","../node_modules/@n8n/config/dist/configs/public-api.config.d.ts","../node_modules/@n8n/config/dist/configs/redis.config.d.ts","../node_modules/@n8n/config/dist/configs/runners.config.d.ts","../node_modules/@n8n/config/dist/configs/scaling-mode.config.d.ts","../node_modules/@n8n/config/dist/configs/security.config.d.ts","../node_modules/@n8n/config/dist/configs/sentry.config.d.ts","../node_modules/@n8n/config/dist/configs/sso.config.d.ts","../node_modules/@n8n/config/dist/configs/ssrf-protection.config.d.ts","../node_modules/@n8n/config/dist/configs/tags.config.d.ts","../node_modules/@n8n/config/dist/configs/templates.config.d.ts","../node_modules/@n8n/config/dist/configs/user-management.config.d.ts","../node_modules/@n8n/config/dist/configs/version-notifications.config.d.ts","../node_modules/@n8n/config/dist/configs/workflow-history-compaction.config.d.ts","../node_modules/@n8n/config/dist/configs/workflow-history.config.d.ts","../node_modules/@n8n/config/dist/configs/workflows.config.d.ts","../node_modules/reflect-metadata/index.d.ts","../node_modules/@n8n/config/dist/decorators.d.ts","../node_modules/@n8n/config/dist/configs/instance-settings-config.d.ts","../node_modules/@n8n/config/dist/index.d.ts","../node_modules/axios/index.d.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.generated.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/n8n-workflow/node_modules/form-data/index.d.ts","../node_modules/n8n-workflow/dist/esm/constants.d.ts","../node_modules/n8n-workflow/dist/esm/data-table.types.d.ts","../node_modules/n8n-workflow/dist/esm/deferred-promise.d.ts","../node_modules/@n8n/errors/dist/types.d.ts","../node_modules/@n8n/errors/dist/application.error.d.ts","../node_modules/@n8n/errors/dist/index.d.ts","../node_modules/n8n-workflow/dist/esm/errors/base/base.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/base/operational.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/base/unexpected.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/base/user.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/abstract/execution-base.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/expression.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/execution-cancelled.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/abstract/node.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/node-api.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/node-operation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/workflow-configuration.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/node-ssl.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/workflow-activation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/webhook-taken.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/workflow-deactivation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/workflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/subworkflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/cli-subworkflow-operation.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/trigger-close.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/expression-extension.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/expression-destructuring.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/expression-computed-destructuring.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/expression-class-extension.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/expression-reserved-variable.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/expression-with-statement.error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/db-connection-timeout-error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/ensure-error.d.ts","../node_modules/n8n-workflow/dist/esm/errors/index.d.ts","../node_modules/zod/dist/types/v4/core/standard-schema.d.ts","../node_modules/zod/dist/types/v4/core/util.d.ts","../node_modules/zod/dist/types/v4/core/versions.d.ts","../node_modules/zod/dist/types/v4/core/schemas.d.ts","../node_modules/zod/dist/types/v4/core/checks.d.ts","../node_modules/zod/dist/types/v4/core/errors.d.ts","../node_modules/zod/dist/types/v4/core/core.d.ts","../node_modules/zod/dist/types/v4/core/parse.d.ts","../node_modules/zod/dist/types/v4/core/regexes.d.ts","../node_modules/zod/dist/types/v4/locales/ar.d.ts","../node_modules/zod/dist/types/v4/locales/az.d.ts","../node_modules/zod/dist/types/v4/locales/be.d.ts","../node_modules/zod/dist/types/v4/locales/ca.d.ts","../node_modules/zod/dist/types/v4/locales/cs.d.ts","../node_modules/zod/dist/types/v4/locales/de.d.ts","../node_modules/zod/dist/types/v4/locales/en.d.ts","../node_modules/zod/dist/types/v4/locales/es.d.ts","../node_modules/zod/dist/types/v4/locales/fa.d.ts","../node_modules/zod/dist/types/v4/locales/fi.d.ts","../node_modules/zod/dist/types/v4/locales/fr.d.ts","../node_modules/zod/dist/types/v4/locales/fr-ca.d.ts","../node_modules/zod/dist/types/v4/locales/he.d.ts","../node_modules/zod/dist/types/v4/locales/hu.d.ts","../node_modules/zod/dist/types/v4/locales/id.d.ts","../node_modules/zod/dist/types/v4/locales/it.d.ts","../node_modules/zod/dist/types/v4/locales/ja.d.ts","../node_modules/zod/dist/types/v4/locales/kh.d.ts","../node_modules/zod/dist/types/v4/locales/ko.d.ts","../node_modules/zod/dist/types/v4/locales/mk.d.ts","../node_modules/zod/dist/types/v4/locales/ms.d.ts","../node_modules/zod/dist/types/v4/locales/nl.d.ts","../node_modules/zod/dist/types/v4/locales/no.d.ts","../node_modules/zod/dist/types/v4/locales/ota.d.ts","../node_modules/zod/dist/types/v4/locales/ps.d.ts","../node_modules/zod/dist/types/v4/locales/pl.d.ts","../node_modules/zod/dist/types/v4/locales/pt.d.ts","../node_modules/zod/dist/types/v4/locales/ru.d.ts","../node_modules/zod/dist/types/v4/locales/sl.d.ts","../node_modules/zod/dist/types/v4/locales/sv.d.ts","../node_modules/zod/dist/types/v4/locales/ta.d.ts","../node_modules/zod/dist/types/v4/locales/th.d.ts","../node_modules/zod/dist/types/v4/locales/tr.d.ts","../node_modules/zod/dist/types/v4/locales/ua.d.ts","../node_modules/zod/dist/types/v4/locales/ur.d.ts","../node_modules/zod/dist/types/v4/locales/vi.d.ts","../node_modules/zod/dist/types/v4/locales/zh-cn.d.ts","../node_modules/zod/dist/types/v4/locales/zh-tw.d.ts","../node_modules/zod/dist/types/v4/locales/index.d.ts","../node_modules/zod/dist/types/v4/core/registries.d.ts","../node_modules/zod/dist/types/v4/core/doc.d.ts","../node_modules/zod/dist/types/v4/core/function.d.ts","../node_modules/zod/dist/types/v4/core/api.d.ts","../node_modules/zod/dist/types/v4/core/json-schema.d.ts","../node_modules/zod/dist/types/v4/core/to-json-schema.d.ts","../node_modules/zod/dist/types/v4/core/index.d.ts","../node_modules/zod/v4/core/index.d.ts","../node_modules/zod/dist/types/v4/classic/errors.d.ts","../node_modules/zod/dist/types/v4/classic/parse.d.ts","../node_modules/zod/dist/types/v4/classic/schemas.d.ts","../node_modules/zod/dist/types/v4/classic/checks.d.ts","../node_modules/zod/dist/types/v4/classic/compat.d.ts","../node_modules/zod/dist/types/v4/classic/iso.d.ts","../node_modules/zod/dist/types/v4/classic/coerce.d.ts","../node_modules/zod/dist/types/v4/classic/external.d.ts","../node_modules/zod/dist/types/v4/classic/index.d.ts","../node_modules/zod/dist/types/v4/index.d.ts","../node_modules/zod/v4/index.d.ts","../node_modules/n8n-workflow/dist/esm/execution-context.d.ts","../node_modules/n8n-workflow/dist/esm/execution-status.d.ts","../node_modules/n8n-workflow/dist/esm/result.d.ts","../node_modules/n8n-workflow/dist/esm/run-execution-data/run-execution-data.v0.d.ts","../node_modules/n8n-workflow/dist/esm/run-execution-data/run-execution-data.v1.d.ts","../node_modules/n8n-workflow/dist/esm/run-execution-data/run-execution-data.d.ts","../node_modules/n8n-workflow/dist/esm/workflow-expression.d.ts","../node_modules/n8n-workflow/dist/esm/workflow.d.ts","../node_modules/n8n-workflow/dist/esm/workflow-data-proxy-env-provider.d.ts","../node_modules/n8n-workflow/dist/esm/interfaces.d.ts","../node_modules/n8n-workflow/dist/esm/logger-proxy.d.ts","../node_modules/n8n-workflow/dist/esm/node-helpers.d.ts","../node_modules/n8n-workflow/dist/esm/observable-object.d.ts","../node_modules/n8n-workflow/dist/esm/telemetry-helpers.d.ts","../node_modules/n8n-workflow/dist/esm/common/get-child-nodes.d.ts","../node_modules/n8n-workflow/dist/esm/common/get-connected-nodes.d.ts","../node_modules/n8n-workflow/dist/esm/common/get-node-by-name.d.ts","../node_modules/n8n-workflow/dist/esm/common/get-parent-nodes.d.ts","../node_modules/n8n-workflow/dist/esm/common/map-connections-by-destination.d.ts","../node_modules/n8n-workflow/dist/esm/common/index.d.ts","../node_modules/n8n-workflow/dist/esm/cron.d.ts","../node_modules/n8n-workflow/dist/esm/execution-context-establishment-hooks.d.ts","../node_modules/n8n-workflow/dist/esm/global-state.d.ts","../node_modules/n8n-workflow/dist/esm/run-execution-data-factory.d.ts","../node_modules/n8n-workflow/dist/esm/message-event-bus.d.ts","../node_modules/n8n-workflow/dist/esm/expression.d.ts","../node_modules/n8n-workflow/dist/esm/expressions/expression-helpers.d.ts","../node_modules/n8n-workflow/dist/esm/from-ai-parse-utils.d.ts","../node_modules/n8n-workflow/dist/esm/node-validation.d.ts","../node_modules/n8n-workflow/dist/esm/tool-helpers.d.ts","../node_modules/n8n-workflow/dist/esm/node-reference-parser-utils.d.ts","../node_modules/n8n-workflow/dist/esm/metadata-utils.d.ts","../node_modules/n8n-workflow/dist/esm/highlighted-data.d.ts","../node_modules/n8n-workflow/dist/esm/workflow-checksum.d.ts","../node_modules/n8n-workflow/dist/esm/workflow-data-proxy.d.ts","../node_modules/n8n-workflow/dist/esm/workflow-validation.d.ts","../node_modules/n8n-workflow/dist/esm/versioned-node-type.d.ts","../node_modules/n8n-workflow/dist/esm/type-validation.d.ts","../node_modules/n8n-workflow/dist/esm/schemas.d.ts","../node_modules/n8n-workflow/dist/esm/utils.d.ts","../node_modules/n8n-workflow/dist/esm/type-guards.d.ts","../node_modules/n8n-workflow/dist/esm/graph/graph-utils.d.ts","../node_modules/n8n-workflow/dist/esm/extensions/extensions.d.ts","../node_modules/n8n-workflow/dist/esm/extensions/expression-extension.d.ts","../node_modules/n8n-workflow/dist/esm/extensions/index.d.ts","../node_modules/n8n-workflow/dist/esm/extensions/expression-parser.d.ts","../node_modules/n8n-workflow/dist/esm/native-methods/index.d.ts","../node_modules/n8n-workflow/dist/esm/node-parameters/filter-parameter.d.ts","../node_modules/n8n-workflow/dist/esm/node-parameters/parameter-type-validation.d.ts","../node_modules/n8n-workflow/dist/esm/node-parameters/node-parameter-value-type-guard.d.ts","../node_modules/n8n-workflow/dist/esm/node-parameters/path-utils.d.ts","../node_modules/n8n-workflow/dist/esm/evaluation-helpers.d.ts","../node_modules/n8n-workflow/dist/esm/connections-diff.d.ts","../node_modules/n8n-workflow/dist/esm/workflow-diff.d.ts","../node_modules/n8n-workflow/dist/esm/workflow-environments-helper.d.ts","../node_modules/n8n-workflow/dist/esm/index.d.ts","../credentials/reeflexapi.credentials.ts","../nodes/reeflexgate/reeflexgate.node.ts","../nodes/reeflexgate/reeflexgate.node.json","../package.json","../node_modules/@types/ms/index.d.ts","../node_modules/@types/debug/index.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/form-data/index.d.ts","../node_modules/@types/node-fetch/externals.d.ts","../node_modules/@types/node-fetch/index.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/tough-cookie/index.d.ts","../node_modules/@types/uuid/index.d.ts"],"fileIdsList":[[142,183,388],[76,142,183],[142,183],[48,49,50,67,68,72,73,74,142,183],[48,50,67,68,72,73,74,75,142,183],[56,58,142,183],[49,142,183],[56,59,66,67,142,183],[50,56,57,66,142,183],[66,67,142,183],[51,142,183],[51,52,53,54,55,142,183],[56,58,65,142,183],[66,142,183],[59,60,61,62,63,64,66,67,142,183],[67,142,183],[69,142,183],[71,142,183],[70,142,183],[91,142,183],[98,142,183],[91,98,142,183],[91,132,142,183],[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,133,134,142,183],[142,183,235],[142,183,235,236],[142,183,393],[142,183,197,223,230,388,397,398],[142,180,183],[142,182,183],[183],[142,183,188,215],[142,183,184,194,202,212,223],[142,183,184,185,194,202],[137,138,139,142,183],[142,183,186,224],[142,183,187,188,195,203],[142,183,188,212,220],[142,183,189,191,194,202],[142,182,183,190],[142,183,191,192],[142,183,193,194],[142,182,183,194],[142,183,194,195,196,212,223],[142,183,194,195,196,209,212,215],[142,183,191,194,197,202,212,223,388],[142,183,194,195,197,198,202,212,220,223],[142,183,197,199,212,220,223],[140,141,142,143,144,145,146,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229],[142,183,194,200],[142,183,201,223,228],[142,183,191,194,202,212],[142,183,203],[142,183,204],[142,182,183,205],[142,183,206,222,228],[142,183,207],[142,183,208],[142,183,194,209,210],[142,183,209,211,224,226],[142,183,194,212,213,215],[142,183,214,215],[142,183,212,213],[142,183,215],[142,183,216],[142,183,212,217],[142,183,194,218,219],[142,183,218,219],[142,183,188,202,212,220],[142,183,221],[142,183,202,222],[142,183,197,208,223],[142,183,188,224],[142,183,212,225],[142,183,201,226],[142,183,227],[142,178,183],[142,178,183,194,196,205,212,215,223,226,228],[142,183,212,229],[142,183,401,439],[142,183,401,424,439],[142,183,400,439],[142,183,439],[142,183,401],[142,183,401,425,439],[142,183,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438],[142,183,425,439],[142,183,197,212,230,388],[142,183,342],[142,183,347,348,349,350,351],[142,183,237,342],[142,183,242,342],[142,183,237],[142,183,238],[142,183,254],[142,183,242],[142,183,243],[142,183,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264],[142,183,237,245,342],[142,183,245,246,342],[142,183,253],[142,183,250],[142,183,237,242,342],[142,183,247],[142,183,332],[142,183,375],[142,183,375,376],[91,142,183,342],[142,183,197,232,233,234,265,333,334,335,338,339,340,341,342,343,344,345,346,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,377,378,379,380,381,382,383,384,386,387],[77,135,136,142,183,195,197,212,220,223,231,232,233,234,243,246,247,250,253,265,333,334,335,338,340,341,388],[142,183,338,340,342],[142,183,333,337,338,342],[142,183,336,337],[142,183,336,388],[142,183,338,340,341,342],[142,183,385,388],[142,183,339,342],[142,155,159,183,223],[142,155,183,212,223],[142,150,183],[142,152,155,183,220,223],[142,183,202,220],[142,183,230],[142,150,183,230],[142,152,155,183,202,223],[142,147,148,151,154,183,194,212,223],[142,147,153,183],[142,151,155,183,215,223,230],[142,171,183,230],[142,149,150,183,230],[142,155,183],[142,149,150,151,152,153,154,155,156,157,159,160,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,177,183],[142,155,162,163,183],[142,153,155,163,164,183],[142,154,183],[142,147,150,155,183],[142,155,159,163,164,183],[142,159,183],[142,153,155,158,183,223],[142,147,152,153,155,159,162,183],[142,183,212],[142,150,155,171,183,228,230],[90,142,183],[80,81,142,183],[78,79,80,82,83,88,142,183],[79,80,142,183],[88,142,183],[89,142,183],[80,142,183],[78,79,80,83,84,85,86,87,142,183],[78,79,90,142,183],[142,183,321],[142,183,321,324],[142,183,313,321,322,323,324,325,326,327,328],[142,183,329],[142,183,321,322],[142,183,321,323],[142,183,267,269,270,271,272],[142,183,267,269,271,272],[142,183,267,269,271],[142,183,267,269,270,272],[142,183,267,269,272],[142,183,267,268,269,270,271,272,273,274,313,314,315,316,317,318,319],[142,183,269,272],[142,183,266,267,268,270,271,272],[142,183,269,314,318],[142,183,269,270,271,272],[142,183,330],[142,183,271],[142,183,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312],[142,183,320],[142,183,331]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d8b5a7dc4507123a555a6d6b1ca10f92f5f3be0200e4f299e5a0de1732e631b","impliedFormat":99},{"version":"e4ba2f64f3666a1e69ad76d17567bc60b3c022dbbef994c88cdd4f93245ca29f","impliedFormat":99},{"version":"24aabbef4113027e66b5cee4eafb5e9968bffc3d2a8dc70ee0cac34f9c2ed1a2","impliedFormat":99},{"version":"a50524f38f763dd1db60f7aa695fb84c89cefeec878b4126e582e829137e9bfd","impliedFormat":99},{"version":"c1472990f11b1b40b228805e9ea530a9383d76db30fa4736ab4f8d79ea7c06ae","impliedFormat":99},{"version":"27c7522f700ec494d66247d4f40f8abfc258b192cf3213bad2d9be1a06ddc5c1","impliedFormat":99},{"version":"b13768120c9858ef929dc76318210c1424bc7fd941760d09a66c4d8b00248025","impliedFormat":99},{"version":"44ded5e2f467babe7e775848bf5f42cfc8d8d7abf414ad23cc260615554be68e","impliedFormat":99},{"version":"abec74650dd1d319c1679100eeeccdc7793ca586632a35afe517ec38e76691a4","impliedFormat":99},{"version":"25f7b7a2c9634e131a890cea288b1b9df305ad3b1ec8e459e4f813c275d2faa7","impliedFormat":99},{"version":"70ad050f39855f92fb0fffba8317b9e5609fd59c9475af749894f68a3f93f4d3","impliedFormat":99},{"version":"79f4ff913fd613e3100d0e8456bae487b0a23a52ac6932d2ba4e019041b8b93a","impliedFormat":99},{"version":"d3d646cedc0626118d2715f6fb2f0d4416dd1d529df41f4ecb13c7c6a0adc984","impliedFormat":99},{"version":"3f8e780ae8edb60d5ecdbbf899c193bfb122be16e259597f4348e489cd9d7034","impliedFormat":99},{"version":"b216246ebb1c95751142591226ae88695ea2e27662e696a6cadfd17667cd35e3","impliedFormat":99},{"version":"941a489d1b658f6638ea13ee5f300c1e4e4d15759c9ed1752f3b0b7a06d65c24","impliedFormat":99},{"version":"c76d061d933a60290edcb5009c46a5b7e076431947e7e2f3689f0ec950d96b09","impliedFormat":99},{"version":"cb69cf38c672bffe6abd1786346604618512fa75c882197f327cc4316c35a36c","impliedFormat":99},{"version":"41960290a6756f47c2571b109e306cb722cc33ec30034869d3716d145a044940","impliedFormat":99},{"version":"eb15bfd2d4cd56ddb13be4d329a87f563c65af8c8c7cedbd23698cdca592ef84","impliedFormat":99},{"version":"09d11f4012e9d8f899a51ff01ef0ec716e588d5cde9a1dbcd22e878d693cd987","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"e0b4c1dc982abe1ee87259f2d7802da0cc78d3b230ffeb63003417ae9c282a01","impliedFormat":99},{"version":"9850454a975011a654b037d8ff927379fef0f108e1b50667acc9ed308c2d5f14","impliedFormat":99},{"version":"9a5813195fa6b6538dc4a0ac45a2a389a3b2e0485e11bf2925d136acf06de1c0","impliedFormat":99},{"version":"ad40e4f79dfbc4bf0db68f803b113cf81827ed33ac7322ea76bd560c346aac09","impliedFormat":99},{"version":"2f86a4ba6ae2ee9e58edddc64007c18b1da20a12bbc68748963b8fba3d41d66e","impliedFormat":99},{"version":"dfe0e7b018e69e657774f5331698eee575cba0cc6006cd4f2ac6ca28efbaf561","impliedFormat":99},{"version":"59dd1d605664bce977ca5fcd7617f5c53a7d660c6f527607ebe6ef17220a650e","impliedFormat":99},{"version":"5c90d5c292795bad7197f83cb2bc9511b808b8c1e4aa0972e4bc156be52d5a9a","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},{"version":"4ead882dc5cd138392f1528548e336fe4016d55963c0007d58cf0a11b6426451","impliedFormat":1},{"version":"fc453dd7fad3bea88be3cd01a6225faa695eb96dce475933e31a0beb373811ba","impliedFormat":1},{"version":"08533e4de19eaac997e1389214e430e4497dd113eb3e5a8bea5dfd7b0a2c1960","impliedFormat":1},{"version":"988d0618d1f89b552e7c34ecd95dc3fcd38c0e60993c8f2a1122e8b7854a7446","impliedFormat":1},{"version":"917ed950531ab45f9c6db2a9d566947bf6eb01fa3fd3c3853bd24aba1b6cea0c","impliedFormat":1},{"version":"511f64121fab52d61355e29d41eeb4be4813fc116527edaeaa5dcedbd57fba6f","impliedFormat":1},{"version":"67dd268e9fdfe0818b48af68775114da4cce4ef76150e7f8cc88f0d4b755e24e","impliedFormat":1},{"version":"2d3de4ef449677e3f4f13b0ef29e5796e69b87442d2bbc853abb7fd6f104517b","impliedFormat":1},{"version":"fc3c3e4a032b631caf68883d44cc39670d3b2ba8e59317c4c4a0c389afd8de3c","impliedFormat":1},{"version":"13b0d2a63f6d311c2c7d3ffb9eefd765f410311afff8a69cdec820e58711b5f1","impliedFormat":1},{"version":"a44a23f125382b9bf5c31445ff52bea4fffdb8cf11b6917da39d97fd0129b46c","impliedFormat":1},{"version":"d91445c08f803e63a8fc0f30c657b32d728429b5233fe5b7511973f46ec2962d","impliedFormat":1},{"version":"a862c101131fd482e76ab7a0bca1cbfa430603627008a543952836e8addad0e1","impliedFormat":1},{"version":"f9650313ad4b2e583befc36b3d52019e223b7e11190d87724c0a93fa0a467ad5","impliedFormat":1},{"version":"1800b51655001e09585d99a33b9dc0801f8e51000ec7026f9b5dbe147812c7ec","impliedFormat":1},{"version":"bc8e3f4ca82f4adf1931e76a414801db4e8171e020e0a2a846fbda1fb9ea5253","impliedFormat":1},{"version":"42e423bf6cad6b5b0b4d4b5f43c7fa100a1dcf079448408846cf8b86f1aa5e62","impliedFormat":1},{"version":"e9e98a760622f359fd182df4c77ff7af281091cd100b7ce9e2388a3e92549963","impliedFormat":1},{"version":"1f7eb0ce564dccafc9239aefa998b487d756831b6bbb212a50f82f2d2f735eef","impliedFormat":1},{"version":"8ffc761c656b8e627c5c480e30ee55c826842dcb1bdcf7f68ca6e8b3c8618995","impliedFormat":1},{"version":"1cd53b8452ce7bbf69f07043f5e5f1528268cb9ca8bcfdeaa6f29b5c891c82ab","impliedFormat":1},{"version":"b48aafcf778b4637ba9a71225fe75de89f9aca45a8d43996fadde47ad557a271","impliedFormat":1},{"version":"1842c827a75b16f45998a0ca99e55be5a06c6713e1e2ad98bef6ee29724c9175","impliedFormat":1},{"version":"b96a537fa2f5a63a8941810b5d8c9d2511f7a051304ca0f1835de023a5f367d4","impliedFormat":1},{"version":"46d670727b4fc0b69c3de308202bf48288b795d76aba24e7711144c45ce9aa99","impliedFormat":1},{"version":"14e289625e73583bf965ef7fd0586a032036405431dead4e486bdc2700d8b544","impliedFormat":1},{"version":"9da2e2a7f4ecdfc80b6612af8b562b71568ea3b698c77202784a83d0f056eb39","impliedFormat":1},{"version":"81545318347f18d36d90dded14e6df05e4776e455074a5df8c2017259fc37d26","impliedFormat":1},{"version":"43ff12daa8050d1042b25d90b4a745598cfff13ea65ac882d335396c358c3ed1","impliedFormat":1},{"version":"7fd92d04ea3634f4a67429c985ec05f49e8778fe333c6457fc3a5167383ab22d","impliedFormat":1},{"version":"daae7cc072584786827de76fd60088a51aa29af13535987f4a5294c880cd4908","impliedFormat":1},{"version":"407787e83aeb3f79bff354fb137f11eaa5060d68a50e18d19b116c75d3e27b5e","impliedFormat":1},{"version":"5edaec1b274db97b0a8950f56cd138a3faf1140552095417099ba9b6f1a7c012","impliedFormat":1},{"version":"8d82346f7c5fd9286a60aaf382b79fc1beca26264be0b32ba0e8aa73e78e85a0","impliedFormat":1},{"version":"8a7ae9d139bc88468f61f3de9a36c3a39f28b429d96daaac73f2f1bb8d3859bd","impliedFormat":1},{"version":"60eabd6083ba4e62e58998bcb10c799ec94f5139647ccc379af83dbedef2fd23","impliedFormat":1},{"version":"89e9d6bc5c1ba683191b42d3700fe46bc07056f31573ef0916d812fde383d920","impliedFormat":1},{"version":"917eea060206a9b7a601ff18b2b149f781085f7512fb09be4beb26bf64d1e398","impliedFormat":1},{"version":"9626e45205e42c8ab6ed96c1d5bd60e2822828024ac0471ef9647c361385113c","impliedFormat":1},{"version":"f23048f76c1bab92bc9c88fd66684e90344007f18d217d96bc06ba2d62acd34a","impliedFormat":1},{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true,"impliedFormat":1},{"version":"175182dca1d0794e4d87a1b465c4430f3c4892387620e95a288ee3191be20d85","impliedFormat":1},{"version":"7fbe6644c2502842b73316c808e07891e212e6a0bea75adba7d3461e935ee80e","impliedFormat":1},{"version":"56584d1ea00951bcca7256030950a75974ac34264d0c4076ac66f7e781b269a4","impliedFormat":1},{"version":"1f983a93b86bf82ef3cc0ead060c5e3d28fd905864d3441337706ea5ef77a990","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cb3140d0e9cee0aea7264fd6a1d297394052a18eb05ca0220d133e6c043fb5","affectsGlobalScope":true,"impliedFormat":1},{"version":"362d474eb9feae178a83ead94d757c21e42d6d7090e4182f0c12e92830a3d25e","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc27badd4bf4a2b0024a0cd32a9bbf0be7073902c5177a58be14242e7d8bf2c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"b972357e61ef2e072f8a88b9f4f5a70984c417237e6106f6b2390414a09ce523","affectsGlobalScope":true,"impliedFormat":1},{"version":"076cac5898bd833255def0f7c5717b83534212873505c9c958f1926d49f9bec6","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"75eb536b960b85f75e21490beeab53ea616646a995ad203e1af532d67a774fb6","impliedFormat":1},{"version":"36d0976d3dad74078f707af107b5082dbe42ffcadb3442ff140c36c8a33b4887","affectsGlobalScope":true,"impliedFormat":1},{"version":"86e0d632e9ef88593e8724ffb6af05104e13a08f9d8df733a30f9991ac387fff","impliedFormat":1},{"version":"7646ad748a9ca15bf43d4c88f83cc851c67f8ec9c1186295605b59ba6bb36dcb","impliedFormat":1},{"version":"cef8931bc129687165253f0642427c2a72705a4613b3ac461b9fa78c7cdaef32","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"47b62c294beb69daa5879f052e416b02e6518f3e4541ae98adbfb27805dd6711","impliedFormat":1},{"version":"f8375506002c556ec412c7e2a5a9ece401079ee5d9eb2c1372e9f5377fac56c7","impliedFormat":1},{"version":"8edd6482bd72eca772f9df15d05c838dd688cdbd4d62690891fca6578cfda6fe","impliedFormat":1},{"version":"07ba29a1a495b710aea48a4cf19ae12b3cbda2a8e9ac62192af477027a99e8de","impliedFormat":1},{"version":"6dead64c944504250dd2fc9095231f36887cfc1534f1ff57737c19f92d165c91","impliedFormat":1},{"version":"b9a4824bb83f25d6d227394db2ed99985308cf2a3a35f0d6d39aa72b15473982","impliedFormat":1},{"version":"6e9948b1e396106601365283680c319a9103c71a5725e7d03e26fe246df60c4c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e8e284b3832911aeede987e4d74cf0a00f2b03896b2fd3bf924344cc0f96b3c","impliedFormat":1},{"version":"37d37474a969ab1b91fc332eb6a375885dfd25279624dfa84dea48c9aedf4472","impliedFormat":1},{"version":"1ddd8c1a3ae1f8ab28affd53b13910be4afe0b35f28517b7f14c268e9e42647a","impliedFormat":1},{"version":"f1a79b6047d006548185e55478837dfbcdd234d6fe51532783f5dffd401cfb2b","impliedFormat":1},{"version":"cbc91187014fb1e738ef252751a9f84abf2989ec1c3b1637ec23b5b39cdf3d25","impliedFormat":1},{"version":"e822320b448edce0c7ede9cbeada034c72e1f1c8c8281974817030564c63dcb1","impliedFormat":1},{"version":"9d65568cba17c9db40251023406668695ad698ea4a34542364af3e78edd37811","affectsGlobalScope":true,"impliedFormat":1},{"version":"f23e3d484de54d235bf702072100b541553a1df2550bad691fe84995e15cf7be","impliedFormat":1},{"version":"821c79b046e40d54a447bebd9307e70b86399a89980a87bbc98114411169e274","impliedFormat":1},{"version":"17bc38afc78d40b2f54af216c0cc31a4bd0c6897a5945fa39945dfc43260be2c","impliedFormat":1},{"version":"d201b44ff390c220a94fb0ff6a534fe9fa15b44f8a86d0470009cdde3a3e62ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"d44445141f204d5672c502a39c1124bcf1df225eba05df0d2957f79122be87b5","affectsGlobalScope":true,"impliedFormat":1},{"version":"de905bc5f7e7a81cb420e212b95ab5e3ab840f93e0cfa8ce879f6e7fa465d4a2","impliedFormat":1},{"version":"bc2ff43214898bc6d53cab92fb41b5309efec9cbb59a0650525980aee994de2b","impliedFormat":1},{"version":"bede3143eeddca3b8ec3592b09d7eb02042f9e195251040c5146eac09b173236","impliedFormat":1},{"version":"64a40cf4ec8a7a29db2b4bc35f042e5be8537c4be316e5221f40f30ca8ed7051","impliedFormat":1},{"version":"294c082d609e6523520290db4f1d54114ebc83643fb42abd965be5bcc5d9416b","impliedFormat":1},{"version":"cf7d740e39bd8adbdc7840ee91bef0af489052f6467edfcefb7197921757ec3b","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"b9f0681c4d2cb00a5cfe08a7be9662627b912de562926819ebddfe2ef6a9b5ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"b85151402164ab7cb665e58df5c1a29aa25ea4ed3a367f84a15589e7d7a9c8ca","impliedFormat":1},{"version":"89eb8abe2b5c146fbb8f3bf72f4e91de3541f2fb559ad5fed4ad5bf223a3dedb","impliedFormat":1},{"version":"bc6cb10764a82f3025c0f4822b8ad711c16d1a5c75789be2d188d553b69b2d48","affectsGlobalScope":true,"impliedFormat":1},{"version":"41d510caf7ed692923cb6ef5932dc9cf1ed0f57de8eb518c5bab8358a21af674","impliedFormat":1},{"version":"2751c5a6b9054b61c9b03b3770b2d39b1327564672b63e3485ac03ffeb28b4f6","impliedFormat":1},{"version":"dc058956a93388aab38307b7b3b9b6379e1021e73a244aab6ac9427dc3a252a7","impliedFormat":1},{"version":"f33302cf240672359992c356f2005d395b559e176196d03f31a28cc7b01e69bc","impliedFormat":1},{"version":"3ce25041ff6ae06c08fcaccd5fcd9baf4ca6e80e6cb5a922773a1985672e74c2","affectsGlobalScope":true,"impliedFormat":1},{"version":"652c0de14329a834ff06af6ad44670fac35849654a464fd9ae36edb92a362c12","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b1e178016d3fc554505ae087c249b205b1c50624d482c542be9d4682bab81fc","impliedFormat":1},{"version":"5db7c5bb02ef47aaaec6d262d50c4e9355c80937d649365c343fa5e84569621d","impliedFormat":1},{"version":"cf45d0510b661f1da461479851ff902f188edb111777c37055eff12fa986a23a","impliedFormat":1},{"version":"6831f13f06a15391dfeb2477d48ac58311ab675f85846a05499ee92d6e856933","affectsGlobalScope":true,"impliedFormat":1},{"version":"37bef1064b7d015aeaa7c0716fe23a0b3844abe2c0a3df7144153ca8445fe0da","impliedFormat":1},{"version":"83178a1174286d5f5178c5c75067e36c41b975c26be7b86d99cb18393eb30a41","impliedFormat":1},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"72557ced222a6b2fa124910ce3ed1d6b8caea4cc1892eda2313ed50e0f1d95bf","impliedFormat":1},{"version":"cf05b854a840e9094fd336fcf1f6458e2c1d0f51f3af682aad5acba1fd7ed807","impliedFormat":1},{"version":"a0981ee0c7ac06bdb575558bd09bac190e1c0c7888ddcb63d8bf648f23a30e8c","impliedFormat":1},{"version":"00f11c3ec667314eaa2adfe253b5ebebbbdbb82510e04460c2f09d1c3b521d31","impliedFormat":1},{"version":"5c7a516e25a2fd1dc5e054c6161fe3c8ba46364f3784ef98f3fca48ab685231c","impliedFormat":1},{"version":"3ff739b7f819cfc12b330f9adcc4c3abbbd5e9f9ca68f53243222a049a8361a2","impliedFormat":1},{"version":"d762b92c1af47b7b3c4eef92fe9a3806194d9edc5dae6901342fc87ef21d7f4a","impliedFormat":1},{"version":"41d14b690d8d8c2a9b7395e8c36de6ca981010736723216ab9f35eb598e09ad9","impliedFormat":1},{"version":"3fdcca6b893ffd38b61b792772f649c82ae28077c360802cec25360eabca24c0","impliedFormat":1},{"version":"299924f7545be254b02278e4dcff7038611f2325d30f0e5ae4bcac906847c164","impliedFormat":1},{"version":"be1d650f04c9f472f0ad0ead3e1b7059dd1e0ff918f7bcb707786d27c3bbeadd","impliedFormat":1},{"version":"1e16c1b1c4d8600a146b15a933f9a880cc275c01f39dc436625f22d3cca46272","impliedFormat":1},{"version":"7d5dd008a087b517daee2c66b15e5767389c08f9f8d66c434d26d4f6cb3f55c3","impliedFormat":1},{"version":"bf2aefef15e0b4d6bc8f4e19f967494b59b5f90a834de503c373df042513d924","impliedFormat":1},{"version":"4085248a1c89ee865cf9498402c90611d16920a6c9929f701ddc0b963ddad230","impliedFormat":1},{"version":"1a1acd3311ff1794be8401ee394efc3beeb1746068244eb0ee1d51d08e457401","impliedFormat":1},{"version":"ce0b4440a3dd75e14ca94b6d6b27fa26ca89e776d91b8803b3c86c4e8f06ed1a","impliedFormat":1},{"version":"37020cf15e16fa6e1c6e2485cd51d6cbe74adee3b860ab49fb7528ca7e8e518e","impliedFormat":1},{"version":"b6b1a3ff9ba1ddf1a908cfd1bcd471334ecd218a366460fc64c4561d6d0467a4","impliedFormat":1},{"version":"1950d2a49c05c7aa6decfe409b552c4ea5fb156894cf0541b34999819bd778ea","impliedFormat":1},{"version":"32fe829960ff7120843f6dd20197e863aee3e81ecded415641a7500654d1bda7","impliedFormat":1},{"version":"da73778888d41d0abe7d28a24529ba13ff0a9311d55e1902feee7ab97dc6a67d","impliedFormat":1},{"version":"393b1ed0dca4f0aac333e65f2e40dfedfa8b37ac60571e02b152d32d8c84d340","impliedFormat":1},{"version":"f46d50c283425bcc59d68ccf067b3672fb727f802652dc7d60d2e470fb956370","impliedFormat":1},{"version":"0e10fd1d283b4ba7b94f5abb1bc30a2070ccb16c22f86a2780bea8ddc48f3bf7","impliedFormat":1},{"version":"0b4b6ca509cdb152e18ceeed526d17bb416e7e518508d859a0174977195f9a35","impliedFormat":1},{"version":"6ad6692aba2cad7697d1dbc76c973e7eca5c80aba70396233e4c4ea0e58c536d","impliedFormat":1},{"version":"c265bd0ffe35c74f210f980f49ba8f763c3338987539276a973fad1f52c4e9f2","impliedFormat":1},{"version":"4373179619287c6f48e1d2dc48f445bcb43e34bf13ab7bcc74953f06b0975404","impliedFormat":1},{"version":"5bfb2564cd6a65672b9c9a318d6313b925937b0a37606bf9ca89445b4a8d5a6b","impliedFormat":1},{"version":"066aff28aa26c1deb80e040da88f30f6149e388d556f8390d95edfff3fa99e3c","impliedFormat":1},{"version":"79b9e661f99d6d01ad0031fbffbb20a8570ca526125a1b01ef5643c00348a8c4","impliedFormat":1},{"version":"deb85dff5a350bd77f24fb5665b7a3c95aa0d4556a0d45ab423ebf3ffcbc70ce","impliedFormat":1},{"version":"78128cd7be8cbceaa53c812de6691b2301fe128cbf9b9f6d2778ecc0ad47a794","impliedFormat":1},{"version":"309ebd217636d68cf8784cbc3272c16fb94fb8e969e18b6fe88c35200340aef1","impliedFormat":1},{"version":"6e4fde24e4d82d79eaff2daa7f5dffa79ba53de2a6b8aef76c178a5a370764bb","impliedFormat":1},{"version":"ef9b6279acc69002a779d0172916ef22e8be5de2d2469ff2f4bb019a21e89de2","impliedFormat":1},{"version":"12b8d97a20b0fb267b69c4a6be0dfad7c88851d2dcab6150aa4218f40efa45f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"0e86102dbab93227b2702cba0ba06cb638961394577dc28cd5b856f0184c3156","impliedFormat":1},{"version":"6c859096094c744d2dd7b733189293a5b2af535e15f7794e69a3b4288b70dcfc","impliedFormat":1},{"version":"915d51e1bcd9b06ab8c922360b3f74ffe70c2ab6264f759f2b3e5f4130df0149","impliedFormat":1},{"version":"716a022c6d311c8367d830d2839fe017699564de2d0f5446b4a6f3f022a5c0c6","impliedFormat":1},{"version":"c939cb12cb000b4ec9c3eca3fe7dee1fe373ccb801237631d9252bad10206d61","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"3b25e966fd93475d8ca2834194ea78321d741a21ca9d1f606b25ec99c1bbc29a","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"3b25e966fd93475d8ca2834194ea78321d741a21ca9d1f606b25ec99c1bbc29a","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"92d777bf731e4062397081e864fbc384054934ab64af7723dfbf1df21824db31","impliedFormat":1},{"version":"ee415a173162328db8ab33496db05790b7d6b4a48272ff4a6c35cf9540ac3a60","impliedFormat":1},{"version":"80e653fbbec818eecfe95d182dc65a1d107b343d970159a71922ac4491caa0af","impliedFormat":1},{"version":"f978b1b63ad690ff2a8f16d6f784acaa0ba0f4bcfc64211d79a2704de34f5913","impliedFormat":1},{"version":"00c7c66bbd6675c5bc24b58bac2f9cbdeb9f619b295813cabf780c08034cfaba","impliedFormat":1},{"version":"9078205849121a5d37a642949d687565498da922508eacb0e5a0c3de427f0ae5","impliedFormat":1},{"version":"0ce71e5ee7c489209494c14028e351ccb1ffe455187d98a889f8e07ae2458ef7","impliedFormat":1},{"version":"f5c8f2ef9603893e25ed86c7112cd2cc60d53e5387b9146c904bce3e707c55de","impliedFormat":1},{"version":"db3ea1212b188ff23aa4f32b63e459c9b55d34b44b57bcbdf401f291352483f0","impliedFormat":99},{"version":"dc01facbb7d88bc5e2eabb7c6eee80a0241538d50a5c3b210fb745683faa1dab","impliedFormat":1},{"version":"5c5197a46686814821229b28e4cfd601ef0a32f2d2d29b9a99050bac0ab03c99","impliedFormat":1},{"version":"2f3a88381874ec5fd76116a07b4ec3ed2eb667d00cff57f4f21e58cc0e970ca8","impliedFormat":1},{"version":"2c6c3af3957e38e6a5190258a666a06893ba5a11e3501585243129afecefd037","impliedFormat":1},{"version":"13e5ea921d6f62171aab19f33a6690e3c6658eecd2e5672425e49ac30d4305e6","impliedFormat":1},{"version":"1e28020a23b28743d5bd708b9e4c7b75fdff606aa080fbaf5b8db3600d5c99cf","impliedFormat":1},{"version":"49e7f03e7e7288397725e823654fdfe61892bb5082f391057e61b9c4f1b54f16","impliedFormat":1},{"version":"7b368e9be7bfea145983add6818f4e9ad5d83e5cabc8f771211d77c0feb8db94","impliedFormat":1},{"version":"d49030b9a324bab9bcf9f663a70298391b0f5a25328409174d86617512bf3037","impliedFormat":1},{"version":"a4b634bb8c97cc700dbf165f3bb0095ec669042da72eaf28a7c5e2ddd98169ce","impliedFormat":1},{"version":"a7578eb8461c2d07440749f89aba22881d5fca09a1d1cd46974628869fbadfa1","impliedFormat":99},{"version":"c09b4100633f99c246fa95b29398804299f17700ad99e93bfa11f61f1e27605b","impliedFormat":1},{"version":"3226c2a2af36d14aa551babd4154ad18042c0deb1509a61058c6b066cfddc30a","impliedFormat":1},{"version":"64c9811ebae7d6bdd3749155911ca473017944d6e9787cec3d11549b05b19de9","impliedFormat":1},{"version":"30694e4f10ef4a9a7d9b2b697e22cfad208f9e4b4b2567c3365bc985afc0cd4b","impliedFormat":1},{"version":"532c0dab4fba184a4dcba3d6861464d99ba64179bec22b8130f33da6b17597a3","impliedFormat":1},{"version":"5a631db32cbe2e5f08fc30bcd7321161565bf227fcea057258f3e3bdedd6f8b7","impliedFormat":1},{"version":"4acb96957efa68a1d84a9018e4ae140f93ff8af6e7eb167813f0f1e7a34c1eea","impliedFormat":1},{"version":"f0a38f89d12f4d6551c92ccbb01c3278b44050e54618cd43d27df4452357d814","impliedFormat":1},{"version":"6481b29f54e19becbeb7236c60043e2daa47b45cb4fd7e88f287df09250f2405","impliedFormat":1},{"version":"8a1d6a57ed52927d8e7c7b617ada95239a411fac205f5040603e8b39c9979803","impliedFormat":1},{"version":"01658146c02cba2e49ee7beaa0b90864e7a17c3d02cc39cd8b643b5be3a1a438","impliedFormat":1},{"version":"148048f6cd77da8982d8d220e24d7bd67861033806e3648f0f4fe709b904f11d","impliedFormat":1},{"version":"db18ec88a0f1512b153a28a0ed1e19f34530885bca1d00e5f17a6e9b3184697f","impliedFormat":1},{"version":"65d581663663be2adeb0a5ac83f9fb077ab1e173d9ba06df33f959aaa1303491","impliedFormat":1},{"version":"36cd04c9f4116122a3545fcc6da5e522861d739718ab3a3cb7ff2268612531aa","impliedFormat":1},{"version":"9ae86dde42766df895cde73c60dc13347cc30829c6696de3cc54036b3120a5ba","impliedFormat":1},{"version":"6823cce79c10482d0860d40ebbfc29f00ddf7f99bca0aa23330599ddd8baead4","impliedFormat":1},{"version":"30ed6587fb249cc1b0585bab7ce2ca81ef193bfe2934241b6f06ffefdaaf4bf9","impliedFormat":1},{"version":"aa18fcf8ad877a9eb0c357c247708f019e25c4d906e3025d73604b66de8d7f11","impliedFormat":1},{"version":"cfc5482e113e44dae9712ae0a4e412788622221ae5eb1327fb69a13a0f5af662","impliedFormat":1},{"version":"5e620d0ed3eeb9a9a767355547123c85aea7e8f26d90e94d0cc3fa457f1c2035","impliedFormat":1},{"version":"164a6d88c10434ed6772b3d8a2a724d619c2271cfeb53c5589389d724eaacc1e","impliedFormat":1},{"version":"304b0d21771513c0a36ed7179a9d1069bfa776e95f50b789ce898f3ef2b71514","impliedFormat":1},{"version":"efa595cccee204a3121a51b16629027c6ca4d96aed87fdd70f8066374f97d34b","impliedFormat":1},{"version":"0abc6e9b21e8fa7083edab4e5869b05be066f49bac7294c5421fb2de6ad21cbc","impliedFormat":1},{"version":"547f1af9ba7f52097a10e707b70668c7b0af64cfc5d0f011fbf5768c5b7639ee","impliedFormat":1},{"version":"18c078c2b34901a328c1fc3e5a2f5bd51aa0fef06a548418198955e0af5eaf39","impliedFormat":1},{"version":"7353d426ea2acf4820408ef38a3f0db2692c00b6ba49460a87014bd987767dac","impliedFormat":1},{"version":"07f804df70402ba5fb4a7457b3e8029b59ec3facc9694d778d936a11f5127179","impliedFormat":1},{"version":"57800654e0bf0257086325f54ee7cfbbfa89e27c5bac44736f089c11143c936b","impliedFormat":1},{"version":"ce22b96ece23ecc9bc1f2a445afefa0a487f299986a1584887e4e4217e196963","impliedFormat":1},{"version":"d75b74cc8266ead7014d7a8a225bba5507a2706cb7a6b186ac52807a74e4a182","impliedFormat":1},{"version":"a344c8d8591f094f6d67336044485c6f87a5cc5c58c3ca6e4ae1c3248f18255a","impliedFormat":1},{"version":"c56d30cadef4528d6d568207e6ca4dd401d474843aee160e6c3a24d790ede0fd","impliedFormat":1},{"version":"94b065f9004cde283dd5989e9bd604a725c9a3c165b3e1c963a7f2fae2d07a6a","impliedFormat":1},{"version":"33650b1a5cdb1bf423ae5bace3a0447f4673bfc9e1d982bcbafa1b6d9720d747","impliedFormat":1},{"version":"e9634e0306920990ddca8f667e3cb624597ea7a4cd25d557a599c0e175419879","impliedFormat":1},{"version":"dd8f07cc3c31fc292339ffedb6617e7f88f26f94da5b156a2e58779b78cd489b","impliedFormat":1},{"version":"2d347c9473107aa9cb2120f94e39f179aa5b36a62af100f49d90b332c9209d19","impliedFormat":1},{"version":"73d7cfecd1fab6c4fabbb528f2187746994de793798811db491f7e4d8383183f","impliedFormat":1},{"version":"18e9ac0c696390f25c7d51098d7c28e7e67c22b68c27e721588c34038f0c3bad","impliedFormat":1},{"version":"b33057a3c7ea75948a207a5b784726118ec60f882eeb875bd64e932b4cd41041","impliedFormat":1},{"version":"e3059fe953b72c20fec9f74878dd7879b661d81657875907336c41e3b817c84b","impliedFormat":1},{"version":"9e2e0b4711f1efef5c3c488616334ba2e5b911648a8784fd77fc8beb1e5047c9","impliedFormat":1},{"version":"315b8bc4d809525b2f6635eb0237af1fe03501cc57bb0b722c672d0634bb8bb1","impliedFormat":1},{"version":"0494f89b64c5e8906ce5284194e09bad42b56837757d79cb9e62ce16aae88ab4","impliedFormat":1},{"version":"28f1497962f8853339b46d766384abe7a907900998f551cf43cd793cdcb98e3d","impliedFormat":1},{"version":"e4cce0b510957aab4b12a0dc21a3b4857b8f8a85bbded2b8b81f836ca3c83dbc","impliedFormat":1},{"version":"79a0953f85a27dcaab70dd0e3791a3564631dfd5d85c637513027747c6844357","impliedFormat":1},{"version":"2dcf72ec20aa5e3cf9911c4d5ada9393bb8d18f00d3dbdbe07ce618b4e90ab3f","impliedFormat":1},{"version":"678c7436b7aa03dad934a96850ea395c018637013aa0b52a65898f502b4d6e2a","impliedFormat":1},{"version":"1c18a09d1deaf0e9906100ab54592f256f87fc94c67cce61bfc1c2ea44ac3d13","impliedFormat":1},{"version":"481559421f5cd5562e4713c251e77dee07f5145c5f1d710afc445e733236802b","impliedFormat":1},{"version":"e98a715378d27c3eb8da1f1b4d2a0f77388893d953830e1ecdd17c31235890a6","impliedFormat":1},{"version":"483b6ed49396309c0ceb824efa6ddc71d5379cb550f08db41a89a7ca6eb0caec","impliedFormat":1},{"version":"625314d2a8acbd18fdedc8ddebfe8ca8f50967894eaf5432f741bb2132533708","impliedFormat":1},{"version":"6c203baefca5f375f44d0f8f7aff98eefae5bce67cadfa90416b8b5d2fdb4a6c","signature":"a697c3c9179159deff63f68911d4423282dd1fca2c3b3d88f6f859e1ea61022e"},{"version":"de20a85779531d66b0f338702d2c2d4647c21c7e6b3ff69980ea57024d4a7953","signature":"27fd7682d8ba15642ebed6791443359abac31616b31555f25db6d0a43a194651"},"21fcc2af5b61330546183c7ac5a96fa8f82820be37efd05d951503bdc8b456bb","f4174bdf264c8513599640c1acd9a6f4fecdf7359ab24efcc221ae6da8899141",{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"4340936f4e937c452ae783514e7c7bbb7fc06d0c97993ff4865370d0962bb9cf","impliedFormat":1},{"version":"b70c7ea83a7d0de17a791d9b5283f664033a96362c42cc4d2b2e0bdaa65ef7d1","impliedFormat":1},{"version":"ce6a3f09b8db73a7e9701aca91a04b4fabaf77436dd35b24482f9ee816016b17","impliedFormat":1},{"version":"20e086e5b64fdd52396de67761cc0e94693494deadb731264aac122adf08de3f","impliedFormat":1},{"version":"6e78f75403b3ec65efb41c70d392aeda94360f11cedc9fb2c039c9ea23b30962","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"eefd2bbc8edb14c3bd1246794e5c070a80f9b8f3730bd42efb80df3cc50b9039","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"a56fe175741cc8841835eb72e61fa5a34adcbc249ede0e3494c229f0750f6b85","impliedFormat":1},{"version":"a6c4cc913246a4f40423d0c6e618239072d7662bd54f6d8b8be59aec55d59873","impliedFormat":1},{"version":"f874ea4d0091b0a44362a5f74d26caab2e66dec306c2bf7e8965f5106e784c3b","impliedFormat":1}],"root":[[389,392]],"options":{"declaration":true,"esModuleInterop":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","preserveConstEnums":true,"removeComments":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":6,"useUnknownInCatchVariables":false},"referencedMap":[[389,1],[77,2],[48,3],[75,4],[76,5],[74,3],[73,6],[49,3],[50,7],[60,8],[67,9],[61,10],[51,3],[54,11],[56,12],[53,11],[52,11],[57,3],[62,10],[63,10],[66,13],[58,14],[64,10],[59,10],[65,15],[68,16],[55,3],[70,17],[72,18],[71,19],[92,3],[93,3],[94,3],[95,20],[96,20],[97,3],[99,21],[100,3],[101,20],[102,3],[103,3],[104,3],[105,3],[106,20],[107,20],[108,21],[109,20],[110,3],[134,3],[111,3],[112,22],[113,3],[114,3],[115,3],[116,3],[117,3],[118,3],[119,20],[120,3],[121,20],[122,20],[123,3],[124,21],[125,3],[126,3],[127,20],[128,3],[129,3],[130,3],[131,20],[98,3],[133,23],[135,24],[236,25],[237,26],[235,3],[69,3],[394,27],[395,3],[396,3],[393,3],[398,3],[399,28],[180,29],[181,29],[182,30],[142,31],[183,32],[184,33],[185,34],[137,3],[140,35],[138,3],[139,3],[186,36],[187,37],[188,38],[189,39],[190,40],[191,41],[192,41],[193,42],[194,43],[195,44],[196,45],[143,3],[141,3],[197,46],[198,47],[199,48],[230,49],[200,50],[201,51],[202,52],[203,53],[204,54],[205,55],[206,56],[207,57],[208,58],[209,59],[210,59],[211,60],[212,61],[214,62],[213,63],[215,64],[216,65],[217,66],[218,67],[219,68],[220,69],[221,70],[222,71],[223,72],[224,73],[225,74],[226,75],[227,76],[144,3],[145,3],[146,3],[179,77],[228,78],[229,79],[424,80],[425,81],[401,82],[404,83],[422,80],[423,80],[413,80],[412,84],[410,80],[405,80],[418,80],[416,80],[420,80],[400,80],[417,80],[421,80],[406,80],[407,80],[419,80],[402,80],[408,80],[409,80],[411,80],[415,80],[426,85],[414,80],[403,80],[439,86],[438,3],[433,85],[435,87],[434,85],[427,85],[428,85],[430,85],[432,85],[436,87],[437,87],[429,87],[431,87],[440,3],[441,3],[136,3],[397,88],[347,89],[348,89],[349,89],[350,89],[352,90],[351,89],[385,1],[232,3],[353,89],[233,3],[234,3],[242,91],[245,92],[238,93],[239,94],[240,94],[241,94],[255,95],[263,93],[264,3],[244,96],[260,97],[259,97],[258,97],[257,97],[261,97],[262,97],[243,96],[265,98],[246,99],[247,100],[249,96],[254,101],[256,91],[251,102],[250,103],[248,104],[252,102],[253,92],[384,3],[354,105],[333,105],[334,3],[358,89],[359,3],[376,106],[378,3],[375,3],[377,107],[360,108],[355,3],[374,89],[365,3],[388,109],[342,110],[343,89],[357,108],[364,1],[379,106],[344,111],[380,91],[382,89],[381,89],[383,3],[363,89],[361,89],[345,89],[335,3],[356,112],[338,113],[336,1],[337,114],[371,108],[346,89],[362,89],[373,89],[370,89],[372,89],[369,89],[366,89],[341,3],[367,115],[386,116],[387,3],[339,111],[368,89],[340,117],[231,88],[132,3],[46,3],[47,3],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[18,3],[19,3],[4,3],[20,3],[24,3],[21,3],[22,3],[23,3],[25,3],[26,3],[27,3],[5,3],[28,3],[29,3],[30,3],[31,3],[6,3],[35,3],[32,3],[33,3],[34,3],[36,3],[7,3],[37,3],[42,3],[43,3],[38,3],[39,3],[40,3],[41,3],[44,3],[45,3],[1,3],[162,118],[169,119],[161,118],[176,120],[153,121],[152,122],[175,123],[170,124],[173,125],[155,126],[154,127],[150,128],[149,123],[172,129],[151,130],[156,131],[157,3],[160,131],[147,3],[178,132],[177,131],[164,133],[165,134],[167,135],[163,136],[166,137],[171,123],[158,138],[159,139],[168,140],[148,141],[174,142],[91,143],[82,144],[89,145],[84,3],[85,3],[83,146],[86,147],[78,3],[79,3],[90,148],[81,149],[87,3],[88,150],[80,151],[325,152],[328,153],[326,153],[322,152],[329,154],[330,155],[327,153],[323,156],[324,157],[317,158],[270,159],[272,160],[315,3],[271,161],[316,162],[320,163],[318,3],[273,159],[274,3],[314,164],[269,165],[266,3],[319,166],[267,167],[268,3],[331,168],[275,169],[276,169],[277,169],[278,169],[279,169],[280,169],[281,169],[282,169],[283,169],[284,169],[286,169],[285,169],[287,169],[288,169],[289,169],[313,170],[290,169],[291,169],[292,169],[293,169],[294,169],[295,169],[296,169],[297,169],[298,169],[300,169],[299,169],[301,169],[302,169],[303,169],[304,169],[305,169],[306,169],[307,169],[308,169],[309,169],[310,169],[311,169],[312,169],[321,171],[332,172],[391,3],[390,1],[392,3]],"version":"5.9.3"}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "n8n-nodes-reeflex",
3
+ "version": "0.1.0",
4
+ "description": "n8n community node for Reeflex - deterministic governance for AI-agent actions. Calls reeflex-core POST /v1/decide and routes each item to Allowed, Held for Approval, or Denied.",
5
+ "license": "MIT",
6
+ "homepage": "https://reeflex.io",
7
+ "keywords": [
8
+ "n8n-community-node-package",
9
+ "reeflex",
10
+ "governance",
11
+ "ai-agents",
12
+ "guardrails",
13
+ "human-in-the-loop"
14
+ ],
15
+ "author": {
16
+ "name": "Reeflex",
17
+ "email": "hello@reeflex.io"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/Reeflex-io/reeflex.git",
22
+ "directory": "n8n-nodes-reeflex"
23
+ },
24
+ "bugs": {
25
+ "url": "https://github.com/Reeflex-io/reeflex/issues"
26
+ },
27
+ "scripts": {
28
+ "build": "n8n-node build",
29
+ "build:watch": "tsc --watch",
30
+ "dev": "n8n-node dev",
31
+ "lint": "n8n-node lint",
32
+ "lint:fix": "n8n-node lint --fix",
33
+ "test": "tsc -p tsconfig.test.json && node dist-test/test/reeflexGate.test.js",
34
+ "release": "n8n-node release",
35
+ "prepublishOnly": "n8n-node prerelease"
36
+ },
37
+ "files": [
38
+ "dist"
39
+ ],
40
+ "n8n": {
41
+ "n8nNodesApiVersion": 1,
42
+ "strict": true,
43
+ "credentials": [
44
+ "dist/credentials/ReeflexApi.credentials.js"
45
+ ],
46
+ "nodes": [
47
+ "dist/nodes/ReeflexGate/ReeflexGate.node.js"
48
+ ]
49
+ },
50
+ "devDependencies": {
51
+ "@n8n/node-cli": "^0.23.1",
52
+ "eslint": "^9.39.4",
53
+ "prettier": "^3.8.3",
54
+ "typescript": "^5.9.3"
55
+ },
56
+ "peerDependencies": {
57
+ "n8n-workflow": "*"
58
+ },
59
+ "engines": {
60
+ "node": ">=20.15"
61
+ }
62
+ }