@carbonstopper/agent-mcp 0.1.13 → 0.1.14

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/README.md CHANGED
@@ -174,7 +174,7 @@ For local debugging against a non-default gateway, add:
174
174
 
175
175
  ## Available Tools
176
176
 
177
- Only product carbon modeling and report tools are exposed to the Agent in this release.
177
+ Only Agent-facing modeling, report, factor search, unit dictionary, and sandbox workspace tools are exposed in this release.
178
178
 
179
179
  | Tool | Description |
180
180
  | --- | --- |
@@ -182,9 +182,15 @@ Only product carbon modeling and report tools are exposed to the Agent in this r
182
182
  | `modeling_re_modeling` | Re-run product carbon AI modeling for an existing account. Requires `accountId` and `idempotencyKey`. |
183
183
  | `modeling_update` | Supplement or update emission sources for an existing model. Requires `accountId`, `idempotencyKey`, and `input.content`. |
184
184
  | `modeling_detail` | Get product carbon model details. |
185
+ | `modeling_execute_structured` | Create a new product carbon model from structured product, emission source, and factor data. Requires `idempotencyKey`, `productName`, `unitName`, and `emissionSources`. |
186
+ | `factor_search` | Search CCDB factors through the Agent factor endpoint. Supports one keyword per call. |
187
+ | `unit_list` | Get the Agent unit dictionary for structured modeling. |
185
188
  | `report_generate` | Generate a product carbon report. Requires `accountId` and `idempotencyKey`. |
186
189
  | `report_regenerate` | Regenerate an existing product carbon report. Requires `reportId` and `idempotencyKey`. |
187
190
  | `report_detail` | Get product carbon report detail and latest report URL. |
191
+ | `workspace_authorize_file` | Authorize a workspace file for the current Agent sandbox session. |
192
+ | `workspace_file_download_url` | Get a temporary download URL for an authorized workspace file. |
193
+ | `workspace_upload_artifact` | Upload a local sandbox artifact file and return an artifact id. |
188
194
 
189
195
  ### Modeling Tool Selection
190
196
 
@@ -193,6 +199,8 @@ Use the product carbon modeling tools as follows:
193
199
  - `modeling_execute`: create a new model from `input.content`.
194
200
  - `modeling_re_modeling`: re-run the whole model for an existing `accountId`.
195
201
  - `modeling_update`: supplement or adjust emission sources for an existing `accountId`.
202
+ - `modeling_execute_structured`: create a new model only after the Agent has extracted structured product data, emission sources, and factor selections.
203
+ - `unit_list`: query available units before `modeling_execute_structured`, then use returned `dictLabel` values as `unitName`.
196
204
 
197
205
  ## Tool Request Shape
198
206
 
@@ -269,6 +277,93 @@ Write tools accept optional trace fields:
269
277
  }
270
278
  ```
271
279
 
280
+ ### `modeling_execute_structured`
281
+
282
+ ```json
283
+ {
284
+ "sessionId": "agent_xxx",
285
+ "messageId": "msg_xxx",
286
+ "traceId": "langgraph_run_xxx",
287
+ "taskId": "structured_modeling_node",
288
+ "idempotencyKey": "agent_xxx_structured_modeling_v1",
289
+ "productName": "Wireless mouse",
290
+ "productDesc": "80 g wireless mouse",
291
+ "amount": "1",
292
+ "unitName": "piece",
293
+ "scope": 1,
294
+ "scopeValue": "0,1,2,3,4",
295
+ "emissionSources": [
296
+ {
297
+ "clientSourceId": "src_plastic",
298
+ "name": "ABS plastic",
299
+ "stage": "MATERIAL",
300
+ "type": "MAIN",
301
+ "amount": "50",
302
+ "unitName": "g",
303
+ "rate": "0.001",
304
+ "factor": {
305
+ "sourceType": "library",
306
+ "factorId": 123456,
307
+ "reason": "Best match for ABS plastic"
308
+ }
309
+ }
310
+ ]
311
+ }
312
+ ```
313
+
314
+ For custom factors, use `sourceType: "custom"` and provide `name`, `factor`, `unit`, `institution`, and `year`.
315
+
316
+ Before calling `modeling_execute_structured`, the Agent should use the unit lookup/conversion API to normalize every `unitName` and, when needed, fill `rate`.
317
+
318
+ Unit rules:
319
+
320
+ - Account `unitName` and emission source `unitName` can use the full unit dictionary returned by unit lookup.
321
+ - Transport `unitName` should use only mass units such as `kg`, `g`, or `t`.
322
+ - Transport distance unit is kilometer; omit `distUnitName` or use `公里`.
323
+ - `rate` is the conversion ratio from the activity unit to the selected factor denominator unit. For transport, it is the ratio from activity mass unit plus kilometer to the transport factor denominator unit. Omit `rate` when the Agent is not sure; the backend can infer or validate the conversion.
324
+
325
+ Structured dictionary values:
326
+
327
+ - `stage`: `MATERIAL` raw material acquisition / 原材料获取, `PRODUCT` production manufacturing / 生产制造, `DISTRIBUTION` distribution and storage or transport / 分销和储存, `USE` product use / 产品使用, `WASTE_DISPOSAL` end-of-life disposal / 废弃处置. Backend lifecycle codes are also accepted: `0` raw material acquisition, `1` production manufacturing, `2` distribution and storage, `3` product use, `4` end-of-life disposal.
328
+ - `type`: emission source type code. Use backend dictionary codes: `1` main material / 主料, `2` auxiliary material / 辅料, `3` packaging material / 包装材料, `4` recycled material / 再生材料, `5` energy consumption / 能耗, `6` water consumption / 水耗, `7` transport / 运输, `21` waste gas / 废气, `22` wastewater / 废水, `23` solid waste / 固体废弃物, `24` renewable waste / 可再生废料, `41` other / 其他.
329
+ - `factor.sourceType`: `library` for a CCDB factor selected from `factor_search`; `custom` for a user-provided or Agent-provided custom factor.
330
+ - `transport.transportType`: transport mode code. Use backend enum codes: `1` road transport / 道路运输, `2` railway transport / 铁路运输, `3` air transport / 航空运输, `4` water transport / 水路运输.
331
+ - `transport.way`: transport calculation method code. Use backend enum codes: `1` WEIGHT / 按里程-产品重量, `2` WEIGHT_RATE / 按里程-载重比, `3` ENERGY / 按能耗.
332
+
333
+ ### `factor_search`
334
+
335
+ ```json
336
+ {
337
+ "sessionId": "agent_xxx",
338
+ "messageId": "msg_xxx",
339
+ "traceId": "langgraph_run_xxx",
340
+ "taskId": "factor_search_node",
341
+ "name": "ABS plastic",
342
+ "lang": "zh"
343
+ }
344
+ ```
345
+
346
+ The backend accepts one `name` per request. For better matching, the Agent should call `factor_search` multiple times with Chinese keywords, English keywords, material synonyms, process names, and product category terms, then compare returned rows. When a returned row contains `id`, use that `id` as `modeling_execute_structured.emissionSources[].factor.factorId`.
347
+
348
+ ### `unit_list`
349
+
350
+ ```json
351
+ {
352
+ "sessionId": "agent_xxx"
353
+ }
354
+ ```
355
+
356
+ The backend returns the unit dictionary in `factorUnitM`.
357
+
358
+ Important fields:
359
+
360
+ - `dictLabel`: unit display name. Use this value as `unitName` in `modeling_execute_structured`.
361
+ - `dictValue`: unit code.
362
+ - `id`: unit dictionary id.
363
+ - `sourceName`: unit category, such as mass, energy, volume, quantity, or distance.
364
+
365
+ Before calling `modeling_execute_structured`, the Agent should call `unit_list` and choose valid units from the returned dictionary. Emission source units can use the full dictionary. Transport activity `unitName` should use mass units only; transport distance remains kilometer.
366
+
272
367
  ### `report_generate`
273
368
 
274
369
  ```json
