anbaric-impl-cloud 1.56.9 → 1.58.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.
@@ -3,8 +3,9 @@ declare class CloudJobPersistence extends JobPersistence implements AppAware {
3
3
  private client;
4
4
  constructor(baseUrl?: string, auditor?: Auditor);
5
5
  getAppId(): string;
6
- protected saveInternal(job: Job): Promise<void>;
7
- protected retrieveInternal(id: string): Promise<Job>;
6
+ protected saveInternal(job: Job, properties?: Map<string, any>): Promise<void>;
7
+ protected retrieveInternal(id: string, keys?: Array<string>): Promise<Job>;
8
+ private jobPath;
8
9
  protected deleteInternal(id: string): Promise<void>;
9
10
  protected listInternal(pageSize?: number, page?: number, query?: JobPersistence.Query): Promise<Array<Job>>;
10
11
  protected killInternal(id: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"CloudJobPersistence.d.ts","sourceRoot":"","sources":["../src/CloudJobPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAgB,GAAG,EAAE,cAAc,EAA2D,MAAM,eAAe,CAAC;AAG7I,cAAM,mBAAoB,SAAQ,cAAe,YAAW,QAAQ;IAEhE,OAAO,CAAC,MAAM,CAAkB;IAEhC,YAAY,OAAO,GAAG,MAAwC,EAAE,OAAO,GAAG,OAA2B,EAGpG;IAED,QAAQ,IAAK,MAAM,CAElB;IAED,UAAgB,YAAY,CAAC,GAAG,EAAG,GAAG,GAAI,OAAO,CAAC,IAAI,CAAC,CAEtD;IAED,UAAgB,gBAAgB,CAAC,EAAE,EAAG,MAAM,GAAI,OAAO,CAAC,GAAG,CAAC,CAG3D;IAED,UAAgB,cAAc,CAAC,EAAE,EAAG,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC,CAE1D;IAED,UAAgB,YAAY,CAAC,QAAQ,GAAG,MAAY,EAAE,IAAI,GAAG,MAAU,EAAE,KAAK,GAAG,cAAc,CAAC,KAAU,GAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAOhI;IAED,UAAgB,YAAY,CAAC,EAAE,EAAG,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC,CAExD;IAED,UAAgB,qBAAqB,CAAC,iBAAiB,EAAG,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,CAGhF;IAED,UAAgB,oBAAoB,IAAK,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGjF;CAEJ;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"CloudJobPersistence.d.ts","sourceRoot":"","sources":["../src/CloudJobPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAgB,GAAG,EAAE,cAAc,EAA0E,MAAM,eAAe,CAAC;AAG5J,cAAM,mBAAoB,SAAQ,cAAe,YAAW,QAAQ;IAEhE,OAAO,CAAC,MAAM,CAAkB;IAEhC,YAAY,OAAO,GAAG,MAAwC,EAAE,OAAO,GAAG,OAA2B,EAGpG;IAED,QAAQ,IAAK,MAAM,CAElB;IAID,UAAgB,YAAY,CAAC,GAAG,EAAG,GAAG,EAAE,UAAU,CAAC,EAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAI,OAAO,CAAC,IAAI,CAAC,CAGtF;IAID,UAAgB,gBAAgB,CAAC,EAAE,EAAG,MAAM,EAAE,IAAI,CAAC,EAAG,KAAK,CAAC,MAAM,CAAC,GAAI,OAAO,CAAC,GAAG,CAAC,CAYlF;IAED,OAAO,CAAC,OAAO;IAKf,UAAgB,cAAc,CAAC,EAAE,EAAG,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC,CAE1D;IAED,UAAgB,YAAY,CAAC,QAAQ,GAAG,MAAY,EAAE,IAAI,GAAG,MAAU,EAAE,KAAK,GAAG,cAAc,CAAC,KAAU,GAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAOhI;IAED,UAAgB,YAAY,CAAC,EAAE,EAAG,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC,CAExD;IAED,UAAgB,qBAAqB,CAAC,iBAAiB,EAAG,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,CAGhF;IAED,UAAgB,oBAAoB,IAAK,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGjF;CAEJ;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
- import { currentAppId, JobPersistence, NoOpAuditor, deserializeJob, serializeJob } from "anbaric-tsapi";
1
+ import { currentAppId, Job, JobPersistence, JobProperties, NoOpAuditor, deserializeJob, serializeJob } from "anbaric-tsapi";
2
2
  import { CloudApiClient } from "./CloudApiClient.js";
3
3
  class CloudJobPersistence extends JobPersistence {
4
4
  client;
@@ -9,12 +9,28 @@ class CloudJobPersistence extends JobPersistence {
9
9
  getAppId() {
10
10
  return currentAppId();
11
11
  }
12
- async saveInternal(job) {
13
- await this.client.request("PUT", `/jobs/${encodeURIComponent(job.id)}`, serializeJob(job));
14
- }
15
- async retrieveInternal(id) {
16
- const serialized = await this.client.request("GET", `/jobs/${encodeURIComponent(id)}`);
17
- return deserializeJob(serialized);
12
+ // The properties in the body are the ones to write: the platform upserts
13
+ // them and leaves the rest of the job's properties as they are.
14
+ async saveInternal(job, properties) {
15
+ const serialized = { ...serializeJob(job), properties: Object.fromEntries(properties ?? []) };
16
+ await this.client.request("PUT", `/jobs/${encodeURIComponent(job.id)}`, serialized);
17
+ }
18
+ /* A job read with `keys` holds those and fetches any other property the
19
+ moment a step asks for it; a job read whole holds everything. */
20
+ async retrieveInternal(id, keys) {
21
+ const serialized = await this.client.request("GET", this.jobPath(id, keys));
22
+ const whole = deserializeJob(serialized);
23
+ if (!keys)
24
+ return whole;
25
+ const loader = async (wanted) => {
26
+ const more = await this.client.request("GET", this.jobPath(id, wanted));
27
+ return new Map(Object.entries(more.properties));
28
+ };
29
+ return new Job(whole.id, new JobProperties(whole.properties.snapshot(), loader, false), whole.state, whole.workflowId, whole.appId, whole.startedBy, whole.startedAt, whole.lastUpdated, whole.killed, whole.status, whole.awaitMetadata, whole.waitingFor);
30
+ }
31
+ jobPath(id, keys) {
32
+ const query = keys ? `?keys=${encodeURIComponent(keys.join(","))}` : "";
33
+ return `/jobs/${encodeURIComponent(id)}${query}`;
18
34
  }
19
35
  async deleteInternal(id) {
20
36
  await this.client.request("DELETE", `/jobs/${encodeURIComponent(id)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"CloudJobPersistence.js","sourceRoot":"","sources":["../src/CloudJobPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAO,cAAc,EAAE,WAAW,EAAiB,cAAc,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC7I,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD,MAAM,mBAAoB,SAAQ,cAAc;IAEpC,MAAM,CAAkB;IAEhC,YAAY,OAAO,GAAY,cAAc,CAAC,cAAc,EAAE,EAAE,OAAO,GAAa,IAAI,WAAW,EAAE;QACjG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ;QACJ,OAAO,YAAY,EAAE,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,GAAS;QAClC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,EAAW;QACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAkB,CAAC;QACxG,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,EAAW;QACtC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,QAAQ,GAAY,GAAG,EAAE,IAAI,GAAY,CAAC,EAAE,KAAK,GAA0B,EAAE;QACtG,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3F,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAyB,CAAC;QACnG,OAAO,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,EAAW;QACpC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,iBAAwB;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChH,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAES,KAAK,CAAC,oBAAoB;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;CAEJ;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"CloudJobPersistence.js","sourceRoot":"","sources":["../src/CloudJobPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAiB,cAAc,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC5J,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD,MAAM,mBAAoB,SAAQ,cAAc;IAEpC,MAAM,CAAkB;IAEhC,YAAY,OAAO,GAAY,cAAc,CAAC,cAAc,EAAE,EAAE,OAAO,GAAa,IAAI,WAAW,EAAE;QACjG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ;QACJ,OAAO,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,yEAAyE;IACzE,gEAAgE;IACtD,KAAK,CAAC,YAAY,CAAC,GAAS,EAAE,UAA8B;QAClE,MAAM,UAAU,GAAG,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACxF,CAAC;IAED;uEACmE;IACzD,KAAK,CAAC,gBAAgB,CAAC,EAAW,EAAE,IAAqB;QAC/D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAkB,CAAC;QAC7F,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAE,IAAI;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,MAAM,GAAG,KAAK,EAAE,MAAuB,EAAE,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAkB,CAAC;YACzF,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAC/F,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAChG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAEO,OAAO,CAAC,EAAW,EAAE,IAAqB;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,SAAS,kBAAkB,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC;IACrD,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,EAAW;QACtC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,QAAQ,GAAY,GAAG,EAAE,IAAI,GAAY,CAAC,EAAE,KAAK,GAA0B,EAAE;QACtG,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3F,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAyB,CAAC;QACnG,OAAO,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,EAAW;QACpC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,iBAAwB;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChH,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAES,KAAK,CAAC,oBAAoB;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;CAEJ;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anbaric-impl-cloud",
3
- "version": "1.56.9",
3
+ "version": "1.58.0",
4
4
  "description": "Public client library for the Anbaric Cloud hosting API, providing JobPersistence and Queue implementations backed by the cloud service",
5
5
  "license": "MIT",
6
6
  "author": "chris@anbaric.ai",
@@ -20,7 +20,7 @@
20
20
  "prepublishOnly": "npm run build"
21
21
  },
22
22
  "dependencies": {
23
- "anbaric-tsapi": "^1.56.9"
23
+ "anbaric-tsapi": "^1.58.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/node": "^26.2.0",