@almadar/core 10.29.0 → 10.30.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/dist/{builders-DcBjE_Uw.d.ts → builders-C458pIMW.d.ts} +1882 -221
- package/dist/builders.d.ts +3 -3
- package/dist/builders.js +151 -11
- package/dist/builders.js.map +1 -1
- package/dist/factory/index.d.ts +5 -4
- package/dist/factory-runtime/index.d.ts +63 -18
- package/dist/factory-runtime/index.js +192 -88
- package/dist/factory-runtime/index.js.map +1 -1
- package/dist/index.d.ts +10 -9
- package/dist/index.js +428 -57
- package/dist/index.js.map +1 -1
- package/dist/json-DOTchoRS.d.ts +57 -0
- package/dist/{pattern-types-JZordBZv.d.ts → pattern-types-CLcOXOmW.d.ts} +273 -13
- package/dist/patterns/component-mapping.json +1 -1
- package/dist/patterns/event-contracts.json +1 -1
- package/dist/patterns/index.d.ts +327 -48
- package/dist/patterns/index.js +188 -34
- package/dist/patterns/index.js.map +1 -1
- package/dist/patterns/patterns-registry.json +146 -29
- package/dist/patterns/registry.json +146 -29
- package/dist/{trait-B_CzfDSi.d.ts → trait-CwWjkU-1.d.ts} +423 -45
- package/dist/types/index.d.ts +49 -19
- package/dist/types/index.js +212 -18
- package/dist/types/index.js.map +1 -1
- package/dist/{types-CGC5A1-T.d.ts → types-yW22YNNt.d.ts} +4 -59
- package/package.json +1 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON primitives — the universal "data crossed a boundary" type.
|
|
3
|
+
*
|
|
4
|
+
* Every value that arrives over the wire from an LLM (tool-call args),
|
|
5
|
+
* from disk (workspace files), or from an HTTP body before
|
|
6
|
+
* domain-specific validation is a `JsonValue`. Narrow with a typed
|
|
7
|
+
* predicate (`is`-guard) at the boundary; don't widen back to `unknown`.
|
|
8
|
+
*
|
|
9
|
+
* `JsonObject` and `ToolArgs` are aliases for the common
|
|
10
|
+
* `Record<string, JsonValue>` shape. `ToolArgs` is the name the
|
|
11
|
+
* agent surface uses for LLM-emitted tool-call arguments; `JsonObject`
|
|
12
|
+
* is the general-purpose alias. They are the same type — the alias
|
|
13
|
+
* exists so call sites read at the right semantic level.
|
|
14
|
+
*
|
|
15
|
+
* Why not `Record<string, unknown>`? Two reasons. (1) `unknown` widens
|
|
16
|
+
* back to anything, which defeats the purpose of typing the boundary.
|
|
17
|
+
* (2) The `@almadar/eslint-plugin/no-record-string-unknown` rule blocks
|
|
18
|
+
* the wider form — `JsonValue`-based records are the typed answer.
|
|
19
|
+
*
|
|
20
|
+
* @packageDocumentation
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Recursive JSON value union — every shape JSON can carry.
|
|
24
|
+
*/
|
|
25
|
+
type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
26
|
+
[key: string]: JsonValue;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* JSON object — keyed string→JsonValue. The wire form of arbitrary
|
|
30
|
+
* structured data. Replaces `Record<string, unknown>` at typed
|
|
31
|
+
* boundaries (LLM emits, file reads, HTTP bodies).
|
|
32
|
+
*/
|
|
33
|
+
type JsonObject = {
|
|
34
|
+
[key: string]: JsonValue;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* LLM tool-call arguments — same shape as `JsonObject`, named for the
|
|
38
|
+
* agent-surface call site. Each tool's `execute(args: ToolArgs)`
|
|
39
|
+
* receives this and narrows via an `is`-guard predicate before any
|
|
40
|
+
* field access.
|
|
41
|
+
*/
|
|
42
|
+
type ToolArgs = JsonObject;
|
|
43
|
+
/**
|
|
44
|
+
* Type guard: is the given value a JSON primitive (non-array,
|
|
45
|
+
* non-object)? Used by walkers that decide whether to recurse.
|
|
46
|
+
*/
|
|
47
|
+
declare function isJsonPrimitive(value: JsonValue): value is string | number | boolean | null;
|
|
48
|
+
/**
|
|
49
|
+
* Type guard: is the given value a JSON object (non-array, non-null)?
|
|
50
|
+
*/
|
|
51
|
+
declare function isJsonObject(value: JsonValue): value is JsonObject;
|
|
52
|
+
/**
|
|
53
|
+
* Type guard: is the given value a JSON array?
|
|
54
|
+
*/
|
|
55
|
+
declare function isJsonArray(value: JsonValue): value is JsonValue[];
|
|
56
|
+
|
|
57
|
+
export { type JsonValue as J, type ToolArgs as T, type JsonObject as a, isJsonObject as b, isJsonPrimitive as c, isJsonArray as i };
|
|
@@ -1,6 +1,255 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { S as SExpr } from './expression-CB9R3KWk.js';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Identity model (Almadar Rabit V4, Phase 1 — types only).
|
|
6
|
+
*
|
|
7
|
+
* Branded, prefix-tagged node ids + a workspace-scoped name ledger. Ids are
|
|
8
|
+
* the durable edge keys of the identity-keyed schema graph; the ledger is the
|
|
9
|
+
* sole name↔id map (names are display labels, one row per rename). This module
|
|
10
|
+
* is pure: no I/O, no side effects. Minting is the only impurity (clock +
|
|
11
|
+
* crypto randomness for the ULID suffix).
|
|
12
|
+
*
|
|
13
|
+
* @packageDocumentation
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
type Branded<K extends string> = string & {
|
|
17
|
+
readonly __idBrand: K;
|
|
18
|
+
};
|
|
19
|
+
type OrbitalId = Branded<'OrbitalId'>;
|
|
20
|
+
type EntityId = Branded<'EntityId'>;
|
|
21
|
+
type TraitId = Branded<'TraitId'>;
|
|
22
|
+
type EventId = Branded<'EventId'>;
|
|
23
|
+
type PageId = Branded<'PageId'>;
|
|
24
|
+
type ServiceId = Branded<'ServiceId'>;
|
|
25
|
+
type ThemeId = Branded<'ThemeId'>;
|
|
26
|
+
type PaletteEntryId = Branded<'PaletteEntryId'>;
|
|
27
|
+
/** Node kind ↔ id-prefix table. The single source of truth for every prefix. */
|
|
28
|
+
declare const ID_PREFIXES: {
|
|
29
|
+
readonly orbital: "orb_";
|
|
30
|
+
readonly entity: "ent_";
|
|
31
|
+
readonly trait: "trt_";
|
|
32
|
+
readonly event: "evt_";
|
|
33
|
+
readonly page: "pag_";
|
|
34
|
+
readonly service: "svc_";
|
|
35
|
+
readonly theme: "thm_";
|
|
36
|
+
readonly palette: "pal_";
|
|
37
|
+
};
|
|
38
|
+
type IdKind = keyof typeof ID_PREFIXES;
|
|
39
|
+
/** Compile-time map from kind to its branded id type. */
|
|
40
|
+
interface IdForKind {
|
|
41
|
+
orbital: OrbitalId;
|
|
42
|
+
entity: EntityId;
|
|
43
|
+
trait: TraitId;
|
|
44
|
+
event: EventId;
|
|
45
|
+
page: PageId;
|
|
46
|
+
service: ServiceId;
|
|
47
|
+
theme: ThemeId;
|
|
48
|
+
palette: PaletteEntryId;
|
|
49
|
+
}
|
|
50
|
+
declare const isOrbitalId: (value: string) => value is OrbitalId;
|
|
51
|
+
declare const asOrbitalId: (value: string) => OrbitalId;
|
|
52
|
+
declare const isEntityId: (value: string) => value is EntityId;
|
|
53
|
+
declare const asEntityId: (value: string) => EntityId;
|
|
54
|
+
declare const isTraitId: (value: string) => value is TraitId;
|
|
55
|
+
declare const asTraitId: (value: string) => TraitId;
|
|
56
|
+
declare const isEventId: (value: string) => value is EventId;
|
|
57
|
+
declare const asEventId: (value: string) => EventId;
|
|
58
|
+
declare const isPageId: (value: string) => value is PageId;
|
|
59
|
+
declare const asPageId: (value: string) => PageId;
|
|
60
|
+
declare const isServiceId: (value: string) => value is ServiceId;
|
|
61
|
+
declare const asServiceId: (value: string) => ServiceId;
|
|
62
|
+
declare const isThemeId: (value: string) => value is ThemeId;
|
|
63
|
+
declare const asThemeId: (value: string) => ThemeId;
|
|
64
|
+
declare const isPaletteEntryId: (value: string) => value is PaletteEntryId;
|
|
65
|
+
declare const asPaletteEntryId: (value: string) => PaletteEntryId;
|
|
66
|
+
/**
|
|
67
|
+
* The id-prefix for a node kind (`'entity' → 'ent_'`). The JS mirror of the
|
|
68
|
+
* Rust `IdKind::prefix`. Single source of truth is {@link ID_PREFIXES}.
|
|
69
|
+
*/
|
|
70
|
+
declare function idPrefix(kind: IdKind): string;
|
|
71
|
+
/**
|
|
72
|
+
* The node kind an id's prefix denotes, or `null` for an unrecognized /
|
|
73
|
+
* bare-prefix string. The JS mirror of the Rust `id_kind_of`. Prefixes are
|
|
74
|
+
* mutually non-overlapping, so match order is irrelevant.
|
|
75
|
+
*/
|
|
76
|
+
declare function idKindOf(id: string): IdKind | null;
|
|
77
|
+
/** Mint a fresh, opaque, kind-tagged id: `<prefix><ULID>`. */
|
|
78
|
+
declare function mintId<K extends IdKind>(kind: K): IdForKind[K];
|
|
79
|
+
/** Ledger row kind. `palette` entries are manifest ids, not name-ledger rows. */
|
|
80
|
+
type LedgerKind = 'orbital' | 'entity' | 'trait' | 'event' | 'page' | 'service' | 'theme';
|
|
81
|
+
/**
|
|
82
|
+
* One ledger row: the workspace's name history for a single node id.
|
|
83
|
+
*
|
|
84
|
+
* For kind `'event'` the row is minted per-(trait, declared event) per the
|
|
85
|
+
* Phase-0 freeze — the owning trait is recorded in `parent`; a call-site event
|
|
86
|
+
* rename is a one-row edit on this same id (the baked-vs-current key namespaces
|
|
87
|
+
* collapse into `bakedName` vs `curName`).
|
|
88
|
+
*/
|
|
89
|
+
interface LedgerEntry {
|
|
90
|
+
id: string;
|
|
91
|
+
kind: LedgerKind;
|
|
92
|
+
bakedName: string;
|
|
93
|
+
curName: string;
|
|
94
|
+
renames: ReadonlyArray<{
|
|
95
|
+
from: string;
|
|
96
|
+
to: string;
|
|
97
|
+
at: string;
|
|
98
|
+
}>;
|
|
99
|
+
owner: 'std' | 'io' | 'workspace';
|
|
100
|
+
/** Owning trait for kind `'event'` (per-trait event-id namespace). */
|
|
101
|
+
parent?: TraitId;
|
|
102
|
+
}
|
|
103
|
+
interface IdentityLedger {
|
|
104
|
+
schemaVersion: 1;
|
|
105
|
+
entries: Record<string, LedgerEntry>;
|
|
106
|
+
}
|
|
107
|
+
/** Resolve a name to its id via exact `curName` match within `kind`, else null. */
|
|
108
|
+
declare function ledgerResolveName(ledger: IdentityLedger, kind: LedgerKind, name: string): string | null;
|
|
109
|
+
/** Immutable rename: returns a new ledger with the id's `curName` + `renames` updated. */
|
|
110
|
+
declare function ledgerRename(ledger: IdentityLedger, id: string, to: string, at: string): IdentityLedger;
|
|
111
|
+
/** Current display name for an id, or null when the id is not in the ledger. */
|
|
112
|
+
declare function ledgerCurName(ledger: IdentityLedger, id: string): string | null;
|
|
113
|
+
/**
|
|
114
|
+
* Prefix-checked, kind-tagged id schemas. Each narrows a validated string to
|
|
115
|
+
* its branded id type via the module's own kind guard, so a schema that reads
|
|
116
|
+
* `TraitIdSchema.optional()` yields `TraitId | undefined` with no cast. The
|
|
117
|
+
* guard is the single source of prefix truth (`ID_PREFIXES`); the schema is a
|
|
118
|
+
* thin zod wrapper over it.
|
|
119
|
+
*/
|
|
120
|
+
declare const OrbitalIdSchema: z.ZodEffects<z.ZodString, OrbitalId, string>;
|
|
121
|
+
declare const EntityIdSchema: z.ZodEffects<z.ZodString, EntityId, string>;
|
|
122
|
+
declare const TraitIdSchema: z.ZodEffects<z.ZodString, TraitId, string>;
|
|
123
|
+
declare const EventIdSchema: z.ZodEffects<z.ZodString, EventId, string>;
|
|
124
|
+
declare const PageIdSchema: z.ZodEffects<z.ZodString, PageId, string>;
|
|
125
|
+
declare const ServiceIdSchema: z.ZodEffects<z.ZodString, ServiceId, string>;
|
|
126
|
+
declare const ThemeIdSchema: z.ZodEffects<z.ZodString, ThemeId, string>;
|
|
127
|
+
declare const PaletteEntryIdSchema: z.ZodEffects<z.ZodString, PaletteEntryId, string>;
|
|
128
|
+
declare const LedgerKindSchema: z.ZodEnum<["orbital", "entity", "trait", "event", "page", "service", "theme"]>;
|
|
129
|
+
declare const LedgerEntrySchema: z.ZodObject<{
|
|
130
|
+
id: z.ZodString;
|
|
131
|
+
kind: z.ZodEnum<["orbital", "entity", "trait", "event", "page", "service", "theme"]>;
|
|
132
|
+
bakedName: z.ZodString;
|
|
133
|
+
curName: z.ZodString;
|
|
134
|
+
renames: z.ZodArray<z.ZodObject<{
|
|
135
|
+
from: z.ZodString;
|
|
136
|
+
to: z.ZodString;
|
|
137
|
+
at: z.ZodString;
|
|
138
|
+
}, "strip", z.ZodTypeAny, {
|
|
139
|
+
at: string;
|
|
140
|
+
from: string;
|
|
141
|
+
to: string;
|
|
142
|
+
}, {
|
|
143
|
+
at: string;
|
|
144
|
+
from: string;
|
|
145
|
+
to: string;
|
|
146
|
+
}>, "many">;
|
|
147
|
+
owner: z.ZodEnum<["std", "io", "workspace"]>;
|
|
148
|
+
parent: z.ZodOptional<z.ZodEffects<z.ZodString, TraitId, string>>;
|
|
149
|
+
}, "strip", z.ZodTypeAny, {
|
|
150
|
+
id: string;
|
|
151
|
+
kind: "orbital" | "entity" | "trait" | "event" | "page" | "service" | "theme";
|
|
152
|
+
bakedName: string;
|
|
153
|
+
curName: string;
|
|
154
|
+
renames: {
|
|
155
|
+
at: string;
|
|
156
|
+
from: string;
|
|
157
|
+
to: string;
|
|
158
|
+
}[];
|
|
159
|
+
owner: "std" | "io" | "workspace";
|
|
160
|
+
parent?: TraitId | undefined;
|
|
161
|
+
}, {
|
|
162
|
+
id: string;
|
|
163
|
+
kind: "orbital" | "entity" | "trait" | "event" | "page" | "service" | "theme";
|
|
164
|
+
bakedName: string;
|
|
165
|
+
curName: string;
|
|
166
|
+
renames: {
|
|
167
|
+
at: string;
|
|
168
|
+
from: string;
|
|
169
|
+
to: string;
|
|
170
|
+
}[];
|
|
171
|
+
owner: "std" | "io" | "workspace";
|
|
172
|
+
parent?: string | undefined;
|
|
173
|
+
}>;
|
|
174
|
+
declare const IdentityLedgerSchema: z.ZodObject<{
|
|
175
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
176
|
+
entries: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
177
|
+
id: z.ZodString;
|
|
178
|
+
kind: z.ZodEnum<["orbital", "entity", "trait", "event", "page", "service", "theme"]>;
|
|
179
|
+
bakedName: z.ZodString;
|
|
180
|
+
curName: z.ZodString;
|
|
181
|
+
renames: z.ZodArray<z.ZodObject<{
|
|
182
|
+
from: z.ZodString;
|
|
183
|
+
to: z.ZodString;
|
|
184
|
+
at: z.ZodString;
|
|
185
|
+
}, "strip", z.ZodTypeAny, {
|
|
186
|
+
at: string;
|
|
187
|
+
from: string;
|
|
188
|
+
to: string;
|
|
189
|
+
}, {
|
|
190
|
+
at: string;
|
|
191
|
+
from: string;
|
|
192
|
+
to: string;
|
|
193
|
+
}>, "many">;
|
|
194
|
+
owner: z.ZodEnum<["std", "io", "workspace"]>;
|
|
195
|
+
parent: z.ZodOptional<z.ZodEffects<z.ZodString, TraitId, string>>;
|
|
196
|
+
}, "strip", z.ZodTypeAny, {
|
|
197
|
+
id: string;
|
|
198
|
+
kind: "orbital" | "entity" | "trait" | "event" | "page" | "service" | "theme";
|
|
199
|
+
bakedName: string;
|
|
200
|
+
curName: string;
|
|
201
|
+
renames: {
|
|
202
|
+
at: string;
|
|
203
|
+
from: string;
|
|
204
|
+
to: string;
|
|
205
|
+
}[];
|
|
206
|
+
owner: "std" | "io" | "workspace";
|
|
207
|
+
parent?: TraitId | undefined;
|
|
208
|
+
}, {
|
|
209
|
+
id: string;
|
|
210
|
+
kind: "orbital" | "entity" | "trait" | "event" | "page" | "service" | "theme";
|
|
211
|
+
bakedName: string;
|
|
212
|
+
curName: string;
|
|
213
|
+
renames: {
|
|
214
|
+
at: string;
|
|
215
|
+
from: string;
|
|
216
|
+
to: string;
|
|
217
|
+
}[];
|
|
218
|
+
owner: "std" | "io" | "workspace";
|
|
219
|
+
parent?: string | undefined;
|
|
220
|
+
}>>;
|
|
221
|
+
}, "strip", z.ZodTypeAny, {
|
|
222
|
+
entries: Record<string, {
|
|
223
|
+
id: string;
|
|
224
|
+
kind: "orbital" | "entity" | "trait" | "event" | "page" | "service" | "theme";
|
|
225
|
+
bakedName: string;
|
|
226
|
+
curName: string;
|
|
227
|
+
renames: {
|
|
228
|
+
at: string;
|
|
229
|
+
from: string;
|
|
230
|
+
to: string;
|
|
231
|
+
}[];
|
|
232
|
+
owner: "std" | "io" | "workspace";
|
|
233
|
+
parent?: TraitId | undefined;
|
|
234
|
+
}>;
|
|
235
|
+
schemaVersion: 1;
|
|
236
|
+
}, {
|
|
237
|
+
entries: Record<string, {
|
|
238
|
+
id: string;
|
|
239
|
+
kind: "orbital" | "entity" | "trait" | "event" | "page" | "service" | "theme";
|
|
240
|
+
bakedName: string;
|
|
241
|
+
curName: string;
|
|
242
|
+
renames: {
|
|
243
|
+
at: string;
|
|
244
|
+
from: string;
|
|
245
|
+
to: string;
|
|
246
|
+
}[];
|
|
247
|
+
owner: "std" | "io" | "workspace";
|
|
248
|
+
parent?: string | undefined;
|
|
249
|
+
}>;
|
|
250
|
+
schemaVersion: 1;
|
|
251
|
+
}>;
|
|
252
|
+
|
|
4
253
|
/**
|
|
5
254
|
* Field Types for Orbital Units
|
|
6
255
|
*
|
|
@@ -31,6 +280,8 @@ type RelationCardinality = 'one' | 'many' | 'one-to-many' | 'many-to-one' | 'man
|
|
|
31
280
|
interface RelationConfig {
|
|
32
281
|
/** Target entity name (e.g., 'User', 'Task') - matches Rust's `entity` field */
|
|
33
282
|
entity: string;
|
|
283
|
+
/** V4 dual-carry id sibling of `entity` — optional until the Phase-7 flip. */
|
|
284
|
+
entityId?: EntityId;
|
|
34
285
|
/** Field on target entity (defaults to 'id') */
|
|
35
286
|
field?: string;
|
|
36
287
|
/**
|
|
@@ -58,6 +309,7 @@ interface RelationConfig {
|
|
|
58
309
|
}
|
|
59
310
|
declare const RelationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
60
311
|
entity: z.ZodString;
|
|
312
|
+
entityId: z.ZodOptional<z.ZodEffects<z.ZodString, EntityId, string>>;
|
|
61
313
|
field: z.ZodOptional<z.ZodString>;
|
|
62
314
|
cardinality: z.ZodOptional<z.ZodEnum<["one", "many", "one-to-many", "many-to-one", "many-to-many"]>>;
|
|
63
315
|
onDelete: z.ZodOptional<z.ZodEnum<["cascade", "nullify", "restrict"]>>;
|
|
@@ -66,28 +318,31 @@ declare const RelationConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
66
318
|
type: z.ZodOptional<z.ZodEnum<["one", "many", "one-to-many", "many-to-one", "many-to-many"]>>;
|
|
67
319
|
}, "strip", z.ZodTypeAny, {
|
|
68
320
|
entity: string;
|
|
321
|
+
type?: "many" | "one" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
322
|
+
entityId?: EntityId | undefined;
|
|
69
323
|
field?: string | undefined;
|
|
70
|
-
cardinality?: "
|
|
324
|
+
cardinality?: "many" | "one" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
71
325
|
onDelete?: "cascade" | "nullify" | "restrict" | undefined;
|
|
72
326
|
foreignKey?: string | undefined;
|
|
73
327
|
target?: string | undefined;
|
|
74
|
-
type?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
75
328
|
}, {
|
|
76
329
|
entity: string;
|
|
330
|
+
type?: "many" | "one" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
331
|
+
entityId?: string | undefined;
|
|
77
332
|
field?: string | undefined;
|
|
78
|
-
cardinality?: "
|
|
333
|
+
cardinality?: "many" | "one" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
79
334
|
onDelete?: "cascade" | "nullify" | "restrict" | undefined;
|
|
80
335
|
foreignKey?: string | undefined;
|
|
81
336
|
target?: string | undefined;
|
|
82
|
-
type?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
83
337
|
}>, RelationConfig, {
|
|
84
338
|
entity: string;
|
|
339
|
+
type?: "many" | "one" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
340
|
+
entityId?: string | undefined;
|
|
85
341
|
field?: string | undefined;
|
|
86
|
-
cardinality?: "
|
|
342
|
+
cardinality?: "many" | "one" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
87
343
|
onDelete?: "cascade" | "nullify" | "restrict" | undefined;
|
|
88
344
|
foreignKey?: string | undefined;
|
|
89
345
|
target?: string | undefined;
|
|
90
|
-
type?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
91
346
|
}>;
|
|
92
347
|
/**
|
|
93
348
|
* Field format validators for string fields.
|
|
@@ -697,18 +952,18 @@ declare const AssetCatalogEntrySchema: z.ZodObject<{
|
|
|
697
952
|
dimension: z.ZodOptional<z.ZodEnum<["2d", "3d"]>>;
|
|
698
953
|
aspect: z.ZodOptional<z.ZodEnum<["1:1", "16:9", "5:7", "8:1"]>>;
|
|
699
954
|
}, "strip", z.ZodTypeAny, {
|
|
955
|
+
kind: "image" | "spritesheet" | "audio" | "scene" | "portrait" | "model" | "other";
|
|
700
956
|
url: string;
|
|
701
957
|
name: string;
|
|
702
958
|
category: string;
|
|
703
|
-
kind: "image" | "spritesheet" | "audio" | "scene" | "portrait" | "model" | "other";
|
|
704
959
|
dimension?: "2d" | "3d" | undefined;
|
|
705
960
|
aspect?: "1:1" | "16:9" | "5:7" | "8:1" | undefined;
|
|
706
961
|
thumbnailUrl?: string | undefined;
|
|
707
962
|
}, {
|
|
963
|
+
kind: "image" | "spritesheet" | "audio" | "scene" | "portrait" | "model" | "other";
|
|
708
964
|
url: string;
|
|
709
965
|
name: string;
|
|
710
966
|
category: string;
|
|
711
|
-
kind: "image" | "spritesheet" | "audio" | "scene" | "portrait" | "model" | "other";
|
|
712
967
|
dimension?: "2d" | "3d" | undefined;
|
|
713
968
|
aspect?: "1:1" | "16:9" | "5:7" | "8:1" | undefined;
|
|
714
969
|
thumbnailUrl?: string | undefined;
|
|
@@ -726,18 +981,18 @@ declare const AssetCatalogSchema: z.ZodArray<z.ZodObject<{
|
|
|
726
981
|
dimension: z.ZodOptional<z.ZodEnum<["2d", "3d"]>>;
|
|
727
982
|
aspect: z.ZodOptional<z.ZodEnum<["1:1", "16:9", "5:7", "8:1"]>>;
|
|
728
983
|
}, "strip", z.ZodTypeAny, {
|
|
984
|
+
kind: "image" | "spritesheet" | "audio" | "scene" | "portrait" | "model" | "other";
|
|
729
985
|
url: string;
|
|
730
986
|
name: string;
|
|
731
987
|
category: string;
|
|
732
|
-
kind: "image" | "spritesheet" | "audio" | "scene" | "portrait" | "model" | "other";
|
|
733
988
|
dimension?: "2d" | "3d" | undefined;
|
|
734
989
|
aspect?: "1:1" | "16:9" | "5:7" | "8:1" | undefined;
|
|
735
990
|
thumbnailUrl?: string | undefined;
|
|
736
991
|
}, {
|
|
992
|
+
kind: "image" | "spritesheet" | "audio" | "scene" | "portrait" | "model" | "other";
|
|
737
993
|
url: string;
|
|
738
994
|
name: string;
|
|
739
995
|
category: string;
|
|
740
|
-
kind: "image" | "spritesheet" | "audio" | "scene" | "portrait" | "model" | "other";
|
|
741
996
|
dimension?: "2d" | "3d" | undefined;
|
|
742
997
|
aspect?: "1:1" | "16:9" | "5:7" | "8:1" | undefined;
|
|
743
998
|
thumbnailUrl?: string | undefined;
|
|
@@ -953,6 +1208,8 @@ declare const EntityPersistenceSchema: z.ZodEnum<["persistent", "runtime"]>;
|
|
|
953
1208
|
* Collection names are derived automatically from persistence type if not provided.
|
|
954
1209
|
*/
|
|
955
1210
|
interface OrbitalEntity {
|
|
1211
|
+
/** V4 dual-carry id sibling of `name` — optional until the Phase-7 flip. */
|
|
1212
|
+
id?: EntityId;
|
|
956
1213
|
/** Entity name (PascalCase, e.g., "Task", "User") */
|
|
957
1214
|
name: string;
|
|
958
1215
|
/** Entity persistence type (defaults to 'persistent' if not specified) */
|
|
@@ -1249,7 +1506,7 @@ type EntityData = Record<string, EntityRow[]>;
|
|
|
1249
1506
|
*
|
|
1250
1507
|
* DO NOT EDIT MANUALLY — regenerated by almadar-pattern-sync `patterns` command.
|
|
1251
1508
|
*
|
|
1252
|
-
* Generated: 2026-07-
|
|
1509
|
+
* Generated: 2026-07-16T19:33:38.346Z
|
|
1253
1510
|
* Pattern count: 261
|
|
1254
1511
|
*/
|
|
1255
1512
|
|
|
@@ -1354,6 +1611,7 @@ interface PatternPropsMap {
|
|
|
1354
1611
|
duration?: number | string | SExpr;
|
|
1355
1612
|
prefix?: string | SExpr;
|
|
1356
1613
|
suffix?: string | SExpr;
|
|
1614
|
+
format?: string | SExpr;
|
|
1357
1615
|
className?: string | SExpr;
|
|
1358
1616
|
};
|
|
1359
1617
|
'animated-graphic': {
|
|
@@ -2330,7 +2588,6 @@ interface PatternPropsMap {
|
|
|
2330
2588
|
};
|
|
2331
2589
|
'entity-cards': {
|
|
2332
2590
|
type: 'entity-cards';
|
|
2333
|
-
entity?: PatternPropValue | unknown[] | string | SExpr;
|
|
2334
2591
|
className?: string | SExpr;
|
|
2335
2592
|
isLoading?: boolean | string | SExpr;
|
|
2336
2593
|
error?: PatternPropValue | string | SExpr;
|
|
@@ -2342,6 +2599,7 @@ interface PatternPropsMap {
|
|
|
2342
2599
|
totalCount?: number | string | SExpr;
|
|
2343
2600
|
activeFilters?: PatternPropValue | string | SExpr;
|
|
2344
2601
|
selectedIds?: unknown[] | string | SExpr;
|
|
2602
|
+
entity?: PatternPropValue | unknown[] | string | SExpr;
|
|
2345
2603
|
minCardWidth?: number | string | SExpr;
|
|
2346
2604
|
maxCols?: number | string | SExpr;
|
|
2347
2605
|
gap?: string | SExpr;
|
|
@@ -2747,6 +3005,7 @@ interface PatternPropsMap {
|
|
|
2747
3005
|
title?: string | SExpr;
|
|
2748
3006
|
nodes?: unknown[] | string | SExpr;
|
|
2749
3007
|
edges?: unknown[] | string | SExpr;
|
|
3008
|
+
similarity?: unknown[] | string | SExpr;
|
|
2750
3009
|
height?: number | string | SExpr;
|
|
2751
3010
|
showLabels?: boolean | string | SExpr;
|
|
2752
3011
|
interactive?: boolean | string | SExpr;
|
|
@@ -2754,6 +3013,7 @@ interface PatternPropsMap {
|
|
|
2754
3013
|
actions?: unknown[] | string | SExpr;
|
|
2755
3014
|
onNodeClick?: ((...args: unknown[]) => unknown) | string | SExpr;
|
|
2756
3015
|
onNodeDoubleClick?: ((...args: unknown[]) => unknown) | string | SExpr;
|
|
3016
|
+
onBadgeClick?: ((...args: unknown[]) => unknown) | string | SExpr;
|
|
2757
3017
|
nodeClickEvent?: string | SExpr;
|
|
2758
3018
|
selectedNodeId?: string | SExpr;
|
|
2759
3019
|
repulsion?: number | string | SExpr;
|
|
@@ -4632,4 +4892,4 @@ declare const PATTERN_TYPES: PatternType[];
|
|
|
4632
4892
|
*/
|
|
4633
4893
|
declare function isValidPatternType(type: string): type is PatternType;
|
|
4634
4894
|
|
|
4635
|
-
export {
|
|
4895
|
+
export { FieldSchema as $, type AnyPatternConfig as A, type Camera as B, CAMERA_MODES as C, type CameraMode as D, type EntityField as E, type FieldValue as F, CameraModeSchema as G, CameraSchema as H, ENTITY_ROLES as I, type EntityData as J, type EntityFieldInput as K, EntityFieldSchema as L, EntityIdSchema as M, EntityPersistenceSchema as N, type OrbitalId as O, type PageId as P, type EntityRole as Q, type RelationConfig as R, EntityRoleSchema as S, type TraitId as T, EntitySchema as U, type EntityWith as V, type EnumEntityField as W, EventIdSchema as X, type Field as Y, type FieldFormat as Z, FieldFormatSchema as _, type EntityPersistence as a, isEntityId as a$, type FieldType as a0, FieldTypeSchema as a1, type IdForKind as a2, type IdKind as a3, type IdentityLedger as a4, IdentityLedgerSchema as a5, type LedgerEntry as a6, LedgerEntrySchema as a7, type LedgerKind as a8, LedgerKindSchema as a9, type SpriteSheetAtlasInput as aA, SpriteSheetAtlasSchema as aB, type SubTexture as aC, SubTextureSchema as aD, type TextureAtlas as aE, TextureAtlasSchema as aF, type ThemeId as aG, ThemeIdSchema as aH, type Tilesheet as aI, TilesheetSchema as aJ, TraitIdSchema as aK, VISUAL_STYLES as aL, type VisualStyle as aM, VisualStyleSchema as aN, asEntityId as aO, asEventId as aP, asOrbitalId as aQ, asPageId as aR, asPaletteEntryId as aS, asServiceId as aT, asThemeId as aU, asTraitId as aV, createAssetKey as aW, deriveCollection as aX, getDefaultAnimationsForRole as aY, idKindOf as aZ, idPrefix as a_, type OrbitalEntity as aa, type OrbitalEntityInput as ab, OrbitalEntitySchema as ac, OrbitalIdSchema as ad, PATTERN_TYPES as ae, PageIdSchema as af, type PaletteEntryId as ag, PaletteEntryIdSchema as ah, type PatternConfig as ai, type PatternProps as aj, type PatternPropsMap as ak, type PatternType as al, RelationConfigSchema as am, type RelationEntityField as an, SPRITE_DIRECTIONS as ao, type ScalarEntityField as ap, type ScenePos as aq, ScenePosSchema as ar, type SemanticAssetRef as as, type SemanticAssetRefInput as at, SemanticAssetRefSchema as au, type ServiceId as av, ServiceIdSchema as aw, type SpriteDirection as ax, SpriteDirectionSchema as ay, type SpriteSheetAtlas as az, type EntityRow as b, isEventId as b0, isFieldValue as b1, isOrbitalId as b2, isPageId as b3, isPaletteEntryId as b4, isRuntimeEntity as b5, isServiceId as b6, isThemeId as b7, isTraitId as b8, isValidPatternType as b9, ledgerCurName as ba, ledgerRename as bb, ledgerResolveName as bc, mintId as bd, parseAssetKey as be, persistenceModeAllowsOverrides as bf, validateAssetAnimations as bg, type EventId as c, type EntityId as d, type Entity as e, ANIMATION_NAMES as f, ASSET_ASPECTS as g, ASSET_DIMENSIONS as h, type AnimationDef as i, type AnimationDefInput as j, AnimationDefSchema as k, type AnimationName as l, AnimationNameSchema as m, type ArrayEntityField as n, type Asset as o, type AssetAspect as p, AssetAspectSchema as q, type AssetCatalog as r, type AssetCatalogEntry as s, type AssetCatalogEntryInput as t, AssetCatalogEntrySchema as u, AssetCatalogSchema as v, type AssetDimension as w, AssetDimensionSchema as x, AssetSchema as y, type AssetUrl as z };
|