@stackbilt/cli 0.15.1 → 1.0.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.
Files changed (114) hide show
  1. package/dist/__tests__/adf-init.test.js +31 -0
  2. package/dist/__tests__/adf-init.test.js.map +1 -1
  3. package/dist/__tests__/adf-patch.test.d.ts +2 -0
  4. package/dist/__tests__/adf-patch.test.d.ts.map +1 -0
  5. package/dist/__tests__/adf-patch.test.js +192 -0
  6. package/dist/__tests__/adf-patch.test.js.map +1 -0
  7. package/dist/__tests__/bootstrap.test.js +107 -0
  8. package/dist/__tests__/bootstrap.test.js.map +1 -1
  9. package/dist/__tests__/context-refresh-repo-intel.test.d.ts +9 -0
  10. package/dist/__tests__/context-refresh-repo-intel.test.d.ts.map +1 -0
  11. package/dist/__tests__/context-refresh-repo-intel.test.js +228 -0
  12. package/dist/__tests__/context-refresh-repo-intel.test.js.map +1 -0
  13. package/dist/__tests__/context-refresh.test.d.ts +2 -0
  14. package/dist/__tests__/context-refresh.test.d.ts.map +1 -0
  15. package/dist/__tests__/context-refresh.test.js +198 -0
  16. package/dist/__tests__/context-refresh.test.js.map +1 -0
  17. package/dist/__tests__/context.test.js +62 -0
  18. package/dist/__tests__/context.test.js.map +1 -1
  19. package/dist/__tests__/hook.test.js +25 -0
  20. package/dist/__tests__/hook.test.js.map +1 -1
  21. package/dist/__tests__/score.test.js +58 -0
  22. package/dist/__tests__/score.test.js.map +1 -1
  23. package/dist/__tests__/serve-context.test.d.ts +2 -0
  24. package/dist/__tests__/serve-context.test.d.ts.map +1 -0
  25. package/dist/__tests__/serve-context.test.js +112 -0
  26. package/dist/__tests__/serve-context.test.js.map +1 -0
  27. package/dist/__tests__/setup.test.js +48 -0
  28. package/dist/__tests__/setup.test.js.map +1 -1
  29. package/dist/__tests__/why.test.d.ts +2 -0
  30. package/dist/__tests__/why.test.d.ts.map +1 -0
  31. package/dist/__tests__/why.test.js +145 -0
  32. package/dist/__tests__/why.test.js.map +1 -0
  33. package/dist/commands/adf.d.ts +2 -2
  34. package/dist/commands/adf.d.ts.map +1 -1
  35. package/dist/commands/adf.js +94 -1
  36. package/dist/commands/adf.js.map +1 -1
  37. package/dist/commands/bootstrap.d.ts.map +1 -1
  38. package/dist/commands/bootstrap.js +145 -34
  39. package/dist/commands/bootstrap.js.map +1 -1
  40. package/dist/commands/context-refresh.d.ts +16 -0
  41. package/dist/commands/context-refresh.d.ts.map +1 -0
  42. package/dist/commands/context-refresh.js +841 -0
  43. package/dist/commands/context-refresh.js.map +1 -0
  44. package/dist/commands/context.d.ts.map +1 -1
  45. package/dist/commands/context.js +104 -7
  46. package/dist/commands/context.js.map +1 -1
  47. package/dist/commands/hook.d.ts +1 -0
  48. package/dist/commands/hook.d.ts.map +1 -1
  49. package/dist/commands/hook.js +30 -1
  50. package/dist/commands/hook.js.map +1 -1
  51. package/dist/commands/score.js +76 -14
  52. package/dist/commands/score.js.map +1 -1
  53. package/dist/commands/serve.d.ts +22 -1
  54. package/dist/commands/serve.d.ts.map +1 -1
  55. package/dist/commands/serve.js +206 -7
  56. package/dist/commands/serve.js.map +1 -1
  57. package/dist/commands/setup.d.ts.map +1 -1
  58. package/dist/commands/setup.js +47 -1
  59. package/dist/commands/setup.js.map +1 -1
  60. package/dist/commands/why.d.ts.map +1 -1
  61. package/dist/commands/why.js +44 -0
  62. package/dist/commands/why.js.map +1 -1
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +10 -28
  65. package/dist/index.js.map +1 -1
  66. package/package.json +27 -15
  67. package/dist/__tests__/auth-wiring.test.d.ts +0 -2
  68. package/dist/__tests__/auth-wiring.test.d.ts.map +0 -1
  69. package/dist/__tests__/auth-wiring.test.js +0 -158
  70. package/dist/__tests__/auth-wiring.test.js.map +0 -1
  71. package/dist/__tests__/credentials.test.d.ts +0 -2
  72. package/dist/__tests__/credentials.test.d.ts.map +0 -1
  73. package/dist/__tests__/credentials.test.js +0 -145
  74. package/dist/__tests__/credentials.test.js.map +0 -1
  75. package/dist/__tests__/deprecated-commands.test.d.ts +0 -2
  76. package/dist/__tests__/deprecated-commands.test.d.ts.map +0 -1
  77. package/dist/__tests__/deprecated-commands.test.js +0 -59
  78. package/dist/__tests__/deprecated-commands.test.js.map +0 -1
  79. package/dist/__tests__/login.test.d.ts +0 -2
  80. package/dist/__tests__/login.test.d.ts.map +0 -1
  81. package/dist/__tests__/login.test.js +0 -66
  82. package/dist/__tests__/login.test.js.map +0 -1
  83. package/dist/commands/architect.d.ts +0 -12
  84. package/dist/commands/architect.d.ts.map +0 -1
  85. package/dist/commands/architect.js +0 -167
  86. package/dist/commands/architect.js.map +0 -1
  87. package/dist/commands/deprecation-warning.d.ts +0 -4
  88. package/dist/commands/deprecation-warning.d.ts.map +0 -1
  89. package/dist/commands/deprecation-warning.js +0 -20
  90. package/dist/commands/deprecation-warning.js.map +0 -1
  91. package/dist/commands/login.d.ts +0 -13
  92. package/dist/commands/login.d.ts.map +0 -1
  93. package/dist/commands/login.js +0 -80
  94. package/dist/commands/login.js.map +0 -1
  95. package/dist/commands/run.d.ts +0 -18
  96. package/dist/commands/run.d.ts.map +0 -1
  97. package/dist/commands/run.js +0 -247
  98. package/dist/commands/run.js.map +0 -1
  99. package/dist/commands/scaffold.d.ts +0 -11
  100. package/dist/commands/scaffold.d.ts.map +0 -1
  101. package/dist/commands/scaffold.js +0 -112
  102. package/dist/commands/scaffold.js.map +0 -1
  103. package/dist/credentials.d.ts +0 -34
  104. package/dist/credentials.d.ts.map +0 -1
  105. package/dist/credentials.js +0 -108
  106. package/dist/credentials.js.map +0 -1
  107. package/dist/http-client.d.ts +0 -114
  108. package/dist/http-client.d.ts.map +0 -1
  109. package/dist/http-client.js +0 -69
  110. package/dist/http-client.js.map +0 -1
  111. package/dist/types/scaffold-contract-types.d.ts +0 -90
  112. package/dist/types/scaffold-contract-types.d.ts.map +0 -1
  113. package/dist/types/scaffold-contract-types.js +0 -22
  114. package/dist/types/scaffold-contract-types.js.map +0 -1
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const architect_1 = require("../commands/architect");
5
- const run_1 = require("../commands/run");
6
- const scaffold_1 = require("../commands/scaffold");
7
- const login_1 = require("../commands/login");
8
- const index_1 = require("../index");
9
- const deprecation_warning_1 = require("../commands/deprecation-warning");
10
- const baseOptions = {
11
- format: 'text',
12
- configPath: '.charter',
13
- ciMode: false,
14
- yes: false,
15
- };
16
- (0, vitest_1.describe)('deprecated build commands warnings', () => {
17
- const originalSuppress = process.env[deprecation_warning_1.DEPRECATION_WARNING_ENV_VAR];
18
- (0, vitest_1.beforeEach)(() => {
19
- delete process.env[deprecation_warning_1.DEPRECATION_WARNING_ENV_VAR];
20
- vitest_1.vi.restoreAllMocks();
21
- });
22
- (0, vitest_1.afterEach)(() => {
23
- if (originalSuppress === undefined) {
24
- delete process.env[deprecation_warning_1.DEPRECATION_WARNING_ENV_VAR];
25
- }
26
- else {
27
- process.env[deprecation_warning_1.DEPRECATION_WARNING_ENV_VAR] = originalSuppress;
28
- }
29
- vitest_1.vi.restoreAllMocks();
30
- });
31
- (0, vitest_1.it)('emits warning for login', async () => {
32
- const stderr = vitest_1.vi.spyOn(process.stderr, 'write').mockImplementation(() => true);
33
- vitest_1.vi.spyOn(console, 'log').mockImplementation(() => { });
34
- await (0, login_1.loginCommand)(baseOptions, []);
35
- const stderrOutput = stderr.mock.calls.map((c) => String(c[0])).join('');
36
- (0, vitest_1.expect)(stderrOutput).toContain('charter login');
37
- (0, vitest_1.expect)(stderrOutput).toContain('@stackbilt/build');
38
- });
39
- (0, vitest_1.it)('emits warning for architect', async () => {
40
- const stderr = vitest_1.vi.spyOn(process.stderr, 'write').mockImplementation(() => true);
41
- await (0, vitest_1.expect)((0, architect_1.architectCommand)(baseOptions, [])).rejects.toBeInstanceOf(index_1.CLIError);
42
- const stderrOutput = stderr.mock.calls.map((c) => String(c[0])).join('');
43
- (0, vitest_1.expect)(stderrOutput).toContain('charter architect');
44
- });
45
- (0, vitest_1.it)('emits warning for run', async () => {
46
- const stderr = vitest_1.vi.spyOn(process.stderr, 'write').mockImplementation(() => true);
47
- await (0, vitest_1.expect)((0, run_1.runCommand)(baseOptions, [])).rejects.toBeInstanceOf(index_1.CLIError);
48
- const stderrOutput = stderr.mock.calls.map((c) => String(c[0])).join('');
49
- (0, vitest_1.expect)(stderrOutput).toContain('charter run');
50
- });
51
- (0, vitest_1.it)('emits warning for scaffold', async () => {
52
- const stderr = vitest_1.vi.spyOn(process.stderr, 'write').mockImplementation(() => true);
53
- const options = { ...baseOptions, configPath: '.charter-missing-cache-for-test' };
54
- await (0, vitest_1.expect)((0, scaffold_1.scaffoldCommand)(options, [])).rejects.toBeInstanceOf(index_1.CLIError);
55
- const stderrOutput = stderr.mock.calls.map((c) => String(c[0])).join('');
56
- (0, vitest_1.expect)(stderrOutput).toContain('charter scaffold');
57
- });
58
- });
59
- //# sourceMappingURL=deprecated-commands.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deprecated-commands.test.js","sourceRoot":"","sources":["../../src/__tests__/deprecated-commands.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=login.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/login.test.ts"],"names":[],"mappings":""}
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const login_1 = require("../commands/login");
5
- const credentials_1 = require("../credentials");
6
- const deprecation_warning_1 = require("../commands/deprecation-warning");
7
- const options = {
8
- format: 'text',
9
- configPath: '.charter',
10
- ciMode: false,
11
- yes: false,
12
- };
13
- (0, vitest_1.describe)('charter login — deprecation notice', () => {
14
- const originalEnv = process.env[credentials_1.API_KEY_ENV_VAR];
15
- const originalSuppress = process.env[deprecation_warning_1.DEPRECATION_WARNING_ENV_VAR];
16
- (0, vitest_1.beforeEach)(() => {
17
- delete process.env[credentials_1.API_KEY_ENV_VAR];
18
- });
19
- (0, vitest_1.afterEach)(() => {
20
- if (originalEnv === undefined) {
21
- delete process.env[credentials_1.API_KEY_ENV_VAR];
22
- }
23
- else {
24
- process.env[credentials_1.API_KEY_ENV_VAR] = originalEnv;
25
- }
26
- if (originalSuppress === undefined) {
27
- delete process.env[deprecation_warning_1.DEPRECATION_WARNING_ENV_VAR];
28
- }
29
- else {
30
- process.env[deprecation_warning_1.DEPRECATION_WARNING_ENV_VAR] = originalSuppress;
31
- }
32
- vitest_1.vi.restoreAllMocks();
33
- });
34
- (0, vitest_1.it)('writes a deprecation notice to stderr when invoked without args', async () => {
35
- const stderr = vitest_1.vi.spyOn(process.stderr, 'write').mockImplementation(() => true);
36
- vitest_1.vi.spyOn(console, 'log').mockImplementation(() => { });
37
- await (0, login_1.loginCommand)(options, []);
38
- const stderrOutput = stderr.mock.calls.map((c) => String(c[0])).join('');
39
- (0, vitest_1.expect)(stderrOutput).toMatch(/deprecated/i);
40
- (0, vitest_1.expect)(stderrOutput).toContain('@stackbilt/build');
41
- });
42
- (0, vitest_1.it)('reports env-var usage when STACKBILT_API_KEY is set and no --key flag', async () => {
43
- process.env[credentials_1.API_KEY_ENV_VAR] = 'ea_login_test_key';
44
- vitest_1.vi.spyOn(process.stderr, 'write').mockImplementation(() => true);
45
- const log = vitest_1.vi.spyOn(console, 'log').mockImplementation(() => { });
46
- await (0, login_1.loginCommand)(options, []);
47
- const stdoutOutput = log.mock.calls.map((c) => String(c[0])).join('\n');
48
- (0, vitest_1.expect)(stdoutOutput).toMatch(new RegExp(`Using ${credentials_1.API_KEY_ENV_VAR} from environment`));
49
- });
50
- (0, vitest_1.it)('suppresses warning when CHARTER_NO_DEPRECATION_WARNING=1', async () => {
51
- process.env[deprecation_warning_1.DEPRECATION_WARNING_ENV_VAR] = '1';
52
- const stderr = vitest_1.vi.spyOn(process.stderr, 'write').mockImplementation(() => true);
53
- vitest_1.vi.spyOn(console, 'log').mockImplementation(() => { });
54
- await (0, login_1.loginCommand)(options, []);
55
- const stderrOutput = stderr.mock.calls.map((c) => String(c[0])).join('');
56
- (0, vitest_1.expect)(stderrOutput).toBe('');
57
- });
58
- (0, vitest_1.it)('suppresses warning when --no-deprecation-warning is passed', async () => {
59
- const stderr = vitest_1.vi.spyOn(process.stderr, 'write').mockImplementation(() => true);
60
- vitest_1.vi.spyOn(console, 'log').mockImplementation(() => { });
61
- await (0, login_1.loginCommand)(options, ['--no-deprecation-warning']);
62
- const stderrOutput = stderr.mock.calls.map((c) => String(c[0])).join('');
63
- (0, vitest_1.expect)(stderrOutput).toBe('');
64
- });
65
- });
66
- //# sourceMappingURL=login.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.test.js","sourceRoot":"","sources":["../../src/__tests__/login.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * charter architect — generate a tech stack from a project description.
3
- *
4
- * Usage:
5
- * charter architect "Build a real-time chat app on Cloudflare"
6
- * charter architect --file spec.md
7
- * charter architect "API backend" --cloudflare-only --framework Hono --database D1
8
- * charter architect "Simple landing page" --dry-run
9
- */
10
- import type { CLIOptions } from '../index';
11
- export declare function architectCommand(options: CLIOptions, args: string[]): Promise<number>;
12
- //# sourceMappingURL=architect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/commands/architect.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAO3C,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAsE3F"}
@@ -1,167 +0,0 @@
1
- "use strict";
2
- /**
3
- * charter architect — generate a tech stack from a project description.
4
- *
5
- * Usage:
6
- * charter architect "Build a real-time chat app on Cloudflare"
7
- * charter architect --file spec.md
8
- * charter architect "API backend" --cloudflare-only --framework Hono --database D1
9
- * charter architect "Simple landing page" --dry-run
10
- */
11
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
- if (k2 === undefined) k2 = k;
13
- var desc = Object.getOwnPropertyDescriptor(m, k);
14
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
- desc = { enumerable: true, get: function() { return m[k]; } };
16
- }
17
- Object.defineProperty(o, k2, desc);
18
- }) : (function(o, m, k, k2) {
19
- if (k2 === undefined) k2 = k;
20
- o[k2] = m[k];
21
- }));
22
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
- Object.defineProperty(o, "default", { enumerable: true, value: v });
24
- }) : function(o, v) {
25
- o["default"] = v;
26
- });
27
- var __importStar = (this && this.__importStar) || (function () {
28
- var ownKeys = function(o) {
29
- ownKeys = Object.getOwnPropertyNames || function (o) {
30
- var ar = [];
31
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
- return ar;
33
- };
34
- return ownKeys(o);
35
- };
36
- return function (mod) {
37
- if (mod && mod.__esModule) return mod;
38
- var result = {};
39
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
- __setModuleDefault(result, mod);
41
- return result;
42
- };
43
- })();
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.architectCommand = architectCommand;
46
- const fs = __importStar(require("node:fs"));
47
- const path = __importStar(require("node:path"));
48
- const index_1 = require("../index");
49
- const flags_1 = require("../flags");
50
- const credentials_1 = require("../credentials");
51
- const http_client_1 = require("../http-client");
52
- const deprecation_warning_1 = require("./deprecation-warning");
53
- async function architectCommand(options, args) {
54
- (0, deprecation_warning_1.printBuildCommandDeprecationWarning)('architect', args);
55
- // Parse description from positional arg or --file
56
- const filePath = (0, flags_1.getFlag)(args, '--file');
57
- const positional = args.filter(a => !a.startsWith('-') && a !== filePath);
58
- let description;
59
- if (filePath) {
60
- if (!fs.existsSync(filePath))
61
- throw new index_1.CLIError(`File not found: ${filePath}`);
62
- description = fs.readFileSync(filePath, 'utf-8').trim();
63
- }
64
- else if (positional.length > 0) {
65
- description = positional.join(' ');
66
- }
67
- else {
68
- throw new index_1.CLIError('Provide a project description:\n charter architect "Build a real-time chat app"\n charter architect --file spec.md');
69
- }
70
- if (!description)
71
- throw new index_1.CLIError('Empty description.');
72
- // Parse constraint flags
73
- const request = { description, constraints: {} };
74
- if (args.includes('--cloudflare-only'))
75
- request.constraints.cloudflareOnly = true;
76
- const fw = (0, flags_1.getFlag)(args, '--framework');
77
- if (fw)
78
- request.constraints.framework = fw;
79
- const db = (0, flags_1.getFlag)(args, '--database');
80
- if (db)
81
- request.constraints.database = db;
82
- const seedStr = (0, flags_1.getFlag)(args, '--seed');
83
- if (seedStr)
84
- request.seed = parseInt(seedStr, 10);
85
- // Resolve API key — env var wins over stored credentials. Engine /build is
86
- // currently unauthenticated, so missing credentials is not an error here.
87
- const resolved = (0, credentials_1.resolveApiKey)();
88
- const baseUrl = (0, flags_1.getFlag)(args, '--url');
89
- const client = new http_client_1.EngineClient({
90
- baseUrl: baseUrl ?? resolved?.baseUrl,
91
- apiKey: resolved?.apiKey ?? null,
92
- });
93
- // Build
94
- let result;
95
- try {
96
- result = await client.build(request);
97
- }
98
- catch (err) {
99
- throw new index_1.CLIError(`Build failed: ${err.message}`);
100
- }
101
- const dryRun = args.includes('--dry-run');
102
- // JSON output
103
- if (options.format === 'json') {
104
- console.log(JSON.stringify(result, null, 2));
105
- if (!dryRun)
106
- cacheResult(result, options.configPath);
107
- return index_1.EXIT_CODE.SUCCESS;
108
- }
109
- // Text output
110
- printResult(result);
111
- // Write scaffold
112
- if (!dryRun) {
113
- cacheResult(result, options.configPath);
114
- console.log('');
115
- console.log(`Build cached. Run \`charter scaffold\` to write files.`);
116
- }
117
- else {
118
- console.log('');
119
- console.log('(dry run — no files written)');
120
- }
121
- return index_1.EXIT_CODE.SUCCESS;
122
- }
123
- function printResult(r) {
124
- const c = r.compatibility;
125
- console.log('');
126
- console.log(` Stack (seed: ${r.seed}, ${r.requirements.complexity})`);
127
- console.log('');
128
- const maxPos = Math.max(...r.stack.map(s => s.position.length));
129
- const maxName = Math.max(...r.stack.map(s => s.name.length));
130
- for (const s of r.stack) {
131
- const pos = s.position.padEnd(maxPos);
132
- const name = s.name.padEnd(maxName);
133
- const orient = s.orientation === 'reversed' ? '↓' : '↑';
134
- const cf = s.cloudflareNative ? ' [CF]' : '';
135
- console.log(` ${pos} ${name} (${s.element}, ${orient})${cf}`);
136
- }
137
- console.log('');
138
- console.log(` Compatibility: ${c.normalizedScore} (${c.pairs.length} pairs, ${c.tensions.length} tensions)`);
139
- for (const p of c.pairs) {
140
- const sign = p.score > 0 ? '+' : p.score < 0 ? '' : ' ';
141
- console.log(` ${p.techs[0]} + ${p.techs[1]} = ${p.relationship} (${sign}${p.score})`);
142
- }
143
- if (c.tensions.length > 0) {
144
- console.log('');
145
- console.log(' Tensions:');
146
- for (const t of c.tensions) {
147
- console.log(` ⚡ ${t.description}`);
148
- }
149
- }
150
- console.log('');
151
- console.log(` Scaffold: ${Object.keys(r.scaffold).length} files`);
152
- for (const f of Object.keys(r.scaffold).sort()) {
153
- const lines = r.scaffold[f].split('\n').length;
154
- console.log(` ${f} (${lines} lines)`);
155
- }
156
- console.log('');
157
- console.log(` Keywords: ${r.requirements.keywords.slice(0, 8).join(', ')}`);
158
- console.log(` Receipt: ${r.receipt.slice(0, 16)}`);
159
- }
160
- function cacheResult(result, configPath) {
161
- const dir = configPath || '.charter';
162
- if (!fs.existsSync(dir)) {
163
- fs.mkdirSync(dir, { recursive: true });
164
- }
165
- fs.writeFileSync(path.join(dir, 'last-build.json'), JSON.stringify(result, null, 2));
166
- }
167
- //# sourceMappingURL=architect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/commands/architect.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare const DEPRECATION_WARNING_ENV_VAR = "CHARTER_NO_DEPRECATION_WARNING";
2
- export declare const DEPRECATION_WARNING_FLAG = "--no-deprecation-warning";
3
- export declare function printBuildCommandDeprecationWarning(command: string, args: string[]): void;
4
- //# sourceMappingURL=deprecation-warning.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deprecation-warning.d.ts","sourceRoot":"","sources":["../../src/commands/deprecation-warning.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,2BAA2B,mCAAmC,CAAC;AAC5E,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAMnE,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAWzF"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEPRECATION_WARNING_FLAG = exports.DEPRECATION_WARNING_ENV_VAR = void 0;
4
- exports.printBuildCommandDeprecationWarning = printBuildCommandDeprecationWarning;
5
- const RFC_112_URL = 'https://github.com/Stackbilt-dev/charter/issues/112';
6
- exports.DEPRECATION_WARNING_ENV_VAR = 'CHARTER_NO_DEPRECATION_WARNING';
7
- exports.DEPRECATION_WARNING_FLAG = '--no-deprecation-warning';
8
- function warningSuppressed(args) {
9
- return args.includes(exports.DEPRECATION_WARNING_FLAG) || process.env[exports.DEPRECATION_WARNING_ENV_VAR] === '1';
10
- }
11
- function printBuildCommandDeprecationWarning(command, args) {
12
- if (warningSuppressed(args)) {
13
- return;
14
- }
15
- process.stderr.write(`⚠ charter ${command} is deprecated and will be removed in Charter 1.0.\n` +
16
- ' Install @stackbilt/build for the long-term home of this command:\n' +
17
- ' npm install -g @stackbilt/build\n' +
18
- ` See ${RFC_112_URL} for context.\n`);
19
- }
20
- //# sourceMappingURL=deprecation-warning.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deprecation-warning.js","sourceRoot":"","sources":["../../src/commands/deprecation-warning.ts"],"names":[],"mappings":";;;AAQA,kFAWC;AAnBD,MAAM,WAAW,GAAG,qDAAqD,CAAC;AAC7D,QAAA,2BAA2B,GAAG,gCAAgC,CAAC;AAC/D,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAEnE,SAAS,iBAAiB,CAAC,IAAc;IACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,gCAAwB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,mCAA2B,CAAC,KAAK,GAAG,CAAC;AACrG,CAAC;AAED,SAAgB,mCAAmC,CAAC,OAAe,EAAE,IAAc;IACjF,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,OAAO,sDAAsD;QACxE,sEAAsE;QACtE,uCAAuC;QACvC,SAAS,WAAW,iBAAiB,CACxC,CAAC;AACJ,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * charter login — API key management for Stackbilt Engine.
3
- *
4
- * DEPRECATED: on-disk credential storage moves out of this OSS package in 1.0.
5
- * Set STACKBILT_API_KEY in the environment instead.
6
- *
7
- * Usage:
8
- * charter login --key sb_live_xxx Store API key (deprecated)
9
- * charter login --logout Clear stored credentials
10
- */
11
- import type { CLIOptions } from '../index';
12
- export declare function loginCommand(options: CLIOptions, args: string[]): Promise<number>;
13
- //# sourceMappingURL=login.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAY3C,wBAAsB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgEvF"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- /**
3
- * charter login — API key management for Stackbilt Engine.
4
- *
5
- * DEPRECATED: on-disk credential storage moves out of this OSS package in 1.0.
6
- * Set STACKBILT_API_KEY in the environment instead.
7
- *
8
- * Usage:
9
- * charter login --key sb_live_xxx Store API key (deprecated)
10
- * charter login --logout Clear stored credentials
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.loginCommand = loginCommand;
14
- const index_1 = require("../index");
15
- const flags_1 = require("../flags");
16
- const deprecation_warning_1 = require("./deprecation-warning");
17
- const credentials_1 = require("../credentials");
18
- const http_client_1 = require("../http-client");
19
- async function loginCommand(options, args) {
20
- (0, deprecation_warning_1.printBuildCommandDeprecationWarning)('login', args);
21
- if (args.includes('--logout')) {
22
- (0, credentials_1.clearCredentials)();
23
- console.log('Credentials cleared.');
24
- return index_1.EXIT_CODE.SUCCESS;
25
- }
26
- const key = (0, flags_1.getFlag)(args, '--key');
27
- if (!key) {
28
- const existing = (0, credentials_1.loadCredentials)();
29
- const envKey = process.env[credentials_1.API_KEY_ENV_VAR];
30
- if (envKey && envKey.trim().length > 0) {
31
- const masked = envKey.slice(0, 12) + '...' + envKey.slice(-4);
32
- console.log(`Using ${credentials_1.API_KEY_ENV_VAR} from environment: ${masked}`);
33
- return index_1.EXIT_CODE.SUCCESS;
34
- }
35
- if (existing) {
36
- const masked = existing.apiKey.slice(0, 12) + '...' + existing.apiKey.slice(-4);
37
- console.log(`Logged in as: ${masked}`);
38
- if (existing.baseUrl)
39
- console.log(`Engine: ${existing.baseUrl}`);
40
- }
41
- else {
42
- console.log('Not logged in.');
43
- console.log('');
44
- console.log(`Preferred: export ${credentials_1.API_KEY_ENV_VAR}=ea_xxx (or sb_live_xxx, sb_test_xxx).`);
45
- console.log('');
46
- console.log('Deprecated alternative:');
47
- console.log(' charter login --key ea_xxx');
48
- console.log(' charter login --key sb_live_xxx');
49
- console.log(' charter login --key sb_test_xxx');
50
- console.log('');
51
- console.log('Get your API key from auth.stackbilt.dev (ea_) or the Stackbilt dashboard (sb_).');
52
- }
53
- return index_1.EXIT_CODE.SUCCESS;
54
- }
55
- const VALID_PREFIXES = ['ea_', 'sb_live_', 'sb_test_'];
56
- if (!VALID_PREFIXES.some((p) => key.startsWith(p))) {
57
- throw new index_1.CLIError(`Invalid API key format. Keys must start with one of: ${VALID_PREFIXES.join(', ')}.`);
58
- }
59
- const baseUrl = (0, flags_1.getFlag)(args, '--url');
60
- // Verify connectivity
61
- const client = new http_client_1.EngineClient({ baseUrl, apiKey: key });
62
- try {
63
- const health = await client.health();
64
- (0, credentials_1.saveCredentials)({ apiKey: key, baseUrl });
65
- if (options.format === 'json') {
66
- console.log(JSON.stringify({ status: 'authenticated', engine: health.version, catalog: health.catalog }));
67
- }
68
- else {
69
- console.log(`Authenticated. Engine v${health.version} (${health.catalog} primitives)`);
70
- if (key.startsWith('sb_test_')) {
71
- console.log('Using test mode.');
72
- }
73
- }
74
- return index_1.EXIT_CODE.SUCCESS;
75
- }
76
- catch (err) {
77
- throw new index_1.CLIError(`Could not reach engine: ${err.message}`);
78
- }
79
- }
80
- //# sourceMappingURL=login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- /**
2
- * charter run / stackbilt run — architect + scaffold in one step.
3
- *
4
- * Uses the MCP gateway scaffold endpoint (TarotScript → materializer)
5
- * when an API key is available, producing deployment-ready Cloudflare
6
- * Workers with wrangler.toml, .ai/ governance, tests, and typed handlers.
7
- *
8
- * Falls back to the engine /build endpoint when no API key is set.
9
- *
10
- * Usage:
11
- * stackbilt run "Multi-tenant SaaS API with auth and billing"
12
- * stackbilt run --file spec.md
13
- * stackbilt run "API backend" --cloudflare-only --framework Hono --output ./my-api
14
- * stackbilt run "Simple landing page" --dry-run
15
- */
16
- import type { CLIOptions } from '../index';
17
- export declare function runCommand(options: CLIOptions, args: string[]): Promise<number>;
18
- //# sourceMappingURL=run.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAqD3C,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwJrF"}