anbaric-state-machine 1.56.5 → 1.56.7

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":"AnthropicAgent.d.ts","sourceRoot":"","sources":["../../../src/actors/agents/AnthropicAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAgB,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhE,KAAK,OAAO,GAAG,CAAC,GAAG,EAAG,MAAM,EAAE,IAAI,EAAG,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvE,KAAK,mBAAmB,GAAG;IACvB,MAAM,EAAG,MAAM,CAAC;IAChB,KAAK,EAAG,MAAM,CAAC;IACf,OAAO,CAAC,EAAG,MAAM,CAAC;IAClB,OAAO,CAAC,EAAG,MAAM,CAAC;IAClB,SAAS,CAAC,EAAG,MAAM,CAAC;CACvB,CAAC;AAWF,cAAM,eAAgB,SAAQ,KAAK,CAAC,MAAM;IAI1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,OAAO,CAAU;IAEzB,YAAoB,UAAU,EAAG,mBAAmB,EAChC,OAAO,GAAG,OAAyC,EAGtE;IAEK,QAAQ,CAAC,OAAO,EAAG,YAAY,GAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAoCpE;IAKD,OAAO,CAAC,YAAY;CAMvB;AAGD,cAAM,cAAe,SAAQ,KAAK;IAE9B,YAAY,EAAE,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,UAAU,EAAG,mBAAmB,EAC5D,OAAO,GAAG,OAAyC,EAE9D;CAEJ;AAED,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA;AAC1C,YAAY,EAAE,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"AnthropicAgent.d.ts","sourceRoot":"","sources":["../../../src/actors/agents/AnthropicAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAgB,YAAY,EAAC,MAAM,eAAe,CAAC;AAGhE,KAAK,OAAO,GAAG,CAAC,GAAG,EAAG,MAAM,EAAE,IAAI,EAAG,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvE,KAAK,mBAAmB,GAAG;IACvB,MAAM,EAAG,MAAM,CAAC;IAChB,KAAK,EAAG,MAAM,CAAC;IACf,OAAO,CAAC,EAAG,MAAM,CAAC;IAClB,OAAO,CAAC,EAAG,MAAM,CAAC;IAClB,SAAS,CAAC,EAAG,MAAM,CAAC;CACvB,CAAC;AAYF,cAAM,eAAgB,SAAQ,KAAK,CAAC,MAAM;IAI1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,OAAO,CAAU;IAEzB,YAAoB,UAAU,EAAG,mBAAmB,EAChC,OAAO,GAAG,OAAyC,EAGtE;IAEK,QAAQ,CAAC,OAAO,EAAG,YAAY,GAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAuCpE;IAKD,OAAO,CAAC,YAAY;CAMvB;AAGD,cAAM,cAAe,SAAQ,KAAK;IAE9B,YAAY,EAAE,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,UAAU,EAAG,mBAAmB,EAC5D,OAAO,GAAG,OAAyC,EAE9D;CAEJ;AAED,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA;AAC1C,YAAY,EAAE,mBAAmB,EAAE,CAAA"}
@@ -1,12 +1,14 @@
1
1
  import { Agent } from "anbaric-tsapi";
2
- const TOOL_NAME = "properties";
2
+ import { strictSchema } from "./strictSchema.js";
3
3
  const DEFAULT_VERSION = "2023-06-01";
4
4
  const DEFAULT_MAX_TOKENS = 4096;
