@lark-base-open/base-database-cli 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 (149) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +169 -0
  3. package/changelog/CHANGELOG-0.x.md +103 -0
  4. package/config-schema.json +28 -0
  5. package/dist/agent-guide.d.ts +18 -0
  6. package/dist/agent-guide.d.ts.map +1 -0
  7. package/dist/agent-guide.js +30 -0
  8. package/dist/agent-guide.js.map +1 -0
  9. package/dist/archive.d.ts +16 -0
  10. package/dist/archive.d.ts.map +1 -0
  11. package/dist/archive.js +162 -0
  12. package/dist/archive.js.map +1 -0
  13. package/dist/assets.d.ts +4 -0
  14. package/dist/assets.d.ts.map +1 -0
  15. package/dist/assets.js +6 -0
  16. package/dist/assets.js.map +1 -0
  17. package/dist/auth.d.ts +17 -0
  18. package/dist/auth.d.ts.map +1 -0
  19. package/dist/auth.js +63 -0
  20. package/dist/auth.js.map +1 -0
  21. package/dist/cli.d.ts +3 -0
  22. package/dist/cli.d.ts.map +1 -0
  23. package/dist/cli.js +15 -0
  24. package/dist/cli.js.map +1 -0
  25. package/dist/config.d.ts +5 -0
  26. package/dist/config.d.ts.map +1 -0
  27. package/dist/config.js +50 -0
  28. package/dist/config.js.map +1 -0
  29. package/dist/database-skill.d.ts +22 -0
  30. package/dist/database-skill.d.ts.map +1 -0
  31. package/dist/database-skill.js +135 -0
  32. package/dist/database-skill.js.map +1 -0
  33. package/dist/deploy.d.ts +28 -0
  34. package/dist/deploy.d.ts.map +1 -0
  35. package/dist/deploy.js +476 -0
  36. package/dist/deploy.js.map +1 -0
  37. package/dist/environment.d.ts +12 -0
  38. package/dist/environment.d.ts.map +1 -0
  39. package/dist/environment.js +27 -0
  40. package/dist/environment.js.map +1 -0
  41. package/dist/function-schema.d.ts +3 -0
  42. package/dist/function-schema.d.ts.map +1 -0
  43. package/dist/function-schema.js +310 -0
  44. package/dist/function-schema.js.map +1 -0
  45. package/dist/init.d.ts +77 -0
  46. package/dist/init.d.ts.map +1 -0
  47. package/dist/init.js +418 -0
  48. package/dist/init.js.map +1 -0
  49. package/dist/lark-cli.d.ts +8 -0
  50. package/dist/lark-cli.d.ts.map +1 -0
  51. package/dist/lark-cli.js +228 -0
  52. package/dist/lark-cli.js.map +1 -0
  53. package/dist/npm.d.ts +13 -0
  54. package/dist/npm.d.ts.map +1 -0
  55. package/dist/npm.js +93 -0
  56. package/dist/npm.js.map +1 -0
  57. package/dist/page-title.d.ts +3 -0
  58. package/dist/page-title.d.ts.map +1 -0
  59. package/dist/page-title.js +47 -0
  60. package/dist/page-title.js.map +1 -0
  61. package/dist/preview-receipt.d.ts +23 -0
  62. package/dist/preview-receipt.d.ts.map +1 -0
  63. package/dist/preview-receipt.js +133 -0
  64. package/dist/preview-receipt.js.map +1 -0
  65. package/dist/process.d.ts +17 -0
  66. package/dist/process.d.ts.map +1 -0
  67. package/dist/process.js +53 -0
  68. package/dist/process.js.map +1 -0
  69. package/dist/program.d.ts +12 -0
  70. package/dist/program.d.ts.map +1 -0
  71. package/dist/program.js +204 -0
  72. package/dist/program.js.map +1 -0
  73. package/dist/pull.d.ts +18 -0
  74. package/dist/pull.d.ts.map +1 -0
  75. package/dist/pull.js +324 -0
  76. package/dist/pull.js.map +1 -0
  77. package/dist/skill.d.ts +7 -0
  78. package/dist/skill.d.ts.map +1 -0
  79. package/dist/skill.js +28 -0
  80. package/dist/skill.js.map +1 -0
  81. package/dist/types.d.ts +32 -0
  82. package/dist/types.d.ts.map +1 -0
  83. package/dist/types.js +2 -0
  84. package/dist/types.js.map +1 -0
  85. package/dist/workspace-fingerprint.d.ts +8 -0
  86. package/dist/workspace-fingerprint.d.ts.map +1 -0
  87. package/dist/workspace-fingerprint.js +64 -0
  88. package/dist/workspace-fingerprint.js.map +1 -0
  89. package/package.json +54 -0
  90. package/skills/lark-base-database/SKILL.md +307 -0
  91. package/skills/lark-base-database/references/base-capability-routing.md +81 -0
  92. package/skills/lark-base-database/references/base-sql-unsupported.md +42 -0
  93. package/skills/lark-base-database/references/database-capability-skill.md +24 -0
  94. package/skills/lark-base-database/references/development.md +642 -0
  95. package/skills/lark-base-database/references/file-transfer.md +275 -0
  96. package/skills/lark-base-database/references/permission-design.md +138 -0
  97. package/skills/lark-base-database/references/release.md +81 -0
  98. package/skills/lark-base-database/references/sql-function.md +276 -0
  99. package/skills/lark-base-database/references/style-guide.md +88 -0
  100. package/templates/database-capability/SKILL.md.tmpl +41 -0
  101. package/templates/database-starter/README.md +11 -0
  102. package/templates/database-starter/gitignore +3 -0
  103. package/templates/database-starter/page/.prettierignore +4 -0
  104. package/templates/database-starter/page/.prettierrc.json +7 -0
  105. package/templates/database-starter/page/README.md +29 -0
  106. package/templates/database-starter/page/index.html +24 -0
  107. package/templates/database-starter/page/package-lock.json +2675 -0
  108. package/templates/database-starter/page/package.json +44 -0
  109. package/templates/database-starter/page/public/favicon.png +0 -0
  110. package/templates/database-starter/page/src/App.tsx +18 -0
  111. package/templates/database-starter/page/src/components/UserSelectorEditor/index.tsx +267 -0
  112. package/templates/database-starter/page/src/components/UserSelectorPanel/index.css +32 -0
  113. package/templates/database-starter/page/src/components/UserSelectorPanel/index.test.ts +24 -0
  114. package/templates/database-starter/page/src/components/UserSelectorPanel/index.tsx +478 -0
  115. package/templates/database-starter/page/src/components/UserSelectorPanel/user-search.test.ts +175 -0
  116. package/templates/database-starter/page/src/components/UserSelectorPanel/user-search.ts +201 -0
  117. package/templates/database-starter/page/src/components/database-runtime-ready.tsx +21 -0
  118. package/templates/database-starter/page/src/components/database-user-menu/index.tsx +238 -0
  119. package/templates/database-starter/page/src/components/feedback/page-state.tsx +66 -0
  120. package/templates/database-starter/page/src/components/floating-button/chatbot-entry.test.ts +23 -0
  121. package/templates/database-starter/page/src/components/floating-button/chatbot-entry.tsx +873 -0
  122. package/templates/database-starter/page/src/components/floating-button/index.tsx +196 -0
  123. package/templates/database-starter/page/src/components/floating-button/local-chat-panel.test.ts +25 -0
  124. package/templates/database-starter/page/src/components/floating-button/local-chat-panel.tsx +197 -0
  125. package/templates/database-starter/page/src/components/floating-button/utils/current-user.ts +56 -0
  126. package/templates/database-starter/page/src/components/floating-button/utils/env.ts +18 -0
  127. package/templates/database-starter/page/src/components/floating-button/utils/project-meta.test.ts +79 -0
  128. package/templates/database-starter/page/src/components/floating-button/utils/project-meta.ts +252 -0
  129. package/templates/database-starter/page/src/components/ui/button.tsx +56 -0
  130. package/templates/database-starter/page/src/index.css +67 -0
  131. package/templates/database-starter/page/src/lib/cn.test.ts +9 -0
  132. package/templates/database-starter/page/src/lib/cn.ts +7 -0
  133. package/templates/database-starter/page/src/lib/database-runtime-attachment.test.ts +168 -0
  134. package/templates/database-starter/page/src/lib/database-runtime-context.test.ts +111 -0
  135. package/templates/database-starter/page/src/lib/database-runtime.test.ts +103 -0
  136. package/templates/database-starter/page/src/lib/database-runtime.ts +389 -0
  137. package/templates/database-starter/page/src/main.tsx +34 -0
  138. package/templates/database-starter/page/src/vite-env.d.ts +1 -0
  139. package/templates/database-starter/page/tsconfig.json +23 -0
  140. package/templates/database-starter/page/vite.config.ts +13 -0
  141. package/templates/database-starter/prettierignore +1 -0
  142. package/templates/database-starter/server-functions/.prettierignore +3 -0
  143. package/templates/database-starter/server-functions/.prettierrc.json +7 -0
  144. package/templates/database-starter/server-functions/README.md +11 -0
  145. package/templates/database-starter/server-functions/package-lock.json +1687 -0
  146. package/templates/database-starter/server-functions/package.json +22 -0
  147. package/templates/database-starter/server-functions/scripts/run-tsc.mjs +50 -0
  148. package/templates/database-starter/server-functions/tsconfig.json +20 -0
  149. package/templates/database-starter/sql/README.md +8 -0
