Human decisions
Pause a specific action and ask the responsible person for a decision.
Catalogue
Software uses abstractions to span operating systems and libraries. OA carries the same idea into capabilities supplied by local programs, operating-system facilities, and remote services. Choose the smallest abstraction your application or provider needs. Open the technical detail for contracts, clients, source publication and recorded language results.
Repository presence and a source build are separate from installed readiness. Current coverage carries the reviewed verdicts.
Pause a specific action and ask the responsible person for a decision.
Compare-and-set (CAS): a development utility that compares and replaces bytes only when their recorded value still matches.
Read effective OA settings, their sources, revisioned edits and later changes.
Keep secret bytes with the credential manager and let approved services apply them to specific requests.
Describe an artifact once and let a job provider acquire, verify and deliver it.
Resolve a capability through one local OA service while providers and service locations can change.
Use the operating system connection to identify the local program and account for permission decisions.
Use chat, embeddings, speech, transcription, live voice and images; retain video and image-batch work as durable jobs.
Submit work once, save its identity and observe, cancel or recover the same accepted work.
Write common events and let authorized tools read saved events or follow new ones.
Resolve model names and provider metadata through a shared model vocabulary.
Decide and administer which verified programs may use each capability or operator action.
Declare model servers and select eligible providers from requirements and operator policy.
Find bytes by content fingerprint and expose size-limited reading, writing and change profiles.
Turn polled or pushed values into current snapshots, quiet notices, or one callback after a burst settles.
Composition repositories implement a capability over an existing engine or local store. They remain replaceable providers behind the same application contract.
an in-process download implementation over an existing tool
Technical detail · Source publication pending
a provider module whose Go package a program composes in-process
Technical detail · Source publication pending
a provider module that runs its own process, lemonaded, which the installer declares in lemonade-image.json
Technical detail · Source publication pending
a provider module whose Go package a program composes in-process
Technical detail · Source publication pending
a provider module that runs its own process, modelbridged
a provider module that runs its own process, modelhostd
a provider module that runs its own process, pytorchd
Technical detail · Source publication pending
a provider module that runs its own process, thenoise-provider
Technical detail · Source publication pending
its definition declares a contract another process calls over the wire
a storage implementation that runs its own command
This table reproduces the generated runtime declaration and its evidence summaries. It states the recorded scope for each platform.
| Platform | Status | Runtime | Limits | Evidence |
|---|---|---|---|---|
| Windows x64, per-user installation | supported | Per-user MSI; the supervisor starts the runtime in the signed-in session. | Windows MSI packages are unsigned. The 0.3.0 installed job used Windows x64. ARM64 is cross-built; installation on ARM64 hardware is untested. | Successful 0.3.0 verify job on head ff281d02: private non-admin per-user install and cross-tool compatibility; predecessor upgrade and reinstall; non-default-folder upgrade; failed-upgrade rollback and same-version host restart; uninstall and test-session removal. |
| Windows x64, machine installation | supported | Machine MSI; a service template starts a per-session runtime for each signed-in user. | Everyone installation requires elevation. Runtime instances run in each signed-in user session. Windows MSI packages are unsigned. The 0.3.0 installed job used Windows x64. ARM64 is cross-built; installation on ARM64 hardware is untested. | Successful 0.3.0 verify job on head ff281d02: machine-scope forced-failure rollback, upgrade exclusion and predecessor removal; fresh interactive session and crash recovery; uninstall for everyone and test-session cleanup. |
| Linux amd64 with a systemd user manager | supported | Per-user tarball; install.sh registers abstraction-runtime.service with the user manager. | Trusted selection needs clone3 and waitid P_PIDFD (Linux 5.4 or newer); a sandbox denying them returns PROOF_UNAVAILABLE. 0.3.0 package qualification passed 26 installed Linux cases, with lifecycle evidence from WSL2 and a hosted Ubuntu amd64 runner. ARM64 installation, other distributions and graphical sessions are untested. | Successful 0.3.0 linux-verify job: checksum, install, package inspection and uninstall, plus the Linux disposable-account installed-lifecycle job. 0.2.0 candidate on hosted Ubuntu: installation under a disposable account and systemd user manager, readiness, a real download, result observation, removal with retained data and process cleanup passed. |
| Linux amd64 without a systemd user manager (containers, WSL without systemd, hosted CI accounts) | supported without background services | The same tarball; install.sh installs the programs, reports that no background service will run and records `timer no`. | Default resolution cannot select a runtime: selection reads the loaded user unit from systemctl, so applications receive runtime_unavailable. 0.3.0 package qualification includes the no-user-manager installation check. `openabstractions serve runtime` runs in the foreground; an application reaches it only through an explicit endpoint. | Successful 0.3.0 linux-verify job includes install, package inspection and uninstall; the run's Linux package qualification includes the no-user-manager installation check. 0.2.0 release: installation without a user manager, the openabstractions payload, absence of retired jobd/dl/jobctl executables and removal passed. This job does not establish foreground capability calls. |
| macOS (universal package; installed qualification on arm64) | supported | The signed and notarized 0.3.0 universal package installs for the current user. Installed XPC discovery, capability readiness and protected-call behavior passed on the available arm64 Mac; reinstall and removal passed. | The universal package includes Intel binaries, but installed execution was tested only on arm64 hardware. The retained installed receipt covers install, XPC discovery/calls, reinstall and removal; it does not record a separate crash-injection recovery test. Path names compare byte for byte on macOS although its volumes ignore case by default, so two names OA keeps apart can name one file (abstraction-identity CONTRACT.md, SamePathName). Native providers are not available on macOS in 0.4.0: their caller check needs an XPC endpoint. The macOS package leaves out Local model stores (inventoryd) and the model host (modelhostd). | The 0.3.0 universal package is signed, notarized and published. Its installed acceptance was run on an arm64 Mac; Intel hardware execution was not tested. Exact package SHA-256 82a2ec559ae47cf6f5fe8460fdb98c227867bac19ae855e3e2db4f4851b7b7fa; package verification, install, XPC readiness and protected-call checks, reinstall and removal passed on macOS 26.6.2 arm64. |
| Android, including Termux | unsupported | None. No runtime is built, packaged, installed or run for Android. | The packager builds only linux and macos; the release builds Windows MSIs, Linux tarballs and one macOS package. Termux has no systemd user manager, which Linux selection requires. | `--platform` accepts only linux and macos. The release builds no Android asset. Nothing in the tree records a build, install or run on Android or Termux. |
Measured on 2026-10-20. Each language row gives the verdict of the legacy whole-layer grid for the layer's own implementation (— is none), then the client: the facade's resolve accessors, or for JavaScript the generated service clients a binding from Machine.resolveService wraps. UNPROVEN means the grid found nothing to check: usually source for that layer and language exists with no test files the gate names, so no run happened and no verdict, pass or fail, was recorded. For an adopter, an UNPROVEN cell means the binding compiles and its behaviour is unverified on that platform; ship on a PASS cell.
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.asks/application@1 (resolved by the facade), abstraction.asks/operator@1 (resolved by the facade), abstraction.asks/application@2 (resolved by the facade), abstraction.asks/responder@1 (resolved by the facade), abstraction.asks/permission@1 (resolved by the facade), abstraction.asks/permission-operator@1 (resolved by the facade), abstraction.asks/notification@1 (resolved by the facade), abstraction.asks/notification-operator@1 (resolved by the facade).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveAsks, ResolveAsksChoices, ResolveAsksNotificationOperator, ResolveAsksNotifications, ResolveAsksOperator, ResolveAsksPermission, ResolveAsksPermissionOperator, ResolveAsksResponder |
| Python | matrix UNPROVEN; client resolve_asks, resolve_asks_choices, resolve_asks_operator |
| C++ | matrix UNPROVEN; client resolve_asks |
| Rust | matrix UNPROVEN; client resolve_asks, resolve_asks_operator |
| JavaScript | matrix UNPROVEN; client ChoiceApplicationClient (abstraction.asks/application@2), NotificationApplicationClient (abstraction.asks/notification@1), NotificationOperatorClient (abstraction.asks/notification-operator@1), PermissionApplicationClient (abstraction.asks/permission@1), PermissionOperatorClient (abstraction.asks/permission-operator@1), QuestionApplicationClient (abstraction.asks/application@1), QuestionOperatorClient (abstraction.asks/operator@1), QuestionResponderClient (abstraction.asks/responder@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: local primitive (its definition declares only direct interfaces or plain records, called in-process).
Contracts: abstraction.cas/store@1 (direct interface).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-cas/go |
| Python | matrix UNPROVEN; client package abstraction-cas-protocol, abstraction-cas |
| C++ | matrix UNPROVEN; client package abstraction_cas |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: in the application's process; needs no runtime.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.config/reader@1 (resolved by the facade, in the default runtime), abstraction.config/editor@1 (resolved by the facade, in the default runtime), abstraction.config/observer@1 (resolved by the facade).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveConfig, ResolveConfigEditor, ResolveConfigObserver |
| Python | matrix UNPROVEN; client resolve_config, resolve_config_editor, resolve_config_observer |
| C++ | matrix UNPROVEN; client resolve_config, resolve_config_editor |
| Rust | matrix UNPROVEN; client resolve_config, resolve_config_editor, resolve_config_observer |
| JavaScript | matrix UNPROVEN; client ConfigEditorClient (abstraction.config/editor@1), ConfigObserverClient (abstraction.config/observer@1), ConfigReaderClient (abstraction.config/reader@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.credentials/holder@1 (resolved by the facade), abstraction.credentials/applier@1 (resolved by the facade), abstraction.credentials/reader@1 (resolved by the facade), abstraction.credentials/holder@2 (resolved by the facade), abstraction.credentials/applier@2 (resolved by the facade).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveCredentialReader, ResolveCredentials, ResolveCredentialsApplier, ResolveScopedCredentials, ResolveScopedCredentialsApplier |
| Python | matrix UNPROVEN; client resolve_credentials, resolve_credentials_applier |
| C++ | matrix UNPROVEN; client resolve_credentials, resolve_credentials_applier |
| Rust | matrix UNPROVEN; client resolve_credentials, resolve_credentials_applier |
| JavaScript | matrix UNPROVEN; client ApplierClient (abstraction.credentials/applier@1), HolderClient (abstraction.credentials/holder@1), ScopedApplierClient (abstraction.credentials/applier@2), ScopedHolderClient (abstraction.credentials/holder@2), SecretReaderClient (abstraction.credentials/reader@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: provider (its definition declares the guarantees an implementation can promise a service, such as resume or survives_process_exit).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-download/go |
| Python | matrix UNPROVEN; client package abstraction-download-request-protocol |
| C++ | matrix UNPROVEN; client package abstraction_download |
| Rust | matrix UNPROVEN; client package abstraction-download-request-api |
| JavaScript | matrix UNPROVEN; client package @openabstractions/download-request |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: adapter (an in-process download implementation over an existing tool).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix —; client none |
| Python | matrix —; client none |
| C++ | matrix —; client headers in include/ |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: in the application's process; needs no runtime.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.facade/resolver@1 (resolved by the facade), abstraction.facade/caller@1 (resolved by the facade), abstraction.facade/endpoint@1 (resolved by the facade), abstraction.facade/registry@1 (resolved by the facade), abstraction.facade/registry@2 (resolved by the facade), abstraction.facade/applications@2 (resolved by the facade).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveApplications, ResolveRegistry, ResolveRegistryV2 |
| Python | matrix UNPROVEN; client package abstraction-facade-client |
| C++ | matrix UNPROVEN; client package abstraction_facade |
| Rust | matrix UNPROVEN; client package abstraction-facade-service |
| JavaScript | matrix UNPROVEN; client ApplicationsClient (abstraction.facade/applications@2), CallerClient (abstraction.facade/caller@1), EndpointClient (abstraction.facade/endpoint@1), RegistryClient (abstraction.facade/registry@1), RegistryV2Client (abstraction.facade/registry@2), ResolverClient (abstraction.facade/resolver@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: local primitive (its definition declares only direct interfaces or plain records, called in-process).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-identity |
| Python | matrix UNPROVEN; client package abstraction-ipc |
| C++ | matrix UNPROVEN; client package abstraction_ipc |
| Rust | matrix UNPROVEN; client package abstraction-ipc |
| JavaScript | matrix UNPROVEN; client package @openabstractions/ipc |
Platforms: in the application's process; needs no runtime.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.inference/chat@1 (resolved by the facade), abstraction.inference/chat@2 (resolved by the facade), abstraction.inference/preload@1, abstraction.inference/embed@1 (resolved by the facade), abstraction.inference/transcription@1, abstraction.inference/speech@1, abstraction.inference/live@1, abstraction.inference/image@1, abstraction.inference/image@2 (resolved by the facade), abstraction.inference/video@1, abstraction.inference/operator@1 (resolved by the facade), abstraction.inference/selection-operator@2 (resolved by the facade).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveEmbeddings, ResolveInference, ResolveInferenceChatV2, ResolveInferenceImageV2, ResolveInferenceOperator, ResolveInferenceSelectionOperatorV2 |
| Python | matrix UNPROVEN; client resolve_inference, resolve_inference_operator |
| C++ | matrix UNPROVEN; client resolve_inference, resolve_inference_operator |
| Rust | matrix UNPROVEN; client resolve_inference |
| JavaScript | matrix UNPROVEN; client ChatClient (abstraction.inference/chat@1), ChatV2Client (abstraction.inference/chat@2), EmbedderClient (abstraction.inference/embed@1), ImageClient (abstraction.inference/image@1), ImageV2Client (abstraction.inference/image@2), LiveClient (abstraction.inference/live@1), OperatorClient (abstraction.inference/operator@1), PreloaderClient (abstraction.inference/preload@1), SelectionOperatorV2Client (abstraction.inference/selection-operator@2), SpeechClient (abstraction.inference/speech@1), TranscriptionClient (abstraction.inference/transcription@1), VideoClient (abstraction.inference/video@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.job/acceptance@1 (resolved by the facade, in the default runtime), abstraction.job/operations@1 (resolved by the facade, in the default runtime), abstraction.job/inventory@1 (resolved by the facade), abstraction.job/operator@1 (resolved by the facade).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveJobInventory, ResolveJobOperations, ResolveJobOperator, ResolveJobs, RestoreJobs |
| Python | matrix UNPROVEN; client resolve_job_inventory, resolve_job_operations, resolve_jobs |
| C++ | matrix UNPROVEN; client resolve_job_inventory, resolve_job_operations, resolve_jobs |
| Rust | matrix UNPROVEN; client resolve_job_inventory, resolve_job_operations, resolve_jobs |
| JavaScript | matrix UNPROVEN; client JobInventoryClient (abstraction.job/inventory@1), JobOperatorClient (abstraction.job/operator@1), OperationControlClient (abstraction.job/operations@1), RecoverableAcceptanceClient (abstraction.job/acceptance@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.logging/sink@1 (resolved by the facade, in the default runtime), abstraction.logging/reader@1 (resolved by the facade), abstraction.logging/observer@1 (resolved by the facade), abstraction.logging/reader@2 (resolved by the facade), abstraction.logging/observer@2 (resolved by the facade), abstraction.logging/source-reader@1 (resolved by the facade).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveLog, ResolveLogApplicationObserver, ResolveLogApplicationReader, ResolveLogObserver, ResolveLogReader, ResolveLogSourceReader |
| Python | matrix UNPROVEN; client resolve_log, resolve_log_observer, resolve_log_reader |
| C++ | matrix UNPROVEN; client resolve_log, resolve_log_observer, resolve_log_reader |
| Rust | matrix UNPROVEN; client resolve_log, resolve_log_observer, resolve_log_reader |
| JavaScript | matrix UNPROVEN; client ApplicationHistoryObserverClient (abstraction.logging/observer@2), ApplicationHistoryReaderClient (abstraction.logging/reader@2), HistoryObserverClient (abstraction.logging/observer@1), HistoryReaderClient (abstraction.logging/reader@1), SinkClient (abstraction.logging/sink@1), SourceReaderClient (abstraction.logging/source-reader@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.model/resolver@1 (resolved by the facade), abstraction.model/manifest@1.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveModel |
| Python | matrix UNPROVEN; client resolve_model |
| C++ | matrix UNPROVEN; client resolve_model |
| Rust | matrix UNPROVEN; client resolve_model |
| JavaScript | matrix UNPROVEN; client ModelManifestClient (abstraction.model/manifest@1), ModelResolverClient (abstraction.model/resolver@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: adapter (a provider module whose Go package a program composes in-process).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-provider-kit/go |
| Python | matrix —; client none |
| C++ | matrix —; client none |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: in the application's process; needs no runtime.
Install:
Kind: provider (a provider module that runs its own process, lemonaded, which the installer declares in lemonade-image.json).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-provider-lemonade/go |
| Python | matrix —; client none |
| C++ | matrix —; client none |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: its own process, which the runtime launches or attaches to.
Install:
Kind: adapter (a provider module whose Go package a program composes in-process).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-provider-localai/go |
| Python | matrix —; client none |
| C++ | matrix —; client none |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: in the application's process; needs no runtime.
Install:
Kind: provider (a provider module that runs its own process, modelbridged).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-provider-modelbridge/go |
| Python | matrix —; client none |
| C++ | matrix —; client none |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: its own process, which the runtime launches or attaches to.
Install:
Kind: provider (a provider module that runs its own process, modelhostd).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-provider-modelhost/go |
| Python | matrix —; client none |
| C++ | matrix —; client none |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: its own process, which the runtime launches or attaches to.
Install:
Kind: provider (a provider module that runs its own process, pytorchd).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-provider-pytorch/go |
| Python | matrix —; client none |
| C++ | matrix —; client none |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: its own process, which the runtime launches or attaches to.
Install:
Kind: provider (a provider module that runs its own process, thenoise-provider).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-provider-thenoise/go |
| Python | matrix —; client none |
| C++ | matrix —; client none |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: its own process, which the runtime launches or attaches to.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.resource/table@1 (resolved by the facade), abstraction.resource/leases@1 (resolved by the facade).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveResourceLeases, ResolveResourceTable |
| Python | matrix UNPROVEN; client resolve_resource_leases, resolve_resource_table |
| C++ | matrix UNPROVEN; client resolve_resource_leases, resolve_resource_table |
| Rust | matrix UNPROVEN; client resolve_resource_leases, resolve_resource_leases_with_no_runtime_is_the_resolution_error, resolve_resource_table, resolve_resource_table_with_no_runtime_is_the_resolution_error |
| JavaScript | matrix UNPROVEN; client LeasesClient (abstraction.resource/leases@1), TableClient (abstraction.resource/table@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.rights/authorization@1 (resolved by the facade), abstraction.rights/operator@1 (resolved by the facade), abstraction.rights/authorization@2 (resolved by the facade), abstraction.rights/operator@2 (resolved by the facade).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveRights, ResolveRightsOperator, ResolveRightsSelector, ResolveRightsSelectorOperator |
| Python | matrix UNPROVEN; client resolve_rights, resolve_rights_operator |
| C++ | matrix UNPROVEN; client resolve_rights |
| Rust | matrix UNPROVEN; client resolve_rights, resolve_rights_operator |
| JavaScript | matrix UNPROVEN; client AuthorizationClient (abstraction.rights/authorization@1), AuthorizationOperatorClient (abstraction.rights/operator@1), SelectorAuthorizationClient (abstraction.rights/authorization@2), SelectorAuthorizationOperatorClient (abstraction.rights/operator@2) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.router/router@1 (resolved by the facade).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveRouter |
| Python | matrix UNPROVEN; client resolve_router |
| C++ | matrix UNPROVEN; client resolve_router |
| Rust | matrix UNPROVEN; client resolve_router |
| JavaScript | matrix UNPROVEN; client RouterClient (abstraction.router/router@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: service (its definition declares a contract another process calls over the wire).
Contracts: abstraction.storage/content-reader@1 (resolved by the facade), abstraction.storage/content-writer@1 (resolved by the facade), abstraction.storage/content-changes@1 (resolved by the facade), abstraction.storage/holds@1, abstraction.storage/manifests@1, abstraction.storage/inventory@1 (resolved by the facade), abstraction.storage/content-remover@1, abstraction.storage/inventory-source@1, abstraction.storage/lend@1 (resolved by the facade), abstraction.storage/store@1 (direct interface), abstraction.storage/local@1 (direct interface), abstraction.storage/writable@1 (direct interface).
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client ResolveLending, ResolveStorage, ResolveStorageChanges, ResolveStorageInventory, ResolveStorageWriter |
| Python | matrix UNPROVEN; client resolve_storage, resolve_storage_changes, resolve_storage_writer |
| C++ | matrix UNPROVEN; client resolve_storage, resolve_storage_changes, resolve_storage_writer |
| Rust | matrix UNPROVEN; client resolve_storage, resolve_storage_changes, resolve_storage_writer |
| JavaScript | matrix UNPROVEN; client ContentChangesClient (abstraction.storage/content-changes@1), ContentReaderClient (abstraction.storage/content-reader@1), ContentRemoverClient (abstraction.storage/content-remover@1), ContentWriterClient (abstraction.storage/content-writer@1), HoldsClient (abstraction.storage/holds@1), InventoryClient (abstraction.storage/inventory@1), InventorySourceClient (abstraction.storage/inventory-source@1), ManifestsClient (abstraction.storage/manifests@1) |
Platforms: the runtime's (Runtime platforms above); supported: windows-user, windows-machine, linux-systemd-user, macos; supported without background services: linux-no-user-manager; unsupported: android-termux.
Install:
Kind: provider (a storage implementation that runs its own command).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-storage-over-local-stores/go |
| Python | matrix —; client none |
| C++ | matrix —; client none |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: its own process; no package and no platform declaration.
Install:
Kind: local primitive (its definition declares only direct interfaces or plain records, called in-process).
Contracts: none.
| Language | Matrix and client |
|---|---|
| Go | matrix UNPROVEN; client package github.com/openabstractions/abstraction-watch/go |
| Python | matrix UNPROVEN; client package abstraction-watch-protocol, abstraction-watch |
| C++ | matrix UNPROVEN; client package abstraction_watch |
| Rust | matrix —; client none |
| JavaScript | matrix —; client none |
Platforms: in the application's process; needs no runtime.
Install: