snow-flow-test 10.0.1-test.148 → 10.0.1-test.149

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
- "version": "10.0.1-test.148",
3
+ "version": "10.0.1-test.149",
4
4
  "name": "snow-flow-test",
5
5
  "description": "Snow-Flow Test - ServiceNow Multi-Agent Development Framework",
6
6
  "license": "Elastic-2.0",
@@ -62,63 +62,32 @@ async function addTriggerViaGraphQL(
62
62
  ): Promise<{ success: boolean; triggerId?: string; steps?: any; error?: string }> {
63
63
  const steps: any = {};
64
64
 
65
- const triggerMap: Record<string, { type: string; name: string; triggerType: string; defNames: string[] }> = {
66
- 'record_created': { type: 'record_create', name: 'Created', triggerType: 'Record',
67
- defNames: ['sn_fd.trigger.record_create', 'global.sn_fd.trigger.record_create', 'sn_fd.trigger.record_created', 'global.sn_fd.trigger.record_created'] },
68
- 'record_updated': { type: 'record_update', name: 'Updated', triggerType: 'Record',
69
- defNames: ['sn_fd.trigger.record_update', 'global.sn_fd.trigger.record_update', 'sn_fd.trigger.record_updated', 'global.sn_fd.trigger.record_updated'] },
70
- 'record_create_or_update': { type: 'record_create_or_update', name: 'Created or Updated', triggerType: 'Record',
71
- defNames: ['sn_fd.trigger.record_create_or_update', 'global.sn_fd.trigger.record_create_or_update'] },
72
- 'scheduled': { type: 'scheduled', name: 'Scheduled', triggerType: 'Scheduled',
73
- defNames: ['sn_fd.trigger.scheduled', 'global.sn_fd.trigger.scheduled'] },
65
+ const triggerMap: Record<string, { type: string; name: string; triggerType: string }> = {
66
+ 'record_created': { type: 'record_create', name: 'Created', triggerType: 'Record' },
67
+ 'record_updated': { type: 'record_update', name: 'Updated', triggerType: 'Record' },
68
+ 'record_create_or_update': { type: 'record_create_or_update', name: 'Created or Updated', triggerType: 'Record' },
69
+ 'scheduled': { type: 'scheduled', name: 'Scheduled', triggerType: 'Scheduled' },
74
70
  };
75
71
 
76
72
  const config = triggerMap[triggerType] || triggerMap['record_create_or_update'];
77
73
 
74
+ // Trigger definitions live in sys_hub_trigger_definition, keyed by `type` field
78
75
  let trigDefId: string | null = null;
79
- const defTables = ['sys_hub_action_type_definition', 'sys_hub_trigger_definition'];
80
- for (const defTable of defTables) {
81
- if (trigDefId) break;
82
- for (const defName of config.defNames) {
83
- try {
84
- const resp = await client.get('/api/now/table/' + defTable, {
85
- params: { sysparm_query: 'internal_name=' + defName, sysparm_fields: 'sys_id', sysparm_limit: 1 }
86
- });
87
- trigDefId = resp.data.result?.[0]?.sys_id || null;
88
- if (trigDefId) break;
89
- } catch (_) {}
90
- }
91
- }
92
- if (!trigDefId) {
93
- for (const defTable of defTables) {
94
- if (trigDefId) break;
95
- try {
96
- const resp = await client.get('/api/now/table/' + defTable, {
97
- params: {
98
- sysparm_query: 'internal_nameLIKEsn_fd.trigger.' + config.type,
99
- sysparm_fields: 'sys_id,internal_name,name', sysparm_limit: 10
100
- }
101
- });
102
- for (const r of (resp.data.result || [])) {
103
- const iname = r.internal_name || '';
104
- if (iname.indexOf('trigger') > -1 && iname.indexOf(config.type) > -1) { trigDefId = r.sys_id; break; }
105
- }
106
- } catch (_) {}
107
- }
108
- }
76
+ try {
77
+ const resp = await client.get('/api/now/table/sys_hub_trigger_definition', {
78
+ params: { sysparm_query: 'type=' + config.type, sysparm_fields: 'sys_id,type,name', sysparm_limit: 1 }
79
+ });
80
+ trigDefId = resp.data.result?.[0]?.sys_id || null;
81
+ steps.def_lookup_primary = resp.data.result?.[0] || null;
82
+ } catch (_) {}
83
+ // Fallback: search by name
109
84
  if (!trigDefId) {
110
85
  try {
111
- const resp = await client.get('/api/now/table/sys_hub_action_type_definition', {
112
- params: {
113
- sysparm_query: 'internal_nameLIKEtrigger^internal_nameLIKE' + config.type,
114
- sysparm_fields: 'sys_id,internal_name,name', sysparm_limit: 10
115
- }
86
+ const resp = await client.get('/api/now/table/sys_hub_trigger_definition', {
87
+ params: { sysparm_query: 'name=' + config.name, sysparm_fields: 'sys_id,type,name', sysparm_limit: 1 }
116
88
  });
117
- steps.fallback_candidates = (resp.data.result || []).map((r: any) => ({ sys_id: r.sys_id, internal_name: r.internal_name, name: r.name }));
118
- for (const r of (resp.data.result || [])) {
119
- const iname = r.internal_name || '';
120
- if (iname.indexOf(config.type) > -1) { trigDefId = r.sys_id; break; }
121
- }
89
+ trigDefId = resp.data.result?.[0]?.sys_id || null;
90
+ steps.def_lookup_fallback = resp.data.result?.[0] || null;
122
91
  } catch (_) {}
123
92
  }
124
93
  if (!trigDefId) return { success: false, error: 'Trigger definition not found for: ' + triggerType, steps };