5
- /* The functional half of an Anthropic agent. Two things differ from the
6
- OpenAI-compatible shape: the system prompt is its own field rather than a
7
- message, and there is no JSON-schema response format - so the request's
8
- schema is offered as a single tool the model is forced to call, and the
9
- arguments it calls it with are the structured output. */
5
+ /* The functional half of an Anthropic agent. It asks for the request's schema
6
+ through the Messages API's structured output (output_config.format), which
7
+ every current model supports; forcing a tool call, the older way to get
8
+ JSON out, is rejected by Claude Opus 5.5 and later. The system prompt is its
9
+ own field rather than a message, and the reply is read from the content
10
+ block typed "text" - thinking blocks come first on the newer models, so
11
+ position means nothing. */
10
12
  class AnthropicClient extends Agent.Client {
11
13
  connection;
12
14
  fetchFn;
@@ -32,12 +34,7 @@ class AnthropicClient extends Agent.Client {
32
34
  max_tokens: this.connection.maxTokens ?? DEFAULT_MAX_TOKENS,
33
35
  ...(system ? { system } : {}),
34
36
  messages: this.conversation(request.messages),
35
- tools: [{
36
- name: TOOL_NAME,
37
- description: "Return the properties to write to the job.",
38
- input_schema: request.outputSchema,
39
- }],
40
- tool_choice: { type: "tool", name: TOOL_NAME },
37
+ output_config: { format: { type: "json_schema", schema: strictSchema(request.outputSchema) } },
41
38
  }),
42
39
  });
