@cosmicdrift/kumiko-types 0.327.0 → 0.328.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/action-icon.d.ts +3 -0
- package/dist/action-icon.js +51 -0
- package/{src/agent-exposure.ts → dist/agent-exposure.d.ts} +8 -15
- package/dist/agent-exposure.js +16 -0
- package/dist/concurrency-mode.d.ts +1 -0
- package/dist/config-scope.d.ts +1 -0
- package/dist/config-scope.js +1 -0
- package/dist/config.d.ts +234 -0
- package/dist/config.js +1 -0
- package/dist/cursor-types.d.ts +16 -0
- package/dist/cursor-types.js +1 -0
- package/dist/db-connection.d.ts +14 -0
- package/dist/db-connection.js +1 -0
- package/dist/define-handler.d.ts +58 -0
- package/dist/define-handler.js +1 -0
- package/dist/derivatives-types.d.ts +53 -0
- package/dist/derivatives-types.js +3 -0
- package/dist/entity-cache.d.ts +16 -0
- package/dist/entity-cache.js +1 -0
- package/dist/entity-handlers.d.ts +54 -0
- package/dist/entity-handlers.js +1 -0
- package/dist/entity-table-meta-types.d.ts +44 -0
- package/dist/entity-table-meta-types.js +6 -0
- package/dist/envelope-cipher-types.d.ts +5 -0
- package/dist/envelope-cipher-types.js +1 -0
- package/dist/event-store-executor-types.d.ts +86 -0
- package/dist/event-store-executor-types.js +1 -0
- package/dist/event-store-types.d.ts +37 -0
- package/dist/event-store-types.js +7 -0
- package/dist/event-type-map.d.ts +8 -0
- package/{src/event-type-map.ts → dist/event-type-map.js} +1 -16
- package/dist/executor-brand.d.ts +8 -0
- package/dist/executor-brand.js +1 -0
- package/dist/extension-options-map.d.ts +9 -0
- package/dist/extension-options-map.js +4 -0
- package/dist/feature.d.ts +518 -0
- package/dist/feature.js +1 -0
- package/dist/field-icon.d.ts +1 -0
- package/dist/field-icon.js +1 -0
- package/dist/fields.d.ts +729 -0
- package/dist/fields.js +50 -0
- package/dist/file-handle-types.d.ts +12 -0
- package/dist/file-handle-types.js +1 -0
- package/dist/file-provider-resolver-types.d.ts +3 -0
- package/dist/file-provider-resolver-types.js +1 -0
- package/dist/file-storage-provider-types.d.ts +17 -0
- package/dist/file-storage-provider-types.js +1 -0
- package/dist/geo-tz.d.ts +17 -0
- package/{src/geo-tz.ts → dist/geo-tz.js} +1 -20
- package/dist/handlers.d.ts +493 -0
- package/dist/handlers.js +49 -0
- package/dist/hook-phase.d.ts +1 -0
- package/dist/hook-phase.js +1 -0
- package/dist/hooks.d.ts +75 -0
- package/dist/hooks.js +1 -0
- package/dist/http-route.d.ts +52 -0
- package/dist/http-route.js +13 -0
- package/dist/identifiers.d.ts +8 -0
- package/{src/identifiers.ts → dist/identifiers.js} +7 -24
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/kms-adapter-types.d.ts +68 -0
- package/dist/kms-adapter-types.js +49 -0
- package/dist/logger.d.ts +7 -0
- package/dist/logger.js +1 -0
- package/dist/multi-stream-apply-context-types.d.ts +18 -0
- package/dist/multi-stream-apply-context-types.js +1 -0
- package/dist/nav-icon.d.ts +3 -0
- package/dist/nav-icon.js +100 -0
- package/dist/nav.d.ts +39 -0
- package/dist/nav.js +1 -0
- package/dist/observability/index.d.ts +3 -0
- package/dist/observability/index.js +2 -0
- package/dist/observability/metric.d.ts +34 -0
- package/dist/observability/metric.js +3 -0
- package/dist/observability/provider.d.ts +24 -0
- package/dist/observability/provider.js +4 -0
- package/dist/observability/span.d.ts +32 -0
- package/dist/observability/span.js +4 -0
- package/dist/ownership.d.ts +33 -0
- package/dist/ownership.js +5 -0
- package/dist/projection.d.ts +38 -0
- package/dist/projection.js +1 -0
- package/dist/rate-limit-types.d.ts +19 -0
- package/dist/rate-limit-types.js +1 -0
- package/dist/relations.d.ts +25 -0
- package/dist/relations.js +1 -0
- package/dist/schema-table-types.d.ts +15 -0
- package/{src/schema-table-types.ts → dist/schema-table-types.js} +0 -20
- package/dist/screen.d.ts +1265 -0
- package/dist/screen.js +3 -0
- package/dist/search-adapter.d.ts +32 -0
- package/dist/search-adapter.js +1 -0
- package/dist/secrets-types.d.ts +52 -0
- package/dist/secrets-types.js +30 -0
- package/dist/snapshot-types.d.ts +13 -0
- package/dist/snapshot-types.js +1 -0
- package/dist/step.d.ts +304 -0
- package/dist/step.js +11 -0
- package/dist/target-ref.d.ts +5 -0
- package/{src/target-ref.ts → dist/target-ref.js} +1 -6
- package/dist/tenancy-brand.d.ts +6 -0
- package/dist/tenancy-brand.js +1 -0
- package/dist/tenant-db-types.d.ts +67 -0
- package/dist/tenant-db-types.js +5 -0
- package/dist/tree-node.d.ts +26 -0
- package/dist/tree-node.js +22 -0
- package/dist/tz-context.d.ts +48 -0
- package/dist/tz-context.js +6 -0
- package/dist/websocket-route.d.ts +46 -0
- package/dist/websocket-route.js +10 -0
- package/dist/where-clause-types.d.ts +20 -0
- package/dist/where-clause-types.js +1 -0
- package/dist/workspace.d.ts +10 -0
- package/dist/workspace.js +1 -0
- package/dist/write-error-info-types.d.ts +12 -0
- package/dist/write-error-info-types.js +1 -0
- package/package.json +360 -121
- package/src/changes.json +12 -0
- package/src/__tests__/handlers.test.ts +0 -40
- package/src/__tests__/plural-forms.test.ts +0 -18
- package/src/action-icon.ts +0 -57
- package/src/concurrency-mode.ts +0 -5
- package/src/config-scope.ts +0 -5
- package/src/config.ts +0 -563
- package/src/cursor-types.ts +0 -18
- package/src/db-connection.ts +0 -25
- package/src/define-handler.ts +0 -138
- package/src/derivatives-types.ts +0 -106
- package/src/entity-cache.ts +0 -35
- package/src/entity-handlers.ts +0 -68
- package/src/entity-table-meta-types.ts +0 -101
- package/src/envelope-cipher-types.ts +0 -6
- package/src/event-store-executor-types.ts +0 -163
- package/src/event-store-types.ts +0 -85
- package/src/executor-brand.ts +0 -19
- package/src/extension-options-map.ts +0 -21
- package/src/feature.ts +0 -1141
- package/src/field-icon.ts +0 -23
- package/src/fields.ts +0 -1114
- package/src/file-handle-types.ts +0 -20
- package/src/file-provider-resolver-types.ts +0 -7
- package/src/file-storage-provider-types.ts +0 -54
- package/src/handlers.ts +0 -1246
- package/src/hook-phase.ts +0 -2
- package/src/hooks.ts +0 -170
- package/src/http-route.ts +0 -78
- package/src/kms-adapter-types.ts +0 -128
- package/src/logger.ts +0 -7
- package/src/multi-stream-apply-context-types.ts +0 -52
- package/src/nav-icon.ts +0 -105
- package/src/nav.ts +0 -139
- package/src/observability/index.ts +0 -28
- package/src/observability/metric.ts +0 -56
- package/src/observability/provider.ts +0 -32
- package/src/observability/span.ts +0 -58
- package/src/ownership.ts +0 -83
- package/src/projection.ts +0 -170
- package/src/rate-limit-types.ts +0 -32
- package/src/relations.ts +0 -52
- package/src/screen.ts +0 -1593
- package/src/search-adapter.ts +0 -45
- package/src/secrets-types.ts +0 -182
- package/src/snapshot-types.ts +0 -36
- package/src/step.ts +0 -390
- package/src/tenancy-brand.ts +0 -9
- package/src/tenant-db-types.ts +0 -116
- package/src/tree-node.ts +0 -134
- package/src/tz-context.ts +0 -63
- package/src/websocket-route.ts +0 -68
- package/src/where-clause-types.ts +0 -31
- package/src/workspace.ts +0 -42
- package/src/write-error-info-types.ts +0 -20
- /package/{src/index.ts → dist/concurrency-mode.js} +0 -0
package/src/event-store-types.ts
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import type { TenantId } from "./identifiers";
|
|
2
|
-
|
|
3
|
-
// Structural shape of kumiko-framework's VersionConflictError. The class
|
|
4
|
-
// itself cannot live here (#1629) — this package must stay free of
|
|
5
|
-
// identity-sensitive runtime values so it can be a plain dependency.
|
|
6
|
-
export interface VersionConflict extends Error {
|
|
7
|
-
readonly aggregateId: string;
|
|
8
|
-
readonly expectedVersion: number;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export type EventMetadata = {
|
|
12
|
-
readonly userId: string;
|
|
13
|
-
readonly requestId?: string;
|
|
14
|
-
// End-to-end business-operation id. Root HTTP requests get it from the
|
|
15
|
-
// x-correlation-id header (default: requestId). MSP-applies inherit it
|
|
16
|
-
// from the triggering event. Lets you trace "which user click caused
|
|
17
|
-
// this email 3 streams later?".
|
|
18
|
-
readonly correlationId?: string;
|
|
19
|
-
// Stored event id that triggered this write. Null for root commands;
|
|
20
|
-
// set to event.id when an MSP-apply runs ctx.appendEvent. Together with
|
|
21
|
-
// correlationId forms a causation DAG across aggregate streams.
|
|
22
|
-
readonly causationId?: string;
|
|
23
|
-
// Opt-in second line of defense against duplicate appends when the
|
|
24
|
-
// Redis-backed HTTP idempotency guard (pipeline/idempotency.ts) misses a
|
|
25
|
-
// retry window (Redis unreachable, TTL race). Callers that want a hard
|
|
26
|
-
// per-event uniqueness guarantee set a stable key derived from the
|
|
27
|
-
// triggering request; the event-store enforces it via a tenant-scoped
|
|
28
|
-
// partial unique index and throws IdempotentAppendConflictError on a
|
|
29
|
-
// repeat. Unset by default — no uniqueness constraint applies.
|
|
30
|
-
readonly idempotencyKey?: string;
|
|
31
|
-
// Marten-conform free key/value space for app-specific metadata that
|
|
32
|
-
// doesn't deserve its own EventMetadata field. Examples: A/B-test bucket,
|
|
33
|
-
// feature-flag snapshot, geo-region, client SDK version. Persisted into
|
|
34
|
-
// events.metadata jsonb (no schema change — it's already a free-form
|
|
35
|
-
// jsonb column), survives upcasters untouched, available on every
|
|
36
|
-
// StoredEvent.metadata.headers. Framework does not interpret values; the
|
|
37
|
-
// app reads them when filtering/auditing. Keep values JSON-primitive
|
|
38
|
-
// (string|number|boolean) so JSON serialization stays bulletproof.
|
|
39
|
-
readonly headers?: Readonly<Record<string, string | number | boolean>>;
|
|
40
|
-
// Feature that owned the execution scope which wrote this event, and the
|
|
41
|
-
// qualified name of the handler/consumer/job inside it. Derived in
|
|
42
|
-
// event-store.append() from the ambient request scope, never passed in by
|
|
43
|
-
// the writer — attribution handed over can lie, attribution derived cannot.
|
|
44
|
-
// Optional so rows written before #3043 stay readable without a backfill;
|
|
45
|
-
// every new row carries both, falling back to UNATTRIBUTED_ORIGIN.
|
|
46
|
-
readonly feature?: string;
|
|
47
|
-
readonly handler?: string;
|
|
48
|
-
// Only set under an anonymous root without public-intake, so event-triggered
|
|
49
|
-
// jobs keep the personal-data gate.
|
|
50
|
-
readonly writeOrigin?: WriteOrigin;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export type WriteOrigin = {
|
|
54
|
-
readonly rootHandler: string;
|
|
55
|
-
readonly anonymousRoot: boolean;
|
|
56
|
-
// Only a write-handler root can declare public-intake; a query/stream root never does.
|
|
57
|
-
readonly publicIntake: boolean;
|
|
58
|
-
readonly viaJob?: string;
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
export function isPersonalDataGated(origin: WriteOrigin): boolean {
|
|
62
|
-
return origin.anonymousRoot && !origin.publicIntake;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Stamped when an append runs outside any attributed scope (seed scripts,
|
|
66
|
-
// tests, direct event-store use). A distinct value, not an omission —
|
|
67
|
-
// omitted would be indistinguishable from a pre-#3043 row.
|
|
68
|
-
export const UNATTRIBUTED_ORIGIN = "unknown";
|
|
69
|
-
|
|
70
|
-
// Generic over the payload shape. Default = Record<string, unknown> keeps
|
|
71
|
-
// all existing consumers backwards-compatible; annotate `StoredEvent<MyEventPayload>`
|
|
72
|
-
// where a typed payload read is needed.
|
|
73
|
-
export type StoredEvent<TPayload = Record<string, unknown>> = {
|
|
74
|
-
readonly id: string;
|
|
75
|
-
readonly aggregateId: string;
|
|
76
|
-
readonly aggregateType: string;
|
|
77
|
-
readonly tenantId: TenantId;
|
|
78
|
-
readonly version: number;
|
|
79
|
-
readonly type: string;
|
|
80
|
-
readonly eventVersion: number;
|
|
81
|
-
readonly payload: TPayload;
|
|
82
|
-
readonly metadata: EventMetadata;
|
|
83
|
-
readonly createdAt: Temporal.Instant;
|
|
84
|
-
readonly createdBy: string;
|
|
85
|
-
};
|
package/src/executor-brand.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// A managed projection is only writable through the executor (event →
|
|
2
|
-
// rebuild-safe). To make a direct write a *compile* error rather than a
|
|
3
|
-
// convention, EntityTable carries a phantom `unique symbol` prop; the public
|
|
4
|
-
// write helpers reject anything that has it (see NotExecutorOnly + query.ts).
|
|
5
|
-
// The symbol key dodges SchemaTable's `[field: string]: unknown` index
|
|
6
|
-
// signature (string index sigs don't cover symbol keys), so the brand
|
|
7
|
-
// survives the type-erasure that would swallow a plain marker prop — and the
|
|
8
|
-
// executor seam (applyEntityEvent) erases `table` to TableColumns<any>, which
|
|
9
|
-
// carries no such prop, so the one legitimate writer stays green.
|
|
10
|
-
declare const EXECUTOR_ONLY: unique symbol;
|
|
11
|
-
export interface ExecutorOnly {
|
|
12
|
-
readonly [EXECUTOR_ONLY]: true;
|
|
13
|
-
}
|
|
14
|
-
// Negative brand for write-helper params: a branded EntityTable is NOT
|
|
15
|
-
// assignable (its `true` clashes with `never`), while unmanaged EntityTableMeta
|
|
16
|
-
// and erased SchemaTable pass (they lack the prop, so `?: never` is satisfied).
|
|
17
|
-
export type NotExecutorOnly = {
|
|
18
|
-
readonly [EXECUTOR_ONLY]?: never;
|
|
19
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
// Cross-Feature Compile-Time-Type-Map for `r.useExtension(name, entity, options)`.
|
|
2
|
-
// Augmented per extension point via `declare module "@cosmicdrift/kumiko-framework/engine"`,
|
|
3
|
-
// mirroring event-type-map.ts; names without augmentation stay untyped.
|
|
4
|
-
|
|
5
|
-
import type { EscapeHatchDeclaration } from "./handlers";
|
|
6
|
-
|
|
7
|
-
// MUST be `interface` (not `type`): only interfaces support TS declaration-
|
|
8
|
-
// merging. See event-type-map.ts for the same constraint.
|
|
9
|
-
|
|
10
|
-
// biome-ignore lint/suspicious/noEmptyInterface: declaration-merging marker — augmented per extension point
|
|
11
|
-
export interface KumikoExtensionOptionsMap {}
|
|
12
|
-
|
|
13
|
-
/** Options shape for an extension name: the augmented hook shape plus `escapeHatch`, or an untyped bag if unaugmented. */
|
|
14
|
-
export type ExtensionOptionsFor<N extends string> = N extends keyof KumikoExtensionOptionsMap
|
|
15
|
-
? KumikoExtensionOptionsMap[N] & { readonly escapeHatch?: EscapeHatchDeclaration }
|
|
16
|
-
: Record<string, unknown>;
|
|
17
|
-
|
|
18
|
-
/** Rest-tuple for useExtension's positional options arg: required for an augmented name, optional otherwise. */
|
|
19
|
-
export type ExtensionOptionsArgs<N extends string> = N extends keyof KumikoExtensionOptionsMap
|
|
20
|
-
? [options: ExtensionOptionsFor<N>]
|
|
21
|
-
: [options?: Record<string, unknown>];
|