@pikku/addon-graph 0.12.4 → 0.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
- package/dist/.pikku/addon/pikku-package.gen.js +1 -1
- package/dist/.pikku/agent/pikku-agent-map.gen.d.ts +1 -1
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +3 -2
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts.map +1 -1
- package/dist/.pikku/agent/pikku-agent-types.gen.js.map +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
- package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +15 -44
- package/dist/.pikku/function/pikku-function-types.gen.d.ts.map +1 -1
- package/dist/.pikku/function/pikku-function-types.gen.js +3 -12
- package/dist/.pikku/function/pikku-function-types.gen.js.map +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.json +350 -33
- package/dist/.pikku/function/pikku-functions.gen.js +19 -1
- package/dist/.pikku/function/pikku-functions.gen.js.map +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +2 -24
- package/dist/.pikku/http/pikku-http-types.gen.d.ts.map +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.js +2 -24
- package/dist/.pikku/http/pikku-http-types.gen.js.map +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
- package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
- package/dist/.pikku/pikku-meta-service.gen.js +1 -1
- package/dist/.pikku/pikku-services.gen.d.ts +5 -1
- package/dist/.pikku/pikku-services.gen.d.ts.map +1 -1
- package/dist/.pikku/pikku-services.gen.js +4 -0
- package/dist/.pikku/pikku-services.gen.js.map +1 -1
- package/dist/.pikku/pikku-types.gen.d.ts +2 -1
- package/dist/.pikku/pikku-types.gen.d.ts.map +1 -1
- package/dist/.pikku/pikku-types.gen.js +3 -1
- package/dist/.pikku/pikku-types.gen.js.map +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +163 -7
- package/dist/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +172 -7
- package/dist/.pikku/rpc/pikku-rpc-wirings-map.remote.gen.d.ts +652 -0
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +10 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +93 -57
- package/dist/.pikku/schemas/register.gen.js.map +1 -1
- package/dist/.pikku/schemas/schemas/AggregateInput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/BranchInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/BranchOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/ConcatInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/ConcatOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/DateTimeInput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/EditFieldsOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FanoutInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FanoutOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/HttpRequestInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/HttpRequestOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/ReadFileInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/ReadFileOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/SplitTextInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/SplitTextOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/StopAndErrorInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/StopAndErrorOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/WaitInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/WaitOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/WriteFileInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/WriteFileOutput.schema.json +1 -0
- package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +6 -0
- package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts.map +1 -0
- package/dist/.pikku/scopes/pikku-scope-types.gen.js +5 -0
- package/dist/.pikku/scopes/pikku-scope-types.gen.js.map +1 -0
- package/dist/.pikku/scopes/pikku-scopes-meta.gen.json +1 -0
- package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +36 -0
- package/dist/.pikku/scopes/pikku-scopes.gen.d.ts.map +1 -0
- package/dist/.pikku/scopes/pikku-scopes.gen.js +28 -0
- package/dist/.pikku/scopes/pikku-scopes.gen.js.map +1 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
- package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
- package/dist/.pikku/secrets/pikku-secrets-meta.gen.json +1 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts.map +1 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.js +11 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.js.map +1 -1
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
- package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
- package/dist/.pikku/variables/pikku-variables-meta.gen.json +1 -0
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -1
- package/dist/.pikku/variables/pikku-variables.gen.d.ts.map +1 -1
- package/dist/.pikku/variables/pikku-variables.gen.js +13 -3
- package/dist/.pikku/variables/pikku-variables.gen.js.map +1 -1
- package/dist/.pikku/workflow/pikku-workflow-map.gen.d.ts +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +22 -5
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts.map +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +4 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js.map +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
- package/dist/src/functions/array/aggregate.function.d.ts +33 -4
- package/dist/src/functions/array/aggregate.function.d.ts.map +1 -1
- package/dist/src/functions/array/aggregate.function.js +47 -14
- package/dist/src/functions/array/aggregate.function.js.map +1 -1
- package/dist/src/functions/array/aggregate.function.test.d.ts +2 -0
- package/dist/src/functions/array/aggregate.function.test.d.ts.map +1 -0
- package/dist/src/functions/array/aggregate.function.test.js +42 -0
- package/dist/src/functions/array/aggregate.function.test.js.map +1 -0
- package/dist/src/functions/array/fanout.function.d.ts +32 -0
- package/dist/src/functions/array/fanout.function.d.ts.map +1 -0
- package/dist/src/functions/array/fanout.function.js +80 -0
- package/dist/src/functions/array/fanout.function.js.map +1 -0
- package/dist/src/functions/array/fanout.function.test.d.ts +2 -0
- package/dist/src/functions/array/fanout.function.test.d.ts.map +1 -0
- package/dist/src/functions/array/fanout.function.test.js +66 -0
- package/dist/src/functions/array/fanout.function.test.js.map +1 -0
- package/dist/src/functions/array/summarize.function.d.ts +4 -4
- package/dist/src/functions/data/date-time.function.d.ts +17 -3
- package/dist/src/functions/data/date-time.function.d.ts.map +1 -1
- package/dist/src/functions/data/date-time.function.js +46 -0
- package/dist/src/functions/data/date-time.function.js.map +1 -1
- package/dist/src/functions/data/jwt.function.d.ts +4 -4
- package/dist/src/functions/data/read-file.function.d.ts +40 -0
- package/dist/src/functions/data/read-file.function.d.ts.map +1 -0
- package/dist/src/functions/data/read-file.function.js +39 -0
- package/dist/src/functions/data/read-file.function.js.map +1 -0
- package/dist/src/functions/data/type-convert.function.d.ts +4 -4
- package/dist/src/functions/data/wait.function.d.ts +26 -0
- package/dist/src/functions/data/wait.function.d.ts.map +1 -0
- package/dist/src/functions/data/wait.function.js +29 -0
- package/dist/src/functions/data/wait.function.js.map +1 -0
- package/dist/src/functions/data/write-file.function.d.ts +40 -0
- package/dist/src/functions/data/write-file.function.d.ts.map +1 -0
- package/dist/src/functions/data/write-file.function.js +37 -0
- package/dist/src/functions/data/write-file.function.js.map +1 -0
- package/dist/src/functions/logic/branch.function.d.ts +71 -0
- package/dist/src/functions/logic/branch.function.d.ts.map +1 -0
- package/dist/src/functions/logic/branch.function.js +213 -0
- package/dist/src/functions/logic/branch.function.js.map +1 -0
- package/dist/src/functions/logic/stop-and-error.function.d.ts +13 -0
- package/dist/src/functions/logic/stop-and-error.function.d.ts.map +1 -0
- package/dist/src/functions/logic/stop-and-error.function.js +18 -0
- package/dist/src/functions/logic/stop-and-error.function.js.map +1 -0
- package/dist/src/functions/network/http-request.function.d.ts +105 -0
- package/dist/src/functions/network/http-request.function.d.ts.map +1 -0
- package/dist/src/functions/network/http-request.function.js +142 -0
- package/dist/src/functions/network/http-request.function.js.map +1 -0
- package/dist/src/functions/network/http-request.function.test.d.ts +2 -0
- package/dist/src/functions/network/http-request.function.test.d.ts.map +1 -0
- package/dist/src/functions/network/http-request.function.test.js +119 -0
- package/dist/src/functions/network/http-request.function.test.js.map +1 -0
- package/dist/src/functions/transform/concat.function.d.ts +21 -0
- package/dist/src/functions/transform/concat.function.d.ts.map +1 -0
- package/dist/src/functions/transform/concat.function.js +22 -0
- package/dist/src/functions/transform/concat.function.js.map +1 -0
- package/dist/src/functions/transform/concat.function.test.d.ts +2 -0
- package/dist/src/functions/transform/concat.function.test.d.ts.map +1 -0
- package/dist/src/functions/transform/concat.function.test.js +23 -0
- package/dist/src/functions/transform/concat.function.test.js.map +1 -0
- package/dist/src/functions/transform/edit-fields.function.d.ts +9 -12
- package/dist/src/functions/transform/edit-fields.function.d.ts.map +1 -1
- package/dist/src/functions/transform/edit-fields.function.js +9 -4
- package/dist/src/functions/transform/edit-fields.function.js.map +1 -1
- package/dist/src/functions/transform/split-text.function.d.ts +41 -0
- package/dist/src/functions/transform/split-text.function.d.ts.map +1 -0
- package/dist/src/functions/transform/split-text.function.js +116 -0
- package/dist/src/functions/transform/split-text.function.js.map +1 -0
- package/dist/src/functions/transform/split-text.function.test.d.ts +2 -0
- package/dist/src/functions/transform/split-text.function.test.d.ts.map +1 -0
- package/dist/src/functions/transform/split-text.function.test.js +66 -0
- package/dist/src/functions/transform/split-text.function.test.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const BranchInput: z.ZodObject<{
|
|
3
|
+
cases: z.ZodArray<z.ZodObject<{
|
|
4
|
+
key: z.ZodString;
|
|
5
|
+
combinator: z.ZodDefault<z.ZodEnum<{
|
|
6
|
+
and: "and";
|
|
7
|
+
or: "or";
|
|
8
|
+
}>>;
|
|
9
|
+
conditions: z.ZodArray<z.ZodObject<{
|
|
10
|
+
left: z.ZodUnknown;
|
|
11
|
+
right: z.ZodOptional<z.ZodUnknown>;
|
|
12
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
13
|
+
string: "string";
|
|
14
|
+
number: "number";
|
|
15
|
+
boolean: "boolean";
|
|
16
|
+
object: "object";
|
|
17
|
+
dateTime: "dateTime";
|
|
18
|
+
array: "array";
|
|
19
|
+
}>>;
|
|
20
|
+
operation: z.ZodString;
|
|
21
|
+
}, z.core.$strip>>;
|
|
22
|
+
}, z.core.$strip>>;
|
|
23
|
+
fallback: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export declare const BranchOutput: z.ZodObject<{
|
|
26
|
+
branch: z.ZodNullable<z.ZodString>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export declare const branch: import("#pikku").PikkuFunctionConfig<{
|
|
29
|
+
cases: {
|
|
30
|
+
key: string;
|
|
31
|
+
combinator: "and" | "or";
|
|
32
|
+
conditions: {
|
|
33
|
+
left: unknown;
|
|
34
|
+
type: "string" | "number" | "boolean" | "object" | "dateTime" | "array";
|
|
35
|
+
operation: string;
|
|
36
|
+
right?: unknown;
|
|
37
|
+
}[];
|
|
38
|
+
}[];
|
|
39
|
+
fallback?: string | undefined;
|
|
40
|
+
}, {
|
|
41
|
+
branch: string | null;
|
|
42
|
+
}, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
|
|
43
|
+
cases: {
|
|
44
|
+
key: string;
|
|
45
|
+
combinator: "and" | "or";
|
|
46
|
+
conditions: {
|
|
47
|
+
left: unknown;
|
|
48
|
+
type: "string" | "number" | "boolean" | "object" | "dateTime" | "array";
|
|
49
|
+
operation: string;
|
|
50
|
+
right?: unknown;
|
|
51
|
+
}[];
|
|
52
|
+
}[];
|
|
53
|
+
fallback?: string | undefined;
|
|
54
|
+
}, {
|
|
55
|
+
branch: string | null;
|
|
56
|
+
}, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
|
|
57
|
+
cases: {
|
|
58
|
+
key: string;
|
|
59
|
+
combinator: "and" | "or";
|
|
60
|
+
conditions: {
|
|
61
|
+
left: unknown;
|
|
62
|
+
type: "string" | "number" | "boolean" | "object" | "dateTime" | "array";
|
|
63
|
+
operation: string;
|
|
64
|
+
right?: unknown;
|
|
65
|
+
}[];
|
|
66
|
+
}[];
|
|
67
|
+
fallback?: string | undefined;
|
|
68
|
+
}, {
|
|
69
|
+
branch: string | null;
|
|
70
|
+
}, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
|
|
71
|
+
//# sourceMappingURL=branch.function.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch.function.d.ts","sourceRoot":"","sources":["../../../../src/functions/logic/branch.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA6BvB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;iBAQtB,CAAA;AAEF,eAAO,MAAM,YAAY;;iBAKvB,CAAA;AA+JF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEAwBjB,CAAA"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { pikkuSessionlessFunc } from '#pikku';
|
|
3
|
+
const BranchCondition = z.object({
|
|
4
|
+
left: z.unknown().describe('Left-hand operand (resolved before evaluation)'),
|
|
5
|
+
right: z
|
|
6
|
+
.unknown()
|
|
7
|
+
.optional()
|
|
8
|
+
.describe('Right-hand operand — omitted for unary operators like isEmpty'),
|
|
9
|
+
type: z
|
|
10
|
+
.enum(['string', 'number', 'boolean', 'dateTime', 'array', 'object'])
|
|
11
|
+
.default('string')
|
|
12
|
+
.describe('Value type the operands are coerced to before comparison'),
|
|
13
|
+
operation: z
|
|
14
|
+
.string()
|
|
15
|
+
.describe('Comparison operation, e.g. equals, contains, gt, isEmpty'),
|
|
16
|
+
});
|
|
17
|
+
const BranchCase = z.object({
|
|
18
|
+
key: z
|
|
19
|
+
.string()
|
|
20
|
+
.describe('The `next` branch key to take when this case matches'),
|
|
21
|
+
combinator: z
|
|
22
|
+
.enum(['and', 'or'])
|
|
23
|
+
.default('and')
|
|
24
|
+
.describe('How the conditions combine'),
|
|
25
|
+
conditions: z.array(BranchCondition),
|
|
26
|
+
});
|
|
27
|
+
export const BranchInput = z.object({
|
|
28
|
+
cases: z
|
|
29
|
+
.array(BranchCase)
|
|
30
|
+
.describe('Cases evaluated in order; the first match wins'),
|
|
31
|
+
fallback: z
|
|
32
|
+
.string()
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('Branch key taken when no case matches'),
|
|
35
|
+
});
|
|
36
|
+
export const BranchOutput = z.object({
|
|
37
|
+
branch: z
|
|
38
|
+
.string()
|
|
39
|
+
.nullable()
|
|
40
|
+
.describe('The branch key taken, or null when the path dead-ends'),
|
|
41
|
+
});
|
|
42
|
+
const asString = (v) => (v == null ? '' : String(v));
|
|
43
|
+
const asNumber = (v) => Number(v);
|
|
44
|
+
const asBool = (v) => v === true || v === 'true';
|
|
45
|
+
const asTime = (v) => new Date(v).getTime();
|
|
46
|
+
const asArray = (v) => (Array.isArray(v) ? v : []);
|
|
47
|
+
function evaluateCondition({ left, right, type, operation, }) {
|
|
48
|
+
switch (type) {
|
|
49
|
+
case 'string': {
|
|
50
|
+
const l = asString(left);
|
|
51
|
+
const r = asString(right);
|
|
52
|
+
switch (operation) {
|
|
53
|
+
case 'equals':
|
|
54
|
+
return l === r;
|
|
55
|
+
case 'notEquals':
|
|
56
|
+
return l !== r;
|
|
57
|
+
case 'contains':
|
|
58
|
+
return l.includes(r);
|
|
59
|
+
case 'notContains':
|
|
60
|
+
return !l.includes(r);
|
|
61
|
+
case 'startsWith':
|
|
62
|
+
return l.startsWith(r);
|
|
63
|
+
case 'notStartsWith':
|
|
64
|
+
return !l.startsWith(r);
|
|
65
|
+
case 'endsWith':
|
|
66
|
+
return l.endsWith(r);
|
|
67
|
+
case 'notEndsWith':
|
|
68
|
+
return !l.endsWith(r);
|
|
69
|
+
case 'regex':
|
|
70
|
+
return new RegExp(r).test(l);
|
|
71
|
+
case 'notRegex':
|
|
72
|
+
return !new RegExp(r).test(l);
|
|
73
|
+
case 'isEmpty':
|
|
74
|
+
return l === '';
|
|
75
|
+
case 'isNotEmpty':
|
|
76
|
+
return l !== '';
|
|
77
|
+
case 'exists':
|
|
78
|
+
return left != null;
|
|
79
|
+
case 'notExists':
|
|
80
|
+
return left == null;
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
case 'number': {
|
|
85
|
+
const l = asNumber(left);
|
|
86
|
+
const r = asNumber(right);
|
|
87
|
+
switch (operation) {
|
|
88
|
+
case 'equals':
|
|
89
|
+
return l === r;
|
|
90
|
+
case 'notEquals':
|
|
91
|
+
return l !== r;
|
|
92
|
+
case 'gt':
|
|
93
|
+
return l > r;
|
|
94
|
+
case 'gte':
|
|
95
|
+
return l >= r;
|
|
96
|
+
case 'lt':
|
|
97
|
+
return l < r;
|
|
98
|
+
case 'lte':
|
|
99
|
+
return l <= r;
|
|
100
|
+
case 'isEmpty':
|
|
101
|
+
return left == null || Number.isNaN(l);
|
|
102
|
+
case 'isNotEmpty':
|
|
103
|
+
return left != null && !Number.isNaN(l);
|
|
104
|
+
case 'exists':
|
|
105
|
+
return left != null;
|
|
106
|
+
case 'notExists':
|
|
107
|
+
return left == null;
|
|
108
|
+
}
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
case 'boolean': {
|
|
112
|
+
const l = asBool(left);
|
|
113
|
+
switch (operation) {
|
|
114
|
+
case 'true':
|
|
115
|
+
return l === true;
|
|
116
|
+
case 'false':
|
|
117
|
+
return l === false;
|
|
118
|
+
case 'equals':
|
|
119
|
+
return l === asBool(right);
|
|
120
|
+
case 'notEquals':
|
|
121
|
+
return l !== asBool(right);
|
|
122
|
+
case 'exists':
|
|
123
|
+
return left != null;
|
|
124
|
+
case 'notExists':
|
|
125
|
+
return left == null;
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
case 'dateTime': {
|
|
130
|
+
const l = asTime(left);
|
|
131
|
+
const r = asTime(right);
|
|
132
|
+
switch (operation) {
|
|
133
|
+
case 'after':
|
|
134
|
+
return l > r;
|
|
135
|
+
case 'before':
|
|
136
|
+
return l < r;
|
|
137
|
+
case 'afterOrEquals':
|
|
138
|
+
return l >= r;
|
|
139
|
+
case 'beforeOrEquals':
|
|
140
|
+
return l <= r;
|
|
141
|
+
case 'equals':
|
|
142
|
+
return l === r;
|
|
143
|
+
case 'notEquals':
|
|
144
|
+
return l !== r;
|
|
145
|
+
}
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
case 'array': {
|
|
149
|
+
const l = asArray(left);
|
|
150
|
+
switch (operation) {
|
|
151
|
+
case 'contains':
|
|
152
|
+
return l.includes(right);
|
|
153
|
+
case 'notContains':
|
|
154
|
+
return !l.includes(right);
|
|
155
|
+
case 'lengthEquals':
|
|
156
|
+
return l.length === asNumber(right);
|
|
157
|
+
case 'lengthNotEquals':
|
|
158
|
+
return l.length !== asNumber(right);
|
|
159
|
+
case 'lengthGt':
|
|
160
|
+
return l.length > asNumber(right);
|
|
161
|
+
case 'lengthGte':
|
|
162
|
+
return l.length >= asNumber(right);
|
|
163
|
+
case 'lengthLt':
|
|
164
|
+
return l.length < asNumber(right);
|
|
165
|
+
case 'lengthLte':
|
|
166
|
+
return l.length <= asNumber(right);
|
|
167
|
+
case 'isEmpty':
|
|
168
|
+
return l.length === 0;
|
|
169
|
+
case 'isNotEmpty':
|
|
170
|
+
return l.length > 0;
|
|
171
|
+
}
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
case 'object': {
|
|
175
|
+
switch (operation) {
|
|
176
|
+
case 'isEmpty':
|
|
177
|
+
return left == null || Object.keys(left).length === 0;
|
|
178
|
+
case 'isNotEmpty':
|
|
179
|
+
return left != null && Object.keys(left).length > 0;
|
|
180
|
+
case 'exists':
|
|
181
|
+
return left != null;
|
|
182
|
+
case 'notExists':
|
|
183
|
+
return left == null;
|
|
184
|
+
}
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
throw new Error(`graph:branch — unsupported operator "${type}.${operation}"`);
|
|
189
|
+
}
|
|
190
|
+
export const branch = pikkuSessionlessFunc({
|
|
191
|
+
description: 'Route to a branch by evaluating declarative conditions (IF / Switch / Filter)',
|
|
192
|
+
node: { displayName: 'Branch', category: 'Logic', type: 'action' },
|
|
193
|
+
input: BranchInput,
|
|
194
|
+
output: BranchOutput,
|
|
195
|
+
func: async (_services, data, { graph }) => {
|
|
196
|
+
for (const branchCase of data.cases) {
|
|
197
|
+
const results = branchCase.conditions.map(evaluateCondition);
|
|
198
|
+
const matched = branchCase.combinator === 'or'
|
|
199
|
+
? results.some(Boolean)
|
|
200
|
+
: results.every(Boolean);
|
|
201
|
+
if (matched) {
|
|
202
|
+
graph?.branch(branchCase.key);
|
|
203
|
+
return { branch: branchCase.key };
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (data.fallback) {
|
|
207
|
+
graph?.branch(data.fallback);
|
|
208
|
+
return { branch: data.fallback };
|
|
209
|
+
}
|
|
210
|
+
return { branch: null };
|
|
211
|
+
},
|
|
212
|
+
});
|
|
213
|
+
//# sourceMappingURL=branch.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch.function.js","sourceRoot":"","sources":["../../../../src/functions/logic/branch.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const StopAndErrorInput: z.ZodObject<{
|
|
3
|
+
message: z.ZodString;
|
|
4
|
+
}, z.core.$strip>;
|
|
5
|
+
export declare const StopAndErrorOutput: z.ZodVoid;
|
|
6
|
+
export declare const stopAndError: import("#pikku").PikkuFunctionConfig<{
|
|
7
|
+
message: string;
|
|
8
|
+
}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
|
|
9
|
+
message: string;
|
|
10
|
+
}, void, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
|
|
11
|
+
message: string;
|
|
12
|
+
}, void, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
|
|
13
|
+
//# sourceMappingURL=stop-and-error.function.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop-and-error.function.d.ts","sourceRoot":"","sources":["../../../../src/functions/logic/stop-and-error.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,iBAAiB;;iBAI5B,CAAA;AAEF,eAAO,MAAM,kBAAkB,WAAW,CAAA;AAE1C,eAAO,MAAM,YAAY;;;;;;6EAQvB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { pikkuSessionlessFunc } from '#pikku';
|
|
3
|
+
export const StopAndErrorInput = z.object({
|
|
4
|
+
message: z
|
|
5
|
+
.string()
|
|
6
|
+
.describe('The error message to throw, halting the workflow'),
|
|
7
|
+
});
|
|
8
|
+
export const StopAndErrorOutput = z.void();
|
|
9
|
+
export const stopAndError = pikkuSessionlessFunc({
|
|
10
|
+
description: 'Throw an error to stop the workflow',
|
|
11
|
+
node: { displayName: 'Stop And Error', category: 'Logic', type: 'action' },
|
|
12
|
+
input: StopAndErrorInput,
|
|
13
|
+
output: StopAndErrorOutput,
|
|
14
|
+
func: async (_services, data) => {
|
|
15
|
+
throw new Error(data.message);
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=stop-and-error.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop-and-error.function.js","sourceRoot":"","sources":["../../../../src/functions/logic/stop-and-error.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAE7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,kDAAkD,CAAC;CAChE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;IAC/C,WAAW,EAAE,qCAAqC;IAClD,IAAI,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1E,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* How to authenticate the request. Carries only NAMES and static constants — the
|
|
4
|
+
* secret value is resolved from the SecretService at request time, never passed
|
|
5
|
+
* in as data (so it is never persisted to workflow step state).
|
|
6
|
+
*/
|
|
7
|
+
export declare const HttpAuth: z.ZodObject<{
|
|
8
|
+
mode: z.ZodEnum<{
|
|
9
|
+
bearer: "bearer";
|
|
10
|
+
apiKeyHeader: "apiKeyHeader";
|
|
11
|
+
apiKeyQuery: "apiKeyQuery";
|
|
12
|
+
basic: "basic";
|
|
13
|
+
oauth2: "oauth2";
|
|
14
|
+
}>;
|
|
15
|
+
credential: z.ZodString;
|
|
16
|
+
headerName: z.ZodOptional<z.ZodString>;
|
|
17
|
+
queryName: z.ZodOptional<z.ZodString>;
|
|
18
|
+
extraHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
19
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
20
|
+
credential: "credential";
|
|
21
|
+
secret: "secret";
|
|
22
|
+
}>>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export declare const HttpRequestInput: z.ZodObject<{
|
|
25
|
+
method: z.ZodDefault<z.ZodEnum<{
|
|
26
|
+
GET: "GET";
|
|
27
|
+
POST: "POST";
|
|
28
|
+
PUT: "PUT";
|
|
29
|
+
PATCH: "PATCH";
|
|
30
|
+
DELETE: "DELETE";
|
|
31
|
+
HEAD: "HEAD";
|
|
32
|
+
OPTIONS: "OPTIONS";
|
|
33
|
+
}>>;
|
|
34
|
+
url: z.ZodString;
|
|
35
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
36
|
+
query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
37
|
+
body: z.ZodOptional<z.ZodUnknown>;
|
|
38
|
+
auth: z.ZodOptional<z.ZodObject<{
|
|
39
|
+
mode: z.ZodEnum<{
|
|
40
|
+
bearer: "bearer";
|
|
41
|
+
apiKeyHeader: "apiKeyHeader";
|
|
42
|
+
apiKeyQuery: "apiKeyQuery";
|
|
43
|
+
basic: "basic";
|
|
44
|
+
oauth2: "oauth2";
|
|
45
|
+
}>;
|
|
46
|
+
credential: z.ZodString;
|
|
47
|
+
headerName: z.ZodOptional<z.ZodString>;
|
|
48
|
+
queryName: z.ZodOptional<z.ZodString>;
|
|
49
|
+
extraHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
50
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
51
|
+
credential: "credential";
|
|
52
|
+
secret: "secret";
|
|
53
|
+
}>>;
|
|
54
|
+
}, z.core.$strip>>;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
/**
|
|
57
|
+
* The parsed response body, exposed directly as the output so downstream graph
|
|
58
|
+
* nodes can reference its fields. A non-object response (array, string, number)
|
|
59
|
+
* is wrapped under `data`.
|
|
60
|
+
*/
|
|
61
|
+
export declare const HttpRequestOutput: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
62
|
+
export declare const httpRequest: import("#pikku").PikkuFunctionConfig<{
|
|
63
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
|
|
64
|
+
url: string;
|
|
65
|
+
headers?: Record<string, unknown> | undefined;
|
|
66
|
+
query?: Record<string, unknown> | undefined;
|
|
67
|
+
body?: unknown;
|
|
68
|
+
auth?: {
|
|
69
|
+
mode: "bearer" | "apiKeyHeader" | "apiKeyQuery" | "basic" | "oauth2";
|
|
70
|
+
credential: string;
|
|
71
|
+
headerName?: string | undefined;
|
|
72
|
+
queryName?: string | undefined;
|
|
73
|
+
extraHeaders?: Record<string, string> | undefined;
|
|
74
|
+
source?: "credential" | "secret" | undefined;
|
|
75
|
+
} | undefined;
|
|
76
|
+
}, Record<string, unknown>, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
|
|
77
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
|
|
78
|
+
url: string;
|
|
79
|
+
headers?: Record<string, unknown> | undefined;
|
|
80
|
+
query?: Record<string, unknown> | undefined;
|
|
81
|
+
body?: unknown;
|
|
82
|
+
auth?: {
|
|
83
|
+
mode: "bearer" | "apiKeyHeader" | "apiKeyQuery" | "basic" | "oauth2";
|
|
84
|
+
credential: string;
|
|
85
|
+
headerName?: string | undefined;
|
|
86
|
+
queryName?: string | undefined;
|
|
87
|
+
extraHeaders?: Record<string, string> | undefined;
|
|
88
|
+
source?: "credential" | "secret" | undefined;
|
|
89
|
+
} | undefined;
|
|
90
|
+
}, Record<string, unknown>, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
|
|
91
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS";
|
|
92
|
+
url: string;
|
|
93
|
+
headers?: Record<string, unknown> | undefined;
|
|
94
|
+
query?: Record<string, unknown> | undefined;
|
|
95
|
+
body?: unknown;
|
|
96
|
+
auth?: {
|
|
97
|
+
mode: "bearer" | "apiKeyHeader" | "apiKeyQuery" | "basic" | "oauth2";
|
|
98
|
+
credential: string;
|
|
99
|
+
headerName?: string | undefined;
|
|
100
|
+
queryName?: string | undefined;
|
|
101
|
+
extraHeaders?: Record<string, string> | undefined;
|
|
102
|
+
source?: "credential" | "secret" | undefined;
|
|
103
|
+
} | undefined;
|
|
104
|
+
}, Record<string, unknown>, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
|
|
105
|
+
//# sourceMappingURL=http-request.function.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-request.function.d.ts","sourceRoot":"","sources":["../../../../src/functions/network/http-request.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;iBAqBnB,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB3B,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,wCAEU,CAAA;AAqBxC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gGA4EtB,CAAA"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { pikkuSessionlessFunc } from '#pikku';
|
|
3
|
+
/**
|
|
4
|
+
* How to authenticate the request. Carries only NAMES and static constants — the
|
|
5
|
+
* secret value is resolved from the SecretService at request time, never passed
|
|
6
|
+
* in as data (so it is never persisted to workflow step state).
|
|
7
|
+
*/
|
|
8
|
+
export const HttpAuth = z.object({
|
|
9
|
+
mode: z
|
|
10
|
+
.enum(['bearer', 'apiKeyHeader', 'apiKeyQuery', 'basic', 'oauth2'])
|
|
11
|
+
.describe('How the credential is applied to the request'),
|
|
12
|
+
credential: z.string().describe('Secret key the value is provisioned under'),
|
|
13
|
+
headerName: z
|
|
14
|
+
.string()
|
|
15
|
+
.optional()
|
|
16
|
+
.describe('apiKeyHeader — header name (defaults to Authorization)'),
|
|
17
|
+
queryName: z
|
|
18
|
+
.string()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe('apiKeyQuery — query-param name (defaults to api_key)'),
|
|
21
|
+
extraHeaders: z
|
|
22
|
+
.record(z.string(), z.string())
|
|
23
|
+
.optional()
|
|
24
|
+
.describe('Static, non-secret headers always sent (e.g. Notion-Version)'),
|
|
25
|
+
source: z
|
|
26
|
+
.enum(['secret', 'credential'])
|
|
27
|
+
.optional()
|
|
28
|
+
.describe('Where the value comes from — secret (default) or credential'),
|
|
29
|
+
});
|
|
30
|
+
export const HttpRequestInput = z.object({
|
|
31
|
+
method: z
|
|
32
|
+
.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'])
|
|
33
|
+
.default('GET')
|
|
34
|
+
.describe('HTTP method'),
|
|
35
|
+
url: z.string().describe('The request URL'),
|
|
36
|
+
headers: z
|
|
37
|
+
.record(z.string(), z.unknown())
|
|
38
|
+
.optional()
|
|
39
|
+
.describe('Request headers'),
|
|
40
|
+
query: z
|
|
41
|
+
.record(z.string(), z.unknown())
|
|
42
|
+
.optional()
|
|
43
|
+
.describe('Query string parameters appended to the URL'),
|
|
44
|
+
body: z
|
|
45
|
+
.unknown()
|
|
46
|
+
.optional()
|
|
47
|
+
.describe('Request body — JSON-encoded unless it is already a string'),
|
|
48
|
+
auth: HttpAuth.optional().describe('Optional authentication resolved from a secret at request time'),
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* The parsed response body, exposed directly as the output so downstream graph
|
|
52
|
+
* nodes can reference its fields. A non-object response (array, string, number)
|
|
53
|
+
* is wrapped under `data`.
|
|
54
|
+
*/
|
|
55
|
+
export const HttpRequestOutput = z
|
|
56
|
+
.record(z.string(), z.unknown())
|
|
57
|
+
.describe('Parsed JSON response body');
|
|
58
|
+
/**
|
|
59
|
+
* Resolve a secret value, wrapping a missing-secret failure with a message that
|
|
60
|
+
* names the credential — turning "empty value" into an actionable "provision
|
|
61
|
+
* secret X" for an imported workflow.
|
|
62
|
+
*/
|
|
63
|
+
async function resolveSecret(secrets, credential) {
|
|
64
|
+
try {
|
|
65
|
+
return await secrets.getSecret(credential);
|
|
66
|
+
}
|
|
67
|
+
catch (cause) {
|
|
68
|
+
const reason = cause instanceof Error ? cause.message : String(cause);
|
|
69
|
+
throw new Error(`httpRequest auth: could not resolve secret "${credential}" — provision it before running this workflow (${reason})`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export const httpRequest = pikkuSessionlessFunc({
|
|
73
|
+
description: 'Perform an HTTP request and return the response body',
|
|
74
|
+
node: { displayName: 'HTTP Request', category: 'Data', type: 'action' },
|
|
75
|
+
input: HttpRequestInput,
|
|
76
|
+
output: HttpRequestOutput,
|
|
77
|
+
func: async ({ secrets }, data) => {
|
|
78
|
+
const url = new URL(data.url);
|
|
79
|
+
for (const [key, value] of Object.entries(data.query ?? {})) {
|
|
80
|
+
url.searchParams.set(key, String(value));
|
|
81
|
+
}
|
|
82
|
+
const sendsBody = data.body !== undefined && data.method !== 'GET' && data.method !== 'HEAD';
|
|
83
|
+
const bodyIsString = typeof data.body === 'string';
|
|
84
|
+
const headers = {};
|
|
85
|
+
for (const [key, value] of Object.entries(data.headers ?? {})) {
|
|
86
|
+
headers[key] = String(value);
|
|
87
|
+
}
|
|
88
|
+
if (sendsBody && !bodyIsString && !('content-type' in headers)) {
|
|
89
|
+
headers['content-type'] = 'application/json';
|
|
90
|
+
}
|
|
91
|
+
const auth = data.auth;
|
|
92
|
+
if (auth) {
|
|
93
|
+
if (auth.mode === 'oauth2') {
|
|
94
|
+
throw new Error('httpRequest auth: OAuth2 is not yet supported (needs provider config + token flow)');
|
|
95
|
+
}
|
|
96
|
+
// Static, non-secret headers first — an explicit request header wins.
|
|
97
|
+
for (const [key, value] of Object.entries(auth.extraHeaders ?? {})) {
|
|
98
|
+
if (!(key in headers))
|
|
99
|
+
headers[key] = value;
|
|
100
|
+
}
|
|
101
|
+
const secret = await resolveSecret(secrets, auth.credential);
|
|
102
|
+
switch (auth.mode) {
|
|
103
|
+
case 'bearer':
|
|
104
|
+
headers['Authorization'] = `Bearer ${secret}`;
|
|
105
|
+
break;
|
|
106
|
+
case 'apiKeyHeader':
|
|
107
|
+
headers[auth.headerName ?? 'Authorization'] = secret;
|
|
108
|
+
break;
|
|
109
|
+
case 'apiKeyQuery':
|
|
110
|
+
url.searchParams.set(auth.queryName ?? 'api_key', secret);
|
|
111
|
+
break;
|
|
112
|
+
case 'basic':
|
|
113
|
+
headers['Authorization'] =
|
|
114
|
+
`Basic ${Buffer.from(secret).toString('base64')}`;
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const response = await fetch(url, {
|
|
119
|
+
method: data.method,
|
|
120
|
+
headers,
|
|
121
|
+
body: sendsBody
|
|
122
|
+
? bodyIsString
|
|
123
|
+
? data.body
|
|
124
|
+
: JSON.stringify(data.body)
|
|
125
|
+
: undefined,
|
|
126
|
+
});
|
|
127
|
+
const text = await response.text();
|
|
128
|
+
let parsed = text;
|
|
129
|
+
try {
|
|
130
|
+
parsed = JSON.parse(text);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
// not JSON — keep the raw text
|
|
134
|
+
}
|
|
135
|
+
return parsed !== null &&
|
|
136
|
+
typeof parsed === 'object' &&
|
|
137
|
+
!Array.isArray(parsed)
|
|
138
|
+
? parsed
|
|
139
|
+
: { data: parsed };
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
//# sourceMappingURL=http-request.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-request.function.js","sourceRoot":"","sources":["../../../../src/functions/network/http-request.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-request.function.test.d.ts","sourceRoot":"","sources":["../../../../src/functions/network/http-request.function.test.ts"],"names":[],"mappings":""}
|