@l4yercak3/cli 1.3.2 → 2.0.0-alpha.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 +10 -220
- package/dist/api/client.d.ts +12 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +37 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/platform.d.ts +161 -0
- package/dist/api/platform.d.ts.map +1 -0
- package/dist/api/platform.js +70 -0
- package/dist/api/platform.js.map +1 -0
- package/dist/bin/sevenlayers.d.ts +3 -0
- package/dist/bin/sevenlayers.d.ts.map +1 -0
- package/dist/bin/sevenlayers.js +198 -0
- package/dist/bin/sevenlayers.js.map +1 -0
- package/dist/commands/agent/catalog.d.ts +5 -0
- package/dist/commands/agent/catalog.d.ts.map +1 -0
- package/dist/commands/agent/catalog.js +142 -0
- package/dist/commands/agent/catalog.js.map +1 -0
- package/dist/commands/agent/drift.d.ts +5 -0
- package/dist/commands/agent/drift.d.ts.map +1 -0
- package/dist/commands/agent/drift.js +113 -0
- package/dist/commands/agent/drift.js.map +1 -0
- package/dist/commands/agent/init.d.ts +5 -0
- package/dist/commands/agent/init.d.ts.map +1 -0
- package/dist/commands/agent/init.js +75 -0
- package/dist/commands/agent/init.js.map +1 -0
- package/dist/commands/agent/permissions.d.ts +5 -0
- package/dist/commands/agent/permissions.d.ts.map +1 -0
- package/dist/commands/agent/permissions.js +88 -0
- package/dist/commands/agent/permissions.js.map +1 -0
- package/dist/commands/agent/runner.d.ts +14 -0
- package/dist/commands/agent/runner.d.ts.map +1 -0
- package/dist/commands/agent/runner.js +59 -0
- package/dist/commands/agent/runner.js.map +1 -0
- package/dist/commands/agent/shared.d.ts +13 -0
- package/dist/commands/agent/shared.d.ts.map +1 -0
- package/dist/commands/agent/shared.js +31 -0
- package/dist/commands/agent/shared.js.map +1 -0
- package/dist/commands/agent/template.d.ts +5 -0
- package/dist/commands/agent/template.d.ts.map +1 -0
- package/dist/commands/agent/template.js +104 -0
- package/dist/commands/agent/template.js.map +1 -0
- package/dist/commands/app/connect.d.ts +7 -0
- package/dist/commands/app/connect.d.ts.map +1 -0
- package/dist/commands/app/connect.js +12 -0
- package/dist/commands/app/connect.js.map +1 -0
- package/dist/commands/app/init.d.ts +7 -0
- package/dist/commands/app/init.d.ts.map +1 -0
- package/dist/commands/app/init.js +12 -0
- package/dist/commands/app/init.js.map +1 -0
- package/dist/commands/app/link.d.ts +3 -0
- package/dist/commands/app/link.d.ts.map +1 -0
- package/dist/commands/app/link.js +92 -0
- package/dist/commands/app/link.js.map +1 -0
- package/dist/commands/app/pages.d.ts +15 -0
- package/dist/commands/app/pages.d.ts.map +1 -0
- package/dist/commands/app/pages.js +180 -0
- package/dist/commands/app/pages.js.map +1 -0
- package/dist/commands/app/register.d.ts +3 -0
- package/dist/commands/app/register.d.ts.map +1 -0
- package/dist/commands/app/register.js +120 -0
- package/dist/commands/app/register.js.map +1 -0
- package/dist/commands/app/remote.d.ts +14 -0
- package/dist/commands/app/remote.d.ts.map +1 -0
- package/dist/commands/app/remote.js +44 -0
- package/dist/commands/app/remote.js.map +1 -0
- package/dist/commands/app/setup.d.ts +3 -0
- package/dist/commands/app/setup.d.ts.map +1 -0
- package/dist/commands/app/setup.js +299 -0
- package/dist/commands/app/setup.js.map +1 -0
- package/dist/commands/app/shared.d.ts +9 -0
- package/dist/commands/app/shared.d.ts.map +1 -0
- package/dist/commands/app/shared.js +122 -0
- package/dist/commands/app/shared.js.map +1 -0
- package/dist/commands/app/sync.d.ts +7 -0
- package/dist/commands/app/sync.d.ts.map +1 -0
- package/dist/commands/app/sync.js +107 -0
- package/dist/commands/app/sync.js.map +1 -0
- package/dist/commands/booking/check.d.ts +3 -0
- package/dist/commands/booking/check.d.ts.map +1 -0
- package/dist/commands/booking/check.js +68 -0
- package/dist/commands/booking/check.js.map +1 -0
- package/dist/commands/booking/setup.d.ts +3 -0
- package/dist/commands/booking/setup.d.ts.map +1 -0
- package/dist/commands/booking/setup.js +95 -0
- package/dist/commands/booking/setup.js.map +1 -0
- package/dist/commands/booking/shared.d.ts +31 -0
- package/dist/commands/booking/shared.d.ts.map +1 -0
- package/dist/commands/booking/shared.js +112 -0
- package/dist/commands/booking/shared.js.map +1 -0
- package/dist/commands/booking/smoke.d.ts +3 -0
- package/dist/commands/booking/smoke.d.ts.map +1 -0
- package/dist/commands/booking/smoke.js +101 -0
- package/dist/commands/booking/smoke.js.map +1 -0
- package/dist/commands/cms/bind.d.ts +3 -0
- package/dist/commands/cms/bind.d.ts.map +1 -0
- package/dist/commands/cms/bind.js +212 -0
- package/dist/commands/cms/bind.js.map +1 -0
- package/dist/commands/cms/content.d.ts +40 -0
- package/dist/commands/cms/content.d.ts.map +1 -0
- package/dist/commands/cms/content.js +169 -0
- package/dist/commands/cms/content.js.map +1 -0
- package/dist/commands/cms/doctor.d.ts +3 -0
- package/dist/commands/cms/doctor.d.ts.map +1 -0
- package/dist/commands/cms/doctor.js +69 -0
- package/dist/commands/cms/doctor.js.map +1 -0
- package/dist/commands/cms/migrate.d.ts +3 -0
- package/dist/commands/cms/migrate.d.ts.map +1 -0
- package/dist/commands/cms/migrate.js +78 -0
- package/dist/commands/cms/migrate.js.map +1 -0
- package/dist/commands/cms/registry.d.ts +3 -0
- package/dist/commands/cms/registry.d.ts.map +1 -0
- package/dist/commands/cms/registry.js +161 -0
- package/dist/commands/cms/registry.js.map +1 -0
- package/dist/commands/cms/seed.d.ts +3 -0
- package/dist/commands/cms/seed.d.ts.map +1 -0
- package/dist/commands/cms/seed.js +102 -0
- package/dist/commands/cms/seed.js.map +1 -0
- package/dist/commands/cms/shared.d.ts +22 -0
- package/dist/commands/cms/shared.d.ts.map +1 -0
- package/dist/commands/cms/shared.js +82 -0
- package/dist/commands/cms/shared.js.map +1 -0
- package/dist/commands/doctor/target.d.ts +3 -0
- package/dist/commands/doctor/target.d.ts.map +1 -0
- package/dist/commands/doctor/target.js +46 -0
- package/dist/commands/doctor/target.js.map +1 -0
- package/dist/commands/env/list.d.ts +3 -0
- package/dist/commands/env/list.d.ts.map +1 -0
- package/dist/commands/env/list.js +28 -0
- package/dist/commands/env/list.js.map +1 -0
- package/dist/commands/env/set.d.ts +3 -0
- package/dist/commands/env/set.d.ts.map +1 -0
- package/dist/commands/env/set.js +36 -0
- package/dist/commands/env/set.js.map +1 -0
- package/dist/commands/env/use.d.ts +3 -0
- package/dist/commands/env/use.d.ts.map +1 -0
- package/dist/commands/env/use.js +15 -0
- package/dist/commands/env/use.js.map +1 -0
- package/dist/commands/legacy/connect.d.ts +3 -0
- package/dist/commands/legacy/connect.d.ts.map +1 -0
- package/dist/commands/legacy/connect.js +8 -0
- package/dist/commands/legacy/connect.js.map +1 -0
- package/dist/commands/legacy/pages.d.ts +3 -0
- package/dist/commands/legacy/pages.d.ts.map +1 -0
- package/dist/commands/legacy/pages.js +16 -0
- package/dist/commands/legacy/pages.js.map +1 -0
- package/dist/commands/legacy/spread.d.ts +3 -0
- package/dist/commands/legacy/spread.d.ts.map +1 -0
- package/dist/commands/legacy/spread.js +8 -0
- package/dist/commands/legacy/spread.js.map +1 -0
- package/dist/commands/legacy/sync.d.ts +3 -0
- package/dist/commands/legacy/sync.d.ts.map +1 -0
- package/dist/commands/legacy/sync.js +8 -0
- package/dist/commands/legacy/sync.js.map +1 -0
- package/dist/config/env-diff.d.ts +10 -0
- package/dist/config/env-diff.d.ts.map +1 -0
- package/dist/config/env-diff.js +24 -0
- package/dist/config/env-diff.js.map +1 -0
- package/dist/config/env-parser.d.ts +20 -0
- package/dist/config/env-parser.d.ts.map +1 -0
- package/dist/config/env-parser.js +70 -0
- package/dist/config/env-parser.js.map +1 -0
- package/dist/config/env-writer.d.ts +22 -0
- package/dist/config/env-writer.d.ts.map +1 -0
- package/dist/config/env-writer.js +172 -0
- package/dist/config/env-writer.js.map +1 -0
- package/dist/config/profile-store.d.ts +29 -0
- package/dist/config/profile-store.d.ts.map +1 -0
- package/dist/config/profile-store.js +257 -0
- package/dist/config/profile-store.js.map +1 -0
- package/dist/core/args.d.ts +11 -0
- package/dist/core/args.d.ts.map +1 -0
- package/dist/core/args.js +106 -0
- package/dist/core/args.js.map +1 -0
- package/dist/core/colors.d.ts +6 -0
- package/dist/core/colors.d.ts.map +1 -0
- package/dist/core/colors.js +29 -0
- package/dist/core/colors.js.map +1 -0
- package/dist/safety/target-guard.d.ts +16 -0
- package/dist/safety/target-guard.d.ts.map +1 -0
- package/dist/safety/target-guard.js +55 -0
- package/dist/safety/target-guard.js.map +1 -0
- package/dist/testing/booking-smoke.d.ts +17 -0
- package/dist/testing/booking-smoke.d.ts.map +1 -0
- package/dist/testing/booking-smoke.js +43 -0
- package/dist/testing/booking-smoke.js.map +1 -0
- package/dist/tests/agent-commands.test.d.ts +2 -0
- package/dist/tests/agent-commands.test.d.ts.map +1 -0
- package/dist/tests/agent-commands.test.js +180 -0
- package/dist/tests/agent-commands.test.js.map +1 -0
- package/dist/tests/agent-governance.test.d.ts +2 -0
- package/dist/tests/agent-governance.test.d.ts.map +1 -0
- package/dist/tests/agent-governance.test.js +233 -0
- package/dist/tests/agent-governance.test.js.map +1 -0
- package/dist/tests/app-commands.test.d.ts +2 -0
- package/dist/tests/app-commands.test.d.ts.map +1 -0
- package/dist/tests/app-commands.test.js +462 -0
- package/dist/tests/app-commands.test.js.map +1 -0
- package/dist/tests/booking-commands.test.d.ts +2 -0
- package/dist/tests/booking-commands.test.d.ts.map +1 -0
- package/dist/tests/booking-commands.test.js +204 -0
- package/dist/tests/booking-commands.test.js.map +1 -0
- package/dist/tests/booking-smoke.test.d.ts +2 -0
- package/dist/tests/booking-smoke.test.d.ts.map +1 -0
- package/dist/tests/booking-smoke.test.js +183 -0
- package/dist/tests/booking-smoke.test.js.map +1 -0
- package/dist/tests/cms-commands.test.d.ts +2 -0
- package/dist/tests/cms-commands.test.d.ts.map +1 -0
- package/dist/tests/cms-commands.test.js +254 -0
- package/dist/tests/cms-commands.test.js.map +1 -0
- package/dist/tests/cms-ops.test.d.ts +2 -0
- package/dist/tests/cms-ops.test.d.ts.map +1 -0
- package/dist/tests/cms-ops.test.js +125 -0
- package/dist/tests/cms-ops.test.js.map +1 -0
- package/dist/tests/env-writer.test.d.ts +2 -0
- package/dist/tests/env-writer.test.d.ts.map +1 -0
- package/dist/tests/env-writer.test.js +90 -0
- package/dist/tests/env-writer.test.js.map +1 -0
- package/dist/tests/profile-store.test.d.ts +2 -0
- package/dist/tests/profile-store.test.d.ts.map +1 -0
- package/dist/tests/profile-store.test.js +88 -0
- package/dist/tests/profile-store.test.js.map +1 -0
- package/dist/tests/target-guard.test.d.ts +2 -0
- package/dist/tests/target-guard.test.d.ts.map +1 -0
- package/dist/tests/target-guard.test.js +132 -0
- package/dist/tests/target-guard.test.js.map +1 -0
- package/dist/ui/logo.d.ts +2 -0
- package/dist/ui/logo.d.ts.map +1 -0
- package/dist/ui/logo.js +22 -0
- package/dist/ui/logo.js.map +1 -0
- package/package.json +17 -53
- package/.claude/settings.local.json +0 -36
- package/.cursor/rules.md +0 -203
- package/.eslintrc.js +0 -31
- package/CLAUDE.md +0 -100
- package/bin/cli.js +0 -116
- package/docs/ADDING_FRAMEWORK_DETECTORS.md +0 -391
- package/docs/ADDING_NEW_PROJECT_TYPE.md +0 -156
- package/docs/ARCHITECTURE_RELATIONSHIPS.md +0 -411
- package/docs/CLI_AUTHENTICATION.md +0 -214
- package/docs/CLI_PAGE_DETECTION_REQUIREMENTS.md +0 -519
- package/docs/CRM-PIPELINES-SEQUENCES-SPEC.md +0 -429
- package/docs/DETECTOR_ARCHITECTURE.md +0 -326
- package/docs/DEVELOPMENT.md +0 -194
- package/docs/IMPLEMENTATION_PHASES.md +0 -468
- package/docs/INTEGRATION_PATHS_ARCHITECTURE.md +0 -1543
- package/docs/OAUTH_CLARIFICATION.md +0 -258
- package/docs/OAUTH_SETUP_GUIDE_TEMPLATE.md +0 -211
- package/docs/PHASE_0_PROGRESS.md +0 -120
- package/docs/PHASE_1_COMPLETE.md +0 -366
- package/docs/PHASE_SUMMARY.md +0 -149
- package/docs/PLAN.md +0 -511
- package/docs/README.md +0 -56
- package/docs/STRIPE_INTEGRATION.md +0 -447
- package/docs/SUMMARY.md +0 -230
- package/docs/UPDATED_PLAN.md +0 -447
- package/docs/mcp_server/MCP_EXTENSION_GUIDE.md +0 -1313
- package/docs/mcp_server/MCP_SERVER_ARCHITECTURE.md +0 -1481
- package/docs/mcp_server/applicationOntology.ts +0 -817
- package/docs/mcp_server/cliApplications.ts +0 -639
- package/docs/mcp_server/crmOntology.ts +0 -1063
- package/docs/mcp_server/eventOntology.ts +0 -1183
- package/docs/mcp_server/formsOntology.ts +0 -1401
- package/docs/mcp_server/ontologySchemas.ts +0 -185
- package/docs/mcp_server/schema.ts +0 -250
- package/docs/microsass_production_machine/CLI_API_REFERENCE.md +0 -1197
- package/docs/microsass_production_machine/CLI_PRODUCT_VISION.md +0 -676
- package/docs/microsass_production_machine/CLI_REQUIREMENTS.md +0 -606
- package/docs/microsass_production_machine/CONNECTED_APPLICATIONS_SPEC.md +0 -390
- package/docs/microsass_production_machine/IMPLEMENTATION_ROADMAP.md +0 -725
- package/docs/microsass_production_machine/OBJECT_MAPPINGS.md +0 -808
- package/docs/microsass_production_machine/REFERENCE_IMPLEMENTATION.md +0 -532
- package/src/api/backend-client.js +0 -449
- package/src/commands/api-keys.js +0 -119
- package/src/commands/connect.js +0 -253
- package/src/commands/login.js +0 -332
- package/src/commands/logout.js +0 -30
- package/src/commands/mcp-server.js +0 -85
- package/src/commands/mcp-setup.js +0 -686
- package/src/commands/pages.js +0 -317
- package/src/commands/scaffold.js +0 -409
- package/src/commands/spread.js +0 -861
- package/src/commands/status.js +0 -62
- package/src/commands/sync.js +0 -169
- package/src/commands/upgrade.js +0 -48
- package/src/config/config-manager.js +0 -206
- package/src/detectors/api-client-detector.js +0 -85
- package/src/detectors/base-detector.js +0 -77
- package/src/detectors/database-detector.js +0 -245
- package/src/detectors/expo-detector.js +0 -166
- package/src/detectors/github-detector.js +0 -74
- package/src/detectors/index.js +0 -106
- package/src/detectors/mapping-suggestor.js +0 -119
- package/src/detectors/model-detector.js +0 -318
- package/src/detectors/nextjs-detector.js +0 -139
- package/src/detectors/oauth-detector.js +0 -122
- package/src/detectors/page-detector.js +0 -480
- package/src/detectors/registry.js +0 -121
- package/src/generators/api-client-generator.js +0 -223
- package/src/generators/api-only/client.js +0 -683
- package/src/generators/api-only/index.js +0 -96
- package/src/generators/api-only/types.js +0 -618
- package/src/generators/api-only/webhooks.js +0 -377
- package/src/generators/env-generator.js +0 -191
- package/src/generators/expo-auth-generator.js +0 -1009
- package/src/generators/gitignore-generator.js +0 -92
- package/src/generators/index.js +0 -166
- package/src/generators/manifest-generator.js +0 -154
- package/src/generators/mcp-guide-generator.js +0 -256
- package/src/generators/nextauth-generator.js +0 -247
- package/src/generators/oauth-guide-generator.js +0 -277
- package/src/generators/quickstart/components/index.js +0 -1699
- package/src/generators/quickstart/components-mobile/index.js +0 -1440
- package/src/generators/quickstart/database/convex.js +0 -1257
- package/src/generators/quickstart/database/index.js +0 -34
- package/src/generators/quickstart/database/supabase.js +0 -1132
- package/src/generators/quickstart/hooks/index.js +0 -1065
- package/src/generators/quickstart/index.js +0 -191
- package/src/generators/quickstart/pages/index.js +0 -1466
- package/src/generators/quickstart/screens/index.js +0 -1498
- package/src/logo.js +0 -116
- package/src/mcp/auth.js +0 -127
- package/src/mcp/registry/domains/applications.js +0 -516
- package/src/mcp/registry/domains/benefits.js +0 -798
- package/src/mcp/registry/domains/codegen.js +0 -894
- package/src/mcp/registry/domains/core.js +0 -324
- package/src/mcp/registry/domains/crm.js +0 -591
- package/src/mcp/registry/domains/events.js +0 -649
- package/src/mcp/registry/domains/forms.js +0 -696
- package/src/mcp/registry/index.js +0 -164
- package/src/mcp/server.js +0 -116
- package/src/utils/file-utils.js +0 -117
- package/src/utils/init-helpers.js +0 -243
- package/src/utils/prompt-utils.js +0 -195
- package/templates/CLAUDE.md +0 -86
- package/tests/api-client-detector.test.js +0 -214
- package/tests/api-client-generator.test.js +0 -176
- package/tests/backend-client.test.js +0 -640
- package/tests/base-detector.test.js +0 -101
- package/tests/commands/login.test.js +0 -143
- package/tests/commands/logout.test.js +0 -84
- package/tests/commands/status.test.js +0 -167
- package/tests/config-manager.test.js +0 -321
- package/tests/database-detector.test.js +0 -221
- package/tests/detector-index.test.js +0 -209
- package/tests/detector-registry.test.js +0 -93
- package/tests/env-generator.test.js +0 -278
- package/tests/expo-detector.test.js +0 -263
- package/tests/file-utils.test.js +0 -194
- package/tests/generators-index.test.js +0 -454
- package/tests/github-detector.test.js +0 -145
- package/tests/gitignore-generator.test.js +0 -109
- package/tests/logo.test.js +0 -96
- package/tests/nextauth-generator.test.js +0 -255
- package/tests/nextjs-detector.test.js +0 -235
- package/tests/oauth-detector.test.js +0 -264
- package/tests/oauth-guide-generator.test.js +0 -273
- package/tests/page-detector.test.js +0 -371
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleAppSetup = handleAppSetup;
|
|
7
|
+
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const package_json_1 = __importDefault(require("../../../package.json"));
|
|
10
|
+
const args_1 = require("../../core/args");
|
|
11
|
+
const colors_1 = require("../../core/colors");
|
|
12
|
+
const remote_1 = require("./remote");
|
|
13
|
+
const env_diff_1 = require("../../config/env-diff");
|
|
14
|
+
const env_writer_1 = require("../../config/env-writer");
|
|
15
|
+
const profile_store_1 = require("../../config/profile-store");
|
|
16
|
+
const shared_1 = require("../cms/shared");
|
|
17
|
+
function printUsage() {
|
|
18
|
+
console.log((0, colors_1.colorOrange)("Usage: sevenlayers app setup [options]"));
|
|
19
|
+
console.log("");
|
|
20
|
+
console.log("Setup options:");
|
|
21
|
+
console.log(" --env <profile> Target profile (local|staging|prod)");
|
|
22
|
+
console.log(" --org-id <id> Target organization id");
|
|
23
|
+
console.log(" --name <name> Application name (default: current folder)");
|
|
24
|
+
console.log(" --description <text> Application description");
|
|
25
|
+
console.log(" --framework <name> Framework marker (default: unknown)");
|
|
26
|
+
console.log(" --router-type <type> Router type marker (app/pages/etc.)");
|
|
27
|
+
console.log(" --typescript Mark project as TypeScript");
|
|
28
|
+
console.log(" --project-path-hash <hash> Optional stable project hash override");
|
|
29
|
+
console.log(" --feature <name> Repeated or comma-separated feature flags");
|
|
30
|
+
console.log(" --has-frontend-database Mark app as frontend-db connected");
|
|
31
|
+
console.log(" --frontend-db-type <type> Frontend DB type marker");
|
|
32
|
+
console.log(" --registry-id <id> Override CMS registry id for feature pin");
|
|
33
|
+
console.log(" --skip-cms-registry Skip CMS registry feature pin");
|
|
34
|
+
console.log("");
|
|
35
|
+
console.log("Env write options:");
|
|
36
|
+
console.log(" --env-file <path> Env file path (default: .env.local)");
|
|
37
|
+
console.log(" --api-key <value> Set L4YERCAK3_API_KEY in env file");
|
|
38
|
+
console.log(" --replace-existing Replace existing managed env values");
|
|
39
|
+
console.log(" --backup-path <path> Custom backup path for env file writes");
|
|
40
|
+
console.log(" --skip-env-write Skip env file updates");
|
|
41
|
+
console.log("");
|
|
42
|
+
console.log("Auth + safety:");
|
|
43
|
+
console.log(" --token <value> API token (or use env vars)");
|
|
44
|
+
console.log(" --yes --confirm-prod PROD Required on confirm-gated targets");
|
|
45
|
+
console.log(" --json Output deterministic JSON");
|
|
46
|
+
console.log(" --help Show this help");
|
|
47
|
+
}
|
|
48
|
+
function hashProjectPath(projectPath) {
|
|
49
|
+
return node_crypto_1.default.createHash("sha256").update(projectPath).digest("hex");
|
|
50
|
+
}
|
|
51
|
+
function normalizeOptionalString(value) {
|
|
52
|
+
if (typeof value !== "string") {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
const normalized = value.trim();
|
|
56
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
57
|
+
}
|
|
58
|
+
function deriveConvexCloudUrl(apiEndpointUrl) {
|
|
59
|
+
const normalized = apiEndpointUrl.trim();
|
|
60
|
+
if (!normalized.includes(".convex.site")) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
return normalized.replace(".convex.site", ".convex.cloud");
|
|
64
|
+
}
|
|
65
|
+
function toComparableProfile(profile) {
|
|
66
|
+
if (!profile) {
|
|
67
|
+
return "missing";
|
|
68
|
+
}
|
|
69
|
+
return JSON.stringify({
|
|
70
|
+
name: profile.name,
|
|
71
|
+
backendUrl: profile.backendUrl,
|
|
72
|
+
appUrl: profile.appUrl ?? "",
|
|
73
|
+
defaultOrgId: profile.defaultOrgId ?? "",
|
|
74
|
+
defaultAppId: profile.defaultAppId ?? "",
|
|
75
|
+
requiresConfirmation: profile.requiresConfirmation
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
async function resolveProfileName(parsed) {
|
|
79
|
+
const explicit = (0, args_1.getOptionString)(parsed, "env") ?? (0, args_1.getOptionString)(parsed, "profile");
|
|
80
|
+
if (explicit) {
|
|
81
|
+
return explicit;
|
|
82
|
+
}
|
|
83
|
+
const store = await (0, profile_store_1.loadProfileStore)();
|
|
84
|
+
return store.activeProfile;
|
|
85
|
+
}
|
|
86
|
+
async function seedProfileDefaults(parsed) {
|
|
87
|
+
const profileName = await resolveProfileName(parsed);
|
|
88
|
+
const existing = await (0, profile_store_1.getProfile)(profileName);
|
|
89
|
+
const defaults = (0, profile_store_1.getBootstrapProfileDefaults)(profileName);
|
|
90
|
+
const backendUrl = normalizeOptionalString(existing?.backendUrl)
|
|
91
|
+
?? normalizeOptionalString(defaults.backendUrl);
|
|
92
|
+
const appUrl = normalizeOptionalString(existing?.appUrl)
|
|
93
|
+
?? normalizeOptionalString(defaults.appUrl);
|
|
94
|
+
const defaultOrgId = normalizeOptionalString((0, args_1.getOptionString)(parsed, "org-id"))
|
|
95
|
+
?? normalizeOptionalString(existing?.defaultOrgId);
|
|
96
|
+
const defaultAppId = normalizeOptionalString((0, args_1.getOptionString)(parsed, "app-id"))
|
|
97
|
+
?? normalizeOptionalString(existing?.defaultAppId);
|
|
98
|
+
const requiresConfirmation = (0, args_1.hasOption)(parsed, "requires-confirmation")
|
|
99
|
+
? (0, args_1.getOptionBoolean)(parsed, "requires-confirmation")
|
|
100
|
+
: (existing?.requiresConfirmation ?? defaults.requiresConfirmation);
|
|
101
|
+
if (!backendUrl) {
|
|
102
|
+
throw new Error(`No backend URL resolved for profile '${profileName}'. Configure profile defaults via env set or profiles.json.`);
|
|
103
|
+
}
|
|
104
|
+
await (0, profile_store_1.upsertProfile)({
|
|
105
|
+
name: profileName,
|
|
106
|
+
backendUrl,
|
|
107
|
+
appUrl,
|
|
108
|
+
defaultOrgId,
|
|
109
|
+
defaultAppId,
|
|
110
|
+
requiresConfirmation
|
|
111
|
+
});
|
|
112
|
+
await (0, profile_store_1.setActiveProfile)(profileName);
|
|
113
|
+
const seeded = await (0, profile_store_1.getProfile)(profileName);
|
|
114
|
+
if (!seeded) {
|
|
115
|
+
throw new Error(`Profile '${profileName}' could not be resolved after setup.`);
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
profileName,
|
|
119
|
+
profileSeeded: toComparableProfile(existing) !== toComparableProfile(seeded),
|
|
120
|
+
profile: seeded
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function buildManagedEnvUpdates(args) {
|
|
124
|
+
const updates = [];
|
|
125
|
+
const apiKey = (0, args_1.getOptionString)(args.parsed, "api-key") ?? process.env.L4YERCAK3_API_KEY;
|
|
126
|
+
if (apiKey && apiKey.trim().length > 0) {
|
|
127
|
+
updates.push({ key: "L4YERCAK3_API_KEY", value: apiKey.trim() });
|
|
128
|
+
}
|
|
129
|
+
updates.push({ key: "L4YERCAK3_BACKEND_URL", value: args.backendUrl });
|
|
130
|
+
updates.push({ key: "NEXT_PUBLIC_L4YERCAK3_BACKEND_URL", value: args.backendUrl });
|
|
131
|
+
updates.push({ key: "NEXT_PUBLIC_API_ENDPOINT_URL", value: args.backendUrl });
|
|
132
|
+
const convexCloudUrl = deriveConvexCloudUrl(args.backendUrl);
|
|
133
|
+
if (convexCloudUrl) {
|
|
134
|
+
updates.push({ key: "NEXT_PUBLIC_CONVEX_URL", value: convexCloudUrl });
|
|
135
|
+
}
|
|
136
|
+
updates.push({ key: "L4YERCAK3_APP_ID", value: args.applicationId });
|
|
137
|
+
if (args.organizationId && args.organizationId.trim().length > 0) {
|
|
138
|
+
updates.push({ key: "L4YERCAK3_ORG_ID", value: args.organizationId });
|
|
139
|
+
updates.push({ key: "L4YERCAK3_ORGANIZATION_ID", value: args.organizationId });
|
|
140
|
+
}
|
|
141
|
+
return updates;
|
|
142
|
+
}
|
|
143
|
+
function toComparableFeatureSet(features) {
|
|
144
|
+
if (!Array.isArray(features)) {
|
|
145
|
+
return "";
|
|
146
|
+
}
|
|
147
|
+
return features
|
|
148
|
+
.filter((value) => typeof value === "string")
|
|
149
|
+
.slice()
|
|
150
|
+
.sort()
|
|
151
|
+
.join("|");
|
|
152
|
+
}
|
|
153
|
+
async function handleAppSetup(parsed) {
|
|
154
|
+
if ((0, args_1.getOptionBoolean)(parsed, "help")) {
|
|
155
|
+
printUsage();
|
|
156
|
+
return 0;
|
|
157
|
+
}
|
|
158
|
+
const profileSeed = await seedProfileDefaults(parsed);
|
|
159
|
+
const command = await (0, remote_1.resolveRemoteCommand)(parsed, {
|
|
160
|
+
requireOrgApp: false,
|
|
161
|
+
mutatingCommand: true
|
|
162
|
+
});
|
|
163
|
+
if (!command.target.orgId) {
|
|
164
|
+
throw new Error("app setup requires an organization target. Provide --org-id or set defaultOrgId on the target profile.");
|
|
165
|
+
}
|
|
166
|
+
const projectPath = node_path_1.default.resolve(process.cwd());
|
|
167
|
+
const appName = (0, args_1.getOptionString)(parsed, "name") ?? node_path_1.default.basename(projectPath);
|
|
168
|
+
const sourceHash = (0, args_1.getOptionString)(parsed, "project-path-hash") ?? hashProjectPath(projectPath);
|
|
169
|
+
const features = (0, args_1.getOptionStringArray)(parsed, "feature");
|
|
170
|
+
const registerPayload = {
|
|
171
|
+
organizationId: command.target.orgId,
|
|
172
|
+
name: appName,
|
|
173
|
+
description: (0, args_1.getOptionString)(parsed, "description"),
|
|
174
|
+
source: {
|
|
175
|
+
type: "cli",
|
|
176
|
+
projectPathHash: sourceHash,
|
|
177
|
+
cliVersion: package_json_1.default.version,
|
|
178
|
+
framework: (0, args_1.getOptionString)(parsed, "framework") ?? "unknown",
|
|
179
|
+
routerType: (0, args_1.getOptionString)(parsed, "router-type"),
|
|
180
|
+
hasTypeScript: (0, args_1.getOptionBoolean)(parsed, "typescript")
|
|
181
|
+
},
|
|
182
|
+
connection: {
|
|
183
|
+
features,
|
|
184
|
+
hasFrontendDatabase: (0, args_1.hasOption)(parsed, "has-frontend-database")
|
|
185
|
+
? (0, args_1.getOptionBoolean)(parsed, "has-frontend-database")
|
|
186
|
+
: undefined,
|
|
187
|
+
frontendDatabaseType: (0, args_1.getOptionString)(parsed, "frontend-db-type")
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
const registerResult = await command.api.registerApplication(registerPayload);
|
|
191
|
+
const profileAfterRegister = await (0, profile_store_1.getProfile)(command.target.profileName);
|
|
192
|
+
if (!profileAfterRegister) {
|
|
193
|
+
throw new Error(`Profile '${command.target.profileName}' not found after app register.`);
|
|
194
|
+
}
|
|
195
|
+
await (0, profile_store_1.upsertProfile)({
|
|
196
|
+
name: profileAfterRegister.name,
|
|
197
|
+
backendUrl: profileAfterRegister.backendUrl,
|
|
198
|
+
appUrl: profileAfterRegister.appUrl,
|
|
199
|
+
defaultOrgId: command.target.orgId ?? profileAfterRegister.defaultOrgId,
|
|
200
|
+
defaultAppId: registerResult.applicationId,
|
|
201
|
+
requiresConfirmation: profileAfterRegister.requiresConfirmation
|
|
202
|
+
});
|
|
203
|
+
const skipEnvWrite = (0, args_1.getOptionBoolean)(parsed, "skip-env-write");
|
|
204
|
+
const envFilePath = node_path_1.default.resolve(process.cwd(), (0, args_1.getOptionString)(parsed, "env-file") ?? ".env.local");
|
|
205
|
+
const envWriteMode = (0, args_1.getOptionBoolean)(parsed, "replace-existing") ? "replace-key" : "upsert";
|
|
206
|
+
const envWriteResult = skipEnvWrite
|
|
207
|
+
? null
|
|
208
|
+
: await (0, env_writer_1.writeEnvFile)(envFilePath, buildManagedEnvUpdates({
|
|
209
|
+
parsed,
|
|
210
|
+
backendUrl: command.target.backendUrl,
|
|
211
|
+
organizationId: command.target.orgId,
|
|
212
|
+
applicationId: registerResult.applicationId
|
|
213
|
+
}), {
|
|
214
|
+
mode: envWriteMode,
|
|
215
|
+
backupPath: (0, args_1.getOptionString)(parsed, "backup-path")
|
|
216
|
+
});
|
|
217
|
+
const skipCmsRegistry = (0, args_1.getOptionBoolean)(parsed, "skip-cms-registry");
|
|
218
|
+
let cmsRegistryResult = {
|
|
219
|
+
skipped: skipCmsRegistry,
|
|
220
|
+
registryId: null,
|
|
221
|
+
source: null,
|
|
222
|
+
updated: false
|
|
223
|
+
};
|
|
224
|
+
if (!skipCmsRegistry) {
|
|
225
|
+
const application = await command.api.getApplication(registerResult.applicationId);
|
|
226
|
+
const selectedRegistry = (0, shared_1.resolveCmsRegistrySelection)(parsed, application.application);
|
|
227
|
+
const currentFeatures = application.application.connection?.features;
|
|
228
|
+
const nextFeatures = (0, shared_1.mergeCmsRegistryFeature)(currentFeatures, selectedRegistry.registryId);
|
|
229
|
+
const featuresChanged = toComparableFeatureSet(currentFeatures) !== toComparableFeatureSet(nextFeatures);
|
|
230
|
+
if (featuresChanged) {
|
|
231
|
+
await command.api.updateApplication(registerResult.applicationId, {
|
|
232
|
+
connection: {
|
|
233
|
+
features: nextFeatures
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
cmsRegistryResult = {
|
|
238
|
+
skipped: false,
|
|
239
|
+
registryId: selectedRegistry.registryId,
|
|
240
|
+
source: selectedRegistry.source,
|
|
241
|
+
updated: featuresChanged
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
if (command.json) {
|
|
245
|
+
console.log(JSON.stringify({
|
|
246
|
+
success: true,
|
|
247
|
+
profile: command.target.profileName,
|
|
248
|
+
organizationId: command.target.orgId,
|
|
249
|
+
backendUrl: command.target.backendUrl,
|
|
250
|
+
applicationId: registerResult.applicationId,
|
|
251
|
+
existingApplication: registerResult.existingApplication,
|
|
252
|
+
profileSeeded: profileSeed.profileSeeded,
|
|
253
|
+
profileDefaultsUpdated: true,
|
|
254
|
+
envWrite: envWriteResult
|
|
255
|
+
? {
|
|
256
|
+
skipped: false,
|
|
257
|
+
filePath: envWriteResult.filePath,
|
|
258
|
+
mode: envWriteResult.mode,
|
|
259
|
+
applied: envWriteResult.applied,
|
|
260
|
+
changes: envWriteResult.changes
|
|
261
|
+
}
|
|
262
|
+
: { skipped: true },
|
|
263
|
+
cmsRegistry: cmsRegistryResult
|
|
264
|
+
}, null, 2));
|
|
265
|
+
return 0;
|
|
266
|
+
}
|
|
267
|
+
console.log((0, colors_1.colorGreen)("Application setup completed."));
|
|
268
|
+
console.log((0, colors_1.colorGray)(`Profile: ${command.target.profileName}`));
|
|
269
|
+
console.log((0, colors_1.colorGray)(`Organization: ${command.target.orgId}`));
|
|
270
|
+
console.log((0, colors_1.colorGray)(`Application: ${registerResult.applicationId}`));
|
|
271
|
+
console.log((0, colors_1.colorGray)(`Existing registration: ${registerResult.existingApplication ? "yes" : "no"}`));
|
|
272
|
+
if (profileSeed.profileSeeded) {
|
|
273
|
+
console.log((0, colors_1.colorGray)("Profile defaults were bootstrapped/updated for this setup run."));
|
|
274
|
+
}
|
|
275
|
+
if (envWriteResult) {
|
|
276
|
+
console.log("");
|
|
277
|
+
console.log((0, colors_1.colorOrange)(`Env file: ${envWriteResult.filePath}`));
|
|
278
|
+
console.log((0, colors_1.colorOrange)(`Env mode: ${envWriteResult.mode}`));
|
|
279
|
+
console.log((0, env_diff_1.formatEnvChanges)(envWriteResult.changes));
|
|
280
|
+
if (!envWriteResult.applied) {
|
|
281
|
+
console.log((0, colors_1.colorGray)("No env file write performed (no mutable changes)."));
|
|
282
|
+
}
|
|
283
|
+
else if (envWriteResult.backupPath) {
|
|
284
|
+
console.log((0, colors_1.colorGray)(`Env backup: ${envWriteResult.backupPath}`));
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
console.log((0, colors_1.colorGray)("Env update skipped (--skip-env-write)."));
|
|
289
|
+
}
|
|
290
|
+
if (!cmsRegistryResult.skipped && cmsRegistryResult.registryId) {
|
|
291
|
+
console.log((0, colors_1.colorGray)(`CMS registry ${cmsRegistryResult.updated ? "pinned" : "already pinned"}: ` +
|
|
292
|
+
`${cmsRegistryResult.registryId} (${cmsRegistryResult.source})`));
|
|
293
|
+
}
|
|
294
|
+
else if (cmsRegistryResult.skipped) {
|
|
295
|
+
console.log((0, colors_1.colorGray)("CMS registry feature update skipped (--skip-cms-registry)."));
|
|
296
|
+
}
|
|
297
|
+
return 0;
|
|
298
|
+
}
|
|
299
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/app/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ParsedArgs } from "../../core/args";
|
|
2
|
+
interface RunAppEnvUpdateCommandParams {
|
|
3
|
+
parsed: ParsedArgs;
|
|
4
|
+
commandName: string;
|
|
5
|
+
legacySource?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function runAppEnvUpdateCommand(params: RunAppEnvUpdateCommandParams): Promise<number>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/commands/app/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAqC,MAAM,iBAAiB,CAAC;AAUrF,UAAU,4BAA4B;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA8ED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,MAAM,CAAC,CAgEjB"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.runAppEnvUpdateCommand = runAppEnvUpdateCommand;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const args_1 = require("../../core/args");
|
|
9
|
+
const env_diff_1 = require("../../config/env-diff");
|
|
10
|
+
const env_writer_1 = require("../../config/env-writer");
|
|
11
|
+
const colors_1 = require("../../core/colors");
|
|
12
|
+
const target_guard_1 = require("../../safety/target-guard");
|
|
13
|
+
function deriveConvexCloudUrl(apiEndpointUrl) {
|
|
14
|
+
const normalized = apiEndpointUrl.trim();
|
|
15
|
+
if (!normalized.includes(".convex.site")) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
return normalized.replace(".convex.site", ".convex.cloud");
|
|
19
|
+
}
|
|
20
|
+
function resolveManagedUpdates(parsed, target) {
|
|
21
|
+
const apiKey = (0, args_1.getOptionString)(parsed, "api-key") ?? process.env.L4YERCAK3_API_KEY;
|
|
22
|
+
const backendUrl = target.backendUrl;
|
|
23
|
+
const organizationId = target.orgId;
|
|
24
|
+
const appId = target.appId;
|
|
25
|
+
const updates = [];
|
|
26
|
+
if (apiKey) {
|
|
27
|
+
updates.push({ key: "L4YERCAK3_API_KEY", value: apiKey });
|
|
28
|
+
}
|
|
29
|
+
if (backendUrl) {
|
|
30
|
+
updates.push({ key: "L4YERCAK3_BACKEND_URL", value: backendUrl });
|
|
31
|
+
updates.push({ key: "NEXT_PUBLIC_L4YERCAK3_BACKEND_URL", value: backendUrl });
|
|
32
|
+
updates.push({ key: "NEXT_PUBLIC_API_ENDPOINT_URL", value: backendUrl });
|
|
33
|
+
const convexCloudUrl = deriveConvexCloudUrl(backendUrl);
|
|
34
|
+
if (convexCloudUrl) {
|
|
35
|
+
updates.push({ key: "NEXT_PUBLIC_CONVEX_URL", value: convexCloudUrl });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (organizationId) {
|
|
39
|
+
updates.push({ key: "L4YERCAK3_ORG_ID", value: organizationId });
|
|
40
|
+
updates.push({ key: "L4YERCAK3_ORGANIZATION_ID", value: organizationId });
|
|
41
|
+
}
|
|
42
|
+
if (appId) {
|
|
43
|
+
updates.push({ key: "L4YERCAK3_APP_ID", value: appId });
|
|
44
|
+
}
|
|
45
|
+
return updates;
|
|
46
|
+
}
|
|
47
|
+
function resolveWriteMode(parsed) {
|
|
48
|
+
if ((0, args_1.getOptionBoolean)(parsed, "full-rewrite")) {
|
|
49
|
+
return "full-rewrite";
|
|
50
|
+
}
|
|
51
|
+
if ((0, args_1.getOptionBoolean)(parsed, "replace-existing")) {
|
|
52
|
+
return "replace-key";
|
|
53
|
+
}
|
|
54
|
+
return "upsert";
|
|
55
|
+
}
|
|
56
|
+
function printCommandUsage(commandName) {
|
|
57
|
+
console.log((0, colors_1.colorOrange)(`Usage: sevenlayers ${commandName} [options]`));
|
|
58
|
+
console.log("");
|
|
59
|
+
console.log("Options:");
|
|
60
|
+
console.log(" --env <profile> Target profile (local|staging|prod)");
|
|
61
|
+
console.log(" --env-file <path> Env file path (default: .env.local)");
|
|
62
|
+
console.log(" --api-key <value> Set L4YERCAK3_API_KEY");
|
|
63
|
+
console.log(" --org-id <id> Target organization id");
|
|
64
|
+
console.log(" --app-id <id> Target app id");
|
|
65
|
+
console.log(" --allow-profile-override Allow profile/default mismatch overrides");
|
|
66
|
+
console.log(" --yes --confirm-prod PROD Required for mutating commands on confirm-gated profile");
|
|
67
|
+
console.log(" --dry-run Print changes without writing file");
|
|
68
|
+
console.log(" --replace-existing Replace managed keys that already exist");
|
|
69
|
+
console.log(" --full-rewrite Rewrite file using managed keys only (guarded)");
|
|
70
|
+
console.log(" --allow-full-rewrite Required with --full-rewrite");
|
|
71
|
+
console.log(" --backup-path <path> Custom backup path for writes");
|
|
72
|
+
console.log(" --help Show this help");
|
|
73
|
+
console.log("");
|
|
74
|
+
console.log("Default mode is non-destructive upsert. Unknown keys are preserved.");
|
|
75
|
+
}
|
|
76
|
+
async function runAppEnvUpdateCommand(params) {
|
|
77
|
+
const { parsed, commandName, legacySource } = params;
|
|
78
|
+
if ((0, args_1.getOptionBoolean)(parsed, "help")) {
|
|
79
|
+
printCommandUsage(commandName);
|
|
80
|
+
return 0;
|
|
81
|
+
}
|
|
82
|
+
const target = await (0, target_guard_1.resolveTargetContext)(parsed, {
|
|
83
|
+
requireOrgApp: true,
|
|
84
|
+
mutatingCommand: true
|
|
85
|
+
});
|
|
86
|
+
const updates = resolveManagedUpdates(parsed, target);
|
|
87
|
+
if (updates.length === 0) {
|
|
88
|
+
console.error((0, colors_1.colorRed)("No managed values resolved. Provide --api-key/--org-id/--app-id or set matching env vars."));
|
|
89
|
+
return 1;
|
|
90
|
+
}
|
|
91
|
+
const envFileArg = (0, args_1.getOptionString)(parsed, "env-file") ?? ".env.local";
|
|
92
|
+
const envFile = node_path_1.default.resolve(process.cwd(), envFileArg);
|
|
93
|
+
const mode = resolveWriteMode(parsed);
|
|
94
|
+
if (legacySource) {
|
|
95
|
+
console.log((0, colors_1.colorGray)(`Legacy command '${legacySource}' mapped to 'sevenlayers ${commandName}'.`));
|
|
96
|
+
}
|
|
97
|
+
console.log((0, colors_1.colorGray)(`Resolved profile: ${target.profileName}`));
|
|
98
|
+
console.log((0, colors_1.colorGray)(`Resolved org/app: ${target.orgId}/${target.appId}`));
|
|
99
|
+
console.log("");
|
|
100
|
+
const result = await (0, env_writer_1.writeEnvFile)(envFile, updates, {
|
|
101
|
+
mode,
|
|
102
|
+
dryRun: (0, args_1.getOptionBoolean)(parsed, "dry-run"),
|
|
103
|
+
backupPath: (0, args_1.getOptionString)(parsed, "backup-path"),
|
|
104
|
+
allowFullRewrite: (0, args_1.getOptionBoolean)(parsed, "allow-full-rewrite")
|
|
105
|
+
});
|
|
106
|
+
console.log((0, colors_1.colorOrange)(`Target file: ${result.filePath}`));
|
|
107
|
+
console.log((0, colors_1.colorOrange)(`Mode: ${result.mode}`));
|
|
108
|
+
console.log("");
|
|
109
|
+
console.log((0, env_diff_1.formatEnvChanges)(result.changes));
|
|
110
|
+
if (!result.applied) {
|
|
111
|
+
console.log("");
|
|
112
|
+
console.log((0, colors_1.colorGray)("No write performed (dry-run or no mutable changes)."));
|
|
113
|
+
return 0;
|
|
114
|
+
}
|
|
115
|
+
console.log("");
|
|
116
|
+
console.log((0, colors_1.colorGreen)("Environment update applied successfully."));
|
|
117
|
+
if (result.backupPath) {
|
|
118
|
+
console.log((0, colors_1.colorGray)(`Backup: ${result.backupPath}`));
|
|
119
|
+
}
|
|
120
|
+
return 0;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/commands/app/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/commands/app/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,iBAAiB,CAAC;AAazB,UAAU,WAAW;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA6DD,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6DlG"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleAppSync = handleAppSync;
|
|
4
|
+
const args_1 = require("../../core/args");
|
|
5
|
+
const colors_1 = require("../../core/colors");
|
|
6
|
+
const remote_1 = require("./remote");
|
|
7
|
+
function printUsage() {
|
|
8
|
+
console.log((0, colors_1.colorOrange)("Usage: sevenlayers app sync [options]"));
|
|
9
|
+
console.log("");
|
|
10
|
+
console.log("Options:");
|
|
11
|
+
console.log(" --env <profile> Target profile (local|staging|prod)");
|
|
12
|
+
console.log(" --org-id <id> Target organization id");
|
|
13
|
+
console.log(" --app-id <id> Target application id");
|
|
14
|
+
console.log(" --direction <mode> push|pull|bidirectional (default: bidirectional)");
|
|
15
|
+
console.log(" --model <name> Restrict sync to model names (repeatable)");
|
|
16
|
+
console.log(" --dry-run Request dry-run sync instructions");
|
|
17
|
+
console.log(" --result-status <status> Record sync result status");
|
|
18
|
+
console.log(" --records-processed <n> Record processed count");
|
|
19
|
+
console.log(" --records-created <n> Record created count");
|
|
20
|
+
console.log(" --records-updated <n> Record updated count");
|
|
21
|
+
console.log(" --result-errors <n> Record error count");
|
|
22
|
+
console.log(" --token <value> API token (or use env vars)");
|
|
23
|
+
console.log(" --yes --confirm-prod PROD Required on confirm-gated targets");
|
|
24
|
+
console.log(" --json Output deterministic JSON");
|
|
25
|
+
console.log(" --help Show this help");
|
|
26
|
+
}
|
|
27
|
+
function parseOptionalNumber(rawValue) {
|
|
28
|
+
if (rawValue === undefined) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
const parsed = Number(rawValue);
|
|
32
|
+
if (!Number.isFinite(parsed)) {
|
|
33
|
+
throw new Error(`Expected numeric value, received '${rawValue}'.`);
|
|
34
|
+
}
|
|
35
|
+
return parsed;
|
|
36
|
+
}
|
|
37
|
+
function buildResultsPayload(parsed) {
|
|
38
|
+
const status = (0, args_1.getOptionString)(parsed, "result-status");
|
|
39
|
+
const recordsProcessed = parseOptionalNumber((0, args_1.getOptionString)(parsed, "records-processed"));
|
|
40
|
+
const recordsCreated = parseOptionalNumber((0, args_1.getOptionString)(parsed, "records-created"));
|
|
41
|
+
const recordsUpdated = parseOptionalNumber((0, args_1.getOptionString)(parsed, "records-updated"));
|
|
42
|
+
const errors = parseOptionalNumber((0, args_1.getOptionString)(parsed, "result-errors"));
|
|
43
|
+
if (status === undefined &&
|
|
44
|
+
recordsProcessed === undefined &&
|
|
45
|
+
recordsCreated === undefined &&
|
|
46
|
+
recordsUpdated === undefined &&
|
|
47
|
+
errors === undefined) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
direction: (0, args_1.getOptionString)(parsed, "direction"),
|
|
52
|
+
status,
|
|
53
|
+
recordsProcessed,
|
|
54
|
+
recordsCreated,
|
|
55
|
+
recordsUpdated,
|
|
56
|
+
errors
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async function handleAppSync(parsed, options = {}) {
|
|
60
|
+
if ((0, args_1.getOptionBoolean)(parsed, "help")) {
|
|
61
|
+
printUsage();
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
const command = await (0, remote_1.resolveRemoteCommand)(parsed, {
|
|
65
|
+
requireOrgApp: true,
|
|
66
|
+
mutatingCommand: true
|
|
67
|
+
});
|
|
68
|
+
const direction = (0, args_1.getOptionString)(parsed, "direction") ?? "bidirectional";
|
|
69
|
+
const models = (0, args_1.getOptionStringArray)(parsed, "model");
|
|
70
|
+
const dryRun = (0, args_1.getOptionBoolean)(parsed, "dry-run");
|
|
71
|
+
const results = buildResultsPayload(parsed);
|
|
72
|
+
const response = await command.api.syncApplication(command.target.appId, {
|
|
73
|
+
direction,
|
|
74
|
+
models: models.length > 0 ? models : undefined,
|
|
75
|
+
dryRun,
|
|
76
|
+
results
|
|
77
|
+
});
|
|
78
|
+
if (command.json) {
|
|
79
|
+
console.log(JSON.stringify({
|
|
80
|
+
success: true,
|
|
81
|
+
profile: command.target.profileName,
|
|
82
|
+
organizationId: command.target.orgId,
|
|
83
|
+
applicationId: command.target.appId,
|
|
84
|
+
direction,
|
|
85
|
+
models,
|
|
86
|
+
dryRun,
|
|
87
|
+
response
|
|
88
|
+
}, null, 2));
|
|
89
|
+
return 0;
|
|
90
|
+
}
|
|
91
|
+
if (options.legacySource) {
|
|
92
|
+
console.log((0, colors_1.colorGray)(`Legacy command '${options.legacySource}' mapped to 'sevenlayers app sync'.`));
|
|
93
|
+
}
|
|
94
|
+
console.log((0, colors_1.colorGreen)("Application sync request completed."));
|
|
95
|
+
console.log((0, colors_1.colorGray)(`Profile: ${command.target.profileName}`));
|
|
96
|
+
console.log((0, colors_1.colorGray)(`Organization: ${command.target.orgId}`));
|
|
97
|
+
console.log((0, colors_1.colorGray)(`Application: ${command.target.appId}`));
|
|
98
|
+
if (dryRun) {
|
|
99
|
+
console.log((0, colors_1.colorGray)("Dry-run: yes"));
|
|
100
|
+
}
|
|
101
|
+
console.log((0, colors_1.colorGray)(`Direction: ${direction}`));
|
|
102
|
+
if (models.length > 0) {
|
|
103
|
+
console.log((0, colors_1.colorGray)(`Models: ${models.join(", ")}`));
|
|
104
|
+
}
|
|
105
|
+
return 0;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/commands/app/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/commands/booking/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,iBAAiB,CAAC;AAyBpE,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA0D5E"}
|