clawsql 0.2.3 → 0.2.6

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 (88) hide show
  1. package/README.md +68 -16
  2. package/dist/api/schemas/index.d.ts +20 -20
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js +12 -0
  5. package/dist/app.js.map +1 -1
  6. package/dist/bin/clawsql.js +0 -0
  7. package/dist/cli/agent/index.d.ts +1 -1
  8. package/dist/cli/agent/index.d.ts.map +1 -1
  9. package/dist/cli/agent/index.js +4 -1
  10. package/dist/cli/agent/index.js.map +1 -1
  11. package/dist/cli/agent/openclaw-integration.d.ts +20 -1
  12. package/dist/cli/agent/openclaw-integration.d.ts.map +1 -1
  13. package/dist/cli/agent/openclaw-integration.js +84 -13
  14. package/dist/cli/agent/openclaw-integration.js.map +1 -1
  15. package/dist/cli/commands/clusters.d.ts +1 -1
  16. package/dist/cli/commands/clusters.d.ts.map +1 -1
  17. package/dist/cli/commands/clusters.js +292 -57
  18. package/dist/cli/commands/clusters.js.map +1 -1
  19. package/dist/cli/commands/openclaw.d.ts.map +1 -1
  20. package/dist/cli/commands/openclaw.js +11 -1
  21. package/dist/cli/commands/openclaw.js.map +1 -1
  22. package/dist/cli/commands/start.d.ts.map +1 -1
  23. package/dist/cli/commands/start.js +42 -17
  24. package/dist/cli/commands/start.js.map +1 -1
  25. package/dist/cli/commands/status.d.ts.map +1 -1
  26. package/dist/cli/commands/status.js +5 -0
  27. package/dist/cli/commands/status.js.map +1 -1
  28. package/dist/cli/commands/templates.d.ts +11 -0
  29. package/dist/cli/commands/templates.d.ts.map +1 -0
  30. package/dist/cli/commands/templates.js +206 -0
  31. package/dist/cli/commands/templates.js.map +1 -0
  32. package/dist/cli/formatter.d.ts +24 -0
  33. package/dist/cli/formatter.d.ts.map +1 -1
  34. package/dist/cli/formatter.js +22 -0
  35. package/dist/cli/formatter.js.map +1 -1
  36. package/dist/cli/index.d.ts.map +1 -1
  37. package/dist/cli/index.js +2 -0
  38. package/dist/cli/index.js.map +1 -1
  39. package/dist/cli/raw-input.d.ts +2 -0
  40. package/dist/cli/raw-input.d.ts.map +1 -1
  41. package/dist/cli/raw-input.js +70 -47
  42. package/dist/cli/raw-input.js.map +1 -1
  43. package/dist/cli/utils/args.d.ts +25 -0
  44. package/dist/cli/utils/args.d.ts.map +1 -0
  45. package/dist/cli/utils/args.js +51 -0
  46. package/dist/cli/utils/args.js.map +1 -0
  47. package/dist/config/settings.d.ts +38 -6
  48. package/dist/config/settings.d.ts.map +1 -1
  49. package/dist/config/settings.js +8 -0
  50. package/dist/config/settings.js.map +1 -1
  51. package/dist/core/discovery/cluster-view.d.ts +1 -0
  52. package/dist/core/discovery/cluster-view.d.ts.map +1 -1
  53. package/dist/core/discovery/cluster-view.js +23 -17
  54. package/dist/core/discovery/cluster-view.js.map +1 -1
  55. package/dist/core/discovery/topology.d.ts +1 -0
  56. package/dist/core/discovery/topology.d.ts.map +1 -1
  57. package/dist/core/discovery/topology.js +9 -1
  58. package/dist/core/discovery/topology.js.map +1 -1
  59. package/dist/core/provisioning/cluster-provisioner.d.ts +99 -0
  60. package/dist/core/provisioning/cluster-provisioner.d.ts.map +1 -0
  61. package/dist/core/provisioning/cluster-provisioner.js +415 -0
  62. package/dist/core/provisioning/cluster-provisioner.js.map +1 -0
  63. package/dist/core/provisioning/index.d.ts +12 -0
  64. package/dist/core/provisioning/index.d.ts.map +1 -0
  65. package/dist/core/provisioning/index.js +21 -0
  66. package/dist/core/provisioning/index.js.map +1 -0
  67. package/dist/core/provisioning/predefined-templates.d.ts +43 -0
  68. package/dist/core/provisioning/predefined-templates.d.ts.map +1 -0
  69. package/dist/core/provisioning/predefined-templates.js +117 -0
  70. package/dist/core/provisioning/predefined-templates.js.map +1 -0
  71. package/dist/core/provisioning/template-manager.d.ts +113 -0
  72. package/dist/core/provisioning/template-manager.d.ts.map +1 -0
  73. package/dist/core/provisioning/template-manager.js +274 -0
  74. package/dist/core/provisioning/template-manager.js.map +1 -0
  75. package/dist/core/routing/proxysql-manager.d.ts +18 -0
  76. package/dist/core/routing/proxysql-manager.d.ts.map +1 -1
  77. package/dist/core/routing/proxysql-manager.js +129 -9
  78. package/dist/core/routing/proxysql-manager.js.map +1 -1
  79. package/dist/types/index.d.ts +52 -0
  80. package/dist/types/index.d.ts.map +1 -1
  81. package/dist/types/index.js +45 -1
  82. package/dist/types/index.js.map +1 -1
  83. package/dist/utils/database.d.ts.map +1 -1
  84. package/dist/utils/database.js +40 -0
  85. package/dist/utils/database.js.map +1 -1
  86. package/docker/Dockerfile.allinone +1 -1
  87. package/docker/Dockerfile.node +1 -1
  88. package/package.json +2 -2
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ /**
3
+ * ClawSQL - Templates CLI Command
4
+ *
5
+ * Manage topology templates for cluster provisioning.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.templatesCommand = void 0;
9
+ const index_js_1 = require("../../core/provisioning/index.js");
10
+ const index_js_2 = require("../../types/index.js");
11
+ const args_js_1 = require("../utils/args.js");
12
+ /**
13
+ * Templates command
14
+ */
15
+ exports.templatesCommand = {
16
+ name: 'templates',
17
+ description: 'Manage topology templates for cluster provisioning',
18
+ usage: '/templates <list|create|show|delete> [options]',
19
+ handler: async (args, ctx) => {
20
+ const subcommand = args[0];
21
+ switch (subcommand) {
22
+ case 'list':
23
+ await handleList(args.slice(1), ctx);
24
+ break;
25
+ case 'create':
26
+ await handleCreate(args.slice(1), ctx);
27
+ break;
28
+ case 'show':
29
+ await handleShow(args.slice(1), ctx);
30
+ break;
31
+ case 'delete':
32
+ await handleDelete(args.slice(1), ctx);
33
+ break;
34
+ default:
35
+ if (subcommand) {
36
+ console.log(ctx.formatter.error(`Unknown subcommand: ${subcommand}`));
37
+ }
38
+ else {
39
+ console.log(ctx.formatter.error('Missing subcommand. Use: list, create, show, or delete'));
40
+ }
41
+ console.log(`Usage: ${exports.templatesCommand.usage}`);
42
+ }
43
+ },
44
+ };
45
+ /**
46
+ * List all templates (including predefined ones)
47
+ */
48
+ async function handleList(_args, ctx) {
49
+ const templateManager = (0, index_js_1.getTemplateManager)();
50
+ try {
51
+ const templates = await templateManager.list();
52
+ if (ctx.outputFormat === 'json') {
53
+ console.log(JSON.stringify({ templates, predefined: index_js_1.PREDEFINED_TEMPLATES }, null, 2));
54
+ return;
55
+ }
56
+ console.log(ctx.formatter.header('Topology Templates'));
57
+ console.log();
58
+ // Show predefined templates first
59
+ console.log(ctx.formatter.info('Predefined Templates (ready to use):'));
60
+ const existingNames = new Set(templates.map((t) => t.name));
61
+ console.log(ctx.formatter.predefinedTemplatesTable(index_js_1.PREDEFINED_TEMPLATES, existingNames));
62
+ // Show custom templates (user-created)
63
+ const customTemplates = templates.filter((t) => !(0, index_js_1.isPredefinedTemplate)(t.name));
64
+ if (customTemplates.length > 0) {
65
+ console.log();
66
+ console.log(ctx.formatter.info('Custom Templates:'));
67
+ for (const template of customTemplates) {
68
+ console.log(ctx.formatter.keyValue('Name', template.name));
69
+ console.log(ctx.formatter.keyValue(' ID', template.templateId));
70
+ if (template.description) {
71
+ console.log(ctx.formatter.keyValue(' Description', template.description));
72
+ }
73
+ console.log(ctx.formatter.keyValue(' Primary/Replica', `${template.primaryCount}/${template.replicaCount}`));
74
+ console.log(ctx.formatter.keyValue(' Replication', template.replicationMode));
75
+ console.log();
76
+ }
77
+ }
78
+ else {
79
+ console.log();
80
+ console.log(ctx.formatter.info('No custom templates. Create one with: /templates create --name <name>'));
81
+ }
82
+ console.log();
83
+ console.log(ctx.formatter.info('Provision a cluster: /clusters provision --template <name>'));
84
+ }
85
+ catch (error) {
86
+ console.log(ctx.formatter.error(`Failed to list templates: ${(0, args_js_1.getErrorMessage)(error)}`));
87
+ }
88
+ }
89
+ /**
90
+ * Create a new template
91
+ */
92
+ async function handleCreate(args, ctx) {
93
+ const name = (0, args_js_1.parseStringArg)(args, '--name');
94
+ if (!name) {
95
+ console.log(ctx.formatter.error('Missing required argument: --name'));
96
+ console.log('Usage: /templates create --name <name> [--description <desc>] [--replicas <n>] [--mode <async|semi-sync>]');
97
+ return;
98
+ }
99
+ const description = (0, args_js_1.parseStringArg)(args, '--description');
100
+ const replicaCount = parseInt((0, args_js_1.parseStringArg)(args, '--replicas') || '2', 10);
101
+ const modeStr = (0, args_js_1.parseStringArg)(args, '--mode') || 'async';
102
+ // Validate replication mode
103
+ if (!Object.values(index_js_2.ReplicationMode).includes(modeStr)) {
104
+ console.log(ctx.formatter.error(`Invalid replication mode: ${modeStr}. Use: async, semi-sync, or group-replication`));
105
+ return;
106
+ }
107
+ const templateManager = (0, index_js_1.getTemplateManager)();
108
+ try {
109
+ const template = await templateManager.create({
110
+ name,
111
+ description,
112
+ replicaCount,
113
+ replicationMode: modeStr,
114
+ });
115
+ console.log(ctx.formatter.success(`Template "${template.name}" created successfully`));
116
+ console.log(ctx.formatter.keyValue('ID', template.templateId));
117
+ console.log(ctx.formatter.keyValue('Primary/Replica', `${template.primaryCount}/${template.replicaCount}`));
118
+ console.log(ctx.formatter.keyValue('Replication Mode', template.replicationMode));
119
+ }
120
+ catch (error) {
121
+ console.log(ctx.formatter.error(`Failed to create template: ${(0, args_js_1.getErrorMessage)(error)}`));
122
+ }
123
+ }
124
+ /**
125
+ * Show template details
126
+ */
127
+ async function handleShow(args, ctx) {
128
+ const name = args[0] || (0, args_js_1.parseStringArg)(args, '--name');
129
+ if (!name) {
130
+ console.log(ctx.formatter.error('Missing template name'));
131
+ console.log('Usage: /templates show <name>');
132
+ return;
133
+ }
134
+ const templateManager = (0, index_js_1.getTemplateManager)();
135
+ const provisioner = (0, index_js_1.getClusterProvisioner)();
136
+ try {
137
+ const template = await templateManager.get(name);
138
+ if (!template) {
139
+ console.log(ctx.formatter.error(`Template "${name}" not found`));
140
+ return;
141
+ }
142
+ if (ctx.outputFormat === 'json') {
143
+ console.log(JSON.stringify(template, null, 2));
144
+ return;
145
+ }
146
+ console.log(ctx.formatter.header(`Template: ${template.name}`));
147
+ console.log();
148
+ console.log(ctx.formatter.keyValue('ID', template.templateId));
149
+ if (template.description) {
150
+ console.log(ctx.formatter.keyValue('Description', template.description));
151
+ }
152
+ console.log(ctx.formatter.keyValue('Primary Count', template.primaryCount.toString()));
153
+ console.log(ctx.formatter.keyValue('Replica Count', template.replicaCount.toString()));
154
+ console.log(ctx.formatter.keyValue('Replication Mode', template.replicationMode));
155
+ if (template.settings) {
156
+ console.log(ctx.formatter.keyValue('Settings', JSON.stringify(template.settings)));
157
+ }
158
+ console.log(ctx.formatter.keyValue('Created', template.createdAt.toISOString()));
159
+ console.log(ctx.formatter.keyValue('Updated', template.updatedAt.toISOString()));
160
+ // Show clusters using this template
161
+ const clusters = await provisioner.listClusters();
162
+ const usingClusters = clusters.filter((c) => c.templateId === template.templateId);
163
+ if (usingClusters.length > 0) {
164
+ console.log();
165
+ console.log(ctx.formatter.header('Clusters using this template'));
166
+ for (const cluster of usingClusters) {
167
+ console.log(ctx.formatter.keyValue(' Cluster', `${cluster.clusterId} (${cluster.provisionStatus})`));
168
+ }
169
+ }
170
+ }
171
+ catch (error) {
172
+ console.log(ctx.formatter.error(`Failed to show template: ${(0, args_js_1.getErrorMessage)(error)}`));
173
+ }
174
+ }
175
+ /**
176
+ * Delete a template
177
+ */
178
+ async function handleDelete(args, ctx) {
179
+ const name = args[0] || (0, args_js_1.parseStringArg)(args, '--name');
180
+ const force = args.includes('--force');
181
+ if (!name) {
182
+ console.log(ctx.formatter.error('Missing template name'));
183
+ console.log('Usage: /templates delete <name> [--force]');
184
+ return;
185
+ }
186
+ const templateManager = (0, index_js_1.getTemplateManager)();
187
+ try {
188
+ // Check if template exists
189
+ const template = await templateManager.get(name);
190
+ if (!template) {
191
+ console.log(ctx.formatter.error(`Template "${name}" not found`));
192
+ return;
193
+ }
194
+ if (!force) {
195
+ console.log(ctx.formatter.warning(`Will delete template "${name}"`));
196
+ console.log('Use --force to confirm deletion');
197
+ return;
198
+ }
199
+ await templateManager.delete(name);
200
+ console.log(ctx.formatter.success(`Template "${name}" deleted successfully`));
201
+ }
202
+ catch (error) {
203
+ console.log(ctx.formatter.error(`Failed to delete template: ${(0, args_js_1.getErrorMessage)(error)}`));
204
+ }
205
+ }
206
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/cli/commands/templates.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,+DAAyI;AACzI,mDAAuD;AAEvD,8CAAmE;AAEnE;;GAEG;AACU,QAAA,gBAAgB,GAAY;IACvC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,oDAAoD;IACjE,KAAK,EAAE,gDAAgD;IACvD,OAAO,EAAE,KAAK,EAAE,IAAc,EAAE,GAAe,EAAiB,EAAE;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAE3B,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvC,MAAM;YACR;gBACE,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,CAAC;gBAC7F,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,UAAU,wBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,KAAe,EAAE,GAAe;IACxD,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;QAE/C,IAAI,GAAG,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,+BAAoB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,kCAAkC;QAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,wBAAwB,CAAC,+BAAoB,EAAE,aAAa,CAAC,CAAC,CAAC;QAEzF,uCAAuC;QACvC,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,+BAAoB,EAAC,CAAC,CAAC,IAAI,CAAC,CACrC,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACrD,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjE,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC7E,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC9G,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,6BAA6B,IAAA,yBAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,IAAc,EAAE,GAAe;IACzD,MAAM,IAAI,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,2GAA2G,CAAC,CAAC;QACzH,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAA,wBAAc,EAAC,IAAI,EAAE,YAAY,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC;IAE1D,4BAA4B;IAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,0BAAe,CAAC,CAAC,QAAQ,CAAC,OAA0B,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,6BAA6B,OAAO,+CAA+C,CAAC,CAAC,CAAC;QACtH,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC;YAC5C,IAAI;YACJ,WAAW;YACX,YAAY;YACZ,eAAe,EAAE,OAA0B;SAC5C,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,QAAQ,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC5G,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,8BAA8B,IAAA,yBAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,IAAc,EAAE,GAAe;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAA,wBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAA,gCAAqB,GAAE,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QAClF,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEjF,oCAAoC;QACpC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;QAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEnF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAClE,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,4BAA4B,IAAA,yBAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,IAAc,EAAE,GAAe;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAA,wBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAC;IAE7C,IAAI,CAAC;QACH,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,MAAM,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,IAAI,wBAAwB,CAAC,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,8BAA8B,IAAA,yBAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC"}
@@ -78,6 +78,19 @@ export declare class Formatter {
78
78
  * Format a single instance line for cluster topology
79
79
  */
80
80
  private formatInstanceLine;
81
+ /**
82
+ * Format predefined templates as a table
83
+ *
84
+ * @param templates - Predefined template definitions
85
+ * @param existingNames - Set of template names that already exist in DB
86
+ */
87
+ predefinedTemplatesTable(templates: Array<{
88
+ name: string;
89
+ primaryCount: number;
90
+ replicaCount: number;
91
+ replicationMode: string;
92
+ useCase: string;
93
+ }>, existingNames: Set<string>): string;
81
94
  /**
82
95
  * Convert markdown to terminal-formatted text
83
96
  */
@@ -154,6 +167,17 @@ export interface ClusterTopologyData {
154
167
  health: string;
155
168
  syncWarnings?: SyncWarningDisplay[];
156
169
  }
170
+ /**
171
+ * Predefined template definition for display
172
+ */
173
+ export interface PredefinedTemplateDisplay {
174
+ name: string;
175
+ nodes: string;
176
+ mode: string;
177
+ useCase: string;
178
+ status: string;
179
+ [key: string]: unknown;
180
+ }
157
181
  /**
158
182
  * Get the default formatter instance
159
183
  */
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/cli/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/cli/formatter.ts"],"names":[],"mappings":"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"}
@@ -286,6 +286,28 @@ class Formatter {
286
286
  }
287
287
  return line;
288
288
  }
