@junejuly-lockstep/model 0.0.0-stage → 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 +21 -0
- package/README.md +37 -2
- package/dist/api.d.ts +7902 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +436 -0
- package/dist/api.js.map +1 -0
- package/dist/card.d.ts +1321 -0
- package/dist/card.d.ts.map +1 -0
- package/dist/card.js +122 -0
- package/dist/card.js.map +1 -0
- package/dist/config.d.ts +82 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +40 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/journey.d.ts +705 -0
- package/dist/journey.d.ts.map +1 -0
- package/dist/journey.js +113 -0
- package/dist/journey.js.map +1 -0
- package/dist/run.d.ts +1485 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +126 -0
- package/dist/run.js.map +1 -0
- package/dist/verdict.d.ts +35 -0
- package/dist/verdict.d.ts.map +1 -0
- package/dist/verdict.js +30 -0
- package/dist/verdict.js.map +1 -0
- package/package.json +53 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../src/card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,SAAS,uDAAqD,CAAC;AAC5E,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,UAAU,8CAA4C,CAAC;AACpE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,6DAA6D;AAC7D,eAAO,MAAM,WAAW,mFAMtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAM3D,CAAC;AAEF,eAAO,MAAM,aAAa,oJAYxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,4EAA4E;AAC5E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,2EAA2E;AAC3E,eAAO,MAAM,UAAU;;;;;IAKrB,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK/E,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,uCAAuC;AACvC,eAAO,MAAM,cAAc;;;;;;;;IAQzB,iFAAiF;;;;;;;;;;;;;;;;;;;;EAEjF,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,uDAAuD;AACvD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,WAAW;;;;;IA1CtB,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiB/E,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BjF,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,iEAAiE;AACjE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;EAKhB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAE1C,+CAA+C;AAC/C,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/D"}
|
package/dist/card.js
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MachineJson, StateMeta, TriggerBinding } from './journey.js';
|
|
3
|
+
export const CardGrain = z.enum(['journey', 'micro', 'finding', 'backend']);
|
|
4
|
+
export const CardSource = z.enum(['human', 'reconciler', 'canvas']);
|
|
5
|
+
/** Board columns. Derived from state; never set directly. */
|
|
6
|
+
export const BoardColumn = z.enum([
|
|
7
|
+
'planned',
|
|
8
|
+
'declared',
|
|
9
|
+
'dispatched',
|
|
10
|
+
'needs_judgment',
|
|
11
|
+
'in_lockstep',
|
|
12
|
+
]);
|
|
13
|
+
export const BOARD_COLUMN_LABELS = {
|
|
14
|
+
planned: 'Planned',
|
|
15
|
+
declared: 'Declared',
|
|
16
|
+
dispatched: 'Dispatched',
|
|
17
|
+
needs_judgment: 'Needs judgment',
|
|
18
|
+
in_lockstep: 'In lockstep',
|
|
19
|
+
};
|
|
20
|
+
export const CardEventKind = z.enum([
|
|
21
|
+
'created',
|
|
22
|
+
'dispatched',
|
|
23
|
+
'verdict',
|
|
24
|
+
'adopted',
|
|
25
|
+
'deferred',
|
|
26
|
+
'approved',
|
|
27
|
+
'acknowledged',
|
|
28
|
+
'sealed',
|
|
29
|
+
'pr_linked',
|
|
30
|
+
'pr_merged',
|
|
31
|
+
'reopened',
|
|
32
|
+
]);
|
|
33
|
+
/** A delta against the machine JSON: whole states or single transitions. */
|
|
34
|
+
export const MachineDelta = z.object({
|
|
35
|
+
addStates: z
|
|
36
|
+
.record(z.string(), z.object({ config: z.record(z.string(), z.unknown()), meta: StateMeta }))
|
|
37
|
+
.default({}),
|
|
38
|
+
removeStates: z.array(z.string()).default([]),
|
|
39
|
+
addTransitions: z
|
|
40
|
+
.array(z.object({
|
|
41
|
+
from: z.string(),
|
|
42
|
+
event: z.string(),
|
|
43
|
+
to: z.string(),
|
|
44
|
+
guard: z.string().optional(),
|
|
45
|
+
}))
|
|
46
|
+
.default([]),
|
|
47
|
+
removeTransitions: z
|
|
48
|
+
.array(z.object({ from: z.string(), event: z.string(), to: z.string() }))
|
|
49
|
+
.default([]),
|
|
50
|
+
updateMeta: z.record(z.string(), StateMeta.partial()).default({}),
|
|
51
|
+
addBindings: z.array(TriggerBinding).default([]),
|
|
52
|
+
});
|
|
53
|
+
/** The core primitive: a proposed change to the declared journey model. */
|
|
54
|
+
export const IntentDiff = z.object({
|
|
55
|
+
kind: z.literal('intent'),
|
|
56
|
+
journeyKey: z.string().nullable(),
|
|
57
|
+
narrative: z.string().default(''),
|
|
58
|
+
rules: z.array(z.string()).default([]),
|
|
59
|
+
/** Whole new journey (phase one) or a delta on an existing one (phase two). */
|
|
60
|
+
newMachine: MachineJson.nullable().default(null),
|
|
61
|
+
delta: MachineDelta.nullable().default(null),
|
|
62
|
+
scenarios: z.array(z.string()).default([]),
|
|
63
|
+
referenceAssets: z.array(z.string().url()).default([]),
|
|
64
|
+
});
|
|
65
|
+
/** A finding the reconciler raised. */
|
|
66
|
+
export const FindingPayload = z.object({
|
|
67
|
+
kind: z.literal('finding'),
|
|
68
|
+
family: z.enum(['structural', 'visual', 'contract', 'reach']),
|
|
69
|
+
journeyKey: z.string().nullable(),
|
|
70
|
+
elementKind: z.string(),
|
|
71
|
+
elementKey: z.string(),
|
|
72
|
+
runId: z.string().uuid(),
|
|
73
|
+
detail: z.record(z.string(), z.unknown()).default({}),
|
|
74
|
+
/** AI-generated two-sentence explanation; always labeled generated in the UI. */
|
|
75
|
+
explanation: z.string().nullable().default(null),
|
|
76
|
+
});
|
|
77
|
+
/** A backend change with no direct journey surface. */
|
|
78
|
+
export const BackendPayload = z.object({
|
|
79
|
+
kind: z.literal('backend'),
|
|
80
|
+
changeKind: z.enum(['dependency', 'contract', 'declared']),
|
|
81
|
+
title: z.string(),
|
|
82
|
+
summary: z.string().default(''),
|
|
83
|
+
declaredReach: z
|
|
84
|
+
.object({
|
|
85
|
+
journeys: z.array(z.string()).default([]),
|
|
86
|
+
transitions: z.array(z.string()).default([]),
|
|
87
|
+
states: z.array(z.string()).default([]),
|
|
88
|
+
})
|
|
89
|
+
.nullable()
|
|
90
|
+
.default(null),
|
|
91
|
+
seams: z.array(z.string()).default([]),
|
|
92
|
+
runId: z.string().uuid().nullable().default(null),
|
|
93
|
+
reachSummary: z.string().nullable().default(null),
|
|
94
|
+
});
|
|
95
|
+
export const CardPayload = z.discriminatedUnion('kind', [
|
|
96
|
+
IntentDiff,
|
|
97
|
+
FindingPayload,
|
|
98
|
+
BackendPayload,
|
|
99
|
+
]);
|
|
100
|
+
/** Compiled form of a card's intent diff, stored on the card. */
|
|
101
|
+
export const WorkOrder = z.object({
|
|
102
|
+
cardRef: z.string(),
|
|
103
|
+
brief: z.string(),
|
|
104
|
+
briefGenerated: z.boolean(),
|
|
105
|
+
machineDelta: z.unknown(),
|
|
106
|
+
scenarioFixtures: z.array(z.object({ name: z.string(), seed: z.number(), overrides: z.unknown() })),
|
|
107
|
+
acceptancePaths: z.array(z.array(z.string())),
|
|
108
|
+
bindings: z.array(TriggerBinding),
|
|
109
|
+
conventions: z.string().default(''),
|
|
110
|
+
compiledAt: z.string().datetime(),
|
|
111
|
+
});
|
|
112
|
+
export const Reach = z.object({
|
|
113
|
+
transitions: z.array(z.string()).default([]),
|
|
114
|
+
states: z.array(z.string()).default([]),
|
|
115
|
+
journeys: z.array(z.string()).default([]),
|
|
116
|
+
operations: z.array(z.string()).default([]),
|
|
117
|
+
});
|
|
118
|
+
/** Render FERN-12 from project key and seq. */
|
|
119
|
+
export function cardRef(projectKey, seq) {
|
|
120
|
+
return `${projectKey}-${seq}`;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=card.js.map
|
package/dist/card.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../src/card.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Fraction of differing pixels above which a screenshot is `changed` (rule 3) when neither the
|
|
4
|
+
* client's `lockstep.config.ts` nor the project's platform config says otherwise. The reconciler
|
|
5
|
+
* only reports scores; the API decides `changed` with the project's configured threshold.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_VISUAL_DIFF_THRESHOLD = 0.001;
|
|
8
|
+
/** Shape of `lockstep.config.ts` at the client repo root. */
|
|
9
|
+
export declare const LockstepConfig: z.ZodObject<{
|
|
10
|
+
projectKey: z.ZodString;
|
|
11
|
+
apiBaseUrl: z.ZodString;
|
|
12
|
+
journeysGlob: z.ZodDefault<z.ZodString>;
|
|
13
|
+
scenariosPath: z.ZodDefault<z.ZodString>;
|
|
14
|
+
seams: z.ZodArray<z.ZodString, "many">;
|
|
15
|
+
visualDiffThreshold: z.ZodDefault<z.ZodNumber>;
|
|
16
|
+
bootCommand: z.ZodString;
|
|
17
|
+
port: z.ZodNumber;
|
|
18
|
+
/** Base URL the app under test talks to; must be a mock origin. */
|
|
19
|
+
appApiBase: z.ZodOptional<z.ZodString>;
|
|
20
|
+
/** Regex (string) the appApiBase must match for walks to be allowed. */
|
|
21
|
+
mockApiPattern: z.ZodDefault<z.ZodString>;
|
|
22
|
+
schema: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
sdlPath: z.ZodString;
|
|
24
|
+
codegenOutput: z.ZodString;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
sdlPath: string;
|
|
27
|
+
codegenOutput: string;
|
|
28
|
+
}, {
|
|
29
|
+
sdlPath: string;
|
|
30
|
+
codegenOutput: string;
|
|
31
|
+
}>>;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
projectKey: string;
|
|
34
|
+
apiBaseUrl: string;
|
|
35
|
+
journeysGlob: string;
|
|
36
|
+
scenariosPath: string;
|
|
37
|
+
seams: string[];
|
|
38
|
+
visualDiffThreshold: number;
|
|
39
|
+
bootCommand: string;
|
|
40
|
+
port: number;
|
|
41
|
+
mockApiPattern: string;
|
|
42
|
+
appApiBase?: string | undefined;
|
|
43
|
+
schema?: {
|
|
44
|
+
sdlPath: string;
|
|
45
|
+
codegenOutput: string;
|
|
46
|
+
} | undefined;
|
|
47
|
+
}, {
|
|
48
|
+
projectKey: string;
|
|
49
|
+
apiBaseUrl: string;
|
|
50
|
+
seams: string[];
|
|
51
|
+
bootCommand: string;
|
|
52
|
+
port: number;
|
|
53
|
+
journeysGlob?: string | undefined;
|
|
54
|
+
scenariosPath?: string | undefined;
|
|
55
|
+
visualDiffThreshold?: number | undefined;
|
|
56
|
+
appApiBase?: string | undefined;
|
|
57
|
+
mockApiPattern?: string | undefined;
|
|
58
|
+
schema?: {
|
|
59
|
+
sdlPath: string;
|
|
60
|
+
codegenOutput: string;
|
|
61
|
+
} | undefined;
|
|
62
|
+
}>;
|
|
63
|
+
export type LockstepConfig = z.infer<typeof LockstepConfig>;
|
|
64
|
+
/** Project configuration stored on the platform side (projects.config JSONB). */
|
|
65
|
+
export declare const ProjectConfig: z.ZodObject<{
|
|
66
|
+
seams: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
67
|
+
visualDiffThreshold: z.ZodDefault<z.ZodNumber>;
|
|
68
|
+
defaultScenario: z.ZodOptional<z.ZodString>;
|
|
69
|
+
failOnUnresolvedNavigation: z.ZodDefault<z.ZodBoolean>;
|
|
70
|
+
}, "strip", z.ZodTypeAny, {
|
|
71
|
+
seams: string[];
|
|
72
|
+
visualDiffThreshold: number;
|
|
73
|
+
failOnUnresolvedNavigation: boolean;
|
|
74
|
+
defaultScenario?: string | undefined;
|
|
75
|
+
}, {
|
|
76
|
+
seams?: string[] | undefined;
|
|
77
|
+
visualDiffThreshold?: number | undefined;
|
|
78
|
+
defaultScenario?: string | undefined;
|
|
79
|
+
failOnUnresolvedNavigation?: boolean | undefined;
|
|
80
|
+
}>;
|
|
81
|
+
export type ProjectConfig = z.infer<typeof ProjectConfig>;
|
|
82
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,6DAA6D;AAC7D,eAAO,MAAM,cAAc;;;;;;;;;IAazB,mEAAmE;;IAEnE,wEAAwE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQxE,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,iFAAiF;AACjF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAKxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Fraction of differing pixels above which a screenshot is `changed` (rule 3) when neither the
|
|
4
|
+
* client's `lockstep.config.ts` nor the project's platform config says otherwise. The reconciler
|
|
5
|
+
* only reports scores; the API decides `changed` with the project's configured threshold.
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT_VISUAL_DIFF_THRESHOLD = 0.001;
|
|
8
|
+
/** Shape of `lockstep.config.ts` at the client repo root. */
|
|
9
|
+
export const LockstepConfig = z.object({
|
|
10
|
+
projectKey: z
|
|
11
|
+
.string()
|
|
12
|
+
.min(2)
|
|
13
|
+
.max(8)
|
|
14
|
+
.regex(/^[A-Z][A-Z0-9]*$/, 'project key must be uppercase, e.g. FERN'),
|
|
15
|
+
apiBaseUrl: z.string().url(),
|
|
16
|
+
journeysGlob: z.string().min(1).default('src/journeys/*.journey.ts'),
|
|
17
|
+
scenariosPath: z.string().min(1).default('src/journeys/scenarios.ts'),
|
|
18
|
+
seams: z.array(z.string().min(1)).min(6).max(8),
|
|
19
|
+
visualDiffThreshold: z.number().min(0).max(1).default(DEFAULT_VISUAL_DIFF_THRESHOLD),
|
|
20
|
+
bootCommand: z.string().min(1),
|
|
21
|
+
port: z.number().int().min(1).max(65535),
|
|
22
|
+
/** Base URL the app under test talks to; must be a mock origin. */
|
|
23
|
+
appApiBase: z.string().optional(),
|
|
24
|
+
/** Regex (string) the appApiBase must match for walks to be allowed. */
|
|
25
|
+
mockApiPattern: z.string().default('^(mock|msw):|localhost|127\\.0\\.0\\.1'),
|
|
26
|
+
schema: z
|
|
27
|
+
.object({
|
|
28
|
+
sdlPath: z.string().min(1),
|
|
29
|
+
codegenOutput: z.string().min(1),
|
|
30
|
+
})
|
|
31
|
+
.optional(),
|
|
32
|
+
});
|
|
33
|
+
/** Project configuration stored on the platform side (projects.config JSONB). */
|
|
34
|
+
export const ProjectConfig = z.object({
|
|
35
|
+
seams: z.array(z.string().min(1)).min(1).max(8).default([]),
|
|
36
|
+
visualDiffThreshold: z.number().min(0).max(1).default(DEFAULT_VISUAL_DIFF_THRESHOLD),
|
|
37
|
+
defaultScenario: z.string().optional(),
|
|
38
|
+
failOnUnresolvedNavigation: z.boolean().default(false),
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAEnD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;IACxE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;IACpE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC;IACpF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,mEAAmE;IACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,wEAAwE;IACxE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC;IAC5E,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACjC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAGH,iFAAiF;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC;IACpF,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,0BAA0B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACvD,CAAC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|