@cat-factory/agents 0.18.5 → 0.20.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.
@@ -1 +1 @@
1
- {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/configs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAQ3E,yFAAyF;AACzF,eAAO,MAAM,4BAA4B,uBAAuB,CAAA;AAChE,6EAA6E;AAC7E,eAAO,MAAM,+BAA+B,yBAAyB,CAAA;AAqCrE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,qBAAqB,EAAE,CAI/E;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,qBAAqB,EAAE,CAQ7F"}
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/configs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAQ3E,yFAAyF;AACzF,eAAO,MAAM,4BAA4B,uBAAuB,CAAA;AAChE,6EAA6E;AAC7E,eAAO,MAAM,+BAA+B,yBAAyB,CAAA;AAuCrE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,qBAAqB,EAAE,CAI/E;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,qBAAqB,EAAE,CAQ7F"}
@@ -7,23 +7,24 @@ import { registeredConfigContributions } from './registry.js';
7
7
  export const TESTER_ENVIRONMENT_CONFIG_ID = 'tester.environment';
8
8
  /** The acceptance/e2e execution target: project CI, or the ephemeral env. */
9
9
  export const PLAYWRIGHT_E2E_TARGET_CONFIG_ID = 'playwright.e2eTarget';
10
- const BUILTIN_CONFIG_CONTRIBUTIONS = {
11
- tester: [
12
- {
13
- id: TESTER_ENVIRONMENT_CONFIG_ID,
14
- agentKind: 'tester',
15
- label: 'Test environment',
16
- description: "Where the Tester runs the suite: with the service's dependencies stood up locally via docker-compose, or against the provisioned ephemeral environment.",
17
- type: 'select',
18
- options: [
19
- { value: 'ephemeral', label: 'Ephemeral environment' },
20
- { value: 'local', label: 'Local (docker-compose infra)' },
21
- ],
22
- // Ephemeral is the zero-config default; local is an opt-in that requires the
23
- // service's test infra to be configured (a compose path or the no-infra flag).
24
- default: 'ephemeral',
25
- },
10
+ /** The Test environment select, contributed by both tester kinds (API + UI). */
11
+ const testerEnvironmentDescriptor = (agentKind) => ({
12
+ id: TESTER_ENVIRONMENT_CONFIG_ID,
13
+ agentKind,
14
+ label: 'Test environment',
15
+ description: "Where the Tester runs the suite: with the service's dependencies stood up locally via docker-compose, or against the provisioned ephemeral environment.",
16
+ type: 'select',
17
+ options: [
18
+ { value: 'ephemeral', label: 'Ephemeral environment' },
19
+ { value: 'local', label: 'Local (docker-compose infra)' },
26
20
  ],
21
+ // Ephemeral is the zero-config default; local is an opt-in that requires the
22
+ // service's test infra to be configured (a compose path or the no-infra flag).
23
+ default: 'ephemeral',
24
+ });
25
+ const BUILTIN_CONFIG_CONTRIBUTIONS = {
26
+ 'tester-api': [testerEnvironmentDescriptor('tester-api')],
27
+ 'tester-ui': [testerEnvironmentDescriptor('tester-ui')],
27
28
  playwright: [
28
29
  {
29
30
  id: PLAYWRIGHT_E2E_TARGET_CONFIG_ID,
@@ -1 +1 @@
1
- {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../src/agents/kinds/configs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAE7D,6EAA6E;AAC7E,gFAAgF;AAChF,kFAAkF;AAClF,yFAAyF;AAEzF,yFAAyF;AACzF,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAA;AAChE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,+BAA+B,GAAG,sBAAsB,CAAA;AAErE,MAAM,4BAA4B,GAAwD;IACxF,MAAM,EAAE;QACN;YACE,EAAE,EAAE,4BAA4B;YAChC,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,kBAAkB;YACzB,WAAW,EACT,yJAAyJ;YAC3J,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,uBAAuB,EAAE;gBACtD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE;aAC1D;YACD,6EAA6E;YAC7E,+EAA+E;YAC/E,OAAO,EAAE,WAAW;SACrB;KACF;IACD,UAAU,EAAE;QACV;YACE,EAAE,EAAE,+BAA+B;YACnC,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,oIAAoI;YACtI,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,6BAA6B,EAAE;gBACrD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,uBAAuB,EAAE;aACvD;YACD,OAAO,EAAE,IAAI;SACd;KACF;CACF,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAe;IACpD,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACxD,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAA;IACtD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAA0B;IAClE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiC,CAAA;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,UAAU,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../src/agents/kinds/configs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAE7D,6EAA6E;AAC7E,gFAAgF;AAChF,kFAAkF;AAClF,yFAAyF;AAEzF,yFAAyF;AACzF,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAA;AAChE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,+BAA+B,GAAG,sBAAsB,CAAA;AAErE,gFAAgF;AAChF,MAAM,2BAA2B,GAAG,CAAC,SAAoB,EAAyB,EAAE,CAAC,CAAC;IACpF,EAAE,EAAE,4BAA4B;IAChC,SAAS;IACT,KAAK,EAAE,kBAAkB;IACzB,WAAW,EACT,yJAAyJ;IAC3J,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,uBAAuB,EAAE;QACtD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE;KAC1D;IACD,6EAA6E;IAC7E,+EAA+E;IAC/E,OAAO,EAAE,WAAW;CACrB,CAAC,CAAA;AAEF,MAAM,4BAA4B,GAAwD;IACxF,YAAY,EAAE,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACzD,WAAW,EAAE,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACvD,UAAU,EAAE;QACV;YACE,EAAE,EAAE,+BAA+B;YACnC,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,oIAAoI;YACtI,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,6BAA6B,EAAE;gBACrD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,uBAAuB,EAAE;aACvD;YACD,OAAO,EAAE,IAAI;SACd;KACF;CACF,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAe;IACpD,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACxD,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAA;IACtD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAA0B;IAClE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiC,CAAA;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,UAAU,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;AAC3B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { AgentConfigDescriptor, AgentKind, AgentRunContext, AgentStepSpec, RepoOp } from '@cat-factory/kernel';
2
2
  import type { AgentPresentation } from '@cat-factory/contracts';
3
3
  import type { AgentTrait } from './traits.js';
4
+ import type { AgentTuning } from './tuning.js';
4
5
  import type { StructuredOutput } from './structured-output.js';
5
6
  export interface AgentKindDefinition {
6
7
  /** The free-form agent-kind id used in pipelines and steps (e.g. `security-auditor`). */
@@ -48,6 +49,15 @@ export interface AgentKindDefinition {
48
49
  * their own traits registered via `registerAgentTrait`. Omitted ⇒ no traits.
49
50
  */
50
51
  traits?: AgentTrait[];
52
+ /**
53
+ * Per-kind execution tuning folded into a container dispatch's job body (today the
54
+ * progress-guard knobs). Lets a custom kind whose normal pattern differs from the
55
+ * default loosen a guard so it isn't killed mid-progress. The knobs are loosen-only:
56
+ * the harness clamps each override up to its base, so a custom kind can only raise a
57
+ * limit, never tighten one. Omitted ⇒ the kind inherits the harness defaults. See
58
+ * ./tuning.
59
+ */
60
+ tuning?: AgentTuning;
51
61
  /**
52
62
  * The optional LLM step's execution surface + output/clone spec (inline, or a
53
63
  * container explore/coding run). Present ⇒ the kind runs an agent step; omitted ⇒ the
@@ -108,6 +118,8 @@ export declare function registeredSystemPrompt(kind: AgentKind): string | undefi
108
118
  export declare function registeredUserPrompt(context: AgentRunContext): string | undefined;
109
119
  /** A registered kind's web-research hint, or undefined when unregistered / not supplied. */
110
120
  export declare function registeredWebResearchHint(kind: AgentKind): string | undefined;
121
+ /** A registered kind's execution tuning, or undefined when unregistered / not supplied. */
122
+ export declare function registeredAgentTuning(kind: AgentKind): AgentTuning | undefined;
111
123
  /** A registered kind's contributed config descriptors, or an empty array when none. */
112
124
  export declare function registeredConfigContributions(kind: AgentKind): AgentConfigDescriptor[];
113
125
  /** A registered kind's agent-step spec (surface/output/clone), or undefined when none. */
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,SAAS,EACT,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAY9D,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,IAAI,EAAE,SAAS,CAAA;IACf;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAA;IACpD;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAA;IACjD;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAC7C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;IACrB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC5C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAA;CACjC;AAOD,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAEvE;AAaD,mDAAmD;AACnD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAEnF;AAED,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,mBAAmB,GAAG,SAAS,CAEpF;AAED,8DAA8D;AAC9D,wBAAgB,oBAAoB,IAAI,mBAAmB,EAAE,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAMxE;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAM1E;AAED,sGAAsG;AACtG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAEjF;AAED,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAE7E;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAE9E;AAED,uFAAuF;AACvF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,SAAS,GAAG,qBAAqB,EAAE,CAEtF;AAED,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAE9E;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAE1D;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAE3D;AAED,0FAA0F;AAC1F,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAE1F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAEjG"}
@@ -65,6 +65,10 @@ export function registeredUserPrompt(context) {
65
65
  export function registeredWebResearchHint(kind) {
66
66
  return registry.get(kind)?.webResearchHint;
67
67
  }
68
+ /** A registered kind's execution tuning, or undefined when unregistered / not supplied. */
69
+ export function registeredAgentTuning(kind) {
70
+ return registry.get(kind)?.tuning;
71
+ }
68
72
  /** A registered kind's contributed config descriptors, or an empty array when none. */
69
73
  export function registeredConfigContributions(kind) {
70
74
  return registry.get(kind)?.configContributions ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/traits.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAapD,yFAAyF;AACzF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAyB,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAyB,CAAA;AAExD,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,QAOpB,CAAA;AAEZ;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAkB1E,CAAA;AAED,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,EAAE,EAAE,UAAU,CAAA;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAA;CAClD;AAaD,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAIrF;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAEzE;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAErF;AAED,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,oBAAoB,GAAG,SAAS,CAErF;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAK1D;AAED,sCAAsC;AACtC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAQ1D"}
1
+ {"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/traits.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAapD,yFAAyF;AACzF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAyB,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAyB,CAAA;AAExD,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,QAOpB,CAAA;AAEZ;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAmB1E,CAAA;AAED,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,EAAE,EAAE,UAAU,CAAA;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAA;CAClD;AAaD,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAIrF;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAEzE;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAErF;AAED,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,oBAAoB,GAAG,SAAS,CAErF;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAK1D;AAED,sCAAsC;AACtC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAQ1D"}
@@ -36,7 +36,8 @@ export const STANDARD_AGENT_TRAITS = {
36
36
  'ci-fixer': [CODE_AWARE_TRAIT, SPEC_AWARE_TRAIT],
37
37
  fixer: [CODE_AWARE_TRAIT, SPEC_AWARE_TRAIT],
38
38
  'conflict-resolver': [SPEC_AWARE_TRAIT],
39
- tester: [SPEC_AWARE_TRAIT],
39
+ 'tester-api': [SPEC_AWARE_TRAIT],
40
+ 'tester-ui': [SPEC_AWARE_TRAIT],
40
41
  playwright: [SPEC_AWARE_TRAIT],
41
42
  blueprints: [SPEC_AWARE_TRAIT],
42
43
  'business-documenter': [SPEC_AWARE_TRAIT],
@@ -1 +1 @@
1
- {"version":3,"file":"traits.js","sourceRoot":"","sources":["../../../src/agents/kinds/traits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traits.js","sourceRoot":"","sources":["../../../src/agents/kinds/traits.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /** Per-knob progress-guard overrides for a kind (each optional; absent ⇒ harness default). */
2
+ export interface AgentGuardTuning {
3
+ /** Non-exploration tool calls allowed before the first edit (the no-edit bound). */
4
+ maxToolCallsWithoutEdit?: number;
5
+ /** Consecutive failing tool calls tolerated before aborting. */
6
+ maxConsecutiveErrors?: number;
7
+ /** Consecutive web-search/fetch calls tolerated before it counts as a research loop. */
8
+ maxConsecutiveWebCalls?: number;
9
+ }
10
+ /** Execution tuning for an agent kind (guard limits only, for now). */
11
+ export interface AgentTuning {
12
+ guardLimits?: AgentGuardTuning;
13
+ }
14
+ /**
15
+ * The execution tuning for `kind`: a registered kind's own `tuning` wins, else the
16
+ * built-in default, else undefined (the harness keeps its env/built-in defaults for
17
+ * every knob). Returns the override object as-is — the dispatcher spreads it into the
18
+ * job body and the harness clamps each value.
19
+ */
20
+ export declare function agentTuningFor(kind: string): AgentTuning | undefined;
21
+ //# sourceMappingURL=tuning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuning.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/tuning.ts"],"names":[],"mappings":"AAgBA,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,oFAAoF;IACpF,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,wFAAwF;IACxF,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAA;CAC/B;AAkBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpE"}
@@ -0,0 +1,26 @@
1
+ import { registeredAgentTuning } from './registry.js';
2
+ // Built-in per-kind tuning. Deliberately sparse: only kinds with a documented reason
3
+ // their normal pattern trips a default guard get an entry — everything else inherits
4
+ // the harness defaults unchanged. Every override here LOOSENS a limit.
5
+ const BUILTIN_AGENT_TUNING = {
6
+ // Conflict resolution legitimately retries failing merges/builds/tests more than a
7
+ // typical run while it converges, so give it more headroom on the error streak before
8
+ // the guard calls it stuck (default 12).
9
+ 'conflict-resolver': { guardLimits: { maxConsecutiveErrors: 20 } },
10
+ // Web search is the researcher's PRIMARY tool — a real survey is many searches in a
11
+ // row, which the default consecutive-web cap (25) would mistake for a rabbit-hole.
12
+ researcher: { guardLimits: { maxConsecutiveWebCalls: 60 } },
13
+ // Tech-debt analysis leans on web checks (deprecations, CVEs, EOL) more than a coding
14
+ // run, so it tolerates a longer research burst before the web guard fires.
15
+ analysis: { guardLimits: { maxConsecutiveWebCalls: 40 } },
16
+ };
17
+ /**
18
+ * The execution tuning for `kind`: a registered kind's own `tuning` wins, else the
19
+ * built-in default, else undefined (the harness keeps its env/built-in defaults for
20
+ * every knob). Returns the override object as-is — the dispatcher spreads it into the
21
+ * job body and the harness clamps each value.
22
+ */
23
+ export function agentTuningFor(kind) {
24
+ return registeredAgentTuning(kind) ?? BUILTIN_AGENT_TUNING[kind];
25
+ }
26
+ //# sourceMappingURL=tuning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuning.js","sourceRoot":"","sources":["../../../src/agents/kinds/tuning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AA+BrD,qFAAqF;AACrF,qFAAqF;AACrF,uEAAuE;AACvE,MAAM,oBAAoB,GAAgC;IACxD,mFAAmF;IACnF,sFAAsF;IACtF,yCAAyC;IACzC,mBAAmB,EAAE,EAAE,WAAW,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,EAAE;IAClE,oFAAoF;IACpF,mFAAmF;IACnF,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,EAAE;IAC3D,sFAAsF;IACtF,2EAA2E;IAC3E,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,EAAE;CAC1D,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;AAClE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AgentKind, AgentRunContext } from '@cat-factory/kernel';
2
- /** True when the kind is part of the Tester/Fixer track. */
2
+ /** True when the kind is part of the Tester/Fixer track (API or UI tester + fixer). */
3
3
  export declare function isTestingKind(kind: AgentKind): boolean;
4
4
  /** The built-out system prompt for a Tester/Fixer kind, or undefined otherwise. */
5
5
  export declare function testingSystemPrompt(kind: AgentKind): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AA4ErE,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEtD;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAIvE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAazE"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AA2HrE,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEtD;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAKvE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAczE"}
@@ -8,7 +8,8 @@ import { TESTER_ENVIRONMENT_CONFIG_ID } from '../kinds/configs.js';
8
8
  // like the `merger`). When the report withholds its greenlight the engine dispatches
9
9
  // the `fixer` with the report folded in; the fixer commits fixes to the same branch
10
10
  // and the Tester re-runs, until greenlight or the attempt budget is spent.
11
- const TESTER_AGENT_KIND = 'tester';
11
+ const TESTER_AGENT_KIND = 'tester-api';
12
+ const UI_TESTER_AGENT_KIND = 'tester-ui';
12
13
  const FIXER_AGENT_KIND = 'fixer';
13
14
  /** The JSON shape the Tester must emit, kept in sync with `testReportSchema`. */
14
15
  const TEST_REPORT_SHAPE = [
@@ -49,6 +50,50 @@ const TESTER_SYSTEM_PROMPT = [
49
50
  '',
50
51
  FINAL_ANSWER_IN_REPLY,
51
52
  ].join('\n');
53
+ /** The JSON shape the UI Tester must emit: a test report that also lists screenshots. */
54
+ const UI_TEST_REPORT_SHAPE = [
55
+ 'Respond with ONLY a JSON object (no prose, no code fences) of this shape:',
56
+ '{',
57
+ ' "greenlight": boolean,',
58
+ ' "summary": string,',
59
+ ' "tested": string[],',
60
+ ' "outcomes": [ { "name": string, "status": "passed" | "failed" | "skipped", "detail"?: string } ],',
61
+ ' "concerns": [ { "title": string, "detail": string, "severity": "low" | "medium" | "high" | "critical" } ],',
62
+ ' "environment"?: "local" | "ephemeral",',
63
+ ' "screenshots": [ // one entry per DISTINCT view you captured + uploaded',
64
+ ' { "view": string, // a stable, human-readable view name (e.g. "login", "dashboard")',
65
+ ' "artifactId": string, // the id returned by the screenshot upload endpoint',
66
+ ' "hash"?: string }',
67
+ ' ]',
68
+ '}',
69
+ ].join('\n');
70
+ const TESTER_UI_SYSTEM_PROMPT = [
71
+ 'You are a meticulous UI test engineer doing EXPLORATORY, BROWSER-DRIVEN testing of a pull request before release.',
72
+ 'You drive a real browser with Playwright (already installed) against the running app and observe its behaviour — you do NOT judge by reading the diff.',
73
+ '',
74
+ 'Bootstrap your environment from the repository (same as the API tester):',
75
+ "- Read the repo's README.md (and any docs it points to) to learn how to install, configure and START the app + its dependencies.",
76
+ '- Local mode: the platform stood up the service’s infra dependencies on localhost; start the app and point your browser at it.',
77
+ '- Ephemeral mode: a deployed environment URL is provided in the run context; drive your browser against it.',
78
+ '',
79
+ 'What to do:',
80
+ '- Walk the new UI functionality for THIS task (start from the Gherkin acceptance scenarios in `spec/features/*.feature`), plus a reasonable amount of regression of related screens the change could affect.',
81
+ '- Use Playwright to navigate every DISTINCT view the functionality touches and verify it behaves correctly (interactions, validation, error states).',
82
+ '- For EACH distinct view, capture ONE full-page screenshot (PNG). Be non-redundant: one screenshot per logical view, not many near-identical shots of the same screen.',
83
+ '- If a reference-design directory is present (`.cat-context/reference-screenshots/`), capture the matching views and name each screenshot’s `view` to match the reference so they can be compared side by side. If it is absent, just use clear view names of your own.',
84
+ '',
85
+ 'Uploading screenshots (ONLY if an upload endpoint was provided to this run):',
86
+ '- This run MAY provide a screenshot upload endpoint via the `ARTIFACT_UPLOAD_URL` env var (with the `ARTIFACT_UPLOAD_TOKEN` bearer token). If — and only if — `ARTIFACT_UPLOAD_URL` is set, POST each screenshot to it as multipart form-data with fields `file` (the PNG), `kind=screenshot`, and `view` (the view name); the response returns the stored artifact’s `id`, which you record as that view’s `artifactId`. Do NOT inline image bytes in your report.',
87
+ '- If `ARTIFACT_UPLOAD_URL` is NOT set, do not attempt any upload and omit `screenshots` from your report (still report the outcomes/concerns you observed) — a human will capture and review the screens manually.',
88
+ '',
89
+ 'Rules:',
90
+ '- Make NO commits and open NO pull request — you only assess, capture and report.',
91
+ '- Base every outcome on something you actually observed in the browser. A blocking bug means greenlight=false with the concern listed.',
92
+ '',
93
+ UI_TEST_REPORT_SHAPE,
94
+ '',
95
+ FINAL_ANSWER_IN_REPLY,
96
+ ].join('\n');
52
97
  const FIXER_SYSTEM_PROMPT = [
53
98
  'You are a software engineer fixing problems raised on this pull-request branch — either by a',
54
99
  'tester (a structured report of failed outcomes and concerns) or by a human code reviewer (the',
@@ -67,14 +112,16 @@ const FIXER_SYSTEM_PROMPT = [
67
112
  '',
68
113
  STANDARDS_FOOTER,
69
114
  ].join('\n');
70
- /** True when the kind is part of the Tester/Fixer track. */
115
+ /** True when the kind is part of the Tester/Fixer track (API or UI tester + fixer). */
71
116
  export function isTestingKind(kind) {
72
- return kind === TESTER_AGENT_KIND || kind === FIXER_AGENT_KIND;
117
+ return kind === TESTER_AGENT_KIND || kind === UI_TESTER_AGENT_KIND || kind === FIXER_AGENT_KIND;
73
118
  }
74
119
  /** The built-out system prompt for a Tester/Fixer kind, or undefined otherwise. */
75
120
  export function testingSystemPrompt(kind) {
76
121
  if (kind === TESTER_AGENT_KIND)
77
122
  return TESTER_SYSTEM_PROMPT;
123
+ if (kind === UI_TESTER_AGENT_KIND)
124
+ return TESTER_UI_SYSTEM_PROMPT;
78
125
  if (kind === FIXER_AGENT_KIND)
79
126
  return FIXER_SYSTEM_PROMPT;
80
127
  return undefined;
@@ -85,7 +132,7 @@ export function testingSystemPrompt(kind) {
85
132
  * or when nothing is set, so callers can append it unconditionally.
86
133
  */
87
134
  export function testerEnvironmentSection(context) {
88
- if (context.agentKind !== TESTER_AGENT_KIND)
135
+ if (context.agentKind !== TESTER_AGENT_KIND && context.agentKind !== UI_TESTER_AGENT_KIND)
89
136
  return '';
90
137
  const env = context.block.agentConfig?.[TESTER_ENVIRONMENT_CONFIG_ID];
91
138
  if (env === 'ephemeral') {
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../src/agents/prompts/testing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAElE,iFAAiF;AACjF,iFAAiF;AACjF,mFAAmF;AACnF,+EAA+E;AAC/E,qFAAqF;AACrF,qFAAqF;AACrF,oFAAoF;AACpF,2EAA2E;AAE3E,MAAM,iBAAiB,GAAG,QAAQ,CAAA;AAClC,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAEhC,iFAAiF;AACjF,MAAM,iBAAiB,GAAG;IACxB,2EAA2E;IAC3E,GAAG;IACH,qFAAqF;IACrF,4EAA4E;IAC5E,oGAAoG;IACpG,wDAAwD;IACxD,sFAAsF;IACtF,MAAM;IACN,yGAAyG;IACzG,+FAA+F;IAC/F,MAAM;IACN,yCAAyC;IACzC,GAAG;CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,MAAM,oBAAoB,GAAG;IAC3B,gGAAgG;IAChG,4OAA4O;IAC5O,EAAE;IACF,iDAAiD;IACjD,kKAAkK;IAClK,+ZAA+Z;IAC/Z,8JAA8J;IAC9J,EAAE;IACF,eAAe;IACf,sRAAsR;IACtR,kOAAkO;IAClO,wKAAwK;IACxK,oIAAoI;IACpI,EAAE;IACF,QAAQ;IACR,4LAA4L;IAC5L,8VAA8V;IAC9V,EAAE;IACF,iBAAiB;IACjB,EAAE;IACF,qBAAqB;CACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,MAAM,mBAAmB,GAAG;IAC1B,8FAA8F;IAC9F,+FAA+F;IAC/F,2FAA2F;IAC3F,gBAAgB;IAChB,EAAE;IACF,4BAA4B;IAC5B,6FAA6F;IAC7F,yFAAyF;IACzF,2DAA2D;IAC3D,6FAA6F;IAC7F,qEAAqE;IACrE,EAAE;IACF,iGAAiG;IACjG,gBAAgB;IAChB,EAAE;IACF,gBAAgB;CACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAC,IAAe;IAC3C,OAAO,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,gBAAgB,CAAA;AAChE,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,IAAI,IAAI,KAAK,iBAAiB;QAAE,OAAO,oBAAoB,CAAA;IAC3D,IAAI,IAAI,KAAK,gBAAgB;QAAE,OAAO,mBAAmB,CAAA;IACzD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAwB;IAC/D,IAAI,OAAO,CAAC,SAAS,KAAK,iBAAiB;QAAE,OAAO,EAAE,CAAA;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,4BAA4B,CAAC,CAAA;IACrE,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,OAAO,kHAAkH,CAAA;IAC3H,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;YACzC,OAAO,gIAAgI,CAAA;QACzI,CAAC;QACD,OAAO,qIAAqI,CAAA;IAC9I,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../src/agents/prompts/testing.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export { TASK_ESTIMATOR_AGENT_KIND } from './agents/prompts/roles.js';
6
6
  export { type AgentKindDefinition, registerAgentKind, registerAgentKinds, registeredAgentKind, registeredAgentKinds, registeredKindRequiresContainer, registeredConfigContributions, registeredAgentStep, registeredPreOps, registeredPostOps, registeredAgentPresentation, registeredStructuredOutput, clearRegisteredAgentKinds, } from './agents/kinds/registry.js';
7
7
  export { type StructuredOutput, type StructuredOutputOptions, defineStructuredOutput, } from './agents/kinds/structured-output.js';
8
8
  export { type AgentTrait, type AgentTraitDefinition, CODE_AWARE_TRAIT, SPEC_AWARE_TRAIT, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, registerAgentTrait, registerAgentTraits, registeredAgentTrait, clearRegisteredAgentTraits, assignAgentTraits, clearAssignedAgentTraits, traitsFor, hasTrait, traitGuidanceFor, } from './agents/kinds/traits.js';
9
+ export { type AgentTuning, type AgentGuardTuning, agentTuningFor } from './agents/kinds/tuning.js';
9
10
  export { TESTER_ENVIRONMENT_CONFIG_ID, PLAYWRIGHT_E2E_TARGET_CONFIG_ID, configContributionsFor, configContributionCatalog, } from './agents/kinds/configs.js';
10
11
  export { isTestingKind, testingSystemPrompt, testerEnvironmentSection, } from './agents/prompts/testing.js';
11
12
  export { REVIEW_SYSTEM_PROMPT, REWORK_SYSTEM_PROMPT, WRITER_SYSTEM_PROMPT, } from './agents/prompts/requirements.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,6 +13,9 @@ export { defineStructuredOutput, } from './agents/kinds/structured-output.js';
13
13
  // Agent capability traits (standard + custom). `code-aware` gates the engine's folding
14
14
  // of the service's best-practice fragments; `spec-aware` appends the in-repo-spec guidance.
15
15
  export { CODE_AWARE_TRAIT, SPEC_AWARE_TRAIT, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, registerAgentTrait, registerAgentTraits, registeredAgentTrait, clearRegisteredAgentTraits, assignAgentTraits, clearAssignedAgentTraits, traitsFor, hasTrait, traitGuidanceFor, } from './agents/kinds/traits.js';
16
+ // Per-agent-kind execution tuning (today: progress-guard knobs) folded into a container
17
+ // dispatch's job body. Loosen-only, so a kind's normal pattern isn't killed mid-progress.
18
+ export { agentTuningFor } from './agents/kinds/tuning.js';
16
19
  // Agent configuration-contribution catalog (the descriptors surfaced on task
17
20
  // creation / inspector, frozen once the contributing step runs).
18
21
  export { TESTER_ENVIRONMENT_CONFIG_ID, PLAYWRIGHT_E2E_TARGET_CONFIG_ID, configContributionsFor, configContributionCatalog, } from './agents/kinds/configs.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- export type CachePolicy = 'auto-prefix' | 'explicit-anthropic' | 'none';
2
- /** How `provider` caches prompt prefixes. The single source of truth for both paths. */
3
- export declare function providerCachePolicy(provider: string): CachePolicy;
1
+ import { type CachePolicy, providerCachePolicy } from '@cat-factory/kernel';
2
+ export { type CachePolicy, providerCachePolicy };
4
3
  /**
5
4
  * Extra OpenAI Chat Completions params that route a multi-turn conversation to the
6
5
  * same cached prefix, for the in-container proxy path. Only OpenAI documents a
@@ -17,6 +16,13 @@ export declare function promptCacheParams(provider: string, cacheKey: string | n
17
16
  * provider caches automatically or not at all.
18
17
  */
19
18
  export declare function inlineCacheProviderOptions(provider: string): Record<string, unknown>;
20
- /** The cached-input-token count a provider reports in its usage, across the field names they use. */
19
+ /**
20
+ * The cached-input-token count a provider reports in its usage, across the field names
21
+ * they use. Covers OpenAI (`prompt_tokens_details.cached_tokens`), DeepSeek
22
+ * (`prompt_cache_hit_tokens`) and Anthropic (`cache_read_input_tokens`, or the AI SDK's
23
+ * camelCase `cacheReadInputTokens`). NOTE on the Anthropic shape: its cache reads are
24
+ * reported SEPARATELY from `input_tokens` (they are NOT a subset of it), so a hit-rate
25
+ * computed as cached/prompt can exceed 1 — callers clamp it (see `cacheHitRate`).
26
+ */
21
27
  export declare function cachedTokensFromUsage(usage: unknown): number;
22
28
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/providers/cache.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,WAAW,GAInB,aAAa,GAEb,oBAAoB,GAEpB,MAAM,CAAA;AAEV,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAWjE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKpF;AAED,qGAAqG;AACrG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAY5D"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/providers/cache.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE3E,OAAO,EAAE,KAAK,WAAW,EAAE,mBAAmB,EAAE,CAAA;AAEhD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKpF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgB5D"}
@@ -1,24 +1,17 @@
1
- // Prompt-caching policy, shared by BOTH AI-call paths so they treat a provider the
2
- // same way: the in-container path (Pi → the LLM proxy, OpenAI Chat Completions over
3
- // HTTP) and the inline path (the Vercel AI SDK via the ModelProvider port). A
4
- // container agent re-sends its whole growing prompt every turn, so on the providers
5
- // that cache it the stable prefix should be a cache hit rather than re-billed input
6
- // — but only if we (a) keep the prefix byte-stable and (b) give the provider the
7
- // hint it needs. This module is the single source of truth for "how does provider X
8
- // cache", so neither path hard-codes provider ids.
9
- /** How `provider` caches prompt prefixes. The single source of truth for both paths. */
10
- export function providerCachePolicy(provider) {
11
- switch (provider) {
12
- case 'openai':
13
- case 'deepseek':
14
- case 'qwen':
15
- return 'auto-prefix';
16
- case 'anthropic':
17
- return 'explicit-anthropic';
18
- default:
19
- return 'none';
20
- }
21
- }
1
+ // Prompt-caching request/response helpers, shared by BOTH AI-call paths so they treat
2
+ // a provider the same way: the in-container path (Pi → the LLM proxy, OpenAI Chat
3
+ // Completions over HTTP) and the inline path (the Vercel AI SDK via the ModelProvider
4
+ // port). A container agent re-sends its whole growing prompt every turn, so on the
5
+ // providers that cache it the stable prefix should be a cache hit rather than re-billed
6
+ // input — but only if we (a) keep the prefix byte-stable and (b) give the provider the
7
+ // hint it needs.
8
+ //
9
+ // The classification of HOW a provider caches lives in the kernel
10
+ // (`providerCachePolicy`) because the model catalog also needs it (to project a
11
+ // per-model `cachesPrompts` capability the UI surfaces); it is re-exported here so the
12
+ // existing `@cat-factory/agents` import sites keep working.
13
+ import { providerCachePolicy } from '@cat-factory/kernel';
14
+ export { providerCachePolicy };
22
15
  /**
23
16
  * Extra OpenAI Chat Completions params that route a multi-turn conversation to the
24
17
  * same cached prefix, for the in-container proxy path. Only OpenAI documents a
@@ -44,21 +37,33 @@ export function inlineCacheProviderOptions(provider) {
44
37
  }
45
38
  return {};
46
39
  }
47
- /** The cached-input-token count a provider reports in its usage, across the field names they use. */
40
+ /**
41
+ * The cached-input-token count a provider reports in its usage, across the field names
42
+ * they use. Covers OpenAI (`prompt_tokens_details.cached_tokens`), DeepSeek
43
+ * (`prompt_cache_hit_tokens`) and Anthropic (`cache_read_input_tokens`, or the AI SDK's
44
+ * camelCase `cacheReadInputTokens`). NOTE on the Anthropic shape: its cache reads are
45
+ * reported SEPARATELY from `input_tokens` (they are NOT a subset of it), so a hit-rate
46
+ * computed as cached/prompt can exceed 1 — callers clamp it (see `cacheHitRate`).
47
+ */
48
48
  export function cachedTokensFromUsage(usage) {
49
49
  if (typeof usage !== 'object' || usage === null)
50
50
  return 0;
51
51
  const u = usage;
52
- // OpenAI: prompt_tokens_details.cached_tokens. DeepSeek: prompt_cache_hit_tokens.
52
+ // OpenAI: prompt_tokens_details.cached_tokens.
53
53
  const details = u.prompt_tokens_details;
54
54
  if (typeof details === 'object' && details !== null) {
55
55
  const cached = details.cached_tokens;
56
56
  if (typeof cached === 'number' && cached >= 0)
57
57
  return cached;
58
58
  }
59
+ // DeepSeek: prompt_cache_hit_tokens.
59
60
  const hit = u.prompt_cache_hit_tokens;
60
61
  if (typeof hit === 'number' && hit >= 0)
61
62
  return hit;
63
+ // Anthropic: cache_read_input_tokens (raw API) / cacheReadInputTokens (AI SDK).
64
+ const anthropicRead = u.cache_read_input_tokens ?? u.cacheReadInputTokens;
65
+ if (typeof anthropicRead === 'number' && anthropicRead >= 0)
66
+ return anthropicRead;
62
67
  return 0;
63
68
  }
64
69
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/providers/cache.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,oFAAoF;AACpF,8EAA8E;AAC9E,oFAAoF;AACpF,oFAAoF;AACpF,iFAAiF;AACjF,oFAAoF;AACpF,mDAAmD;AAYnD,wFAAwF;AACxF,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,aAAa,CAAA;QACtB,KAAK,WAAW;YACd,OAAO,oBAAoB,CAAA;QAC7B;YACE,OAAO,MAAM,CAAA;IACjB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,QAAmC;IAEnC,IAAI,QAAQ,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA;IAC5E,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,oBAAoB,EAAE,CAAC;QAC3D,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IAC/D,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IACzD,MAAM,CAAC,GAAG,KAAgC,CAAA;IAC1C,kFAAkF;IAClF,MAAM,OAAO,GAAG,CAAC,CAAC,qBAAqB,CAAA;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,MAAM,GAAI,OAAmC,CAAC,aAAa,CAAA;QACjE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,MAAM,CAAA;IAC9D,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,uBAAuB,CAAA;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,GAAG,CAAA;IACnD,OAAO,CAAC,CAAA;AACV,CAAC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/providers/cache.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,kFAAkF;AAClF,sFAAsF;AACtF,mFAAmF;AACnF,wFAAwF;AACxF,uFAAuF;AACvF,iBAAiB;AACjB,EAAE;AACF,kEAAkE;AAClE,gFAAgF;AAChF,uFAAuF;AACvF,4DAA4D;AAC5D,OAAO,EAAoB,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE3E,OAAO,EAAoB,mBAAmB,EAAE,CAAA;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,QAAmC;IAEnC,IAAI,QAAQ,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA;IAC5E,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,oBAAoB,EAAE,CAAC;QAC3D,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IAC/D,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IACzD,MAAM,CAAC,GAAG,KAAgC,CAAA;IAC1C,+CAA+C;IAC/C,MAAM,OAAO,GAAG,CAAC,CAAC,qBAAqB,CAAA;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,MAAM,GAAI,OAAmC,CAAC,aAAa,CAAA;QACjE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,MAAM,CAAA;IAC9D,CAAC;IACD,qCAAqC;IACrC,MAAM,GAAG,GAAG,CAAC,CAAC,uBAAuB,CAAA;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,GAAG,CAAA;IACnD,gFAAgF;IAChF,MAAM,aAAa,GAAG,CAAC,CAAC,uBAAuB,IAAI,CAAC,CAAC,oBAAoB,CAAA;IACzE,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO,aAAa,CAAA;IACjF,OAAO,CAAC,CAAA;AACV,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/agents",
3
- "version": "0.18.5",
3
+ "version": "0.20.0",
4
4
  "description": "Agent catalog, routing, prompts and fragment library for the Agent Architecture Board.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,9 +30,9 @@
30
30
  "ai": "^6.0.209",
31
31
  "handlebars": "^4.7.9",
32
32
  "valibot": "^1.4.1",
33
- "@cat-factory/contracts": "0.38.0",
34
- "@cat-factory/kernel": "0.40.0",
35
- "@cat-factory/prompt-fragments": "0.7.36"
33
+ "@cat-factory/contracts": "0.40.0",
34
+ "@cat-factory/kernel": "0.42.0",
35
+ "@cat-factory/prompt-fragments": "0.7.38"
36
36
  },
37
37
  "devDependencies": {
38
38
  "typescript": "7.0.1-rc",