289
+ /**
290
+ * Format predefined templates as a table
291
+ *
292
+ * @param templates - Predefined template definitions
293
+ * @param existingNames - Set of template names that already exist in DB
294
+ */
295
+ predefinedTemplatesTable(templates, existingNames) {
296
+ const tableData = templates.map((def) => ({
297
+ name: def.name,
298
+ nodes: `${def.primaryCount + def.replicaCount}`,
299
+ mode: def.replicationMode,
300
+ useCase: def.useCase.length > 38 ? def.useCase.substring(0, 35) + '...' : def.useCase,
301
+ status: existingNames.has(def.name) ? 'ready' : 'available',
302
+ }));
303
+ return this.table(tableData, [
304
+ { key: 'name', header: 'Template', width: 16 },
305
+ { key: 'nodes', header: 'Nodes', width: 6 },
306
+ { key: 'mode', header: 'Mode', width: 12 },
307
+ { key: 'useCase', header: 'Use Case', width: 41 },
308
+ { key: 'status', header: 'Status', width: 10 },
309
+ ]);
310
+ }
289
311
  /**
290
312
  * Convert markdown to terminal-formatted text
291
313
  */
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/cli/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/cli/formatter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6CH;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAM/B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,OAAO,CAAC,IAAI,CAAC,CAkBf;;;;;AAED,wBAAkD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+CH;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAM/B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,OAAO,CAAC,IAAI,CAAC,CAkBf;;;;;AAED,wBAAkD"}
package/dist/cli/index.js CHANGED
@@ -29,6 +29,7 @@ const cleanup_js_1 = __importDefault(require("./commands/cleanup.js"));
29
29
  const doctor_js_1 = __importDefault(require("./commands/doctor.js"));