@@ -314,6 +409,45 @@ Write tools accept optional trace fields:
314
409
  }
315
410
  ```
316
411
 
412
+ ### `workspace_authorize_file`
413
+
414
+ ```json
415
+ {
416
+ "sessionId": "agent_xxx",
417
+ "messageId": "msg_xxx",
418
+ "runId": "sandbox_run_xxx",
419
+ "fileId": "file_xxx"
420
+ }
421
+ ```
422
+
423
+ ### `workspace_file_download_url`
424
+
425
+ ```json
426
+ {
427
+ "sessionId": "agent_xxx",
428
+ "messageId": "msg_xxx",
429
+ "runId": "sandbox_run_xxx",
430
+ "fileId": "file_xxx"
431
+ }
432
+ ```
433
+
434
+ ### `workspace_upload_artifact`
435
+
436
+ ```json
437
+ {
438
+ "sessionId": "agent_xxx",
439
+ "messageId": "msg_xxx",
440
+ "runId": "sandbox_run_xxx",
441
+ "filePath": "/tmp/agent/report.xlsx",
442
+ "sourcePath": "/tmp/agent/report.xlsx",
443
+ "filename": "report.xlsx",
444
+ "mime": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
445
+ "sha256": "optional_checksum"
446
+ }
447
+ ```
448
+
449
+ `filePath` must be readable by the MCP runtime. The MCP server reads that local file and sends it to the Java API as the multipart `file` field together with `sessionId`, `messageId`, `runId`, `sourcePath`, `filename`, `mime`, and `sha256`.
450
+
317
451
  ID fields such as `accountId` and `reportId` accept either numbers or numeric strings. Safe numeric strings are normalized before forwarding to the Agent internal API; very large numeric strings are preserved to avoid JavaScript precision loss.
318
452
 
319
453
  Modeling option codes:
@@ -338,6 +472,21 @@ Product carbon skill APIs are called through the `footprint3` gateway prefix:
338
472
  /footprint3/agent/internal/skills/**
339
473
  ```
340
474
 
475
+ Workspace sandbox APIs are called through the `ai` gateway prefix:
476
+
477
+ ```text
478
+ /ai/agent/internal/workspace/files/{fileId}/authorize
479
+ /ai/agent/internal/workspace/files/{fileId}/downloadUrl
480
+ /ai/agent/internal/workspace/artifacts/upload
481
+ ```
482
+
483
+ Agent website support APIs are called through the `management` gateway prefix:
484
+
485
+ ```text
486
+ /management/system/website/queryFactorListAgent
487
+ /management/system/website/queryUnitListAgent
488
+ ```
489
+
341
490
  ## Release Build
342
491
 
343
492
  `RELEASE_BASE_URL_ENCODED` is a repository secret used by the GitHub Actions build to inject the default gateway base URL. It is not required in MCP client config.
package/dist/apipath.d.ts CHANGED
@@ -2,8 +2,12 @@ export declare const SessionContext: () => string;
2
2
  export declare const ProjectMemoryGet: () => string;
3
3
  export declare const ProjectMemoryPatch: () => string;
4
4
  export declare const ProjectMemoryCompress: () => string;
5
+ export declare const WorkspaceAuthorizeFile: (fileId: string) => string;
6
+ export declare const WorkspaceFileDownloadUrl: (fileId: string) => string;
7
+ export declare const WorkspaceUploadArtifact: () => string;
5
8
  export declare const ModelingPreview: () => string;
6
9
  export declare const ModelingExecute: () => string;
10
+ export declare const ModelingExecuteStructured: () => string;
7
11
  export declare const ModelingReModeling: () => string;
8
12
  export declare const ModelingUpdate: () => string;
9
13
  export declare const ModelingDetail: () => string;
@@ -12,3 +16,5 @@ export declare const ReportDetail: () => string;
12
16
  export declare const AnalysisRun: () => string;
13
17
  export declare const FactorSearch: () => string;
14
18
  export declare const KnowledgeSearch: () => string;
