@cynodia/axiom 0.16.0-alpha.2 → 0.16.0-alpha.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/AGENTS.md +2 -1
- package/README.md +3 -3
- package/docs/ACTIONS_TRANSACTIONS.md +1 -1
- package/docs/AGENT_API.md +1 -1
- package/docs/AGENT_REFERENCE.md +9 -5
- package/docs/ANTI_PATTERNS.md +1 -1
- package/docs/AUTHORITY.md +1 -1
- package/docs/AUTHORIZATION.md +1 -1
- package/docs/CONSTRAINTS.md +1 -1
- package/docs/DISTRIBUTED_AUTHORITY.md +3 -2
- package/docs/EFFECTS.md +1 -1
- package/docs/EVENTS.md +1 -1
- package/docs/EXPRESSIONS.md +1 -1
- package/docs/GRAPH_MODEL.md +1 -1
- package/docs/INTEGRATIONS.md +1 -1
- package/docs/LIVE_QUERIES.md +2 -2
- package/docs/LOCATIONS.md +1 -1
- package/docs/MIGRATIONS.md +1 -1
- package/docs/PRESENTATION.md +1 -1
- package/docs/QUERIES.md +1 -1
- package/docs/RUNTIME.md +1 -1
- package/docs/SEMANTIC_CONTRACT.md +1 -1
- package/docs/STATE.md +1 -1
- package/docs/STORAGE.md +1 -1
- package/docs/SUBSCRIPTIONS.md +1 -1
- package/docs/TRIGGERS.md +1 -1
- package/docs/UI.md +1 -1
- package/docs/VALIDATION.md +1 -1
- package/docs/WORKFLOWS.md +2 -2
- package/llms.txt +1 -1
- package/package.json +5 -5
package/AGENTS.md
CHANGED
|
@@ -26,7 +26,8 @@ justified. That is framework debugging, not application authoring.
|
|
|
26
26
|
## Do not
|
|
27
27
|
|
|
28
28
|
- **Do not clone or reverse-engineer the Axiom repository to learn normal usage.** Everything
|
|
29
|
-
needed to author an application is in this package.
|
|
29
|
+
needed to author an application is in this package. `@cynodia/axiom-cli` publishes an
|
|
30
|
+
`axiom` executable (`npm install -g @cynodia/axiom-cli`) for command-line inspection.
|
|
30
31
|
- **Do not search the web or scrape npm for documentation.** This package is the primary
|
|
31
32
|
source, and it describes this exact version.
|
|
32
33
|
- **Do not read, edit or patch generated output.** The emitted JavaScript, HTML and CSS are
|
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@ Shorter forms of the same routing: [`AGENTS.md`](AGENTS.md) and [`llms.txt`](llm
|
|
|
33
33
|
at this package's root.
|
|
34
34
|
|
|
35
35
|
**Status: experimental / alpha.** The API may change between alpha releases. The
|
|
36
|
-
documentation in `docs/` describes this exact version, `0.16.0-alpha.
|
|
36
|
+
documentation in `docs/` describes this exact version, `0.16.0-alpha.4`.
|
|
37
37
|
|
|
38
38
|
## Installation
|
|
39
39
|
|
|
@@ -47,7 +47,7 @@ Every release of this project is a pre-release and npm's `latest` tag points at
|
|
|
47
47
|
plain command above installs the current version. **There is no `alpha` dist-tag** — the tag
|
|
48
48
|
was removed once it stopped tracking releases, and `npm install @cynodia/axiom@alpha` now
|
|
49
49
|
fails with a 404. Pin the exact version instead when one is needed:
|
|
50
|
-
`npm install @cynodia/axiom@0.16.0-alpha.
|
|
50
|
+
`npm install @cynodia/axiom@0.16.0-alpha.4`.
|
|
51
51
|
|
|
52
52
|
These are ES modules compiled to ES2022; import them with `import`, not `require`.
|
|
53
53
|
`@cynodia/axiom-cli` (`npm install -g @cynodia/axiom-cli`) publishes the `axiom` executable
|
|
@@ -72,7 +72,7 @@ reports its absence rather than failing at import.
|
|
|
72
72
|
| `Theme` | Translation of presentation intent into visual design. |
|
|
73
73
|
| Renderer | Platform-specific materialization. Not part of the graph. |
|
|
74
74
|
| `StateDef.authority` | Who may commit a value: the client, or the server. The one declaration the split follows from. |
|
|
75
|
-
| `ServerIR` | The half an authority executes. Portable JSON. `axiom.server.v1` is frozen; the current contract is `axiom.server.
|
|
75
|
+
| `ServerIR` | The half an authority executes. Portable JSON. `axiom.server.v1` is frozen; the current contract is `axiom.server.v9`, computed from the document's vocabulary. |
|
|
76
76
|
| Semantic protocol | What a client may ask for: named actions with arguments, never mutation programs. |
|
|
77
77
|
| `PersistenceAdapter` | Where a decided value survives. Not part of the semantics. |
|
|
78
78
|
|
package/docs/AGENT_API.md
CHANGED
package/docs/AGENT_REFERENCE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent reference
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. Compressed operational contract. Read this plus the `.d.ts`
|
|
4
4
|
declarations before authoring or modifying an Axiom application.
|
|
5
5
|
|
|
6
6
|
Formal guarantees: [`SEMANTIC_CONTRACT.md`](SEMANTIC_CONTRACT.md). Mistakes that compile:
|
|
@@ -15,7 +15,9 @@ npm install @cynodia/axiom-server # only if a StateDef declares server autho
|
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
Everything is imported from `@cynodia/axiom`; the four re-exported packages need not be
|
|
18
|
-
installed individually.
|
|
18
|
+
installed individually. `@cynodia/axiom-cli` (`npm install -g @cynodia/axiom-cli`) publishes
|
|
19
|
+
the `axiom` executable — `explain` / `analyze` / `diff` over `AgentAPI`, plus `inspect` /
|
|
20
|
+
`validate` / `build` / `serve` — for command-line inspection.
|
|
19
21
|
|
|
20
22
|
A complete runnable skeleton — graph, state, action, UI, route, compile, run — is the
|
|
21
23
|
minimal application in [`../README.md`](../README.md). Read this document for the rules;
|
|
@@ -603,7 +605,7 @@ authoring an application that crosses the trust boundary.
|
|
|
603
605
|
10. **FORM SUBMIT** — a declared submit button invokes with its own arguments, clicked or submitted.
|
|
604
606
|
11. **IDEMPOTENCY** — a generated request id is unique across runtime instances; records are scoped by principal.
|
|
605
607
|
12. **CHANGES** — `changes` names every observable state whose value moved, and no others.
|
|
606
|
-
13. **PORTABILITY** — `axiom.server.v1` is frozen and language-independent. It is not the *current* contract: a document declares the oldest contract that carries its vocabulary; `axiom.server.
|
|
608
|
+
13. **PORTABILITY** — `axiom.server.v1` is frozen and language-independent. It is not the *current* contract: a document declares the oldest contract that carries its vocabulary; `axiom.server.v9` is current (authorization policies).
|
|
607
609
|
14. **INTEGRATION** — external systems are accessed through typed integration operations.
|
|
608
610
|
15. **QUERY** — an external query is explicit action/trigger execution, never a pure `Expression`.
|
|
609
611
|
16. **EFFECT** — external effects are not rollback-capable state mutations.
|
|
@@ -1043,7 +1045,8 @@ Providers advertise capabilities (`distributed-lease`, `fencing`, `atomic-work-c
|
|
|
1043
1045
|
`durable-retry`, `event-dedup`, `durable-subscription-cursor`, `revision-observation`); a
|
|
1044
1046
|
missing one **fails explicitly**, never a silent single-node fallback. Portable
|
|
1045
1047
|
`axiom.conformance.v6` fixtures (`conformance/distributed/`) + `runCoordinationConformanceSuite`.
|
|
1046
|
-
Server IR
|
|
1048
|
+
Distributed authority adds no Server IR vocabulary of its own — the required contract is
|
|
1049
|
+
whatever the rest of the graph already needs (currently up to `axiom.server.v9`).
|
|
1047
1050
|
|
|
1048
1051
|
Diagnostics: `WORK_IN_PROGRESS` `WORK_FENCED` `WORK_NOT_CLAIMABLE` `INCOMPATIBLE_AUTHORITY`
|
|
1049
1052
|
`EVENT_ID_CONFLICT`.
|
|
@@ -1115,7 +1118,8 @@ pump the handle over any duplex frame channel (`open`/`resume`/`close` ⇄
|
|
|
1115
1118
|
application code, not normative.
|
|
1116
1119
|
|
|
1117
1120
|
Portable tier: `axiom.conformance.v7` (`conformance/live/`), `runLiveQueryConformanceFixture`
|
|
1118
|
-
/ `runLiveQueryConformanceSuite`. Server IR
|
|
1121
|
+
/ `runLiveQueryConformanceSuite`. Live queries add no Server IR vocabulary of their own —
|
|
1122
|
+
`semanticFingerprint` is computed *from* the IR, not the other way around.
|
|
1119
1123
|
|
|
1120
1124
|
Diagnostics: `LIVE_QUERY_NOT_CAPABLE` `LIVE_QUERY_CURSOR_INVALID`
|
|
1121
1125
|
`LIVE_QUERY_CURSOR_INCOMPATIBLE` `LIVE_QUERY_EVALUATION_FAILED`
|
package/docs/ANTI_PATTERNS.md
CHANGED
package/docs/AUTHORITY.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Authority
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. How an application crosses the trust boundary.
|
|
4
4
|
|
|
5
5
|
Until 0.5.x an Axiom application executed locally. 0.6 adds an **authority**: a generic
|
|
6
6
|
runtime that owns state, decides mutations and persists them. The same semantic graph
|
package/docs/AUTHORIZATION.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Authorization
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. The operational contract for **authorization completeness** — the 0.15
|
|
4
4
|
milestone (spec15). Whether a principal may perform a semantic operation is part of the
|
|
5
5
|
graph's executable meaning — not a runtime concern, not UI visibility, not something that
|
|
6
6
|
varies by transport, provider, process, retry path or authority topology. `axiom.server.v9`
|
package/docs/CONSTRAINTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Distributed authority
|
|
2
2
|
|
|
3
|
-
*This document describes Axiom `0.16.0-alpha.
|
|
3
|
+
*This document describes Axiom `0.16.0-alpha.4`.*
|
|
4
4
|
|
|
5
5
|
The authoritative runtime (`docs/AUTHORITY.md`) may run as **more than one process at the
|
|
6
6
|
same time**, over one shared persistence provider, without any change to the
|
|
@@ -401,7 +401,8 @@ schedule firing, schedule reclaim, event deduplication, subscription cursor fenc
|
|
|
401
401
|
revision visibility and mixed-build refusal. Each fixture is a deterministic step list
|
|
402
402
|
against the memory reference providers with a fixed clock and token sequence; the public
|
|
403
403
|
`runCoordinationConformanceFixture` / `runCoordinationConformanceSuite` runner executes them.
|
|
404
|
-
Server IR
|
|
404
|
+
0.12 adds no Server IR vocabulary of its own — the required contract is whatever the rest
|
|
405
|
+
of the graph already needs (currently up to `axiom.server.v9`).
|
|
405
406
|
|
|
406
407
|
## 19. Anti-patterns
|
|
407
408
|
|
package/docs/EFFECTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Effects
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. External effects are not rollback-capable state mutations. This file
|
|
4
4
|
is the delivery model; [`AUTHORITY.md`](AUTHORITY.md#external-effects) is the load-bearing
|
|
5
5
|
statement of why, and [`INTEGRATIONS.md`](INTEGRATIONS.md) is the operation vocabulary this
|
|
6
6
|
builds on.
|
package/docs/EVENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Events
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. An event is a typed fact — something that happened — never work
|
|
4
4
|
itself. [`AUTHORITY.md`](AUTHORITY.md#external-events) is the load-bearing statement;
|
|
5
5
|
this file is the vocabulary and the webhook delivery mechanism. A **subscription** is the
|
|
6
6
|
other way an external fact becomes an `EventDef` payload — see
|
package/docs/EXPRESSIONS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Expressions
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. An expression describes **what value is computed**. It is a tree of
|
|
4
4
|
plain data, never source text and never a callback. Evaluation is pure: an expression MUST
|
|
5
5
|
NOT change state.
|
|
6
6
|
|
package/docs/GRAPH_MODEL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Graph model
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. The `ApplicationGraph` is the authoritative representation of an
|
|
4
4
|
application. Everything else — the IR, the page, the DOM — is derived from it and is never
|
|
5
5
|
edited.
|
|
6
6
|
|
package/docs/INTEGRATIONS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Integrations
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. How an application declares and calls an external system, without
|
|
4
4
|
embedding a transport, an SDK or a secret in the graph. The authority boundary this
|
|
5
5
|
depends on is [`AUTHORITY.md`](AUTHORITY.md#external-systems); this file is the vocabulary.
|
|
6
6
|
|
package/docs/LIVE_QUERIES.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Realtime — live canonical queries
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. The operational contract for **observing a `QueryDef` result over
|
|
4
4
|
time**: subscribe once, receive an initial coherent result, then receive canonical changes
|
|
5
5
|
as authoritative committed state moves — through any compatible authority, across
|
|
6
|
-
reconnects.
|
|
6
|
+
reconnects. 0.13 adds no Server IR vocabulary of its own — current is `axiom.server.v9`.
|
|
7
7
|
|
|
8
8
|
> **A live query is a persistent semantic observation of a canonical `QueryDef`.** It is not
|
|
9
9
|
> a WebSocket, a database change feed, a Redis channel, a polling loop, or a stream of table
|
package/docs/LOCATIONS.md
CHANGED
package/docs/MIGRATIONS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Schema evolution & semantic migrations
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. The operational contract for evolving a deployed application's
|
|
4
4
|
semantic model and its persisted canonical data over time — adding a required field,
|
|
5
5
|
splitting one field into two, removing an obsolete one, migrating millions of
|
|
6
6
|
provider-backed rows — **without** an application-authored SQL migration, an ORM migration,
|
package/docs/PRESENTATION.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Presentation
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. Presentation is **semantic UX intent**, expressed as data on a UI
|
|
4
4
|
node. It names roles, tokens and device classes. It never names a colour, a length, a media
|
|
5
5
|
query or a CSS property.
|
|
6
6
|
|
package/docs/QUERIES.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Semantic data access & the query layer
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. The operational contract for demand-driven reads over authoritative
|
|
4
4
|
data that is too large to materialize as a `StateDef` — 500,000 orders, 5,000,000 order
|
|
5
5
|
lines, years of audit rows. `axiom.server.v6`.
|
|
6
6
|
|
package/docs/RUNTIME.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Semantic contract
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. Runtime guarantees, stated formally. This file defines behavior; it
|
|
4
4
|
does not teach. Where this file and any specification in `../specs/` disagree, this file
|
|
5
5
|
describes the implementation and is authoritative.
|
|
6
6
|
|
package/docs/STATE.md
CHANGED
package/docs/STORAGE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Storage and blobs
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. How an application stores, references, serves and deletes binary data —
|
|
4
4
|
an attachment, a document, a photograph, a diagnostic log — with no filesystem path, no
|
|
5
5
|
upload route and no download route anywhere in it.
|
|
6
6
|
|
package/docs/SUBSCRIPTIONS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Subscriptions
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. How an application receives a stream of external events — an MQTT
|
|
4
4
|
topic, a WebSocket feed, a queue consumer, a filesystem watcher, a serial port — without a
|
|
5
5
|
client, a socket or a callback anywhere in the graph.
|
|
6
6
|
|
package/docs/TRIGGERS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Triggers
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. A `TriggerDef` says **when** an action should be invoked, without
|
|
4
4
|
embedding callback code. `docs/AUTHORITY.md`
|
|
5
5
|
[§ Triggers](AUTHORITY.md#triggers) is the load-bearing statement of the execution model;
|
|
6
6
|
this file is the vocabulary.
|
package/docs/UI.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# UI
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. Eleven semantic UI node kinds describe **what exists and what it does**.
|
|
4
4
|
How it looks is [presentation](PRESENTATION.md).
|
|
5
5
|
|
|
6
6
|
All eleven share `UIBase`:
|
package/docs/VALIDATION.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Validation
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. Validation is authoring-time structural checking. It is not the same
|
|
4
4
|
as runtime constraint evaluation — see [`CONSTRAINTS.md`](CONSTRAINTS.md) for the four
|
|
5
5
|
layers of correctness.
|
|
6
6
|
|
package/docs/WORKFLOWS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Durable workflows
|
|
2
2
|
|
|
3
|
-
Axiom 0.16.0-alpha.
|
|
3
|
+
Axiom 0.16.0-alpha.4. The operational contract for **long-running semantic computations with
|
|
4
4
|
a durable control position** — orchestration that survives process death, authority
|
|
5
5
|
failover, retries, timer delivery, event delivery and ordinary distributed contention
|
|
6
6
|
without application-owned infrastructure. `axiom.server.v8`.
|
|
@@ -255,7 +255,7 @@ step's argument expressions / `retry` policy, a `wait-event` step's `where` / `b
|
|
|
255
255
|
or binding migration, and none is inferred ("closest step" recovery never happens).
|
|
256
256
|
- A graph with **no** `WorkflowDef` compiles to the byte-identical `axiom.server.v1`–`v7`
|
|
257
257
|
document it always did, and its `semanticFingerprint` / `schemaFingerprint` are unchanged.
|
|
258
|
-
- Pre-`0.16.0-alpha.
|
|
258
|
+
- Pre-`0.16.0-alpha.4` instances carry a compatibility key computed before `WorkflowDef`
|
|
259
259
|
participated; a corrected authority treats them as incompatible and fails closed (these
|
|
260
260
|
are pre-freeze alpha releases — silent reinterpretation is the only unacceptable
|
|
261
261
|
outcome).
|
package/llms.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Axiom
|
|
2
2
|
|
|
3
|
-
> AI-native semantic application framework, version 0.16.0-alpha.
|
|
3
|
+
> AI-native semantic application framework, version 0.16.0-alpha.4. An Axiom application is a
|
|
4
4
|
> typed semantic graph — state, behavior, constraints, UI structure, presentation and
|
|
5
5
|
> authority as structured data — executed by generic runtimes. The JavaScript, HTML and CSS
|
|
6
6
|
> that reach a browser are compiler output and are never authored or edited. The primary
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cynodia/axiom",
|
|
3
|
-
"version": "0.16.0-alpha.
|
|
3
|
+
"version": "0.16.0-alpha.4",
|
|
4
4
|
"description": "AI-native semantic web application framework.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "AskTech AS",
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@cynodia/axiom-core": "0.16.0-alpha.
|
|
38
|
-
"@cynodia/axiom-runtime": "0.16.0-alpha.
|
|
39
|
-
"@cynodia/axiom-compiler": "0.16.0-alpha.
|
|
40
|
-
"@cynodia/axiom-agent-api": "0.16.0-alpha.
|
|
37
|
+
"@cynodia/axiom-core": "0.16.0-alpha.4",
|
|
38
|
+
"@cynodia/axiom-runtime": "0.16.0-alpha.4",
|
|
39
|
+
"@cynodia/axiom-compiler": "0.16.0-alpha.4",
|
|
40
|
+
"@cynodia/axiom-agent-api": "0.16.0-alpha.4"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"build": "tsc -b tsconfig.json"
|