30
30
  const install_js_1 = __importDefault(require("./commands/install.js"));
31
31
  const openclaw_js_1 = __importDefault(require("./commands/openclaw.js"));
32
+ const templates_js_1 = require("./commands/templates.js");
32
33
  /**
33
34
  * Register all built-in commands
34
35
  */
@@ -49,6 +50,7 @@ function registerBuiltinCommands() {
49
50
  (0, registry_js_1.registerCommand)(doctor_js_1.default);
50
51
  (0, registry_js_1.registerCommand)(install_js_1.default);
51
52
  (0, registry_js_1.registerCommand)(openclaw_js_1.default);
53
+ (0, registry_js_1.registerCommand)(templates_js_1.templatesCommand);
52
54
  }
53
55
  /**
54
56
  * Start the interactive CLI
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;AAgDH,4BAMC;AAKD,oDAqBC;AA9ED,uCAAsC;AACtC,+CAAgD;AAEhD,sBAAsB;AACtB,iEAA6C;AAC7C,yEAAqD;AACrD,2EAAuD;AACvD,yEAAqD;AACrD,yEAAqD;AACrD,qEAAiD;AACjD,+DAA2C;AAC3C,iEAA6C;AAC7C,qEAAiD;AACjD,mEAA+C;AAC/C,iEAA6C;AAC7C,qEAAiD;AACjD,uEAAmD;AACnD,qEAAiD;AACjD,uEAAmD;AACnD,yEAAqD;AAErD;;GAEG;AACH,SAAS,uBAAuB;IAC9B,IAAA,6BAAe,EAAC,iBAAW,CAAC,CAAC;IAC7B,IAAA,6BAAe,EAAC,qBAAe,CAAC,CAAC;IACjC,IAAA,6BAAe,EAAC,sBAAgB,CAAC,CAAC;IAClC,IAAA,6BAAe,EAAC,qBAAe,CAAC,CAAC;IACjC,IAAA,6BAAe,EAAC,qBAAe,CAAC,CAAC;IACjC,IAAA,6BAAe,EAAC,mBAAa,CAAC,CAAC;IAC/B,IAAA,6BAAe,EAAC,gBAAU,CAAC,CAAC;IAC5B,IAAA,6BAAe,EAAC,iBAAW,CAAC,CAAC;IAC7B,IAAA,6BAAe,EAAC,mBAAa,CAAC,CAAC;IAC/B,IAAA,6BAAe,EAAC,kBAAY,CAAC,CAAC;IAC9B,IAAA,6BAAe,EAAC,iBAAW,CAAC,CAAC;IAC7B,IAAA,6BAAe,EAAC,mBAAa,CAAC,CAAC;IAC/B,IAAA,6BAAe,EAAC,oBAAc,CAAC,CAAC;IAChC,IAAA,6BAAe,EAAC,mBAAa,CAAC,CAAC;IAC/B,IAAA,6BAAe,EAAC,oBAAc,CAAC,CAAC;IAChC,IAAA,6BAAe,EAAC,qBAAe,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,iCAAiC;IACjC,uBAAuB,EAAE,CAAC;IAE1B,iBAAiB;IACjB,IAAA,mBAAS,GAAE,CAAC;AACd,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,UAA8B,EAAE;IAEhC,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAEvF,oBAAoB;IACpB,uBAAuB,EAAE,CAAC;IAE1B,+CAA+C;IAC/C,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE9D,oBAAoB;IACpB,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,kBAAe,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;AAkDH,4BAMC;AAKD,oDAqBC;AAhFD,uCAAsC;AACtC,+CAAgD;AAEhD,sBAAsB;AACtB,iEAA6C;AAC7C,yEAAqD;AACrD,2EAAuD;AACvD,yEAAqD;AACrD,yEAAqD;AACrD,qEAAiD;AACjD,+DAA2C;AAC3C,iEAA6C;AAC7C,qEAAiD;AACjD,mEAA+C;AAC/C,iEAA6C;AAC7C,qEAAiD;AACjD,uEAAmD;AACnD,qEAAiD;AACjD,uEAAmD;AACnD,yEAAqD;AACrD,0DAA2D;AAE3D;;GAEG;AACH,SAAS,uBAAuB;IAC9B,IAAA,6BAAe,EAAC,iBAAW,CAAC,CAAC;IAC7B,IAAA,6BAAe,EAAC,qBAAe,CAAC,CAAC;IACjC,IAAA,6BAAe,EAAC,sBAAgB,CAAC,CAAC;IAClC,IAAA,6BAAe,EAAC,qBAAe,CAAC,CAAC;IACjC,IAAA,6BAAe,EAAC,qBAAe,CAAC,CAAC;IACjC,IAAA,6BAAe,EAAC,mBAAa,CAAC,CAAC;IAC/B,IAAA,6BAAe,EAAC,gBAAU,CAAC,CAAC;IAC5B,IAAA,6BAAe,EAAC,iBAAW,CAAC,CAAC;IAC7B,IAAA,6BAAe,EAAC,mBAAa,CAAC,CAAC;IAC/B,IAAA,6BAAe,EAAC,kBAAY,CAAC,CAAC;IAC9B,IAAA,6BAAe,EAAC,iBAAW,CAAC,CAAC;IAC7B,IAAA,6BAAe,EAAC,mBAAa,CAAC,CAAC;IAC/B,IAAA,6BAAe,EAAC,oBAAc,CAAC,CAAC;IAChC,IAAA,6BAAe,EAAC,mBAAa,CAAC,CAAC;IAC/B,IAAA,6BAAe,EAAC,oBAAc,CAAC,CAAC;IAChC,IAAA,6BAAe,EAAC,qBAAe,CAAC,CAAC;IACjC,IAAA,6BAAe,EAAC,+BAAgB,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,iCAAiC;IACjC,uBAAuB,EAAE,CAAC;IAE1B,iBAAiB;IACjB,IAAA,mBAAS,GAAE,CAAC;AACd,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,UAA8B,EAAE;IAEhC,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAEvF,oBAAoB;IACpB,uBAAuB,EAAE,CAAC;IAE1B,+CAA+C;IAC/C,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE9D,oBAAoB;IACpB,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,kBAAe,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC"}
@@ -35,9 +35,11 @@ export declare class RawInputHandler {
35
35
  private pasteBuffer;
36
36
  private pasteTimeout;
37
37
  private static readonly PASTE_TIMEOUT_MS;
38
+ private bracketedPasteSupported;
38
39
  constructor(prompt?: string);
39
40
  /**
40
41
  * Enable bracketed paste mode (for better paste handling)
42
+ * Returns true if the terminal likely supports it
41
43
  */
