snow-flow 8.41.19 → 8.41.22

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 (43) hide show
  1. package/CLAUDE.md +27 -20
  2. package/dist/agents/index.d.ts +6 -4
  3. package/dist/agents/index.d.ts.map +1 -1
  4. package/dist/agents/index.js +8 -11
  5. package/dist/agents/index.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +29 -3
  8. package/dist/cli.js.map +1 -1
  9. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_execute_script.d.ts.map +1 -1
  10. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_execute_script.js +20 -14
  11. package/dist/mcp/servicenow-mcp-unified/tools/automation/snow_execute_script.js.map +1 -1
  12. package/dist/mcp/servicenow-mcp-unified/tools/deployment/snow_create_artifact.d.ts.map +1 -1
  13. package/dist/mcp/servicenow-mcp-unified/tools/deployment/snow_create_artifact.js +294 -21
  14. package/dist/mcp/servicenow-mcp-unified/tools/deployment/snow_create_artifact.js.map +1 -1
  15. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_detect_code_patterns.d.ts.map +1 -1
  16. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_detect_code_patterns.js +13 -5
  17. package/dist/mcp/servicenow-mcp-unified/tools/integration/snow_detect_code_patterns.js.map +1 -1
  18. package/dist/mcp/servicenow-mcp-unified/tools/local-sync/snow_push_artifact.d.ts.map +1 -1
  19. package/dist/mcp/servicenow-mcp-unified/tools/local-sync/snow_push_artifact.js +12 -5
  20. package/dist/mcp/servicenow-mcp-unified/tools/local-sync/snow_push_artifact.js.map +1 -1
  21. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_query_table.d.ts.map +1 -1
  22. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_query_table.js +45 -3
  23. package/dist/mcp/servicenow-mcp-unified/tools/operations/snow_query_table.js.map +1 -1
  24. package/dist/mcp/servicenow-mcp-unified/tools/platform/snow_create_script_include.d.ts.map +1 -1
  25. package/dist/mcp/servicenow-mcp-unified/tools/platform/snow_create_script_include.js +22 -13
  26. package/dist/mcp/servicenow-mcp-unified/tools/platform/snow_create_script_include.js.map +1 -1
  27. package/dist/mcp/servicenow-mcp-unified/tools/utilities/index.d.ts +1 -0
  28. package/dist/mcp/servicenow-mcp-unified/tools/utilities/index.d.ts.map +1 -1
  29. package/dist/mcp/servicenow-mcp-unified/tools/utilities/index.js +4 -1
  30. package/dist/mcp/servicenow-mcp-unified/tools/utilities/index.js.map +1 -1
  31. package/dist/mcp/servicenow-mcp-unified/tools/utilities/snow_convert_es6_to_es5.d.ts +20 -0
  32. package/dist/mcp/servicenow-mcp-unified/tools/utilities/snow_convert_es6_to_es5.d.ts.map +1 -0
  33. package/dist/mcp/servicenow-mcp-unified/tools/utilities/snow_convert_es6_to_es5.js +283 -0
  34. package/dist/mcp/servicenow-mcp-unified/tools/utilities/snow_convert_es6_to_es5.js.map +1 -0
  35. package/dist/sdk/index.d.ts +4 -6
  36. package/dist/sdk/index.d.ts.map +1 -1
  37. package/dist/sdk/index.js +6 -8
  38. package/dist/sdk/index.js.map +1 -1
  39. package/dist/templates/claude-md-template.d.ts +2 -2
  40. package/dist/templates/claude-md-template.d.ts.map +1 -1
  41. package/dist/templates/claude-md-template.js +28 -25
  42. package/dist/templates/claude-md-template.js.map +1 -1
  43. package/package.json +1 -1
@@ -82,18 +82,13 @@ exports.toolDefinition = {
82
82
  };
