@servicenow/sdk-build-core 4.2.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/compiler.d.ts +5 -1
  2. package/dist/compiler.js +104 -7
  3. package/dist/compiler.js.map +1 -1
  4. package/dist/now-config-dependencies.d.ts +2 -1
  5. package/dist/now-config.d.ts +5 -0
  6. package/dist/now-config.js +2 -4
  7. package/dist/now-config.js.map +1 -1
  8. package/dist/plugins/cache.d.ts +8 -13
  9. package/dist/plugins/cache.js +2 -26
  10. package/dist/plugins/cache.js.map +1 -1
  11. package/dist/plugins/data-shape.d.ts +24 -33
  12. package/dist/plugins/data-shape.js +83 -73
  13. package/dist/plugins/data-shape.js.map +1 -1
  14. package/dist/plugins/plugin.d.ts +43 -1
  15. package/dist/plugins/plugin.js +49 -5
  16. package/dist/plugins/plugin.js.map +1 -1
  17. package/dist/plugins/shape.d.ts +19 -11
  18. package/dist/plugins/shape.js +61 -23
  19. package/dist/plugins/shape.js.map +1 -1
  20. package/dist/taxonomy.js +53 -1
  21. package/dist/taxonomy.js.map +1 -1
  22. package/dist/telemetry/clients/abstract-client.d.ts +25 -0
  23. package/dist/telemetry/clients/abstract-client.js +55 -0
  24. package/dist/telemetry/clients/abstract-client.js.map +1 -0
  25. package/dist/telemetry/clients/browser-client.d.ts +20 -0
  26. package/dist/telemetry/clients/browser-client.js +136 -0
  27. package/dist/telemetry/clients/browser-client.js.map +1 -0
  28. package/dist/telemetry/clients/node-client.d.ts +15 -0
  29. package/dist/telemetry/clients/node-client.js +159 -0
  30. package/dist/telemetry/clients/node-client.js.map +1 -0
  31. package/dist/telemetry/clients/noop-client.d.ts +10 -0
  32. package/dist/telemetry/clients/noop-client.js +18 -0
  33. package/dist/telemetry/clients/noop-client.js.map +1 -0
  34. package/dist/telemetry/clients/util.d.ts +11 -0
  35. package/dist/telemetry/clients/util.js +34 -0
  36. package/dist/telemetry/clients/util.js.map +1 -0
  37. package/dist/telemetry/config.d.ts +2 -0
  38. package/dist/telemetry/config.js +28 -0
  39. package/dist/telemetry/config.js.map +1 -0
  40. package/dist/telemetry/factory.d.ts +13 -0
  41. package/dist/telemetry/factory.js +29 -0
  42. package/dist/telemetry/factory.js.map +1 -0
  43. package/dist/telemetry/index.d.ts +2 -25
  44. package/dist/telemetry/index.js +3 -15
  45. package/dist/telemetry/index.js.map +1 -1
  46. package/dist/telemetry/types.d.ts +55 -0
  47. package/dist/telemetry/types.js +12 -0
  48. package/dist/telemetry/types.js.map +1 -0
  49. package/dist/typescript.d.ts +10 -0
  50. package/dist/typescript.js +18 -0
  51. package/dist/typescript.js.map +1 -1
  52. package/dist/util/delete-multiple.d.ts +5 -0
  53. package/dist/util/delete-multiple.js +30 -0
  54. package/dist/util/delete-multiple.js.map +1 -0
  55. package/dist/util/index.d.ts +1 -0
  56. package/dist/util/index.js +1 -0
  57. package/dist/util/index.js.map +1 -1
  58. package/now.config.schema.json +38 -0
  59. package/package.json +13 -9
  60. package/src/compiler.ts +121 -7
  61. package/src/now-config-dependencies.ts +2 -1
  62. package/src/now-config.ts +3 -4
  63. package/src/plugins/cache.ts +5 -27
  64. package/src/plugins/data-shape.ts +95 -84
  65. package/src/plugins/plugin.ts +116 -9
  66. package/src/plugins/shape.ts +64 -30
  67. package/src/taxonomy.ts +53 -1
  68. package/src/telemetry/clients/abstract-client.ts +63 -0
  69. package/src/telemetry/clients/browser-client.ts +160 -0
  70. package/src/telemetry/clients/node-client.ts +151 -0
  71. package/src/telemetry/clients/noop-client.ts +15 -0
  72. package/src/telemetry/clients/util.ts +33 -0
  73. package/src/telemetry/config.ts +12 -0
  74. package/src/telemetry/factory.ts +34 -0
  75. package/src/telemetry/index.ts +2 -27
  76. package/src/telemetry/types.ts +61 -0
  77. package/src/typescript.ts +17 -0
  78. package/src/util/delete-multiple.ts +35 -0
  79. package/src/util/index.ts +1 -0
