@cat-factory/agents 0.54.12 → 0.55.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.
@@ -5,12 +5,13 @@ export declare function isTestingKind(kind: AgentKind): boolean;
5
5
  /** The built-out system prompt for a Tester/Fixer kind, or undefined otherwise. */
6
6
  export declare function testingSystemPrompt(kind: AgentKind): string | undefined;
7
7
  /**
8
- * The "which environment to run in" section for a Tester step, rendered from the service's
9
- * declared provision type AND whether the run provisioned an environment: a `kubernetes`/
10
- * `custom` service or ANY run that provisioned an env URL (e.g. a `deployer` step) — runs
11
- * against that ephemeral environment; a `docker-compose` service has its dependencies stood
12
- * up locally; an `infraless` service (or none declared) stands nothing up. Empty for
13
- * non-tester kinds, so callers can append it unconditionally. Kept in lock-step with
8
+ * The "which environment to run in" section for a Tester step, rendered from the frame's
9
+ * capability profile + its declared provision type: a `library` frame (not `deployable`) runs
10
+ * the suite in-container (any repo-local compose stood up on localhost, else its lifecycle
11
+ * scripts); a `kubernetes`/`custom` service or ANY run that provisioned an env URL (e.g. a
12
+ * `deployer` step) runs against that ephemeral environment; a `docker-compose` service has its
13
+ * dependencies stood up locally; an `infraless` service (or none declared) stands nothing up.
14
+ * Empty for non-tester kinds, so callers can append it unconditionally. Kept in lock-step with
14
15
  * {@link testerInfraSpec} (server) so the prompt and the harness `infra` spec never disagree.
15
16
  */
16
17
  export declare function testerEnvironmentSection(context: AgentRunContext): string;
@@ -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;AA0HrE,eAAO,MAAM,uBAAuB,QAkBxB,CAAA;AAqBZ,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;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAYzE"}
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;AA6HrE,eAAO,MAAM,uBAAuB,QAkBxB,CAAA;AAqBZ,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;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CA6BzE"}
@@ -1,3 +1,4 @@
1
+ import { frameProfile } from '@cat-factory/contracts';
1
2
  import { FINAL_ANSWER_IN_REPLY, STANDARDS_FOOTER } from './shared.js';
2
3
  // Built-out role prompts for the Tester → Fixer loop. The `tester` clones the PR
3
4
  // branch, brings its dependencies up (locally via docker-compose for a `docker-compose`