83
83
  async function execute(args, context) {
84
84
  const { script, description = 'Script execution via snow_execute_script', scope = 'global', timeout = 30000, validate_es5 = true, requireConfirmation = false, autoConfirm = false, allowDataModification = false, runAsUser } = args;
85
+ // ES5 validation (warning only, does not block execution)
86
+ const es5Warnings = [];
85
87
  try {
86
- // ES5 validation
87
88
  if (validate_es5) {
88
89
  const es5Validation = validateES5(script);
89
90
  if (!es5Validation.valid) {
90
- throw new error_handler_js_1.SnowFlowError(error_handler_js_1.ErrorType.ES5_SYNTAX_ERROR, 'Script contains non-ES5 syntax', {
91
- retryable: false,
92
- details: {
93
- violations: es5Validation.violations,
94
- message: 'ServiceNow uses Rhino engine - ES6+ syntax will fail'
95
- }
96
- });
91
+ es5Warnings.push(`Script contains ES6+ syntax (${es5Validation.violations.map((v) => v.type).join(', ')}). This may cause runtime errors in ServiceNow's Rhino engine. Consider using ES5 syntax.`);
97
92
  }
98
93
  }
99
94
  // Security analysis
@@ -128,7 +123,8 @@ async function execute(args, context) {
128
123
  description,
129
124
  timeout,
130
125
  securityAnalysis,
131
- autoConfirm
126
+ autoConfirm,
127
+ es5Warnings
132
128
  }, context);
133
129
  }
134
130
  catch (error) {
@@ -138,7 +134,7 @@ async function execute(args, context) {
138
134
  }
139
135
  }
140
136
  async function executeScript(params, context) {
141
- const { script, description, timeout, securityAnalysis, autoConfirm } = params;
137
+ const { script, description, timeout, securityAnalysis, autoConfirm, es5Warnings } = params;
142
138
  const client = await (0, auth_js_1.getAuthenticatedClient)(context);
143
139
  // Create unique execution ID for tracking
144
140
  const executionId = `exec_${Date.now()}_${Math.random().toString(36).substring(7)}`;
@@ -318,7 +314,7 @@ gs.info('${outputMarker}:DONE');
318
314
  error: result.output.filter((o) => o.level === 'error').map((o) => o.message),
319
315
  success: result.success
320
316
  };
