@graphrefly/graphrefly 0.17.0 → 0.18.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/{chunk-2PORF4RP.js → chunk-76YPZQTW.js} +2 -8
- package/dist/{chunk-2PORF4RP.js.map → chunk-76YPZQTW.js.map} +1 -1
- package/dist/{chunk-646OG3PO.js → chunk-F6ORUNO7.js} +18 -51
- package/dist/chunk-F6ORUNO7.js.map +1 -0
- package/dist/{chunk-EBNKJULL.js → chunk-FCLROC4Q.js} +2 -2
- package/dist/chunk-FCLROC4Q.js.map +1 -0
- package/dist/{chunk-F2ULI3Q3.js → chunk-J7S54G7I.js} +1 -2
- package/dist/{chunk-XJ6EMQ22.js → chunk-KJGUP35I.js} +3 -9
- package/dist/chunk-KJGUP35I.js.map +1 -0
- package/dist/{chunk-IHJHBADD.js → chunk-LB3RYLSC.js} +206 -173
- package/dist/chunk-LB3RYLSC.js.map +1 -0
- package/dist/{chunk-R6OHUUYB.js → chunk-TNKODJ6E.js} +2 -6
- package/dist/chunk-TNKODJ6E.js.map +1 -0
- package/dist/{chunk-YXROQFXZ.js → chunk-UVWEKTYC.js} +2 -2
- package/dist/compat/nestjs/index.cjs +221 -224
- package/dist/compat/nestjs/index.cjs.map +1 -1
- package/dist/compat/nestjs/index.d.cts +4 -4
- package/dist/compat/nestjs/index.d.ts +4 -4
- package/dist/compat/nestjs/index.js +6 -12
- package/dist/core/index.cjs +0 -83
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +2 -2
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +2 -6
- package/dist/extra/index.cjs +17 -53
- package/dist/extra/index.cjs.map +1 -1
- package/dist/extra/index.d.cts +4 -4
- package/dist/extra/index.d.ts +4 -4
- package/dist/extra/index.js +2 -8
- package/dist/graph/index.cjs +204 -171
- package/dist/graph/index.cjs.map +1 -1
- package/dist/graph/index.d.cts +3 -3
- package/dist/graph/index.d.ts +3 -3
- package/dist/graph/index.js +3 -3
- package/dist/{graph-Dc-P9BVm.d.ts → graph-BYFlyNpX.d.cts} +47 -45
- package/dist/{graph-fCsaaVIa.d.cts → graph-gISB9n3n.d.ts} +47 -45
- package/dist/{index-N704txAA.d.ts → index-7WnwgjMu.d.ts} +5 -7
- package/dist/{index-DWq0P9T6.d.ts → index-B43mC7uY.d.cts} +5 -7
- package/dist/{index-BmoUvOGN.d.ts → index-B80mMeuf.d.ts} +2 -4
- package/dist/{index-DlGMf_Qe.d.cts → index-BqOWSFhr.d.cts} +2 -2
- package/dist/{index-BBVBYPxr.d.cts → index-CEDaJaYE.d.ts} +5 -7
- package/dist/{index-DhXznWyH.d.ts → index-CgKPpiu8.d.ts} +2 -2
- package/dist/{index-D7y9Q8W4.d.ts → index-Ci_vPaVm.d.cts} +4 -6
- package/dist/{index-4OIX-q0C.d.cts → index-DKaB2x0T.d.ts} +4 -6
- package/dist/{index-ClaKZFPl.d.cts → index-D_tUMcpz.d.cts} +5 -7
- package/dist/{index-YlOH1Gw6.d.cts → index-EmzYk-TG.d.cts} +2 -4
- package/dist/index.cjs +312 -239
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +51 -13
- package/dist/index.d.ts +51 -13
- package/dist/index.js +103 -24
- package/dist/index.js.map +1 -1
- package/dist/{meta-BV4pj9ML.d.cts → meta-npl5b97j.d.cts} +1 -53
- package/dist/{meta-BV4pj9ML.d.ts → meta-npl5b97j.d.ts} +1 -53
- package/dist/observable-DFBCBELR.d.cts +36 -0
- package/dist/observable-oAGygKvc.d.ts +36 -0
- package/dist/patterns/reactive-layout/index.cjs +204 -171
- package/dist/patterns/reactive-layout/index.cjs.map +1 -1
- package/dist/patterns/reactive-layout/index.d.cts +3 -3
- package/dist/patterns/reactive-layout/index.d.ts +3 -3
- package/dist/patterns/reactive-layout/index.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-646OG3PO.js.map +0 -1
- package/dist/chunk-EBNKJULL.js.map +0 -1
- package/dist/chunk-IHJHBADD.js.map +0 -1
- package/dist/chunk-R6OHUUYB.js.map +0 -1
- package/dist/chunk-XJ6EMQ22.js.map +0 -1
- package/dist/observable-Cz-AWhwR.d.cts +0 -42
- package/dist/observable-DCqlwGyl.d.ts +0 -42
- /package/dist/{chunk-F2ULI3Q3.js.map → chunk-J7S54G7I.js.map} +0 -0
- /package/dist/{chunk-YXROQFXZ.js.map → chunk-UVWEKTYC.js.map} +0 -0
package/dist/extra/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { A as AdapterHandlers, a as AsyncSourceOpts, B as BackoffPreset, b as BackoffStrategy, c as BatchMessage, d as BridgeMessage, e as BufferedSinkHandle, C as CSVRow, f as CacheEvictionPolicy, g as CacheTier, h as CascadingCache, i as CascadingCacheOptions, j as CheckpointAdapter, k as CheckpointToRedisOptions, l as CheckpointToS3Options, m as CircuitBreaker, n as CircuitBreakerOptions, o as CircuitOpenError, p as CircuitState, q as ClickHouseClientLike, r as ClickHouseInsertClientLike, s as ClickHouseRow, t as CronSchedule, u as DictCheckpointAdapter, D as DistillBundle, v as DistillOptions, w as DrizzleQueryLike, x as ErrorMessage, y as EventTargetLike, z as ExponentialBackoffOptions, E as Extraction, F as FSEvent, G as FSEventType, H as FileCheckpointAdapter, I as FileWriterLike, J as FromCSVOptions, K as FromClickHouseWatchOptions, L as FromCronOptions, M as FromDrizzleOptions, O as FromFSWatchOptions, P as FromGitHookOptions, Q as FromHTTPOptions, R as FromKafkaOptions, S as FromKyselyOptions, T as FromMCPOptions, U as FromNATSOptions, V as FromNDJSONOptions, W as FromOTelOptions, X as FromPrismaOptions, Y as FromPrometheusOptions, Z as FromPulsarOptions, _ as FromRabbitMQOptions, $ as FromRedisStreamOptions, a0 as FromSqliteOptions, a1 as FromStatsDOptions, a2 as FromSyslogOptions, a3 as GitEvent, a4 as GitHookType, a5 as HTTPBundle, a6 as IndexRow, a7 as IndexedDbCheckpointSpec, a8 as InitMessage, a9 as JitterMode, aa as KafkaConsumerLike, ab as KafkaMessage, ac as KafkaProducerLike, ad as KyselyQueryLike, ae as LokiClientLike, af as LokiStream, ag as MCPClientLike, ah as MemoryCheckpointAdapter, ai as MergeMapOptions, aj as MongoCollectionLike, ak as NATSClientLike, al as NATSMessage, am as NATSSubscriptionLike, an as NS_PER_MS, ao as NS_PER_SEC, N as NodeInput, ap as OTelBundle, aq as OTelLog, ar as OTelMetric, as as OTelRegister, at as OTelSpan, au as PostgresClientLike, av as PrismaModelLike, aw as PrometheusMetric, ax as PubSubHub, ay as PulsarConsumerLike, az as PulsarMessage, aA as PulsarProducerLike, aB as RabbitMQChannelLike, aC as RabbitMQMessage, aD as ReactiveIndexBundle, aE as ReactiveIndexOptions, aF as ReactiveListBundle, aG as ReactiveListOptions, aH as ReactiveLogBundle, aI as ReactiveLogOptions, aJ as ReactiveMapBundle, aK as ReactiveMapOptions, aL as ReadyMessage, aM as RedisCheckpointClientLike, aN as RedisClientLike, aO as RedisStreamEntry, aP as RetryOptions, aQ as S3ClientLike, aR as SignalMessage, aS as SinkHandle, aT as SinkTransportError, aU as SqliteCheckpointAdapter, aV as SqliteDbLike, aW as StatsDMetric, aX as StatsDRegister, aY as StatusValue, aZ as SyslogMessage, a_ as SyslogRegister, a$ as TapObserver, b0 as TempoClientLike, b1 as ThrottleOptions, b2 as TieredStorage, b3 as TieredStorageOptions, b4 as TimeoutError, b5 as ToCSVOptions, b6 as ToClickHouseOptions, b7 as ToFileOptions, b8 as ToKafkaOptions, b9 as ToLokiOptions, ba as ToMongoOptions, bb as ToNATSOptions, bc as ToPostgresOptions, bd as ToPulsarOptions, be as ToRabbitMQOptions, bf as ToRedisStreamOptions, bg as ToS3Options, bh as ToSSEOptions, bi as ToSqliteOptions, bj as ToTempoOptions, bk as ToWebSocketOptions, bl as ToWebSocketTransportError, bm as TokenBucket, bn as ValueMessage, bo as VerifiableBundle, bp as VerifiableOptions, bq as VerifyValue, br as WatermarkController, bs as WatermarkOptions, bt as WebSocketLike, bu as WebSocketMessageEventLike, bv as WebSocketRegister, bw as WebhookRegister, bx as WithBreakerBundle, by as WithStatusBundle, bz as WorkerBridge, bA as WorkerBridgeOptions, bB as WorkerSelfHandle, bC as WorkerSelfOptions, bD as WorkerTransport, bE as audit, bF as buffer, bG as bufferCount, bH as bufferTime, bI as cache, bJ as cached, bK as cascadingCache, bL as catchError, bM as checkpointNodeValue, bN as checkpointToRedis, bO as checkpointToS3, bP as circuitBreaker, bQ as combine, bR as combineLatest, bS as concat, bT as concatMap, bU as constant, bV as createTransport, bW as createWatermarkController, bX as debounce, bY as debounceTime, bZ as decorrelatedJitter, b_ as delay, b$ as deserializeError, c0 as distill, c1 as distinctUntilChanged, c2 as elementAt, c3 as empty, c4 as escapeRegexChar, c5 as exhaustMap, c6 as exponential, c8 as fallback, c9 as fibonacci, ca as filter, cb as find, cc as first, cd as firstValueFrom, ce as flatMap, cf as forEach, cg as fromAny, ch as fromAsyncIter, ci as fromCSV, cj as fromClickHouseWatch, ck as fromCron, cl as fromDrizzle, cm as fromEvent, cn as fromFSWatch, co as fromGitHook, cp as fromHTTP, cq as fromIDBRequest, cr as fromIDBTransaction, cs as fromIter, ct as fromKafka, cu as fromKysely, cv as fromMCP, cw as fromNATS, cx as fromNDJSON, cy as fromOTel, cz as fromPrisma, cA as fromPrometheus, cB as fromPromise, cC as fromPulsar, cD as fromRabbitMQ, cE as fromRedisStream, cF as fromSqlite, cG as fromStatsD, cH as fromSyslog, cI as fromTimer, cJ as fromWebSocket, cK as fromWebhook, cL as globToRegExp, cM as interval, cN as last, cO as linear, cP as logSlice, cQ as lru, cR as map, cS as matchesAnyPattern, cT as matchesCron, cU as merge, cV as mergeMap, cW as nameToSignal, cX as never, cY as of, cZ as pairwise, c_ as parseCron, c$ as parsePrometheusText, d0 as parseStatsD, d1 as parseSyslog, d2 as pausable, d3 as pubsub, d4 as race, d5 as rateLimiter, d6 as reactiveIndex, d7 as reactiveList, d8 as reactiveLog, d9 as reactiveMap, da as reduce, db as repeat, dc as replay, dd as rescue, de as resolveBackoffPreset, df as restoreGraphCheckpoint, dg as restoreGraphCheckpointIndexedDb, dh as retry, di as sample, dj as saveGraphCheckpoint, dk as saveGraphCheckpointIndexedDb, dl as scan, dm as serializeError, dn as share, dp as shareReplay, dq as signalToName, dr as skip, ds as startWith, dt as switchMap, du as take, dv as takeUntil, dw as takeWhile, dx as tap, dy as throttle, dz as throttleTime, dA as throwError, dB as tieredStorage, dC as timeout, dD as toArray, dE as toCSV, dF as toClickHouse, dG as toFile, dH as toKafka, dI as toLoki, dJ as toMongo, dK as toNATS, dL as toPostgres, dM as toPulsar, dN as toRabbitMQ, dO as toRedisStream, dP as toS3, dQ as toSSE, dR as toSqlite, dS as toTempo, dT as toWebSocket, dU as tokenBucket, dV as tokenTracker, dW as valve, dX as verifiable, dY as window, dZ as windowCount, d_ as windowTime, d$ as withBreaker, e0 as withLatestFrom, e1 as withMaxAttempts, e2 as withStatus, e3 as workerBridge, e4 as workerSelf, e5 as zip } from '../index-
|
|
2
|
-
export {
|
|
3
|
-
import '../meta-
|
|
4
|
-
import '../graph-
|
|
1
|
+
export { A as AdapterHandlers, a as AsyncSourceOpts, B as BackoffPreset, b as BackoffStrategy, c as BatchMessage, d as BridgeMessage, e as BufferedSinkHandle, C as CSVRow, f as CacheEvictionPolicy, g as CacheTier, h as CascadingCache, i as CascadingCacheOptions, j as CheckpointAdapter, k as CheckpointToRedisOptions, l as CheckpointToS3Options, m as CircuitBreaker, n as CircuitBreakerOptions, o as CircuitOpenError, p as CircuitState, q as ClickHouseClientLike, r as ClickHouseInsertClientLike, s as ClickHouseRow, t as CronSchedule, u as DictCheckpointAdapter, D as DistillBundle, v as DistillOptions, w as DrizzleQueryLike, x as ErrorMessage, y as EventTargetLike, z as ExponentialBackoffOptions, E as Extraction, F as FSEvent, G as FSEventType, H as FileCheckpointAdapter, I as FileWriterLike, J as FromCSVOptions, K as FromClickHouseWatchOptions, L as FromCronOptions, M as FromDrizzleOptions, O as FromFSWatchOptions, P as FromGitHookOptions, Q as FromHTTPOptions, R as FromKafkaOptions, S as FromKyselyOptions, T as FromMCPOptions, U as FromNATSOptions, V as FromNDJSONOptions, W as FromOTelOptions, X as FromPrismaOptions, Y as FromPrometheusOptions, Z as FromPulsarOptions, _ as FromRabbitMQOptions, $ as FromRedisStreamOptions, a0 as FromSqliteOptions, a1 as FromStatsDOptions, a2 as FromSyslogOptions, a3 as GitEvent, a4 as GitHookType, a5 as HTTPBundle, a6 as IndexRow, a7 as IndexedDbCheckpointSpec, a8 as InitMessage, a9 as JitterMode, aa as KafkaConsumerLike, ab as KafkaMessage, ac as KafkaProducerLike, ad as KyselyQueryLike, ae as LokiClientLike, af as LokiStream, ag as MCPClientLike, ah as MemoryCheckpointAdapter, ai as MergeMapOptions, aj as MongoCollectionLike, ak as NATSClientLike, al as NATSMessage, am as NATSSubscriptionLike, an as NS_PER_MS, ao as NS_PER_SEC, N as NodeInput, ap as OTelBundle, aq as OTelLog, ar as OTelMetric, as as OTelRegister, at as OTelSpan, au as PostgresClientLike, av as PrismaModelLike, aw as PrometheusMetric, ax as PubSubHub, ay as PulsarConsumerLike, az as PulsarMessage, aA as PulsarProducerLike, aB as RabbitMQChannelLike, aC as RabbitMQMessage, aD as ReactiveIndexBundle, aE as ReactiveIndexOptions, aF as ReactiveListBundle, aG as ReactiveListOptions, aH as ReactiveLogBundle, aI as ReactiveLogOptions, aJ as ReactiveMapBundle, aK as ReactiveMapOptions, aL as ReadyMessage, aM as RedisCheckpointClientLike, aN as RedisClientLike, aO as RedisStreamEntry, aP as RetryOptions, aQ as S3ClientLike, aR as SignalMessage, aS as SinkHandle, aT as SinkTransportError, aU as SqliteCheckpointAdapter, aV as SqliteDbLike, aW as StatsDMetric, aX as StatsDRegister, aY as StatusValue, aZ as SyslogMessage, a_ as SyslogRegister, a$ as TapObserver, b0 as TempoClientLike, b1 as ThrottleOptions, b2 as TieredStorage, b3 as TieredStorageOptions, b4 as TimeoutError, b5 as ToCSVOptions, b6 as ToClickHouseOptions, b7 as ToFileOptions, b8 as ToKafkaOptions, b9 as ToLokiOptions, ba as ToMongoOptions, bb as ToNATSOptions, bc as ToPostgresOptions, bd as ToPulsarOptions, be as ToRabbitMQOptions, bf as ToRedisStreamOptions, bg as ToS3Options, bh as ToSSEOptions, bi as ToSqliteOptions, bj as ToTempoOptions, bk as ToWebSocketOptions, bl as ToWebSocketTransportError, bm as TokenBucket, bn as ValueMessage, bo as VerifiableBundle, bp as VerifiableOptions, bq as VerifyValue, br as WatermarkController, bs as WatermarkOptions, bt as WebSocketLike, bu as WebSocketMessageEventLike, bv as WebSocketRegister, bw as WebhookRegister, bx as WithBreakerBundle, by as WithStatusBundle, bz as WorkerBridge, bA as WorkerBridgeOptions, bB as WorkerSelfHandle, bC as WorkerSelfOptions, bD as WorkerTransport, bE as audit, bF as buffer, bG as bufferCount, bH as bufferTime, bI as cache, bJ as cached, bK as cascadingCache, bL as catchError, bM as checkpointNodeValue, bN as checkpointToRedis, bO as checkpointToS3, bP as circuitBreaker, bQ as combine, bR as combineLatest, bS as concat, bT as concatMap, bU as constant, bV as createTransport, bW as createWatermarkController, bX as debounce, bY as debounceTime, bZ as decorrelatedJitter, b_ as delay, b$ as deserializeError, c0 as distill, c1 as distinctUntilChanged, c2 as elementAt, c3 as empty, c4 as escapeRegexChar, c5 as exhaustMap, c6 as exponential, c8 as fallback, c9 as fibonacci, ca as filter, cb as find, cc as first, cd as firstValueFrom, ce as flatMap, cf as forEach, cg as fromAny, ch as fromAsyncIter, ci as fromCSV, cj as fromClickHouseWatch, ck as fromCron, cl as fromDrizzle, cm as fromEvent, cn as fromFSWatch, co as fromGitHook, cp as fromHTTP, cq as fromIDBRequest, cr as fromIDBTransaction, cs as fromIter, ct as fromKafka, cu as fromKysely, cv as fromMCP, cw as fromNATS, cx as fromNDJSON, cy as fromOTel, cz as fromPrisma, cA as fromPrometheus, cB as fromPromise, cC as fromPulsar, cD as fromRabbitMQ, cE as fromRedisStream, cF as fromSqlite, cG as fromStatsD, cH as fromSyslog, cI as fromTimer, cJ as fromWebSocket, cK as fromWebhook, cL as globToRegExp, cM as interval, cN as last, cO as linear, cP as logSlice, cQ as lru, cR as map, cS as matchesAnyPattern, cT as matchesCron, cU as merge, cV as mergeMap, cW as nameToSignal, cX as never, cY as of, cZ as pairwise, c_ as parseCron, c$ as parsePrometheusText, d0 as parseStatsD, d1 as parseSyslog, d2 as pausable, d3 as pubsub, d4 as race, d5 as rateLimiter, d6 as reactiveIndex, d7 as reactiveList, d8 as reactiveLog, d9 as reactiveMap, da as reduce, db as repeat, dc as replay, dd as rescue, de as resolveBackoffPreset, df as restoreGraphCheckpoint, dg as restoreGraphCheckpointIndexedDb, dh as retry, di as sample, dj as saveGraphCheckpoint, dk as saveGraphCheckpointIndexedDb, dl as scan, dm as serializeError, dn as share, dp as shareReplay, dq as signalToName, dr as skip, ds as startWith, dt as switchMap, du as take, dv as takeUntil, dw as takeWhile, dx as tap, dy as throttle, dz as throttleTime, dA as throwError, dB as tieredStorage, dC as timeout, dD as toArray, dE as toCSV, dF as toClickHouse, dG as toFile, dH as toKafka, dI as toLoki, dJ as toMongo, dK as toNATS, dL as toPostgres, dM as toPulsar, dN as toRabbitMQ, dO as toRedisStream, dP as toS3, dQ as toSSE, dR as toSqlite, dS as toTempo, dT as toWebSocket, dU as tokenBucket, dV as tokenTracker, dW as valve, dX as verifiable, dY as window, dZ as windowCount, d_ as windowTime, d$ as withBreaker, e0 as withLatestFrom, e1 as withMaxAttempts, e2 as withStatus, e3 as workerBridge, e4 as workerSelf, e5 as zip } from '../index-D_tUMcpz.cjs';
|
|
2
|
+
export { T as ToObservableOptions, t as toObservable } from '../observable-DFBCBELR.cjs';
|
|
3
|
+
import '../meta-npl5b97j.cjs';
|
|
4
|
+
import '../graph-BYFlyNpX.cjs';
|
|
5
5
|
import 'rxjs';
|
package/dist/extra/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { A as AdapterHandlers, a as AsyncSourceOpts, B as BackoffPreset, b as BackoffStrategy, c as BatchMessage, d as BridgeMessage, e as BufferedSinkHandle, C as CSVRow, f as CacheEvictionPolicy, g as CacheTier, h as CascadingCache, i as CascadingCacheOptions, j as CheckpointAdapter, k as CheckpointToRedisOptions, l as CheckpointToS3Options, m as CircuitBreaker, n as CircuitBreakerOptions, o as CircuitOpenError, p as CircuitState, q as ClickHouseClientLike, r as ClickHouseInsertClientLike, s as ClickHouseRow, t as CronSchedule, u as DictCheckpointAdapter, D as DistillBundle, v as DistillOptions, w as DrizzleQueryLike, x as ErrorMessage, y as EventTargetLike, z as ExponentialBackoffOptions, E as Extraction, F as FSEvent, G as FSEventType, H as FileCheckpointAdapter, I as FileWriterLike, J as FromCSVOptions, K as FromClickHouseWatchOptions, L as FromCronOptions, M as FromDrizzleOptions, O as FromFSWatchOptions, P as FromGitHookOptions, Q as FromHTTPOptions, R as FromKafkaOptions, S as FromKyselyOptions, T as FromMCPOptions, U as FromNATSOptions, V as FromNDJSONOptions, W as FromOTelOptions, X as FromPrismaOptions, Y as FromPrometheusOptions, Z as FromPulsarOptions, _ as FromRabbitMQOptions, $ as FromRedisStreamOptions, a0 as FromSqliteOptions, a1 as FromStatsDOptions, a2 as FromSyslogOptions, a3 as GitEvent, a4 as GitHookType, a5 as HTTPBundle, a6 as IndexRow, a7 as IndexedDbCheckpointSpec, a8 as InitMessage, a9 as JitterMode, aa as KafkaConsumerLike, ab as KafkaMessage, ac as KafkaProducerLike, ad as KyselyQueryLike, ae as LokiClientLike, af as LokiStream, ag as MCPClientLike, ah as MemoryCheckpointAdapter, ai as MergeMapOptions, aj as MongoCollectionLike, ak as NATSClientLike, al as NATSMessage, am as NATSSubscriptionLike, an as NS_PER_MS, ao as NS_PER_SEC, N as NodeInput, ap as OTelBundle, aq as OTelLog, ar as OTelMetric, as as OTelRegister, at as OTelSpan, au as PostgresClientLike, av as PrismaModelLike, aw as PrometheusMetric, ax as PubSubHub, ay as PulsarConsumerLike, az as PulsarMessage, aA as PulsarProducerLike, aB as RabbitMQChannelLike, aC as RabbitMQMessage, aD as ReactiveIndexBundle, aE as ReactiveIndexOptions, aF as ReactiveListBundle, aG as ReactiveListOptions, aH as ReactiveLogBundle, aI as ReactiveLogOptions, aJ as ReactiveMapBundle, aK as ReactiveMapOptions, aL as ReadyMessage, aM as RedisCheckpointClientLike, aN as RedisClientLike, aO as RedisStreamEntry, aP as RetryOptions, aQ as S3ClientLike, aR as SignalMessage, aS as SinkHandle, aT as SinkTransportError, aU as SqliteCheckpointAdapter, aV as SqliteDbLike, aW as StatsDMetric, aX as StatsDRegister, aY as StatusValue, aZ as SyslogMessage, a_ as SyslogRegister, a$ as TapObserver, b0 as TempoClientLike, b1 as ThrottleOptions, b2 as TieredStorage, b3 as TieredStorageOptions, b4 as TimeoutError, b5 as ToCSVOptions, b6 as ToClickHouseOptions, b7 as ToFileOptions, b8 as ToKafkaOptions, b9 as ToLokiOptions, ba as ToMongoOptions, bb as ToNATSOptions, bc as ToPostgresOptions, bd as ToPulsarOptions, be as ToRabbitMQOptions, bf as ToRedisStreamOptions, bg as ToS3Options, bh as ToSSEOptions, bi as ToSqliteOptions, bj as ToTempoOptions, bk as ToWebSocketOptions, bl as ToWebSocketTransportError, bm as TokenBucket, bn as ValueMessage, bo as VerifiableBundle, bp as VerifiableOptions, bq as VerifyValue, br as WatermarkController, bs as WatermarkOptions, bt as WebSocketLike, bu as WebSocketMessageEventLike, bv as WebSocketRegister, bw as WebhookRegister, bx as WithBreakerBundle, by as WithStatusBundle, bz as WorkerBridge, bA as WorkerBridgeOptions, bB as WorkerSelfHandle, bC as WorkerSelfOptions, bD as WorkerTransport, bE as audit, bF as buffer, bG as bufferCount, bH as bufferTime, bI as cache, bJ as cached, bK as cascadingCache, bL as catchError, bM as checkpointNodeValue, bN as checkpointToRedis, bO as checkpointToS3, bP as circuitBreaker, bQ as combine, bR as combineLatest, bS as concat, bT as concatMap, bU as constant, bV as createTransport, bW as createWatermarkController, bX as debounce, bY as debounceTime, bZ as decorrelatedJitter, b_ as delay, b$ as deserializeError, c0 as distill, c1 as distinctUntilChanged, c2 as elementAt, c3 as empty, c4 as escapeRegexChar, c5 as exhaustMap, c6 as exponential, c8 as fallback, c9 as fibonacci, ca as filter, cb as find, cc as first, cd as firstValueFrom, ce as flatMap, cf as forEach, cg as fromAny, ch as fromAsyncIter, ci as fromCSV, cj as fromClickHouseWatch, ck as fromCron, cl as fromDrizzle, cm as fromEvent, cn as fromFSWatch, co as fromGitHook, cp as fromHTTP, cq as fromIDBRequest, cr as fromIDBTransaction, cs as fromIter, ct as fromKafka, cu as fromKysely, cv as fromMCP, cw as fromNATS, cx as fromNDJSON, cy as fromOTel, cz as fromPrisma, cA as fromPrometheus, cB as fromPromise, cC as fromPulsar, cD as fromRabbitMQ, cE as fromRedisStream, cF as fromSqlite, cG as fromStatsD, cH as fromSyslog, cI as fromTimer, cJ as fromWebSocket, cK as fromWebhook, cL as globToRegExp, cM as interval, cN as last, cO as linear, cP as logSlice, cQ as lru, cR as map, cS as matchesAnyPattern, cT as matchesCron, cU as merge, cV as mergeMap, cW as nameToSignal, cX as never, cY as of, cZ as pairwise, c_ as parseCron, c$ as parsePrometheusText, d0 as parseStatsD, d1 as parseSyslog, d2 as pausable, d3 as pubsub, d4 as race, d5 as rateLimiter, d6 as reactiveIndex, d7 as reactiveList, d8 as reactiveLog, d9 as reactiveMap, da as reduce, db as repeat, dc as replay, dd as rescue, de as resolveBackoffPreset, df as restoreGraphCheckpoint, dg as restoreGraphCheckpointIndexedDb, dh as retry, di as sample, dj as saveGraphCheckpoint, dk as saveGraphCheckpointIndexedDb, dl as scan, dm as serializeError, dn as share, dp as shareReplay, dq as signalToName, dr as skip, ds as startWith, dt as switchMap, du as take, dv as takeUntil, dw as takeWhile, dx as tap, dy as throttle, dz as throttleTime, dA as throwError, dB as tieredStorage, dC as timeout, dD as toArray, dE as toCSV, dF as toClickHouse, dG as toFile, dH as toKafka, dI as toLoki, dJ as toMongo, dK as toNATS, dL as toPostgres, dM as toPulsar, dN as toRabbitMQ, dO as toRedisStream, dP as toS3, dQ as toSSE, dR as toSqlite, dS as toTempo, dT as toWebSocket, dU as tokenBucket, dV as tokenTracker, dW as valve, dX as verifiable, dY as window, dZ as windowCount, d_ as windowTime, d$ as withBreaker, e0 as withLatestFrom, e1 as withMaxAttempts, e2 as withStatus, e3 as workerBridge, e4 as workerSelf, e5 as zip } from '../index-
|
|
2
|
-
export {
|
|
3
|
-
import '../meta-
|
|
4
|
-
import '../graph-
|
|
1
|
+
export { A as AdapterHandlers, a as AsyncSourceOpts, B as BackoffPreset, b as BackoffStrategy, c as BatchMessage, d as BridgeMessage, e as BufferedSinkHandle, C as CSVRow, f as CacheEvictionPolicy, g as CacheTier, h as CascadingCache, i as CascadingCacheOptions, j as CheckpointAdapter, k as CheckpointToRedisOptions, l as CheckpointToS3Options, m as CircuitBreaker, n as CircuitBreakerOptions, o as CircuitOpenError, p as CircuitState, q as ClickHouseClientLike, r as ClickHouseInsertClientLike, s as ClickHouseRow, t as CronSchedule, u as DictCheckpointAdapter, D as DistillBundle, v as DistillOptions, w as DrizzleQueryLike, x as ErrorMessage, y as EventTargetLike, z as ExponentialBackoffOptions, E as Extraction, F as FSEvent, G as FSEventType, H as FileCheckpointAdapter, I as FileWriterLike, J as FromCSVOptions, K as FromClickHouseWatchOptions, L as FromCronOptions, M as FromDrizzleOptions, O as FromFSWatchOptions, P as FromGitHookOptions, Q as FromHTTPOptions, R as FromKafkaOptions, S as FromKyselyOptions, T as FromMCPOptions, U as FromNATSOptions, V as FromNDJSONOptions, W as FromOTelOptions, X as FromPrismaOptions, Y as FromPrometheusOptions, Z as FromPulsarOptions, _ as FromRabbitMQOptions, $ as FromRedisStreamOptions, a0 as FromSqliteOptions, a1 as FromStatsDOptions, a2 as FromSyslogOptions, a3 as GitEvent, a4 as GitHookType, a5 as HTTPBundle, a6 as IndexRow, a7 as IndexedDbCheckpointSpec, a8 as InitMessage, a9 as JitterMode, aa as KafkaConsumerLike, ab as KafkaMessage, ac as KafkaProducerLike, ad as KyselyQueryLike, ae as LokiClientLike, af as LokiStream, ag as MCPClientLike, ah as MemoryCheckpointAdapter, ai as MergeMapOptions, aj as MongoCollectionLike, ak as NATSClientLike, al as NATSMessage, am as NATSSubscriptionLike, an as NS_PER_MS, ao as NS_PER_SEC, N as NodeInput, ap as OTelBundle, aq as OTelLog, ar as OTelMetric, as as OTelRegister, at as OTelSpan, au as PostgresClientLike, av as PrismaModelLike, aw as PrometheusMetric, ax as PubSubHub, ay as PulsarConsumerLike, az as PulsarMessage, aA as PulsarProducerLike, aB as RabbitMQChannelLike, aC as RabbitMQMessage, aD as ReactiveIndexBundle, aE as ReactiveIndexOptions, aF as ReactiveListBundle, aG as ReactiveListOptions, aH as ReactiveLogBundle, aI as ReactiveLogOptions, aJ as ReactiveMapBundle, aK as ReactiveMapOptions, aL as ReadyMessage, aM as RedisCheckpointClientLike, aN as RedisClientLike, aO as RedisStreamEntry, aP as RetryOptions, aQ as S3ClientLike, aR as SignalMessage, aS as SinkHandle, aT as SinkTransportError, aU as SqliteCheckpointAdapter, aV as SqliteDbLike, aW as StatsDMetric, aX as StatsDRegister, aY as StatusValue, aZ as SyslogMessage, a_ as SyslogRegister, a$ as TapObserver, b0 as TempoClientLike, b1 as ThrottleOptions, b2 as TieredStorage, b3 as TieredStorageOptions, b4 as TimeoutError, b5 as ToCSVOptions, b6 as ToClickHouseOptions, b7 as ToFileOptions, b8 as ToKafkaOptions, b9 as ToLokiOptions, ba as ToMongoOptions, bb as ToNATSOptions, bc as ToPostgresOptions, bd as ToPulsarOptions, be as ToRabbitMQOptions, bf as ToRedisStreamOptions, bg as ToS3Options, bh as ToSSEOptions, bi as ToSqliteOptions, bj as ToTempoOptions, bk as ToWebSocketOptions, bl as ToWebSocketTransportError, bm as TokenBucket, bn as ValueMessage, bo as VerifiableBundle, bp as VerifiableOptions, bq as VerifyValue, br as WatermarkController, bs as WatermarkOptions, bt as WebSocketLike, bu as WebSocketMessageEventLike, bv as WebSocketRegister, bw as WebhookRegister, bx as WithBreakerBundle, by as WithStatusBundle, bz as WorkerBridge, bA as WorkerBridgeOptions, bB as WorkerSelfHandle, bC as WorkerSelfOptions, bD as WorkerTransport, bE as audit, bF as buffer, bG as bufferCount, bH as bufferTime, bI as cache, bJ as cached, bK as cascadingCache, bL as catchError, bM as checkpointNodeValue, bN as checkpointToRedis, bO as checkpointToS3, bP as circuitBreaker, bQ as combine, bR as combineLatest, bS as concat, bT as concatMap, bU as constant, bV as createTransport, bW as createWatermarkController, bX as debounce, bY as debounceTime, bZ as decorrelatedJitter, b_ as delay, b$ as deserializeError, c0 as distill, c1 as distinctUntilChanged, c2 as elementAt, c3 as empty, c4 as escapeRegexChar, c5 as exhaustMap, c6 as exponential, c8 as fallback, c9 as fibonacci, ca as filter, cb as find, cc as first, cd as firstValueFrom, ce as flatMap, cf as forEach, cg as fromAny, ch as fromAsyncIter, ci as fromCSV, cj as fromClickHouseWatch, ck as fromCron, cl as fromDrizzle, cm as fromEvent, cn as fromFSWatch, co as fromGitHook, cp as fromHTTP, cq as fromIDBRequest, cr as fromIDBTransaction, cs as fromIter, ct as fromKafka, cu as fromKysely, cv as fromMCP, cw as fromNATS, cx as fromNDJSON, cy as fromOTel, cz as fromPrisma, cA as fromPrometheus, cB as fromPromise, cC as fromPulsar, cD as fromRabbitMQ, cE as fromRedisStream, cF as fromSqlite, cG as fromStatsD, cH as fromSyslog, cI as fromTimer, cJ as fromWebSocket, cK as fromWebhook, cL as globToRegExp, cM as interval, cN as last, cO as linear, cP as logSlice, cQ as lru, cR as map, cS as matchesAnyPattern, cT as matchesCron, cU as merge, cV as mergeMap, cW as nameToSignal, cX as never, cY as of, cZ as pairwise, c_ as parseCron, c$ as parsePrometheusText, d0 as parseStatsD, d1 as parseSyslog, d2 as pausable, d3 as pubsub, d4 as race, d5 as rateLimiter, d6 as reactiveIndex, d7 as reactiveList, d8 as reactiveLog, d9 as reactiveMap, da as reduce, db as repeat, dc as replay, dd as rescue, de as resolveBackoffPreset, df as restoreGraphCheckpoint, dg as restoreGraphCheckpointIndexedDb, dh as retry, di as sample, dj as saveGraphCheckpoint, dk as saveGraphCheckpointIndexedDb, dl as scan, dm as serializeError, dn as share, dp as shareReplay, dq as signalToName, dr as skip, ds as startWith, dt as switchMap, du as take, dv as takeUntil, dw as takeWhile, dx as tap, dy as throttle, dz as throttleTime, dA as throwError, dB as tieredStorage, dC as timeout, dD as toArray, dE as toCSV, dF as toClickHouse, dG as toFile, dH as toKafka, dI as toLoki, dJ as toMongo, dK as toNATS, dL as toPostgres, dM as toPulsar, dN as toRabbitMQ, dO as toRedisStream, dP as toS3, dQ as toSSE, dR as toSqlite, dS as toTempo, dT as toWebSocket, dU as tokenBucket, dV as tokenTracker, dW as valve, dX as verifiable, dY as window, dZ as windowCount, d_ as windowTime, d$ as withBreaker, e0 as withLatestFrom, e1 as withMaxAttempts, e2 as withStatus, e3 as workerBridge, e4 as workerSelf, e5 as zip } from '../index-7WnwgjMu.js';
|
|
2
|
+
export { T as ToObservableOptions, t as toObservable } from '../observable-oAGygKvc.js';
|
|
3
|
+
import '../meta-npl5b97j.js';
|
|
4
|
+
import '../graph-gISB9n3n.js';
|
|
5
5
|
import 'rxjs';
|
package/dist/extra/index.js
CHANGED
|
@@ -136,7 +136,7 @@ import {
|
|
|
136
136
|
workerBridge,
|
|
137
137
|
workerSelf,
|
|
138
138
|
zip
|
|
139
|
-
} from "../chunk-
|
|
139
|
+
} from "../chunk-76YPZQTW.js";
|
|
140
140
|
import {
|
|
141
141
|
cached,
|
|
142
142
|
createWatermarkController,
|
|
@@ -157,8 +157,6 @@ import {
|
|
|
157
157
|
matchesAnyPattern,
|
|
158
158
|
matchesCron,
|
|
159
159
|
never,
|
|
160
|
-
observeGraph$,
|
|
161
|
-
observeNode$,
|
|
162
160
|
of,
|
|
163
161
|
parseCron,
|
|
164
162
|
reactiveLog,
|
|
@@ -167,9 +165,8 @@ import {
|
|
|
167
165
|
shareReplay,
|
|
168
166
|
throwError,
|
|
169
167
|
toArray,
|
|
170
|
-
toMessages$,
|
|
171
168
|
toObservable
|
|
172
|
-
} from "../chunk-
|
|
169
|
+
} from "../chunk-F6ORUNO7.js";
|
|
173
170
|
import "../chunk-WZ2Z2CRV.js";
|
|
174
171
|
import "../chunk-BV3TPSBK.js";
|
|
175
172
|
export {
|
|
@@ -264,8 +261,6 @@ export {
|
|
|
264
261
|
mergeMap,
|
|
265
262
|
nameToSignal,
|
|
266
263
|
never,
|
|
267
|
-
observeGraph$,
|
|
268
|
-
observeNode$,
|
|
269
264
|
of,
|
|
270
265
|
pairwise,
|
|
271
266
|
parseCron,
|
|
@@ -314,7 +309,6 @@ export {
|
|
|
314
309
|
toFile,
|
|
315
310
|
toKafka,
|
|
316
311
|
toLoki,
|
|
317
|
-
toMessages$,
|
|
318
312
|
toMongo,
|
|
319
313
|
toNATS,
|
|
320
314
|
toObservable,
|
package/dist/graph/index.cjs
CHANGED
|
@@ -1695,7 +1695,7 @@ var RingBuffer = class {
|
|
|
1695
1695
|
return result;
|
|
1696
1696
|
}
|
|
1697
1697
|
};
|
|
1698
|
-
var
|
|
1698
|
+
var OBSERVE_ANSI_THEME = {
|
|
1699
1699
|
data: "\x1B[32m",
|
|
1700
1700
|
dirty: "\x1B[33m",
|
|
1701
1701
|
resolved: "\x1B[36m",
|
|
@@ -1705,7 +1705,7 @@ var SPY_ANSI_THEME = {
|
|
|
1705
1705
|
path: "\x1B[90m",
|
|
1706
1706
|
reset: "\x1B[0m"
|
|
1707
1707
|
};
|
|
1708
|
-
var
|
|
1708
|
+
var OBSERVE_NO_COLOR_THEME = {
|
|
1709
1709
|
data: "",
|
|
1710
1710
|
dirty: "",
|
|
1711
1711
|
resolved: "",
|
|
@@ -1725,9 +1725,9 @@ function describeData(value) {
|
|
|
1725
1725
|
return "[unserializable]";
|
|
1726
1726
|
}
|
|
1727
1727
|
}
|
|
1728
|
-
function
|
|
1729
|
-
if (theme === "none") return
|
|
1730
|
-
if (theme === "ansi" || theme == null) return
|
|
1728
|
+
function resolveObserveTheme(theme) {
|
|
1729
|
+
if (theme === "none") return OBSERVE_NO_COLOR_THEME;
|
|
1730
|
+
if (theme === "ansi" || theme == null) return OBSERVE_ANSI_THEME;
|
|
1731
1731
|
return {
|
|
1732
1732
|
data: theme.data ?? "",
|
|
1733
1733
|
dirty: theme.dirty ?? "",
|
|
@@ -2498,9 +2498,13 @@ var Graph = class _Graph {
|
|
|
2498
2498
|
if (actor2 != null && !target.allowsObserve(actor2)) {
|
|
2499
2499
|
throw new GuardDenied({ actor: actor2, action: "observe", nodeName: path });
|
|
2500
2500
|
}
|
|
2501
|
-
const wantsStructured2 = resolved.structured === true || resolved.timeline === true || resolved.causal === true || resolved.derived === true || resolved.detail === "minimal" || resolved.detail === "full";
|
|
2502
|
-
if (wantsStructured2
|
|
2503
|
-
|
|
2501
|
+
const wantsStructured2 = resolved.structured === true || resolved.timeline === true || resolved.causal === true || resolved.derived === true || resolved.detail === "minimal" || resolved.detail === "full" || resolved.format != null;
|
|
2502
|
+
if (wantsStructured2) {
|
|
2503
|
+
const result = _Graph.inspectorEnabled ? this._createObserveResult(path, target, resolved) : this._createFallbackObserveResult(path, resolved);
|
|
2504
|
+
if (resolved.format != null) {
|
|
2505
|
+
this._attachFormatLogger(result, resolved);
|
|
2506
|
+
}
|
|
2507
|
+
return result;
|
|
2504
2508
|
}
|
|
2505
2509
|
return {
|
|
2506
2510
|
subscribe(sink) {
|
|
@@ -2518,9 +2522,13 @@ var Graph = class _Graph {
|
|
|
2518
2522
|
}
|
|
2519
2523
|
const opts = resolveObserveDetail(pathOrOpts);
|
|
2520
2524
|
const actor = opts.actor;
|
|
2521
|
-
const wantsStructured = opts.structured === true || opts.timeline === true || opts.causal === true || opts.derived === true || opts.detail === "minimal" || opts.detail === "full";
|
|
2522
|
-
if (wantsStructured
|
|
2523
|
-
|
|
2525
|
+
const wantsStructured = opts.structured === true || opts.timeline === true || opts.causal === true || opts.derived === true || opts.detail === "minimal" || opts.detail === "full" || opts.format != null;
|
|
2526
|
+
if (wantsStructured) {
|
|
2527
|
+
const result = _Graph.inspectorEnabled ? this._createObserveResultForAll(opts) : this._createFallbackObserveResultForAll(opts);
|
|
2528
|
+
if (opts.format != null) {
|
|
2529
|
+
this._attachFormatLogger(result, opts);
|
|
2530
|
+
}
|
|
2531
|
+
return result;
|
|
2524
2532
|
}
|
|
2525
2533
|
return {
|
|
2526
2534
|
subscribe: (sink) => {
|
|
@@ -2564,6 +2572,7 @@ var Graph = class _Graph {
|
|
|
2564
2572
|
let lastTriggerDepIndex;
|
|
2565
2573
|
let lastRunDepValues;
|
|
2566
2574
|
let detachInspectorHook;
|
|
2575
|
+
let batchSeq = 0;
|
|
2567
2576
|
if ((causal || derived) && target instanceof NodeImpl) {
|
|
2568
2577
|
detachInspectorHook = target._setInspectorHook((event) => {
|
|
2569
2578
|
if (event.kind === "dep_message") {
|
|
@@ -2576,15 +2585,16 @@ var Graph = class _Graph {
|
|
|
2576
2585
|
type: "derived",
|
|
2577
2586
|
path,
|
|
2578
2587
|
dep_values: [...event.depValues],
|
|
2579
|
-
...timeline ? { timestamp_ns: monotonicNs(), in_batch: isBatching() } : {}
|
|
2588
|
+
...timeline ? { timestamp_ns: monotonicNs(), in_batch: isBatching(), batch_id: batchSeq } : {}
|
|
2580
2589
|
});
|
|
2581
2590
|
}
|
|
2582
2591
|
});
|
|
2583
2592
|
}
|
|
2584
2593
|
const unsub = target.subscribe((msgs) => {
|
|
2594
|
+
batchSeq++;
|
|
2585
2595
|
for (const m of msgs) {
|
|
2586
2596
|
const t = m[0];
|
|
2587
|
-
const base = timeline ? { timestamp_ns: monotonicNs(), in_batch: isBatching() } : {};
|
|
2597
|
+
const base = timeline ? { timestamp_ns: monotonicNs(), in_batch: isBatching(), batch_id: batchSeq } : {};
|
|
2588
2598
|
const withCausal = causal && lastRunDepValues != null ? (() => {
|
|
2589
2599
|
const triggerDep = lastTriggerDepIndex != null && lastTriggerDepIndex >= 0 && target instanceof NodeImpl ? target._deps[lastTriggerDepIndex] : void 0;
|
|
2590
2600
|
const tv = triggerDep?.v;
|
|
@@ -2653,11 +2663,15 @@ var Graph = class _Graph {
|
|
|
2653
2663
|
Object.assign(merged, extra);
|
|
2654
2664
|
}
|
|
2655
2665
|
const resolvedTarget = graph.resolve(basePath);
|
|
2656
|
-
|
|
2666
|
+
const expanded = graph._createObserveResult(
|
|
2657
2667
|
basePath,
|
|
2658
2668
|
resolvedTarget,
|
|
2659
2669
|
resolveObserveDetail(merged)
|
|
2660
2670
|
);
|
|
2671
|
+
if (merged.format != null) {
|
|
2672
|
+
graph._attachFormatLogger(expanded, merged);
|
|
2673
|
+
}
|
|
2674
|
+
return expanded;
|
|
2661
2675
|
}
|
|
2662
2676
|
};
|
|
2663
2677
|
}
|
|
@@ -2677,11 +2691,13 @@ var Graph = class _Graph {
|
|
|
2677
2691
|
this._collectObserveTargets("", targets);
|
|
2678
2692
|
targets.sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0);
|
|
2679
2693
|
const picked = actor == null ? targets : targets.filter(([, nd]) => nd.allowsObserve(actor));
|
|
2694
|
+
let batchSeq = 0;
|
|
2680
2695
|
const unsubs = picked.map(
|
|
2681
2696
|
([path, nd]) => nd.subscribe((msgs) => {
|
|
2697
|
+
batchSeq++;
|
|
2682
2698
|
for (const m of msgs) {
|
|
2683
2699
|
const t = m[0];
|
|
2684
|
-
const base = timeline ? { timestamp_ns: monotonicNs(), in_batch: isBatching() } : {};
|
|
2700
|
+
const base = timeline ? { timestamp_ns: monotonicNs(), in_batch: isBatching(), batch_id: batchSeq } : {};
|
|
2685
2701
|
if (t === DATA) {
|
|
2686
2702
|
result.values[path] = m[1];
|
|
2687
2703
|
result.events.push({ type: "data", path, data: m[1], ...base });
|
|
@@ -2737,25 +2753,161 @@ var Graph = class _Graph {
|
|
|
2737
2753
|
} else {
|
|
2738
2754
|
Object.assign(merged, extra);
|
|
2739
2755
|
}
|
|
2740
|
-
|
|
2756
|
+
const expanded = graph._createObserveResultForAll(resolveObserveDetail(merged));
|
|
2757
|
+
if (merged.format != null) {
|
|
2758
|
+
graph._attachFormatLogger(expanded, merged);
|
|
2759
|
+
}
|
|
2760
|
+
return expanded;
|
|
2741
2761
|
}
|
|
2742
2762
|
};
|
|
2743
2763
|
}
|
|
2744
2764
|
/**
|
|
2745
|
-
*
|
|
2746
|
-
*
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2765
|
+
* Fallback ObserveResult for single-node when inspector is disabled but `format` is requested.
|
|
2766
|
+
* Subscribes to raw messages and accumulates events with timeline info.
|
|
2767
|
+
*/
|
|
2768
|
+
_createFallbackObserveResult(path, options) {
|
|
2769
|
+
const timeline = options.timeline !== false;
|
|
2770
|
+
const acc = {
|
|
2771
|
+
values: {},
|
|
2772
|
+
dirtyCount: 0,
|
|
2773
|
+
resolvedCount: 0,
|
|
2774
|
+
events: [],
|
|
2775
|
+
completedCleanly: false,
|
|
2776
|
+
errored: false
|
|
2777
|
+
};
|
|
2778
|
+
const target = this.resolve(path);
|
|
2779
|
+
let batchSeq = 0;
|
|
2780
|
+
const unsub = target.subscribe((msgs) => {
|
|
2781
|
+
batchSeq++;
|
|
2782
|
+
for (const m of msgs) {
|
|
2783
|
+
const t = m[0];
|
|
2784
|
+
const base = timeline ? { timestamp_ns: monotonicNs(), in_batch: isBatching(), batch_id: batchSeq } : {};
|
|
2785
|
+
if (t === DATA) {
|
|
2786
|
+
acc.values[path] = m[1];
|
|
2787
|
+
acc.events.push({ type: "data", path, data: m[1], ...base });
|
|
2788
|
+
} else if (t === DIRTY) {
|
|
2789
|
+
acc.dirtyCount++;
|
|
2790
|
+
acc.events.push({ type: "dirty", path, ...base });
|
|
2791
|
+
} else if (t === RESOLVED) {
|
|
2792
|
+
acc.resolvedCount++;
|
|
2793
|
+
acc.events.push({ type: "resolved", path, ...base });
|
|
2794
|
+
} else if (t === COMPLETE) {
|
|
2795
|
+
if (!acc.errored) acc.completedCleanly = true;
|
|
2796
|
+
acc.events.push({ type: "complete", path, ...base });
|
|
2797
|
+
} else if (t === ERROR) {
|
|
2798
|
+
acc.errored = true;
|
|
2799
|
+
acc.events.push({ type: "error", path, data: m[1], ...base });
|
|
2800
|
+
}
|
|
2801
|
+
}
|
|
2802
|
+
});
|
|
2803
|
+
return {
|
|
2804
|
+
get values() {
|
|
2805
|
+
return acc.values;
|
|
2806
|
+
},
|
|
2807
|
+
get dirtyCount() {
|
|
2808
|
+
return acc.dirtyCount;
|
|
2809
|
+
},
|
|
2810
|
+
get resolvedCount() {
|
|
2811
|
+
return acc.resolvedCount;
|
|
2812
|
+
},
|
|
2813
|
+
get events() {
|
|
2814
|
+
return acc.events;
|
|
2815
|
+
},
|
|
2816
|
+
get completedCleanly() {
|
|
2817
|
+
return acc.completedCleanly;
|
|
2818
|
+
},
|
|
2819
|
+
get errored() {
|
|
2820
|
+
return acc.errored;
|
|
2821
|
+
},
|
|
2822
|
+
dispose() {
|
|
2823
|
+
unsub();
|
|
2824
|
+
},
|
|
2825
|
+
expand() {
|
|
2826
|
+
throw new Error("expand() requires inspector mode (Graph.inspectorEnabled = true)");
|
|
2827
|
+
}
|
|
2828
|
+
};
|
|
2829
|
+
}
|
|
2830
|
+
/**
|
|
2831
|
+
* Fallback ObserveResult for graph-wide when inspector is disabled but `format` is requested.
|
|
2752
2832
|
*/
|
|
2753
|
-
|
|
2833
|
+
_createFallbackObserveResultForAll(options) {
|
|
2834
|
+
const timeline = options.timeline !== false;
|
|
2835
|
+
const actor = options.actor;
|
|
2836
|
+
const acc = {
|
|
2837
|
+
values: {},
|
|
2838
|
+
dirtyCount: 0,
|
|
2839
|
+
resolvedCount: 0,
|
|
2840
|
+
events: [],
|
|
2841
|
+
completedCleanly: false,
|
|
2842
|
+
errored: false
|
|
2843
|
+
};
|
|
2844
|
+
const targets = [];
|
|
2845
|
+
this._collectObserveTargets("", targets);
|
|
2846
|
+
targets.sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0);
|
|
2847
|
+
const picked = actor == null ? targets : targets.filter(([, nd]) => nd.allowsObserve(actor));
|
|
2848
|
+
let batchSeq = 0;
|
|
2849
|
+
const unsubs = picked.map(
|
|
2850
|
+
([path, nd]) => nd.subscribe((msgs) => {
|
|
2851
|
+
batchSeq++;
|
|
2852
|
+
for (const m of msgs) {
|
|
2853
|
+
const t = m[0];
|
|
2854
|
+
const base = timeline ? { timestamp_ns: monotonicNs(), in_batch: isBatching(), batch_id: batchSeq } : {};
|
|
2855
|
+
if (t === DATA) {
|
|
2856
|
+
acc.values[path] = m[1];
|
|
2857
|
+
acc.events.push({ type: "data", path, data: m[1], ...base });
|
|
2858
|
+
} else if (t === DIRTY) {
|
|
2859
|
+
acc.dirtyCount++;
|
|
2860
|
+
acc.events.push({ type: "dirty", path, ...base });
|
|
2861
|
+
} else if (t === RESOLVED) {
|
|
2862
|
+
acc.resolvedCount++;
|
|
2863
|
+
acc.events.push({ type: "resolved", path, ...base });
|
|
2864
|
+
} else if (t === COMPLETE) {
|
|
2865
|
+
if (!acc.errored) acc.completedCleanly = true;
|
|
2866
|
+
acc.events.push({ type: "complete", path, ...base });
|
|
2867
|
+
} else if (t === ERROR) {
|
|
2868
|
+
acc.errored = true;
|
|
2869
|
+
acc.events.push({ type: "error", path, data: m[1], ...base });
|
|
2870
|
+
}
|
|
2871
|
+
}
|
|
2872
|
+
})
|
|
2873
|
+
);
|
|
2874
|
+
return {
|
|
2875
|
+
get values() {
|
|
2876
|
+
return acc.values;
|
|
2877
|
+
},
|
|
2878
|
+
get dirtyCount() {
|
|
2879
|
+
return acc.dirtyCount;
|
|
2880
|
+
},
|
|
2881
|
+
get resolvedCount() {
|
|
2882
|
+
return acc.resolvedCount;
|
|
2883
|
+
},
|
|
2884
|
+
get events() {
|
|
2885
|
+
return acc.events;
|
|
2886
|
+
},
|
|
2887
|
+
get completedCleanly() {
|
|
2888
|
+
return acc.completedCleanly;
|
|
2889
|
+
},
|
|
2890
|
+
get errored() {
|
|
2891
|
+
return acc.errored;
|
|
2892
|
+
},
|
|
2893
|
+
dispose() {
|
|
2894
|
+
for (const u of unsubs) u();
|
|
2895
|
+
},
|
|
2896
|
+
expand() {
|
|
2897
|
+
throw new Error("expand() requires inspector mode (Graph.inspectorEnabled = true)");
|
|
2898
|
+
}
|
|
2899
|
+
};
|
|
2900
|
+
}
|
|
2901
|
+
/**
|
|
2902
|
+
* Attaches a format logger to an ObserveResult, rendering events as they arrive.
|
|
2903
|
+
* Wraps the result's dispose to flush pending events.
|
|
2904
|
+
*/
|
|
2905
|
+
_attachFormatLogger(result, options) {
|
|
2906
|
+
const format = options.format;
|
|
2907
|
+
const logger = options.logger ?? ((line) => console.log(line));
|
|
2754
2908
|
const include = options.includeTypes ? new Set(options.includeTypes) : null;
|
|
2755
2909
|
const exclude = options.excludeTypes ? new Set(options.excludeTypes) : null;
|
|
2756
|
-
const theme =
|
|
2757
|
-
const format = options.format ?? "pretty";
|
|
2758
|
-
const logger = options.logger ?? ((line) => console.log(line));
|
|
2910
|
+
const theme = resolveObserveTheme(options.theme);
|
|
2759
2911
|
const shouldLog = (type) => {
|
|
2760
2912
|
if (include?.has(type) === false) return false;
|
|
2761
2913
|
if (exclude?.has(type) === true) return false;
|
|
@@ -2780,133 +2932,26 @@ var Graph = class _Graph {
|
|
|
2780
2932
|
const batchPart = event.in_batch ? " [batch]" : "";
|
|
2781
2933
|
return `${pathPart}${color}${event.type.toUpperCase()}${theme.reset}${dataPart}${triggerPart}${batchPart}`;
|
|
2782
2934
|
};
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
const
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
completedCleanly: false,
|
|
2791
|
-
errored: false
|
|
2792
|
-
};
|
|
2793
|
-
let stop2 = () => {
|
|
2794
|
-
};
|
|
2795
|
-
const result2 = {
|
|
2796
|
-
get values() {
|
|
2797
|
-
return acc.values;
|
|
2798
|
-
},
|
|
2799
|
-
get dirtyCount() {
|
|
2800
|
-
return acc.dirtyCount;
|
|
2801
|
-
},
|
|
2802
|
-
get resolvedCount() {
|
|
2803
|
-
return acc.resolvedCount;
|
|
2804
|
-
},
|
|
2805
|
-
get events() {
|
|
2806
|
-
return acc.events;
|
|
2807
|
-
},
|
|
2808
|
-
get completedCleanly() {
|
|
2809
|
-
return acc.completedCleanly;
|
|
2810
|
-
},
|
|
2811
|
-
get errored() {
|
|
2812
|
-
return acc.errored;
|
|
2813
|
-
},
|
|
2814
|
-
dispose() {
|
|
2815
|
-
stop2();
|
|
2816
|
-
},
|
|
2817
|
-
expand() {
|
|
2818
|
-
throw new Error("expand() requires inspector mode (Graph.inspectorEnabled = true)");
|
|
2819
|
-
}
|
|
2820
|
-
};
|
|
2821
|
-
const pushEvent = (path, message) => {
|
|
2822
|
-
const t = message[0];
|
|
2823
|
-
const base = timeline ? { timestamp_ns: monotonicNs(), in_batch: isBatching() } : {};
|
|
2824
|
-
let event;
|
|
2825
|
-
if (t === DATA) {
|
|
2826
|
-
if (path != null) acc.values[path] = message[1];
|
|
2827
|
-
event = { type: "data", ...path != null ? { path } : {}, data: message[1], ...base };
|
|
2828
|
-
} else if (t === DIRTY) {
|
|
2829
|
-
acc.dirtyCount += 1;
|
|
2830
|
-
event = { type: "dirty", ...path != null ? { path } : {}, ...base };
|
|
2831
|
-
} else if (t === RESOLVED) {
|
|
2832
|
-
acc.resolvedCount += 1;
|
|
2833
|
-
event = { type: "resolved", ...path != null ? { path } : {}, ...base };
|
|
2834
|
-
} else if (t === COMPLETE) {
|
|
2835
|
-
if (!acc.errored) acc.completedCleanly = true;
|
|
2836
|
-
event = { type: "complete", ...path != null ? { path } : {}, ...base };
|
|
2837
|
-
} else if (t === ERROR) {
|
|
2838
|
-
acc.errored = true;
|
|
2839
|
-
event = {
|
|
2840
|
-
type: "error",
|
|
2841
|
-
...path != null ? { path } : {},
|
|
2842
|
-
data: message[1],
|
|
2843
|
-
...base
|
|
2844
|
-
};
|
|
2935
|
+
let cursor = 0;
|
|
2936
|
+
const flush = () => {
|
|
2937
|
+
const events = result.events;
|
|
2938
|
+
while (cursor < events.length) {
|
|
2939
|
+
const event = events[cursor++];
|
|
2940
|
+
if (shouldLog(event.type)) {
|
|
2941
|
+
logger(renderEvent(event), event);
|
|
2845
2942
|
}
|
|
2846
|
-
if (!event) return;
|
|
2847
|
-
acc.events.push(event);
|
|
2848
|
-
if (!shouldLog(event.type)) return;
|
|
2849
|
-
logger(renderEvent(event), event);
|
|
2850
|
-
};
|
|
2851
|
-
if (options.path != null) {
|
|
2852
|
-
const stream2 = this.observe(options.path, {
|
|
2853
|
-
actor: options.actor,
|
|
2854
|
-
structured: false
|
|
2855
|
-
});
|
|
2856
|
-
stop2 = stream2.subscribe((messages) => {
|
|
2857
|
-
for (const m of messages) {
|
|
2858
|
-
pushEvent(options.path, m);
|
|
2859
|
-
}
|
|
2860
|
-
});
|
|
2861
|
-
} else {
|
|
2862
|
-
const stream2 = this.observe({ actor: options.actor, structured: false });
|
|
2863
|
-
stop2 = stream2.subscribe((path, messages) => {
|
|
2864
|
-
for (const m of messages) {
|
|
2865
|
-
pushEvent(path, m);
|
|
2866
|
-
}
|
|
2867
|
-
});
|
|
2868
2943
|
}
|
|
2869
|
-
return {
|
|
2870
|
-
result: result2,
|
|
2871
|
-
dispose() {
|
|
2872
|
-
result2.dispose();
|
|
2873
|
-
}
|
|
2874
|
-
};
|
|
2875
|
-
}
|
|
2876
|
-
const structuredObserveOptions = {
|
|
2877
|
-
actor: options.actor,
|
|
2878
|
-
structured: true,
|
|
2879
|
-
...options.timeline !== false ? { timeline: true } : {},
|
|
2880
|
-
...options.causal ? { causal: true } : {},
|
|
2881
|
-
...options.derived ? { derived: true } : {}
|
|
2882
2944
|
};
|
|
2883
|
-
const
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
for (const event of nextEvents) {
|
|
2889
|
-
if (!shouldLog(event.type)) continue;
|
|
2890
|
-
logger(renderEvent(event), event);
|
|
2891
|
-
}
|
|
2945
|
+
const origPush = result.events.push;
|
|
2946
|
+
result.events.push = function(...items) {
|
|
2947
|
+
const ret = origPush.apply(this, items);
|
|
2948
|
+
flush();
|
|
2949
|
+
return ret;
|
|
2892
2950
|
};
|
|
2893
|
-
const
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
}
|
|
2898
|
-
}) : stream.subscribe((_path, messages) => {
|
|
2899
|
-
if (messages.length > 0) {
|
|
2900
|
-
flushNewEvents();
|
|
2901
|
-
}
|
|
2902
|
-
});
|
|
2903
|
-
return {
|
|
2904
|
-
result,
|
|
2905
|
-
dispose() {
|
|
2906
|
-
stop();
|
|
2907
|
-
flushNewEvents();
|
|
2908
|
-
result.dispose();
|
|
2909
|
-
}
|
|
2951
|
+
const origDispose = result.dispose.bind(result);
|
|
2952
|
+
result.dispose = () => {
|
|
2953
|
+
origDispose();
|
|
2954
|
+
flush();
|
|
2910
2955
|
};
|
|
2911
2956
|
}
|
|
2912
2957
|
/**
|
|
@@ -3301,33 +3346,21 @@ var Graph = class _Graph {
|
|
|
3301
3346
|
// ——————————————————————————————————————————————————————————————
|
|
3302
3347
|
/**
|
|
3303
3348
|
* When `false`, structured observation options (`causal`, `timeline`),
|
|
3304
|
-
*
|
|
3349
|
+
* and `trace()` writes are no-ops. Raw `observe()` always works.
|
|
3305
3350
|
*
|
|
3306
3351
|
* Default: `true` outside production (`process.env.NODE_ENV !== "production"`).
|
|
3307
3352
|
*/
|
|
3308
3353
|
static inspectorEnabled = !(typeof process !== "undefined" && process.env?.NODE_ENV === "production");
|
|
3309
3354
|
_annotations = /* @__PURE__ */ new Map();
|
|
3310
3355
|
_traceRing = new RingBuffer(1e3);
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
annotate(path, reason) {
|
|
3320
|
-
if (!_Graph.inspectorEnabled) return;
|
|
3321
|
-
this.resolve(path);
|
|
3322
|
-
this._annotations.set(path, reason);
|
|
3323
|
-
this._traceRing.push({ path, reason, timestamp_ns: monotonicNs() });
|
|
3324
|
-
}
|
|
3325
|
-
/**
|
|
3326
|
-
* Returns a chronological log of all reasoning annotations (ring buffer).
|
|
3327
|
-
*
|
|
3328
|
-
* @returns `[]` when {@link Graph.inspectorEnabled} is `false`.
|
|
3329
|
-
*/
|
|
3330
|
-
traceLog() {
|
|
3356
|
+
trace(path, reason) {
|
|
3357
|
+
if (path != null && reason != null) {
|
|
3358
|
+
if (!_Graph.inspectorEnabled) return;
|
|
3359
|
+
this.resolve(path);
|
|
3360
|
+
this._annotations.set(path, reason);
|
|
3361
|
+
this._traceRing.push({ path, reason, timestamp_ns: monotonicNs() });
|
|
3362
|
+
return;
|
|
3363
|
+
}
|
|
3331
3364
|
if (!_Graph.inspectorEnabled) return [];
|
|
3332
3365
|
return this._traceRing.toArray();
|
|
3333
3366
|
}
|