@intentic/state-resolver 1.224.0 → 1.225.0
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 +8 -8
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
# @intentic/state-resolver
|
|
2
2
|
|
|
3
|
-
The **state resolver**: turns an `IntentSet` into the desired state
|
|
3
|
+
The **state resolver**: turns an `IntentSet` into the desired state, a `DesiredStateGraph`. It assigns each need its catalog option and compiles the emitted nodes into one graph. Depends on [`@intentic/graph`](../graph), [`@intentic/need-resolver`](../need-resolver) (needs), and [`@intentic/resources`](../resources) (the vocabulary it emits); consumed by [`@intentic/sdk`](../sdk).
|
|
4
4
|
|
|
5
5
|
## Responsibilities
|
|
6
6
|
|
|
7
7
|
- Resolve needs to concrete catalog options (Forgejo for git+registry, Komodo for control, Cloudflare for domain, GitHub/GHCR as the alternative stack).
|
|
8
8
|
- Emit the `ResolvedNode`s for each assignment and `compile` them into a single dependency-ordered graph (`resolveState`).
|
|
9
9
|
- Derive the control-plane platform and the application-plane support stack (repos, CI, deployments, tunnel, routes, workspace sandbox).
|
|
10
|
-
- It does **not** talk to infra or reconcile
|
|
10
|
+
- It does **not** talk to infra or reconcile: it only produces the serializable artifact.
|
|
11
11
|
|
|
12
12
|
## Key files
|
|
13
13
|
|
|
14
|
-
- [src/state.ts](src/state.ts)
|
|
15
|
-
- [src/lib/catalog.ts](src/lib/catalog.ts)
|
|
16
|
-
- [src/emit/emit.ts](src/emit/emit.ts)
|
|
17
|
-
- [src/resolvers](src/resolvers)
|
|
18
|
-
- [src/lib/ids.ts](src/lib/ids.ts) / [src/resolvers/identity.ts](src/resolvers/identity.ts)
|
|
14
|
+
- [src/state.ts](src/state.ts), `resolveState`: intent → `DesiredStateGraph`.
|
|
15
|
+
- [src/lib/catalog.ts](src/lib/catalog.ts): `defaultCatalog`, `Catalog`/`Option` (what satisfies each capability).
|
|
16
|
+
- [src/emit/emit.ts](src/emit/emit.ts): `emit` + `Assignment` (build the nodes for one assignment).
|
|
17
|
+
- [src/resolvers](src/resolvers), per-area node derivation: `platform.ts`, `app.ts`, `route.ts`, `workspace.ts` (control plane, app plane, DNS routes, dev workspace sandbox).
|
|
18
|
+
- [src/lib/ids.ts](src/lib/ids.ts) / [src/resolvers/identity.ts](src/resolvers/identity.ts): id helpers, `adminUsername`.
|
|
19
19
|
|
|
20
20
|
## How it fits
|
|
21
21
|
|
|
@@ -24,4 +24,4 @@ Stage 2 of the pipeline: `need-resolver` produces `Need`s, this maps each to an
|
|
|
24
24
|
## Conventions & gotchas
|
|
25
25
|
|
|
26
26
|
- Adding a resource kind means emitting it here **and** registering its type/outputs in `resources` and a provider in `providers`.
|
|
27
|
-
- Emitter changes are snapshot-tested ([src/emit.test.ts](src/emit.test.ts), [src/state.test.ts](src/state.test.ts))
|
|
27
|
+
- Emitter changes are snapshot-tested ([src/emit.test.ts](src/emit.test.ts), [src/state.test.ts](src/state.test.ts)): update fixtures deliberately. See [ARCHITECTURE.md](../../ARCHITECTURE.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentic/state-resolver",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.225.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"tslib": "2.8.1",
|
|
34
|
-
"@intentic/constants": "1.
|
|
35
|
-
"@intentic/
|
|
36
|
-
"@intentic/
|
|
37
|
-
"@intentic/resources": "1.
|
|
34
|
+
"@intentic/constants": "1.225.0",
|
|
35
|
+
"@intentic/graph": "1.225.0",
|
|
36
|
+
"@intentic/need-resolver": "1.225.0",
|
|
37
|
+
"@intentic/resources": "1.225.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|