321
- return (0, error_handler_js_1.createSuccessResult)({
317
+ const successData = {
322
318
  executed: true,
323
319
  success: result.success,
324
320
  result: result.result,
@@ -329,7 +325,12 @@ gs.info('${outputMarker}:DONE');
329
325
  execution_id: executionId,
330
326
  auto_confirmed: autoConfirm,
331
327
  security_analysis: securityAnalysis
332
- }, {
328
+ };
329
+ // Add ES5 warnings if any (non-blocking, informational only)
330
+ if (es5Warnings.length > 0) {
331
+ successData.warnings = es5Warnings;
332
+ }
333
+ return (0, error_handler_js_1.createSuccessResult)(successData, {
333
334
  script_length: params.script.length,
334
335
  method: 'sysauto_script_with_trigger',
335
336
  description
@@ -337,7 +338,7 @@ gs.info('${outputMarker}:DONE');
337
338
  }
338
339
  else {
339
340
  // Script was saved but execution couldn't be confirmed
340
- return (0, error_handler_js_1.createSuccessResult)({
341
+ const pendingData = {
341
342
  executed: false,
342
343
  execution_id: executionId,
343
344
  scheduled_job_sys_id: jobSysId,
@@ -345,7 +346,12 @@ gs.info('${outputMarker}:DONE');
345
346
  security_analysis: securityAnalysis,
346
347
  message: 'Script was saved as scheduled job but automatic execution could not be confirmed. The sys_trigger may not have been created (permissions) or the scheduler has not yet picked it up.',
347
348
  action_required: `Navigate to System Scheduler > Scheduled Jobs and run: ${jobName}`
348
- }, {
349
+ };
350
+ // Add ES5 warnings if any (non-blocking, informational only)
351
+ if (es5Warnings.length > 0) {
352
+ pendingData.warnings = es5Warnings;
353
+ }
354
+ return (0, error_handler_js_1.createSuccessResult)(pendingData, {
349
355
  script_length: params.script.length,
350
356
  method: 'scheduled_job_pending',
351
357
  description
@@ -1 +1 @@
1
- {"version":3,"file":"snow_execute_script.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/automation/snow_execute_script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snow_execute_script.js","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/automation/snow_execute_script.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snow_create_artifact.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/deployment/snow_create_artifact.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIzF,eAAO,MAAM,cAAc,EAAE,iBAmH5B,CAAC;AAEF,wBAAsB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgVxF;AAkVD,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"snow_create_artifact.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/servicenow-mcp-unified/tools/deployment/snow_create_artifact.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIzF,eAAO,MAAM,cAAc,EAAE,iBA+J5B,CAAC;AAEF,wBAAsB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6XxF;AA+iBD,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,MAAM,mBAAmB,CAAC"}
@@ -12,7 +12,17 @@ const auth_js_1 = require("../../shared/auth.js");
12
12
  const error_handler_js_1 = require("../../shared/error-handler.js");
13
13
  exports.toolDefinition = {
14
14
  name: 'snow_create_artifact',
15
- description: `Create ServiceNow artifacts (Service Portal widgets, UI pages, scripts, etc.) with a unified interface.
15
+ description: `Create ServiceNow artifacts (Service Portal widgets, UI pages, scripts, tables, fields, etc.) with a unified interface.
16
+
17
+ 🗃️ TABLE & FIELD CREATION:
18
+ - type='table': Create custom tables (sys_db_object)
19
+ - extends_table: Extend from task, cmdb_ci, core_company, etc.
20
+ - create_module: Auto-create navigation module (default: true)
21
+ - create_access_controls: Auto-create read/write/create/delete ACLs
22
+ - type='field': Add fields to existing tables (sys_dictionary)
23
+ - internal_type: string, integer, boolean, reference, choice, etc.
24
+ - choice_options: For choice fields, provide [{label, value}] array
25
+ - reference_table: Required for reference type fields
16
26
 
17
27
  📦 APPLICATION SCOPE:
18
28
  - By default, artifacts are created in the CURRENT application scope
@@ -22,7 +32,7 @@ exports.toolDefinition = {
22
32
  // Metadata for tool discovery (not sent to LLM)
23
33
  category: 'development',
24
34
  subcategory: 'deployment',
25
- use_cases: ['deployment', 'creation', 'artifacts', 'widgets'],
35
+ use_cases: ['deployment', 'creation', 'artifacts', 'widgets', 'tables', 'fields', 'schema'],
26
36
  complexity: 'intermediate',
27
37
  frequency: 'high',
28
38
  // Permission enforcement
@@ -61,6 +71,7 @@ exports.toolDefinition = {
61
71
  client_script: { type: 'string', description: 'Client-side script' },
62
72
  css: { type: 'string', description: 'CSS stylesheet (for widgets)' },
63
73
  option_schema: { type: 'string', description: 'Option schema JSON (for widgets)' },
74
+ data_table_enabled: { type: 'boolean', description: 'Enable widget preview/data table mode (for widgets). Default: true', default: true },
64
75
  // Script Include fields
65
76
  script: { type: 'string', description: 'Script content (for script includes, business rules, etc.)' },
66
77
  api_name: { type: 'string', description: 'API name (for script includes)' },
@@ -100,6 +111,37 @@ exports.toolDefinition = {
100
111
  // UI Policy fields
101
112
  on_load: { type: 'boolean', description: 'Run on form load (UI policies)' },
102
113
  reverse_if_false: { type: 'boolean', description: 'Reverse actions if condition false (UI policies)' },
114
+ // Table creation fields
115
+ label: { type: 'string', description: 'Table label (for tables) or field label (for fields)' },
116
+ extends_table: { type: 'string', description: 'Parent table to extend (for tables). Common options: task, cmdb_ci, core_company' },
117
+ is_extendable: { type: 'boolean', description: 'Whether the table can be extended (for tables)', default: true },
118
+ create_module: { type: 'boolean', description: 'Create navigation module for the table', default: true },
119
+ create_access_controls: { type: 'boolean', description: 'Create default ACLs for the table', default: false },
120
+ // Field creation fields (when type='field')
121
+ column_name: { type: 'string', description: 'Column/field name (for fields)' },
122
+ column_label: { type: 'string', description: 'Column/field display label (for fields)' },
123
+ internal_type: {
124
+ type: 'string',
125
+ description: 'Field type (for fields)',
126
+ enum: ['string', 'integer', 'boolean', 'reference', 'glide_date', 'glide_date_time',
127
+ 'decimal', 'float', 'choice', 'journal', 'journal_input', 'html', 'url',
128
+ 'email', 'phone_number_e164', 'currency', 'price', 'sys_class_name', 'document_id']
129
+ },
130
+ reference_table: { type: 'string', description: 'Reference table name (required for reference fields)' },
131
+ max_length: { type: 'number', description: 'Maximum length for string fields', default: 255 },
132
+ mandatory: { type: 'boolean', description: 'Whether the field is mandatory', default: false },
133
+ default_value: { type: 'string', description: 'Default value for the field' },
134
+ choice_options: {
135
+ type: 'array',
136
+ items: {
137
+ type: 'object',
138
+ properties: {
139
+ label: { type: 'string' },
140
+ value: { type: 'string' }
141
+ }
142
+ },
143
+ description: 'Choice options for choice fields (array of {label, value} objects)'
144
+ },
103
145
  // Validation options
104
146
  validate_es5: {
105
147
  type: 'boolean',
@@ -116,7 +158,7 @@ exports.toolDefinition = {
116
158
  }
117
159
  };
118
160
  async function execute(args, context) {
119
- const { type, name, title, description = '', template, server_script, client_script, css, option_schema, script, api_name, table, when, insert, update, delete: deleteOp, query: queryOp, active = true, validate_es5 = true, application_scope,
161
+ const { type, name, title, description = '', template, server_script, client_script, css, option_schema, data_table_enabled = true, script, api_name, table, when, insert, update, delete: deleteOp, query: queryOp, active = true, validate_es5 = true, application_scope,
120
162
  // REST Message fields
121
163
  rest_endpoint, authentication_type, http_method,
122
164
  // Scheduled Job fields
@@ -126,7 +168,11 @@ async function execute(args, context) {
126
168
  // UI Action fields
127
169
  form_action, form_style, list_action, order, condition,
128
170
  // UI Policy fields
129
- on_load, reverse_if_false } = args;
171
+ on_load, reverse_if_false,
172
+ // Table creation fields
173
+ label, extends_table, is_extendable = true, create_module = true, create_access_controls = false,
174
+ // Field creation fields
175
+ column_name, column_label, internal_type, reference_table, max_length = 255, mandatory = false, default_value, choice_options } = args;
130
176
  try {
131
177
  const client = await (0, auth_js_1.getAuthenticatedClient)(context);
132
178
  // Resolve application scope
@@ -179,28 +225,19 @@ async function execute(args, context) {
179
225
  }
180
226
  }
181
227
  }
182
- // ES5 validation for server scripts
228
+ // ES5 validation for server scripts (warning only, does not block creation)
229
+ const es5Warnings = [];
183
230
  if (validate_es5 && server_script) {
184
231
  const es5Validation = validateES5Syntax(server_script);
185
232
  if (!es5Validation.valid) {
186
- throw new error_handler_js_1.SnowFlowError(error_handler_js_1.ErrorType.ES5_SYNTAX_ERROR, 'Server script contains non-ES5 syntax', {
187
- retryable: false,
188
- details: {
189
- violations: es5Validation.violations
190
- }
191
- });
233
+ es5Warnings.push(`Server script contains ES6+ syntax (${es5Validation.violations.map((v) => v.type).join(', ')}). This may cause issues in some ServiceNow widgets. Consider using ES5 syntax for maximum compatibility.`);
192
234
  }
193
235
  }
194
- // ES5 validation for regular scripts
236
+ // ES5 validation for regular scripts (warning only, does not block creation)
195
237
  if (validate_es5 && script) {
196
238
  const es5Validation = validateES5Syntax(script);
197
239
  if (!es5Validation.valid) {
198
- throw new error_handler_js_1.SnowFlowError(error_handler_js_1.ErrorType.ES5_SYNTAX_ERROR, 'Script contains non-ES5 syntax', {
199
- retryable: false,
200
- details: {
201
- violations: es5Validation.violations
202
- }
203
- });
240
+ es5Warnings.push(`Script contains ES6+ syntax (${es5Validation.violations.map((v) => v.type).join(', ')}). This may cause issues in some ServiceNow contexts. Consider using ES5 syntax for maximum compatibility.`);
204
241
  }
205
242
  }
206
243
  let result;
@@ -217,6 +254,7 @@ async function execute(args, context) {
217
254
  client_script: client_script || '',
218
255
  css: css || '',
219
256
  option_schema: option_schema || '',
257
+ data_table_enabled,
220
258
  sys_scope: resolvedScopeId
221
259
  });
222
260
  tableName = 'sp_widget';
@@ -367,10 +405,46 @@ async function execute(args, context) {
367
405
  });
368
406
  tableName = 'sys_script_fix';
369
407
  break;
408
+ case 'table':
409
+ if (!label) {
410
+ throw new Error('label parameter required for table creation');
411
+ }
412
+ result = await createTable(client, {
413
+ name,
414
+ label,
415
+ extends_table,
416
+ is_extendable,
417
+ create_module,
418
+ create_access_controls,
419
+ sys_scope: resolvedScopeId
420
+ }, context);
421
+ tableName = 'sys_db_object';
422
+ break;
423
+ case 'field':
424
+ if (!table) {
425
+ throw new Error('table parameter required for field creation');
426
+ }
427
+ if (!internal_type) {
428
+ throw new Error('internal_type parameter required for field creation');
429
+ }
430
+ result = await createField(client, {
431
+ table,
432
+ column_name: column_name || name,
433
+ column_label: column_label || label || name,
434
+ internal_type,
435
+ reference_table,
436
+ max_length,
437
+ mandatory,
438
+ default_value,
439
+ choice_options,
440
+ sys_scope: resolvedScopeId
441
+ }, context);
442
+ tableName = 'sys_dictionary';
443
+ break;
370
444
  default:
371
445
  throw new Error(`Unsupported artifact type: ${type}`);
372
446
  }
373
- return (0, error_handler_js_1.createSuccessResult)({
447
+ const successData = {
374
448
  created: true,
375
449
  sys_id: result.sys_id,
376
450
  name: result.name || name,
@@ -382,7 +456,12 @@ async function execute(args, context) {
382
456
  scope: resolvedScopePrefix
383
457
  } : null,
384
458
  url: `${context.instanceUrl}/nav_to.do?uri=${tableName}.do?sys_id=${result.sys_id}`
385
- });
459
+ };
460
+ // Add ES5 warnings if any (non-blocking, informational only)
461
+ if (es5Warnings.length > 0) {
462
+ successData.warnings = es5Warnings;
463
+ }
464
+ return (0, error_handler_js_1.createSuccessResult)(successData);
386
465
  }
387
466
  catch (error) {
388
467
  return (0, error_handler_js_1.createErrorResult)(error instanceof error_handler_js_1.SnowFlowError
@@ -402,7 +481,8 @@ async function createServicePortalWidget(client, config) {
402
481
  script: config.script || '',
403
482
  client_script: config.client_script || '',
404
483
  css: config.css || '',
405
- option_schema: config.option_schema || ''
484
+ option_schema: config.option_schema || '',
485
+ data_table: config.data_table_enabled !== false // Default to true - ServiceNow field is 'data_table'
406
486
  };
407
487
  // Add scope if specified
408
488
  if (config.sys_scope) {
@@ -639,6 +719,199 @@ async function createFixScript(client, config) {
639
719
  const response = await client.post('/api/now/table/sys_script_fix', scriptData);
640
720
  return response.data.result;
641
721
  }
722
+ /**
723
+ * Create Table (sys_db_object)
724
+ */
725
+ async function createTable(client, config, context) {
726
+ // Build table data
727
+ const tableData = {
728
+ name: config.name,
729
+ label: config.label,
730
+ is_extendable: config.is_extendable !== false
731
+ };
732
+ // Set parent table if extending
733
+ if (config.extends_table) {
734
+ // Look up the parent table sys_id
735
+ const parentResponse = await client.get('/api/now/table/sys_db_object', {
736
+ params: {
737
+ sysparm_query: `name=${config.extends_table}`,
738
+ sysparm_fields: 'sys_id,name,label',
739
+ sysparm_limit: 1
740
+ }
741
+ });
742
+ if (parentResponse.data.result && parentResponse.data.result.length > 0) {
743
+ tableData.super_class = parentResponse.data.result[0].sys_id;
744
+ }
745
+ else {
746
+ throw new Error(`Parent table '${config.extends_table}' not found. Cannot extend a non-existent table.`);
747
+ }
748
+ }
749
+ // Add scope if specified
750
+ if (config.sys_scope && config.sys_scope !== 'global') {
751
+ tableData.sys_scope = config.sys_scope;
752
+ }
753
+ // Check if table already exists
754
+ const existingResponse = await client.get('/api/now/table/sys_db_object', {
755
+ params: {
756
+ sysparm_query: `name=${config.name}`,
757
+ sysparm_limit: 1
758
+ }
759
+ });
760
+ if (existingResponse.data.result && existingResponse.data.result.length > 0) {
761
+ throw new Error(`Table '${config.name}' already exists. Use snow_update to modify it.`);
762
+ }
763
+ // Create the table
764
+ const createResponse = await client.post('/api/now/table/sys_db_object', tableData);
765
+ const createdTable = createResponse.data.result;
766
+ const additionalInfo = {};
767
+ // Create navigation module if requested
768
+ if (config.create_module) {
769
+ try {
770
+ const moduleData = {
771
+ title: config.label,
772
+ name: config.name,
773
+ table_name: config.name,
774
+ view_name: 'default',
775
+ order: 100,
776
+ active: true
777
+ };
778
+ const moduleResponse = await client.post('/api/now/table/sys_app_module', moduleData);
779
+ additionalInfo.module = {
780
+ sys_id: moduleResponse.data.result.sys_id,
781
+ title: config.label
782
+ };
783
+ }
784
+ catch (moduleError) {
785
+ additionalInfo.module_error = `Could not create module: ${moduleError.message}`;
786
+ }
787
+ }
788
+ // Create default ACLs if requested
789
+ if (config.create_access_controls) {
790
+ try {
791
+ const acls = [];
792
+ // Read ACL
793
+ const readAcl = await client.post('/api/now/table/sys_security_acl', {
794
+ name: config.name,
795
+ operation: 'read',
796
+ type: 'record',
797
+ admin_overrides: true,
798
+ active: true
799
+ });
800
+ acls.push({ type: 'read', sys_id: readAcl.data.result.sys_id });
801
+ // Write ACL
802
+ const writeAcl = await client.post('/api/now/table/sys_security_acl', {
803
+ name: config.name,
804
+ operation: 'write',
805
+ type: 'record',
806
+ admin_overrides: true,
807
+ active: true
808
+ });
809
+ acls.push({ type: 'write', sys_id: writeAcl.data.result.sys_id });
810
+ // Create ACL
811
+ const createAcl = await client.post('/api/now/table/sys_security_acl', {
812
+ name: config.name,
813
+ operation: 'create',
814
+ type: 'record',
815
+ admin_overrides: true,
816
+ active: true
817
+ });
818
+ acls.push({ type: 'create', sys_id: createAcl.data.result.sys_id });
819
+ // Delete ACL
820
+ const deleteAcl = await client.post('/api/now/table/sys_security_acl', {
821
+ name: config.name,
822
+ operation: 'delete',
823
+ type: 'record',
824
+ admin_overrides: true,
825
+ active: true
826
+ });
827
+ acls.push({ type: 'delete', sys_id: deleteAcl.data.result.sys_id });
828
+ additionalInfo.access_controls = acls;
829
+ }
830
+ catch (aclError) {
831
+ additionalInfo.acl_error = `Could not create ACLs: ${aclError.message}`;
832
+ }
833
+ }
834
+ return {
835
+ ...createdTable,
836
+ ...additionalInfo
837
+ };
838
+ }
839
+ /**
840
+ * Create Field (sys_dictionary)
841
+ */
842
+ async function createField(client, config, context) {
843
+ // Build field data
844
+ const fieldData = {
845
+ name: config.table,
846
+ element: config.column_name,
847
+ column_label: config.column_label || config.column_name,
848
+ internal_type: config.internal_type,
849
+ mandatory: config.mandatory || false
850
+ };
851
+ // Add reference table for reference fields
852
+ if (config.internal_type === 'reference' && config.reference_table) {
853
+ fieldData.reference = config.reference_table;
854
+ }
855
+ // Add max_length for string fields
856
+ if (['string', 'url', 'email', 'phone_number_e164'].includes(config.internal_type)) {
857
+ fieldData.max_length = config.max_length || 255;
858
+ }
859
+ // Add default value if specified
860
+ if (config.default_value !== undefined) {
861
+ fieldData.default_value = config.default_value;
862
+ }
863
+ // Add scope if specified
864
+ if (config.sys_scope && config.sys_scope !== 'global') {
865
+ fieldData.sys_scope = config.sys_scope;
866
+ }
867
+ // Check if field already exists
868
+ const existingResponse = await client.get('/api/now/table/sys_dictionary', {
869
+ params: {
870
+ sysparm_query: `name=${config.table}^element=${config.column_name}`,
871
+ sysparm_limit: 1
872
+ }
873
+ });
874
+ if (existingResponse.data.result && existingResponse.data.result.length > 0) {
875
+ throw new Error(`Field '${config.column_name}' already exists on table '${config.table}'. Use snow_update to modify it.`);
876
+ }
877
+ // Create the field
878
+ const createResponse = await client.post('/api/now/table/sys_dictionary', fieldData);
879
+ const createdField = createResponse.data.result;
880
+ // Create choice options if specified for choice fields
881
+ if (config.internal_type === 'choice' && config.choice_options && config.choice_options.length > 0) {
882
+ const choices = [];
883
+ for (let i = 0; i < config.choice_options.length; i++) {
884
+ const option = config.choice_options[i];
885
+ try {
886
+ const choiceData = {
887
+ name: config.table,
888
+ element: config.column_name,
889
+ label: option.label,
890
+ value: option.value,
891
+ sequence: (i + 1) * 10, // 10, 20, 30...
892
+ inactive: false
893
+ };
894
+ if (config.sys_scope && config.sys_scope !== 'global') {
895
+ choiceData.sys_scope = config.sys_scope;
896
+ }
897
+ const choiceResponse = await client.post('/api/now/table/sys_choice', choiceData);
898
+ choices.push({
899
+ sys_id: choiceResponse.data.result.sys_id,
900
+ label: option.label,
901
+ value: option.value
902
+ });
903
+ }
904
+ catch (choiceError) {
905
+ // Continue with other choices even if one fails
906
+ choices.push({
907
+ error: `Failed to create choice '${option.label}': ${choiceError.message}`
908
+ });
909
+ }
910
+ }
911
+ createdField.choices = choices;
912
+ }
913
+ return createdField;
914
+ }
642
915
  /**
643
916
  * Validate ES5 syntax
644
917
  */