@cynodia/axiom 0.15.0-alpha.1 → 0.15.0-alpha.2
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/README.md +2 -2
- package/docs/ACTIONS_TRANSACTIONS.md +1 -1
- package/docs/AGENT_API.md +1 -1
- package/docs/AGENT_REFERENCE.md +8 -2
- package/docs/ANTI_PATTERNS.md +1 -1
- package/docs/AUTHORITY.md +1 -1
- package/docs/AUTHORIZATION.md +28 -5
- package/docs/CONSTRAINTS.md +1 -1
- package/docs/DISTRIBUTED_AUTHORITY.md +1 -1
- package/docs/EFFECTS.md +1 -1
- package/docs/EVENTS.md +1 -1
- package/docs/EXPRESSIONS.md +9 -1
- package/docs/GRAPH_MODEL.md +1 -1
- package/docs/INTEGRATIONS.md +1 -1
- package/docs/LIVE_QUERIES.md +1 -1
- 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/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.15.0-alpha.
|
|
36
|
+
documentation in `docs/` describes this exact version, `0.15.0-alpha.2`.
|
|
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.15.0-alpha.
|
|
50
|
+
`npm install @cynodia/axiom@0.15.0-alpha.2`.
|
|
51
51
|
|
|
52
52
|
These are ES modules compiled to ES2022; import them with `import`, not `require`. There is
|
|
53
53
|
no published Axiom CLI. `@cynodia/axiom-server`'s SQLite persistence adapter additionally
|
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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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:
|
|
@@ -1262,7 +1262,13 @@ reference is now enforced; `AUTHORIZATION_ENFORCEMENT_UNAVAILABLE` /
|
|
|
1262
1262
|
|
|
1263
1263
|
One authorization language. An `AuthorizationPolicyDef` (graph node kind
|
|
1264
1264
|
`authorization-policy`) is a single boolean `allow` `Expression`. Exactly `true` ⇒ ALLOW;
|
|
1265
|
-
`false`, an absent policy, or **any** evaluation error ⇒ DENY (fail closed).
|
|
1265
|
+
`false`, an absent policy, or **any** evaluation error ⇒ DENY (fail closed). **A missing
|
|
1266
|
+
PRINCIPAL / RESOURCE field never satisfies a rule** (spec15pt2): the policy evaluator is
|
|
1267
|
+
three-valued (concrete / security-absence / error), so `PRINCIPAL.role != "banned"`,
|
|
1268
|
+
`NOT(PRINCIPAL.role == "banned")` and `RESOURCE.ownerId == PRINCIPAL.id` all DENY when the
|
|
1269
|
+
named field is absent or the caller is anonymous — `neq` / `not` / `or` cannot turn absence
|
|
1270
|
+
into authority. `literal(true)` stays a genuine constant (explicit public still admits
|
|
1271
|
+
anonymous). Ordinary `Expression` semantics elsewhere are unchanged. Closed
|
|
1266
1272
|
expression scope — the three reserved ids exported from core: `ref(PRINCIPAL)`
|
|
1267
1273
|
(`'axiom_principal'`, the id `ActionDef.authorization` already uses), `ref(RESOURCE)`
|
|
1268
1274
|
(`'axiom_resource'` — for `action.invoke`, a `{ id, kind }` descriptor), `ref(OPERATION)`
|
package/docs/ANTI_PATTERNS.md
CHANGED
package/docs/AUTHORITY.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Authority
|
|
2
2
|
|
|
3
|
-
Axiom 0.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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`
|
|
@@ -11,9 +11,12 @@ prior contract.
|
|
|
11
11
|
> outside portable application semantics. **Authorization** answers *may this principal
|
|
12
12
|
> perform this semantic operation?* — that is what this document defines.
|
|
13
13
|
|
|
14
|
-
0.15 landed in nine phases (A–I).
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
0.15 landed in nine phases (A–I); `0.15.0-alpha.2` (spec15pt2) is a corrective pass —
|
|
15
|
+
authorization **absent-value safety** (a missing PRINCIPAL / RESOURCE field never grants
|
|
16
|
+
authority), `validateGraph` totality over a malformed `allow` tree, and a fail-closed
|
|
17
|
+
`host.authenticate` exception boundary. This document describes the **model** (stable) and
|
|
18
|
+
marks which phase delivered each surface. External adversarial validation precedes the
|
|
19
|
+
semantic freeze (spec15 §134).
|
|
17
20
|
|
|
18
21
|
| Phase | Delivers | State |
|
|
19
22
|
| --- | --- | --- |
|
|
@@ -67,6 +70,16 @@ graph.addNode<AuthorizationPolicyDef>({
|
|
|
67
70
|
- **ALLOW / DENY, fail closed.** `allow` evaluating to exactly `true` is **ALLOW**. `false`,
|
|
68
71
|
an absent policy field, or *any evaluation error* is **DENY** — the safe direction for a
|
|
69
72
|
failed access check is always refusal (spec15 §8, §123).
|
|
73
|
+
- **A missing PRINCIPAL / RESOURCE field never satisfies a rule** (spec15pt2 F1). The policy
|
|
74
|
+
evaluator is three-valued — a concrete value, **security-scope absence** (a field the
|
|
75
|
+
scope object does not carry), or an evaluation error. A comparison, `not`, `neq` or `or`
|
|
76
|
+
whose truth would depend on absence is *not satisfied*, so `PRINCIPAL.role != "banned"` /
|
|
77
|
+
`NOT(PRINCIPAL.role == "banned")` / `RESOURCE.ownerId == PRINCIPAL.id` all **DENY** when
|
|
78
|
+
the named field is absent or the caller is anonymous. This is authorization-evaluation
|
|
79
|
+
semantics only; ordinary `Expression` equality/nullish behaviour elsewhere is unchanged
|
|
80
|
+
(spec15pt2 §4). An `OR` branch that is *concretely* true still allows even if the other
|
|
81
|
+
branch is absent-dependent. `literal(true)` is a genuine constant — an explicitly public
|
|
82
|
+
policy still admits an anonymous caller.
|
|
70
83
|
- **Referenced by id.** A protected surface points at a policy:
|
|
71
84
|
- `ActionDef.authorizationPolicy` — `action.invoke`
|
|
72
85
|
- `QueryDef.authorizationPolicy` — `query.read` (distinct from `readPolicyId`, which
|
|
@@ -121,6 +134,14 @@ architecture, preserved). Therefore:
|
|
|
121
134
|
A graph with **no** authorization vocabulary compiles to the byte-identical v1–v8 document
|
|
122
135
|
it always did and its fingerprint is unchanged (spec15 §39, §132).
|
|
123
136
|
|
|
137
|
+
**Evaluator version.** `0.15.0-alpha.1` and `0.15.0-alpha.2` evaluate the *same* policy
|
|
138
|
+
differently (absent-value safety, spec15pt2 F1), yet the graph — and its
|
|
139
|
+
`semanticFingerprint` — is identical. So the `AuthorityCompatibilityKey` carries an
|
|
140
|
+
`authorizationRuntime` discriminator, present only when the IR uses authorization
|
|
141
|
+
vocabulary: a mixed `alpha.1` / `alpha.2` cluster over an authorization-bearing graph is
|
|
142
|
+
fail-closed **incompatible** (spec15pt2 §35), while a graph with no policy rolls the
|
|
143
|
+
upgrade unaffected.
|
|
144
|
+
|
|
124
145
|
---
|
|
125
146
|
|
|
126
147
|
## Public-API authorization inventory (Phase A)
|
|
@@ -166,7 +187,9 @@ machine `reason` —
|
|
|
166
187
|
`policy-denied` (the policy is not exactly `true`), `policy-error` (the policy threw — an
|
|
167
188
|
evaluation error is DENY, never ALLOW, spec15 §123), `legacy-denied` / `legacy-error` (the
|
|
168
189
|
legacy `authorization` expression), or (for workflow instance ops with no policy declared)
|
|
169
|
-
`owner-mismatch
|
|
190
|
+
`owner-mismatch`, or (spec15pt2 F3, when `host.authenticate` itself threw)
|
|
191
|
+
`authentication-error` with `operation: 'authentication'` — plus `actionId` / `queryId`
|
|
192
|
+
where applicable. A denied `query` operation
|
|
170
193
|
inside an action surfaces as `QUERY_OPERATION_FAILED` with `details.code =
|
|
171
194
|
'AUTHORIZATION_DENIED'` and rolls the action transaction back. A denied `workflow.inspect` /
|
|
172
195
|
`workflow.history` is answered like a missing instance (`undefined` / `[]`), never
|
package/docs/CONSTRAINTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Distributed authority
|
|
2
2
|
|
|
3
|
-
*This document describes Axiom `0.15.0-alpha.
|
|
3
|
+
*This document describes Axiom `0.15.0-alpha.2`.*
|
|
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
|
package/docs/EFFECTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Effects
|
|
2
2
|
|
|
3
|
-
Axiom 0.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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
|
|
|
@@ -103,6 +103,14 @@ object([
|
|
|
103
103
|
- `not` → `!truthy(operand)`.
|
|
104
104
|
- `negate` → `-Number(operand ?? 0)`.
|
|
105
105
|
|
|
106
|
+
> **Authorization policies evaluate differently for a missing security field.** An
|
|
107
|
+
> `AuthorizationPolicyDef.allow` expression is run by a dedicated three-valued evaluator: a
|
|
108
|
+
> `field(ref(PRINCIPAL) | ref(RESOURCE), F)` read of a field the scope object does not
|
|
109
|
+
> carry is **security-scope absence**, not an ordinary `undefined`. A comparison, `not`,
|
|
110
|
+
> `neq` or `or` whose truth would depend on absence is *not satisfied*, so the policy
|
|
111
|
+
> DENIES (spec15pt2 F1). This is scoped to `allow` evaluation — the general expression
|
|
112
|
+
> semantics above are unchanged everywhere else, including in `ActionDef.authorization`.
|
|
113
|
+
|
|
106
114
|
### `call(fn, ...args)`
|
|
107
115
|
|
|
108
116
|
Calls a built-in. See [Built-in functions](#built-in-functions).
|
package/docs/GRAPH_MODEL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Graph model
|
|
2
2
|
|
|
3
|
-
Axiom 0.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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,6 +1,6 @@
|
|
|
1
1
|
# Realtime — live canonical queries
|
|
2
2
|
|
|
3
|
-
Axiom 0.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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
6
|
reconnects. `axiom.server.v7` (0.13 adds no IR vocabulary).
|
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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
Axiom 0.15.0-alpha.2. 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.15.0-alpha.
|
|
258
|
+
- Pre-`0.15.0-alpha.2` 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.15.0-alpha.
|
|
3
|
+
> AI-native semantic application framework, version 0.15.0-alpha.2. 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.15.0-alpha.
|
|
3
|
+
"version": "0.15.0-alpha.2",
|
|
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.15.0-alpha.
|
|
38
|
-
"@cynodia/axiom-runtime": "0.15.0-alpha.
|
|
39
|
-
"@cynodia/axiom-compiler": "0.15.0-alpha.
|
|
40
|
-
"@cynodia/axiom-agent-api": "0.15.0-alpha.
|
|
37
|
+
"@cynodia/axiom-core": "0.15.0-alpha.2",
|
|
38
|
+
"@cynodia/axiom-runtime": "0.15.0-alpha.2",
|
|
39
|
+
"@cynodia/axiom-compiler": "0.15.0-alpha.2",
|
|
40
|
+
"@cynodia/axiom-agent-api": "0.15.0-alpha.2"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"build": "tsc -b tsconfig.json"
|