@lapxo/bound 0.2.2 → 0.2.4
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/.github/workflows/release.yml +67 -0
- package/.github/workflows/test.yml +35 -0
- package/CITATION.cff +19 -0
- package/TARGET.bound +80 -21
- package/dist/cli/accept.js +103 -71
- package/dist/cli/place.js +3 -2
- package/dist/cli/standing-result.js +3 -5
- package/dist/cli/takes.js +4 -3
- package/dist/cli/verb.js +2 -1
- package/dist/engine/ports.d.ts +6 -1
- package/dist/engine/ports.js +23 -9
- package/dist/fold/claims.d.ts +29 -0
- package/dist/fold/claims.js +2 -1
- package/dist/fold/closed.js +2 -1
- package/dist/fold/digests.js +7 -7
- package/dist/host/admitted-place.js +3 -31
- package/dist/host/call-context.d.ts +20 -0
- package/dist/host/call-context.js +14 -0
- package/dist/host/capsule-process.js +2 -1
- package/dist/host/capsule.js +7 -4
- package/dist/host/commit-result.d.ts +6 -0
- package/dist/host/commit-result.js +5 -0
- package/dist/host/contextual-place.js +9 -14
- package/dist/host/host-controls.js +19 -0
- package/dist/host/in-process-act.d.ts +82 -0
- package/dist/host/in-process-act.js +84 -0
- package/dist/host/in-process-context.d.ts +46 -0
- package/dist/host/in-process-context.js +91 -0
- package/dist/host/in-process-root.d.ts +117 -0
- package/dist/host/in-process-root.js +84 -0
- package/dist/host/in-process.d.ts +41 -0
- package/dist/host/in-process.js +55 -0
- package/dist/host/index.d.ts +15 -0
- package/dist/host/index.js +7 -0
- package/dist/host/native/loader.js +1 -1
- package/dist/host/native/module-closure.d.ts +35 -0
- package/dist/host/native/module-closure.js +34 -3
- package/dist/host/native/module-delivery.d.ts +62 -0
- package/dist/host/native/module-delivery.js +151 -0
- package/dist/host/native/module-syntax.js +3 -1
- package/dist/host/native-receiver.d.ts +19 -0
- package/dist/host/native-receiver.js +25 -0
- package/dist/host/order.js +2 -0
- package/dist/host/place-act-transaction.d.ts +24 -0
- package/dist/host/place-act-transaction.js +78 -0
- package/dist/host/place-clock-selection.d.ts +55 -0
- package/dist/host/place-clock-selection.js +1 -1
- package/dist/host/ports/local-act.d.ts +44 -0
- package/dist/host/ports/local-act.js +13 -2
- package/dist/host/ports/place-act.d.ts +49 -0
- package/dist/host/ports/place-act.js +19 -54
- package/dist/host/ports/publication.d.ts +10 -0
- package/dist/host/root-clock-source.d.ts +86 -0
- package/dist/host/root-clock-source.js +7 -5
- package/dist/host/signature-era.js +12 -0
- package/dist/host/signing.js +1 -1
- package/dist/host/source-content.js +2 -1
- package/dist/host/standing-carrier.js +18 -0
- package/dist/host/standing-projection.js +50 -0
- package/dist/land/act.js +60 -26
- package/dist/observe/run.js +2 -1
- package/dist/observe/runner.js +16 -8
- package/docs/contracts/closure-delivery.md +23 -0
- package/docs/contracts/closure-delivery.publication.json +25 -0
- package/docs/contracts/native-host.md +21 -0
- package/docs/contracts/native-host.publication.json +25 -0
- package/docs/contracts/native-publication.inventory.json +2 -1
- package/docs/contracts/publication.inventory.json +29 -0
- package/docs/guide.md +10 -0
- package/docs/reference.md +39 -0
- package/docs/why.md +109 -0
- package/package.json +43 -2
- package/receipts.bound +10405 -9625
- package/samples/module-delivery/inputs/delivery.json +1 -0
- package/samples/native-host/no.json +10 -0
- package/samples/native-host/yes.json +20 -0
- package/samples/no/module-delivery/delivery.json +1 -0
- package/vectors/native/module-delivery.vector.json +32 -0
- package/vectors/native/native-host.vector.json +62 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
name: release
|
|
2
|
+
on:
|
|
3
|
+
workflow_run:
|
|
4
|
+
workflows: [tag]
|
|
5
|
+
types: [completed]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
jobs:
|
|
8
|
+
stage:
|
|
9
|
+
if: github.event_name == 'workflow_dispatch' || (github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'main')
|
|
10
|
+
concurrency: release-delivery
|
|
11
|
+
environment: release
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
permissions:
|
|
14
|
+
contents: write
|
|
15
|
+
id-token: write
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
with:
|
|
19
|
+
ref: ${{ github.event.workflow_run.head_sha || github.sha }}
|
|
20
|
+
- uses: actions/setup-node@v4
|
|
21
|
+
with:
|
|
22
|
+
node-version: 24
|
|
23
|
+
- run: npm ci --ignore-scripts
|
|
24
|
+
- run: npm run build
|
|
25
|
+
- run: npm install --global npm@'12.1.0' --ignore-scripts
|
|
26
|
+
- name: Prepare release
|
|
27
|
+
env:
|
|
28
|
+
GH_TOKEN: ${{ github.token }}
|
|
29
|
+
run: |
|
|
30
|
+
set -euo pipefail
|
|
31
|
+
TAG="v$(node -p "require('./package.json').version")"
|
|
32
|
+
printf 'TAG=%s\n' "$TAG" >> "$GITHUB_ENV"
|
|
33
|
+
git fetch origin "refs/tags/$TAG:refs/tags/$TAG"
|
|
34
|
+
gh api --paginate "repos/$GITHUB_REPOSITORY/releases" --jq '.[].tag_name' > "$RUNNER_TEMP/release-tags"
|
|
35
|
+
if grep -Fxq "$TAG" "$RUNNER_TEMP/release-tags"; then
|
|
36
|
+
printf 'RELEASE %s · exists\n' "$TAG"
|
|
37
|
+
else
|
|
38
|
+
gh release create "$TAG" --verify-tag --draft --title "$TAG" --generate-notes
|
|
39
|
+
printf 'RELEASE %s · draft created · awaiting signed assets\n' "$TAG"
|
|
40
|
+
fi
|
|
41
|
+
- name: Read owner approval
|
|
42
|
+
env:
|
|
43
|
+
GH_TOKEN: ${{ github.token }}
|
|
44
|
+
run: |
|
|
45
|
+
set -euo pipefail
|
|
46
|
+
mkdir .release
|
|
47
|
+
gh release download "$TAG" --pattern approval-signed --dir .release
|
|
48
|
+
node dist/cli/verb.js fold --as release .release/approval-signed > .release/verdict
|
|
49
|
+
cat .release/verdict
|
|
50
|
+
- name: Stage the approved release archive
|
|
51
|
+
env:
|
|
52
|
+
GH_TOKEN: ${{ github.token }}
|
|
53
|
+
run: |
|
|
54
|
+
set -euo pipefail
|
|
55
|
+
read -r status digest archive source extra < .release/verdict
|
|
56
|
+
test "$status" = READY
|
|
57
|
+
test -z "$extra"
|
|
58
|
+
gh release download "$TAG" --pattern "$archive" --dir .release
|
|
59
|
+
printf '%s %s\n' "${digest#sha256:}" ".release/$archive" | sha256sum -c -
|
|
60
|
+
expected="$(node -p "require('./package.json').name+'@'+require('./package.json').version")"
|
|
61
|
+
actual="$(tar -xOf ".release/$archive" package/package.json | node -p "const p=JSON.parse(require('fs').readFileSync(0,'utf8'));p.name+'@'+p.version")"
|
|
62
|
+
test "$actual" = "$expected"
|
|
63
|
+
printf 'SOURCE release/%s/%s · %s · declared %s\n' "$TAG" "$archive" "$digest" "$source"
|
|
64
|
+
gh release edit "$TAG" --draft=false
|
|
65
|
+
printf 'RELEASE %s · published · %s\n' "$TAG" "$digest"
|
|
66
|
+
npm stage publish ".release/$archive" --access public --ignore-scripts
|
|
67
|
+
printf 'STAGED %s · %s · owner approval pending\n' "$actual" "$digest"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: test
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: [main]
|
|
5
|
+
pull_request:
|
|
6
|
+
permissions:
|
|
7
|
+
contents: read
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
strategy:
|
|
11
|
+
fail-fast: false
|
|
12
|
+
matrix:
|
|
13
|
+
node: [22, 24]
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
persist-credentials: false
|
|
19
|
+
- uses: actions/setup-node@v4
|
|
20
|
+
with:
|
|
21
|
+
node-version: ${{ matrix.node }}
|
|
22
|
+
- run: npm ci
|
|
23
|
+
- run: npm run build
|
|
24
|
+
- name: Run tests
|
|
25
|
+
run: |
|
|
26
|
+
set -euo pipefail
|
|
27
|
+
npm test 2>&1 | tee "$RUNNER_TEMP/bound-tests.log"
|
|
28
|
+
- run: npm pack --pack-destination "$RUNNER_TEMP" --silent
|
|
29
|
+
- name: Preserve test logs
|
|
30
|
+
if: always()
|
|
31
|
+
uses: actions/upload-artifact@v4
|
|
32
|
+
with:
|
|
33
|
+
name: bound-node-${{ matrix.node }}
|
|
34
|
+
path: ${{ runner.temp }}/bound-tests.log
|
|
35
|
+
if-no-files-found: ignore
|
package/CITATION.cff
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
message: "Cite it by the paper it rests on, Two-Sided Constraints on a Valued Lattice."
|
|
3
|
+
type: software
|
|
4
|
+
title: "@lapxo/bound"
|
|
5
|
+
version: "0.2.4"
|
|
6
|
+
authors:
|
|
7
|
+
- name: "Lapxo"
|
|
8
|
+
license: "MIT"
|
|
9
|
+
preferred-citation:
|
|
10
|
+
type: article
|
|
11
|
+
title: "Two-Sided Constraints on a Valued Lattice"
|
|
12
|
+
authors:
|
|
13
|
+
- family-names: "Ochoa"
|
|
14
|
+
given-names: "N."
|
|
15
|
+
year: 2026
|
|
16
|
+
version: "1.0.0"
|
|
17
|
+
publisher:
|
|
18
|
+
name: "Zenodo"
|
|
19
|
+
doi: "10.5281/zenodo.21858428"
|