@byollm/conformance 0.1.0-alpha.2 → 0.1.0-alpha.20

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/dist/index.js CHANGED
@@ -4,18 +4,28 @@ import {
4
4
  advance,
5
5
  certify,
6
6
  formatReport,
7
+ miscoveredMusts,
7
8
  ownerIdFor,
8
9
  pairDaemon,
9
10
  sleep,
10
11
  uncoveredMusts,
11
12
  waitFor
12
- } from "./chunk-PDQJJ3Q2.js";
13
+ } from "./chunk-XBHNJDI7.js";
14
+ import {
15
+ POSTURE_CHECKS,
16
+ auditDeployment,
17
+ formatPostureReport
18
+ } from "./chunk-C4OR4KM5.js";
13
19
  export {
14
20
  CHECKS,
15
21
  EchoBackend,
22
+ POSTURE_CHECKS,
16
23
  advance,
24
+ auditDeployment,
17
25
  certify,
26
+ formatPostureReport,
18
27
  formatReport,
28
+ miscoveredMusts,
19
29
  ownerIdFor,
20
30
  pairDaemon,
21
31
  sleep,
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@byollm/conformance",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "0.1.0-alpha.20",
4
4
  "description": "The BYOLLM compatibility contract — drive a real daemon against any server and assert every protocol MUST.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "bin": {
8
- "byollm-certify": "./dist/cli.js"
8
+ "byollm-certify": "./dist/cli.js",
9
+ "byollm-audit-deployment": "./dist/audit-cli.js"
9
10
  },
10
11
  "exports": {
11
12
  ".": {
@@ -21,15 +22,15 @@
21
22
  "README.md"
22
23
  ],
23
24
  "engines": {
24
- "node": ">=22.12"
25
+ "node": ">=22.14"
25
26
  },
26
27
  "dependencies": {
27
- "@byollm/protocol": "0.1.0-alpha.2",
28
- "byollm": "0.1.0-alpha.2"
28
+ "@byollm/protocol": "0.1.0-alpha.20",
29
+ "byollm": "0.1.0-alpha.20"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@supabase/supabase-js": "^2.112.2",
32
- "@byollm/server": "0.1.0-alpha.2"
33
+ "@byollm/server": "0.1.0-alpha.20"
33
34
  },
34
35
  "publishConfig": {
35
36
  "access": "public"
@@ -46,6 +47,7 @@
46
47
  "build": "tsup",
47
48
  "clean": "rm -rf dist .tsbuild",
48
49
  "certify:reference": "vitest run --project conformance --root ../..",
49
- "certify:supabase": "node --experimental-strip-types targets/supabase.ts"
50
+ "certify:supabase": "node --experimental-strip-types targets/supabase.ts",
51
+ "audit:deployed": "node dist/audit-cli.js"
50
52
  }
51
53
  }
@@ -24,7 +24,11 @@ import {
24
24
  // The built package, not `../src`: Node's type stripping does not rewrite the
25
25
  // `.js` specifiers the source uses, and certifying the published entry points
26
26
  // is closer to what a consumer actually gets.
27
- import { ByollmApp, createFetchHandler } from "@byollm/server";
27
+ import {
28
+ ByollmApp,
29
+ createFetchHandler,
30
+ generateSiteKeys,
31
+ } from "@byollm/server";
28
32
  import { supabaseStore } from "@byollm/server/supabase";
29
33
 
30
34
  const SUPABASE_URL = process.env["SUPABASE_URL"] ?? "http://127.0.0.1:54421";
@@ -37,6 +41,12 @@ const ORIGIN = "https://supabase.byollm.test";
37
41
  /** Short, because a real Postgres clock cannot be faked forward. */
38
42
  const LEASE_MS = 2_000;
39
43
  const TTL_MS = 1_500;
44
+ /**
45
+ * Short for the same reason as the two above: with no fakeable clock, an
46
+ * expiry check waits for real. The product default is ten minutes, which is
47
+ * right for a human reading a code off a screen and wrong for a suite.
48
+ */
49
+ const PAIRING_TTL_MS = 2_000;
40
50
 
41
51
  if (SERVICE_KEY === "") {
42
52
  process.stderr.write(
@@ -89,12 +99,18 @@ async function ensureUser(name: string): Promise<string> {
89
99
 
90
100
  const toName = (id: string): string => ownerNames.get(id) ?? id;
91
101
 
102
+ // Generated per run: this target is one process, so there is no scale-out
103
+ // identity problem to model here. A real deployment supplies these.
104
+ const SITE_KEYS = generateSiteKeys();
105
+
92
106
  const store = supabaseStore({ client, defaultTtlMs: TTL_MS });
93
- const app = new ByollmApp({ store });
107
+ const app = new ByollmApp({ store, siteKeys: SITE_KEYS });
94
108
  const handler = createFetchHandler({
95
109
  store,
96
110
  verificationUrl: `${ORIGIN}/settings/runners`,
111
+ siteKeys: SITE_KEYS,
97
112
  leaseMs: LEASE_MS,
113
+ pairingTtlMs: PAIRING_TTL_MS,
98
114
  });
99
115
 
100
116
  const target: ConformanceTarget = {