clone

nostr relays on demand at <name>.bind.ws: claim one with your key, pay in zaps past the free allowance

git: ntig exposes bounded indexed object reads and lazy thin-pack bases

Dami committed 621dbc9
commit
621dbc9df32b2e23e64326e500a749160ea8f862
parent
ad32f9843594c08f72376a02dc66b6f7bd77eb49
author
Dami <dami.etoile@gmail.com>
5 files changed, +33 -69
Mpackage-lock.json29++----------
Mpackage.json3+-
Mvendor/README.md70+++++++++++-------------------
Avendor/ntig-0.5.0.tgzbin
Avendor/ntig-source-0.5.0.tar.gzbin
M package-lock.json +5 -24
@@ -8,8 +8,9 @@
88 "license": "MIT",99 "dependencies": {1010 "@noble/hashes": "^2.4.0",11+ "fflate": "0.8.3",1112 "nostr-tools": "^2.25.1",12- "ntig": "file:vendor/ntig-0.4.0.tgz"13+ "ntig": "file:vendor/ntig-0.5.0.tgz"1314 },1415 "devDependencies": {1516 "@cloudflare/vitest-pool-workers": "^0.22.0",
@@ -1708,7 +1709,6 @@
17081709 "cpu": [17091710 "ppc64"17101711 ],1711- "dev": true,17121712 "license": "Apache-2.0",17131713 "optional": true,17141714 "os": [
@@ -1725,7 +1725,6 @@
17251725 "cpu": [17261726 "arm64"17271727 ],1728- "dev": true,17291728 "license": "Apache-2.0",17301729 "optional": true,17311730 "os": [
@@ -1742,7 +1741,6 @@
17421741 "cpu": [17431742 "x64"17441743 ],1745- "dev": true,17461744 "license": "Apache-2.0",17471745 "optional": true,17481746 "os": [
@@ -1759,7 +1757,6 @@
17591757 "cpu": [17601758 "arm64"17611759 ],1762- "dev": true,17631760 "license": "Apache-2.0",17641761 "optional": true,17651762 "os": [
@@ -1776,7 +1773,6 @@
17761773 "cpu": [17771774 "x64"17781775 ],1779- "dev": true,17801776 "license": "Apache-2.0",17811777 "optional": true,17821778 "os": [
@@ -1793,7 +1789,6 @@
17931789 "cpu": [17941790 "arm"17951791 ],1796- "dev": true,17971792 "license": "Apache-2.0",17981793 "optional": true,17991794 "os": [
@@ -1810,7 +1805,6 @@
18101805 "cpu": [18111806 "arm64"18121807 ],1813- "dev": true,18141808 "license": "Apache-2.0",18151809 "optional": true,18161810 "os": [
@@ -1827,7 +1821,6 @@
18271821 "cpu": [18281822 "loong64"18291823 ],1830- "dev": true,18311824 "license": "Apache-2.0",18321825 "optional": true,18331826 "os": [
@@ -1844,7 +1837,6 @@
18441837 "cpu": [18451838 "mips64el"18461839 ],1847- "dev": true,18481840 "license": "Apache-2.0",18491841 "optional": true,18501842 "os": [
@@ -1861,7 +1853,6 @@
18611853 "cpu": [18621854 "ppc64"18631855 ],1864- "dev": true,18651856 "license": "Apache-2.0",18661857 "optional": true,18671858 "os": [
@@ -1878,7 +1869,6 @@
18781869 "cpu": [18791870 "riscv64"18801871 ],1881- "dev": true,18821872 "license": "Apache-2.0",18831873 "optional": true,18841874 "os": [
@@ -1895,7 +1885,6 @@
18951885 "cpu": [18961886 "s390x"18971887 ],1898- "dev": true,18991888 "license": "Apache-2.0",19001889 "optional": true,19011890 "os": [
@@ -1912,7 +1901,6 @@
19121901 "cpu": [19131902 "x64"19141903 ],1915- "dev": true,19161904 "license": "Apache-2.0",19171905 "optional": true,19181906 "os": [
@@ -1929,7 +1917,6 @@
19291917 "cpu": [19301918 "arm64"19311919 ],1932- "dev": true,19331920 "license": "Apache-2.0",19341921 "optional": true,19351922 "os": [
@@ -1946,7 +1933,6 @@
19461933 "cpu": [19471934 "x64"19481935 ],1949- "dev": true,19501936 "license": "Apache-2.0",19511937 "optional": true,19521938 "os": [
@@ -1963,7 +1949,6 @@
19631949 "cpu": [19641950 "arm64"19651951 ],1966- "dev": true,19671952 "license": "Apache-2.0",19681953 "optional": true,19691954 "os": [
@@ -1980,7 +1965,6 @@
19801965 "cpu": [19811966 "x64"19821967 ],1983- "dev": true,19841968 "license": "Apache-2.0",19851969 "optional": true,19861970 "os": [
@@ -1997,7 +1981,6 @@
19971981 "cpu": [19981982 "x64"19991983 ],2000- "dev": true,20011984 "license": "Apache-2.0",20021985 "optional": true,20031986 "os": [
@@ -2014,7 +1997,6 @@
20141997 "cpu": [20151998 "arm64"20161999 ],2017- "dev": true,20182000 "license": "Apache-2.0",20192001 "optional": true,20202002 "os": [
@@ -2031,7 +2013,6 @@
20312013 "cpu": [20322014 "x64"20332015 ],2034- "dev": true,20352016 "license": "Apache-2.0",20362017 "optional": true,20372018 "os": [
@@ -2774,9 +2755,9 @@
27742755 "license": "MIT"27752756 },27762757 "node_modules/ntig": {2777- "version": "0.4.0",2778- "resolved": "file:vendor/ntig-0.4.0.tgz",2779- "integrity": "sha512-0sin2hkRqagR+P7y25dddYTXbyDYhcrq6qr8DJ/HAn/2SV7waVJD+cXcPh7uA4kDGbZTynpjDGoPHFNeJfp0tQ==",2758+ "version": "0.5.0",2759+ "resolved": "file:vendor/ntig-0.5.0.tgz",2760+ "integrity": "sha512-LuvBplFkwtDm9RYWyKY/AU3MC+/xaZ7iD+yk0pNQOhs6khRPbVhVgQo5VfiVqpC2cpviCQzI1gaqv4CNhkmGqg==",27802761 "license": "MIT",27812762 "dependencies": {27822763 "@scure/base": "2.4.0",
M package.json +2 -1
M vendor/README.md +26 -44
@@ -1,55 +1,37 @@
11 # Vendored dependencies22 3-`ntig-0.4.0.tgz` is the Git engine and conditional R2 WAL used by GRASP.4-The lockfile pins the archive integrity. `ntig-source-0.4.0.tar.gz` preserves5-the complete source and tests for the same build; neither artifact depends6-on a sibling checkout or a public package registry publication.3+`ntig-0.5.0.tgz` supplies Git pack validation, Smart HTTP and Nostr repository4+policy wrappers. Bindws stores Git objects, refs and retry receipts in its5+relay Durable Object's SQLite database. The package's R2 adapters remain6+available to other ntig consumers; bindws does not use them for Git storage.7+8+This is a bindws-local extension of the preserved 0.4.0 source snapshot,9+not a claim that version 0.5.0 has been published upstream. The extension10+adds indexed object metadata and selective object reads to the repository11+contract, forwards them through the Nostr policy wrappers, and resolves12+thin-pack bases on demand. Object counts, graph edges and decoded bytes13+remain bounded before payload reads.714 815 | Fact | Value |916 |---|---|10-| Source base commit | `caa8258e6cf6ec3220b89312d66860258e096f0f` |11-| Source snapshot | Working tree with GRASP extension changes; `SOURCE-SNAPSHOT.json` records every source file's SHA-256 |12-| Package SHA-256 | `f66b5bcbf2730a6ec5007d532da4db36a33515dce45d6e2ffaabcc4fe5889775` |13-| Source archive SHA-256 | `91fe9917fb575b32671bc43e3e1c6d3e64fde803253092ee62646b1fd7591fb4` |1417 | Source repository | [FelineStateMachine/ntig](https://github.com/FelineStateMachine/ntig) |18+| Source base | Preserved `ntig-source-0.4.0.tar.gz`, based on `caa8258e6cf6ec3220b89312d66860258e096f0f` with indexed reader extension changes |19+| Local extension commit | `1b2ea13880e9217bd240f3a32f9cdde05ab60e92` |20+| Source archive | `ntig-source-0.5.0.tar.gz`; `SOURCE-SNAPSHOT.json` records the source file hashes |21+| Package SHA-256 | `c0c2490987ea48215ae435ab138925179a0cb6a7557c51808c8859a20c20a00b` |22+| Source archive SHA-256 | `1701de439e7d4b00dd75984907046a796c5a8f8ff9b53c990a8b707b0b7c0dae` |1523 | License | MIT, included in both archives |16-| Supplied package toolchain | Node 26.8.1, npm 11.19.0 |24+| Supplied toolchain | Node 26.8.1, npm 11.19.0 |1725 | Library build | `npm ci --ignore-scripts`, then `npm run build:library` in the extracted source |1826 | Package build | `npm pack` in the extracted source |19-| Backend checks | `npm run check`, `npm run format:check`, `npm run pack:check` |20-21-The 0.4.0 snapshot is not represented as a published source commit. The22-source archive and its per-file manifest identify the exact reviewed bytes.23-Rebuilding the extracted snapshot produces identical tar entries and metadata;24-the gzip envelope can differ. The uncompressed tar SHA-256 is25-`f5bff1aaa7ee167396429a35ee0723b7f7eefaf893871f52c9dedd3ab03ebb25`. The package checksum above and the lockfile pin26-the exact installed archive.27-28-The source's `docs/INTEGRATION.md` describes the exported contracts, failure29-semantics, cost counters and current limits. Backend work stays in that30-repository; a dependency update records versioned archives and the lockfile31-integrity after its checks and bindws's integration checks pass.32-33-New and existing repositories remain in format 1, whose 128-transaction34-limit also stops timed ref deletion. Bindws hides expired unknown PR refs35-even when physical cleanup cannot advance. Installing 0.4.0 does not migrate36-roots. The source's `docs/CHECKPOINTS.md` describes the explicit one-way37-`checkpoint()` upgrade: every reader and writer must be upgraded first,38-and 0.1.x cannot read a format-2 root. Bindws exposes no migration endpoint39-or scheduled migration. Retained packs, receipts, manifests and orphan40-writes remain charged until relay teardown.27+| Library checks | `npm run check`, `npm run format:check`, `npm run pack:check` |4128 42-The prior `ntig-0.2.1.tgz` and `ntig-source.tar.gz` remain as the preserved43-0.2.1 package and source. The 0.3.0 release adds bounded read-only inventory44-and an R2 listing adapter; it does not migrate repositories or collect data.45-Its `docs/INVENTORY.md` defines report classes, limits and the distinction46-between current-root references and deletion authority.29+The lockfile pins the installed package archive. The complete source and tests30+are preserved beside it, so the build needs neither a sibling checkout nor a31+registry publication. The source's `docs/INTEGRATION.md` describes the exported32+contracts. Its WAL and checkpoint documentation concerns the library's R233+backend, not bindws's SQLite storage.4734 48-The 0.3.0 package and source remain preserved alongside the earlier archives.49-Version 0.4.0 adds bounded outbound Smart HTTP fetch and strengthens50-`createPrRepository`: unknown uploads require explicit opt-in, public deletion51-is refused, and metadata reads enforce accepted PR authority. Bindws opts in52-only behind its quotas and fixed expiry bookkeeping. No repository migration53-or garbage collection runs during this dependency update. The host's event54-sync and archive previews remain default-off and unadvertised; see55-[GRASP hosting](../docs/22-grasp-01-git-hosting.md).35+Earlier versioned archives remain as source provenance. Installing this36+package performs no data migration. Bindws's current storage limits and37+admission rules are in [GRASP-01 Git hosting](../docs/22-grasp-01-git-hosting.md).
A vendor/ntig-0.5.0.tgz +0 -0

Binary file.

A vendor/ntig-source-0.5.0.tar.gz +0 -0

Binary file.