43
40
  if (!response.ok) {
@@ -45,11 +42,20 @@ class AnthropicClient extends Agent.Client {
45
42
  throw new Error(`The Anthropic request failed with status ${response.status}${problem.error?.message ? `: ${problem.error.message}` : ""}`);
46
43
  }
47
44
  const body = await response.json();
48
- const called = body.content?.find(block => block.type === "tool_use" && block.name === TOOL_NAME);
49
- if (!called || typeof called.input !== "object" || called.input === null) {
45
+ const text = body.content?.find(block => block.type === "text" && typeof block.text === "string")?.text;
46
+ if (text === undefined)
50
47
  throw new Error("The Anthropic response carried no structured content");
48
+ let properties;
49
+ try {
50
+ properties = JSON.parse(text);
51
51
  }
52
- return called.input;
52
+ catch {
53
+ throw new Error("The Anthropic response was not the JSON it was asked for");
54
+ }
55
+ if (typeof properties !== "object" || properties === null || Array.isArray(properties)) {
56
+ throw new Error("The Anthropic response carried no structured content");
57
+ }
58
+ return properties;
53
59
  }
54
60
  // The conversation Anthropic sees: system messages are lifted out, and the
55
61
  // turns must start with the user, so a conversation opening on an assistant
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicAgent.js","sourceRoot":"","sources":["../../../src/actors/agents/AnthropicAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnthropicAgent.js","sourceRoot":"","sources":["../../../src/actors/agents/AnthropicAgent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIAgent.d.ts","sourceRoot":"","sources":["../../../src/actors/agents/OpenAIAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAElD,KAAK,OAAO,GAAG,CAAC,GAAG,EAAG,MAAM,EAAE,IAAI,EAAG,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvE,KAAK,gBAAgB,GAAG;IACpB,MAAM,EAAG,MAAM,CAAC;IAChB,KAAK,EAAG,MAAM,CAAC;IACf,OAAO,CAAC,EAAG,MAAM,CAAC;IAClB,YAAY,CAAC,EAAG,MAAM,CAAC;CAC1B,CAAC;AAqBF,cAAM,YAAa,SAAQ,KAAK,CAAC,MAAM;IAIvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,OAAO,CAAU;IAEzB,YAAoB,UAAU,EAAG,gBAAgB,EAC7B,OAAO,GAAG,OAAyC,EAGtE;IAEK,QAAQ,CAAC,OAAO,EAAG,YAAY,GAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CA2BpE;CAEJ;AAGD,cAAM,WAAY,SAAQ,KAAK;IAE3B,YAAY,EAAE,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,UAAU,EAAG,gBAAgB,EACzD,OAAO,GAAG,OAAyC,EAE9D;CAEJ;AAED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAA;AACpC,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"OpenAIAgent.d.ts","sourceRoot":"","sources":["../../../src/actors/agents/OpenAIAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAGlD,KAAK,OAAO,GAAG,CAAC,GAAG,EAAG,MAAM,EAAE,IAAI,EAAG,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvE,KAAK,gBAAgB,GAAG;IACpB,MAAM,EAAG,MAAM,CAAC;IAChB,KAAK,EAAG,MAAM,CAAC;IACf,OAAO,CAAC,EAAG,MAAM,CAAC;IAClB,YAAY,CAAC,EAAG,MAAM,CAAC;CAC1B,CAAC;AAKF,cAAM,YAAa,SAAQ,KAAK,CAAC,MAAM;IAIvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,OAAO,CAAU;IAEzB,YAAoB,UAAU,EAAG,gBAAgB,EAC7B,OAAO,GAAG,OAAyC,EAGtE;IAEK,QAAQ,CAAC,OAAO,EAAG,YAAY,GAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CA2BpE;CAEJ;AAGD,cAAM,WAAY,SAAQ,KAAK;IAE3B,YAAY,EAAE,EAAG,MAAM,EAAE,IAAI,EAAG,MAAM,EAAE,UAAU,EAAG,gBAAgB,EACzD,OAAO,GAAG,OAAyC,EAE9D;CAEJ;AAED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAA;AACpC,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
@@ -1,18 +1,5 @@
1
1
  import { Agent } from "anbaric-tsapi";
2
- const strictSchema = (schema) => {
3
- if (schema?.type === "object" && schema.properties) {
4
- return {
5
- ...schema,
6
- required: Object.keys(schema.properties),
7
- additionalProperties: false,
8
- properties: Object.fromEntries(Object.entries(schema.properties).map(([key, property]) => [key, strictSchema(property)])),
9
- };
10
- }
11
- if (schema?.type === "array" && schema.items) {
12
- return { ...schema, items: strictSchema(schema.items) };
13
- }
14
- return schema;
15
- };
2
+ import { strictSchema } from "./strictSchema.js";
16
3
  /* The functional half of an OpenAI agent: asks an OpenAI-compatible chat
17
4
  completions endpoint for JSON conforming to the request's schema via
18
5
  structured outputs. */
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIAgent.js","sourceRoot":"","sources":["../../../src/actors/agents/OpenAIAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAIAgent.js","sourceRoot":"","sources":["../../../src/actors/agents/OpenAIAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAe,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAW/C;;yBAEyB;AACzB,MAAM,YAAa,SAAQ,KAAK,CAAC,MAAM;IAIf,UAAU;IACV,OAAO;IAHnB,OAAO,CAAU;IAEzB,YAAoB,UAA6B,EAC7B,OAAO,GAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;QACnE,KAAK,EAAE,CAAC;0BAFQ,UAAU;uBACV,OAAO;QAEvB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,2BAA2B,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAsB;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBACnD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnG;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,eAAe,EAAE;oBACb,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;iBAChG;aACJ,CAAC;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAuC,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7I,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAgE,CAAC;QACjG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;QACpD,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CAEJ;AAED,6EAA6E;AAC7E,MAAM,WAAY,SAAQ,KAAK;IAE3B,YAAY,EAAW,EAAE,IAAa,EAAE,UAA6B,EACzD,OAAO,GAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;QAC3D,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;CAEJ;AAED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ declare const strictSchema: (schema: any) => any;
2
+ export { strictSchema };
3
+ //# sourceMappingURL=strictSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strictSchema.d.ts","sourceRoot":"","sources":["../../../src/actors/agents/strictSchema.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY,WAAa,GAAG,KAAI,GAcrC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ /* The shape the structured-output APIs (OpenAI's strict mode, Anthropic's
2
+ json_schema format) insist on: every object closes itself to unknown keys
3
+ and names every property as required, all the way down. */
4
+ const strictSchema = (schema) => {
5
+ if (schema?.type === "object" && schema.properties) {
6
+ return {
7
+ ...schema,
8
+ required: Object.keys(schema.properties),
9
+ additionalProperties: false,
10
+ properties: Object.fromEntries(Object.entries(schema.properties).map(([key, property]) => [key, strictSchema(property)])),
11
+ };
12
+ }
13
+ if (schema?.type === "array" && schema.items) {
14
+ return { ...schema, items: strictSchema(schema.items) };
15
+ }
16
+ return schema;
17
+ };
18
+ export { strictSchema };
19
+ //# sourceMappingURL=strictSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strictSchema.js","sourceRoot":"","sources":["../../../src/actors/agents/strictSchema.ts"],"names":[],"mappings":"AAAA;;6DAE6D;AAC7D,MAAM,YAAY,GAAG,CAAC,MAAY,EAAQ,EAAE;IACxC,IAAI,MAAM,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACjD,OAAO;YACH,GAAG,MAAM;YACT,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACxC,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjG,CAAC;IACN,CAAC;IACD,IAAI,MAAM,EAAE,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3C,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -4,7 +4,13 @@ declare class InMemoryJobRunSchedulePersistence implements JobRunSchedulePersist
4
4
  highWaterMark(appId: string, workflowId: string): Promise<Date | undefined>;
5
5
  plan(runs: Array<ScheduledRun>): Promise<void>;
6
6
  claimDue(at: Date): Promise<Array<ScheduledRun>>;
7
+ superseded(): Array<{
8
+ run: ScheduledRun;
9
+ by: ScheduledRun;
10
+ }>;
7
11
  private alreadyPlanned;
12
+ private key;
13
+ private publicShape;
8
14
  }
