@adminforth/agent 1.26.8 → 1.26.9

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/apiBasedTools.ts CHANGED
@@ -110,11 +110,17 @@ const TOOL_OVERRIDES: Record<string, ToolOverride> = {
110
110
  return output;
111
111
  }
112
112
 
113
+ if (!hasGetResourceDataRows(output)) {
114
+ logger.warn(
115
+ `Skipping datetime formatting for get_resource_data because response.data is not an array for resource ${getInputString(inputs, 'resourceId') ?? 'unknown'}`,
116
+ );
117
+ return output;
118
+ }
119
+
113
120
  const localizedTimeZone = userTimeZone ?? DEFAULT_USER_TIME_ZONE;
114
- const response = output as GetResourceDataToolResponse;
115
- formatDateTimeColumns(response.data, dateTimeColumnNames, localizedTimeZone);
121
+ formatDateTimeColumns(output.data, dateTimeColumnNames, localizedTimeZone);
116
122
 
117
- return response;
123
+ return output;
118
124
  },
119
125
  },
120
126
  aggregate: {
@@ -288,6 +294,14 @@ function hasToolError(output: unknown): output is { error: unknown } {
288
294
  return typeof output === 'object' && output !== null && 'error' in output;
289
295
  }
290
296
 
297
+ function hasGetResourceDataRows(output: unknown): output is GetResourceDataToolResponse {
298
+ if (typeof output !== 'object' || output === null || !('data' in output)) {
299
+ return false;
300
+ }
301
+
302
+ return Array.isArray((output as { data?: unknown }).data);
303
+ }
304
+
291
305
  function getDateTimeColumnNames(
292
306
  adminforth: IAdminForth,
293
307
  inputs: Record<string, unknown> | undefined,
package/build.log CHANGED
@@ -38,5 +38,5 @@ custom/skills/fetch_data/SKILL.md
38
38
  custom/skills/mutate_data/
39
39
  custom/skills/mutate_data/SKILL.md
40
40
 
41
- sent 207,935 bytes received 562 bytes 416,994.00 bytes/sec
41
+ sent 207,931 bytes received 558 bytes 416,978.00 bytes/sec
42
42
  total size is 205,621 speedup is 0.99
@@ -55,6 +55,7 @@ const TOOL_OVERRIDES = {
55
55
  get_resource_data: {
56
56
  format_tool: ({ inputs, resourceLabel }) => (`Get ${getDataPrefix(inputs)}${resourceLabel}`),
57
57
  post_process_response: (_a) => __awaiter(void 0, [_a], void 0, function* ({ adminforth, output, inputs, userTimeZone }) {
58
+ var _b;
58
59
  if (hasToolError(output)) {
59
60
  return output;
60
61
  }
@@ -62,10 +63,13 @@ const TOOL_OVERRIDES = {
62
63
  if (dateTimeColumnNames.length === 0) {
63
64
  return output;
64
65
  }
66
+ if (!hasGetResourceDataRows(output)) {
67
+ logger.warn(`Skipping datetime formatting for get_resource_data because response.data is not an array for resource ${(_b = getInputString(inputs, 'resourceId')) !== null && _b !== void 0 ? _b : 'unknown'}`);
68
+ return output;
69
+ }
65
70
  const localizedTimeZone = userTimeZone !== null && userTimeZone !== void 0 ? userTimeZone : DEFAULT_USER_TIME_ZONE;
66
- const response = output;
67
- formatDateTimeColumns(response.data, dateTimeColumnNames, localizedTimeZone);
68
- return response;
71
+ formatDateTimeColumns(output.data, dateTimeColumnNames, localizedTimeZone);
72
+ return output;
69
73
  }),
70
74
  },
71
75
  aggregate: {
@@ -192,6 +196,12 @@ function wipePath(target, pathParts) {
192
196
  function hasToolError(output) {
193
197
  return typeof output === 'object' && output !== null && 'error' in output;
194
198
  }
199
+ function hasGetResourceDataRows(output) {
200
+ if (typeof output !== 'object' || output === null || !('data' in output)) {
201
+ return false;
202
+ }
203
+ return Array.isArray(output.data);
204
+ }
195
205
  function getDateTimeColumnNames(adminforth, inputs) {
196
206
  const resourceId = getInputString(inputs, 'resourceId');
197
207
  const resource = adminforth.config.resources.find((res) => res.resourceId === resourceId);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adminforth/agent",
3
- "version": "1.26.8",
3
+ "version": "1.26.9",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",