@optimizely-opal/opal-tool-ocp-sdk 1.0.0-OCP-1442.2 → 1.0.0-OCP-1442.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ToolLogger.d.ts","sourceRoot":"","sources":["../../src/logging/ToolLogger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAEzC;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAyCtC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAM;IAE7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA0ClC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAO/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAQrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAarC;;OAEG;WACW,UAAU,CACtB,GAAG,EAAE,GAAG,CAAC,OAAO,GACf,IAAI;IAYP;;OAEG;WACW,WAAW,CACvB,GAAG,EAAE,GAAG,CAAC,OAAO,EAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,gBAAgB,CAAC,EAAE,MAAM,GACxB,IAAI;CAeR"}
1
+ {"version":3,"file":"ToolLogger.d.ts","sourceRoot":"","sources":["../../src/logging/ToolLogger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAEzC;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAyCtC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAM;IAE7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA0ClC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAO/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAQrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoBrC;;OAEG;WACW,UAAU,CACtB,GAAG,EAAE,GAAG,CAAC,OAAO,GACf,IAAI;IAYP;;OAEG;WACW,WAAW,CACvB,GAAG,EAAE,GAAG,CAAC,OAAO,EAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,gBAAgB,CAAC,EAAE,MAAM,GACxB,IAAI;CAiBR"}
@@ -55,18 +55,18 @@ class ToolLogger {
55
55
  return data;
56
56
  }
57
57
  if (typeof data === 'string') {
58
- return data.length > this.MAX_PARAM_LENGTH
59
- ? `${data.substring(0, this.MAX_PARAM_LENGTH)}... (truncated, ${data.length} chars total)`
58
+ return data.length > ToolLogger.MAX_PARAM_LENGTH
59
+ ? `${data.substring(0, ToolLogger.MAX_PARAM_LENGTH)}... (truncated, ${data.length} chars total)`
60
60
  : data;
61
61
  }
62
62
  if (typeof data === 'number' || typeof data === 'boolean') {
63
63
  return data;
64
64
  }
65
65
  if (Array.isArray(data)) {
66
- const truncated = data.slice(0, this.MAX_ARRAY_ITEMS);
67
- const result = truncated.map((item) => this.redactSensitiveData(item, maxDepth - 1));
68
- if (data.length > this.MAX_ARRAY_ITEMS) {
69
- result.push(`... (${data.length - this.MAX_ARRAY_ITEMS} more items truncated)`);
66
+ const truncated = data.slice(0, ToolLogger.MAX_ARRAY_ITEMS);
67
+ const result = truncated.map((item) => ToolLogger.redactSensitiveData(item, maxDepth - 1));
68
+ if (data.length > ToolLogger.MAX_ARRAY_ITEMS) {
69
+ result.push(`... (${data.length - ToolLogger.MAX_ARRAY_ITEMS} more items truncated)`);
70
70
  }
71
71
  return result;
72
72
  }
@@ -74,12 +74,12 @@ class ToolLogger {
74
74
  const result = {};
75
75
  for (const [key, value] of Object.entries(data)) {
76
76
  // Check if this field contains sensitive data
77
- const isSensitive = this.isSensitiveField(key);
77
+ const isSensitive = ToolLogger.isSensitiveField(key);
78
78
  if (isSensitive) {
79
79
  result[key] = '[REDACTED]';
80
80
  }
81
81
  else {
82
- result[key] = this.redactSensitiveData(value, maxDepth - 1);
82
+ result[key] = ToolLogger.redactSensitiveData(value, maxDepth - 1);
83
83
  }
84
84
  }
85
85
  return result;
@@ -91,7 +91,7 @@ class ToolLogger {
91
91
  */
92
92
  static isSensitiveField(fieldName) {
93
93
  const lowerKey = fieldName.toLowerCase();
94
- return this.SENSITIVE_FIELDS.some((sensitiveField) => lowerKey.includes(sensitiveField));
94
+ return ToolLogger.SENSITIVE_FIELDS.some((sensitiveField) => lowerKey.includes(sensitiveField));
95
95
  }
96
96
  /**
97
97
  * Creates a summary of request parameters
@@ -100,22 +100,28 @@ class ToolLogger {
100
100
  if (!params) {
101
101
  return null;
102
102
  }
103
- return this.redactSensitiveData(params);
103
+ return ToolLogger.redactSensitiveData(params);
104
104
  }
105
105
  /**
106
106
  * Calculates content length of response data
107
107
  */
108
- static calculateContentLength(responseData) {
109
- if (!responseData) {
108
+ static calculateContentLength(response) {
109
+ if (!response) {
110
110
  return 0;
111
111
  }
112
112
  try {
113
- const serialized = JSON.stringify(responseData);
114
- return serialized.length;
113
+ if (response?.bodyJSON) {
114
+ const responseBodyJson = JSON.stringify(response.bodyJSON);
115
+ console.log('BodyJson length', responseBodyJson.length || 0);
116
+ return responseBodyJson.length;
117
+ }
115
118
  }
116
119
  catch {
120
+ console.log("Circular reference or JSON error, returning 'unknown'");
117
121
  return 'unknown';
118
122
  }
123
+ console.log('Body length', response.body?.length || 0);
124
+ return response.body?.length || 0;
119
125
  }
120
126
  /**
121
127
  * Logs an incoming request
@@ -125,7 +131,7 @@ class ToolLogger {
125
131
  const requestLog = {
126
132
  event: 'opal_tool_request',
127
133
  path: req.path,
128
- parameters: this.createParameterSummary(params)
134
+ parameters: ToolLogger.createParameterSummary(params)
129
135
  };
130
136
  // Log with Zaius audience so developers only see requests for accounts they have access to
131
137
  app_sdk_1.logger.info(app_sdk_1.LogVisibility.Zaius, JSON.stringify(requestLog));
@@ -134,13 +140,16 @@ class ToolLogger {
134
140
  * Logs a successful response
135
141
  */
136
142
  static logResponse(req, response, processingTimeMs) {
143
+ console.log('response', response);
144
+ console.log('response body json', response.bodyJSON);
145
+ console.log('response body', response.body);
137
146
  const responseLog = {
138
147
  event: 'opal_tool_response',
139
148
  path: req.path,
140
149
  duration: processingTimeMs ? `${processingTimeMs}ms` : undefined,
141
150
  status: response.status,
142
151
  contentType: response.headers?.get('content-type') || 'unknown',
143
- contentLength: this.calculateContentLength(response.bodyJSON),
152
+ contentLength: ToolLogger.calculateContentLength(response),
144
153
  success: response.status >= 200 && response.status < 300
145
154
  };
146
155
  // Log with Zaius audience so developers only see requests for accounts they have access to
@@ -1 +1 @@
1
- {"version":3,"file":"ToolLogger.js","sourceRoot":"","sources":["../../src/logging/ToolLogger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolLogger.js","sourceRoot":"","sources":["../../src/logging/ToolLogger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimizely-opal/opal-tool-ocp-sdk",
3
- "version": "1.0.0-OCP-1442.2",
3
+ "version": "1.0.0-OCP-1442.3",
4
4
  "description": "OCP SDK for Opal tool",
5
5
  "scripts": {
6
6
  "validate-deps": "node scripts/validate-deps.js",
@@ -60,8 +60,8 @@ export class ToolLogger {
60
60
  }
61
61
 
62
62
  if (typeof data === 'string') {
63
- return data.length > this.MAX_PARAM_LENGTH
64
- ? `${data.substring(0, this.MAX_PARAM_LENGTH)}... (truncated, ${data.length} chars total)`
63
+ return data.length > ToolLogger.MAX_PARAM_LENGTH
64
+ ? `${data.substring(0, ToolLogger.MAX_PARAM_LENGTH)}... (truncated, ${data.length} chars total)`
65
65
  : data;
66
66
  }
67
67
 
@@ -70,10 +70,10 @@ export class ToolLogger {
70
70
  }
71
71
 
72
72
  if (Array.isArray(data)) {
73
- const truncated = data.slice(0, this.MAX_ARRAY_ITEMS);
74
- const result = truncated.map((item) => this.redactSensitiveData(item, maxDepth - 1));
75
- if (data.length > this.MAX_ARRAY_ITEMS) {
76
- result.push(`... (${data.length - this.MAX_ARRAY_ITEMS} more items truncated)`);
73
+ const truncated = data.slice(0, ToolLogger.MAX_ARRAY_ITEMS);
74
+ const result = truncated.map((item) => ToolLogger.redactSensitiveData(item, maxDepth - 1));
75
+ if (data.length > ToolLogger.MAX_ARRAY_ITEMS) {
76
+ result.push(`... (${data.length - ToolLogger.MAX_ARRAY_ITEMS} more items truncated)`);
77
77
  }
78
78
  return result;
79
79
  }
@@ -82,12 +82,12 @@ export class ToolLogger {
82
82
  const result: any = {};
83
83
  for (const [key, value] of Object.entries(data)) {
84
84
  // Check if this field contains sensitive data
85
- const isSensitive = this.isSensitiveField(key);
85
+ const isSensitive = ToolLogger.isSensitiveField(key);
86
86
 
87
87
  if (isSensitive) {
88
88
  result[key] = '[REDACTED]';
89
89
  } else {
90
- result[key] = this.redactSensitiveData(value, maxDepth - 1);
90
+ result[key] = ToolLogger.redactSensitiveData(value, maxDepth - 1);
91
91
  }
92
92
  }
93
93
  return result;
@@ -101,7 +101,7 @@ export class ToolLogger {
101
101
  */
102
102
  private static isSensitiveField(fieldName: string): boolean {
103
103
  const lowerKey = fieldName.toLowerCase();
104
- return this.SENSITIVE_FIELDS.some((sensitiveField) =>
104
+ return ToolLogger.SENSITIVE_FIELDS.some((sensitiveField) =>
105
105
  lowerKey.includes(sensitiveField)
106
106
  );
107
107
  }
@@ -114,23 +114,30 @@ export class ToolLogger {
114
114
  return null;
115
115
  }
116
116
 
117
- return this.redactSensitiveData(params);
117
+ return ToolLogger.redactSensitiveData(params);
118
118
  }
119
119
 
120
120
  /**
121
121
  * Calculates content length of response data
122
122
  */
123
- private static calculateContentLength(responseData?: any): number | string {
124
- if (!responseData) {
123
+ private static calculateContentLength(response?: App.Response) {
124
+ if (!response) {
125
125
  return 0;
126
126
  }
127
127
 
128
128
  try {
129
- const serialized = JSON.stringify(responseData);
130
- return serialized.length;
129
+ if (response?.bodyJSON) {
130
+ const responseBodyJson = JSON.stringify(response.bodyJSON);
131
+ console.log('BodyJson length', responseBodyJson.length || 0);
132
+ return responseBodyJson.length;
133
+ }
131
134
  } catch {
135
+ console.log("Circular reference or JSON error, returning 'unknown'");
132
136
  return 'unknown';
133
137
  }
138
+
139
+ console.log('Body length', response.body?.length || 0);
140
+ return response.body?.length || 0;
134
141
  }
135
142
 
136
143
  /**
@@ -143,7 +150,7 @@ export class ToolLogger {
143
150
  const requestLog = {
144
151
  event: 'opal_tool_request',
145
152
  path: req.path,
146
- parameters: this.createParameterSummary(params)
153
+ parameters: ToolLogger.createParameterSummary(params)
147
154
  };
148
155
 
149
156
  // Log with Zaius audience so developers only see requests for accounts they have access to
@@ -158,14 +165,16 @@ export class ToolLogger {
158
165
  response: App.Response,
159
166
  processingTimeMs?: number
160
167
  ): void {
161
-
168
+ console.log('response', response);
169
+ console.log('response body json', response.bodyJSON);
170
+ console.log('response body', response.body);
162
171
  const responseLog = {
163
172
  event: 'opal_tool_response',
164
173
  path: req.path,
165
174
  duration: processingTimeMs ? `${processingTimeMs}ms` : undefined,
166
175
  status: response.status,
167
176
  contentType: response.headers?.get('content-type') || 'unknown',
168
- contentLength: this.calculateContentLength(response.bodyJSON),
177
+ contentLength: ToolLogger.calculateContentLength(response),
169
178
  success: response.status >= 200 && response.status < 300
170
179
  };
171
180