package/dist/init.js ADDED
@@ -0,0 +1,418 @@
1
+ import { cpSync, existsSync, mkdirSync, readFileSync, writeFileSync, } from 'node:fs';
2
+ import { basename, join, resolve } from 'node:path';
3
+ import { starterRoot } from './assets.js';
4
+ import { CONFIG_FILE_NAME, writeConfig } from './config.js';
5
+ import { ONLINE_RUNTIME_PROFILE, resolveRuntimeProfile, } from './environment.js';
6
+ import { responseData, runLarkCli } from './lark-cli.js';
7
+ import { writePageTitle } from './page-title.js';
8
+ const WRITE_INTERVAL_MS = 2_000;
9
+ function requiredString(value, label) {
10
+ if (typeof value !== 'string' || value.trim() === '') {
11
+ throw new Error(`${label} must be a non-empty string`);
12
+ }
13
+ return value.trim();
14
+ }
15
+ function parseSchema(path) {
16
+ const absolutePath = resolve(path);
17
+ let parsed;
18
+ try {
19
+ parsed = JSON.parse(readFileSync(absolutePath, 'utf8'));
20
+ }
21
+ catch (error) {
22
+ throw new Error(`Unable to read schema ${absolutePath}: ${error instanceof Error ? error.message : String(error)}`);
23
+ }
24
+ if (!parsed || typeof parsed !== 'object') {
25
+ throw new Error('Schema must be an object');
26
+ }
27
+ const tables = parsed.tables;
28
+ if (!Array.isArray(tables) || tables.length === 0) {
29
+ throw new Error('Schema must contain at least one table');
30
+ }
31
+ const names = new Set();
32
+ for (const [tableIndex, table] of tables.entries()) {
33
+ if (!table || typeof table !== 'object') {
34
+ throw new Error(`schema.tables[${tableIndex}] must be an object`);
35
+ }
36
+ const candidate = table;
37
+ const name = requiredString(candidate.name, `schema.tables[${tableIndex}].name`);
38
+ if (names.has(name))
39
+ throw new Error(`Duplicate table name: ${name}`);
40
+ names.add(name);
41
+ if (!Array.isArray(candidate.fields) || candidate.fields.length === 0) {
42
+ throw new Error(`schema.tables[${tableIndex}].fields must not be empty`);
43
+ }
44
+ for (const [fieldIndex, field] of candidate.fields.entries()) {
45
+ if (!field || typeof field !== 'object') {
46
+ throw new Error(`schema.tables[${tableIndex}].fields[${fieldIndex}] must be an object`);
47
+ }
48
+ const candidateField = field;
49
+ requiredString(candidateField.name, `schema.tables[${tableIndex}].fields[${fieldIndex}].name`);
50
+ requiredString(candidateField.type, `schema.tables[${tableIndex}].fields[${fieldIndex}].type`);
51
+ }
52
+ }
53
+ return parsed;
54
+ }
55
+ function tableId(response, label) {
56
+ const data = responseData(response);
57
+ const table = data.table;
58
+ return requiredString(table?.table_id ?? table?.tableId ?? table?.id, `${label} response table ID`);
59
+ }
60
+ function baseToken(response) {
61
+ const data = responseData(response);
62
+ const base = data.base;
63
+ return requiredString(base?.base_token ?? base?.baseToken ?? data.base_token ?? data.baseToken, 'base-create response Base token');
64
+ }
65
+ function baseUrl(response) {
66
+ const data = responseData(response);
67
+ const base = data.base;
68
+ const value = base?.url ?? data.url;
69
+ return typeof value === 'string' && value !== '' ? value : undefined;
70
+ }
71
+ function baseName(response) {
72
+ const data = responseData(response);
73
+ const base = data.base;
74
+ const value = base?.name ?? base?.title ?? data.name ?? data.title;
75
+ return typeof value === 'string' && value.trim() !== ''
76
+ ? value.trim()
77
+ : undefined;
78
+ }
79
+ function existingTables(response) {
80
+ const data = responseData(response);
81
+ const value = data.tables ?? data.items;
82
+ if (!Array.isArray(value)) {
83
+ throw new Error('table-list response does not contain tables');
84
+ }
85
+ return value.map((table, index) => {
86
+ if (!table || typeof table !== 'object') {
87
+ throw new Error(`table-list response tables[${index}] must be an object`);
88
+ }
89
+ const item = table;
90
+ return {
91
+ name: requiredString(item.name ?? item.table_name ?? item.tableName, `table-list response tables[${index}] name`),
92
+ tableId: requiredString(item.id ?? item.table_id ?? item.tableId, `table-list response tables[${index}] ID`),
93
+ };
94
+ });
95
+ }
96
+ function hasMoreTables(response, count) {
97
+ const data = responseData(response);
98
+ const hasMore = data.has_more ?? data.hasMore;
99
+ if (typeof hasMore === 'boolean')
100
+ return hasMore;
101
+ const total = data.total;
102
+ return typeof total === 'number' && count < total;
103
+ }
104
+ function listExistingTables(baseTokenValue, env) {
105
+ const limit = 100;
106
+ const tables = [];
107
+ for (let offset = 0;; offset += limit) {
108
+ const response = runLarkCli([
109
+ 'base',
110
+ '+table-list',
111
+ '--base-token',
112
+ baseTokenValue,
113
+ '--limit',
114
+ String(limit),
115
+ '--offset',
116
+ String(offset),
117
+ ], env);
118
+ const page = existingTables(response);
119
+ tables.push(...page);
120
+ if (!hasMoreTables(response, tables.length))
121
+ break;
122
+ if (page.length === 0) {
123
+ throw new Error('table-list returned has_more without any tables');
124
+ }
125
+ }
126
+ if (tables.length === 0) {
127
+ throw new Error('Existing Base must contain at least one table');
128
+ }
129
+ return tables;
130
+ }
131
+ function appToken(response) {
132
+ const data = responseData(response);
133
+ const project = data.project;
134
+ return requiredString(data.token ?? project?.token, 'sites/create response token');
135
+ }
136
+ async function pause() {
137
+ await new Promise((resolve) => setTimeout(resolve, WRITE_INTERVAL_MS));
138
+ }
139
+ async function retry(label, attempts, operation) {
140
+ let lastError;
141
+ for (let attempt = 1; attempt <= attempts; attempt += 1) {
142
+ try {
143
+ return operation();
144
+ }
145
+ catch (error) {
146
+ lastError = error;
147
+ if (attempt < attempts) {
148
+ process.stderr.write(`${label} failed (${attempt}/${attempts}); retrying in 2s: ${error instanceof Error ? error.message : String(error)}\n`);
149
+ await pause();
150
+ }
151
+ }
152
+ }
153
+ throw lastError;
154
+ }
155
+ function mergeIgnoreFile(target, template) {
156
+ const current = existsSync(target) ? readFileSync(target, 'utf8') : '';
157
+ const currentLines = current.split(/\r?\n/);
158
+ const missingLines = readFileSync(template, 'utf8')
159
+ .split(/\r?\n/)
160
+ .filter((line) => line !== '' && !currentLines.includes(line));
161
+ if (missingLines.length === 0)
162
+ return;
163
+ const separator = current === '' || current.endsWith('\n') ? '' : '\n';
164
+ writeFileSync(target, `${current}${separator}${missingLines.join('\n')}\n`);
165
+ }
166
+ function validateCatalog(value, baseTokenValue, tables) {
167
+ if (!value || typeof value !== 'object') {
168
+ throw new Error('Application Catalog must be an object');
169
+ }
170
+ const catalog = value;
171
+ if (!Array.isArray(catalog.tables) || catalog.tables.length === 0) {
172
+ throw new Error('Application Catalog must contain tables');
173
+ }
174
+ const identities = new Set(catalog.tables.map((table) => {
175
+ const item = table;
176
+ return `${String(item.baseToken)}:${String(item.id)}`;
177
+ }));
178
+ const missing = tables.filter((table) => !identities.has(`${baseTokenValue}:${table.tableId}`));
179
+ if (missing.length > 0) {
180
+ throw new Error(`Catalog does not contain bound tables: ${missing.map((table) => table.name).join(', ')}`);
181
+ }
182
+ return value;
183
+ }
184
+ function catalogBaseAppUrl(catalog) {
185
+ const value = catalog.baseAppUrl;
186
+ return typeof value === 'string' && value.trim() !== '' ? value : undefined;
187
+ }
188
+ export async function initializeProject(options) {
189
+ const runtimeProfile = resolveRuntimeProfile(options.environment, options.runtimeProfile ?? ONLINE_RUNTIME_PROFILE);
190
+ const workspace = resolve(options.directory);
191
+ const databaseName = requiredString(options.name, '--name');
192
+ for (const output of [
193
+ CONFIG_FILE_NAME,
194
+ 'catalog.json',
195
+ 'page',
196
+ 'server-functions',
197
+ 'sql',
198
+ ]) {
199
+ if (existsSync(join(workspace, output))) {
200
+ throw new Error(`Refusing to overwrite ${join(workspace, output)}`);
201
+ }
202
+ }
203
+ const schemaPath = options.schema?.trim();
204
+ const existingBaseToken = options.baseToken?.trim();
205
+ const existingAppToken = options.appToken?.trim();
206
+ if (Boolean(schemaPath) === Boolean(existingBaseToken)) {
207
+ throw new Error('Provide exactly one of --schema or --base-token');
208
+ }
209
+ const env = await runtimeProfile.commandEnvironment();
210
+ const attempts = runtimeProfile.initAttempts;
211
+ let selectedBaseToken;
212
+ let selectedBaseUrl;
213
+ let selectedBaseName = databaseName;
214
+ let tables;
215
+ const baseSource = existingBaseToken
216
+ ? 'existing'
217
+ : 'created';
218
+ if (existingBaseToken) {
219
+ selectedBaseToken = requiredString(existingBaseToken, '--base-token');
220
+ process.stderr.write('Reading existing Base tables...\n');
221
+ const existingBase = runLarkCli(['base', '+base-get', '--base-token', selectedBaseToken], env);
222
+ selectedBaseUrl = baseUrl(existingBase);
223
+ selectedBaseName = baseName(existingBase) ?? selectedBaseToken;
224
+ tables = listExistingTables(selectedBaseToken, env);
225
+ }
226
+ else {
227
+ const schema = parseSchema(requiredString(schemaPath, '--schema'));
228
+ const [first, ...remaining] = schema.tables;
229
+ if (!first)
230
+ throw new Error('Schema must contain at least one table');
231
+ process.stderr.write(`Creating Base ${databaseName}...\n`);
232
+ const createdBase = await retry('base-create', attempts, () => runLarkCli([
233
+ 'base',
234
+ '+base-create',
235
+ '--name',
236
+ databaseName,
237
+ '--time-zone',
238
+ options.timeZone,
239
+ '--table-name',
240
+ first.name,
241
+ '--fields',
242
+ JSON.stringify(first.fields),
243
+ ], env));
244
+ selectedBaseToken = baseToken(createdBase);
245
+ selectedBaseUrl = baseUrl(createdBase);
246
+ tables = [
247
+ { name: first.name, tableId: tableId(createdBase, 'base-create') },
248
+ ];
249
+ for (const table of remaining) {
250
+ await pause();
251
+ process.stderr.write(`Creating table ${table.name}...\n`);
252
+ const response = await retry(`table-create ${table.name}`, attempts, () => runLarkCli([
253
+ 'base',
254
+ '+table-create',
255
+ '--base-token',
256
+ selectedBaseToken,
257
+ '--name',
258
+ table.name,
259
+ '--fields',
260
+ JSON.stringify(table.fields),
261
+ ], env));
262
+ tables.push({
263
+ name: table.name,
264
+ tableId: tableId(response, 'table-create'),
265
+ });
266
+ }
267
+ await pause();
268
+ }
269
+ const binding = {
270
+ baseToken: selectedBaseToken,
271
+ tableIds: tables.map((table) => table.tableId),
272
+ };
273
+ let selectedAppToken;
274
+ const databaseSource = existingAppToken
275
+ ? 'existing'
276
+ : 'created';
277
+ if (existingAppToken) {
278
+ selectedAppToken = requiredString(existingAppToken, '--app-token');
279
+ process.stderr.write('Updating the existing application metadata...\n');
280
+ runLarkCli([
281
+ 'api',
282
+ 'PATCH',
283
+ `/open-apis/base/v3/sites/${encodeURIComponent(selectedAppToken)}/update`,
284
+ '--data',
285
+ JSON.stringify({
286
+ name: options.name,
287
+ description: options.description ?? '',
288
+ }),
289
+ ], env);
290
+ process.stderr.write('Binding all tables to the existing application...\n');
291
+ runLarkCli([
292
+ 'api',
293
+ 'POST',
294
+ `/open-apis/base/v3/sites/${encodeURIComponent(selectedAppToken)}/bind_base`,
295
+ '--data',
296
+ JSON.stringify(binding),
297
+ ], env);
298
+ }
299
+ else {
300
+ process.stderr.write('Creating application and binding all tables...\n');
301
+ const createdDatabase = runLarkCli([
302
+ 'api',
303
+ 'POST',
304
+ '/open-apis/base/v3/sites/create',
305
+ '--data',
306
+ JSON.stringify({
307
+ name: databaseName,
308
+ description: options.description ?? '',
309
+ baseBindings: [binding],
310
+ }),
311
+ ], env);
312
+ selectedAppToken = appToken(createdDatabase);
313
+ }
314
+ const encodedToken = encodeURIComponent(selectedAppToken);
315
+ const catalog = await retry('catalog', 5, () => {
316
+ const response = runLarkCli(['api', 'GET', `/open-apis/base/v3/sites/${encodedToken}/catalog`], env);
317
+ return validateCatalog(response.data, selectedBaseToken, tables);
318
+ });
319
+ mkdirSync(workspace, { recursive: true });
320
+ for (const directory of ['page', 'server-functions', 'sql']) {
321
+ cpSync(join(starterRoot, directory), join(workspace, directory), {
322
+ recursive: true,
323
+ });
324
+ }
325
+ writePageTitle(workspace, databaseName);
326
+ runtimeProfile.prepareWorkspace?.(workspace);
327
+ const readmePath = join(workspace, 'README.md');
328
+ if (!existsSync(readmePath)) {
329
+ cpSync(join(starterRoot, 'README.md'), readmePath);
330
+ }
331
+ mergeIgnoreFile(join(workspace, '.gitignore'), join(starterRoot, 'gitignore'));
332
+ mergeIgnoreFile(join(workspace, '.prettierignore'), join(starterRoot, 'prettierignore'));
333
+ writeFileSync(join(workspace, 'catalog.json'), `${JSON.stringify(catalog, null, 2)}\n`);
334
+ const configPath = writeConfig(workspace, {
335
+ configVersion: 1,
336
+ name: basename(workspace),
337
+ ...(runtimeProfile.name === ONLINE_RUNTIME_PROFILE.name
338
+ ? {}
339
+ : { runtimeProfile: runtimeProfile.name }),
340
+ appToken: selectedAppToken,
341
+ bindings: {
342
+ MAIN_BASE: {
343
+ type: 'base',
344
+ baseToken: selectedBaseToken,
345
+ tableIds: tables.map((table) => table.tableId),
346
+ },
347
+ },
348
+ });
349
+ const base = {
350
+ name: selectedBaseName,
351
+ token: selectedBaseToken,
352
+ ...(selectedBaseUrl ? { url: selectedBaseUrl } : {}),
353
+ tables,
354
+ };
355
+ const baseAppUrl = catalogBaseAppUrl(catalog);
356
+ return {
357
+ ok: true,
358
+ environment: runtimeProfile.name,
359
+ workspace,
360
+ config: configPath,
361
+ catalog: join(workspace, 'catalog.json'),
362
+ baseSource,
363
+ databaseSource,
364
+ baseToken: selectedBaseToken,
365
+ ...(selectedBaseUrl ? { baseUrl: selectedBaseUrl } : {}),
366
+ tables,
367
+ appToken: selectedAppToken,
368
+ ...(baseAppUrl ? { baseAppUrl } : {}),
369
+ ...(baseSource === 'existing' || databaseSource === 'existing'
370
+ ? {
371
+ reused: {
372
+ ...(baseSource === 'existing' ? { base } : {}),
373
+ ...(databaseSource === 'existing'
374
+ ? {
375
+ database: {
376
+ name: databaseName,
377
+ token: selectedAppToken,
378
+ binding,
379
+ },
380
+ }
381
+ : {}),
382
+ },
383
+ }
384
+ : {}),
385
+ created: {
386
+ ...(baseSource === 'created' ? { base } : {}),
387
+ ...(databaseSource === 'created'
388
+ ? {
389
+ database: {
390
+ name: databaseName,
391
+ token: selectedAppToken,
392
+ binding,
393
+ },
394
+ }
395
+ : {}),
396
+ project: {
397
+ directory: workspace,
398
+ config: configPath,
399
+ catalog: join(workspace, 'catalog.json'),
400
+ source: workspace,
401
+ },
402
+ },
403
+ nextSteps: [
404
+ {
405
+ action: 'develop',
406
+ workingDirectory: workspace,
407
+ description: 'Read catalog.json, then implement the complete Page, SQL Functions, and server-side FaaS Functions under page/, sql/, and server-functions/ in one pass.',
408
+ },
409
+ {
410
+ action: 'deployPreview',
411
+ workingDirectory: workspace,
412
+ command: runtimeProfile.deployCommand,
413
+ description: 'Run this single command after implementation; it installs, builds, validates, uploads, publishes, and returns baseAppUrl.',
414
+ },
415
+ ],
416
+ };
417
+ }
418
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type RuntimeProfile } from './environment.js';
2
+ import type { CommandResult } from './types.js';
3
+ export declare function resolveLarkCliExecutable(env: NodeJS.ProcessEnv, cwd?: string): string;
4
+ export declare function runLarkCli(args: string[], env: NodeJS.ProcessEnv, cwd?: string): CommandResult;
5
+ export declare function runProjectLarkCli(args: string[], profile?: RuntimeProfile): Promise<void>;
6
+ export declare function responseData(response: CommandResult): Record<string, unknown>;
7
+ export declare function runLarkCliOutput(method: 'GET' | 'POST', path: string, output: string, env: NodeJS.ProcessEnv, cwd?: string): void;
8
+ //# sourceMappingURL=lark-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lark-cli.d.ts","sourceRoot":"","sources":["../src/lark-cli.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA+EhD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,GAAE,MAAsB,GAC1B,MAAM,CAqCR;AA4CD,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,aAAa,CAgDf;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,cAAuC,GAC/C,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAK7E;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,KAAK,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAgCN"}