@@ -14,10 +14,11 @@ exports.DATA_HELPER_NAMES = {
14
14
  TEMPLATE_VALUE: 'TemplateValue',
15
15
  };
16
16
  /**
17
- * Base class for serializable data shapes that extend ObjectShape.
17
+ * Base class for data helper shapes that extend CallExpressionShape.
18
+ * These shapes represent call expressions like Duration(), Time(), etc.
18
19
  * Provides common equals implementation that compares via toString().
19
20
  */
20
- class SerializableObjectShape extends shape_1.ObjectShape {
21
+ class DataHelperShape extends shape_1.CallExpressionShape {
21
22
  equals(other) {
22
23
  if (typeof other === 'string') {
23
24
  return this.toString().getValue() === other;
@@ -31,44 +32,26 @@ class SerializableObjectShape extends shape_1.ObjectShape {
31
32
  }
32
33
  }
33
34
  /**
34
- * Base class for serializable data shapes that extend ArrayShape.
35
- * Provides common equals implementation that compares via toString().
35
+ * Shape representing a duration value.
36
+ * Used with Duration() helper - represents Duration({ days, hours, minutes, seconds }) call expression.
36
37
  */
37
- class SerializableArrayShape extends shape_1.ArrayShape {
38
- equals(other) {
39
- if (typeof other === 'string') {
40
- return this.toString().getValue() === other;
41
- }
42
- else if (other instanceof shape_1.Shape) {
43
- return other.equals(this.toString().getValue());
38
+ class DurationShape extends DataHelperShape {
39
+ constructor({ source, value }) {
40
+ let durationValue;
41
+ if (value instanceof shape_1.ObjectShape) {
42
+ const picked = value.pick(['days', 'hours', 'minutes', 'seconds']);
43
+ durationValue = Object.fromEntries(Object.entries(picked).map(([k, v]) => [
44
+ k,
45
+ shape_1.Shape.from(source, v).asNumber(`fields in Duration object can only contain numbers, got ${typeof v}`),
46
+ ]));
44
47
  }
45
48
  else {
46
- return super.equals(other);
49
+ durationValue = value;
47
50
  }
48
- }
49
- }
50
- /**
51
- * Shape representing a duration value.
52
- * Used with Duration() helper - stores object with days, hours, minutes, seconds.
53
- */
54
- class DurationShape extends SerializableObjectShape {
55
- constructor({ source, value }) {
56
- super({ source, properties: value });
51
+ super({ source, callee: exports.DATA_HELPER_NAMES.DURATION, args: [durationValue] });
57
52
  }
58
53
  getDuration() {
59
- return super.getValue();
60
- }
61
- getDays() {
62
- return this.getDuration().days ?? 0;
63
- }
64
- getHours() {
65
- return this.getDuration().hours ?? 0;
66
- }
67
- getMinutes() {
68
- return this.getDuration().minutes ?? 0;
69
- }
70
- getSeconds() {
71
- return this.getDuration().seconds ?? 0;
54
+ return this.getArgument(0).asObject().getValue();
72
55
  }
73
56
  /**
74
57
  * Returns a StringShape with the ServiceNow serialized format.
@@ -79,43 +62,66 @@ class DurationShape extends SerializableObjectShape {
79
62
  const formatted = (0, time_1.formatDateToPlatformFormat)(date);
80
63
  return shape_1.Shape.from(this.getSource(), formatted).asString();
81
64
  }
82
- static from(source, text) {
83
- const duration = (0, time_1.parseGlideDuration)(text.getValue());
84
- if (!duration) {
85
- throw new Error(`Invalid duration value: ${text.getValue()}`);
65
+ static from(source, value) {
66
+ if (value instanceof shape_1.StringShape) {
67
+ const parsedValue = (0, time_1.parseGlideDuration)(value.getValue());
68
+ if (!parsedValue) {
69
+ throw new Error(`Invalid duration value: ${value.getValue()}`);
70
+ }
71
+ return new DurationShape({
72
+ source,
73
+ value: parsedValue,
74
+ });
86
75
  }
87
76
  return new DurationShape({
88
77
  source,
89
- value: duration,
78
+ value: value,
79
+ });
80
+ }
81
+ /**
82
+ * Creates a DurationShape representing zero duration.
83
+ * Use this when the platform returns an empty or default duration value.
84
+ * @example DurationShape.zero(source) // Returns Duration({ seconds: 0 })
85
+ */
86
+ static zero(source) {
87
+ return new DurationShape({
88
+ source,
89
+ value: { seconds: 0 },
90
90
  });
91
91
  }
92
92
  }
93
93
  exports.DurationShape = DurationShape;
94
94
  /**
95
95
  * Shape representing a time of day value.
96
- * Used with Time() helper - stores object with hours, minutes, seconds.
96
+ * Used with Time() helper - represents Time({ hours, minutes, seconds }, timezone?) call expression.
97
97
  */
98
- class TimeShape extends SerializableObjectShape {
98
+ class TimeShape extends DataHelperShape {
99
99
  timeZone;
100
- constructor({ source, value, timeZone }) {
101
- super({ source, properties: value });
102
- this.timeZone = timeZone ?? undefined;
100
+ constructor({ source, value, timeZone, }) {
101
+ let timeValue;
102
+ if (value instanceof shape_1.ObjectShape) {
103
+ const picked = value.pick(['hours', 'minutes', 'seconds']);
104
+ timeValue = Object.fromEntries(Object.entries(picked).map(([k, v]) => [
105
+ k,
106
+ shape_1.Shape.from(source, v).asNumber(`fields in Time object can only contain numbers, got ${typeof v}`),
107
+ ]));
108
+ }
109
+ else {
110
+ timeValue = value;
111
+ }
112
+ const args = [timeValue];
113
+ if (timeZone) {
114
+ args.push(timeZone);
115
+ }
116
+ super({ source, callee: exports.DATA_HELPER_NAMES.TIME, args });
117
+ this.timeZone = timeZone;
103
118
  }
104
119
  getTimeData() {
105
- return super.getValue();
120
+ return this.getArgument(0).asObject().getValue();
106
121
  }
107
122
  getTimeZone() {
108
123
  return this.timeZone;
109
124
  }
110
- getHours() {
111
- return this.getTimeData().hours ?? 0;
112
- }
113
- getMinutes() {
114
- return this.getTimeData().minutes ?? 0;
115
- }
116
- getSeconds() {
117
- return this.getTimeData().seconds ?? 0;
118
- }
119
125
  /**
120
126
  * Returns a StringShape with the ServiceNow serialized format.
121
127
  * @example '1970-01-01 14:30:00' for { hours: 14, minutes: 30 }
@@ -125,14 +131,21 @@ class TimeShape extends SerializableObjectShape {
125
131
  const formatted = (0, time_1.formatDateToPlatformFormat)(date);
126
132
  return shape_1.Shape.from(this.getSource(), formatted).toString();
127
133
  }
128
- static from(source, text, timeZone) {
129
- const time = (0, time_1.parseGlideTime)(text.getValue(), timeZone);
130
- if (!time) {
131
- throw new Error(`Invalid time value: ${text.getValue()}`);
134
+ static from(source, value, timeZone) {
135
+ if (value instanceof shape_1.StringShape) {
136
+ const parsedValue = (0, time_1.parseGlideTime)(value.getValue(), timeZone);
137
+ if (!parsedValue) {
138
+ throw new Error(`Invalid time value: ${value.getValue()}`);
139
+ }
140
+ return new TimeShape({
141
+ source,
142
+ value: parsedValue,
143
+ timeZone,
144
+ });
132
145
  }
133
146
  return new TimeShape({
134
147
  source,
135
- value: time,
148
+ value: value,
136
149
  timeZone,
137
150
  });
138
151
  }
@@ -140,14 +153,14 @@ class TimeShape extends SerializableObjectShape {
140
153
  exports.TimeShape = TimeShape;
141
154
  /**
142
155
  * Shape representing a field list.
143
- * Used with FieldList() helper - stores array of field names.
156
+ * Used with FieldList() helper - represents FieldList(["field1", "field2"]) call expression.
144
157
  */
145
- class FieldListShape extends SerializableArrayShape {
158
+ class FieldListShape extends DataHelperShape {
146
159
  constructor({ source, fields }) {
147
- super({ source, elements: fields });
160
+ super({ source, callee: exports.DATA_HELPER_NAMES.FIELD_LIST, args: [fields] });
148
161
  }
149
162
  getFields() {
150
- return super.getElements();
163
+ return this.getArgument(0).asArray().getElements();
151
164
  }
152
165
  /**
153
166
  * Returns a StringShape with the ServiceNow serialized format.
@@ -171,17 +184,14 @@ class FieldListShape extends SerializableArrayShape {
171
184
  exports.FieldListShape = FieldListShape;
172
185
  /**
173
186
  * Shape representing a template value (ServiceNow encoded query format).
174
- * Used with TemplateValue() helper - stores object with field-value pairs.
187
+ * Used with TemplateValue() helper - represents TemplateValue({ field: value }) call expression.
175
188
  */
176
- class TemplateValueShape extends SerializableObjectShape {
189
+ class TemplateValueShape extends DataHelperShape {
177
190
  constructor({ source, value }) {
178
- super({ source, properties: value });
179
- }
180
- getFields() {
181
- return Object.keys(this.getValue());
191
+ super({ source, callee: exports.DATA_HELPER_NAMES.TEMPLATE_VALUE, args: [value] });
182
192
  }
183
- getFieldValue(fieldName) {
184
- return this.getValue()[fieldName];
193
+ getTemplateValue() {
194
+ return this.getArgument(0).asObject();
185
195
  }
186
196
  /**
187
197
  * Returns a StringShape with the ServiceNow serialized format.
@@ -190,8 +200,8 @@ class TemplateValueShape extends SerializableObjectShape {
190
200
  * @example 'name=value^^with^^caret^EQ' for { name: 'value^with^caret' }
191
201
  */
192
202
  toString() {
193
- const entries = Object.entries(this.getValue());
194
- const encoded = entries
203
+ const templateValue = this.getTemplateValue().getValue();
204
+ const encoded = Object.entries(templateValue)
195
205
  .map(([key, value]) => {
196
206
  // Escape single ^ as ^^ in values
197
207
  const escapedValue = String(value).replace(/\^/g, '^^');
@@ -1 +1 @@
1
- {"version":3,"file":"data-shape.js","sourceRoot":"","sources":["../../src/plugins/data-shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-shape.js","sourceRoot":"","sources":["../../src/plugins/data-shape.ts"],"names":[],"mappings":";;;AAyRA,oCAiBC;AA1SD,mCAA8E;AAE9E,iCAMe;AAGf;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC7B,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,WAAW;IACvB,cAAc,EAAE,eAAe;CACzB,CAAA;AAEV;;;;GAIG;AACH,MAAe,eAAgB,SAAQ,2BAAmB;IAG7C,MAAM,CAAC,KAAc;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAA;QAC/C,CAAC;aAAM,IAAI,KAAK,YAAY,aAAK,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QACnD,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;IACL,CAAC;CACJ;AAED;;;GAGG;AACH,MAAa,aAAc,SAAQ,eAAe;IAC9C,YAAY,EAAE,MAAM,EAAE,KAAK,EAAqD;QAC5E,IAAI,aAAuB,CAAA;QAC3B,IAAI,KAAK,YAAY,mBAAW,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;YAClE,aAAa,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;gBACnC,CAAC;gBACD,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAC1B,2DAA2D,OAAO,CAAC,EAAE,CACxE;aACJ,CAAC,CACO,CAAA;QACjB,CAAC;aAAM,CAAC;YACJ,aAAa,GAAG,KAAK,CAAA;QACzB,CAAC;QACD,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IAChF,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAc,CAAA;IAChE,CAAC;IAED;;;OAGG;IACM,QAAQ;QACb,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,IAAA,iCAA0B,EAAC,IAAI,CAAC,CAAA;QAClD,OAAO,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC7D,CAAC;IAED,MAAM,CAAU,IAAI,CAAC,MAAc,EAAE,KAAgC;QACjE,IAAI,KAAK,YAAY,mBAAW,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAA,yBAAkB,EAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAClE,CAAC;YACD,OAAO,IAAI,aAAa,CAAC;gBACrB,MAAM;gBACN,KAAK,EAAE,WAAW;aACrB,CAAC,CAAA;QACN,CAAC;QAED,OAAO,IAAI,aAAa,CAAC;YACrB,MAAM;YACN,KAAK,EAAE,KAAK;SACf,CAAC,CAAA;IACN,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAc;QACtB,OAAO,IAAI,aAAa,CAAC;YACrB,MAAM;YACN,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SACxB,CAAC,CAAA;IACN,CAAC;CACJ;AA9DD,sCA8DC;AAED;;;GAGG;AACH,MAAa,SAAU,SAAQ,eAAe;IACzB,QAAQ,CAAoB;IAE7C,YAAY,EACR,MAAM,EACN,KAAK,EACL,QAAQ,GACwE;QAChF,IAAI,SAAoB,CAAA;QACxB,IAAI,KAAK,YAAY,mBAAW,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;YAC1D,SAAS,GAAG,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;gBACnC,CAAC;gBACD,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,uDAAuD,OAAO,CAAC,EAAE,CAAC;aACpG,CAAC,CACQ,CAAA;QAClB,CAAC;aAAM,CAAC;YACJ,SAAS,GAAG,KAAK,CAAA;QACrB,CAAC;QACD,MAAM,IAAI,GAAc,CAAC,SAAS,CAAC,CAAA;QACnC,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvB,CAAC;QACD,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAe,CAAA;IACjE,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED;;;OAGG;IACM,QAAQ;QACb,MAAM,IAAI,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9D,MAAM,SAAS,GAAG,IAAA,iCAA0B,EAAC,IAAI,CAAC,CAAA;QAClD,OAAO,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC7D,CAAC;IAED,MAAM,CAAU,IAAI,CAAC,MAAc,EAAE,KAAgC,EAAE,QAAiB;QACpF,IAAI,KAAK,YAAY,mBAAW,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAA,qBAAc,EAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;YAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAC9D,CAAC;YACD,OAAO,IAAI,SAAS,CAAC;gBACjB,MAAM;gBACN,KAAK,EAAE,WAAW;gBAClB,QAAQ;aACX,CAAC,CAAA;QACN,CAAC;QAED,OAAO,IAAI,SAAS,CAAC;YACjB,MAAM;YACN,KAAK,EAAE,KAAK;YACZ,QAAQ;SACX,CAAC,CAAA;IACN,CAAC;CACJ;AAjED,8BAiEC;AAED;;;GAGG;AACH,MAAa,cAAe,SAAQ,eAAe;IAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,EAAuC;QAC/D,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAA;IACtD,CAAC;IAED;;;OAGG;IACM,QAAQ;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAChH,OAAO,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACpE,CAAC;IAED,MAAM,CAAU,IAAI,CAAC,MAAc,EAAE,MAAmB;QACpD,MAAM,UAAU,GAAG,MAAM;aACpB,QAAQ,EAAE;aACV,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACrD,OAAO,IAAI,cAAc,CAAC;YACtB,MAAM;YACN,MAAM,EAAE,UAAU;SACrB,CAAC,CAAA;IACN,CAAC;CACJ;AA5BD,wCA4BC;AAED;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,eAAe;IACnD,YAAY,EAAE,MAAM,EAAE,KAAK,EAAiE;QACxF,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAiB,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACzC,CAAC;IAED;;;;;OAKG;IACM,QAAQ;QACb,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAA;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClB,kCAAkC;YAClC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACvD,OAAO,GAAG,GAAG,IAAI,YAAY,EAAE,CAAA;QACnC,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QACd,OAAO,aAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IACnE,CAAC;IAED,MAAM,CAAU,IAAI,CAAC,MAAc,EAAE,IAAiB;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC7B,qDAAqD;QACrD,2EAA2E;QAC3E,MAAM,iBAAiB,GAAG,eAAe,CAAA;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;QAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,aAAa,GAAuC,EAAE,CAAA;QAE5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,SAAQ;YACZ,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YACvC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;YAExC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACf,SAAQ;YACZ,CAAC;YACD,yBAAyB;YACzB,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;QAC7E,CAAC;QACD,OAAO,IAAI,kBAAkB,CAAC;YAC1B,MAAM;YACN,KAAK,EAAE,aAAa;SACvB,CAAC,CAAA;IACN,CAAC;CACJ;AAvDD,gDAuDC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CACxB,UAAkB,EAClB,KAAkB,EAClB,QAAiB;IAEjB,QAAQ,UAAU,EAAE,CAAC;QACjB,KAAK,yBAAiB,CAAC,QAAQ;YAC3B,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAA;QACvD,KAAK,yBAAiB,CAAC,IAAI;YACvB,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC7D,KAAK,yBAAiB,CAAC,UAAU;YAC7B,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAA;QACxD,KAAK,yBAAiB,CAAC,cAAc;YACjC,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAA;QAC5D;YACI,OAAO,SAAS,CAAA;IACxB,CAAC;AACL,CAAC"}
@@ -9,6 +9,10 @@ export type Result<Value = unknown> = {
9
9
  } | {
10
10
  success: true;
11
11
  value: Value;
12
+ } | {
13
+ success: 'partial';
14
+ value: Value;
15
+ unhandledRecords: Record[];
12
16
  };
13
17
  export type CommitResult = {
14
18
  success: boolean;
@@ -66,12 +70,43 @@ export type Relationship = {
66
70
  };
67
71
  export type CoalesceStrategy = [string, ...string[]] | ((properties: ObjectShape) => globalThis.Record<string, string | StringShape> | ObjectShape);
68
72
  export type FileType = 'fluent' | 'module' | 'json' | 'unknown';
73
+ export type PluginApiDoc = {
74
+ /**
75
+ * The name of the API (e.g., 'BusinessRule', 'Acl', 'Table')
76
+ * This is the callee name used in fluent code.
77
+ */
78
+ apiName: string;
79
+ /**
80
+ * Uses module-specifier path to the markdown documentation file for this API relative to the SDK root.
81
+ * For example, @servicenow/sdk/docs/BusinessRule/BusinessRule.md
82
+ */
83
+ docPath: string;
84
+ /**
85
+ * Tags for categorizing and organizing the API documentation
86
+ */
87
+ tags: string[];
88
+ };
89
+ /**
90
+ * Manifest structure for API documentation.
91
+ * This is the opinionated format returned by getDocsMetadata().
92
+ */
93
+ export type DocsManifest = {
94
+ [apiName: string]: {
95
+ docPath: string;
96
+ tags: string[];
97
+ };
98
+ };
69
99
  export type PluginConfig<Nodes extends SupportedKindName[] = SupportedKindName[], Shapes extends ShapeClass[] = ShapeClass[], Records extends string[] = string[]> = {
70
100
  /**
71
101
  * The name of the plugin. Must end with "Plugin" suffix. This name is used in metrics
72
102
  * and error messages.
73
103
  */
74
104
  name: `${string}Plugin`;
105
+ /**
106
+ * Documentation for the APIs provided by this plugin. This is used to automatically
107
+ * generate documentation that can be retrieved via the getDocsMetadata() method.
108
+ */
109
+ docs?: PluginApiDoc[];
75
110
  /**
76
111
  * The TypeScript AST nodes this plugin handles. Plugins that do not introduce new
77
112
  * syntax should not need to define any handlers here.
@@ -327,7 +362,7 @@ export type PluginConfig<Nodes extends SupportedKindName[] = SupportedKindName[]
327
362
  * @returns A result indicating whether diffing was successful and, if so, a database
328
363
  * containing only the changed records
329
364
  */
330
- diff?: (existing: Database, incoming: Database, context: Context) => Promise<Result<Database>>;
365
+ diff?: (existing: Database, incoming: Database, descendants: Database, context: Context) => Promise<Result<Database>>;
331
366
  };
332
367
  };
333
368
  /**
@@ -492,6 +527,12 @@ export declare class Plugin {
492
527
  */
493
528
  static create<const N extends SupportedKindName[], const S extends ShapeClass[]>(config: PluginConfig<N, S>): Plugin;
494
529
  getName(): string;
530
+ /**
531
+ * Get documentation metadata for APIs provided by this plugin.
532
+ * Returns a manifest object with raw (unresolved) documentation paths.
533
+ * Path resolution is handled by PluginRegistry.getDocsMetadata() using the isomorphic resolver.
534
+ */
535
+ getDocsMetadata(): DocsManifest | undefined;
495
536
  getDescendants(parent: Record, database: Database): Record[];
496
537
  getCoalesceStrategy(table: string): CoalesceStrategy | undefined;
497
538
  getCoalesceTables(): string[];
@@ -553,5 +594,6 @@ export declare class Plugins {
553
594
  [column: string]: string;
554
595
  };
555
596
  isEntryPoint(pathOrNode: string | SupportedNode, context: Omit<Context, 'self'>): Promise<boolean>;
597
+ getDocsMetadata(): DocsManifest;
556
598
  }
557
599
  export {};
@@ -174,6 +174,24 @@ class Plugin {
174
174
  getName() {
175
175
  return this.config.name;
176
176
  }
177
+ /**
178
+ * Get documentation metadata for APIs provided by this plugin.
179
+ * Returns a manifest object with raw (unresolved) documentation paths.
180
+ * Path resolution is handled by PluginRegistry.getDocsMetadata() using the isomorphic resolver.
181
+ */
182
+ getDocsMetadata() {
183
+ if (!this.config.docs) {
184
+ return undefined;
185
+ }
186
+ const manifest = {};
187
+ for (const doc of this.config.docs) {
188
+ manifest[doc.apiName] = {
189
+ docPath: doc.docPath,
190
+ tags: doc.tags,
191
+ };
192
+ }
193
+ return manifest;
194
+ }
177
195
  getDescendants(parent, database) {
178
196
  const descendantRelationships = Object.entries(this.relationships[parent.getTable()] ?? {}).filter(([, { descendant }]) => descendant);
179
197
  const descendants = [];
@@ -274,7 +292,7 @@ class Plugin {
274
292
  async nodeToShape(node, context) {
275
293
  const entry = this.nodeToShapeCache.get(node.compilerNode);
276
294
  if (entry) {
277
- return entry.isError() ? { success: false } : entry.unwrap();
295
+ return entry.success ? entry.value : { success: false };
278
296
  }
279
297
  try {
280
298
  for (const config of this.config.nodes ?? []) {
@@ -319,7 +337,7 @@ class Plugin {
319
337
  async shapeToSubclass(shape, context) {
320
338
  const entry = this.shapeToSubclassCache.get(shape);
321
339
  if (entry) {
322
- return entry.isError() ? { success: false } : entry.unwrap();
340
+ return entry.success ? entry.value : { success: false };
323
341
  }
324
342
  try {
325
343
  for (const config of this.config.shapes ?? []) {
@@ -348,7 +366,7 @@ class Plugin {
348
366
  async shapeToRecord(shape, context) {
349
367
  const entry = this.shapeToRecordCache.get(shape);
350
368
  if (entry) {
351
- return entry.isError() ? { success: false } : entry.unwrap();
369
+ return entry.success ? entry.value : { success: false };
352
370
  }
353
371
  try {
354
372
  for (const config of this.config.shapes ?? []) {
@@ -412,6 +430,7 @@ class Plugin {
412
430
  if (creatorOnly && record.getCreator() !== this) {
413
431
  continue;
414
432
  }
433
+ context.logger.debug(`Database contains ${database.query().length} records for transformation.`);
415
434
  context.logger.debug(`Transforming record into shape: ${record.getTable()}.${record.getId().getValue()}`);
416
435
  const descendants = this.getDescendants(record, database);
417
436
  if (changedOnly) {
@@ -437,12 +456,28 @@ class Plugin {
437
456
  database,
438
457
  descendants: nonDeletedDescendants,
439
458
  });
459
+ // Track unhandled records to avoid marking them as handled
460
+ const unhandledRecords = [];
461
+ const unhandledRecordIds = [];
462
+ if (result.success === 'partial') {
463
+ for (const unhandledRecord of result.unhandledRecords) {
464
+ unhandledRecords.push(unhandledRecord);
465
+ unhandledRecordIds.push(unhandledRecord.getId().getValue());
466
+ }
467
+ }
440
468
  if (result.success) {
441
469
  success = true;
442
470
  handledRecords.insert(record);
443
471
  shapes.push(...[result.value].flat());
472
+ // Mark all descendants as handled
444
473
  for (const descendant of [...deletedDescendants, ...nonDeletedDescendants]) {
445
- handledRecords.insert(descendant);
474
+ if (!unhandledRecordIds.includes(descendant.getId().getValue())) {
475
+ handledRecords.insert(descendant);
476
+ }
477
+ }
478
+ context.logger.debug(`Plugin ${this.getName()} deferred handling of records: ${unhandledRecords.map((r) => r.getTable() + '_' + r.getId().getValue()).join(', ')}`);
479
+ if (unhandledRecords.length > 0) {
480
+ return { success: 'partial', value: shapes, unhandledRecords };
446
481
  }
447
482
  }
448
483
  }
@@ -476,7 +511,7 @@ class Plugin {
476
511
  ...[incoming.resolve(record.getId())].filter((r) => r !== undefined),
477
512
  ...incoming.query().filter((r) => descendantsDatabase.resolve(r.getId()) !== undefined),
478
513
  ];
479
- const result = await diff.bind(this)(new database_1.Database(existingTree), new database_1.Database(incomingTree), {
514
+ const result = await diff.bind(this)(new database_1.Database(existingTree), new database_1.Database(incomingTree), new database_1.Database(descendants), {
480
515
  ...context,
481
516
  self: this,
482
517
  });
@@ -676,6 +711,15 @@ class Plugins {
676
711
  }
677
712
  return false;
678
713
  }
714
+ getDocsMetadata() {
715
+ return this.plugins.reduce((aggregated, plugin) => {
716
+ const pluginManifest = plugin.getDocsMetadata();
717
+ if (pluginManifest) {
718
+ Object.assign(aggregated, pluginManifest);
719
+ }
720
+ return aggregated;
721
+ }, {});
722
+ }
679
723
  }
680
724
  exports.Plugins = Plugins;
681
725
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugins/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugins/plugin.ts"],"names":[],"mappings":"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"}