@animus-ui/extract 0.1.25 → 0.1.26

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.
Files changed (83) hide show
  1. package/crates/extract-v2/animus-extract-v2.darwin-arm64.node +0 -0
  2. package/crates/extract-v2/animus-extract-v2.linux-arm64-gnu.node +0 -0
  3. package/crates/extract-v2/animus-extract-v2.linux-x64-gnu.node +0 -0
  4. package/crates/extract-v2/index.d.ts +101 -6
  5. package/dist/index.cjs +48 -5
  6. package/dist/index.mjs +2 -2
  7. package/dist/pipeline/alias-agreement.d.ts +107 -0
  8. package/dist/pipeline/alias-agreement.d.ts.map +1 -0
  9. package/dist/pipeline/analyze-project-args.d.ts +7 -2
  10. package/dist/pipeline/analyze-project-args.d.ts.map +1 -1
  11. package/dist/pipeline/asset-copies.d.ts +20 -0
  12. package/dist/pipeline/asset-copies.d.ts.map +1 -0
  13. package/dist/pipeline/built-in-asset-types.d.ts +9 -0
  14. package/dist/pipeline/built-in-asset-types.d.ts.map +1 -0
  15. package/dist/pipeline/core-options.d.ts +31 -7
  16. package/dist/pipeline/core-options.d.ts.map +1 -1
  17. package/dist/pipeline/discover-packages.d.ts +98 -12
  18. package/dist/pipeline/discover-packages.d.ts.map +1 -1
  19. package/dist/pipeline/engine-adapter.d.ts +41 -3
  20. package/dist/pipeline/engine-adapter.d.ts.map +1 -1
  21. package/dist/pipeline/engine-retirement.d.ts +7 -1
  22. package/dist/pipeline/engine-retirement.d.ts.map +1 -1
  23. package/dist/pipeline/extension-policy.d.ts +95 -0
  24. package/dist/pipeline/extension-policy.d.ts.map +1 -0
  25. package/dist/pipeline/host-assets.d.ts +32 -0
  26. package/dist/pipeline/host-assets.d.ts.map +1 -0
  27. package/dist/pipeline/host-expansions.d.ts +92 -0
  28. package/dist/pipeline/host-expansions.d.ts.map +1 -0
  29. package/dist/pipeline/host-extensions.d.ts +64 -0
  30. package/dist/pipeline/host-extensions.d.ts.map +1 -0
  31. package/dist/pipeline/host-package-resolver.d.ts +40 -0
  32. package/dist/pipeline/host-package-resolver.d.ts.map +1 -0
  33. package/dist/pipeline/index.d.ts +32 -8
  34. package/dist/pipeline/index.d.ts.map +1 -1
  35. package/dist/pipeline/kit-publication.d.ts.map +1 -1
  36. package/dist/pipeline/manifest-diagnostics.d.ts +25 -4
  37. package/dist/pipeline/manifest-diagnostics.d.ts.map +1 -1
  38. package/dist/pipeline/manifest-schema.d.ts +16 -0
  39. package/dist/pipeline/manifest-schema.d.ts.map +1 -1
  40. package/dist/pipeline/output-targets.d.ts +52 -0
  41. package/dist/pipeline/output-targets.d.ts.map +1 -0
  42. package/dist/pipeline/probe-evidence.d.ts +58 -0
  43. package/dist/pipeline/probe-evidence.d.ts.map +1 -0
  44. package/dist/pipeline/run-analysis.d.ts +26 -0
  45. package/dist/pipeline/run-analysis.d.ts.map +1 -1
  46. package/dist/pipeline/runtime-import.d.ts +10 -0
  47. package/dist/pipeline/runtime-import.d.ts.map +1 -0
  48. package/dist/pipeline/served-files.d.ts +16 -0
  49. package/dist/pipeline/served-files.d.ts.map +1 -0
  50. package/dist/pipeline/source-corpus.d.ts +4 -0
  51. package/dist/pipeline/source-corpus.d.ts.map +1 -1
  52. package/dist/pipeline/source-ingestion.d.ts +37 -5
  53. package/dist/pipeline/source-ingestion.d.ts.map +1 -1
  54. package/dist/pipeline/system-config.d.ts +18 -0
  55. package/dist/pipeline/system-config.d.ts.map +1 -1
  56. package/dist/pipeline/system-instances.d.ts +27 -0
  57. package/dist/pipeline/system-instances.d.ts.map +1 -0
  58. package/dist/pipeline/tsconfig-paths.d.ts +4 -0
  59. package/dist/pipeline/tsconfig-paths.d.ts.map +1 -1
  60. package/dist/pipeline/vite-expansions.d.ts +40 -0
  61. package/dist/pipeline/vite-expansions.d.ts.map +1 -0
  62. package/dist/pipeline/webpack-expansions.d.ts +55 -0
  63. package/dist/pipeline/webpack-expansions.d.ts.map +1 -0
  64. package/dist/pipeline/workspace-packages.d.ts +13 -0
  65. package/dist/pipeline/workspace-packages.d.ts.map +1 -0
  66. package/dist/{pipeline-YGWpNr_Z.mjs → pipeline-BzMQ_Z0M.mjs} +2285 -773
  67. package/dist/{pipeline-DOgKR4VZ.cjs → pipeline-DyUf-eKZ.cjs} +2556 -768
  68. package/dist/session/coalescing-window.d.ts +34 -0
  69. package/dist/session/coalescing-window.d.ts.map +1 -0
  70. package/dist/session/extraction-session.d.ts +297 -35
  71. package/dist/session/extraction-session.d.ts.map +1 -1
  72. package/dist/session/index.d.ts +7 -3
  73. package/dist/session/index.d.ts.map +1 -1
  74. package/dist/session/published-set.d.ts +6 -1
  75. package/dist/session/published-set.d.ts.map +1 -1
  76. package/dist/session/resolve-packages.d.ts +9 -5
  77. package/dist/session/resolve-packages.d.ts.map +1 -1
  78. package/dist/session/singleton.d.ts +218 -53
  79. package/dist/session/singleton.d.ts.map +1 -1
  80. package/dist/session/turbopack-orchestrator.d.ts.map +1 -1
  81. package/dist/session.cjs +1462 -510
  82. package/dist/session.mjs +1430 -489
  83. package/package.json +4 -4