19
+ export declare const QueryFactorListAgent: () => string;
20
+ export declare const QueryUnitListAgent: () => string;
package/dist/apipath.js CHANGED
@@ -1,11 +1,16 @@
1
1
  const aiPrefix = "/ai";
2
2
  const footprint3Prefix = "/footprint3";
3
+ const managementPrefix = "/management";
3
4
  export const SessionContext = () => `${aiPrefix}/agent/internal/platform/sessionContext`;
4
5
  export const ProjectMemoryGet = () => `${aiPrefix}/agent/internal/platform/project-memory/get`;
5
6
  export const ProjectMemoryPatch = () => `${aiPrefix}/agent/internal/platform/project-memory/patch`;
6
7
  export const ProjectMemoryCompress = () => `${aiPrefix}/agent/internal/platform/project-memory/compress`;
8
+ export const WorkspaceAuthorizeFile = (fileId) => `${aiPrefix}/agent/internal/workspace/files/${encodeURIComponent(fileId)}/authorize`;
9
+ export const WorkspaceFileDownloadUrl = (fileId) => `${aiPrefix}/agent/internal/workspace/files/${encodeURIComponent(fileId)}/downloadUrl`;
10
+ export const WorkspaceUploadArtifact = () => `${aiPrefix}/agent/internal/workspace/artifacts/upload`;
7
11
  export const ModelingPreview = () => `${footprint3Prefix}/agent/internal/skills/modeling/preview`;
8
12
  export const ModelingExecute = () => `${footprint3Prefix}/agent/internal/skills/modeling/execute`;
13
+ export const ModelingExecuteStructured = () => `${footprint3Prefix}/agent/internal/skills/modeling/executeStructured`;
9
14
  export const ModelingReModeling = () => `${footprint3Prefix}/agent/internal/skills/modeling/reModeling`;
10
15
  export const ModelingUpdate = () => `${footprint3Prefix}/agent/internal/skills/modeling/update`;
11
16
  export const ModelingDetail = () => `${footprint3Prefix}/agent/internal/skills/modeling/detail`;