9
15
  export { InMemoryJobRunSchedulePersistence };
10
16
  //# sourceMappingURL=InMemoryJobRunSchedulePersistence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryJobRunSchedulePersistence.d.ts","sourceRoot":"","sources":["../../src/scheduling/InMemoryJobRunSchedulePersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAItE,cAAM,iCAAkC,YAAW,yBAAyB;IAExE,OAAO,CAAC,IAAI,CAA0B;IAEhC,aAAa,CAAC,KAAK,EAAG,MAAM,EAAE,UAAU,EAAG,MAAM,GAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAKnF;IAEK,IAAI,CAAC,IAAI,EAAG,KAAK,CAAC,YAAY,CAAC,GAAI,OAAO,CAAC,IAAI,CAAC,CAKrD;IAEK,QAAQ,CAAC,EAAE,EAAG,IAAI,GAAI,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAIvD;IAED,OAAO,CAAC,cAAc;CAOzB;AAED,OAAO,EAAE,iCAAiC,EAAE,CAAC"}
1
+ {"version":3,"file":"InMemoryJobRunSchedulePersistence.d.ts","sourceRoot":"","sources":["../../src/scheduling/InMemoryJobRunSchedulePersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAItE,cAAM,iCAAkC,YAAW,yBAAyB;IAExE,OAAO,CAAC,IAAI,CAA0B;IAEhC,aAAa,CAAC,KAAK,EAAG,MAAM,EAAE,UAAU,EAAG,MAAM,GAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAKnF;IAEK,IAAI,CAAC,IAAI,EAAG,KAAK,CAAC,YAAY,CAAC,GAAI,OAAO,CAAC,IAAI,CAAC,CAKrD;IAEK,QAAQ,CAAC,EAAE,EAAG,IAAI,GAAI,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAkBvD;IAID,UAAU,IAAK,KAAK,CAAC;QAAE,GAAG,EAAG,YAAY,CAAC;QAAC,EAAE,EAAG,YAAY,CAAA;KAAE,CAAC,CAI9D;IAED,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,WAAW;CAItB;AAED,OAAO,EAAE,iCAAiC,EAAE,CAAC"}
@@ -14,16 +14,43 @@ class InMemoryJobRunSchedulePersistence {
14
14
  }
15
15
  }