@@ -32,6 +33,8 @@ const TESTER_SYSTEM_PROMPT = [
32
33
  'You are a meticulous test engineer doing EXPLORATORY testing of a pull request before release.',
33
34
  'You actually run the software and observe its behaviour — you do NOT pass judgement by reading the diff or restating what the implementer says they did. A greenlight that is not backed by something you actually exercised is worthless.',
34
35
  '',
36
+ 'If "Run mode" below says this is a LIBRARY test suite, there is no running system to probe: your job shifts to the suite — install and build the package, bring up any test dependencies, run the unit + integration tests, assess how well they cover the public API surface for THIS change, and author the missing unit/integration tests on the branch. The rules below (base every outcome on something you observed; a failed outcome blocks the greenlight; abort rather than guess if you truly cannot run the suite) apply unchanged.',
37
+ '',
35
38
  'Bootstrap your environment from the repository:',
36
39
  "- Read the repo's README.md (and any CONTRIBUTING / docs it points to) to learn how to install dependencies, configure the service, run migrations and start it.",
37
40
  "- Local mode: the platform has stood up the service's infra dependencies from its docker-compose file (including the WireMock mocks the mocker step added for the service's external dependencies) and exposed them on localhost. Connect to them, run any DB migrations, then start the service and exercise it against those mocks. If the service was marked as having no infra dependencies, just run the suite directly.",
@@ -163,17 +166,33 @@ export function testingSystemPrompt(kind) {
163
166
  return undefined;
164
167
  }
165
168
  /**
166
- * The "which environment to run in" section for a Tester step, rendered from the service's
167
- * declared provision type AND whether the run provisioned an environment: a `kubernetes`/
168
- * `custom` service or ANY run that provisioned an env URL (e.g. a `deployer` step) — runs
169
- * against that ephemeral environment; a `docker-compose` service has its dependencies stood
170
- * up locally; an `infraless` service (or none declared) stands nothing up. Empty for
171
- * non-tester kinds, so callers can append it unconditionally. Kept in lock-step with
169
+ * The "which environment to run in" section for a Tester step, rendered from the frame's
170
+ * capability profile + its declared provision type: a `library` frame (not `deployable`) runs
171
+ * the suite in-container (any repo-local compose stood up on localhost, else its lifecycle
172
+ * scripts); a `kubernetes`/`custom` service or ANY run that provisioned an env URL (e.g. a
173
+ * `deployer` step) runs against that ephemeral environment; a `docker-compose` service has its
174
+ * dependencies stood up locally; an `infraless` service (or none declared) stands nothing up.
175
+ * Empty for non-tester kinds, so callers can append it unconditionally. Kept in lock-step with
172
176
  * {@link testerInfraSpec} (server) so the prompt and the harness `infra` spec never disagree.
173
177
  */
174
178
  export function testerEnvironmentSection(context) {
175
179
  if (context.agentKind !== TESTER_AGENT_KIND && context.agentKind !== UI_TESTER_AGENT_KIND)
176
180
  return '';
181
+ // A `library` frame runs the tester in `suite` posture: no deployment and no running system to
182
+ // probe, so the tester runs the suite in-container. When the frame declares a repo/package-local
183
+ // compose file it has been stood up on localhost (the harness `standUpInfra` path); otherwise the
184
+ // agent self-manages test deps via the repo's `pretest:ci`/`test:ci`/`posttest:ci` lifecycle
185
+ // scripts. Keyed off the profile's `testPosture` (the field named for exactly this choice) so it
186
+ // stays in lock-step with `testerInfraSpec` (server), which keys the wire spec off the same flag.
187
+ const frameType = context.service?.type;
188
+ if (frameType && frameProfile(frameType).testPosture === 'suite') {
189
+ return ('\nRun mode: library test suite — this is a published package with no deployment and no ' +
190
+ 'running system. Install and build the package; if this run stood up repo-local test ' +
191
+ 'dependencies they are on localhost (connect to them), otherwise run the repo’s ' +
192
+ '`pretest:ci` / `test:ci` / `posttest:ci` lifecycle scripts (where present) to self-manage ' +
193
+ 'them. Then run the unit + integration suite, assess coverage of the public API surface ' +
194
+ 'against this change, and add the missing unit/integration tests on the branch.');
195
+ }
177
196
  const type = context.service?.provisioning?.type;
178
197
  if (type === 'kubernetes' || type === 'custom' || context.environment?.url) {
179
198
  return '\nRun mode: ephemeral environment — test against the environment described under "Ephemeral environment under test" above (URL/host/port + any credentials); do not start the service locally.';
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../src/agents/prompts/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../src/agents/prompts/testing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/agents",
3
- "version": "0.54.12",
3
+ "version": "0.55.0",
4
4
  "description": "Agent catalog, routing, prompts and fragment library for the Agent Architecture Board.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,14 +31,14 @@
31
31
  "ai": "^6.0.224",
32
32
  "handlebars": "^4.7.9",
33
33
  "valibot": "^1.4.2",
34
- "@cat-factory/contracts": "0.128.2",
35
- "@cat-factory/kernel": "0.124.0",
36
- "@cat-factory/prompt-fragments": "0.13.17"
34
+ "@cat-factory/contracts": "0.129.0",
35
+ "@cat-factory/kernel": "0.125.0",
36
+ "@cat-factory/prompt-fragments": "0.13.18"
37
37
  },
38
38
  "devDependencies": {
39
39
  "typescript": "7.0.2",
40
40
  "vitest": "^4.1.10",
41
- "@cat-factory/caching": "0.7.0"
41
+ "@cat-factory/caching": "0.8.0"
42
42
  },
43
43
  "scripts": {
44
44
  "build": "tsc -b tsconfig.build.json",