{"_id":"@bpmsoftwaresolutions/sej-runtime-projector","name":"@bpmsoftwaresolutions/sej-runtime-projector","dist-tags":{"latest":"0.5.3"},"versions":{"0.5.3":{"name":"@bpmsoftwaresolutions/sej-runtime-projector","version":"0.5.3","description":"Complete SEJ Runtime Projector distribution for Node.js, Python, and .NET.","repository":{"type":"git","url":"git+https://github.com/BPMSoftwareSolutions/sej-runtime-projector.git"},"main":"packages/node/src/projector.cjs","type":"commonjs","exports":{".":"./packages/node/src/projector.cjs","./code-projection":"./packages/node/src/code-projection.cjs","./code-projection-provider":"./packages/node/src/code-projection-provider.cjs"},"bin":{"sej-projector":"packages/node/src/cli.cjs"},"dependencies":{"@bpmsoftwaresolutions/sej-resolver-node":"latest"},"devDependencies":{"ajv":"8.20.0"},"publishConfig":{"access":"public"},"scripts":{"test":"powershell -NoProfile -ExecutionPolicy Bypass -File ./conformance/run-all.ps1","test:node":"npm test --prefix ./packages/node","pattern-lab":"node ./examples/projection-patterns/pattern-lab.cjs","pattern-generate":"node ./examples/projection-patterns/cli-generate.cjs","agentary":"node ./examples/agentary/project.cjs"},"_id":"@bpmsoftwaresolutions/sej-runtime-projector@0.5.3","bugs":{"url":"https://github.com/BPMSoftwareSolutions/sej-runtime-projector/issues"},"homepage":"https://github.com/BPMSoftwareSolutions/sej-runtime-projector#readme","_integrity":"sha512-styg+hYLgf2Tad7IuVz3RWoIxvVLFo0mBR3CCNGpeB8dcBUbTo21hPn8OEp/2gFYvYxjjfVP5c0ts2CzMDWRLA==","_resolved":"D:\\a\\sej-runtime-projector\\sej-runtime-projector\\artifacts\\bpmsoftwaresolutions-sej-runtime-projector-0.5.3.tgz","_from":"file:D:\\a\\sej-runtime-projector\\sej-runtime-projector\\artifacts\\bpmsoftwaresolutions-sej-runtime-projector-0.5.3.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-styg+hYLgf2Tad7IuVz3RWoIxvVLFo0mBR3CCNGpeB8dcBUbTo21hPn8OEp/2gFYvYxjjfVP5c0ts2CzMDWRLA==","shasum":"c7551f9b601796ea050fd8b4e5b03ae1bb00d8c7","tarball":"https://registry.npmjs.org/@bpmsoftwaresolutions/sej-runtime-projector/-/sej-runtime-projector-0.5.3.tgz","fileCount":22,"unpackedSize":132599,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCkYZp8QILAfho90iMYGH2Z+JN+oCiwecmGtNC3Qfok1QIhAIITvOUIdtBsnG/mEu8HJcvlHJHkTdnUFuhIqKyvpk/J"}]},"_npmUser":{"name":"bpmsoftwaresolutions","email":"sjones@bpmsoftwaresolutions.com"},"directories":{},"maintainers":[{"name":"bpmsoftwaresolutions","email":"sjones@bpmsoftwaresolutions.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sej-runtime-projector_0.5.3_1784800126832_0.7996233523255258"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-23T09:48:46.540Z","0.5.3":"2026-07-23T09:48:47.015Z","modified":"2026-07-23T09:48:47.252Z"},"maintainers":[{"name":"bpmsoftwaresolutions","email":"sjones@bpmsoftwaresolutions.com"}],"description":"Complete SEJ Runtime Projector distribution for Node.js, Python, and .NET.","homepage":"https://github.com/BPMSoftwareSolutions/sej-runtime-projector#readme","repository":{"type":"git","url":"git+https://github.com/BPMSoftwareSolutions/sej-runtime-projector.git"},"bugs":{"url":"https://github.com/BPMSoftwareSolutions/sej-runtime-projector/issues"},"readme":"# SEJ Runtime Projector\n\nThe SEJ Runtime Projector is a contract-driven workspace reconciler. Its generic plan/apply core consumes authorized projection packages. Its direct code surface binds authoritative SEJ semantics to a client-owned execution-body and language disposition, then constructs the package internally. The repository enforces filesystem safety, creates deterministic plans, applies compare-and-swap changes, and emits receipts.\n\nThe projector does not invent target mechanics, paths, naming, DTO stitching, conditionality, or source templates. The SEJ owns operations and responsibility identity. The client disposition owns the execution-body profile and native code bodies; the optional CLI language argument only filters those client entries.\n\nAll three packages expose direct code-body projection without a separate request, package, feature-body authority, or semantic-analysis pass. The projector rejects a client disposition whose SEJ contract, responsibility, or declared execution operations do not match the authoritative SEJ.\n\n[`code-projection-sej.valid.v1.json`](contracts/conformance/corpus/code-projection-sej.valid.v1.json) is the semantic authority. [`client-code-projection.valid.v1.json`](contracts/conformance/corpus/client-code-projection.valid.v1.json) is the client-owned execution-body and native-language disposition. The latter owns paths, language labels, media types, function signatures, port calls, and composition without moving semantic operation authority out of SEJ.\n\nThe projected, standalone runnable files are checked in under [`conformance/runnable-code-projection`](conformance/runnable-code-projection). Each can be executed directly and prints the same classification result.\n\n## Protocol\n\nThe wire contracts live in [`contracts/schemas`](contracts/schemas):\n\n- `projection-package.schema.v1.json` — immutable producer output containing opaque desired entries and supplied lineage hashes.\n- `client-code-projection.schema.v1.json` — client-owned execution-body profile and native code-body disposition bound to an SEJ contract.\n- `project-request.schema.v1.json` — workspace, bounds, explicit mode, package binding, and optional apply authorization.\n- `projection-plan.schema.v1.json` — read-only comparison, preimages, ownership-proof results, and plan hash.\n- `projection-receipt.schema.v1.json` — applied result and receipt hash usable as a future replacement proof.\n\nEntries currently carry UTF-8 text. Their content is opaque to the projector and may contain any valid text, including no generated header. A package must declare a qualified producer, `PROJECTION_ELIGIBLE`, five lineage hashes, an output-scope hash, and a package hash over its canonical contents.\n\nAn existing artifact can only be replaced when the entry references a prior receipt and the request supplies that exact receipt. The receipt must prove the same canonical workspace, path, owner, and observed content hash. Text markers never authorize replacement.\n\n## Commands\n\nPlan without writing:\n\n```text\nsej-projector plan <project-request.json> <projection-package.json>\n```\n\nApply a previously produced plan:\n\n```text\nsej-projector apply <projection-plan.json>\n```\n\nResolve an SEJ plus client disposition to a package, or project them directly:\n\n```text\nsej-projector resolve-code <sej.json> <client-projection.json> [language]\nsej-projector project-code <sej.json> <client-projection.json> <workspace-root> [language]\n```\n\nOmit the language to emit every body admitted by the client disposition. The equivalent APIs are `resolveCodeProjection` / `projectCode` in Node, `resolve_code_projection` / `project_code` in Python, and `CodeProjection.ResolveCodeProjection` / `CodeProjection.ProjectCode` in C#.\n\n`mode` is required in every project request. The projector never infers `apply` from an omitted value. An apply request also requires an authorization whose hash binds the package, eligibility result, and target qualification.\n\nThe Node, Python, and C# packages implement the same canonical JSON, hash, path-safety, preimage, ownership-proof, staging, rollback, and receipt protocol. They have no dependency on an authority registry, policy evaluator, language renderer, or runtime adapter.\n\n## Projection pattern lab\n\nThe executable lab in [`examples/projection-patterns/pattern-lab.cjs`](examples/projection-patterns/pattern-lab.cjs) shows how a host can use the thin layer with different producer strategies:\n\n- fan one logical artifact out to TypeScript, Python, and C# paths;\n- atomically batch Markdown, JSON, and plain-text artifacts;\n- apply a receipt-bound refactoring update with replacements plus a new file;\n- emit different layouts for different qualified targets; and\n- demonstrate that preimage drift blocks a batch before any new file is created.\n\nIt also includes a small semantic archaeology experiment that observes one feature, writes the candidate observation and admitted authority side by side, and emits a behavioral continuity report.\nFor a denser client-facing proof, the generator now also emits an enterprise proof pack with a three-receipt chain, a metrics dossier, and a drift-blocked safety proof.\n\nRun it with:\n\n```text\nnpm run pattern-lab --prefix packages/node\n```\n\nFor inspectable workspaces, run the CLI-backed generator:\n\n```text\nnpm run pattern-generate --prefix packages/node\n```\n\nThe host driver authors only the package/request JSON, then invokes the `sej-projector plan` and `sej-projector apply` commands. The resulting code bodies and metadata are written under `generated/projection-patterns/`, including TypeScript, Python, and C# fan-out, a receipt-bound refactor, target layouts, and an atomic preflight failure.\n\nThe host pattern is always the same: produce and hash a package, bind a request to its package and authorization, invoke the CLI `plan` command, inspect the plan, invoke the CLI `apply` command, and persist the receipt for the next generation. The producer controls the artifact set and paths; the projector controls only workspace safety and reconciliation.\n\n## Agentary executable client\n\n[`examples/agentary/agentary.sej.json`](examples/agentary/agentary.sej.json) is a semantic executable application definition: it describes an intake analyst, delivery planner, execution coordinator, workflow actions, and priority/label policy. [`examples/agentary/project.cjs`](examples/agentary/project.cjs) acts as the qualified producer. It renders a real multi-file Node application, packages those opaque bodies, invokes the projector CLI, and then runs the projected application and its executable test.\n\nRun it with:\n\n```text\nnpm run agentary --prefix packages/node\n```\n\nIf npm is not installed, invoke the producer directly with Node:\n\n```text\nnode examples/agentary/project.cjs\n```\n\nIn the bundled-runtime environment used by this workspace, the equivalent command is:\n\n```text\n/Users/wrenethajones/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/bin/node examples/agentary/project.cjs\n```\n\nInspect `generated/agentary/workspace/`, `generated/agentary/projection-plan.json`, `generated/agentary/projection-receipt.json`, and `generated/agentary/execution-result.json`. The generated app classifies a checkout outage as high priority, adds a human-review step from semantic policy, executes all four workflow steps, and emits the resulting report.\n\n## Verification\n\nRun the package tests with the repository's bundled runtimes or the corresponding installed language runtimes:\n\n```text\nnpm test --prefix packages/node\nPYTHONPATH=packages/python/src python -m unittest discover -s packages/python/tests -p 'test_*.py'\ndotnet run --project packages/csharp/tests/Loc.SejProjector.Tests.csproj\n```\n\nThe conformance scripts also check package isolation, JSON validity, protocol alignment, and production-source domain neutrality.\n","readmeFilename":"README.md","_rev":"1-22b61c8c3e8a26c2d8956ded67a6d316"}