@stepzen/sdk 0.58.0-experimental.a42e35b → 0.58.0-experimental.a56f2f6
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/package.json +4 -4
- package/lib/client-v2.d.ts +0 -66
- package/lib/client-v2.d.ts.map +0 -1
- package/lib/client-v2.js +0 -123
- package/lib/client-v2.js.map +0 -1
- package/lib/commands-v2/account.d.ts +0 -9
- package/lib/commands-v2/account.d.ts.map +0 -1
- package/lib/commands-v2/account.js +0 -66
- package/lib/commands-v2/account.js.map +0 -1
- package/lib/commands-v2/delete.d.ts +0 -12
- package/lib/commands-v2/delete.d.ts.map +0 -1
- package/lib/commands-v2/delete.js +0 -57
- package/lib/commands-v2/delete.js.map +0 -1
- package/lib/commands-v2/deploy.d.ts +0 -16
- package/lib/commands-v2/deploy.d.ts.map +0 -1
- package/lib/commands-v2/deploy.js +0 -101
- package/lib/commands-v2/deploy.js.map +0 -1
- package/lib/commands-v2/fetch-account.d.ts +0 -18
- package/lib/commands-v2/fetch-account.d.ts.map +0 -1
- package/lib/commands-v2/fetch-account.js +0 -33
- package/lib/commands-v2/fetch-account.js.map +0 -1
- package/lib/commands-v2/list.d.ts +0 -12
- package/lib/commands-v2/list.d.ts.map +0 -1
- package/lib/commands-v2/list.js +0 -97
- package/lib/commands-v2/list.js.map +0 -1
- package/lib/index.d.ts +0 -4
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -5
- package/lib/index.js.map +0 -1
- package/lib/init-v2.d.ts +0 -45
- package/lib/init-v2.d.ts.map +0 -1
- package/lib/init-v2.js +0 -29
- package/lib/init-v2.js.map +0 -1
- package/lib/shared/constants.d.ts +0 -7
- package/lib/shared/constants.d.ts.map +0 -1
- package/lib/shared/constants.js +0 -8
- package/lib/shared/constants.js.map +0 -1
- package/lib/shared/graphql-client.d.ts +0 -27
- package/lib/shared/graphql-client.d.ts.map +0 -1
- package/lib/shared/graphql-client.js +0 -86
- package/lib/shared/graphql-client.js.map +0 -1
- package/lib/shared/payloads.d.ts +0 -10
- package/lib/shared/payloads.d.ts.map +0 -1
- package/lib/shared/payloads.js +0 -127
- package/lib/shared/payloads.js.map +0 -1
- package/lib/shared/request.d.ts +0 -4
- package/lib/shared/request.d.ts.map +0 -1
- package/lib/shared/request.js +0 -20
- package/lib/shared/request.js.map +0 -1
- package/lib/shared/rmtemp.d.ts +0 -11
- package/lib/shared/rmtemp.d.ts.map +0 -1
- package/lib/shared/rmtemp.js +0 -39
- package/lib/shared/rmtemp.js.map +0 -1
- package/lib/shared/transpiling.d.ts +0 -15
- package/lib/shared/transpiling.d.ts.map +0 -1
- package/lib/shared/transpiling.js +0 -33
- package/lib/shared/transpiling.js.map +0 -1
- package/lib/shared/types.d.ts +0 -179
- package/lib/shared/types.d.ts.map +0 -1
- package/lib/shared/types.js +0 -3
- package/lib/shared/types.js.map +0 -1
- package/lib/shared/validation.d.ts +0 -9
- package/lib/shared/validation.d.ts.map +0 -1
- package/lib/shared/validation.js +0 -84
- package/lib/shared/validation.js.map +0 -1
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// Copyright IBM Corp. 2020, 2025
|
|
2
|
-
import dotenv from 'dotenv';
|
|
3
|
-
import debug from 'debug';
|
|
4
|
-
import fsx from 'fs-extra';
|
|
5
|
-
import os from 'node:os';
|
|
6
|
-
import path from 'node:path';
|
|
7
|
-
import { transpile } from '@stepzen/transpiler';
|
|
8
|
-
import { rmtemp } from './rmtemp.js';
|
|
9
|
-
export async function transpileConfigurationset(file) {
|
|
10
|
-
if (!file) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
const source = file.substring(0, file.lastIndexOf('/'));
|
|
14
|
-
debug('stepzen:dotenv')(`loading .env from ${path.resolve(source)}` +
|
|
15
|
-
`, at sdk/src/shared/transpiling.ts`);
|
|
16
|
-
dotenv.config({ path: path.resolve(source, '.env') });
|
|
17
|
-
const tmp = path.join(os.tmpdir(), `stepzen-transpiler-${Date.now()}`);
|
|
18
|
-
const configPath = path.join(tmp, 'config.yaml');
|
|
19
|
-
fsx.ensureDirSync(tmp, 0o700);
|
|
20
|
-
try {
|
|
21
|
-
fsx.copyFileSync(file, configPath);
|
|
22
|
-
fsx.chmodSync(configPath, 0o600);
|
|
23
|
-
const result = await transpile(tmp);
|
|
24
|
-
fsx.emptyDirSync(tmp);
|
|
25
|
-
fsx.writeFileSync(configPath, result.config || '', { mode: 0o600 });
|
|
26
|
-
return configPath;
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
rmtemp(tmp);
|
|
30
|
-
throw error;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=transpiling.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transpiling.js","sourceRoot":"","sources":["../../src/shared/transpiling.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAkBlC,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAa;IAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,gBAAgB,CAAC,CACrB,qBAAqB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzC,oCAAoC,CACvC,CAAA;IACD,MAAM,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAC,CAAC,CAAA;IAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IAEhD,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7B,IAAI,CAAC;QACH,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAClC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAEhC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;QAEnC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACrB,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAA;QACjE,OAAO,UAAU,CAAA;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,CAAA;QACX,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
|
package/lib/shared/types.d.ts
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
export interface StepZenAccount {
|
|
2
|
-
account: string;
|
|
3
|
-
adminkey: string;
|
|
4
|
-
/**
|
|
5
|
-
* ZenCtl base URL, e.g. `https://fakefish.stepzen.io` for production,
|
|
6
|
-
* or `http://localhost` for local tests.
|
|
7
|
-
*
|
|
8
|
-
* Determined by taking the first option that is defined:
|
|
9
|
-
* - the `server` config property explicily passed into the `init()` function
|
|
10
|
-
* - the `STEPZEN_SERVER_URL` environment variable
|
|
11
|
-
* - the `https://{account}.stepzen.io` default value
|
|
12
|
-
*
|
|
13
|
-
* The `{account}` placeholder (if present) is replaced by the provided account
|
|
14
|
-
* name
|
|
15
|
-
*/
|
|
16
|
-
server: string;
|
|
17
|
-
}
|
|
18
|
-
export type UserCredentialsClientOptions = Pick<StepZenAccount, 'account' | 'adminkey'> & Partial<StepZenAccount>;
|
|
19
|
-
export interface StepZenDeploy {
|
|
20
|
-
configurationsets?: string[];
|
|
21
|
-
destination: string;
|
|
22
|
-
schema: string;
|
|
23
|
-
}
|
|
24
|
-
export interface StepZenList {
|
|
25
|
-
type: 'deployments' | 'schemas' | 'configurationsets';
|
|
26
|
-
}
|
|
27
|
-
export interface StepZenUpload {
|
|
28
|
-
destination: string;
|
|
29
|
-
directory?: string;
|
|
30
|
-
file?: string;
|
|
31
|
-
type: string;
|
|
32
|
-
}
|
|
33
|
-
export interface ZenCtlRequestHeaders {
|
|
34
|
-
authorization: string;
|
|
35
|
-
'stepzen-cli-version': string;
|
|
36
|
-
'user-agent': string;
|
|
37
|
-
}
|
|
38
|
-
export interface ZenCtlResponse {
|
|
39
|
-
errors?: Array<string>;
|
|
40
|
-
message?: string;
|
|
41
|
-
results?: Array<string>;
|
|
42
|
-
success: boolean;
|
|
43
|
-
}
|
|
44
|
-
export interface SDKConfiguration {
|
|
45
|
-
/**
|
|
46
|
-
* The name and version of that app that uses the SDK,
|
|
47
|
-
* e.g. `stepzen-cli/0.9.32`
|
|
48
|
-
*
|
|
49
|
-
* It is appended to the user-agent string in all requests made to StepZen
|
|
50
|
-
* through the SDK and becomes availabe in the log analytics.
|
|
51
|
-
*/
|
|
52
|
-
appName: string;
|
|
53
|
-
}
|
|
54
|
-
export interface SDKConfigurationV2 extends SDKConfiguration {
|
|
55
|
-
/**
|
|
56
|
-
* The name and version of that app that uses the SDK,
|
|
57
|
-
* e.g. `stepzen-cli/0.9.32`
|
|
58
|
-
*
|
|
59
|
-
* It is appended to the user-agent string in all requests made to StepZen
|
|
60
|
-
* through the SDK and becomes availabe in the log analytics.
|
|
61
|
-
*/
|
|
62
|
-
appName: string;
|
|
63
|
-
/**
|
|
64
|
-
* Version of ZenCtl API to use:
|
|
65
|
-
* - `undefined`, `v1`: implies the v1 REST API at /ctl/admin/
|
|
66
|
-
* - `v2`: implies the v2 GraphQL API
|
|
67
|
-
*/
|
|
68
|
-
apiVersion: string;
|
|
69
|
-
/**
|
|
70
|
-
* URL of the ZenCtl GraphQL API,
|
|
71
|
-
* e.g. https://stepzen.stepzen.net/api/zenctl2/graphql
|
|
72
|
-
*/
|
|
73
|
-
zenctlApiUrl: string;
|
|
74
|
-
}
|
|
75
|
-
export interface ZenCtlSuccessResponseV2<T> {
|
|
76
|
-
data: T;
|
|
77
|
-
error: undefined;
|
|
78
|
-
}
|
|
79
|
-
export interface ZenCtlErrorResponseV2 {
|
|
80
|
-
data: undefined;
|
|
81
|
-
error: {
|
|
82
|
-
message: string;
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
export type ZenCtlResponseV2<T> = ZenCtlSuccessResponseV2<T> | ZenCtlErrorResponseV2;
|
|
86
|
-
export interface StepZenCredentialsV2 {
|
|
87
|
-
account?: string;
|
|
88
|
-
adminKey?: string;
|
|
89
|
-
apiKeys?: string[];
|
|
90
|
-
accessToken?: string;
|
|
91
|
-
instanceId?: string;
|
|
92
|
-
ownerEmail?: string;
|
|
93
|
-
deploymentType: string;
|
|
94
|
-
}
|
|
95
|
-
export interface StepZenAccountV2 {
|
|
96
|
-
account?: string;
|
|
97
|
-
ownerEmail?: string;
|
|
98
|
-
adminKey?: string;
|
|
99
|
-
apiKeys?: string[];
|
|
100
|
-
deploymentType: string;
|
|
101
|
-
instanceId?: string;
|
|
102
|
-
accessToken?: string;
|
|
103
|
-
}
|
|
104
|
-
export interface StepZenDeleteV2 {
|
|
105
|
-
account_name: string;
|
|
106
|
-
folder_name: string;
|
|
107
|
-
endpoint_name: string;
|
|
108
|
-
updated_at: string;
|
|
109
|
-
}
|
|
110
|
-
export interface StepZenEndpointV2 {
|
|
111
|
-
account: string;
|
|
112
|
-
deploymentType: string;
|
|
113
|
-
folderName: string;
|
|
114
|
-
endpointName: string;
|
|
115
|
-
public: boolean;
|
|
116
|
-
endpointType: string;
|
|
117
|
-
createdAt: Date;
|
|
118
|
-
updatedAt: Date;
|
|
119
|
-
}
|
|
120
|
-
export interface SchemaFiles {
|
|
121
|
-
files: SchemaFile[];
|
|
122
|
-
entryPoint?: String;
|
|
123
|
-
}
|
|
124
|
-
export interface SchemaFile {
|
|
125
|
-
name: string;
|
|
126
|
-
content: string;
|
|
127
|
-
}
|
|
128
|
-
export interface Configuration {
|
|
129
|
-
configurationset?: ConfigurationSet[];
|
|
130
|
-
ruleset?: QueryRule[];
|
|
131
|
-
access?: Policies;
|
|
132
|
-
deployment?: DeploymentSettings;
|
|
133
|
-
}
|
|
134
|
-
export interface ConfigurationSet {
|
|
135
|
-
configuration?: Record<string, any>;
|
|
136
|
-
}
|
|
137
|
-
export interface QueryRule {
|
|
138
|
-
query: string;
|
|
139
|
-
disabled?: boolean;
|
|
140
|
-
rules?: Rule[];
|
|
141
|
-
}
|
|
142
|
-
export interface Rule {
|
|
143
|
-
predicate: string;
|
|
144
|
-
action: string;
|
|
145
|
-
}
|
|
146
|
-
export interface Policies {
|
|
147
|
-
policies?: Policy[];
|
|
148
|
-
}
|
|
149
|
-
export interface Policy {
|
|
150
|
-
type?: string;
|
|
151
|
-
rules?: FieldRule[];
|
|
152
|
-
policyDefault?: FieldCondition;
|
|
153
|
-
}
|
|
154
|
-
export interface FieldRule {
|
|
155
|
-
name?: string;
|
|
156
|
-
description?: string;
|
|
157
|
-
condition: string;
|
|
158
|
-
fields?: string[];
|
|
159
|
-
}
|
|
160
|
-
export interface FieldCondition {
|
|
161
|
-
condition: string;
|
|
162
|
-
}
|
|
163
|
-
export interface DeploymentSettings {
|
|
164
|
-
identity?: IdentitySettings;
|
|
165
|
-
}
|
|
166
|
-
export interface IdentitySettings {
|
|
167
|
-
keys?: JWTKey[];
|
|
168
|
-
issuer?: string;
|
|
169
|
-
subject?: string;
|
|
170
|
-
audience?: string;
|
|
171
|
-
claims?: string[];
|
|
172
|
-
jwksendpoint?: string;
|
|
173
|
-
}
|
|
174
|
-
export interface JWTKey {
|
|
175
|
-
algorithm?: string;
|
|
176
|
-
keyid?: string;
|
|
177
|
-
key?: string;
|
|
178
|
-
}
|
|
179
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|
package/lib/shared/types.js
DELETED
package/lib/shared/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,iCAAiC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare const validateConfigurationset: (file: string | undefined) => Promise<void>;
|
|
2
|
-
export declare const validateSchema: (directory: string | undefined) => Promise<void>;
|
|
3
|
-
export declare const parseJwt: (token: string) => Promise<{
|
|
4
|
-
instanceId?: string;
|
|
5
|
-
email?: string;
|
|
6
|
-
}>;
|
|
7
|
-
/** Validates a JSON Web Token (JWT) by verifying its structure and expiration. */
|
|
8
|
-
export declare const isValidJWT: (token: string) => Promise<boolean>;
|
|
9
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,wBAAwB,GAAU,MAAM,MAAM,GAAG,SAAS,kBA0BtE,CAAA;AAGD,eAAO,MAAM,cAAc,GAAU,WAAW,MAAM,GAAG,SAAS,kBAcjE,CAAA;AAGD,eAAO,MAAM,QAAQ,GACnB,OAAO,MAAM,KACZ,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CA6B/C,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,UAAU,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,OAAO,CAU/D,CAAA"}
|
package/lib/shared/validation.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
// Copyright IBM Corp. 2020, 2025
|
|
2
|
-
import debug from 'debug';
|
|
3
|
-
import fs from 'node:fs';
|
|
4
|
-
import { globSync } from 'glob';
|
|
5
|
-
import yaml from 'yaml';
|
|
6
|
-
import { decodeJwt } from 'jose';
|
|
7
|
-
// Validate the Configurationset file
|
|
8
|
-
export const validateConfigurationset = async (file) => {
|
|
9
|
-
if (!file) {
|
|
10
|
-
debug('stepzen:sdk')(`validateConfigurationset() expected 'file' to be a` +
|
|
11
|
-
` non-empty string but got ${file}`);
|
|
12
|
-
throw new Error('You must provide a file path');
|
|
13
|
-
}
|
|
14
|
-
if (!fs.existsSync(file)) {
|
|
15
|
-
debug('stepzen:sdk')(`validateConfigurationset() expected ${file} to exist`);
|
|
16
|
-
throw new Error('The file does not exist');
|
|
17
|
-
}
|
|
18
|
-
const content = fs.readFileSync(file, 'utf8');
|
|
19
|
-
// Ensure the file is valid YAML
|
|
20
|
-
try {
|
|
21
|
-
yaml.parse(content);
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
debug('stepzen:sdk')(`validateConfigurationset() expected ${file} to parse as YAML,` +
|
|
25
|
-
` but got an error ${error}`);
|
|
26
|
-
throw new Error('The file is not valid YAML');
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
// Validate the Schema directory
|
|
30
|
-
export const validateSchema = async (directory) => {
|
|
31
|
-
if (!directory) {
|
|
32
|
-
throw new Error('You must provide a directory path');
|
|
33
|
-
}
|
|
34
|
-
if (!fs.existsSync(directory)) {
|
|
35
|
-
throw new Error('The directory does not exist');
|
|
36
|
-
}
|
|
37
|
-
// Ensure there's a root `index.graphql` file
|
|
38
|
-
const allSchemaFiles = globSync('index.graphql', { cwd: directory });
|
|
39
|
-
if (allSchemaFiles.length === 0) {
|
|
40
|
-
throw new Error('Schemas must include an `index.graphql` file');
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
// parse JWT and return instanceId and email
|
|
44
|
-
export const parseJwt = async (token) => {
|
|
45
|
-
try {
|
|
46
|
-
const [, payloadBase64] = token.split('.');
|
|
47
|
-
if (!payloadBase64) {
|
|
48
|
-
throw new Error('Invalid JWT format');
|
|
49
|
-
}
|
|
50
|
-
const payloadJson = Buffer.from(payloadBase64, 'base64').toString('utf-8');
|
|
51
|
-
const payload = JSON.parse(payloadJson);
|
|
52
|
-
const { aud, email } = payload;
|
|
53
|
-
let instanceId;
|
|
54
|
-
if (typeof aud === 'string' && aud.startsWith('SERVICE/')) {
|
|
55
|
-
instanceId = aud.split('/')[1];
|
|
56
|
-
}
|
|
57
|
-
else if (Array.isArray(aud)) {
|
|
58
|
-
const match = aud.find(entry => typeof entry === 'string' && entry.startsWith('SERVICE/'));
|
|
59
|
-
if (match) {
|
|
60
|
-
instanceId = match.split('/')[1];
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return { instanceId, email };
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
console.error('Failed to parse JWT token:', error);
|
|
67
|
-
return {};
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
/** Validates a JSON Web Token (JWT) by verifying its structure and expiration. */
|
|
71
|
-
export const isValidJWT = async (token) => {
|
|
72
|
-
try {
|
|
73
|
-
const payload = decodeJwt(token);
|
|
74
|
-
if (!payload.exp)
|
|
75
|
-
return false;
|
|
76
|
-
const currentTime = Math.floor(Date.now() / 1000);
|
|
77
|
-
return payload.exp > currentTime;
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
console.error('Failed to validate JWT token:', error);
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/shared/validation.ts"],"names":[],"mappings":"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"}
|