@webpresso/agent-config 0.3.0 → 0.3.3

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.
package/README.md ADDED
@@ -0,0 +1,37 @@
1
+ # @webpresso/agent-config
2
+
3
+ Shared consumer-facing config presets and low-level primitive re-exports for
4
+ webpresso consumers.
5
+
6
+ `@webpresso/agent-config` is the package consumers install. It owns the stable
7
+ config surface (`/vitest/*`, `/tsconfig/*`, `/stryker`, `/workers-test`) and now
8
+ also re-exports the shared low-level primitives sourced from
9
+ [`@webpresso/agent-core`](../agent-core/README.md).
10
+
11
+ > Consumers should import these APIs from `@webpresso/agent-config`, **not**
12
+ > from `@webpresso/agent-core` and never from `@webpresso/agent-kit`.
13
+
14
+ ## Consumer primitive subpaths
15
+
16
+ | Subpath | Purpose |
17
+ | ----------------------------------- | ------------------------------------------------------------------------------------- |
18
+ | `@webpresso/agent-config/repo-root` | Strict repo-root discovery (`findRepoRoot`, `resolveFromRepoRoot`, `walkToRepoRoot`). |
19
+ | `@webpresso/agent-config/process` | Process-tree signalling and graceful-then-forceful termination. |
20
+ | `@webpresso/agent-config/e2e` | Open-port resolution, HTTP health polling, fail-closed secret-env resolution. |
21
+ | `@webpresso/agent-config/deploy` | Semantic release-version assertion and release-metadata validation. |
22
+ | `@webpresso/agent-config/dev` | Workspace-local binary/command resolution and child-process env construction. |
23
+
24
+ ## Existing config/test surface
25
+
26
+ `@webpresso/agent-config` continues to publish:
27
+
28
+ - `@webpresso/agent-config/tsconfig/*`
29
+ - `@webpresso/agent-config/vitest/*`
30
+ - `@webpresso/agent-config/stryker`
31
+ - `@webpresso/agent-config/workers-test`
32
+
33
+ ## Relationship to other packages
34
+
35
+ - `@webpresso/agent-config` — consumer-installed package surface
36
+ - `@webpresso/agent-core` — internal shared leaf that backs the primitive re-exports
37
+ - `@webpresso/agent-kit` — internal `wp` engine / CLI and broader public subpath host
@@ -1,3 +1,4 @@
1
1
  {
2
- "type": "module"
2
+ "type": "module",
3
+ "sideEffects": false
3
4
  }
