@restforgejs/mcp-server 1.2.1 → 1.2.3
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/dist/server.js +69 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/codegen/dbschema-apply.js +153 -153
- package/dist/tools/codegen/dbschema-diff.js +135 -135
- package/dist/tools/codegen/dbschema-template.js +111 -111
- package/dist/tools/codegen/index.js +2 -0
- package/dist/tools/codegen/index.js.map +1 -1
- package/dist/tools/codegen/migrate-payload.d.ts +2 -0
- package/dist/tools/codegen/migrate-payload.js +207 -0
- package/dist/tools/codegen/migrate-payload.js.map +1 -0
- package/dist/tools/designer/generate.d.ts +2 -0
- package/dist/tools/designer/generate.js +217 -0
- package/dist/tools/designer/generate.js.map +1 -0
- package/dist/tools/designer/get-udf-catalog.d.ts +2 -0
- package/dist/tools/designer/get-udf-catalog.js +225 -0
- package/dist/tools/designer/get-udf-catalog.js.map +1 -0
- package/dist/tools/designer/index.d.ts +2 -0
- package/dist/tools/designer/index.js +19 -0
- package/dist/tools/designer/index.js.map +1 -0
- package/dist/tools/designer/init-project.d.ts +2 -0
- package/dist/tools/designer/init-project.js +235 -0
- package/dist/tools/designer/init-project.js.map +1 -0
- package/dist/tools/designer/inspect-plugin.d.ts +2 -0
- package/dist/tools/designer/inspect-plugin.js +153 -0
- package/dist/tools/designer/inspect-plugin.js.map +1 -0
- package/dist/tools/designer/list-plugins.d.ts +2 -0
- package/dist/tools/designer/list-plugins.js +141 -0
- package/dist/tools/designer/list-plugins.js.map +1 -0
- package/dist/tools/designer/preview-files.d.ts +2 -0
- package/dist/tools/designer/preview-files.js +155 -0
- package/dist/tools/designer/preview-files.js.map +1 -0
- package/dist/tools/designer/scaffold-plugin.d.ts +2 -0
- package/dist/tools/designer/scaffold-plugin.js +162 -0
- package/dist/tools/designer/scaffold-plugin.js.map +1 -0
- package/dist/tools/designer/validate-payload.d.ts +2 -0
- package/dist/tools/designer/validate-payload.js +163 -0
- package/dist/tools/designer/validate-payload.js.map +1 -0
- package/dist/tools/runtime/generate-launcher.js +3 -3
- package/package.json +1 -1
|
@@ -86,48 +86,48 @@ function buildDriftSummary(tables) {
|
|
|
86
86
|
export function registerCodegenDbschemaDiff(server) {
|
|
87
87
|
server.registerTool('codegen_dbschema_diff', {
|
|
88
88
|
title: 'Diff dbschema-kit Files Against Database',
|
|
89
|
-
description: `Detect schema drift between dbschema-kit SDF files and the live database structure (read-only, bidirectional), by wrapping restforge schema diff. The CLI loads the SDF files, introspects the matching tables in the database, and reports differences in both directions: only-in-SDF (declared but missing in the database), only-in-DB (present in the database but not declared), and mismatched (present on both sides but different). Nothing is written to the database or the filesystem.
|
|
90
|
-
|
|
91
|
-
EXIT CODE SEMANTICS (important):
|
|
92
|
-
- Exit 0 = no drift; schema and database are in sync.
|
|
93
|
-
- Exit 1 = drift detected. This is a NORMAL, meaningful result — NOT a failure. The response summarises the drift; treat it as the answer to "is my schema in sync?".
|
|
94
|
-
- Exit 2 = system error (invalid config, connection failure, schema path not found, SDF load error).
|
|
95
|
-
|
|
96
|
-
USE WHEN:
|
|
97
|
-
- The user asks "is my schema in sync with the database?", "apakah schema saya sinkron dengan database?", "ada drift nggak?", "cek drift schema"
|
|
98
|
-
- After editing SDF files — to check the impact against the live database before deciding what to apply
|
|
99
|
-
- After a manual database change (e.g. an ad-hoc ALTER) — to see how far the database diverged from the SDF source
|
|
100
|
-
- Before running 'codegen_dbschema_migrate' on an existing database — to know what differs first
|
|
101
|
-
- The user wants a safe read-only comparison without modifying anything
|
|
102
|
-
- Periodic drift audit of an environment (staging/production) against the SDF folder
|
|
103
|
-
|
|
104
|
-
DO NOT USE FOR:
|
|
105
|
-
- Applying the detected drift to the database -> use 'codegen_dbschema_apply', the incremental complement of this diff (additive ALTER by default; destructive changes need explicit opt-in).
|
|
106
|
-
- Full CREATE/DROP deployment of a schema -> use 'codegen_dbschema_migrate' (full apply, mutates the database — a different operation from drift detection)
|
|
107
|
-
- Validating SDF file correctness without a database -> use 'codegen_dbschema_validate'
|
|
108
|
-
- Reverse-engineering SDF files from the database -> use 'codegen_dbschema_introspect'
|
|
109
|
-
- Listing tables or describing a single table -> use 'codegen_list_tables' / 'codegen_describe_table'
|
|
110
|
-
- Comparing RDF payload files against the database -> use 'codegen_diff_payload'
|
|
111
|
-
|
|
112
|
-
This tool runs: npx restforge schema diff --path=<path> --config=<config> --json [--table=<name>] in the given cwd. The --json flag is always sent; the tool parses the JSON drift report (version, summary, per-table sections).
|
|
113
|
-
|
|
114
|
-
Soft-delete note: the diff is soft-delete aware but non-strict. Drift in the softDelete block is reported as-is in the table's softDelete section without blocking the diff — unlike introspect, which can block on a broken soft-delete contract.
|
|
115
|
-
|
|
116
|
-
Limitations:
|
|
117
|
-
- The sqlite dialect is not supported by schema diff.
|
|
118
|
-
- A table declared in SDF but absent in the database is reported as only-in-SDF drift, not as an error.
|
|
119
|
-
|
|
120
|
-
Preconditions:
|
|
121
|
-
- The project must have @restforgejs/platform installed in node_modules.
|
|
122
|
-
- The config file (default 'db-connection.env') must exist and contain valid database credentials.
|
|
123
|
-
- SDF files must exist at the given path. The --path flag is required by the CLI.
|
|
124
|
-
|
|
125
|
-
PRESENTATION GUIDANCE:
|
|
126
|
-
- Match the user's language. If the user writes in Indonesian, respond in Indonesian.
|
|
127
|
-
- Never mention internal tool names in the reply to the user. Describe actions by what they do (e.g. "compare the schema with the database", "check for drift").
|
|
128
|
-
- Drift detected is NOT an error. Present it as a factual comparison result: which tables drifted and in which direction (only-in-SDF / only-in-DB / mismatched).
|
|
129
|
-
- Speak in plain language. Summarise per table; do not paste the raw JSON unless the user explicitly asks.
|
|
130
|
-
- This is a read-only live comparison: the database is introspected at diff time and never modified.
|
|
89
|
+
description: `Detect schema drift between dbschema-kit SDF files and the live database structure (read-only, bidirectional), by wrapping restforge schema diff. The CLI loads the SDF files, introspects the matching tables in the database, and reports differences in both directions: only-in-SDF (declared but missing in the database), only-in-DB (present in the database but not declared), and mismatched (present on both sides but different). Nothing is written to the database or the filesystem.
|
|
90
|
+
|
|
91
|
+
EXIT CODE SEMANTICS (important):
|
|
92
|
+
- Exit 0 = no drift; schema and database are in sync.
|
|
93
|
+
- Exit 1 = drift detected. This is a NORMAL, meaningful result — NOT a failure. The response summarises the drift; treat it as the answer to "is my schema in sync?".
|
|
94
|
+
- Exit 2 = system error (invalid config, connection failure, schema path not found, SDF load error).
|
|
95
|
+
|
|
96
|
+
USE WHEN:
|
|
97
|
+
- The user asks "is my schema in sync with the database?", "apakah schema saya sinkron dengan database?", "ada drift nggak?", "cek drift schema"
|
|
98
|
+
- After editing SDF files — to check the impact against the live database before deciding what to apply
|
|
99
|
+
- After a manual database change (e.g. an ad-hoc ALTER) — to see how far the database diverged from the SDF source
|
|
100
|
+
- Before running 'codegen_dbschema_migrate' on an existing database — to know what differs first
|
|
101
|
+
- The user wants a safe read-only comparison without modifying anything
|
|
102
|
+
- Periodic drift audit of an environment (staging/production) against the SDF folder
|
|
103
|
+
|
|
104
|
+
DO NOT USE FOR:
|
|
105
|
+
- Applying the detected drift to the database -> use 'codegen_dbschema_apply', the incremental complement of this diff (additive ALTER by default; destructive changes need explicit opt-in).
|
|
106
|
+
- Full CREATE/DROP deployment of a schema -> use 'codegen_dbschema_migrate' (full apply, mutates the database — a different operation from drift detection)
|
|
107
|
+
- Validating SDF file correctness without a database -> use 'codegen_dbschema_validate'
|
|
108
|
+
- Reverse-engineering SDF files from the database -> use 'codegen_dbschema_introspect'
|
|
109
|
+
- Listing tables or describing a single table -> use 'codegen_list_tables' / 'codegen_describe_table'
|
|
110
|
+
- Comparing RDF payload files against the database -> use 'codegen_diff_payload'
|
|
111
|
+
|
|
112
|
+
This tool runs: npx restforge schema diff --path=<path> --config=<config> --json [--table=<name>] in the given cwd. The --json flag is always sent; the tool parses the JSON drift report (version, summary, per-table sections).
|
|
113
|
+
|
|
114
|
+
Soft-delete note: the diff is soft-delete aware but non-strict. Drift in the softDelete block is reported as-is in the table's softDelete section without blocking the diff — unlike introspect, which can block on a broken soft-delete contract.
|
|
115
|
+
|
|
116
|
+
Limitations:
|
|
117
|
+
- The sqlite dialect is not supported by schema diff.
|
|
118
|
+
- A table declared in SDF but absent in the database is reported as only-in-SDF drift, not as an error.
|
|
119
|
+
|
|
120
|
+
Preconditions:
|
|
121
|
+
- The project must have @restforgejs/platform installed in node_modules.
|
|
122
|
+
- The config file (default 'db-connection.env') must exist and contain valid database credentials.
|
|
123
|
+
- SDF files must exist at the given path. The --path flag is required by the CLI.
|
|
124
|
+
|
|
125
|
+
PRESENTATION GUIDANCE:
|
|
126
|
+
- Match the user's language. If the user writes in Indonesian, respond in Indonesian.
|
|
127
|
+
- Never mention internal tool names in the reply to the user. Describe actions by what they do (e.g. "compare the schema with the database", "check for drift").
|
|
128
|
+
- Drift detected is NOT an error. Present it as a factual comparison result: which tables drifted and in which direction (only-in-SDF / only-in-DB / mismatched).
|
|
129
|
+
- Speak in plain language. Summarise per table; do not paste the raw JSON unless the user explicitly asks.
|
|
130
|
+
- This is a read-only live comparison: the database is introspected at diff time and never modified.
|
|
131
131
|
- When a precondition is not met, frame it as a question or next-step suggestion rather than an error.`,
|
|
132
132
|
inputSchema: {
|
|
133
133
|
cwd: z
|
|
@@ -165,17 +165,17 @@ PRESENTATION GUIDANCE:
|
|
|
165
165
|
content: [
|
|
166
166
|
{
|
|
167
167
|
type: 'text',
|
|
168
|
-
text: `Precondition not met: the RESTForge package is not installed in this project.
|
|
169
|
-
|
|
170
|
-
Project path: ${projectCwd}
|
|
171
|
-
Expected location: node_modules/@restforgejs/platform
|
|
172
|
-
Requested config: ${config}
|
|
173
|
-
Requested schema path: ${path}
|
|
174
|
-
Requested table filter: ${table ?? 'all tables'}
|
|
175
|
-
|
|
176
|
-
For the assistant:
|
|
177
|
-
- The user needs to install the RESTForge package before the schema can be diffed against the database.
|
|
178
|
-
- Suggest installing the package first, then retry the drift check.
|
|
168
|
+
text: `Precondition not met: the RESTForge package is not installed in this project.
|
|
169
|
+
|
|
170
|
+
Project path: ${projectCwd}
|
|
171
|
+
Expected location: node_modules/@restforgejs/platform
|
|
172
|
+
Requested config: ${config}
|
|
173
|
+
Requested schema path: ${path}
|
|
174
|
+
Requested table filter: ${table ?? 'all tables'}
|
|
175
|
+
|
|
176
|
+
For the assistant:
|
|
177
|
+
- The user needs to install the RESTForge package before the schema can be diffed against the database.
|
|
178
|
+
- Suggest installing the package first, then retry the drift check.
|
|
179
179
|
- When explaining to the user, say something like "the RESTForge package isn't installed yet — should I install it first?". Do not mention internal tool names.`,
|
|
180
180
|
},
|
|
181
181
|
],
|
|
@@ -211,33 +211,33 @@ For the assistant:
|
|
|
211
211
|
content: [
|
|
212
212
|
{
|
|
213
213
|
type: 'text',
|
|
214
|
-
text: `Failed to diff schema against the database.
|
|
215
|
-
|
|
216
|
-
Project path: ${projectCwd}
|
|
217
|
-
Config: ${config}
|
|
218
|
-
Schema path: ${path}
|
|
219
|
-
Table filter: ${table ?? 'all tables'}
|
|
220
|
-
Command: ${result.command}
|
|
221
|
-
Exit code: ${result.exitCode}
|
|
222
|
-
|
|
223
|
-
--- CLI output ---
|
|
224
|
-
stdout:
|
|
225
|
-
${result.stdout}
|
|
226
|
-
|
|
227
|
-
stderr:
|
|
228
|
-
${result.stderr}
|
|
229
|
-
--- end CLI output ---
|
|
230
|
-
|
|
231
|
-
For the assistant:
|
|
232
|
-
- Tell the user that the drift check could not run. This is a system error, not a drift result.
|
|
233
|
-
- Summarise the most likely cause from the CLI output in plain language. Common causes:
|
|
234
|
-
* Config file not found or invalid — suggest verifying the config path and its content.
|
|
235
|
-
* Database connection failed — suggest verifying credentials, host, and port.
|
|
236
|
-
* Schema path not found — the CLI cannot locate the path. Suggest verifying the folder or file name passed via --path.
|
|
237
|
-
* SDF load error — a schema file has invalid syntax or violates the defineModel contract. Suggest running the validate action first to surface the specific issue.
|
|
238
|
-
* Unsupported dialect — schema diff does not support sqlite. Suggest checking DB_TYPE in the config.
|
|
239
|
-
* Unknown command 'schema diff' — the installed RESTForge version may be older than this CLI subcommand; suggest upgrading the package.
|
|
240
|
-
- Do not paste the raw stdout/stderr unless the user explicitly asks. Do not mention internal tool names.
|
|
214
|
+
text: `Failed to diff schema against the database.
|
|
215
|
+
|
|
216
|
+
Project path: ${projectCwd}
|
|
217
|
+
Config: ${config}
|
|
218
|
+
Schema path: ${path}
|
|
219
|
+
Table filter: ${table ?? 'all tables'}
|
|
220
|
+
Command: ${result.command}
|
|
221
|
+
Exit code: ${result.exitCode}
|
|
222
|
+
|
|
223
|
+
--- CLI output ---
|
|
224
|
+
stdout:
|
|
225
|
+
${result.stdout}
|
|
226
|
+
|
|
227
|
+
stderr:
|
|
228
|
+
${result.stderr}
|
|
229
|
+
--- end CLI output ---
|
|
230
|
+
|
|
231
|
+
For the assistant:
|
|
232
|
+
- Tell the user that the drift check could not run. This is a system error, not a drift result.
|
|
233
|
+
- Summarise the most likely cause from the CLI output in plain language. Common causes:
|
|
234
|
+
* Config file not found or invalid — suggest verifying the config path and its content.
|
|
235
|
+
* Database connection failed — suggest verifying credentials, host, and port.
|
|
236
|
+
* Schema path not found — the CLI cannot locate the path. Suggest verifying the folder or file name passed via --path.
|
|
237
|
+
* SDF load error — a schema file has invalid syntax or violates the defineModel contract. Suggest running the validate action first to surface the specific issue.
|
|
238
|
+
* Unsupported dialect — schema diff does not support sqlite. Suggest checking DB_TYPE in the config.
|
|
239
|
+
* Unknown command 'schema diff' — the installed RESTForge version may be older than this CLI subcommand; suggest upgrading the package.
|
|
240
|
+
- Do not paste the raw stdout/stderr unless the user explicitly asks. Do not mention internal tool names.
|
|
241
241
|
- Offer to retry once the underlying issue is resolved.`,
|
|
242
242
|
},
|
|
243
243
|
],
|
|
@@ -256,21 +256,21 @@ For the assistant:
|
|
|
256
256
|
content: [
|
|
257
257
|
{
|
|
258
258
|
type: 'text',
|
|
259
|
-
text: `Failed to parse the schema drift report as JSON.
|
|
260
|
-
|
|
261
|
-
Project path: ${projectCwd}
|
|
262
|
-
Config: ${config}
|
|
263
|
-
Schema path: ${path}
|
|
264
|
-
Exit code: ${result.exitCode}
|
|
265
|
-
Reason: ${msg}
|
|
266
|
-
|
|
267
|
-
--- Raw stdout ---
|
|
268
|
-
${result.stdout}
|
|
269
|
-
--- end Raw stdout ---
|
|
270
|
-
|
|
271
|
-
For the assistant:
|
|
272
|
-
- The CLI returned output that is not valid JSON, so the drift result could not be read.
|
|
273
|
-
- Summarise this to the user in plain language; do not paste the raw stdout unless they explicitly ask.
|
|
259
|
+
text: `Failed to parse the schema drift report as JSON.
|
|
260
|
+
|
|
261
|
+
Project path: ${projectCwd}
|
|
262
|
+
Config: ${config}
|
|
263
|
+
Schema path: ${path}
|
|
264
|
+
Exit code: ${result.exitCode}
|
|
265
|
+
Reason: ${msg}
|
|
266
|
+
|
|
267
|
+
--- Raw stdout ---
|
|
268
|
+
${result.stdout}
|
|
269
|
+
--- end Raw stdout ---
|
|
270
|
+
|
|
271
|
+
For the assistant:
|
|
272
|
+
- The CLI returned output that is not valid JSON, so the drift result could not be read.
|
|
273
|
+
- Summarise this to the user in plain language; do not paste the raw stdout unless they explicitly ask.
|
|
274
274
|
- Suggest checking that the installed RESTForge package version is compatible. Do not mention internal tool names.`,
|
|
275
275
|
},
|
|
276
276
|
],
|
|
@@ -292,20 +292,20 @@ For the assistant:
|
|
|
292
292
|
content: [
|
|
293
293
|
{
|
|
294
294
|
type: 'text',
|
|
295
|
-
text: `Schema drift check completed: no drift detected.
|
|
296
|
-
|
|
297
|
-
Project path: ${projectCwd}
|
|
298
|
-
Config: ${config}
|
|
299
|
-
Schema path: ${path}
|
|
300
|
-
Table filter: ${table ?? 'all tables'}
|
|
301
|
-
totalTables: ${totalTables}
|
|
302
|
-
tablesWithDrift: ${tablesWithDrift}
|
|
303
|
-
tablesClean: ${tablesClean}
|
|
304
|
-
|
|
305
|
-
For the assistant:
|
|
306
|
-
- Confirm to the user that the schema files and the database are in sync — mention the number of tables compared in plain language.
|
|
307
|
-
- This was a read-only comparison; nothing in the database or the filesystem was modified.
|
|
308
|
-
- No follow-up action is required. If the user expected drift, suggest double-checking that the schema path and config point at the intended files and database.
|
|
295
|
+
text: `Schema drift check completed: no drift detected.
|
|
296
|
+
|
|
297
|
+
Project path: ${projectCwd}
|
|
298
|
+
Config: ${config}
|
|
299
|
+
Schema path: ${path}
|
|
300
|
+
Table filter: ${table ?? 'all tables'}
|
|
301
|
+
totalTables: ${totalTables}
|
|
302
|
+
tablesWithDrift: ${tablesWithDrift}
|
|
303
|
+
tablesClean: ${tablesClean}
|
|
304
|
+
|
|
305
|
+
For the assistant:
|
|
306
|
+
- Confirm to the user that the schema files and the database are in sync — mention the number of tables compared in plain language.
|
|
307
|
+
- This was a read-only comparison; nothing in the database or the filesystem was modified.
|
|
308
|
+
- No follow-up action is required. If the user expected drift, suggest double-checking that the schema path and config point at the intended files and database.
|
|
309
309
|
- Match the user's language.`,
|
|
310
310
|
},
|
|
311
311
|
],
|
|
@@ -317,32 +317,32 @@ For the assistant:
|
|
|
317
317
|
content: [
|
|
318
318
|
{
|
|
319
319
|
type: 'text',
|
|
320
|
-
text: `Schema drift check completed: drift detected (this is a result, not an error).
|
|
321
|
-
|
|
322
|
-
Project path: ${projectCwd}
|
|
323
|
-
Config: ${config}
|
|
324
|
-
Schema path: ${path}
|
|
325
|
-
Table filter: ${table ?? 'all tables'}
|
|
326
|
-
totalTables: ${totalTables}
|
|
327
|
-
tablesWithDrift: ${tablesWithDrift}
|
|
328
|
-
tablesClean: ${tablesClean}
|
|
329
|
-
|
|
330
|
-
--- Drift summary per table ---
|
|
331
|
-
${driftSummary}
|
|
332
|
-
--- end Drift summary ---
|
|
333
|
-
|
|
334
|
-
--- Drift report (JSON) ---
|
|
335
|
-
${prettyJson}
|
|
336
|
-
--- end Drift report (JSON) ---
|
|
337
|
-
|
|
338
|
-
For the assistant:
|
|
339
|
-
- Present this as a factual comparison result, NOT a failure: the schema files and the database differ.
|
|
340
|
-
- Summarise per drifted table in plain language: only-in-SDF means declared in the schema files but missing in the database; only-in-DB means present in the database but not declared; mismatched means present on both sides with different definitions.
|
|
341
|
-
- A whole table reported as only-in-SDF fields drift usually means the table does not exist in the database yet.
|
|
342
|
-
- Drift in the softDelete section is informational (non-strict) — report it as-is without treating it as a blocker.
|
|
343
|
-
- Do not paste the full JSON unless the user asks; the per-table summary above is usually enough.
|
|
344
|
-
- For next steps, depending on direction: additive changes can be applied incrementally via 'codegen_dbschema_apply' (preview with dryRun=true first; destructive changes need explicit user opt-in); a full re-deploy goes through the migrate action (destructive — needs explicit confirmation). When speaking to the user, describe these as actions — do not mention internal tool names.
|
|
345
|
-
- This was a read-only comparison; nothing was modified.
|
|
320
|
+
text: `Schema drift check completed: drift detected (this is a result, not an error).
|
|
321
|
+
|
|
322
|
+
Project path: ${projectCwd}
|
|
323
|
+
Config: ${config}
|
|
324
|
+
Schema path: ${path}
|
|
325
|
+
Table filter: ${table ?? 'all tables'}
|
|
326
|
+
totalTables: ${totalTables}
|
|
327
|
+
tablesWithDrift: ${tablesWithDrift}
|
|
328
|
+
tablesClean: ${tablesClean}
|
|
329
|
+
|
|
330
|
+
--- Drift summary per table ---
|
|
331
|
+
${driftSummary}
|
|
332
|
+
--- end Drift summary ---
|
|
333
|
+
|
|
334
|
+
--- Drift report (JSON) ---
|
|
335
|
+
${prettyJson}
|
|
336
|
+
--- end Drift report (JSON) ---
|
|
337
|
+
|
|
338
|
+
For the assistant:
|
|
339
|
+
- Present this as a factual comparison result, NOT a failure: the schema files and the database differ.
|
|
340
|
+
- Summarise per drifted table in plain language: only-in-SDF means declared in the schema files but missing in the database; only-in-DB means present in the database but not declared; mismatched means present on both sides with different definitions.
|
|
341
|
+
- A whole table reported as only-in-SDF fields drift usually means the table does not exist in the database yet.
|
|
342
|
+
- Drift in the softDelete section is informational (non-strict) — report it as-is without treating it as a blocker.
|
|
343
|
+
- Do not paste the full JSON unless the user asks; the per-table summary above is usually enough.
|
|
344
|
+
- For next steps, depending on direction: additive changes can be applied incrementally via 'codegen_dbschema_apply' (preview with dryRun=true first; destructive changes need explicit user opt-in); a full re-deploy goes through the migrate action (destructive — needs explicit confirmation). When speaking to the user, describe these as actions — do not mention internal tool names.
|
|
345
|
+
- This was a read-only comparison; nothing was modified.
|
|
346
346
|
- Match the user's language.`,
|
|
347
347
|
},
|
|
348
348
|
],
|
|
@@ -49,52 +49,52 @@ function describeRequest(args) {
|
|
|
49
49
|
export function registerCodegenDbschemaTemplate(server) {
|
|
50
50
|
server.registerTool('codegen_dbschema_template', {
|
|
51
51
|
title: 'Browse / Preview / Generate Schema Templates',
|
|
52
|
-
description: `Access the RESTForge Schema Reference collection (87 ready-made templates spanning 30+ domains: ERP, finance, inventory, e-commerce, CRM, HR, POS, and more) by wrapping restforge schema template. Use it to browse and filter the catalog, preview a template's SDF or SQL, look up the available domains/categories/sections, and scaffold real schema files for common business tables (e.g. sales_order, inventory, customer_invoice) instead of starting from an empty skeleton.
|
|
53
|
-
|
|
54
|
-
FOUR MODES:
|
|
55
|
-
- LIST / BROWSE (default, no show/generate/utility flag): returns a filtered catalog of templates. Combine filters: domain (csv), table (wildcard glob like "sales*"), category, pattern, section, hasSdf, noSdf.
|
|
56
|
-
- SHOW (show=true, needs a SPECIFIC table name — no wildcard): prints the template's schema. lang=sdf (default) prints the dbschema-kit factory function; lang=sql prints raw DDL. example=true adds a sample-data section (only meaningful together with show).
|
|
57
|
-
- GENERATE (generate=true, needs a SPECIFIC table AND path): writes the template to the filesystem. A master-detail template writes TWO files (e.g. sales_order.js + sales_order_item.js). force=true overwrites existing destination files; without force the CLI refuses to overwrite.
|
|
58
|
-
- UTILITY (stats / listDomains / listCategories / listSections): collection statistics and the lookup lists that feed the filters above.
|
|
59
|
-
|
|
60
|
-
PLATFORM DEPENDENCY (important): this feature is backed by a native binary (sdf-tools.exe) that is currently WINDOWS-ONLY. On a non-Windows host, or if the binary is missing from the installed package, the CLI exits with code 3 and this tool reports that the template collection is unavailable on this platform — that is NOT a user error. In that case, author the SDF by hand (ground it with 'codegen_get_dbschema_catalog') or reverse-engineer it from an existing database with 'codegen_dbschema_introspect'.
|
|
61
|
-
|
|
62
|
-
USE WHEN:
|
|
63
|
-
- The user asks for an example schema, a starter for a common table, or "what tables/templates are available"
|
|
64
|
-
- Pertanyaan dalam bentuk: "ada template schema untuk sales order nggak?", "buatkan schema inventory dari template", "contoh schema invoice", "template apa saja untuk domain ERP", "scaffold tabel pelanggan dari contoh"
|
|
65
|
-
- The user wants to scaffold a real, fleshed-out table (sales_order, product, customer, journal_entry, ...) rather than the minimal id/code/name/is_active skeleton from 'codegen_dbschema_init'
|
|
66
|
-
- Exploring the catalog by domain/category/pattern, or doing SDF gap analysis (noSdf=true)
|
|
67
|
-
- The user wants to preview a template's SDF or SQL before committing it to a file
|
|
68
|
-
|
|
69
|
-
DO NOT USE FOR:
|
|
70
|
-
- Creating a minimal empty starter file (id/code/name/is_active only) -> use 'codegen_dbschema_init'
|
|
71
|
-
- Editing an existing schema file -> use Edit/Write tools directly
|
|
72
|
-
- Reverse-engineering SDF from a live database -> use 'codegen_dbschema_introspect'
|
|
73
|
-
- Validating a schema file -> use 'codegen_dbschema_validate'
|
|
74
|
-
- Generating DDL from an already-authored SDF -> use 'codegen_dbschema_generate_ddl'
|
|
75
|
-
- Looking up defineModel syntax / field types / constraints -> use 'codegen_get_dbschema_catalog'
|
|
76
|
-
|
|
77
|
-
This tool runs: npx restforge schema template [filters/mode flags] in the given cwd. Boolean flags (show, generate, stats, hasSdf, noSdf, example, force, listDomains, listCategories, listSections) are sent as bare flags only when true; string/enum flags (domain, table, category, pattern, section, lang, path, format) are sent as --flag=value when supplied.
|
|
78
|
-
|
|
79
|
-
OUTPUT: the tool relays the CLI's text output as-is; it does not parse it. The native binary's --format=json is honoured by the list/stats/listDomains/listCategories/listSections modes (machine-readable JSON text) but NOT by show (which always prints schema code) or generate (which prints a written-files summary). Pass format=json only when you specifically want the JSON form of a list/utility result; otherwise the default human-readable text is easier to summarise.
|
|
80
|
-
|
|
81
|
-
CLI constraints (the CLI enforces these; this tool does not pre-validate, it forwards and relays the CLI's own error):
|
|
82
|
-
- show and generate require a specific table name (no wildcard).
|
|
83
|
-
- generate requires path.
|
|
84
|
-
- example is only meaningful together with show.
|
|
85
|
-
- force only matters with generate (overwrite existing files).
|
|
86
|
-
- master-detail templates generate two files.
|
|
87
|
-
|
|
88
|
-
Preconditions:
|
|
89
|
-
- The project must have @restforgejs/platform installed in node_modules.
|
|
90
|
-
- The template feature requires the Windows-only sdf-tools.exe binary shipped with the package (exit 3 otherwise — see PLATFORM DEPENDENCY).
|
|
91
|
-
|
|
92
|
-
PRESENTATION GUIDANCE:
|
|
93
|
-
- Match the user's language. If the user writes in Indonesian, respond in Indonesian.
|
|
94
|
-
- Never mention internal tool names in the reply to the user. Describe actions by what they do (e.g. "browse the schema templates", "preview the sales order template", "scaffold the table from a template").
|
|
95
|
-
- Speak in plain language. Summarise list/stats output (counts, the templates relevant to the user's task); do not paste the entire table or JSON unless the user explicitly asks.
|
|
96
|
-
- For generate: confirm the files that were written and their paths (a master-detail template creates two files). Suggest validating the generated schema next.
|
|
97
|
-
- For the Windows-only exit 3 case: explain plainly that the ready-made template collection is not available on this platform, then offer the alternatives (author the SDF by hand with the catalog as reference, or reverse-engineer from an existing database). Do not present it as a failure of the user's request.
|
|
52
|
+
description: `Access the RESTForge Schema Reference collection (87 ready-made templates spanning 30+ domains: ERP, finance, inventory, e-commerce, CRM, HR, POS, and more) by wrapping restforge schema template. Use it to browse and filter the catalog, preview a template's SDF or SQL, look up the available domains/categories/sections, and scaffold real schema files for common business tables (e.g. sales_order, inventory, customer_invoice) instead of starting from an empty skeleton.
|
|
53
|
+
|
|
54
|
+
FOUR MODES:
|
|
55
|
+
- LIST / BROWSE (default, no show/generate/utility flag): returns a filtered catalog of templates. Combine filters: domain (csv), table (wildcard glob like "sales*"), category, pattern, section, hasSdf, noSdf.
|
|
56
|
+
- SHOW (show=true, needs a SPECIFIC table name — no wildcard): prints the template's schema. lang=sdf (default) prints the dbschema-kit factory function; lang=sql prints raw DDL. example=true adds a sample-data section (only meaningful together with show).
|
|
57
|
+
- GENERATE (generate=true, needs a SPECIFIC table AND path): writes the template to the filesystem. A master-detail template writes TWO files (e.g. sales_order.js + sales_order_item.js). force=true overwrites existing destination files; without force the CLI refuses to overwrite.
|
|
58
|
+
- UTILITY (stats / listDomains / listCategories / listSections): collection statistics and the lookup lists that feed the filters above.
|
|
59
|
+
|
|
60
|
+
PLATFORM DEPENDENCY (important): this feature is backed by a native binary (sdf-tools.exe) that is currently WINDOWS-ONLY. On a non-Windows host, or if the binary is missing from the installed package, the CLI exits with code 3 and this tool reports that the template collection is unavailable on this platform — that is NOT a user error. In that case, author the SDF by hand (ground it with 'codegen_get_dbschema_catalog') or reverse-engineer it from an existing database with 'codegen_dbschema_introspect'.
|
|
61
|
+
|
|
62
|
+
USE WHEN:
|
|
63
|
+
- The user asks for an example schema, a starter for a common table, or "what tables/templates are available"
|
|
64
|
+
- Pertanyaan dalam bentuk: "ada template schema untuk sales order nggak?", "buatkan schema inventory dari template", "contoh schema invoice", "template apa saja untuk domain ERP", "scaffold tabel pelanggan dari contoh"
|
|
65
|
+
- The user wants to scaffold a real, fleshed-out table (sales_order, product, customer, journal_entry, ...) rather than the minimal id/code/name/is_active skeleton from 'codegen_dbschema_init'
|
|
66
|
+
- Exploring the catalog by domain/category/pattern, or doing SDF gap analysis (noSdf=true)
|
|
67
|
+
- The user wants to preview a template's SDF or SQL before committing it to a file
|
|
68
|
+
|
|
69
|
+
DO NOT USE FOR:
|
|
70
|
+
- Creating a minimal empty starter file (id/code/name/is_active only) -> use 'codegen_dbschema_init'
|
|
71
|
+
- Editing an existing schema file -> use Edit/Write tools directly
|
|
72
|
+
- Reverse-engineering SDF from a live database -> use 'codegen_dbschema_introspect'
|
|
73
|
+
- Validating a schema file -> use 'codegen_dbschema_validate'
|
|
74
|
+
- Generating DDL from an already-authored SDF -> use 'codegen_dbschema_generate_ddl'
|
|
75
|
+
- Looking up defineModel syntax / field types / constraints -> use 'codegen_get_dbschema_catalog'
|
|
76
|
+
|
|
77
|
+
This tool runs: npx restforge schema template [filters/mode flags] in the given cwd. Boolean flags (show, generate, stats, hasSdf, noSdf, example, force, listDomains, listCategories, listSections) are sent as bare flags only when true; string/enum flags (domain, table, category, pattern, section, lang, path, format) are sent as --flag=value when supplied.
|
|
78
|
+
|
|
79
|
+
OUTPUT: the tool relays the CLI's text output as-is; it does not parse it. The native binary's --format=json is honoured by the list/stats/listDomains/listCategories/listSections modes (machine-readable JSON text) but NOT by show (which always prints schema code) or generate (which prints a written-files summary). Pass format=json only when you specifically want the JSON form of a list/utility result; otherwise the default human-readable text is easier to summarise.
|
|
80
|
+
|
|
81
|
+
CLI constraints (the CLI enforces these; this tool does not pre-validate, it forwards and relays the CLI's own error):
|
|
82
|
+
- show and generate require a specific table name (no wildcard).
|
|
83
|
+
- generate requires path.
|
|
84
|
+
- example is only meaningful together with show.
|
|
85
|
+
- force only matters with generate (overwrite existing files).
|
|
86
|
+
- master-detail templates generate two files.
|
|
87
|
+
|
|
88
|
+
Preconditions:
|
|
89
|
+
- The project must have @restforgejs/platform installed in node_modules.
|
|
90
|
+
- The template feature requires the Windows-only sdf-tools.exe binary shipped with the package (exit 3 otherwise — see PLATFORM DEPENDENCY).
|
|
91
|
+
|
|
92
|
+
PRESENTATION GUIDANCE:
|
|
93
|
+
- Match the user's language. If the user writes in Indonesian, respond in Indonesian.
|
|
94
|
+
- Never mention internal tool names in the reply to the user. Describe actions by what they do (e.g. "browse the schema templates", "preview the sales order template", "scaffold the table from a template").
|
|
95
|
+
- Speak in plain language. Summarise list/stats output (counts, the templates relevant to the user's task); do not paste the entire table or JSON unless the user explicitly asks.
|
|
96
|
+
- For generate: confirm the files that were written and their paths (a master-detail template creates two files). Suggest validating the generated schema next.
|
|
97
|
+
- For the Windows-only exit 3 case: explain plainly that the ready-made template collection is not available on this platform, then offer the alternatives (author the SDF by hand with the catalog as reference, or reverse-engineer from an existing database). Do not present it as a failure of the user's request.
|
|
98
98
|
- When a precondition is not met, frame it as a question or next-step suggestion rather than an error.`,
|
|
99
99
|
inputSchema: {
|
|
100
100
|
cwd: z
|
|
@@ -198,14 +198,14 @@ PRESENTATION GUIDANCE:
|
|
|
198
198
|
content: [
|
|
199
199
|
{
|
|
200
200
|
type: 'text',
|
|
201
|
-
text: `Precondition not met: the RESTForge package is not installed in this project.
|
|
202
|
-
|
|
203
|
-
Project path: ${projectCwd}
|
|
204
|
-
Expected location: node_modules/@restforgejs/platform
|
|
205
|
-
|
|
206
|
-
For the assistant:
|
|
207
|
-
- The user needs to install the RESTForge package before the schema template collection can be used.
|
|
208
|
-
- Suggest installing the package first, then retry.
|
|
201
|
+
text: `Precondition not met: the RESTForge package is not installed in this project.
|
|
202
|
+
|
|
203
|
+
Project path: ${projectCwd}
|
|
204
|
+
Expected location: node_modules/@restforgejs/platform
|
|
205
|
+
|
|
206
|
+
For the assistant:
|
|
207
|
+
- The user needs to install the RESTForge package before the schema template collection can be used.
|
|
208
|
+
- Suggest installing the package first, then retry.
|
|
209
209
|
- When explaining to the user, say something like "the RESTForge package isn't installed yet — should I install it first?". Do not mention internal tool names.`,
|
|
210
210
|
},
|
|
211
211
|
],
|
|
@@ -287,26 +287,26 @@ For the assistant:
|
|
|
287
287
|
content: [
|
|
288
288
|
{
|
|
289
289
|
type: 'text',
|
|
290
|
-
text: `The schema template collection is unavailable on this platform.
|
|
291
|
-
|
|
292
|
-
Project path: ${projectCwd}
|
|
293
|
-
Requested: ${requestSummary}
|
|
294
|
-
Command: ${result.command}
|
|
295
|
-
Exit code: 3
|
|
296
|
-
|
|
297
|
-
--- CLI output ---
|
|
298
|
-
stdout:
|
|
299
|
-
${result.stdout}
|
|
300
|
-
|
|
301
|
-
stderr:
|
|
302
|
-
${result.stderr}
|
|
303
|
-
--- end CLI output ---
|
|
304
|
-
|
|
305
|
-
For the assistant:
|
|
306
|
-
- This is NOT a mistake by the user and NOT a bug in the request. The template feature is backed by a native binary (sdf-tools.exe) that currently only runs on Windows; exit 3 means either the host is not Windows, or the binary is missing from the installed package.
|
|
307
|
-
- Do not retry the same call — it will fail again on this host. Instead, offer the alternatives:
|
|
308
|
-
* Author the schema by hand: look up the defineModel syntax, field types, and constraints (the schema catalog is the ground truth), then create the file and validate it.
|
|
309
|
-
* Reverse-engineer the schema from an existing database table, if one already exists.
|
|
290
|
+
text: `The schema template collection is unavailable on this platform.
|
|
291
|
+
|
|
292
|
+
Project path: ${projectCwd}
|
|
293
|
+
Requested: ${requestSummary}
|
|
294
|
+
Command: ${result.command}
|
|
295
|
+
Exit code: 3
|
|
296
|
+
|
|
297
|
+
--- CLI output ---
|
|
298
|
+
stdout:
|
|
299
|
+
${result.stdout}
|
|
300
|
+
|
|
301
|
+
stderr:
|
|
302
|
+
${result.stderr}
|
|
303
|
+
--- end CLI output ---
|
|
304
|
+
|
|
305
|
+
For the assistant:
|
|
306
|
+
- This is NOT a mistake by the user and NOT a bug in the request. The template feature is backed by a native binary (sdf-tools.exe) that currently only runs on Windows; exit 3 means either the host is not Windows, or the binary is missing from the installed package.
|
|
307
|
+
- Do not retry the same call — it will fail again on this host. Instead, offer the alternatives:
|
|
308
|
+
* Author the schema by hand: look up the defineModel syntax, field types, and constraints (the schema catalog is the ground truth), then create the file and validate it.
|
|
309
|
+
* Reverse-engineer the schema from an existing database table, if one already exists.
|
|
310
310
|
- Explain plainly to the user that the ready-made template collection is not available on this platform, then propose one of the alternatives above. Do not mention internal tool names.`,
|
|
311
311
|
},
|
|
312
312
|
],
|
|
@@ -320,28 +320,28 @@ For the assistant:
|
|
|
320
320
|
content: [
|
|
321
321
|
{
|
|
322
322
|
type: 'text',
|
|
323
|
-
text: `Failed to run the schema template command.
|
|
324
|
-
|
|
325
|
-
Project path: ${projectCwd}
|
|
326
|
-
Requested: ${requestSummary}
|
|
327
|
-
Command: ${result.command}
|
|
328
|
-
Exit code: ${result.exitCode}
|
|
329
|
-
|
|
330
|
-
--- CLI output ---
|
|
331
|
-
stdout:
|
|
332
|
-
${result.stdout}
|
|
333
|
-
|
|
334
|
-
stderr:
|
|
335
|
-
${result.stderr}
|
|
336
|
-
--- end CLI output ---
|
|
337
|
-
|
|
338
|
-
For the assistant:
|
|
339
|
-
- Tell the user that the template command did not complete successfully.
|
|
340
|
-
- Summarise the most likely cause from the CLI output in plain language. Common causes:
|
|
341
|
-
* Usage error (exit 2) — an invalid flag combination. Recall the CLI constraints: show/generate need a specific table name (no wildcard); generate also needs path; example only works with show; an unknown enum value for category/pattern/lang/format is rejected.
|
|
342
|
-
* Binary spawn failure (exit 1) — sdf-tools.exe could not be launched; suggest re-checking the installed package integrity.
|
|
343
|
-
* For generate specifically: the destination file already exists and force was not set (the CLI refuses to overwrite) — suggest a different path or passing force=true after confirming with the user.
|
|
344
|
-
* Unknown command 'schema template' — the installed RESTForge version may be older than this CLI subcommand; suggest upgrading the package.
|
|
323
|
+
text: `Failed to run the schema template command.
|
|
324
|
+
|
|
325
|
+
Project path: ${projectCwd}
|
|
326
|
+
Requested: ${requestSummary}
|
|
327
|
+
Command: ${result.command}
|
|
328
|
+
Exit code: ${result.exitCode}
|
|
329
|
+
|
|
330
|
+
--- CLI output ---
|
|
331
|
+
stdout:
|
|
332
|
+
${result.stdout}
|
|
333
|
+
|
|
334
|
+
stderr:
|
|
335
|
+
${result.stderr}
|
|
336
|
+
--- end CLI output ---
|
|
337
|
+
|
|
338
|
+
For the assistant:
|
|
339
|
+
- Tell the user that the template command did not complete successfully.
|
|
340
|
+
- Summarise the most likely cause from the CLI output in plain language. Common causes:
|
|
341
|
+
* Usage error (exit 2) — an invalid flag combination. Recall the CLI constraints: show/generate need a specific table name (no wildcard); generate also needs path; example only works with show; an unknown enum value for category/pattern/lang/format is rejected.
|
|
342
|
+
* Binary spawn failure (exit 1) — sdf-tools.exe could not be launched; suggest re-checking the installed package integrity.
|
|
343
|
+
* For generate specifically: the destination file already exists and force was not set (the CLI refuses to overwrite) — suggest a different path or passing force=true after confirming with the user.
|
|
344
|
+
* Unknown command 'schema template' — the installed RESTForge version may be older than this CLI subcommand; suggest upgrading the package.
|
|
345
345
|
- Do not paste the raw stdout/stderr unless the user explicitly asks. Do not mention internal tool names.`,
|
|
346
346
|
},
|
|
347
347
|
],
|
|
@@ -356,25 +356,25 @@ For the assistant:
|
|
|
356
356
|
content: [
|
|
357
357
|
{
|
|
358
358
|
type: 'text',
|
|
359
|
-
text: `Schema template command completed successfully.
|
|
360
|
-
|
|
361
|
-
Project path: ${projectCwd}
|
|
362
|
-
Requested: ${requestSummary}
|
|
363
|
-
${format ? `Format: ${format}\n` : ''}
|
|
364
|
-
--- CLI output ---
|
|
365
|
-
${result.stdout}
|
|
366
|
-
--- end CLI output ---
|
|
367
|
-
|
|
368
|
-
For the assistant:
|
|
359
|
+
text: `Schema template command completed successfully.
|
|
360
|
+
|
|
361
|
+
Project path: ${projectCwd}
|
|
362
|
+
Requested: ${requestSummary}
|
|
363
|
+
${format ? `Format: ${format}\n` : ''}
|
|
364
|
+
--- CLI output ---
|
|
365
|
+
${result.stdout}
|
|
366
|
+
--- end CLI output ---
|
|
367
|
+
|
|
368
|
+
For the assistant:
|
|
369
369
|
${generated
|
|
370
|
-
? `- Confirm to the user which files were written and their paths — the CLI output above lists each generated file. A master-detail template writes two files (the master plus its detail/line table).
|
|
371
|
-
- Suggest opening the generated file(s) and then validating the schema as a sanity check (without naming the internal tool).
|
|
370
|
+
? `- Confirm to the user which files were written and their paths — the CLI output above lists each generated file. A master-detail template writes two files (the master plus its detail/line table).
|
|
371
|
+
- Suggest opening the generated file(s) and then validating the schema as a sanity check (without naming the internal tool).
|
|
372
372
|
- The generated schema is a real, fleshed-out starting point from the reference collection, not an empty skeleton; the user may still want to adjust field names/sizes to their exact domain.`
|
|
373
373
|
: show === true
|
|
374
|
-
? `- This is a preview only; nothing was written to the filesystem.
|
|
374
|
+
? `- This is a preview only; nothing was written to the filesystem.
|
|
375
375
|
- Read the schema above and summarise it in plain language if the user asked a question. If they want to keep it, offer to generate it to a file (which would write the actual file).`
|
|
376
|
-
: `- Read the output above and summarise it for the user (e.g. how many templates matched, the ones relevant to their task, or the requested list/statistics).
|
|
377
|
-
- Do not paste the entire table or JSON if it is long; surface only what the user needs. If they then want a specific template, offer to preview it (show) or scaffold it to a file (generate).`}
|
|
376
|
+
: `- Read the output above and summarise it for the user (e.g. how many templates matched, the ones relevant to their task, or the requested list/statistics).
|
|
377
|
+
- Do not paste the entire table or JSON if it is long; surface only what the user needs. If they then want a specific template, offer to preview it (show) or scaffold it to a file (generate).`}
|
|
378
378
|
- Match the user's language.`,
|
|
379
379
|
},
|
|
380
380
|
],
|
|
@@ -2,6 +2,7 @@ import { registerCodegenGeneratePayload } from './generate-payload.js';
|
|
|
2
2
|
import { registerCodegenValidatePayload } from './validate-payload.js';
|
|
3
3
|
import { registerCodegenDiffPayload } from './diff-payload.js';
|
|
4
4
|
import { registerCodegenSyncPayload } from './sync-payload.js';
|
|
5
|
+
import { registerCodegenMigratePayload } from './migrate-payload.js';
|
|
5
6
|
import { registerCodegenGetFieldValidationCatalog } from './get-field-validation-catalog.js';
|
|
6
7
|
import { registerCodegenGetQueryDeclarativeCatalog } from './get-query-declarative-catalog.js';
|
|
7
8
|
import { registerCodegenGetDashboardCatalog } from './get-dashboard-catalog.js';
|
|
@@ -26,6 +27,7 @@ export function registerCodegenTools(server) {
|
|
|
26
27
|
registerCodegenValidatePayload(server);
|
|
27
28
|
registerCodegenDiffPayload(server);
|
|
28
29
|
registerCodegenSyncPayload(server);
|
|
30
|
+
registerCodegenMigratePayload(server);
|
|
29
31
|
registerCodegenGetFieldValidationCatalog(server);
|
|
30
32
|
registerCodegenGetQueryDeclarativeCatalog(server);
|
|
31
33
|
registerCodegenGetDashboardCatalog(server);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/codegen/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,wCAAwC,EAAE,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EAAE,yCAAyC,EAAE,MAAM,oCAAoC,CAAC;AAC/F,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,uCAAuC,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,wCAAwC,CAAC,MAAM,CAAC,CAAC;IACjD,yCAAyC,CAAC,MAAM,CAAC,CAAC;IAClD,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAC3C,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,uCAAuC,CAAC,MAAM,CAAC,CAAC;IAChD,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAC1C,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACxC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAC3C,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAC1C,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,+BAA+B,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/codegen/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,wCAAwC,EAAE,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EAAE,yCAAyC,EAAE,MAAM,oCAAoC,CAAC;AAC/F,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,uCAAuC,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,wCAAwC,CAAC,MAAM,CAAC,CAAC;IACjD,yCAAyC,CAAC,MAAM,CAAC,CAAC;IAClD,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAC3C,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,uCAAuC,CAAC,MAAM,CAAC,CAAC;IAChD,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAC1C,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACxC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAC3C,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAC1C,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,+BAA+B,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC"}
|