pi-aia-asf 0.12.1 → 0.12.2

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/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.12.2] - 2026-10-14
11
+
12
+ ### Added
13
+
14
+ - (describe changes for 0.12.2)
15
+
10
16
  ## [0.12.1] - 2026-10-14
11
17
 
12
18
  ### Added
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Type surface for the Code Health gate, which stays plain ESM JavaScript
3
+ * (lib/code-health/*.mjs) on purpose: it is a build-time harness that shells
4
+ * out to linters, and rewriting it in TypeScript would buy nothing.
5
+ *
6
+ * This file is the boundary — what index.ts is allowed to rely on. It is
7
+ * hand-maintained, and that is deliberate: a field added to `runHealth`'s
8
+ * return that is not declared here becomes a type error at the call site
9
+ * instead of a silent `any`. Before this file, the whole gate was `any` and
10
+ * `npm run check` could not have noticed.
11
+ */
12
+
13
+ export interface HealthRow {
14
+ key: string;
15
+ value: number | null;
16
+ status: string;
17
+ [extra: string]: unknown;
18
+ }
19
+
20
+ export interface HealthConfig {
21
+ enabled: boolean;
22
+ /** "block" makes violations fail the gate; "warn" reports without blocking. */
23
+ gate: { mode: "block" | "warn" | string; scope: string };
24
+ ignore?: string[];
25
+ [extra: string]: unknown;
26
+ }
27
+
28
+ export interface HealthResult {
29
+ /** Human-readable report — what the `/asf health` command prints. */
30
+ text: string;
31
+ /** Populated only with `--json`. */
32
+ json: unknown;
33
+ /** 1 only when the gate is configured to block and the verdict is unhealthy. */
34
+ exitCode: 0 | 1;
35
+ healthy: boolean;
36
+ rows: HealthRow[];
37
+ config: HealthConfig;
38
+ }
39
+
40
+ export interface HealthDeps {
41
+ readFile?: (path: string) => string | null;
42
+ tools?: unknown;
43
+ [extra: string]: unknown;
44
+ }
45
+
46
+ export declare function runHealth(
47
+ projectRoot: string,
48
+ args?: string[],
49
+ deps?: HealthDeps,
50
+ ): Promise<HealthResult>;
51
+
52
+ export declare function parseArgs(args: string[]): Record<string, boolean | string>;
53
+
54
+ export declare const BASELINE_FILE: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-aia-asf",
3
- "version": "0.12.1",
3
+ "version": "0.12.2",
4
4
  "description": "Ai Applied Agentic Software Factory — codifies the full software development flow: intake, research, spec capture, adversarial analysis, planning with approval gates, test-first implementation, and release. Requires pi-vigilant, pi-smart-web-search, pi-smart-fetch, and pi-aia-browser.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -31,7 +31,7 @@
31
31
  "scripts": {
32
32
  "clean": "echo 'nothing to clean'",
33
33
  "build": "echo 'nothing to build — pi loads .ts via jiti at runtime'",
34
- "check": "tsc --noEmit --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck --allowImportingTsExtensions --noCheck index.ts",
34
+ "check": "./scripts/typecheck.sh",
35
35
  "test": "./test/run-all.sh",
36
36
  "release": "./scripts/release.sh"
37
37
  },
@@ -64,10 +64,10 @@
64
64
  }
65
65
  },
66
66
  "devDependencies": {
67
- "@earendil-works/pi-agent-core": "0.83.0",
68
- "@earendil-works/pi-ai": "0.83.0",
69
- "@earendil-works/pi-coding-agent": "0.83.0",
70
- "typebox": "1.1.38",
67
+ "@earendil-works/pi-agent-core": "1.2.0",
68
+ "@earendil-works/pi-ai": "1.2.0",
69
+ "@earendil-works/pi-coding-agent": "1.2.0",
70
+ "typebox": "1.3.27",
71
71
  "typescript": "5.9.3"
72
72
  }
73
73
  }