16
16
  async claimDue(at) {
17
- const due = this.runs.filter(run => !run.claimed && run.runAt.getTime() <= at.getTime());
18
- for (const run of due)
19
- run.claimed = true;
20
- return due.map(({ appId, workflowId, runAt }) => ({ appId, workflowId, runAt }));
17
+ const due = this.runs.filter(run => !run.claimed && !run.supersededBy && run.runAt.getTime() <= at.getTime());
18
+ const latestPerMachine = new Map();
19
+ for (const run of due) {
20
+ const key = this.key(run);
21
+ const latest = latestPerMachine.get(key);
22
+ if (!latest || run.runAt.getTime() > latest.runAt.getTime())
23
+ latestPerMachine.set(key, run);
24
+ }
25
+ for (const run of due) {
26
+ const latest = latestPerMachine.get(this.key(run));
27
+ if (run === latest)
28
+ run.claimed = true;
29
+ else
30
+ run.supersededBy = this.publicShape(latest);
31
+ }
32
+ return [...latestPerMachine.values()]
33
+ .sort((left, right) => left.runAt.getTime() - right.runAt.getTime())
34
+ .map(run => this.publicShape(run));
35
+ }
36
+ // The runs that were passed over in favour of a later one, for anyone
37
+ // asking why a tick did not start a job.
38
+ superseded() {
39
+ return this.runs
40
+ .filter(run => run.supersededBy)
41
+ .map(run => ({ run: this.publicShape(run), by: run.supersededBy }));
21
42
  }
22
43
  alreadyPlanned(run) {
23
44
  return this.runs.some(planned => planned.appId === run.appId
24
45
  && planned.workflowId === run.workflowId
25
46
  && planned.runAt.getTime() === run.runAt.getTime());
26
47
  }
48
+ key(run) {
49
+ return JSON.stringify([run.appId, run.workflowId]);
50
+ }
51
+ publicShape({ appId, workflowId, runAt }) {
52
+ return { appId, workflowId, runAt };
53
+ }
27
54
  }
28
55
  export { InMemoryJobRunSchedulePersistence };
29
56
  //# sourceMappingURL=InMemoryJobRunSchedulePersistence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryJobRunSchedulePersistence.js","sourceRoot":"","sources":["../../src/scheduling/InMemoryJobRunSchedulePersistence.ts"],"names":[],"mappings":"AAIA,MAAM,iCAAiC;IAE3B,IAAI,GAAuB,EAAE,CAAC;IAEtC,KAAK,CAAC,aAAa,CAAC,KAAc,EAAE,UAAmB;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI;aAClB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,CAAC;aACnE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAA0B;QACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAAE,SAAS;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAS;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,KAAK,MAAM,GAAG,IAAI,GAAG;YAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IAEO,cAAc,CAAC,GAAkB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC5B,OAAO,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK;eACxB,OAAO,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU;eACrC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;CAEJ;AAED,OAAO,EAAE,iCAAiC,EAAE,CAAC"}
1
+ {"version":3,"file":"InMemoryJobRunSchedulePersistence.js","sourceRoot":"","sources":["../../src/scheduling/InMemoryJobRunSchedulePersistence.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anbaric-state-machine",
3
- "version": "1.56.5",
3
+ "version": "1.56.7",
4
4
  "description": "This is the state machine library that one can use to add state management to an application. It will, by default, be locally runnable but can deployed to the Anbaric Cloud via the CLI",
5
5
  "license": "MIT",
6
6
  "author": "chris@anbaric.ai",
@@ -24,8 +24,8 @@
24
24
  "typescript": "^7.0.2"
25
25
  },
26
26
  "dependencies": {
27
- "anbaric-impl-cloud": "^1.56.5",
28
- "anbaric-tsapi": "^1.56.5"
27
+ "anbaric-impl-cloud": "^1.56.7",
28
+ "anbaric-tsapi": "^1.56.7"
29
29
  },
30
30
  "files": [
31
31
  "dist"