@@ -1,7 +1,11 @@
1
- /** Package specifier → rootDir-relative entry path. An unresolved specifier
2
- * has no key at all, never a key with an empty target. */
3
- export interface ResolvedPackageMap {
4
- [specifier: string]: string;
1
+ import type { HostExtensionPolicy } from '../pipeline/host-extensions';
2
+ import type { WorkspacePackages } from '../pipeline/workspace-packages';
3
+ /** What a session resolves under, as system loading does: the host's
4
+ * export conditions, the session root's declared workspaces, and the
5
+ * host's extension order. */
6
+ export interface SessionResolutionContext {
7
+ readonly conditions: readonly string[];
8
+ readonly workspaces: WorkspacePackages;
9
+ readonly extensions: HostExtensionPolicy;
5
10
  }
6
- export declare function resolvePackagesByName(rootDir: string, names: string[]): ResolvedPackageMap;
7
11
  //# sourceMappingURL=resolve-packages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-packages.d.ts","sourceRoot":"","sources":["../../session/resolve-packages.ts"],"names":[],"mappings":"AAQA;2DAC2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAuFD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,GACd,kBAAkB,CAsDpB"}
1
+ {"version":3,"file":"resolve-packages.d.ts","sourceRoot":"","sources":["../../session/resolve-packages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE;;8BAE8B;AAC9B,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C"}
@@ -1,89 +1,254 @@
1
- export declare function getManifestJson(): string | null;
2
- export declare function setManifestJson(json: string): void;
1
+ import type { PackageReadRecord } from '../pipeline/alias-agreement';
2
+ import type { AnimusCoreOptions } from '../pipeline/core-options';
3
+ import type { EngineApi } from '../pipeline/index';
4
+ export declare function getManifestJson(key: SessionKey): string | null;
5
+ export declare function setManifestJson(key: SessionKey, json: string): void;
3
6
  /**
4
7
  * A latch over the most recently STARTED analysis, never cleared on settle:
5
8
  * non-null means one was scheduled. In-flight lives in getWatchTransaction.
6
9
  */
7
- export declare function getAnalysisStartedPromise(): Promise<void> | null;
8
- export declare function setAnalysisStartedPromise(promise: Promise<void>): void;
9
- export declare function resetAnalysisStartedPromise(): void;
10
- export declare function getSharedCss(): string;
11
- export declare function setSharedCss(css: string): void;
12
- export declare function getSharedSystemProps(): string;
13
- export declare function setSharedSystemProps(content: string): void;
14
- export declare function getSharedExternalDirs(): string[];
15
- export declare function setSharedExternalDirs(dirs: string[]): void;
16
- export declare function getSharedExternalEntries(): Map<string, string>;
17
- export declare function setSharedExternalEntries(entries: Map<string, string>): void;
10
+ export declare function getAnalysisStartedPromise(key: SessionKey): Promise<void> | null;
11
+ export declare function setAnalysisStartedPromise(key: SessionKey, promise: Promise<void>): void;
12
+ export declare function resetAnalysisStartedPromise(key: SessionKey): void;
13
+ /** True for the build's first caller only: the one that reports its
14
+ * unmatched user excludes. */
15
+ export declare function claimUnmatchedExcludeReport(key: SessionKey): boolean;
16
+ export declare function getSharedCss(key: SessionKey): string;
17
+ export declare function setSharedCss(key: SessionKey, css: string): void;
18
+ export declare function getSharedSystemProps(key: SessionKey): string;
19
+ export declare function setSharedSystemProps(key: SessionKey, content: string): void;
20
+ export declare function getSharedExternalDirs(key: SessionKey): string[];
21
+ export declare function setSharedExternalDirs(key: SessionKey, dirs: string[]): void;
22
+ export declare function getSharedExternalEntries(key: SessionKey): Map<string, string>;
23
+ export declare function setSharedExternalEntries(key: SessionKey, entries: Map<string, string>): void;
18
24
  /** Specifier → its source entry's side effects, published with the shared
19
25
  * entries; absent leaves the bundler's own classification. */
20
- export declare function getSharedExternalSideEffects(): Map<string, boolean>;
21
- export declare function setSharedExternalSideEffects(sideEffects: Map<string, boolean>): void;
26
+ export declare function getSharedExternalSideEffects(key: SessionKey): Map<string, boolean>;
27
+ export declare function setSharedExternalSideEffects(key: SessionKey, sideEffects: Map<string, boolean>): void;
22
28
  /** Structural view of the target session, declared here rather than imported
23
29
  * so the singleton never depends on the session module it serves. */
24
30
  export interface WatchBatchTarget {
25
- ingestForwardedBatch(changes: {
26
- modifiedFiles?: ReadonlySet<string>;
27
- removedFiles?: ReadonlySet<string>;
28
- }): Promise<void>;
31
+ /** Starts one attempt over the build's untaken observations; false when
32
+ * this session cannot analyze. */
33
+ startObservedAttempt(): boolean;
29
34
  }
30
35
  /**
31
- * The only session that can run watch analysis. A non-owning session forwards
32
- * its batch here; dropping it loses files only that watcher sees.
36
+ * The only session of a build that can run watch analysis. A non-owning
37
+ * session's observations queue for it; dropping them loses files only that
38
+ * watcher sees.
33
39
  */
34
- export declare function getOwningWatchSession(): WatchBatchTarget | null;
35
- export declare function setOwningWatchSession(session: WatchBatchTarget | null): void;
40
+ export declare function getOwningWatchSession(key: SessionKey): WatchBatchTarget | null;
41
+ export declare function setOwningWatchSession(key: SessionKey, session: WatchBatchTarget | null): void;
36
42
  /**
37
43
  * Per-file content hashes of the last published analysis (relPath → hash of
38
44
  * the exact bytes analyzed), including files that produced zero entries.
39
45
  */
40
- export declare function getAnalyzedHashes(): ReadonlyMap<string, string> | null;
41
- export declare function setAnalyzedHashes(hashes: Map<string, string>): void;
46
+ export declare function getAnalyzedHashes(key: SessionKey): ReadonlyMap<string, string> | null;
47
+ export declare function setAnalyzedHashes(key: SessionKey, hashes: Map<string, string>): void;
48
+ /** What the build's last published analysis read of the discovered
49
+ * packages (spec §2.2 A4); null before one publishes. */
50
+ export declare function getSharedPackageReadRecord(key: SessionKey): PackageReadRecord | null;
51
+ export declare function setSharedPackageReadRecord(key: SessionKey, record: PackageReadRecord): void;
42
52
  /**
43
- * Session identity is per process: the first caller claims a fresh id and
44
- * every later one adopts it, so all compilers share one artifact tree.
53
+ * One participant publishes a build's analysis, holding this claim until it
54
+ * closes: a second publisher would clobber its artifacts. Two builds never
55
+ * exclude each other; sequential claim and release cycles are legal.
45
56
  */
46
- export declare function claimProcessSessionId(): string;
57
+ export declare function claimExclusiveSessionOwner(key: SessionKey, label: string): () => void;
47
58
  /**
48
- * Two CONCURRENT drive loops in one process would share one session tree and
49
- * clobber each other; sequential claim/release cycles are legal.
50
- */
51
- export declare function claimExclusiveSessionOwner(label: string): () => void;
52
- /**
53
- * Absolute artifact directory of the OWNING session's last publication. The
59
+ * Absolute artifact directory of the build's last publication. The
54
60
  * Turbopack loader runs out of process and receives it via options instead.
55
61
  */
56
- export declare function getSessionArtifactDir(): string | null;
57
- export declare function setSessionArtifactDir(dir: string): void;
62
+ export declare function getSessionArtifactDir(key: SessionKey): string | null;
63
+ export declare function setSessionArtifactDir(key: SessionKey, dir: string): void;
58
64
  /**
59
65
  * Replacement epoch of the last published analysis, written AFTER the
60
66
  * manifest so an epoch reader always sees at least that generation's manifest.
61
67
  */
62
- export declare function getReplacementEpoch(): string | null;
63
- export declare function setReplacementEpoch(epoch: string): void;
68
+ export declare function getReplacementEpoch(key: SessionKey): string | null;
69
+ export declare function setReplacementEpoch(key: SessionKey, epoch: string): void;
70
+ /**
71
+ * The build's one in-flight watch-analysis transaction: a participant that
72
+ * did not start it joins this promise rather than read a pre-transaction
73
+ * generation.
74
+ */
75
+ export declare function getWatchTransaction(key: SessionKey): Promise<void> | null;
76
+ /**
77
+ * The build's watch observations, recorded before any await so an attempt
78
+ * that rejects never erases one it did not take (SA20). An observation's
79
+ * state is its content hash, `removed` or `unreadable`.
80
+ */
81
+ export interface ObservationQueue {
82
+ /** The latest revision handed to a recording caller. */
83
+ revision: number;
84
+ /** A full rescan is requested: the attempt that takes it reads every
85
+ * file, so deletions nobody reported reconcile too. */
86
+ rescan: boolean;
87
+ /** Each path no attempt has taken yet, with its latest state. */
88
+ readonly untaken: Map<string, string>;
89
+ /** The bytes a host supplied for an untaken path's latest observation,
90
+ * which the attempt that takes it reads in place of the disk. */
91
+ readonly suppliedSources: Map<string, string>;
92
+ /** Each waiting caller's revision, and the attempt that took it once one
93
+ * has. */
94
+ readonly revisions: Map<number, Promise<void> | null>;
95
+ /** The active attempt and the states it took: an equivalent observation
96
+ * joins it rather than run again. */
97
+ active: {
98
+ readonly taken: ReadonlyMap<string, string>;
99
+ readonly transaction: Promise<void>;
100
+ } | null;
101
+ }
102
+ export declare function observationQueue(key: SessionKey): ObservationQueue;
103
+ /** A system as one resolution context loaded it: the evaluated modules and
104
+ * a fingerprint of everything the load produced. */
105
+ export interface SystemLoad {
106
+ readonly identity: string;
107
+ readonly dependencies: readonly string[];
108
+ }
64
109
  /**
65
- * The one in-flight watch-analysis transaction: a compiler that did not start
66
- * it joins this promise rather than read a pre-transaction generation.
110
+ * The build's one agreed system (SA5): the load its analysis runs on, the
111
+ * resolution context that made it, and each other participant context's
112
+ * load of the same system, made once.
67
113
  */
68
- export declare function getWatchTransaction(): Promise<void> | null;
69
- export declare function setWatchTransaction(transaction: Promise<void> | null): void;
70
- export type AnimusEngine = 'v2';
71
- /** Engine selection travels through the singleton so non-owning compilers
72
- * and the webpack loader honor the owner's choice. */
73
- export declare function setSharedEngine(engine: AnimusEngine): void;
74
- export declare function getSharedEngine(): AnimusEngine;
114
+ export interface SystemAuthority extends SystemLoad {
115
+ /** The context as stable text, and as a conflict names it. */
116
+ readonly context: string;
117
+ readonly label: string;
118
+ readonly others: Map<string, SystemLoad>;
119
+ }
120
+ export declare function getSystemAuthority(key: SessionKey): SystemAuthority | null;
121
+ export declare function setSystemAuthority(key: SessionKey, authority: SystemAuthority): void;
122
+ export declare function setWatchTransaction(key: SessionKey, transaction: Promise<void> | null): void;
75
123
  /** Single choke-point for every native extraction call; the NAPI module's
76
124
  * own `.d.ts` is the authoritative surface for what it returns. */
77
125
  export declare function requireEngine(): any;
78
126
  /**
79
- * Test seam, set once at module top level: this key stays OUT of
80
- * SINGLETON_GLOBAL_KEYS so a per-test reset cannot strip the override.
127
+ * Test seam, set once at module top level: it lives outside the session
128
+ * registry so a per-test reset cannot strip the override.
81
129
  */
82
130
  export declare function setEngineApiOverride(api: (() => any) | null): void;
83
- export declare function engineApi(): any;
131
+ /** The native engine module could not be loaded: an environment failure,
132
+ * never answered by another engine. */
133
+ export declare class EnvironmentFailure extends Error {
134
+ readonly code = "EnvironmentFailure";
135
+ constructor(cause: Error | string);
136
+ }
137
+ /** Test seam: the loader of the native factory; null restores the real one. */
138
+ export declare function setEngineFactoryLoaderForTests(load: (() => any) | null): void;
139
+ /** The native factory, loaded once for every build in the process. A load
140
+ * failure is an EnvironmentFailure, and is not cached: the next use tries
141
+ * the load again. */
142
+ export declare function engineFactory(): any;
143
+ /** How a host's engine API reads: its log label, and the host-specific
144
+ * adapter options. */
145
+ export interface EngineHandleOptions {
146
+ label: string;
147
+ passThroughUnknownPaths?: boolean;
148
+ rehydrateFilesJson?(filesJsonRaw: string): string;
149
+ }
150
+ /**
151
+ * One engine-handle store (SA18): the engine API over `key`'s own engine
152
+ * state, made once per key in the registry every module copy joins. The
153
+ * native factory is shared; each key's engine instance, analyze-time
154
+ * sources and drift flag are its own, and its build's retirement releases
155
+ * them. A key need not be a joined build's: a Vite context or a Turbopack
156
+ * worker keys its own.
157
+ */
158
+ export declare function engineHandle(key: SessionKey, options: EngineHandleOptions): () => EngineApi;
159
+ /** Releases a standalone handle, one no joined build retires: its host
160
+ * calls this when it closes. */
161
+ export declare function releaseEngineHandle(key: SessionKey): void;
162
+ /**
163
+ * The build's engine API, from the one engine-handle store.
164
+ */
165
+ export declare function engineApi(key: SessionKey): any;
166
+ /** The participant protocol a `SessionKey` was made under; a participant
167
+ * from a copy speaking another version never joins its session. */
168
+ export declare const SESSION_PROTOCOL = 1;
169
+ /**
170
+ * One host build of one root. The owning host wrapper creates the build id
171
+ * and passes the key to every participant and worker, so two concurrent
172
+ * builds of one root stay distinct.
173
+ */
174
+ export interface SessionKey {
175
+ readonly build: string;
176
+ readonly root: string;
177
+ readonly protocol: number;
178
+ }
179
+ /** A fresh build id, created once by the owning host wrapper. */
180
+ export declare function createBuildId(): string;
181
+ /** The key of build `build` of `root`, by the root's canonical path. */
182
+ export declare function sessionKey(build: string, root: string): SessionKey;
183
+ /** A participant joined a session with semantic options that differ from
184
+ * those the session was created with. */
185
+ export declare class SessionConfigurationConflict extends Error {
186
+ readonly key: SessionKey;
187
+ readonly established: string;
188
+ readonly joining: string;
189
+ readonly differing: readonly string[];
190
+ readonly code = "SessionConfigurationConflict";
191
+ constructor(key: SessionKey, established: string, joining: string, differing: readonly string[], requirement?: string);
192
+ }
193
+ /** The mutable state of one session, which every participant shares. */
194
+ export interface SessionState {
195
+ readonly key: SessionKey;
196
+ /** The first participant, whose options the session was created with. */
197
+ readonly established: string;
198
+ readonly options: ReadonlyMap<string, string>;
199
+ readonly participants: Set<string>;
200
+ /** The participant that publishes the build's analysis: one per build. */
201
+ activeAttempt: string | null;
202
+ /** The session that runs this build's analysis; others join its results
203
+ * and forward their watch batches to it. */
204
+ authority: WatchBatchTarget | null;
205
+ /** A latch over the most recently started analysis, never cleared on
206
+ * settle: non-null means one was scheduled. */
207
+ analysisStarted: Promise<void> | null;
208
+ /** The one in-flight watch-analysis transaction. */
209
+ watchTransaction: Promise<void> | null;
210
+ observations: ObservationQueue;
211
+ systemAuthority: SystemAuthority | null;
212
+ /** Releases the build's on-disk claim record; null until one is held. */
213
+ claimRecord: (() => void) | null;
214
+ manifestJson: string | null;
215
+ sharedCss: string;
216
+ sharedSystemProps: string;
217
+ externalDirs: string[];
218
+ externalEntries: Map<string, string>;
219
+ /** Specifier → its source entry's side effects; absent leaves the
220
+ * bundler's own classification. */
221
+ externalSideEffects: Map<string, boolean>;
222
+ /** Root-relative path → hash of the bytes the last published analysis
223
+ * read, including files that produced no entries. */
224
+ analyzedHashes: Map<string, string> | null;
225
+ /** What the last published analysis read of the discovered packages,
226
+ * which every participant checks its host's answers against. */
227
+ packageReadRecord: PackageReadRecord | null;
228
+ /** Written after the manifest, so a reader of the epoch sees at least
229
+ * that generation's manifest. */
230
+ replacementEpoch: string | null;
231
+ /** The artifact directory of the session's last publication. */
232
+ artifactDir: string | null;
233
+ /** Whether the build reported its unmatched user excludes: once, after
234
+ * its first full discovery, whether or not that pass publishes. */
235
+ unmatchedExcludesReported: boolean;
236
+ }
84
237
  /**
85
- * Every globalThis key this module owns except the engine-api override, which
86
- * a per-test reset must not clear. Test harnesses clear exactly this list.
238
+ * Joins `participant` to the session of `key`, creating it with `options` on
239
+ * the first join. A later participant must bring the same semantic options.
87
240
  */
88
- export declare const SINGLETON_GLOBAL_KEYS: readonly ["__animus_manifest_json__", "__animus_analysis_started__", "__animus_shared_css__", "__animus_shared_system_props__", "__animus_external_pkg_dirs__", "__animus_external_source_entries__", "__animus_external_side_effects__", "__animus_analyzed_hashes__", "__animus_replacement_epoch__", "__animus_watch_transaction__", "__animus_process_session_id__", "__animus_session_artifact_dir__", "__animus_owning_watch_session__", "__animus_exclusive_session_owner__", "__animus_engine__", "__animus_v2_engine__", "__animus_v2_sent_sources__", "__animus_v2_drift_warned__"];
241
+ export declare function joinSession(key: SessionKey, participant: string, options: AnimusCoreOptions): SessionState;
242
+ /** The session of `key`, if a participant has joined it. */
243
+ export declare function findSession(key: SessionKey): SessionState | undefined;
244
+ /** The build's on-disk claim record, which stops another process pruning
245
+ * its tree: held once by the build, whichever participant publishes, and
246
+ * released only when the build retires. */
247
+ export declare function holdBuildClaimRecord(key: SessionKey, hold: () => () => void): void;
248
+ /** `participant` leaves the build of `key`. The build retires with its
249
+ * last participant, once no attempt is in flight: it leaves the registry
250
+ * and releases its claim record, so its tree is pruned once stale. */
251
+ export declare function leaveSession(key: SessionKey, participant: string): void;
252
+ /** The registry's global slot, which test harnesses clear. */
253
+ export declare const SESSION_REGISTRY_KEY: symbol;
89
254
  //# sourceMappingURL=singleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../session/singleton.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../session/singleton.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"turbopack-orchestrator.d.ts","sourceRoot":"","sources":["../../session/turbopack-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,EAAE,MAAM,IAAI,CAAC;AAS9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAIf;AAkCD,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB;iFAC6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B,GACpC,qBAAqB,CAqQvB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B,MAAM,WAAW,sBAAsB;IACrC,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC"}
1
+ {"version":3,"file":"turbopack-orchestrator.d.ts","sourceRoot":"","sources":["../../session/turbopack-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,EAAE,MAAM,IAAI,CAAC;AAU9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAIf;AAmCD,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB;iFAC6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B,GACpC,qBAAqB,CAwVvB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B,MAAM,WAAW,sBAAsB;IACrC,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC"}