@@ -0,0 +1,19 @@
1
+ import { expect, test } from "@playwright/test";
2
+ const scaffoldHtml = `<!doctype html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="utf-8" />
6
+ <title>Agent Kit smoke page</title>
7
+ </head>
8
+ <body>
9
+ <main>
10
+ <h1>Agent Kit quality scaffold</h1>
11
+ <p data-testid="status">ready</p>
12
+ </main>
13
+ </body>
14
+ </html>`;
15
+ test("checks the package-owned quality scaffold smoke page", async () => {
16
+ expect(scaffoldHtml).toContain("Agent Kit quality scaffold");
17
+ expect(scaffoldHtml).toContain('data-testid="status"');
18
+ expect(scaffoldHtml).toContain("ready");
19
+ });
@@ -0,0 +1,8 @@
1
+ import { type PlaywrightTestConfig } from "@playwright/test";
2
+ export declare const qualityScaffoldTestDir: string;
3
+ export type QualityScaffoldConfigOverrides = Omit<PlaywrightTestConfig, "testDir"> & {
4
+ /** Override only for advanced migrations; default points at the package-owned scaffold tests. */
5
+ testDir?: string;
6
+ };
7
+ export declare function createQualityScaffoldConfig(overrides?: QualityScaffoldConfigOverrides): PlaywrightTestConfig;
8
+ export default createQualityScaffoldConfig;
@@ -0,0 +1,25 @@
1
+ import { defineConfig } from "@playwright/test";
2
+ import { dirname, join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const moduleDir = dirname(fileURLToPath(import.meta.url));
5
+ export const qualityScaffoldTestDir = join(moduleDir, "quality-scaffold");
6
+ const defaultQualityScaffoldConfig = {
7
+ testDir: qualityScaffoldTestDir,
8
+ fullyParallel: true,
9
+ reporter: [["list"]],
10
+ use: {
11
+ trace: "retain-on-failure",
12
+ },
13
+ };
14
+ export function createQualityScaffoldConfig(overrides = {}) {
15
+ const { use: overrideUse, ...restOverrides } = overrides;
16
+ return defineConfig({
17
+ ...defaultQualityScaffoldConfig,
18
+ ...restOverrides,
19
+ use: {
20
+ ...defaultQualityScaffoldConfig.use,
21
+ ...overrideUse,
22
+ },
23
+ });
24
+ }
25
+ export default createQualityScaffoldConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webpresso/agent-config",
3
- "version": "0.3.0",
3
+ "version": "0.3.3",
4
4
  "private": false,
5
5
  "description": "Shared vitest, tsconfig, stryker, and workers-test config for webpresso consumers. Binary-free — pure test/config tooling.",
6
6
  "homepage": "https://github.com/webpresso/agent-kit#readme",
@@ -22,16 +22,16 @@
22
22
  "type": "module",
23
23
  "sideEffects": false,
24
24
  "exports": {
25
- "./repo-root": {
25
+ "./deploy": {
26
26
  "import": {
27
- "types": "./dist/esm/repo-root/index.d.ts",
28
- "default": "./dist/esm/repo-root/index.js"
27
+ "types": "./dist/esm/deploy/index.d.ts",
28
+ "default": "./dist/esm/deploy/index.js"
29
29
  }
30
30
  },
31
- "./process": {
31
+ "./dev": {
32
32
  "import": {
33
- "types": "./dist/esm/process/index.d.ts",
34
- "default": "./dist/esm/process/index.js"
33
+ "types": "./dist/esm/dev/index.d.ts",
34
+ "default": "./dist/esm/dev/index.js"
35
35
  }
36
36
  },
37
37
  "./e2e": {
@@ -40,16 +40,22 @@
40
40
  "default": "./dist/esm/e2e/index.js"
41
41
  }
42
42
  },
43
- "./deploy": {
43
+ "./playwright/quality-scaffold": {
44
44
  "import": {
45
- "types": "./dist/esm/deploy/index.d.ts",
46
- "default": "./dist/esm/deploy/index.js"
45
+ "types": "./dist/esm/playwright/quality-scaffold.d.ts",
46
+ "default": "./dist/esm/playwright/quality-scaffold.js"
47
47
  }
48
48
  },
49
- "./dev": {
49
+ "./process": {
50
50
  "import": {
51
- "types": "./dist/esm/dev/index.d.ts",
52
- "default": "./dist/esm/dev/index.js"
51
+ "types": "./dist/esm/process/index.d.ts",
52
+ "default": "./dist/esm/process/index.js"
53
+ }
54
+ },
55
+ "./repo-root": {
56
+ "import": {
57
+ "types": "./dist/esm/repo-root/index.d.ts",
58
+ "default": "./dist/esm/repo-root/index.js"
53
59
  }
54
60
  },
55
61
  "./stryker": {
@@ -60,33 +66,33 @@
60
66
  },
61
67
  "./tsconfig/base.json": {
62
68
  "import": {
63
- "types": "./dist/esm/tsconfig/base.json",
64
69
  "default": "./dist/esm/tsconfig/base.json"
65
- }
70
+ },
71
+ "default": "./dist/esm/tsconfig/base.json"
66
72
  },
67
73
  "./tsconfig/cloudflare.json": {
68
74
  "import": {
69
- "types": "./dist/esm/tsconfig/cloudflare.json",
70
75
  "default": "./dist/esm/tsconfig/cloudflare.json"
71
- }
76
+ },
77
+ "default": "./dist/esm/tsconfig/cloudflare.json"
72
78
  },
73
79
  "./tsconfig/library.json": {
74
80
  "import": {
75
- "types": "./dist/esm/tsconfig/library.json",
76
81
  "default": "./dist/esm/tsconfig/library.json"
77
- }
82
+ },
83
+ "default": "./dist/esm/tsconfig/library.json"
78
84
  },
79
85
  "./tsconfig/react-library.json": {
80
86
  "import": {
81
- "types": "./dist/esm/tsconfig/react-library.json",
82
87
  "default": "./dist/esm/tsconfig/react-library.json"
83
- }
88
+ },
89
+ "default": "./dist/esm/tsconfig/react-library.json"
84
90
  },
85
91
  "./tsconfig/react-router.json": {
86
92
  "import": {
87
- "types": "./dist/esm/tsconfig/react-router.json",
88
93
  "default": "./dist/esm/tsconfig/react-router.json"
89
- }
94
+ },
95
+ "default": "./dist/esm/tsconfig/react-router.json"
90
96
  },
91
97
  "./vitest/flakiness-reporter": {
92
98
  "import": {
@@ -148,17 +154,17 @@
148
154
  "registry": "https://registry.npmjs.org/"
149
155
  },
150
156
  "scripts": {
151
- "build": "tshy",
157
+ "build": "tshy && bun scripts/normalize-tsconfig-json-exports.ts",
152
158
  "prepublishOnly": "vp run build",
153
159
  "typecheck": "tsc --noEmit",
154
160
  "lint:pkg": "publint && attw --pack . --profile esm-only"
155
161
  },
156
162
  "dependencies": {
157
- "@webpresso/agent-core": "0.1.0",
158
- "@vitejs/plugin-react": "^6.0.2",
159
- "vite": "^8.0.14",
160
- "vite-plus": "^0.1.22",
161
- "vitest": "^4.1.7"
163
+ "@vitejs/plugin-react": "^6.0.3",
164
+ "@webpresso/agent-core": "0.1.2",
165
+ "vite": "^8.1.1",
166
+ "vite-plus": "^0.2.1",
167
+ "vitest": "^4.1.9"
162
168
  },
163
169
  "peerDependencies": {
164
170
  "@cloudflare/vitest-pool-workers": "*",
@@ -201,11 +207,12 @@
201
207
  "src/**/__fixtures__/**"
202
208
  ],
203
209
  "exports": {
204
- "./repo-root": "./src/repo-root/index.ts",
205
- "./process": "./src/process/index.ts",
206
- "./e2e": "./src/e2e/index.ts",
207
210
  "./deploy": "./src/deploy/index.ts",
208
211
  "./dev": "./src/dev/index.ts",
212
+ "./e2e": "./src/e2e/index.ts",
213
+ "./playwright/quality-scaffold": "./src/playwright/quality-scaffold.ts",
214
+ "./process": "./src/process/index.ts",
215
+ "./repo-root": "./src/repo-root/index.ts",
209
216
  "./stryker": "./src/stryker/index.ts",
210
217
  "./tsconfig/base.json": "./src/tsconfig/base.json",
211
218
  "./tsconfig/cloudflare.json": "./src/tsconfig/cloudflare.json",