@soulcraft/sdk 1.6.2 → 2.0.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/client/create-client-sdk.d.ts +16 -2
- package/dist/client/create-client-sdk.d.ts.map +1 -1
- package/dist/client/create-client-sdk.js +2 -7
- package/dist/client/create-client-sdk.js.map +1 -1
- package/dist/client/index.d.ts +48 -37
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +61 -42
- package/dist/client/index.js.map +1 -1
- package/dist/client/namespace-proxy.d.ts +108 -0
- package/dist/client/namespace-proxy.d.ts.map +1 -0
- package/dist/client/namespace-proxy.js +151 -0
- package/dist/client/namespace-proxy.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/app-context/index.d.ts +214 -0
- package/dist/modules/app-context/index.d.ts.map +1 -0
- package/dist/modules/app-context/index.js +569 -0
- package/dist/modules/app-context/index.js.map +1 -0
- package/dist/modules/auth/products.d.ts +208 -0
- package/dist/modules/auth/products.d.ts.map +1 -0
- package/dist/modules/auth/products.js +165 -0
- package/dist/modules/auth/products.js.map +1 -0
- package/dist/namespaces.d.ts +2942 -0
- package/dist/namespaces.d.ts.map +1 -0
- package/dist/namespaces.js +37 -0
- package/dist/namespaces.js.map +1 -0
- package/dist/rpc.d.ts +156 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +26 -0
- package/dist/rpc.js.map +1 -0
- package/dist/server/create-sdk.d.ts.map +1 -1
- package/dist/server/create-sdk.js +3 -13
- package/dist/server/create-sdk.js.map +1 -1
- package/dist/server/handlers/annotations.d.ts +52 -0
- package/dist/server/handlers/annotations.d.ts.map +1 -0
- package/dist/server/handlers/annotations.js +204 -0
- package/dist/server/handlers/annotations.js.map +1 -0
- package/dist/server/handlers/auth.d.ts +53 -0
- package/dist/server/handlers/auth.d.ts.map +1 -0
- package/dist/server/handlers/auth.js +66 -0
- package/dist/server/handlers/auth.js.map +1 -0
- package/dist/server/handlers/certification.d.ts +32 -0
- package/dist/server/handlers/certification.d.ts.map +1 -0
- package/dist/server/handlers/certification.js +253 -0
- package/dist/server/handlers/certification.js.map +1 -0
- package/dist/server/handlers/chat/conversations.d.ts +91 -0
- package/dist/server/handlers/chat/conversations.d.ts.map +1 -0
- package/dist/server/handlers/chat/conversations.js +314 -0
- package/dist/server/handlers/chat/conversations.js.map +1 -0
- package/dist/server/handlers/chat/delegator.d.ts +144 -0
- package/dist/server/handlers/chat/delegator.d.ts.map +1 -0
- package/dist/server/handlers/chat/delegator.js +431 -0
- package/dist/server/handlers/chat/delegator.js.map +1 -0
- package/dist/server/handlers/chat/engine.d.ts +81 -0
- package/dist/server/handlers/chat/engine.d.ts.map +1 -0
- package/dist/server/handlers/chat/engine.js +442 -0
- package/dist/server/handlers/chat/engine.js.map +1 -0
- package/dist/server/handlers/chat/executor.d.ts +65 -0
- package/dist/server/handlers/chat/executor.d.ts.map +1 -0
- package/dist/server/handlers/chat/executor.js +375 -0
- package/dist/server/handlers/chat/executor.js.map +1 -0
- package/dist/server/handlers/chat/index.d.ts +62 -0
- package/dist/server/handlers/chat/index.d.ts.map +1 -0
- package/dist/server/handlers/chat/index.js +182 -0
- package/dist/server/handlers/chat/index.js.map +1 -0
- package/dist/server/handlers/chat/memory.d.ts +91 -0
- package/dist/server/handlers/chat/memory.d.ts.map +1 -0
- package/dist/server/handlers/chat/memory.js +293 -0
- package/dist/server/handlers/chat/memory.js.map +1 -0
- package/dist/server/handlers/chat/models.d.ts +180 -0
- package/dist/server/handlers/chat/models.d.ts.map +1 -0
- package/dist/server/handlers/chat/models.js +304 -0
- package/dist/server/handlers/chat/models.js.map +1 -0
- package/dist/server/handlers/chat/planner.d.ts +116 -0
- package/dist/server/handlers/chat/planner.d.ts.map +1 -0
- package/dist/server/handlers/chat/planner.js +344 -0
- package/dist/server/handlers/chat/planner.js.map +1 -0
- package/dist/server/handlers/chat/types.d.ts +500 -0
- package/dist/server/handlers/chat/types.d.ts.map +1 -0
- package/dist/server/handlers/chat/types.js +11 -0
- package/dist/server/handlers/chat/types.js.map +1 -0
- package/dist/server/handlers/collections.d.ts +67 -0
- package/dist/server/handlers/collections.d.ts.map +1 -0
- package/dist/server/handlers/collections.js +484 -0
- package/dist/server/handlers/collections.js.map +1 -0
- package/dist/server/handlers/commerce.d.ts +106 -0
- package/dist/server/handlers/commerce.d.ts.map +1 -0
- package/dist/server/handlers/commerce.js +62 -0
- package/dist/server/handlers/commerce.js.map +1 -0
- package/dist/server/handlers/config.d.ts +112 -0
- package/dist/server/handlers/config.d.ts.map +1 -0
- package/dist/server/handlers/config.js +122 -0
- package/dist/server/handlers/config.js.map +1 -0
- package/dist/server/handlers/export.d.ts +72 -0
- package/dist/server/handlers/export.d.ts.map +1 -0
- package/dist/server/handlers/export.js +175 -0
- package/dist/server/handlers/export.js.map +1 -0
- package/dist/server/handlers/formats.d.ts +77 -0
- package/dist/server/handlers/formats.d.ts.map +1 -0
- package/dist/server/handlers/formats.js +65 -0
- package/dist/server/handlers/formats.js.map +1 -0
- package/dist/server/handlers/graph.d.ts +31 -0
- package/dist/server/handlers/graph.d.ts.map +1 -0
- package/dist/server/handlers/graph.js +490 -0
- package/dist/server/handlers/graph.js.map +1 -0
- package/dist/server/handlers/import.d.ts +96 -0
- package/dist/server/handlers/import.d.ts.map +1 -0
- package/dist/server/handlers/import.js +108 -0
- package/dist/server/handlers/import.js.map +1 -0
- package/dist/server/handlers/index.d.ts +68 -0
- package/dist/server/handlers/index.d.ts.map +1 -0
- package/dist/server/handlers/index.js +71 -0
- package/dist/server/handlers/index.js.map +1 -0
- package/dist/server/handlers/media.d.ts +76 -0
- package/dist/server/handlers/media.d.ts.map +1 -0
- package/dist/server/handlers/media.js +53 -0
- package/dist/server/handlers/media.js.map +1 -0
- package/dist/server/handlers/project.d.ts +45 -0
- package/dist/server/handlers/project.d.ts.map +1 -0
- package/dist/server/handlers/project.js +181 -0
- package/dist/server/handlers/project.js.map +1 -0
- package/dist/server/handlers/publish.d.ts +102 -0
- package/dist/server/handlers/publish.d.ts.map +1 -0
- package/dist/server/handlers/publish.js +130 -0
- package/dist/server/handlers/publish.js.map +1 -0
- package/dist/server/handlers/pulse.d.ts +39 -0
- package/dist/server/handlers/pulse.d.ts.map +1 -0
- package/dist/server/handlers/pulse.js +78 -0
- package/dist/server/handlers/pulse.js.map +1 -0
- package/dist/server/handlers/realtime.d.ts +55 -0
- package/dist/server/handlers/realtime.d.ts.map +1 -0
- package/dist/server/handlers/realtime.js +49 -0
- package/dist/server/handlers/realtime.js.map +1 -0
- package/dist/server/handlers/search.d.ts +21 -0
- package/dist/server/handlers/search.d.ts.map +1 -0
- package/dist/server/handlers/search.js +237 -0
- package/dist/server/handlers/search.js.map +1 -0
- package/dist/server/handlers/session.d.ts +47 -0
- package/dist/server/handlers/session.d.ts.map +1 -0
- package/dist/server/handlers/session.js +286 -0
- package/dist/server/handlers/session.js.map +1 -0
- package/dist/server/handlers/settings.d.ts +97 -0
- package/dist/server/handlers/settings.d.ts.map +1 -0
- package/dist/server/handlers/settings.js +131 -0
- package/dist/server/handlers/settings.js.map +1 -0
- package/dist/server/handlers/workspace.d.ts +78 -0
- package/dist/server/handlers/workspace.d.ts.map +1 -0
- package/dist/server/handlers/workspace.js +270 -0
- package/dist/server/handlers/workspace.js.map +1 -0
- package/dist/server/hono-router.d.ts +66 -0
- package/dist/server/hono-router.d.ts.map +1 -0
- package/dist/server/hono-router.js +203 -0
- package/dist/server/hono-router.js.map +1 -0
- package/dist/server/index.d.ts +29 -19
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +33 -19
- package/dist/server/index.js.map +1 -1
- package/dist/server/namespace-router.d.ts +204 -0
- package/dist/server/namespace-router.d.ts.map +1 -0
- package/dist/server/namespace-router.js +262 -0
- package/dist/server/namespace-router.js.map +1 -0
- package/dist/transports/http-namespace.d.ts +210 -0
- package/dist/transports/http-namespace.d.ts.map +1 -0
- package/dist/transports/http-namespace.js +514 -0
- package/dist/transports/http-namespace.js.map +1 -0
- package/dist/transports/workshop.d.ts +173 -0
- package/dist/transports/workshop.d.ts.map +1 -0
- package/dist/transports/workshop.js +307 -0
- package/dist/transports/workshop.js.map +1 -0
- package/dist/types.d.ts +65 -67
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -3
- package/dist/types.js.map +1 -1
- package/docs/ADR-004-product-registry.md +108 -0
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA+BH,iFAAiF;AACjF,qCAAqC;AACrC,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,sBAAsB,GACvB,MAAM,4BAA4B,CAAA;AAuCnC,gGAAgG;AAChG,oFAAoF;AACpF,2CAA2C;AAC3C,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AAejC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAoFjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module modules/app-context
|
|
3
|
+
* @description Factory for building a full {@link AppRuntimeContext} from minimal options.
|
|
4
|
+
*
|
|
5
|
+
* `createAppContext()` is the single entry point kit apps use to get a fully-wired
|
|
6
|
+
* runtime context. Both Workshop (dev, WebContainer iframe) and Venue (production,
|
|
7
|
+
* same-origin HTTP) call the same factory — the only difference is which transport
|
|
8
|
+
* the host provides.
|
|
9
|
+
*
|
|
10
|
+
* **Workshop** passes a {@link WorkshopTransport} → all non-brainy API calls go
|
|
11
|
+
* through PostMessage to the parent frame's relay in PreviewFrame.svelte.
|
|
12
|
+
*
|
|
13
|
+
* **Venue** omits `workshopTransport` → all API calls use HTTP fetch to `baseUrl`.
|
|
14
|
+
*
|
|
15
|
+
* Each property (brainy, ai, hall, pulse, files, notify, services, auth) is built
|
|
16
|
+
* by a dedicated proxy builder that accepts either transport mode. The brainy property
|
|
17
|
+
* is built from the provided Brainy transport (PostMessage or HTTP) via the existing
|
|
18
|
+
* `createBrainyProxy()`.
|
|
19
|
+
*
|
|
20
|
+
* @example Workshop kit app (WebContainer iframe)
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { createAppContext, PostMessageTransport, WorkshopTransport } from '@soulcraft/sdk/client'
|
|
23
|
+
*
|
|
24
|
+
* const origin = document.referrer ? new URL(document.referrer).origin : '*'
|
|
25
|
+
* const soulcraft = createAppContext({
|
|
26
|
+
* transport: new PostMessageTransport(origin),
|
|
27
|
+
* workshopTransport: new WorkshopTransport(origin),
|
|
28
|
+
* })
|
|
29
|
+
*
|
|
30
|
+
* // Full API surface:
|
|
31
|
+
* const items = await soulcraft.brainy.find({ query: 'test' })
|
|
32
|
+
* for await (const token of soulcraft.ai.chat([{ role: 'user', content: 'hello' }])) { ... }
|
|
33
|
+
* soulcraft.pulse.track('page_view', { page: '/home' })
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example Venue production app (same-origin HTTP)
|
|
37
|
+
* ```typescript
|
|
38
|
+
* import { createAppContext } from '@soulcraft/sdk/client'
|
|
39
|
+
*
|
|
40
|
+
* const soulcraft = createAppContext({
|
|
41
|
+
* brainy: existingBrainyProxy,
|
|
42
|
+
* auth: { user, role, can, signOut, getToken },
|
|
43
|
+
* kit: kitManifest,
|
|
44
|
+
* slot: '/app',
|
|
45
|
+
* credentials: true,
|
|
46
|
+
* })
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
import type { SDKTransport } from '../../transports/transport.js';
|
|
50
|
+
import { WorkshopTransport } from '../../transports/workshop.js';
|
|
51
|
+
import type { SoulcraftBrainy } from '../brainy/types.js';
|
|
52
|
+
/**
|
|
53
|
+
* Re-declare the kit-schema context interfaces at type level so the SDK has
|
|
54
|
+
* no hard dependency on kit-schema at runtime. These are structurally identical
|
|
55
|
+
* to the canonical types in `@soulcraft/kit-schema` — TypeScript's structural
|
|
56
|
+
* typing ensures compatibility without import.
|
|
57
|
+
*/
|
|
58
|
+
/** @see AppAIContext in @soulcraft/kit-schema */
|
|
59
|
+
interface AIContext {
|
|
60
|
+
chat(messages: Array<{
|
|
61
|
+
role: 'user' | 'assistant';
|
|
62
|
+
content: string;
|
|
63
|
+
}>, opts?: {
|
|
64
|
+
system?: string;
|
|
65
|
+
model?: string;
|
|
66
|
+
}): AsyncIterable<string>;
|
|
67
|
+
embed(text: string | string[]): Promise<number[][]>;
|
|
68
|
+
}
|
|
69
|
+
/** @see AppHallContext in @soulcraft/kit-schema */
|
|
70
|
+
interface HallContext {
|
|
71
|
+
joinRoom(roomId: string, options?: {
|
|
72
|
+
audio?: boolean;
|
|
73
|
+
video?: boolean;
|
|
74
|
+
}): Promise<void>;
|
|
75
|
+
leaveRoom(): void;
|
|
76
|
+
readonly connected: boolean;
|
|
77
|
+
readonly roomId: string | null;
|
|
78
|
+
on(event: 'participant-joined' | 'participant-left' | 'error', handler: (...args: unknown[]) => void): () => void;
|
|
79
|
+
}
|
|
80
|
+
/** @see AppPulseContext in @soulcraft/kit-schema */
|
|
81
|
+
interface PulseContext {
|
|
82
|
+
track(event: string, properties?: Record<string, string | number | boolean>): void;
|
|
83
|
+
identify(userId: string, traits?: Record<string, string | number | boolean>): void;
|
|
84
|
+
}
|
|
85
|
+
/** @see AppFilesContext in @soulcraft/kit-schema */
|
|
86
|
+
interface FilesContext {
|
|
87
|
+
upload(file: File | Blob, path: string): Promise<string>;
|
|
88
|
+
read(path: string): Promise<Blob>;
|
|
89
|
+
delete(path: string): Promise<void>;
|
|
90
|
+
list(prefix: string): Promise<string[]>;
|
|
91
|
+
}
|
|
92
|
+
/** @see AppNotifyContext in @soulcraft/kit-schema */
|
|
93
|
+
interface NotifyContext {
|
|
94
|
+
email(to: string, subject: string, body: string, opts?: {
|
|
95
|
+
html?: string;
|
|
96
|
+
replyTo?: string;
|
|
97
|
+
}): Promise<void>;
|
|
98
|
+
sms(to: string, message: string): Promise<void>;
|
|
99
|
+
push(userId: string, payload: {
|
|
100
|
+
title: string;
|
|
101
|
+
body: string;
|
|
102
|
+
url?: string;
|
|
103
|
+
}): Promise<void>;
|
|
104
|
+
}
|
|
105
|
+
/** @see AppWebSocketContext in @soulcraft/kit-schema */
|
|
106
|
+
interface WebSocketContext {
|
|
107
|
+
on<T = unknown>(event: string, handler: (data: T) => void): () => void;
|
|
108
|
+
emit(event: string, data: unknown): void;
|
|
109
|
+
readonly connected: boolean;
|
|
110
|
+
}
|
|
111
|
+
/** @see AppServicesContext in @soulcraft/kit-schema */
|
|
112
|
+
interface ServicesContext {
|
|
113
|
+
bookings: unknown;
|
|
114
|
+
transactions: unknown;
|
|
115
|
+
inventory: unknown;
|
|
116
|
+
customers: unknown;
|
|
117
|
+
subscriptions: unknown;
|
|
118
|
+
support: unknown;
|
|
119
|
+
loyalty: unknown;
|
|
120
|
+
analytics: unknown;
|
|
121
|
+
}
|
|
122
|
+
/** @see AppAuthContext in @soulcraft/kit-schema */
|
|
123
|
+
interface AuthContext {
|
|
124
|
+
user: {
|
|
125
|
+
id: string;
|
|
126
|
+
name: string;
|
|
127
|
+
email: string;
|
|
128
|
+
} | null;
|
|
129
|
+
role: unknown;
|
|
130
|
+
can(capability: string): boolean;
|
|
131
|
+
signOut(): Promise<void>;
|
|
132
|
+
getToken(): Promise<string>;
|
|
133
|
+
}
|
|
134
|
+
/** Structurally matches AppRuntimeContext from @soulcraft/kit-schema. */
|
|
135
|
+
export interface AppContext {
|
|
136
|
+
brainy: unknown;
|
|
137
|
+
auth: AuthContext;
|
|
138
|
+
kit: unknown;
|
|
139
|
+
ws: WebSocketContext;
|
|
140
|
+
services: ServicesContext;
|
|
141
|
+
ai: AIContext;
|
|
142
|
+
files: FilesContext;
|
|
143
|
+
notify: NotifyContext;
|
|
144
|
+
hall: HallContext;
|
|
145
|
+
pulse: PulseContext;
|
|
146
|
+
config?: Record<string, string | number | boolean> | undefined;
|
|
147
|
+
slot?: string | undefined;
|
|
148
|
+
}
|
|
149
|
+
/** HTTP transport config for fetch-based proxy calls (Venue production). */
|
|
150
|
+
export interface HttpProxyConfig {
|
|
151
|
+
/** Base URL for API calls (e.g. '' for same-origin, or 'https://venue.example.com'). */
|
|
152
|
+
baseUrl: string;
|
|
153
|
+
/** Whether to include credentials (cookies) on fetch calls. */
|
|
154
|
+
credentials: boolean;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Options for {@link createAppContext}.
|
|
158
|
+
*/
|
|
159
|
+
export interface CreateAppContextOptions {
|
|
160
|
+
/**
|
|
161
|
+
* Base URL for HTTP API calls.
|
|
162
|
+
* Venue: same-origin (empty string). Workshop standalone: unused.
|
|
163
|
+
*/
|
|
164
|
+
baseUrl?: string;
|
|
165
|
+
/** Pre-built Brainy proxy (if the caller already has one). */
|
|
166
|
+
brainy?: SoulcraftBrainy;
|
|
167
|
+
/** Transport for Brainy RPC (used to build brainy if `brainy` not provided). */
|
|
168
|
+
transport?: SDKTransport;
|
|
169
|
+
/**
|
|
170
|
+
* PostMessage transport for non-brainy API calls in Workshop dev.
|
|
171
|
+
* When provided, all non-brainy calls go through PostMessage.
|
|
172
|
+
* When omitted, all calls use HTTP fetch to `baseUrl`.
|
|
173
|
+
*/
|
|
174
|
+
workshopTransport?: WorkshopTransport;
|
|
175
|
+
/** Auth context injected by the host. */
|
|
176
|
+
auth?: Partial<AuthContext>;
|
|
177
|
+
/** Kit metadata injected by the host. */
|
|
178
|
+
kit?: unknown;
|
|
179
|
+
/** Slot path for file operations. */
|
|
180
|
+
slot?: string;
|
|
181
|
+
/** Site config overrides. */
|
|
182
|
+
config?: Record<string, string | number | boolean>;
|
|
183
|
+
/** Include credentials on fetch calls (Venue same-origin). Default: false. */
|
|
184
|
+
credentials?: boolean;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Build a full {@link AppContext} (structurally matches `AppRuntimeContext`)
|
|
188
|
+
* from minimal options.
|
|
189
|
+
*
|
|
190
|
+
* @param options - Configuration for the app context.
|
|
191
|
+
* @returns A fully-wired app runtime context.
|
|
192
|
+
*
|
|
193
|
+
* @example Workshop kit app
|
|
194
|
+
* ```typescript
|
|
195
|
+
* export const soulcraft = createAppContext({
|
|
196
|
+
* transport: new PostMessageTransport(origin),
|
|
197
|
+
* workshopTransport: new WorkshopTransport(origin),
|
|
198
|
+
* })
|
|
199
|
+
* // soulcraft.brainy, soulcraft.ai, soulcraft.pulse, etc.
|
|
200
|
+
* ```
|
|
201
|
+
*
|
|
202
|
+
* @example Venue production app
|
|
203
|
+
* ```typescript
|
|
204
|
+
* const soulcraft = createAppContext({
|
|
205
|
+
* brainy: existingProxy,
|
|
206
|
+
* auth: appAuth,
|
|
207
|
+
* kit: kitManifest,
|
|
208
|
+
* credentials: true,
|
|
209
|
+
* })
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
export declare function createAppContext(options: CreateAppContextOptions): AppContext;
|
|
213
|
+
export {};
|
|
214
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/app-context/index.ts"],"names":[],"mappings":"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"}
|