@kenkaiiii/ggcoder-eyes 0.1.0 → 0.1.1

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":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEtE,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,CAAC,CAAC;IACX,eAAe,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1E,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB,CAAC;AAIF,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,QAAQ,CASlE"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEtE,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,CAAC,CAAC;IACX,eAAe,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1E,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB,CAAC;AAgDF,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,QAAQ,CAuBlE"}
package/dist/manifest.js CHANGED
@@ -1,17 +1,69 @@
1
1
  import { existsSync, readFileSync } from "node:fs";
2
2
  import { isEyesActive, manifestPath } from "./journal.js";
3
3
  const EMPTY = { version: 1, probes: [] };
4
+ const VALID_STATUSES = new Set([
5
+ "pending",
6
+ "built",
7
+ "verified",
8
+ "failed",
9
+ ]);
10
+ const VALID_PHASES = new Set([
11
+ "research",
12
+ "design",
13
+ "build",
14
+ "verify",
15
+ "document",
16
+ ]);
17
+ function coerceString(v, fallback) {
18
+ return typeof v === "string" && v.length > 0 ? v : fallback;
19
+ }
20
+ function coerceProbe(raw) {
21
+ if (!raw || typeof raw !== "object")
22
+ return null;
23
+ const r = raw;
24
+ // name + capability are load-bearing — if both missing we can't meaningfully
25
+ // render or re-install the probe. Drop silently rather than render "?".
26
+ const name = typeof r.name === "string" && r.name.length > 0 ? r.name : null;
27
+ const capability = typeof r.capability === "string" && r.capability.length > 0 ? r.capability : null;
28
+ if (!name || !capability)
29
+ return null;
30
+ const status = typeof r.status === "string" && VALID_STATUSES.has(r.status)
31
+ ? r.status
32
+ : "pending";
33
+ const probe = {
34
+ name,
35
+ capability,
36
+ impl: coerceString(r.impl, "unknown"),
37
+ script: coerceString(r.script, `.gg/eyes/${name}.sh`),
38
+ status,
39
+ };
40
+ if (typeof r.error === "string" && r.error.length > 0)
41
+ probe.error = r.error;
42
+ return probe;
43
+ }
4
44
  export function readManifest(cwd = process.cwd()) {
5
45
  if (!isEyesActive(cwd))
6
46
  return EMPTY;
7
47
  const p = manifestPath(cwd);
8
48
  if (!existsSync(p))
9
49
  return EMPTY;
50
+ let raw;
10
51
  try {
11
- return JSON.parse(readFileSync(p, "utf8"));
52
+ raw = JSON.parse(readFileSync(p, "utf8"));
12
53
  }
13
54
  catch {
14
55
  return EMPTY;
15
56
  }
57
+ if (!raw || typeof raw !== "object")
58
+ return EMPTY;
59
+ const r = raw;
60
+ const probes = Array.isArray(r.probes)
61
+ ? r.probes.map(coerceProbe).filter((p) => p !== null)
62
+ : [];
63
+ const manifest = { version: 1, probes };
64
+ if (typeof r.phase_completed === "string" && VALID_PHASES.has(r.phase_completed)) {
65
+ manifest.phase_completed = r.phase_completed;
66
+ }
67
+ return manifest;
16
68
  }
17
69
  //# sourceMappingURL=manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAmB1D,MAAM,KAAK,GAAa,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAEnD,MAAM,UAAU,YAAY,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACtD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAa,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kenkaiiii/ggcoder-eyes",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "description": "Project-agnostic perception probes for coding agents — screenshots, logs, APIs, capture sinks",
6
6
  "license": "MIT",