@studio-foundation/api 0.19.0 → 0.20.1

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":"http-api-spawner.d.ts","sourceRoot":"","sources":["../../src/spawners/http-api-spawner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAe,MAAM,8BAA8B,CAAC;AAEtG,qBAAa,cAAe,YAAW,UAAU;IACnC,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,MAAM,CAAC;gBAA/B,MAAM,EAAE,MAAM,EAAU,MAAM,CAAC,EAAE,MAAM,YAAA;IAE3D,OAAO,CAAC,WAAW;IAIb,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IA0C7D,OAAO,CAAC,iBAAiB;CA4C1B"}
1
+ {"version":3,"file":"http-api-spawner.d.ts","sourceRoot":"","sources":["../../src/spawners/http-api-spawner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAe,MAAM,8BAA8B,CAAC;AAGtG,qBAAa,cAAe,YAAW,UAAU;IACnC,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,MAAM,CAAC;gBAA/B,MAAM,EAAE,MAAM,EAAU,MAAM,CAAC,EAAE,MAAM,YAAA;IAE3D,OAAO,CAAC,WAAW;IAIb,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAqD7D,OAAO,CAAC,iBAAiB;CA4C1B"}
@@ -1,3 +1,4 @@
1
+ import { ChildRunError, childRunErrorMessage, childStageUsage, sumTokenUsage } from '@studio-foundation/contracts';
1
2
  export class HttpApiSpawner {
2
3
  apiUrl;
3
4
  apiKey;
@@ -35,12 +36,16 @@ export class HttpApiSpawner {
35
36
  throw new Error(`Failed to fetch child run result ${run_id}: ${getRes.status}`);
36
37
  }
37
38
  const run = (await getRes.json());
39
+ // Built before the failure branch: a child that died still made billed calls.
40
+ const stages = childStageUsage(run.stages);
41
+ const token_usage = sumTokenUsage(run.stages.map(s => s.token_usage));
38
42
  if (run.status === 'failed' || run.status === 'rejected' || run.status === 'cancelled') {
39
- throw new Error(`Child run ${run_id} ${run.status}`);
43
+ const stageError = childRunErrorMessage(run.stages);
44
+ throw new ChildRunError(`Child run ${run_id} ${run.status}: ${stageError ?? 'no error recorded'}`, run_id, run.status, stages, token_usage);
40
45
  }
41
46
  const lastStage = [...run.stages].reverse().find(s => s.status === 'success');
42
47
  const output = lastStage?.output ?? null;
43
- return { run_id, status: run.status, output };
48
+ return { run_id, status: run.status, output, stages, ...(token_usage ? { token_usage } : {}) };
44
49
  }
45
50
  waitForCompletion(runId) {
46
51
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"http-api-spawner.js","sourceRoot":"","sources":["../../src/spawners/http-api-spawner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-api-spawner.js","sourceRoot":"","sources":["../../src/spawners/http-api-spawner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studio-foundation/api",
3
- "version": "0.19.0",
3
+ "version": "0.20.1",
4
4
  "description": "HTTP REST API server for Studio agent pipelines",
5
5
  "type": "module",
6
6
  "main": "./dist/api.js",
@@ -45,9 +45,9 @@
45
45
  "fastify": "^5.3.2",
46
46
  "js-yaml": "^4.1.1",
47
47
  "pg": "^8.19.0",
48
- "@studio-foundation/contracts": "0.19.0",
49
- "@studio-foundation/runner": "0.19.0",
50
- "@studio-foundation/engine": "0.19.0"
48
+ "@studio-foundation/contracts": "0.20.1",
49
+ "@studio-foundation/engine": "0.20.1",
50
+ "@studio-foundation/runner": "0.20.1"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/js-yaml": "^4.0.9",