42
44
  private enableBracketedPaste;
43
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"raw-input.d.ts","sourceRoot":"","sources":["../../src/cli/raw-input.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAwBD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,uBAAuB,CAAa;IAC5C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;gBAEpC,MAAM,GAAE,MAAqB;IAMzC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAgDtC;;OAEG;IACH,OAAO,CAAC,WAAW;IAmLnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;OAEG;IACH,OAAO,CAAC,MAAM;IAed;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyFzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA6BxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,YAAY;CAKrB"}
1
+ {"version":3,"file":"raw-input.d.ts","sourceRoot":"","sources":["../../src/cli/raw-input.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAwBD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,uBAAuB,CAAa;IAC5C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IAChD,OAAO,CAAC,uBAAuB,CAAkB;gBAErC,MAAM,GAAE,MAAqB;IAMzC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAgDtC;;OAEG;IACH,OAAO,CAAC,WAAW;IA6LnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;OAEG;IACH,OAAO,CAAC,MAAM;IAed;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyFzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA6BxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,YAAY;CAKrB"}
@@ -45,18 +45,30 @@ class RawInputHandler {
45
45
  pasteBuffer = '';
46
46
  pasteTimeout = null;
47
47
  static PASTE_TIMEOUT_MS = 5000; // 5 second timeout for bracketed paste
48
+ bracketedPasteSupported = false;
48
49
  constructor(prompt = 'clawsql ❯ ') {
49
50
  this.prompt = prompt;
50
51
  this.allCommands = getAllCommandSuggestions();
51
- this.enableBracketedPaste();
52
+ this.bracketedPasteSupported = this.enableBracketedPaste();
52
53
  }
53
54
  /**
54
55
  * Enable bracketed paste mode (for better paste handling)
56
+ * Returns true if the terminal likely supports it
55
57
  */
56
58
  enableBracketedPaste() {
57
59
  if (process.stdout.isTTY) {
58
- process.stdout.write('\x1B[?2004h');
60
+ // Check if terminal likely supports bracketed paste mode
61
+ // Most modern terminals (xterm, screen-256color, tmux, etc.) support it
62
+ const term = process.env.TERM || '';
63
+ const supportedTerms = ['xterm', 'screen', 'tmux', 'vt', 'rxvt', 'putty', 'iterm'];
64
+ const isSupported = supportedTerms.some(t => term.toLowerCase().includes(t));
65
+ if (isSupported || !term) {
66
+ // Terminal likely supports bracketed paste mode
67
+ process.stdout.write('\x1B[?2004h');
68
+ return true;
69
+ }
59
70
  }
71
+ return false;
60
72
  }
61
73
  /**
62
74
  * Disable bracketed paste mode
@@ -80,7 +92,9 @@ class RawInputHandler {
80
92
  */
81
93
  cleanup() {
82
94
  this.clearPasteTimeout();
83
- this.disableBracketedPaste();
95
+ if (this.bracketedPasteSupported) {
96
+ this.disableBracketedPaste();
97
+ }
84
98
  }
85
99
  /**
86
100
  * Get visible prompt length (strips ANSI escape codes)
@@ -136,60 +150,62 @@ class RawInputHandler {
136
150
  * Handle keyboard input
137
151
  */
138
152
  handleInput(data) {
139
- // Handle bracketed paste mode
140
- if (data.startsWith('\x1B[200~')) {
141
- // Start of bracketed paste
142
- this.inBracketedPaste = true;
143
- this.pasteBuffer = '';
144
- // Check if the end sequence is also in this chunk (complete paste in one chunk)
145
- const endIdx = data.indexOf('\x1B[201~');
146
- if (endIdx !== -1) {
147
- // Complete paste in single chunk - extract content between markers
148
- const content = data.slice(6, endIdx); // Between start and end sequences
149
- this.inBracketedPaste = false;
150
- this.processPaste(content);
153
+ // Handle bracketed paste mode (if supported)
154
+ if (this.bracketedPasteSupported) {
155
+ if (data.startsWith('\x1B[200~')) {
156
+ // Start of bracketed paste
157
+ this.inBracketedPaste = true;
158
+ this.pasteBuffer = '';
159
+ // Check if the end sequence is also in this chunk (complete paste in one chunk)
160
+ const endIdx = data.indexOf('\x1B[201~');
161
+ if (endIdx !== -1) {
162
+ // Complete paste in single chunk - extract content between markers
163
+ const content = data.slice(6, endIdx); // Between start and end sequences
164
+ this.inBracketedPaste = false;
165
+ this.processPaste(content);
166
+ return {};
167
+ }
168
+ // Set timeout to prevent getting stuck if end sequence never arrives
169
+ this.clearPasteTimeout();
170
+ this.pasteTimeout = setTimeout(() => {
171
+ if (this.inBracketedPaste && this.pasteBuffer) {
172
+ // Timeout - process what we have and exit bracketed paste mode
173
+ this.inBracketedPaste = false;
174
+ this.processPaste(this.pasteBuffer);
175
+ this.pasteBuffer = '';
176
+ }
177
+ }, RawInputHandler.PASTE_TIMEOUT_MS);
178
+ // Extract any content after the start sequence
179
+ const afterStart = data.slice(6); // '\x1B[200~'.length = 6
180
+ if (afterStart) {
181
+ this.pasteBuffer += afterStart;
182
+ }
151
183
  return {};
152
184
  }
153
- // Set timeout to prevent getting stuck if end sequence never arrives
154
- this.clearPasteTimeout();
155
- this.pasteTimeout = setTimeout(() => {
156
- if (this.inBracketedPaste && this.pasteBuffer) {
157
- // Timeout - process what we have and exit bracketed paste mode
185
+ if (this.inBracketedPaste) {
186
+ if (data.includes('\x1B[201~')) {
187
+ // End of bracketed paste
188
+ this.clearPasteTimeout();
158
189
  this.inBracketedPaste = false;
190
+ // Extract content before the end sequence
191
+ const endIndex = data.indexOf('\x1B[201~');
192
+ this.pasteBuffer += data.slice(0, endIndex);
193
+ // Process the pasted content
159
194
  this.processPaste(this.pasteBuffer);
160
195
  this.pasteBuffer = '';
196
+ return {};
197
+ }
198
+ else {
199
+ // Continue collecting paste content
200
+ this.pasteBuffer += data;
201
+ return {};
161
202
  }
162
- }, RawInputHandler.PASTE_TIMEOUT_MS);
163
- // Extract any content after the start sequence
164
- const afterStart = data.slice(6); // '\x1B[200~'.length = 6
165
- if (afterStart) {
166
- this.pasteBuffer += afterStart;
167
203
  }
168
- return {};
169
- }
170
- if (this.inBracketedPaste) {
204
+ // Ignore stray end bracketed paste sequence (can happen after timeout)
171
205
  if (data.includes('\x1B[201~')) {
172
- // End of bracketed paste
173
- this.clearPasteTimeout();
174
- this.inBracketedPaste = false;
175
- // Extract content before the end sequence
176
- const endIndex = data.indexOf('\x1B[201~');
177
- this.pasteBuffer += data.slice(0, endIndex);
178
- // Process the pasted content
179
- this.processPaste(this.pasteBuffer);
180
- this.pasteBuffer = '';
181
- return {};
182
- }
183
- else {
184
- // Continue collecting paste content
185
- this.pasteBuffer += data;
186
206
  return {};
187
207
  }
188
208
  }
189
- // Ignore stray end bracketed paste sequence (can happen after timeout)
190
- if (data.includes('\x1B[201~')) {
191
- return {};
192
- }
193
209
  // Handle special keys
194
210
  if (data === '\x03') { // Ctrl+C
195
211
  // Cancel bracketed paste mode if stuck
@@ -287,8 +303,15 @@ class RawInputHandler {
287
303
  }
288
304
  return {};
289
305
  }
290
- // Regular character or multi-character paste (without bracketed paste mode)
306
+ // Regular character or multi-character input (paste without bracketed paste mode)
291
307
  if (data.length >= 1) {
308
+ // Detect large paste (multiple characters at once without bracketed paste markers)
309
+ // This handles terminals that don't support bracketed paste mode
310
+ if (data.length > 10 && !this.bracketedPasteSupported) {
311
+ // Treat as paste - process all at once
312
+ this.processPaste(data);
313
+ return {};
314
+ }
292
315
  // Filter out control characters and handle multi-character input
293
316
  const printableChars = data.split('').filter(c => c >= ' ' && c <= '~').join('');
294
317
  if (printableChars.length > 0) {