@@ -14,4 +19,6 @@ export const ReportDetail = () => `${footprint3Prefix}/agent/internal/skills/rep
14
19
  export const AnalysisRun = () => `${footprint3Prefix}/agent/internal/skills/analysis/run`;
15
20
  export const FactorSearch = () => `${footprint3Prefix}/agent/internal/skills/factor/search`;
16
21
  export const KnowledgeSearch = () => `${footprint3Prefix}/agent/internal/skills/knowledge/search`;
22
+ export const QueryFactorListAgent = () => `${managementPrefix}/system/website/queryFactorListAgent`;
23
+ export const QueryUnitListAgent = () => `${managementPrefix}/system/website/queryUnitListAgent`;
17
24
  //# sourceMappingURL=apipath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apipath.js","sourceRoot":"","sources":["../src/apipath.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,yCAAyC,CAAC;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,6CAA6C,CAAC;AAC/F,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,+CAA+C,CAAC;AACnG,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,kDAAkD,CAAC;AAEzG,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,yCAAyC,CAAC;AAClG,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,yCAAyC,CAAC;AAClG,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,4CAA4C,CAAC;AACxG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,wCAAwC,CAAC;AAChG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,wCAAwC,CAAC;AAChG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,wCAAwC,CAAC;AAChG,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,sCAAsC,CAAC;AAC5F,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,qCAAqC,CAAC;AAC1F,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,sCAAsC,CAAC;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,yCAAyC,CAAC"}
1
+ {"version":3,"file":"apipath.js","sourceRoot":"","sources":["../src/apipath.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,MAAM,gBAAgB,GAAG,aAAa,CAAC;AACvC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,yCAAyC,CAAC;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,6CAA6C,CAAC;AAC/F,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,+CAA+C,CAAC;AACnG,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,kDAAkD,CAAC;AACzG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,QAAQ,mCAAmC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC;AAC/I,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,QAAQ,mCAAmC,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC;AACnJ,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,4CAA4C,CAAC;AAErG,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,yCAAyC,CAAC;AAClG,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,yCAAyC,CAAC;AAClG,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,mDAAmD,CAAC;AACtH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,4CAA4C,CAAC;AACxG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,wCAAwC,CAAC;AAChG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,wCAAwC,CAAC;AAChG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,wCAAwC,CAAC;AAChG,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,sCAAsC,CAAC;AAC5F,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,qCAAqC,CAAC;AAC1F,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,sCAAsC,CAAC;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,yCAAyC,CAAC;AAClG,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,sCAAsC,CAAC;AACpG,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,GAAG,gBAAgB,oCAAoC,CAAC"}
package/dist/client.d.ts CHANGED
@@ -11,4 +11,8 @@ export declare class Client {
11
11
  status: number;
12
12
  body: string;
13
13
  }>;
14
+ postMultipart(path: string, sessionId: string, filePath: string, fields: Record<string, unknown>): Promise<{
15
+ status: number;
16
+ body: string;
17
+ }>;
14
18
  }
package/dist/client.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { errorMessage, log, summarizeResponseBody } from "./logger.js";
2
2
  import { Version } from "./version.js";
3
+ import { readFile } from "node:fs/promises";
4
+ import { basename } from "node:path";
3
5
  const userAgent = `carbonstop-agent-mcp/${Version}`;
4
6
  const maxRetries = 3;
5
7
  const baseBackoff = 1000;
@@ -8,7 +10,7 @@ export class Client {
8
10
  constructor(config) {
9
11
  this.config = config;
10
12
  }
11
- async request(method, path, sessionId, body, query) {
13
+ async request(method, path, sessionId, body, query, contentType) {
12
14
  if (!path.startsWith("/"))
13
15
  path = "/" + path;
14
16
  const u = new URL(this.config.baseURL + path);
@@ -40,8 +42,8 @@ export class Client {
40
42
  Accept: "application/json",
41
43
  "User-Agent": userAgent,
42
44
  };
43
- if (body) {
44
- headers["Content-Type"] = "application/json;charset=utf-8";
45
+ if (body && contentType) {
46
+ headers["Content-Type"] = contentType;
45
47
  }
46
48
  const resp = await fetch(u.toString(), {
47
49
  method,
@@ -107,7 +109,29 @@ export class Client {
107
109
  return this.request("GET", path, sessionId, undefined, query);
108
110
  }
109
111
  async post(path, sessionId, jsonBody) {
110
- return this.request("POST", path, sessionId, JSON.stringify(jsonBody));
112
+ return this.request("POST", path, sessionId, JSON.stringify(jsonBody), undefined, "application/json;charset=utf-8");
113
+ }
114
+ async postMultipart(path, sessionId, filePath, fields) {
115
+ const filename = typeof fields.filename === "string" && fields.filename.trim()
116
+ ? fields.filename
117
+ : basename(filePath);
118
+ const mime = typeof fields.mime === "string" && fields.mime.trim()
119
+ ? fields.mime
120
+ : "application/octet-stream";
121
+ const bytes = await readFile(filePath);
122
+ const form = new FormData();
123
+ form.append("file", new Blob([new Uint8Array(bytes)], { type: mime }), filename);
124
+ for (const [key, value] of Object.entries(fields)) {
125
+ if (key === "filePath" || value === undefined || value === null)
126
+ continue;
127
+ if (typeof value === "object") {
128
+ form.append(key, JSON.stringify(value));
129
+ }
130
+ else {
131
+ form.append(key, String(value));
132
+ }
133
+ }
134
+ return this.request("POST", path, sessionId, form);
111
135
  }
112
136
  }
113
137
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/logger.js CHANGED
@@ -49,10 +49,41 @@ export function summarizeArgs(args) {
49
49
  messageId: args.messageId,
50
50
  traceId: args.traceId,
51
51
  taskId: args.taskId,
52
+ runId: args.runId,
52
53
  accountId: args.accountId,
53
54
  reportId: args.reportId,
55
+ fileId: args.fileId,
56
+ filename: args.filename,
57
+ sourcePath: args.sourcePath,
54
58
  idempotencyKeyPresent: typeof args.idempotencyKey === "string" && args.idempotencyKey.length > 0,
55
59
  });
60
+ if (typeof args.name === "string") {
61
+ summary.searchKeywordCount = 1;
62
+ if (shouldLogBody())
63
+ summary.searchKeywordPreview = truncateText(args.name);
64
+ }
65
+ else if (Array.isArray(args.name)) {
66
+ summary.searchKeywordCount = args.name.length;
67
+ }
68
+ if (typeof args.productName === "string") {
69
+ summary.productNameLength = args.productName.length;
70
+ if (shouldLogBody())
71
+ summary.productNamePreview = truncateText(args.productName);
72
+ }
73
+ if (typeof args.unitName === "string") {
74
+ summary.unitName = args.unitName;
75
+ }
76
+ if (typeof args.amount === "string") {
77
+ summary.amount = args.amount;
78
+ }
79
+ for (const key of ["scope", "scopeValue"]) {
80
+ if (args[key] !== undefined)
81
+ summary[key] = args[key];
82
+ }
83
+ if (Array.isArray(args.emissionSources)) {
84
+ summary.emissionSourceCount = args.emissionSources.length;
85
+ Object.assign(summary, summarizeEmissionSources(args.emissionSources));
86
+ }
56
87
  if (input) {
57
88
  summary.inputKeys = Object.keys(input);
58
89
  if (typeof input.content === "string") {
@@ -106,4 +137,60 @@ function pickDefined(value) {
106
137
  function isRecord(value) {
107
138
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
108
139
  }
140
+ function summarizeEmissionSources(value) {
141
+ const stages = new Set();
142
+ const types = new Set();
143
+ const unitNames = new Set();
144
+ let transportSegmentCount = 0;
145
+ let libraryFactorCount = 0;
146
+ let customFactorCount = 0;
147
+ let factorIdCount = 0;
148
+ for (const item of value) {
149
+ if (!isRecord(item))
150
+ continue;
151
+ addString(stages, item.stage);
152
+ addString(types, item.type);
153
+ addString(unitNames, item.unitName);
154
+ countFactor(item.factor);
155
+ if (Array.isArray(item.transport)) {
156
+ transportSegmentCount += item.transport.length;
157
+ for (const transport of item.transport) {
158
+ if (!isRecord(transport))
159
+ continue;
160
+ addString(unitNames, transport.unitName);
161
+ countFactor(transport.factor);
162
+ }
163
+ }
164
+ }
165
+ return pickDefined({
166
+ lifecycleStages: compactList(stages),
167
+ emissionTypes: compactList(types),
168
+ unitNames: compactList(unitNames),
169
+ transportSegmentCount,
170
+ libraryFactorCount,
171
+ customFactorCount,
172
+ factorIdCount,
173
+ });
174
+ function countFactor(factor) {
175
+ if (!isRecord(factor))
176
+ return;
177
+ if (factor.sourceType === "library")
178
+ libraryFactorCount++;
179
+ if (factor.sourceType === "custom")
180
+ customFactorCount++;
181
+ if (factor.factorId !== undefined && factor.factorId !== null)
182
+ factorIdCount++;
183
+ }
184
+ }
185
+ function addString(values, value) {
186
+ if (typeof value === "string" && value.trim()) {
187
+ values.add(value.trim());
188
+ }
189
+ }
190
+ function compactList(values) {
191
+ const list = Array.from(values);
192
+ if (list.length === 0)
193
+ return undefined;
194
+ return list.slice(0, 10);
195
+ }
109
196
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,MAAM,YAAY,GAA6B;IAC7C,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,MAAM,OAAO,GAAG,sBAAsB,CAAC;AACvC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,KAAe;IAChC,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAkC,EAAE,KAAa,EAAE,SAAkC,EAAE;IACzG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO;IAE9B,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC9B,KAAK;QACL,KAAK;QACL,OAAO;QACP,OAAO,EAAE,OAAO;QAChB,GAAG,MAAM;KACV,CAAC;IAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,SAAS,GAAG,gBAAgB;IACtE,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAA6B;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,MAAM,OAAO,GAA4B,WAAW,CAAC;QACnD,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,qBAAqB,EAAE,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;KACjG,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC/B,IAAI,aAAa,EAAE;YAAE,OAAO,CAAC,oBAAoB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACpD,IAAI,aAAa,EAAE;YAAE,OAAO,CAAC,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACnC,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC7C,IAAI,aAAa,EAAE;gBAAE,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC7C,IAAI,aAAa,EAAE;gBAAE,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC;YACnF,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,cAAc,GAAG,KAAK;IACxE,MAAM,OAAO,GAA4B,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,cAAc,IAAI,aAAa,EAAE,EAAE,CAAC;QACtC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;YAC9E,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACnE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sDAAsD;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAA8B;IACjD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;IAChF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAgB;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9B,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,qBAAqB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC/C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACnC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACzC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;QACjB,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC;QACpC,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC;QACjC,qBAAqB;QACrB,kBAAkB;QAClB,iBAAiB;QACjB,aAAa;KACd,CAAC,CAAC;IAEH,SAAS,WAAW,CAAC,MAAe;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO;QAC9B,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,kBAAkB,EAAE,CAAC;QAC1D,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ;YAAE,iBAAiB,EAAE,CAAC;QACxD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;YAAE,aAAa,EAAE,CAAC;IACjF,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,MAAmB,EAAE,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC"}
package/dist/server.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { Client } from "./client.js";
3
3
  import { errorMessage, log, summarizeArgs, summarizeResponseBody } from "./logger.js";
4
- import { schemas, descriptions, toolRoutes, buildBody, getSessionId } from "./tools.js";
4
+ import { schemas, descriptions, toolRoutes, buildBody, getSessionId, resolveRoutePath, buildFactorSearchBody, } from "./tools.js";
5
5
  import { Version } from "./version.js";
6
6
  export function assertConfig(config) {
7
7
  if (!config.baseURL) {
@@ -42,23 +42,38 @@ export function createAgentMcpServer(config) {
42
42
  }
43
43
  try {
44
44
  const sessionId = getSessionId(args);
45
+ const path = resolveRoutePath(route, args);
45
46
  const body = buildBody(route, args);
46
47
  const argsSummary = summarizeArgs(body);
47
48
  log("info", "tool_call_start", {
48
49
  tool: name,
49
- path: route.path,
50
+ path,
50
51
  sessionId,
51
52
  messageId: args.messageId,
52
53
  traceId: args.traceId,
53
54
  taskId: args.taskId,
54
55
  argsSummary,
55
56
  });
56
- const result = await client.post(route.path, sessionId, body);
57
+ let result;
58
+ if (route.bodyKind === "factorSearch") {
59
+ result = await client.post(path, sessionId, buildFactorSearchBody(args));
60
+ }
61
+ else if (route.bodyKind === "multipartArtifact") {
62
+ const uploadBody = body;
63
+ const filePath = uploadBody.filePath;
64
+ if (typeof filePath !== "string" || !filePath.trim()) {
65
+ throw new Error("filePath is required");
66
+ }
67
+ result = await client.postMultipart(path, sessionId, filePath, uploadBody);
68
+ }
69
+ else {
70
+ result = await client.post(path, sessionId, body);
71
+ }
57
72
  const durationMs = Date.now() - startedAt;
58
73
  if (result.status < 200 || result.status >= 300) {
59
74
  log("warn", "tool_call_backend_error", {
60
75
  tool: name,
61
- path: route.path,
76
+ path,
62
77
  sessionId,
63
78
  messageId: args.messageId,
64
79
  traceId: args.traceId,
@@ -71,7 +86,7 @@ export function createAgentMcpServer(config) {
71
86
  }
72
87
  log("info", "tool_call_success", {
73
88
  tool: name,
74
- path: route.path,
89
+ path,
75
90
  sessionId,
76
91
  messageId: args.messageId,
77
92
  traceId: args.traceId,
@@ -90,7 +105,7 @@ export function createAgentMcpServer(config) {
90
105
  catch (err) {
91
106
  log("error", "tool_call_error", {
92
107
  tool: name,
93
- path: route.path,
108
+ path: route ? resolveRoutePath(route, args || {}) : undefined,
94
109
  durationMs: Date.now() - startedAt,
95
110
  argsSummary: summarizeArgs(args || {}),
96
111
  error: errorMessage(err),
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAElC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,MAAM,CAAC,YAAY,CACjB,IAAI,EACJ;YACE,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;YACrC,WAAW,EAAE,MAAM;SACpB,EACD,KAAK,EAAE,IAAS,EAAE,EAAE;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE;oBAC9B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,cAAc;oBACrB,WAAW,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;iBACvC,CAAC,CAAC;gBACH,OAAO,YAAY,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACpC,MAAM,WAAW,GAAG,aAAa,CAAC,IAA+B,CAAC,CAAC;gBAEnE,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE;oBAC7B,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS;oBACT,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,WAAW;iBACZ,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAE1C,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBAChD,GAAG,CAAC,MAAM,EAAE,yBAAyB,EAAE;wBACrC,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,SAAS;wBACT,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,UAAU;wBACV,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;qBAC5C,CAAC,CAAC;oBACH,OAAO,YAAY,CAAC,QAAQ,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBAED,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE;oBAC/B,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS;oBACT,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU;iBACX,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACvC,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtD,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE;oBAC9B,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,WAAW,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;oBACtC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC;iBACzB,CAAC,CAAC;gBACH,OAAO,YAAY,CACjB,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7D,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -1,12 +1,23 @@
1
1
  import { z } from "zod";
2
2
  export declare const schemas: Record<string, z.ZodObject<any> | undefined>;
3
3
  export declare const descriptions: Record<string, string>;
4
- export type BodyKind = "agentSkill" | "sessionContext";
4
+ export type BodyKind = "agentSkill" | "sessionContext" | "workspaceFile" | "multipartArtifact" | "factorSearch";
5
+ export type RoutePath = string | ((args: Record<string, unknown>) => string);
5
6
  export interface ToolRoute {
6
7
  method: "POST";
7
- path: string;
8
+ path: RoutePath;
8
9
  bodyKind: BodyKind;
9
10
  }
10
11
  export declare const toolRoutes: Record<string, ToolRoute>;
11
12
  export declare function buildBody(route: ToolRoute, args: Record<string, unknown>): unknown;
13
+ export declare function resolveRoutePath(route: ToolRoute, args: Record<string, unknown>): string;
14
+ export declare function buildFactorSearchBody(args: Record<string, unknown>): {
15
+ sessionId: unknown;
16
+ messageId: unknown;
17
+ traceId: unknown;
18
+ taskId: unknown;
19
+ name: string;
20
+ lang: string;
21
+ sign: string;
22
+ };
12
23
  export declare function getSessionId(args: Record<string, unknown>): string;
package/dist/tools.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { createHash } from "node:crypto";
2
3
  import * as apipath from "./apipath.js";
3
4
  const sessionId = z
4
5
  .string()
@@ -48,6 +49,50 @@ const reportRegenerateInput = z.object({
48
49
  content: z.string().optional().describe("重新生成报告的要求,例如补充排放源清单、生命周期阶段占比、材料占比、图表、结论或调整报告内容。"),
49
50
  message: z.string().optional().describe("Supplemental report regeneration instruction from the user or Agent."),
50
51
  });
52
+ const workspaceContext = z
53
+ .record(z.string(), z.unknown())
54
+ .optional()
55
+ .describe("Optional workspace context. Use only when the server-side Agent provides extra sandbox context.");
56
+ const workspaceRunId = z.string().optional().describe("Agent runtime run id for sandbox workspace association.");
57
+ const factorSchema = z.object({
58
+ sourceType: z
59
+ .enum(["library", "custom"])
60
+ .optional()
61
+ .describe("Factor source type. Use library when factorId is selected from CCDB factor_search results; use custom only when the user or Agent provides a custom emission factor."),
62
+ factorId: longId.optional().describe("CCDB library factor id selected from factor_search results. Required when sourceType=library. If factor_search returns a row field named id, pass that id here as factorId."),
63
+ name: z.string().optional().describe("Custom factor name. Required when sourceType=custom."),
64
+ factor: z.string().optional().describe("Custom emission factor value. Required when sourceType=custom."),
65
+ unit: z.string().optional().describe("Custom factor unit, for example kgCO2e/kg. Required when sourceType=custom."),
66
+ institution: z.string().optional().describe("Custom factor source or institution. Required when sourceType=custom."),
67
+ year: z.string().optional().describe("Custom factor year. Required when sourceType=custom."),
68
+ factorPattern: z.string().optional().describe("Custom factor type code. Use 1 for normal factor, 2 for Ecoinvent factor when applicable. Omit if unknown."),
69
+ reason: z.string().optional().describe("Why the Agent selected this factor."),
70
+ evidence: z.string().optional().describe("External source, note, or evidence URL for the selected factor."),
71
+ });
72
+ const transportSchema = z.object({
73
+ name: z.string().optional().describe("Transport segment name."),
74
+ transportType: z.string().optional().describe("Transport mode code. Use backend enum codes: 1=道路运输, 2=铁路运输, 3=航空运输, 4=水路运输."),
75
+ way: z.string().optional().describe("Transport calculation method code. Use backend enum codes: 1=按里程-产品重量, 2=按里程-载重比, 3=按能耗."),
76
+ amount: z.string().optional().describe("Transport activity amount. Defaults to the parent emission source amount if omitted."),
77
+ unitName: z.string().optional().describe("Transport activity mass unit. Must be selected from unit_list.factorUnitM[].dictLabel whose sourceName is a mass category, for example kg, g, or t. Do not use energy, volume, item, or distance units here."),
78
+ rate: z.string().optional().describe("Optional unit conversion ratio from the transport activity mass unit plus kilometer to the selected transport factor denominator unit. Use a confirmed conversion ratio; omit when uncertain so the backend can infer or validate it."),
79
+ distance: z.string().optional().describe("Transport distance."),
80
+ distUnitName: z.string().optional().describe("Transport distance unit. Use kilometer only. Defaults to 公里 if omitted."),
81
+ factor: factorSchema.optional().describe("Transport factor. Required when the transport segment should use a specific factor."),
82
+ remark: z.string().optional().describe("Transport remark."),
83
+ });
84
+ const emissionSourceSchema = z.object({
85
+ clientSourceId: z.string().optional().describe("Agent-side temporary emission source id for troubleshooting and idempotency diagnostics."),
86
+ name: z.string().min(1).describe("Emission source name, such as plastic, electricity, packaging, or transport."),
87
+ stage: z.string().min(1).describe("Lifecycle stage dictionary value. Prefer these values: MATERIAL=原材料获取, PRODUCT=生产制造, DISTRIBUTION=分销和储存/运输, USE=产品使用, WASTE_DISPOSAL=废弃处置. Backend lifecycle codes are also accepted: 0=原材料获取, 1=生产制造, 2=分销和储存, 3=产品使用, 4=废弃处置."),
88
+ type: z.string().min(1).describe("Emission source type code. Use backend dictionary codes: 1=主料, 2=辅料, 3=包装材料, 4=再生材料, 5=能耗, 6=水耗, 7=运输, 21=废气, 22=废水, 23=固体废弃物, 24=可再生废料, 41=其他."),
89
+ amount: z.string().min(1).describe("Activity data amount."),
90
+ unitName: z.string().min(1).describe("Activity data unit name. Must be selected from unit_list.factorUnitM[].dictLabel. Emission sources can use the full unit dictionary, for example g, kg, t, kWh, m3, piece, or other standard units returned by unit_list."),
91
+ rate: z.string().optional().describe("Optional unit conversion ratio from activity data unitName to the selected factor denominator unit. Use a confirmed conversion ratio; omit when uncertain so the backend can infer or validate it."),
92
+ factor: factorSchema.describe("Selected factor. For a CCDB factor, pass sourceType=library and factorId. For a custom factor, pass sourceType=custom plus name/factor/unit/institution/year."),
93
+ transport: z.array(transportSchema).optional().describe("Transport segments under this emission source. Required for transport emission sources."),
94
+ remark: z.string().optional().describe("Emission source remark."),
95
+ });
51
96
  export const schemas = {
52
97
  modeling_execute: z.object({
53
98
  sessionId,
@@ -73,6 +118,22 @@ export const schemas = {
73
118
  sessionId,
74
119
  accountId: longId.describe("Product carbon account id"),
75
120
  }),
121
+ modeling_execute_structured: z.object({
122
+ sessionId,
123
+ ...skillTraceFields,
124
+ idempotencyKey,
125
+ productName: z.string().min(1).describe("Product name for the new structured carbon model."),
126
+ productDesc: z.string().optional().describe("Product description."),
127
+ productCategoryName: z.string().optional().describe("Product category name."),
128
+ accountName: z.string().optional().describe("Carbon account name. If omitted, the backend generates one from amount, unitName, and productName."),
129
+ amount: z.string().optional().describe("Functional unit amount. Defaults to 1 if omitted."),
130
+ unitName: z.string().min(1).describe("Functional unit name. Must be selected from unit_list.factorUnitM[].dictLabel, for example piece, kg, bottle, set, 个, 千克, or other returned unit names."),
131
+ scope: z.union([z.number(), z.string().regex(/^\d+$/, "Expected a numeric scope string")]).optional().describe("生命周期范围代码:0=半生命周期,1=全生命周期,2=自定义生命周期。"),
132
+ scopeValue: z.string().optional().describe("自定义生命周期阶段,逗号分隔:0=原材料获取,1=生产制造,2=分销和储存,3=产品使用,4=废弃处置。scope=2 时必填。"),
133
+ startDate: z.string().optional().describe("Accounting period start date, format yyyy-MM-dd. Defaults to current year January 1."),
134
+ endDate: z.string().optional().describe("Accounting period end date, format yyyy-MM-dd. Defaults to current year December 31."),
135
+ emissionSources: z.array(emissionSourceSchema).min(1).describe("Structured emission source list extracted by the Agent. At least one source is required."),
136
+ }),
76
137
  report_generate: z.object({
77
138
  sessionId,
78
139
  ...skillTraceFields,
@@ -91,15 +152,54 @@ export const schemas = {
91
152
  sessionId,
92
153
  reportId: longId.describe("Report id"),
93
154
  }),
155
+ factor_search: z.object({
156
+ sessionId,
157
+ ...skillTraceFields,
158
+ name: z.string().min(1).describe("Single CCDB factor search keyword. The backend accepts one keyword per call. For better matching, call factor_search repeatedly with Chinese keywords, English keywords, material synonyms, process names, and product category terms."),
159
+ lang: z.string().optional().describe("Result language. Use zh by default, or en for English results."),
160
+ }),
161
+ unit_list: z.object({
162
+ sessionId: sessionId.describe("Agent session id. Use this tool before modeling_execute_structured to get valid unit dictionary values. The response field factorUnitM[].dictLabel is the value to pass as unitName; factorUnitM[].sourceName is the unit category."),
163
+ }),
164
+ workspace_authorize_file: z.object({
165
+ sessionId,
166
+ fileId: z.string().min(1).describe("Workspace file id to authorize for the current Agent sandbox context."),
167
+ messageId: skillTraceFields.messageId,
168
+ runId: workspaceRunId,
169
+ context: workspaceContext,
170
+ }),
171
+ workspace_file_download_url: z.object({
172
+ sessionId,
173
+ fileId: z.string().min(1).describe("Workspace file id whose temporary download URL should be returned."),
174
+ messageId: skillTraceFields.messageId,
175
+ runId: workspaceRunId,
176
+ context: workspaceContext,
177
+ }),
178
+ workspace_upload_artifact: z.object({
179
+ sessionId,
180
+ filePath: z.string().min(1).describe("Local sandbox file path on the MCP runtime to upload as an Agent artifact."),
181
+ sourcePath: z.string().optional().describe("Original sandbox source path to store with the artifact."),
182
+ filename: z.string().optional().describe("File name to store. Defaults to the basename of filePath."),
183
+ mime: z.string().optional().describe("MIME type. Defaults to application/octet-stream."),
184
+ sha256: z.string().optional().describe("Optional SHA-256 checksum supplied by the sandbox runtime."),
185
+ messageId: skillTraceFields.messageId,
186
+ runId: workspaceRunId,
187
+ }),
94
188
  };
95
189
  export const descriptions = {
96
190
  modeling_execute: "Create a new product carbon model from input.content. Use this only when the user wants a new model and no existing account should be reused. Calls /modeling/execute. Requires idempotencyKey and input.content.",
97
191
  modeling_re_modeling: "Re-model an existing product carbon account from updated context. Use this when the user wants to redo or recalculate the whole model for an existing account. Calls /modeling/reModeling. Requires accountId and idempotencyKey.",
98
192
  modeling_update: "Supplement emission sources on an existing product carbon account. Use this when the user wants to add or adjust materials, energy, packaging, transport, or other emission sources without recreating the whole model. Calls /modeling/update. Requires accountId, idempotencyKey, and input.content.",
99
193
  modeling_detail: "Get product carbon model details for an account.",
194
+ modeling_execute_structured: "Create a new product carbon model from Agent-extracted structured data. Use this only after the Agent has a complete product name, functional unit, emission source list, and selected factors. Calls /modeling/executeStructured. Requires idempotencyKey, productName, unitName, and emissionSources.",
100
195
  report_generate: "为已有产品碳足迹账户生成新的报告。仅当用户明确要求生成报告、报告文件,或明确要求将排放源清单、生命周期阶段占比、材料占比、图表、结论、分析等内容整理进报告时调用本工具。不要用于普通查询、口头分析、查看清单或查看占比。需要 accountId 和 idempotencyKey;用户对报告内容的自然语言要求放入 input.content。",
101
196
  report_regenerate: "重新生成已有产品碳足迹报告。仅当用户明确要求重新生成报告、更新报告文件,或明确要求将排放源清单、生命周期阶段占比、材料占比、图表、结论、分析等内容补充进已有报告时调用本工具。不要用于普通查询、口头分析、查看清单或查看占比。需要 reportId 和 idempotencyKey;用户对重新生成报告的自然语言要求放入 input.content。",
102
197
  report_detail: "Get product carbon report detail and latest report URL.",
198
+ factor_search: "Search CCDB emission factors before selecting factorId for structured modeling. The backend accepts one keyword per call. For better matching, call this tool multiple times with Chinese keywords, English keywords, material synonyms, process names, and product category terms, then compare returned rows. When a returned row has id, use that id as modeling_execute_structured factor.factorId. The MCP server signs requests for /queryFactorListAgent.",
199
+ unit_list: "Get the Agent unit dictionary before structured modeling. Call this before modeling_execute_structured. The backend returns factorUnitM items: dictLabel=unitName to pass into modeling, dictValue=unit code, id=unit dictionary id, sourceName=unit category. For normal emission sources, choose from the full dictionary. For transport unitName, choose only mass units by sourceName; transport distance is kilometer.",
200
+ workspace_authorize_file: "Authorize a workspace file for the current Agent sandbox session. Use this before reading or using a user-uploaded workspace file.",
201
+ workspace_file_download_url: "Get a temporary download URL for an authorized workspace file.",
202
+ workspace_upload_artifact: "Upload a local sandbox artifact file and return an artifact id. Use this when the Agent creates files in the sandbox that must be saved back to Carbonstop.",
103
203
  };
104
204
  export const toolRoutes = {
105
205
  modeling_execute: {
@@ -122,6 +222,11 @@ export const toolRoutes = {
122
222
  path: apipath.ModelingDetail(),
123
223
  bodyKind: "agentSkill",
124
224
  },
225
+ modeling_execute_structured: {
226
+ method: "POST",
227
+ path: apipath.ModelingExecuteStructured(),
228
+ bodyKind: "agentSkill",
229
+ },
125
230
  report_generate: {
126
231
  method: "POST",
127
232
  path: apipath.ReportGenerate(),
@@ -137,13 +242,83 @@ export const toolRoutes = {
137
242
  path: apipath.ReportDetail(),
138
243
  bodyKind: "agentSkill",
139
244
  },
245
+ factor_search: {
246
+ method: "POST",
247
+ path: apipath.QueryFactorListAgent(),
248
+ bodyKind: "factorSearch",
249
+ },
250
+ unit_list: {
251
+ method: "POST",
252
+ path: apipath.QueryUnitListAgent(),
253
+ bodyKind: "agentSkill",
254
+ },
255
+ workspace_authorize_file: {
256
+ method: "POST",
257
+ path: (args) => apipath.WorkspaceAuthorizeFile(String(args.fileId || "")),
258
+ bodyKind: "workspaceFile",
259
+ },
260
+ workspace_file_download_url: {
261
+ method: "POST",
262
+ path: (args) => apipath.WorkspaceFileDownloadUrl(String(args.fileId || "")),
263
+ bodyKind: "workspaceFile",
264
+ },
265
+ workspace_upload_artifact: {
266
+ method: "POST",
267
+ path: apipath.WorkspaceUploadArtifact(),
268
+ bodyKind: "multipartArtifact",
269
+ },
140
270
  };
141
271
  export function buildBody(route, args) {
142
272
  if (route.bodyKind === "sessionContext") {
143
273
  return { sessionId: args.sessionId };
144
274
  }
275
+ if (route.bodyKind === "workspaceFile") {
276
+ return pickDefined({
277
+ sessionId: args.sessionId,
278
+ messageId: args.messageId,
279
+ runId: args.runId,
280
+ context: args.context,
281
+ });
282
+ }
283
+ if (route.bodyKind === "multipartArtifact") {
284
+ return normalizeIds(pickDefined({
285
+ filePath: args.filePath,
286
+ sourcePath: args.sourcePath,
287
+ filename: args.filename,
288
+ mime: args.mime,
289
+ sha256: args.sha256,
290
+ sessionId: args.sessionId,
291
+ messageId: args.messageId,
292
+ runId: args.runId,
293
+ }));
294
+ }
145
295
  return normalizeIds(args);
146
296
  }
297
+ export function resolveRoutePath(route, args) {
298
+ return typeof route.path === "function" ? route.path(args) : route.path;
299
+ }
300
+ export function buildFactorSearchBody(args) {
301
+ const name = typeof args.name === "string" ? args.name.trim() : "";
302
+ const lang = typeof args.lang === "string" && args.lang.trim() ? args.lang.trim() : "zh";
303
+ return {
304
+ sessionId: args.sessionId,
305
+ messageId: args.messageId,
306
+ traceId: args.traceId,
307
+ taskId: args.taskId,
308
+ name,
309
+ lang,
310
+ sign: createHash("md5").update(`agent_ccdb${name}`).digest("hex"),
311
+ };
312
+ }
313
+ function pickDefined(values) {
314
+ const result = {};
315
+ for (const [key, value] of Object.entries(values)) {
316
+ if (value !== undefined && value !== null) {
317
+ result[key] = value;
318
+ }
319
+ }
320
+ return result;
321
+ }
147
322
  function normalizeIds(value) {
148
323
  if (Array.isArray(value)) {
149
324
  return value.map(normalizeIds);
@@ -166,7 +341,7 @@ function normalizeIds(value) {
166
341
  return normalized;
167
342
  }
168
343
  function isIdField(key) {
169
- return key === "projectId" || key === "accountId" || key === "modelId" || key === "reportId";
344
+ return key === "projectId" || key === "accountId" || key === "modelId" || key === "reportId" || key === "factorId";
170
345
  }
171
346
  function normalizeNumericId(value) {
172
347
  const numericValue = Number(value);
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carbonstopper/agent-mcp",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "MCP server for Carbonstop Agent internal skill APIs",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",