@zigrivers/scaffold 3.11.0 → 3.13.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/README.md +6 -5
- package/content/knowledge/core/automated-review-tooling.md +137 -140
- package/content/knowledge/core/multi-model-research-dispatch.md +27 -16
- package/content/knowledge/core/multi-model-review-dispatch.md +47 -6
- package/content/skills/multi-model-dispatch/SKILL.md +20 -22
- package/content/tools/post-implementation-review.md +71 -26
- package/content/tools/review-code.md +37 -11
- package/content/tools/review-pr.md +65 -23
- package/dist/cli/commands/build.test.js +1 -0
- package/dist/cli/commands/build.test.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +88 -77
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/init.test.js +30 -0
- package/dist/cli/commands/init.test.js.map +1 -1
- package/dist/cli/commands/knowledge.test.js +1 -0
- package/dist/cli/commands/knowledge.test.js.map +1 -1
- package/dist/cli/commands/run.test.js +1 -0
- package/dist/cli/commands/run.test.js.map +1 -1
- package/dist/cli/commands/skip.test.js +1 -0
- package/dist/cli/commands/skip.test.js.map +1 -1
- package/dist/cli/output/auto.d.ts +19 -6
- package/dist/cli/output/auto.d.ts.map +1 -1
- package/dist/cli/output/auto.js +10 -6
- package/dist/cli/output/auto.js.map +1 -1
- package/dist/cli/output/context.d.ts +23 -5
- package/dist/cli/output/context.d.ts.map +1 -1
- package/dist/cli/output/context.js.map +1 -1
- package/dist/cli/output/context.test.js +585 -0
- package/dist/cli/output/context.test.js.map +1 -1
- package/dist/cli/output/error-display.test.js +1 -0
- package/dist/cli/output/error-display.test.js.map +1 -1
- package/dist/cli/output/interactive.d.ts +19 -6
- package/dist/cli/output/interactive.d.ts.map +1 -1
- package/dist/cli/output/interactive.js +165 -59
- package/dist/cli/output/interactive.js.map +1 -1
- package/dist/cli/output/json.d.ts +19 -6
- package/dist/cli/output/json.d.ts.map +1 -1
- package/dist/cli/output/json.js +10 -6
- package/dist/cli/output/json.js.map +1 -1
- package/dist/core/assembly/overlay-state-resolver.test.js +1 -0
- package/dist/core/assembly/overlay-state-resolver.test.js.map +1 -1
- package/dist/e2e/game-pipeline.test.js +1 -0
- package/dist/e2e/game-pipeline.test.js.map +1 -1
- package/dist/e2e/init.test.js +1 -0
- package/dist/e2e/init.test.js.map +1 -1
- package/dist/e2e/project-type-overlays.test.js +1 -0
- package/dist/e2e/project-type-overlays.test.js.map +1 -1
- package/dist/wizard/copy/backend.d.ts +3 -0
- package/dist/wizard/copy/backend.d.ts.map +1 -0
- package/dist/wizard/copy/backend.js +49 -0
- package/dist/wizard/copy/backend.js.map +1 -0
- package/dist/wizard/copy/browser-extension.d.ts +3 -0
- package/dist/wizard/copy/browser-extension.d.ts.map +1 -0
- package/dist/wizard/copy/browser-extension.js +35 -0
- package/dist/wizard/copy/browser-extension.js.map +1 -0
- package/dist/wizard/copy/cli.d.ts +3 -0
- package/dist/wizard/copy/cli.d.ts.map +1 -0
- package/dist/wizard/copy/cli.js +40 -0
- package/dist/wizard/copy/cli.js.map +1 -0
- package/dist/wizard/copy/core.d.ts +3 -0
- package/dist/wizard/copy/core.d.ts.map +1 -0
- package/dist/wizard/copy/core.js +52 -0
- package/dist/wizard/copy/core.js.map +1 -0
- package/dist/wizard/copy/data-pipeline.d.ts +3 -0
- package/dist/wizard/copy/data-pipeline.d.ts.map +1 -0
- package/dist/wizard/copy/data-pipeline.js +66 -0
- package/dist/wizard/copy/data-pipeline.js.map +1 -0
- package/dist/wizard/copy/game.d.ts +3 -0
- package/dist/wizard/copy/game.d.ts.map +1 -0
- package/dist/wizard/copy/game.js +115 -0
- package/dist/wizard/copy/game.js.map +1 -0
- package/dist/wizard/copy/index.d.ts +8 -0
- package/dist/wizard/copy/index.d.ts.map +1 -0
- package/dist/wizard/copy/index.js +32 -0
- package/dist/wizard/copy/index.js.map +1 -0
- package/dist/wizard/copy/library.d.ts +3 -0
- package/dist/wizard/copy/library.d.ts.map +1 -0
- package/dist/wizard/copy/library.js +44 -0
- package/dist/wizard/copy/library.js.map +1 -0
- package/dist/wizard/copy/ml.d.ts +3 -0
- package/dist/wizard/copy/ml.d.ts.map +1 -0
- package/dist/wizard/copy/ml.js +45 -0
- package/dist/wizard/copy/ml.js.map +1 -0
- package/dist/wizard/copy/mobile-app.d.ts +3 -0
- package/dist/wizard/copy/mobile-app.d.ts.map +1 -0
- package/dist/wizard/copy/mobile-app.js +45 -0
- package/dist/wizard/copy/mobile-app.js.map +1 -0
- package/dist/wizard/copy/types.d.ts +60 -0
- package/dist/wizard/copy/types.d.ts.map +1 -0
- package/dist/wizard/copy/types.js +2 -0
- package/dist/wizard/copy/types.js.map +1 -0
- package/dist/wizard/copy/types.test-d.d.ts +2 -0
- package/dist/wizard/copy/types.test-d.d.ts.map +1 -0
- package/dist/wizard/copy/types.test-d.js +36 -0
- package/dist/wizard/copy/types.test-d.js.map +1 -0
- package/dist/wizard/copy/web-app.d.ts +3 -0
- package/dist/wizard/copy/web-app.d.ts.map +1 -0
- package/dist/wizard/copy/web-app.js +46 -0
- package/dist/wizard/copy/web-app.js.map +1 -0
- package/dist/wizard/questions.d.ts.map +1 -1
- package/dist/wizard/questions.js +87 -53
- package/dist/wizard/questions.js.map +1 -1
- package/dist/wizard/questions.test.js +3 -2
- package/dist/wizard/questions.test.js.map +1 -1
- package/dist/wizard/wizard.test.js +70 -0
- package/dist/wizard/wizard.test.js.map +1 -1
- package/package.json +1 -1
- package/skills/multi-model-dispatch/SKILL.md +20 -22
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export const mobileAppCopy = {
|
|
2
|
+
platform: {
|
|
3
|
+
short: 'Which mobile platform(s) the app targets.',
|
|
4
|
+
long: 'Single-platform gives native performance; cross-platform shares code across iOS and Android.',
|
|
5
|
+
options: {
|
|
6
|
+
ios: { label: 'iOS only', short: 'Native iOS app using Swift/SwiftUI.' },
|
|
7
|
+
android: { label: 'Android only', short: 'Native Android app using Kotlin/Jetpack Compose.' },
|
|
8
|
+
'cross-platform': {
|
|
9
|
+
label: 'Cross-platform',
|
|
10
|
+
short: 'Shared codebase for iOS and Android (React Native, Flutter, etc.).',
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
distributionModel: {
|
|
15
|
+
short: 'How the app reaches its users.',
|
|
16
|
+
long: 'Public apps go through app stores; private apps use enterprise distribution or MDM.',
|
|
17
|
+
options: {
|
|
18
|
+
public: {
|
|
19
|
+
label: 'Public (App Store / Google Play)',
|
|
20
|
+
short: 'Listed on public app stores for anyone to download.',
|
|
21
|
+
},
|
|
22
|
+
private: {
|
|
23
|
+
label: 'Private / Enterprise',
|
|
24
|
+
short: 'Distributed internally via MDM or enterprise signing.',
|
|
25
|
+
},
|
|
26
|
+
mixed: {
|
|
27
|
+
label: 'Mixed',
|
|
28
|
+
short: 'Both public store listing and private enterprise builds.',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
offlineSupport: {
|
|
33
|
+
short: 'How the app behaves without a network connection.',
|
|
34
|
+
long: 'Cache keeps recent data available; offline-first treats local storage as the primary data source.',
|
|
35
|
+
options: {
|
|
36
|
+
none: { label: 'None', short: 'Requires an active network connection to function.' },
|
|
37
|
+
cache: { label: 'Cache', short: 'Caches recent data for temporary offline access.' },
|
|
38
|
+
'offline-first': { label: 'Offline-first', short: 'Works fully offline — syncs data when connectivity returns.' },
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
hasPushNotifications: {
|
|
42
|
+
short: 'Enable push notification support (APNs / FCM).',
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=mobile-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile-app.js","sourceRoot":"","sources":["../../../src/wizard/copy/mobile-app.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,QAAQ,EAAE;QACR,KAAK,EAAE,2CAA2C;QAClD,IAAI,EAAE,8FAA8F;QACpG,OAAO,EAAE;YACP,GAAG,EAAe,EAAE,KAAK,EAAE,UAAU,EAAS,KAAK,EAAE,qCAAqC,EAAE;YAC5F,OAAO,EAAW,EAAE,KAAK,EAAE,cAAc,EAAK,KAAK,EAAE,kDAAkD,EAAE;YACzG,gBAAgB,EAAE;gBAChB,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,oEAAoE;aAC5E;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,gCAAgC;QACvC,IAAI,EAAE,qFAAqF;QAC3F,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,KAAK,EAAE,kCAAkC;gBACzC,KAAK,EAAE,qDAAqD;aAC7D;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,sBAAsB;gBAC7B,KAAK,EAAE,uDAAuD;aAC/D;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,0DAA0D;aAClE;SACF;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE,mDAAmD;QAC1D,IAAI,EAAE,mGAAmG;QACzG,OAAO,EAAE;YACP,IAAI,EAAa,EAAE,KAAK,EAAE,MAAM,EAAW,KAAK,EAAE,oDAAoD,EAAE;YACxG,KAAK,EAAY,EAAE,KAAK,EAAE,OAAO,EAAU,KAAK,EAAE,kDAAkD,EAAE;YACtG,eAAe,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,6DAA6D,EAAE;SAClH;KACF;IACD,oBAAoB,EAAE;QACpB,KAAK,EAAE,gDAAgD;KACxD;CACF,CAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ProjectType, MethodologyName, WebAppConfig, BackendConfig, CliConfig, LibraryConfig, MobileAppConfig, DataPipelineConfig, MlConfig, BrowserExtensionConfig, GameConfig } from '../../types/index.js';
|
|
2
|
+
export type ValueToOptionKey<T> = T extends readonly (infer U)[] ? U : T;
|
|
3
|
+
export type OptionCopy = {
|
|
4
|
+
label: string;
|
|
5
|
+
short?: string;
|
|
6
|
+
};
|
|
7
|
+
export type QuestionCopy<TValue = unknown> = {
|
|
8
|
+
short?: string;
|
|
9
|
+
long?: string;
|
|
10
|
+
options?: Extract<ValueToOptionKey<TValue>, string> extends never ? never : string extends Extract<ValueToOptionKey<TValue>, string> ? never : Record<Extract<ValueToOptionKey<TValue>, string>, OptionCopy>;
|
|
11
|
+
};
|
|
12
|
+
export type WebAppCopy = {
|
|
13
|
+
[K in keyof WebAppConfig]: QuestionCopy<WebAppConfig[K]>;
|
|
14
|
+
};
|
|
15
|
+
export type BackendCopy = {
|
|
16
|
+
[K in keyof BackendConfig]: QuestionCopy<BackendConfig[K]>;
|
|
17
|
+
};
|
|
18
|
+
export type CliCopy = {
|
|
19
|
+
[K in keyof CliConfig]: QuestionCopy<CliConfig[K]>;
|
|
20
|
+
};
|
|
21
|
+
export type LibraryCopy = {
|
|
22
|
+
[K in keyof LibraryConfig]: QuestionCopy<LibraryConfig[K]>;
|
|
23
|
+
};
|
|
24
|
+
export type MobileAppCopy = {
|
|
25
|
+
[K in keyof MobileAppConfig]: QuestionCopy<MobileAppConfig[K]>;
|
|
26
|
+
};
|
|
27
|
+
export type DataPipelineCopy = {
|
|
28
|
+
[K in keyof DataPipelineConfig]: QuestionCopy<DataPipelineConfig[K]>;
|
|
29
|
+
};
|
|
30
|
+
export type MlCopy = {
|
|
31
|
+
[K in keyof MlConfig]: QuestionCopy<MlConfig[K]>;
|
|
32
|
+
};
|
|
33
|
+
export type BrowserExtensionCopy = {
|
|
34
|
+
[K in keyof BrowserExtensionConfig]: QuestionCopy<BrowserExtensionConfig[K]>;
|
|
35
|
+
};
|
|
36
|
+
export type GameCopy = {
|
|
37
|
+
[K in keyof GameConfig]: QuestionCopy<GameConfig[K]>;
|
|
38
|
+
};
|
|
39
|
+
export type CoreCopy = {
|
|
40
|
+
methodology: QuestionCopy<MethodologyName>;
|
|
41
|
+
depth: QuestionCopy<string>;
|
|
42
|
+
codexAdapter: QuestionCopy<string>;
|
|
43
|
+
geminiAdapter: QuestionCopy<string>;
|
|
44
|
+
webTrait: QuestionCopy<string>;
|
|
45
|
+
mobileTrait: QuestionCopy<string>;
|
|
46
|
+
projectType: QuestionCopy<ProjectType>;
|
|
47
|
+
advancedGameGate: QuestionCopy<string>;
|
|
48
|
+
};
|
|
49
|
+
export interface ProjectCopyMap {
|
|
50
|
+
'web-app': WebAppCopy;
|
|
51
|
+
'backend': BackendCopy;
|
|
52
|
+
'cli': CliCopy;
|
|
53
|
+
'library': LibraryCopy;
|
|
54
|
+
'mobile-app': MobileAppCopy;
|
|
55
|
+
'data-pipeline': DataPipelineCopy;
|
|
56
|
+
'ml': MlCopy;
|
|
57
|
+
'browser-extension': BrowserExtensionCopy;
|
|
58
|
+
'game': GameCopy;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wizard/copy/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/wizard/copy/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.test-d.d.ts","sourceRoot":"","sources":["../../../src/wizard/copy/types.test-d.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { describe, it, expectTypeOf } from 'vitest';
|
|
2
|
+
describe('QuestionCopy type-level tests', () => {
|
|
3
|
+
it('WebAppCopy.renderingStrategy.options requires exact enum keys', () => {
|
|
4
|
+
expectTypeOf()
|
|
5
|
+
.toEqualTypeOf();
|
|
6
|
+
});
|
|
7
|
+
it('BackendCopy.dataStore.options requires array element enum keys', () => {
|
|
8
|
+
expectTypeOf()
|
|
9
|
+
.toEqualTypeOf();
|
|
10
|
+
});
|
|
11
|
+
it('LibraryCopy.hasTypeDefinitions cannot have options (boolean field)', () => {
|
|
12
|
+
const _ = {
|
|
13
|
+
short: 'x',
|
|
14
|
+
// @ts-expect-error -- options on boolean-typed fields should be forbidden
|
|
15
|
+
options: { 'true': { label: 'Yes' } },
|
|
16
|
+
};
|
|
17
|
+
void _;
|
|
18
|
+
});
|
|
19
|
+
it('GameCopy.supportedLocales cannot have options (bare string[])', () => {
|
|
20
|
+
const _ = {
|
|
21
|
+
short: 'x',
|
|
22
|
+
// @ts-expect-error -- options on free-text string[] fields should be forbidden
|
|
23
|
+
options: { 'en': { label: 'English' } },
|
|
24
|
+
};
|
|
25
|
+
void _;
|
|
26
|
+
});
|
|
27
|
+
it('CoreCopy.projectType.options requires exact ProjectType enum keys', () => {
|
|
28
|
+
expectTypeOf()
|
|
29
|
+
.toEqualTypeOf();
|
|
30
|
+
});
|
|
31
|
+
it('getCopyForType narrows to the correct type', () => {
|
|
32
|
+
expectTypeOf().toEqualTypeOf();
|
|
33
|
+
expectTypeOf().toEqualTypeOf();
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=types.test-d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.test-d.js","sourceRoot":"","sources":["../../../src/wizard/copy/types.test-d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAMnD,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,YAAY,EAA2D;aACpE,aAAa,EAAwD,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,YAAY,EAAoD;aAC7D,aAAa,EAA+D,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,GAAsC;YAC3C,KAAK,EAAE,GAAG;YACV,0EAA0E;YAC1E,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;SACtC,CAAA;QACD,KAAK,CAAC,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,GAAiC;YACtC,KAAK,EAAE,GAAG;YACV,+EAA+E;YAC/E,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;SACxC,CAAA;QACD,KAAK,CAAC,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,YAAY,EAAmD;aAC5D,aAAa,EAAmC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,YAAY,EAA6B,CAAC,aAAa,EAAc,CAAA;QACrE,YAAY,EAA0B,CAAC,aAAa,EAAY,CAAA;IAClE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-app.d.ts","sourceRoot":"","sources":["../../../src/wizard/copy/web-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,UAAU,EAAE,UA4CxB,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const webAppCopy = {
|
|
2
|
+
renderingStrategy: {
|
|
3
|
+
short: 'How the HTML is produced and delivered to the browser.',
|
|
4
|
+
long: 'SPA renders everything client-side; SSR renders on each request; '
|
|
5
|
+
+ 'SSG pre-builds at deploy time; Hybrid mixes strategies per route.',
|
|
6
|
+
options: {
|
|
7
|
+
spa: { label: 'SPA', short: 'Single-page app — all rendering happens in the browser.' },
|
|
8
|
+
ssr: { label: 'SSR', short: 'Server-side rendered on every request for dynamic content.' },
|
|
9
|
+
ssg: { label: 'SSG', short: 'Static site generation — pages pre-built at deploy time.' },
|
|
10
|
+
hybrid: { label: 'Hybrid', short: 'Mix of SSR and SSG, chosen per route.' },
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
deployTarget: {
|
|
14
|
+
short: 'Where the built app will be hosted.',
|
|
15
|
+
long: 'Determines infrastructure assumptions like compute availability, cold starts, and scaling model.',
|
|
16
|
+
options: {
|
|
17
|
+
static: { label: 'Static hosting', short: 'CDN-served files with no server compute.' },
|
|
18
|
+
serverless: {
|
|
19
|
+
label: 'Serverless',
|
|
20
|
+
short: 'Functions that spin up per request (e.g. AWS Lambda, Vercel).',
|
|
21
|
+
},
|
|
22
|
+
container: { label: 'Container', short: 'Docker container running in a managed cluster.' },
|
|
23
|
+
edge: { label: 'Edge', short: 'Code runs at CDN edge locations for low latency.' },
|
|
24
|
+
'long-running': { label: 'Long-running', short: 'Traditional always-on server process.' },
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
realtime: {
|
|
28
|
+
short: 'Whether the app needs a persistent connection for live updates.',
|
|
29
|
+
options: {
|
|
30
|
+
none: { label: 'None', short: 'Standard request/response — no live updates.' },
|
|
31
|
+
websocket: { label: 'WebSocket', short: 'Full-duplex persistent connection for bidirectional data.' },
|
|
32
|
+
sse: { label: 'SSE', short: 'Server-sent events — server pushes updates to client.' },
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
authFlow: {
|
|
36
|
+
short: 'How users prove their identity.',
|
|
37
|
+
long: 'Choosing "none" means the app has no login. Other options add auth scaffolding.',
|
|
38
|
+
options: {
|
|
39
|
+
none: { label: 'None', short: 'No authentication — the app is fully public.' },
|
|
40
|
+
session: { label: 'Session', short: 'Server-managed sessions with cookies.' },
|
|
41
|
+
oauth: { label: 'OAuth', short: 'Delegated login via a third-party provider.' },
|
|
42
|
+
passkey: { label: 'Passkey', short: 'WebAuthn / FIDO2 passwordless login.' },
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=web-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-app.js","sourceRoot":"","sources":["../../../src/wizard/copy/web-app.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,iBAAiB,EAAE;QACjB,KAAK,EAAE,wDAAwD;QAC/D,IAAI,EAAE,mEAAmE;cACrE,mEAAmE;QACvE,OAAO,EAAE;YACP,GAAG,EAAK,EAAE,KAAK,EAAE,KAAK,EAAK,KAAK,EAAE,yDAAyD,EAAE;YAC7F,GAAG,EAAK,EAAE,KAAK,EAAE,KAAK,EAAK,KAAK,EAAE,4DAA4D,EAAE;YAChG,GAAG,EAAK,EAAE,KAAK,EAAE,KAAK,EAAK,KAAK,EAAE,0DAA0D,EAAE;YAC9F,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,uCAAuC,EAAE;SAC5E;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,qCAAqC;QAC5C,IAAI,EAAE,kGAAkG;QACxG,OAAO,EAAE;YACP,MAAM,EAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAG,KAAK,EAAE,0CAA0C,EAAE;YAC7F,UAAU,EAAE;gBACV,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,+DAA+D;aACvE;YACD,SAAS,EAAK,EAAE,KAAK,EAAE,WAAW,EAAS,KAAK,EAAE,gDAAgD,EAAE;YACpG,IAAI,EAAU,EAAE,KAAK,EAAE,MAAM,EAAc,KAAK,EAAE,kDAAkD,EAAE;YACtG,cAAc,EAAE,EAAE,KAAK,EAAE,cAAc,EAAI,KAAK,EAAE,uCAAuC,EAAE;SAC5F;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,iEAAiE;QACxE,OAAO,EAAE;YACP,IAAI,EAAO,EAAE,KAAK,EAAE,MAAM,EAAO,KAAK,EAAE,8CAA8C,EAAE;YACxF,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,2DAA2D,EAAE;YACrG,GAAG,EAAQ,EAAE,KAAK,EAAE,KAAK,EAAQ,KAAK,EAAE,uDAAuD,EAAE;SAClG;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,iCAAiC;QACxC,IAAI,EAAE,iFAAiF;QACvF,OAAO,EAAE;YACP,IAAI,EAAK,EAAE,KAAK,EAAE,MAAM,EAAK,KAAK,EAAE,8CAA8C,EAAE;YACpF,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,uCAAuC,EAAE;YAC7E,KAAK,EAAI,EAAE,KAAK,EAAE,OAAO,EAAI,KAAK,EAAE,6CAA6C,EAAE;YACnF,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,sCAAsC,EAAE;SAC7E;KACF;CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/wizard/questions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EACV,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EACpD,SAAS,EAAE,aAAa,EAAE,eAAe,EACzC,kBAAkB,EAAE,QAAQ,EAAE,sBAAsB,EACrD,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAC5D,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,qBAAqB,EAClE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/wizard/questions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EACV,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EACpD,SAAS,EAAE,aAAa,EAAE,eAAe,EACzC,kBAAkB,EAAE,QAAQ,EAAE,sBAAsB,EACrD,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAC5D,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,qBAAqB,EAClE,MAAM,YAAY,CAAA;AAInB,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAA;IACtC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACxB,SAAS,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAA;IACpD,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;CAChD;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,MAAM,EAAE,aAAa,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,KAAK,CAAA;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IAEjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;CAC9C,GAAG,OAAO,CAAC,aAAa,CAAC,CA2lBzB"}
|