@naulon/enforce 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.
package/README.md CHANGED
@@ -54,7 +54,7 @@ import { httpQuoteSource } from "@naulon/enforce";
54
54
 
55
55
  export const middleware = createNaulonMiddleware(
56
56
  {
57
- publisher: { id: "your-site", articlePrefixes: ["/articles/"] },
57
+ publisher: { id: "your-site", articlePrefixes: ["articles"] },
58
58
  quote: httpQuoteSource("https://<your-control-plane>/_naulon/quote", process.env.NAULON_API_KEY!),
59
59
  verifyUrl: "https://<your-control-plane>/_naulon/verify",
60
60
  apiKey: process.env.NAULON_API_KEY!,
@@ -1 +1 @@
1
- {"version":3,"file":"build402.d.ts","sourceRoot":"","sources":["../src/build402.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAY1C,eAAO,MAAM,mBAAmB,QAA+B,CAAC;AAEhE,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAC5D,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAC1D,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAE1D,mEAAmE;AACnE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;6EACyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,mBAAmB,CAgBnE;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAE9D;AAED;;;;;;;;mCAQmC;AACnC;;oFAEoF;AACpF,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;IACxE,YAAY,EAAE,mBAAmB,CAAC;IAClC,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,CAwFA"}
1
+ {"version":3,"file":"build402.d.ts","sourceRoot":"","sources":["../src/build402.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAY1C,eAAO,MAAM,mBAAmB,QAA+B,CAAC;AAEhE,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAC5D,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAC1D,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAE1D,mEAAmE;AACnE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;6EACyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,mBAAmB,CAkBnE;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAE9D;AAED;;;;;;;;mCAQmC;AACnC;;oFAEoF;AACpF,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;IACxE,YAAY,EAAE,mBAAmB,CAAC;IAClC,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,CAwFA"}
package/dist/build402.js CHANGED
@@ -13,7 +13,7 @@
13
13
  * co-author split is recorded on the event and reconciled by the attribution
14
14
  * service's onward payouts — see packages/attribution.
15
15
  */
16
- import { activeNetwork, gatewayExtra, getConfig, primaryPayee, splitAuthorLegs, toAtomicUsdc, } from "@naulon/shared";
16
+ import { activeNetwork, gatewayExtra, getConfig, getNetwork, primaryPayee, splitAuthorLegs, toAtomicUsdc, } from "@naulon/shared";
17
17
  import { issueNonce } from "./nonce.js";
18
18
  const cfg = getConfig();
19
19
  // Validity window (seconds) we advertise in the x402 quote — the payer signs
@@ -30,7 +30,9 @@ export const PAYMENT_SIGNATURE_HEADER = "payment-signature";
30
30
  export const PAYMENT_REQUIRED_HEADER = "PAYMENT-REQUIRED";
31
31
  export const PAYMENT_RESPONSE_HEADER = "PAYMENT-RESPONSE";
32
32
  export function buildRequirements(quote) {
33
- const net = activeNetwork();
33
+ // Per-tenant chain when the quote carries one (control-plane supplied), else the
34
+ // fleet default — so the single-tenant gate advertises activeNetwork() unchanged.
35
+ const net = quote.network ? getNetwork(quote.network) : activeNetwork();
34
36
  return {
35
37
  scheme: "exact",
36
38
  network: net.network,
@@ -1 +1 @@
1
- {"version":3,"file":"build402.js","sourceRoot":"","sources":["../src/build402.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build402.js","sourceRoot":"","sources":["../src/build402.ts"],"names":[],"mappings":"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"}
package/dist/pricing.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * price) arrives on the `PublisherConfig` — this function reads no global config, so
8
8
  * one gate prices many publishers correctly.
9
9
  */
10
- import { type AuthorShare, type PayoutLeg, type PublisherConfig, type TollKind, type Usdc } from "@naulon/shared";
10
+ import { type AuthorShare, type NetworkName, type PayoutLeg, type PublisherConfig, type TollKind, type Usdc } from "@naulon/shared";
11
11
  export interface Quote {
12
12
  slug: string;
13
13
  title: string;
@@ -42,6 +42,13 @@ export interface Quote {
42
42
  * one, so the default single-tenant gate is unaffected.
43
43
  */
44
44
  memoId?: string;
45
+ /**
46
+ * Per-tenant settlement chain, carried from `PublisherConfig.settlementNetwork`.
47
+ * Read by `build402`/`buildRequirements` to advertise the tenant's chain in the
48
+ * 402, and resolved per-request on the settle path. Absent ⇒ `activeNetwork()`
49
+ * (fleet default), byte-identical to the single-tenant toll.
50
+ */
51
+ network?: NetworkName;
45
52
  }
46
53
  /**
47
54
  * Price a toll event for one publisher. Citations cost more than a single read (a
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB;;;;;;OAMG;IACH,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB;;;;;;;OAOG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CACzB,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CA2B5B"}
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB;;;;;;OAMG;IACH,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB;;;;;;;OAOG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CACzB,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CA8B5B"}
package/dist/pricing.js CHANGED
@@ -39,6 +39,9 @@ export async function quote(publisher, slug, kind) {
39
39
  const memoId = publisher.memoId?.({ slug: credits.slug, kind });
40
40
  return memoId ? { memoId } : {};
41
41
  })(),
42
+ // Per-tenant settlement chain. Spread so an unset field leaves the key absent
43
+ // entirely — build402 then reads activeNetwork(), byte-identical to the default.
44
+ ...(publisher.settlementNetwork ? { network: publisher.settlementNetwork } : {}),
42
45
  };
43
46
  }
44
47
  //# sourceMappingURL=pricing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,aAAa,EACb,IAAI,GAML,MAAM,gBAAgB,CAAC;AAsCxB;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,SAA0B,EAC1B,IAAY,EACZ,IAAc;IAEd,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAE3G,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI;QACJ,KAAK;QACL,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC;QAC9B,8EAA8E;QAC9E,8EAA8E;QAC9E,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;QACnD,+EAA+E;QAC/E,iFAAiF;QACjF,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,KAAK;QAC/C,8EAA8E;QAC9E,gFAAgF;QAChF,+EAA+E;QAC/E,kDAAkD;QAClD,GAAG,CAAC,GAAG,EAAE;YACP,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,CAAC,CAAC,EAAE;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,aAAa,EACb,IAAI,GAOL,MAAM,gBAAgB,CAAC;AA6CxB;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,SAA0B,EAC1B,IAAY,EACZ,IAAc;IAEd,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAE3G,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI;QACJ,KAAK;QACL,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC;QAC9B,8EAA8E;QAC9E,8EAA8E;QAC9E,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;QACnD,+EAA+E;QAC/E,iFAAiF;QACjF,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,KAAK;QAC/C,8EAA8E;QAC9E,gFAAgF;QAChF,+EAA+E;QAC/E,kDAAkD;QAClD,GAAG,CAAC,GAAG,EAAE;YACP,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,CAAC,CAAC,EAAE;QACJ,8EAA8E;QAC9E,iFAAiF;QACjF,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naulon/enforce",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/naulonapp/naulon.git",
@@ -30,7 +30,7 @@
30
30
  "test": "node --import tsx --test \"src/**/*.test.ts\""
31
31
  },
32
32
  "dependencies": {
33
- "@naulon/shared": "^0.0.1",
33
+ "@naulon/shared": "^0.1.1",
34
34
  "viem": "^2.52.2"
35
35
  },
36
36
  "peerDependencies": {