From 6b036825c09fc3178c8a4b71abf4ab8f84aec940 Mon Sep 17 00:00:00 2001 From: Tatyana Shashkova Date: Mon, 6 Jan 2025 13:26:39 -0800 Subject: [PATCH] chore: Add GA to check circular deps (#324) * chore: Add GA to check circular deps * fix: Resolve circular deps --- .github/workflows/reviewdog.yml | 11 + package.json | 4 +- .../__tests__/components/history.spec.ts | 44 +- .../web-core/__tests__/helpers/extension.ts | 2 +- .../services/connection.service.spec.ts | 8 +- .../inworld_connection.service.spec.ts | 20 +- .../services/session_state.service.spec.ts | 5 +- packages/web-core/package.json | 3 +- .../web-core/src/clients/inworld.client.ts | 8 +- .../src/common/data_structures/extension.ts | 53 ++ .../src/common/data_structures/history.ts | 118 +++ .../index.ts} | 39 +- packages/web-core/src/components/history.ts | 147 +--- .../src/connection/web-socket.connection.ts | 4 +- packages/web-core/src/index.ts | 8 +- .../src/services/connection.service.ts | 27 +- .../src/services/conversation.service.ts | 4 +- .../src/services/session_state.service.ts | 2 +- packages/web-threejs/package.json | 3 +- yarn.lock | 770 +++++++++++++++++- 20 files changed, 1077 insertions(+), 203 deletions(-) create mode 100644 packages/web-core/src/common/data_structures/extension.ts create mode 100644 packages/web-core/src/common/data_structures/history.ts rename packages/web-core/src/common/{data_structures.ts => data_structures/index.ts} (82%) diff --git a/.github/workflows/reviewdog.yml b/.github/workflows/reviewdog.yml index aec1027b..9dc16c3e 100644 --- a/.github/workflows/reviewdog.yml +++ b/.github/workflows/reviewdog.yml @@ -42,3 +42,14 @@ jobs: - name: Linelint uses: fernandrone/linelint@master id: linelint + + circular-deps: + runs-on: ubuntu-latest + name: Check for circular dependencies + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Build node env + uses: ./.github/actions/build_package + - name: Check for circular dependencies + run: yarn circular-deps diff --git a/package.json b/package.json index 772f25d9..51e3c4a0 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,8 @@ "prettier:format": "yarn workspaces foreach -A run prettier:format && yarn prettier --write \"./examples/**/*.{js,jsx,ts,tsx}\" --ignore-path .eslintignore --config .prettierrc.json", "prepare": "husky", "test": "yarn workspace @inworld/web-core run test", - "test:coverage": "yarn workspace @inworld/web-core run test:coverage" + "test:coverage": "yarn workspace @inworld/web-core run test:coverage", + "circular-deps": "yarn workspaces foreach -A run circular-deps" }, "devDependencies": { "@release-it/keep-a-changelog": "^5.0.0", @@ -39,6 +40,7 @@ "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "jest-websocket-mock": "^2.5.0", + "madge": "^8.0.0", "prettier": "^3.3.2", "release-it": "^17.1.1", "rollup": "^4.16.1", diff --git a/packages/web-core/__tests__/components/history.spec.ts b/packages/web-core/__tests__/components/history.spec.ts index aae245e7..bb3bbc5c 100644 --- a/packages/web-core/__tests__/components/history.spec.ts +++ b/packages/web-core/__tests__/components/history.spec.ts @@ -3,20 +3,22 @@ import '../mocks/window.mock'; import { v4 } from 'uuid'; import { - ConversationMapItem, ConversationState, - Extension, InworlControlAction, InworldConversationEventType, InworldPacketType, User, } from '../../src/common/data_structures'; -import { protoTimestamp } from '../../src/common/helpers'; +import { + ConvesationInterface, + Extension, +} from '../../src/common/data_structures/extension'; import { CHAT_HISTORY_TYPE, HistoryItemActor, - InworldHistory, -} from '../../src/components/history'; +} from '../../src/common/data_structures/history'; +import { protoTimestamp } from '../../src/common/helpers'; +import { InworldHistory } from '../../src/components/history'; import { GrpcAudioPlayback } from '../../src/components/sound/grpc_audio.playback'; import { ControlEvent } from '../../src/entities/packets/control.entity'; import { InworldPacket } from '../../src/entities/packets/inworld_packet.entity'; @@ -113,7 +115,13 @@ const createHistoryWithPacket = ( user, scene: SCENE, audioEnabled, - conversations: new Map(), + conversations: new Map< + string, + { + service: ConvesationInterface; + state: ConversationState; + } + >(), }); history.addOrUpdate({ characters, grpcAudioPlayer, packet, fromHistory }); @@ -125,7 +133,13 @@ test('should be empty by default', () => { const history = new InworldHistory({ scene: SCENE, audioEnabled: false, - conversations: new Map(), + conversations: new Map< + string, + { + service: ConvesationInterface; + state: ConversationState; + } + >(), }); expect(history.get().length).toEqual(0); @@ -371,7 +385,13 @@ describe('text', () => { const history = new InworldHistory({ scene: SCENE, audioEnabled: true, - conversations: new Map(), + conversations: new Map< + string, + { + service: ConvesationInterface; + state: ConversationState; + } + >(), }); const transcript = history.getTranscript(); @@ -807,7 +827,13 @@ describe('conversation', () => { }, }), }); - const conversations = new Map(); + const conversations = new Map< + string, + { + service: ConvesationInterface; + state: ConversationState; + } + >(); conversations.set(conversationId, { service: new ConversationService(new ConnectionService(), { participants: [characters[0].resourceName], diff --git a/packages/web-core/__tests__/helpers/extension.ts b/packages/web-core/__tests__/helpers/extension.ts index adb06720..665663c4 100644 --- a/packages/web-core/__tests__/helpers/extension.ts +++ b/packages/web-core/__tests__/helpers/extension.ts @@ -1,5 +1,5 @@ import { InworldPacket as ProtoPacket } from '../../proto/ai/inworld/packets/packets.pb'; -import { Extension } from '../../src/common/data_structures'; +import { Extension } from '../../src/common/data_structures/extension'; import { InworldPacket } from '../../src/entities/packets/inworld_packet.entity'; import { ExtendedHistoryItem, ExtendedInworldPacket } from '../data_structures'; diff --git a/packages/web-core/__tests__/services/connection.service.spec.ts b/packages/web-core/__tests__/services/connection.service.spec.ts index 160e5dea..a82a3159 100644 --- a/packages/web-core/__tests__/services/connection.service.spec.ts +++ b/packages/web-core/__tests__/services/connection.service.spec.ts @@ -12,15 +12,15 @@ import { } from '../../proto/ai/inworld/packets/packets.pb'; import { ConversationState, - HistoryChangedProps, LoadedScene, } from '../../src/common/data_structures'; -import { protoTimestamp } from '../../src/common/helpers'; import { CHAT_HISTORY_TYPE, + HistoryChangedProps, HistoryItem, - InworldHistory, -} from '../../src/components/history'; +} from '../../src/common/data_structures/history'; +import { protoTimestamp } from '../../src/common/helpers'; +import { InworldHistory } from '../../src/components/history'; import { GrpcAudioPlayback } from '../../src/components/sound/grpc_audio.playback'; import { GrpcWebRtcLoopbackBiDiSession } from '../../src/components/sound/grpc_web_rtc_loopback_bidi.session'; import { Player } from '../../src/components/sound/player'; diff --git a/packages/web-core/__tests__/services/inworld_connection.service.spec.ts b/packages/web-core/__tests__/services/inworld_connection.service.spec.ts index 9bfac7b0..de810273 100644 --- a/packages/web-core/__tests__/services/inworld_connection.service.spec.ts +++ b/packages/web-core/__tests__/services/inworld_connection.service.spec.ts @@ -11,7 +11,6 @@ import { } from '../../proto/ai/inworld/packets/packets.pb'; import { AudioSessionState, - ConversationMapItem, ConversationState, InworldPacketType, LoadedScene, @@ -19,16 +18,17 @@ import { TtsPlaybackAction, UnderstandingMode, } from '../../src/common/data_structures'; +import { ConvesationInterface } from '../../src/common/data_structures/extension'; +import { + CHAT_HISTORY_TYPE, + HistoryItem, +} from '../../src/common/data_structures/history'; import { CHARACTER_HAS_INVALID_FORMAT, SCENE_HAS_INVALID_FORMAT, } from '../../src/common/errors'; import { protoTimestamp } from '../../src/common/helpers'; -import { - CHAT_HISTORY_TYPE, - HistoryItem, - InworldHistory, -} from '../../src/components/history'; +import { InworldHistory } from '../../src/components/history'; import { GrpcAudioPlayback } from '../../src/components/sound/grpc_audio.playback'; import { GrpcAudioRecorder } from '../../src/components/sound/grpc_audio.recorder'; import { GrpcWebRtcLoopbackBiDiSession } from '../../src/components/sound/grpc_web_rtc_loopback_bidi.session'; @@ -176,7 +176,13 @@ describe('history', () => { const history = new InworldHistory({ scene: SCENE, audioEnabled: true, - conversations: new Map(), + conversations: new Map< + string, + { + service: ConvesationInterface; + state: ConversationState; + } + >(), }); const packetId = getPacketId(); const routing: Routing = { diff --git a/packages/web-core/__tests__/services/session_state.service.spec.ts b/packages/web-core/__tests__/services/session_state.service.spec.ts index ed3a9a83..26547c3b 100644 --- a/packages/web-core/__tests__/services/session_state.service.spec.ts +++ b/packages/web-core/__tests__/services/session_state.service.spec.ts @@ -3,8 +3,11 @@ import '../mocks/window.mock'; import { v4 } from 'uuid'; import { DEFAULT_SESSION_STATE_KEY } from '../../src/common/constants'; +import { + CHAT_HISTORY_TYPE, + HistoryItem, +} from '../../src/common/data_structures/history'; import { protoTimestamp } from '../../src/common/helpers'; -import { CHAT_HISTORY_TYPE, HistoryItem } from '../../src/components/history'; import { ConnectionService } from '../../src/services/connection.service'; import { SessionStateService } from '../../src/services/session_state.service'; import { StateSerializationService } from '../../src/services/wrappers/state_serialization.service'; diff --git a/packages/web-core/package.json b/packages/web-core/package.json index 1777869f..4132cac2 100644 --- a/packages/web-core/package.json +++ b/packages/web-core/package.json @@ -34,7 +34,8 @@ "prettier:format": "prettier --write \"./**/*.{js,jsx,ts,tsx}\" --ignore-path ../../.eslintignore --config ../../.prettierrc.json", "test": "jest --no-cache --reporters=default", "test:coverage": "jest --coverage", - "minify": "rollup --config rollup.config.mjs" + "minify": "rollup --config rollup.config.mjs", + "circular-deps": "madge --circular --extensions ts,tsx src" }, "devDependencies": { "@types/defer-promise": "^1.0.0", diff --git a/packages/web-core/src/clients/inworld.client.ts b/packages/web-core/src/clients/inworld.client.ts index cfe3787a..86de5c23 100644 --- a/packages/web-core/src/clients/inworld.client.ts +++ b/packages/web-core/src/clients/inworld.client.ts @@ -4,20 +4,22 @@ import { Awaitable, Client, ClientConfiguration, - Extension, Gateway, GenerateSessionTokenFn, - HistoryChangedProps, InternalClientConfiguration, OnPhomeneFn, User, } from '../common/data_structures'; +import { Extension } from '../common/data_structures/extension'; +import { + HistoryChangedProps, + HistoryItem, +} from '../common/data_structures/history'; import { SCENE_HAS_INVALID_FORMAT, STOP_DURATION_NATURAL_NUMBER, STOP_TICKS_NATURAL_NUMBER, } from '../common/errors'; -import { HistoryItem } from '../components/history'; import { GrpcAudioPlayback } from '../components/sound/grpc_audio.playback'; import { GrpcAudioRecorder } from '../components/sound/grpc_audio.recorder'; import { GrpcWebRtcLoopbackBiDiSession } from '../components/sound/grpc_web_rtc_loopback_bidi.session'; diff --git a/packages/web-core/src/common/data_structures/extension.ts b/packages/web-core/src/common/data_structures/extension.ts new file mode 100644 index 00000000..211880ea --- /dev/null +++ b/packages/web-core/src/common/data_structures/extension.ts @@ -0,0 +1,53 @@ +import { + CurrentSceneStatus, + InworldPacket as ProtoPacket, +} from '../../../proto/ai/inworld/packets/packets.pb'; +import { Character } from '../../entities/character.entity'; +import { InworldPacket } from '../../entities/packets/inworld_packet.entity'; +import { HistoryItem } from './history'; +import { + AudioSessionStartPacketParams, + CancelResponsesProps, + SendPacketParams, + TriggerParameter, +} from './index'; + +export interface Extension< + InworldPacketT extends InworldPacket = InworldPacket, + HistoryItemT extends HistoryItem = HistoryItem, +> { + convertPacketFromProto?: (proto: ProtoPacket) => InworldPacketT; + beforeLoadScene?: (packets: ProtoPacket[]) => ProtoPacket[]; + afterLoadScene?: (res: CurrentSceneStatus) => void; + historyItem?: (packet: InworldPacketT, item: HistoryItem) => HistoryItemT; +} + +export interface ConvesationInterface< + InworldPacketT extends InworldPacket = InworldPacket, +> { + getConversationId(): string; + getParticipants(): string[]; + getCharacters(): Character[]; + changeParticipants(participants: string[]): void; + updateParticipants( + participants: string[], + ): Promise> | void; + sendText: (text: string) => Promise; + sendAudio: (chunk: string) => Promise; + sendTrigger: ( + name: string, + parameters?: { parameters?: TriggerParameter[]; character?: Character }, + ) => Promise; + sendAudioSessionStart( + params?: AudioSessionStartPacketParams, + ): Promise; + sendAudioSessionEnd(): Promise; + sendCancelResponse( + cancelResponses?: CancelResponsesProps, + ): Promise; + sendTTSPlaybackMute(isMuted: boolean): Promise; + sendNarratedAction(text: string): Promise; + sendCustomPacket( + getPacket: (params: SendPacketParams) => ProtoPacket, + ): Promise; +} diff --git a/packages/web-core/src/common/data_structures/history.ts b/packages/web-core/src/common/data_structures/history.ts new file mode 100644 index 00000000..1da47513 --- /dev/null +++ b/packages/web-core/src/common/data_structures/history.ts @@ -0,0 +1,118 @@ +import { LogsEventLogDetail } from '../../../proto/ai/inworld/packets/packets.pb'; +import { Character } from '../../entities/character.entity'; +import { EmotionEvent } from '../../entities/packets/emotion/emotion.entity'; +import { Actor } from '../../entities/packets/routing.entity'; +import { LogLevel, TaskParameter, TriggerParameter } from './index'; + +export enum CHAT_HISTORY_TYPE { + ACTOR = 'actor', + CONVERSATION_UPDATE = 'conversation_update', + INTERACTION_END = 'interaction_end', + LOG_EVENT = 'log_event', + NARRATED_ACTION = 'narrated_action', + SCENE_CHANGE = 'scene_change', + TRIGGER_EVENT = 'trigger_event', + TASK_EVENT = 'task_event', +} + +export interface HistoryItemBase { + date: Date; + id: string; + scene: string; + interactionId?: string; + source: Actor; + type: CHAT_HISTORY_TYPE; + fromHistory?: boolean; + conversationId: string; +} + +export interface HistoryItemActor extends HistoryItemBase { + type: CHAT_HISTORY_TYPE.ACTOR; + text?: string; + emotions?: EmotionEvent; + isRecognizing?: boolean; + // TODO: Remove this field in the next major release. + character?: Character; + characters?: Character[]; + correlationId?: string; +} + +export interface HistoryItemTriggerEvent extends HistoryItemBase { + type: CHAT_HISTORY_TYPE.TRIGGER_EVENT; + name: string; + parameters: TriggerParameter[]; + outgoing?: boolean; + correlationId?: string; +} + +export interface HistoryItemTaskEvent extends HistoryItemBase { + type: CHAT_HISTORY_TYPE.TASK_EVENT; + name: string; + parameters: TaskParameter[]; + outgoing?: boolean; + correlationId?: string; +} + +export interface HistoryInteractionEnd extends HistoryItemBase { + type: CHAT_HISTORY_TYPE.INTERACTION_END; +} + +export interface HistoryItemNarratedAction extends HistoryItemBase { + type: CHAT_HISTORY_TYPE.NARRATED_ACTION; + text?: string; + // TODO: Remove this field in the next major release. + character?: Character; + characters?: Character[]; +} + +export interface HistoryItemLogEvent extends HistoryItemBase { + type: CHAT_HISTORY_TYPE.LOG_EVENT; + text: string; + level: LogLevel; + metadata?: Record; + details?: LogsEventLogDetail[]; +} + +export interface HistoryItemSceneChange { + date: Date; + id: string; + interactionId?: string; + source: Actor; + type: CHAT_HISTORY_TYPE.SCENE_CHANGE; + to?: string; + description?: string; + displayName?: string; + loadedCharacters?: Character[]; + addedCharacters?: Character[]; + removedCharacters?: Character[]; + conversationId?: string; + fromHistory?: boolean; +} + +export interface HistoryItemConversationUpdate { + date: Date; + id: string; + interactionId?: string; + source: Actor; + type: CHAT_HISTORY_TYPE.CONVERSATION_UPDATE; + conversationId?: string; + currentCharacters?: Character[]; + addedCharacters?: Character[]; + removedCharacters?: Character[]; + fromHistory?: boolean; +} + +export type HistoryItem = + | HistoryItemActor + | HistoryItemLogEvent + | HistoryItemTriggerEvent + | HistoryItemTaskEvent + | HistoryInteractionEnd + | HistoryItemNarratedAction + | HistoryItemSceneChange + | HistoryItemConversationUpdate; + +export interface HistoryChangedProps { + diff: { added?: HistoryItemT[]; removed?: HistoryItemT[] }; + conversationId?: string; +} diff --git a/packages/web-core/src/common/data_structures.ts b/packages/web-core/src/common/data_structures/index.ts similarity index 82% rename from packages/web-core/src/common/data_structures.ts rename to packages/web-core/src/common/data_structures/index.ts index 91966ca6..67951993 100644 --- a/packages/web-core/src/common/data_structures.ts +++ b/packages/web-core/src/common/data_structures/index.ts @@ -1,24 +1,21 @@ -import { InworldStatus as ProtoStatus } from '../../proto/ai/inworld/common/status.pb'; +import { InworldStatus as ProtoStatus } from '../../../proto/ai/inworld/common/status.pb'; import { CapabilitiesConfiguration, ClientConfiguration as ControlClientConfiguration, SessionConfiguration, UserConfiguration, -} from '../../proto/ai/inworld/engine/configuration/configuration.pb'; +} from '../../../proto/ai/inworld/engine/configuration/configuration.pb'; import { Continuation, CurrentSceneStatus, InworldPacket as ProtoPacket, SessionHistoryRequest, SessionHistoryResponse, -} from '../../proto/ai/inworld/packets/packets.pb'; -import { HistoryItem } from '../components/history'; -import { Character } from '../entities/character.entity'; -import { SessionContinuationProps } from '../entities/continuation/session_continuation.entity'; -import { AdditionalPhonemeInfo } from '../entities/packets/audio.entity'; -import { InworldPacket } from '../entities/packets/inworld_packet.entity'; -import { SessionToken } from '../entities/session_token.entity'; -import { ConversationService } from '../services/conversation.service'; +} from '../../../proto/ai/inworld/packets/packets.pb'; +import { Character } from '../../entities/character.entity'; +import { SessionContinuationProps } from '../../entities/continuation/session_continuation.entity'; +import { AdditionalPhonemeInfo } from '../../entities/packets/audio.entity'; +import { SessionToken } from '../../entities/session_token.entity'; export interface Capabilities { audio?: boolean; @@ -154,16 +151,6 @@ export enum TtsPlaybackAction { UNMUTE = 'UNMUTE', } -export interface Extension< - InworldPacketT extends InworldPacket = InworldPacket, - HistoryItemT extends HistoryItem = HistoryItem, -> { - convertPacketFromProto?: (proto: ProtoPacket) => InworldPacketT; - beforeLoadScene?: (packets: ProtoPacket[]) => ProtoPacket[]; - afterLoadScene?: (res: CurrentSceneStatus) => void; - historyItem?: (packet: InworldPacketT, item: HistoryItem) => HistoryItemT; -} - export interface MediaTrackConstraintsWithSuppress extends MediaTrackConstraints { suppressLocalAudioPlayback?: { ideal: boolean }; @@ -265,22 +252,10 @@ export interface AudioSessionStartPacketParams { understandingMode?: UnderstandingMode; } -export interface ConversationMapItem< - InworldPacketT extends InworldPacket = InworldPacket, -> { - service: ConversationService; - state: ConversationState; -} - export enum ConversationParticipant { USER = 'USER', } -export interface HistoryChangedProps { - diff: { added?: HistoryItemT[]; removed?: HistoryItemT[] }; - conversationId?: string; -} - export interface ChangeSceneProps { capabilities?: Capabilities; sessionContinuation?: SessionContinuationProps; diff --git a/packages/web-core/src/components/history.ts b/packages/web-core/src/components/history.ts index b754faeb..12188428 100644 --- a/packages/web-core/src/components/history.ts +++ b/packages/web-core/src/components/history.ts @@ -1,16 +1,27 @@ import { v4 } from 'uuid'; -import { LogsEventLogDetail } from '../../proto/ai/inworld/packets/packets.pb'; import { DEFAULT_USER_NAME } from '../common/constants'; import { - ConversationMapItem, - Extension, + ConversationState, InworlControlAction, - LogLevel, - TaskParameter, - TriggerParameter, User, } from '../common/data_structures'; +import { + ConvesationInterface, + Extension, +} from '../common/data_structures/extension'; +import { + CHAT_HISTORY_TYPE, + HistoryInteractionEnd, + HistoryItem, + HistoryItemActor, + HistoryItemConversationUpdate, + HistoryItemLogEvent, + HistoryItemNarratedAction, + HistoryItemSceneChange, + HistoryItemTaskEvent, + HistoryItemTriggerEvent, +} from '../common/data_structures/history'; import { Character } from '../entities/character.entity'; import { EmotionEvent } from '../entities/packets/emotion/emotion.entity'; import { InworldPacket } from '../entities/packets/inworld_packet.entity'; @@ -26,114 +37,6 @@ interface InworldHistoryAddProps { fromHistoryCharacter?: Character; } -export enum CHAT_HISTORY_TYPE { - ACTOR = 'actor', - CONVERSATION_UPDATE = 'conversation_update', - INTERACTION_END = 'interaction_end', - LOG_EVENT = 'log_event', - NARRATED_ACTION = 'narrated_action', - SCENE_CHANGE = 'scene_change', - TRIGGER_EVENT = 'trigger_event', - TASK_EVENT = 'task_event', -} - -export interface HistoryItemBase { - date: Date; - id: string; - scene: string; - interactionId?: string; - source: Actor; - type: CHAT_HISTORY_TYPE; - fromHistory?: boolean; - conversationId: string; -} - -export interface HistoryItemActor extends HistoryItemBase { - type: CHAT_HISTORY_TYPE.ACTOR; - text?: string; - emotions?: EmotionEvent; - isRecognizing?: boolean; - // TODO: Remove this field in the next major release. - character?: Character; - characters?: Character[]; - correlationId?: string; -} - -export interface HistoryItemTriggerEvent extends HistoryItemBase { - type: CHAT_HISTORY_TYPE.TRIGGER_EVENT; - name: string; - parameters: TriggerParameter[]; - outgoing?: boolean; - correlationId?: string; -} - -export interface HistoryItemTaskEvent extends HistoryItemBase { - type: CHAT_HISTORY_TYPE.TASK_EVENT; - name: string; - parameters: TaskParameter[]; - outgoing?: boolean; - correlationId?: string; -} - -export interface HistoryInteractionEnd extends HistoryItemBase { - type: CHAT_HISTORY_TYPE.INTERACTION_END; -} - -export interface HistoryItemNarratedAction extends HistoryItemBase { - type: CHAT_HISTORY_TYPE.NARRATED_ACTION; - text?: string; - // TODO: Remove this field in the next major release. - character?: Character; - characters?: Character[]; -} - -export interface HistoryItemLogEvent extends HistoryItemBase { - type: CHAT_HISTORY_TYPE.LOG_EVENT; - text: string; - level: LogLevel; - metadata?: Record; - details?: LogsEventLogDetail[]; -} - -export interface HistoryItemSceneChange { - date: Date; - id: string; - interactionId?: string; - source: Actor; - type: CHAT_HISTORY_TYPE.SCENE_CHANGE; - to?: string; - description?: string; - displayName?: string; - loadedCharacters?: Character[]; - addedCharacters?: Character[]; - removedCharacters?: Character[]; - conversationId?: string; - fromHistory?: boolean; -} - -export interface HistoryItemConversationUpdate { - date: Date; - id: string; - interactionId?: string; - source: Actor; - type: CHAT_HISTORY_TYPE.CONVERSATION_UPDATE; - conversationId?: string; - currentCharacters?: Character[]; - addedCharacters?: Character[]; - removedCharacters?: Character[]; - fromHistory?: boolean; -} - -export type HistoryItem = - | HistoryItemActor - | HistoryItemLogEvent - | HistoryItemTriggerEvent - | HistoryItemTaskEvent - | HistoryInteractionEnd - | HistoryItemNarratedAction - | HistoryItemSceneChange - | HistoryItemConversationUpdate; - interface EmotionsMap { [key: string]: EmotionEvent; } @@ -146,7 +49,13 @@ interface InworldHistoryProps< extension?: Extension; user?: User; scene: string; - conversations: Map>; + conversations: Map< + string, + { + service: ConvesationInterface; + state: ConversationState; + } + >; } interface ConversationItem { @@ -167,7 +76,13 @@ export class InworldHistory< private emotions: EmotionsMap = {}; private extension: Extension | undefined; private conversationItems: ConversationItem[] = []; - private conversations: Map>; + private conversations: Map< + string, + { + service: ConvesationInterface; + state: ConversationState; + } + >; constructor(props: InworldHistoryProps) { if (props.extension) { diff --git a/packages/web-core/src/connection/web-socket.connection.ts b/packages/web-core/src/connection/web-socket.connection.ts index 34691704..aabca5ca 100644 --- a/packages/web-core/src/connection/web-socket.connection.ts +++ b/packages/web-core/src/connection/web-socket.connection.ts @@ -13,13 +13,13 @@ import { import { CLIENT_ID } from '../common/constants'; import { Awaitable, - Extension, InternalClientConfiguration, LoadedScene, ProtoError, User, } from '../common/data_structures'; -import { HistoryItem } from '../components/history'; +import { Extension } from '../common/data_structures/extension'; +import { HistoryItem } from '../common/data_structures/history'; import { SessionContinuation } from '../entities/continuation/session_continuation.entity'; import { InworldError } from '../entities/error.entity'; import { InworldPacket } from '../entities/packets/inworld_packet.entity'; diff --git a/packages/web-core/src/index.ts b/packages/web-core/src/index.ts index a1326e57..e4b41a82 100644 --- a/packages/web-core/src/index.ts +++ b/packages/web-core/src/index.ts @@ -14,8 +14,6 @@ import { ConnectionConfig, ConversationParticipant, EntityItemProps, - Extension, - HistoryChangedProps, ItemsInEntitiesOperationType, LogsEventLogDetail, MicrophoneMode, @@ -29,9 +27,10 @@ import { UserProfile, UserProfileField, } from './common/data_structures'; -import * as InworldTriggers from './common/inworld_triggers'; +import { Extension } from './common/data_structures/extension'; import { CHAT_HISTORY_TYPE, + HistoryChangedProps, HistoryInteractionEnd, HistoryItem, HistoryItemActor, @@ -40,7 +39,8 @@ import { HistoryItemSceneChange, HistoryItemTaskEvent, HistoryItemTriggerEvent, -} from './components/history'; +} from './common/data_structures/history'; +import * as InworldTriggers from './common/inworld_triggers'; import { Character } from './entities/character.entity'; import { DialogParticipant, diff --git a/packages/web-core/src/services/connection.service.ts b/packages/web-core/src/services/connection.service.ts index 32d2e5f0..3da42691 100644 --- a/packages/web-core/src/services/connection.service.ts +++ b/packages/web-core/src/services/connection.service.ts @@ -12,19 +12,24 @@ import { CancelResponsesProps, ChangeSceneProps, ConnectionState, - ConversationMapItem, ConversationState, - Extension, GenerateSessionTokenFn, - HistoryChangedProps, InternalClientConfiguration, InworldConversationEventType, LoadedScene, SceneHistoryItem, User, } from '../common/data_structures'; +import { + ConvesationInterface, + Extension, +} from '../common/data_structures/extension'; +import { + HistoryChangedProps, + HistoryItem, +} from '../common/data_structures/history'; import { objectsAreEqual } from '../common/helpers'; -import { HistoryItem, InworldHistory } from '../components/history'; +import { InworldHistory } from '../components/history'; import { GrpcAudioPlayback } from '../components/sound/grpc_audio.playback'; import { GrpcWebRtcLoopbackBiDiSession } from '../components/sound/grpc_web_rtc_loopback_bidi.session'; import { Player } from '../components/sound/player'; @@ -46,7 +51,6 @@ import { InworldPacket } from '../entities/packets/inworld_packet.entity'; import { Scene } from '../entities/scene.entity'; import { SessionToken } from '../entities/session_token.entity'; import { EventFactory } from '../factories/event'; -import { ConversationService } from './conversation.service'; interface ConnectionProps< InworldPacketT extends InworldPacket = InworldPacket, @@ -97,7 +101,7 @@ export class ConnectionService< private reconnectTimeoutId: NodeJS.Timeout; private currentAudioConversation: - | ConversationService + | ConvesationInterface | undefined; readonly onDisconnect: () => Awaitable; @@ -111,8 +115,13 @@ export class ConnectionService< ) => Awaitable | undefined; readonly history: InworldHistory; - readonly conversations: Map> = - new Map(); + readonly conversations: Map< + string, + { + service: ConvesationInterface; + state: ConversationState; + } + > = new Map(); private cancelResponses: CancelResponses = {}; private extension: Extension; @@ -187,7 +196,7 @@ export class ConnectionService< } setCurrentAudioConversation( - conversation?: ConversationService, + conversation?: ConvesationInterface, ) { this.currentAudioConversation = conversation; } diff --git a/packages/web-core/src/services/conversation.service.ts b/packages/web-core/src/services/conversation.service.ts index 0a64f7b6..56eec8d6 100644 --- a/packages/web-core/src/services/conversation.service.ts +++ b/packages/web-core/src/services/conversation.service.ts @@ -14,6 +14,7 @@ import { TriggerParameter, TtsPlaybackAction, } from '../common/data_structures'; +import { ConvesationInterface } from '../common/data_structures/extension'; import { MULTI_CHAR_NARRATED_ACTIONS } from '../common/errors'; import { Character } from '../entities/character.entity'; import { InworldPacket } from '../entities/packets/inworld_packet.entity'; @@ -28,7 +29,8 @@ export interface PacketQueueItem< export class ConversationService< InworldPacketT extends InworldPacket = InworldPacket, -> { +> implements ConvesationInterface +{ private connection: ConnectionService; private conversationId: string; private participants: string[]; diff --git a/packages/web-core/src/services/session_state.service.ts b/packages/web-core/src/services/session_state.service.ts index ee6e36a6..f9766d68 100644 --- a/packages/web-core/src/services/session_state.service.ts +++ b/packages/web-core/src/services/session_state.service.ts @@ -5,8 +5,8 @@ import { DEFAULT_SESSION_STATE_KEY, DEFAULT_SESSION_STATE_MAX_ATTEMPTS, } from '../common/constants'; +import { CHAT_HISTORY_TYPE } from '../common/data_structures/history'; import { safeJSONParse } from '../common/helpers'; -import { CHAT_HISTORY_TYPE } from '../components/history'; import { InworldPacket } from '../entities/packets/inworld_packet.entity'; import { ConnectionService } from './connection.service'; import { StateSerializationService } from './wrappers/state_serialization.service'; diff --git a/packages/web-threejs/package.json b/packages/web-threejs/package.json index 67fc8328..b508c419 100644 --- a/packages/web-threejs/package.json +++ b/packages/web-threejs/package.json @@ -33,7 +33,8 @@ "lint:fix": "yarn run lint:check --fix", "prettier:check": "prettier --check \"./**/*.{js,jsx,ts,tsx}\" --ignore-path ../../.eslintignore --config ../../.prettierrc.json", "prettier:format": "prettier --write \"./**/*.{js,jsx,ts,tsx}\" --ignore-path ../../.eslintignore --config ../../.prettierrc.json", - "minify": "rollup --config rollup.config.mjs" + "minify": "rollup --config rollup.config.mjs", + "circular-deps": "madge --circular --extensions ts,tsx src" }, "devDependencies": { "@types/three": "^0.164.0", diff --git a/yarn.lock b/yarn.lock index 13207363..0e3bfab5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -176,6 +176,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-validator-identifier@npm:7.22.20" @@ -190,6 +197,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.23.5": version: 7.23.5 resolution: "@babel/helper-validator-option@npm:7.23.5" @@ -229,6 +243,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.3": + version: 7.26.3 + resolution: "@babel/parser@npm:7.26.3" + dependencies: + "@babel/types": "npm:^7.26.3" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/48f736374e61cfd10ddbf7b80678514ae1f16d0e88bc793d2b505d73d9b987ea786fc8c2f7ee8f8b8c467df062030eb07fd0eb2168f0f541ca1f542775852cad + languageName: node + linkType: hard + "@babel/plugin-syntax-async-generators@npm:^7.8.4": version: 7.8.4 resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" @@ -423,6 +448,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.26.3": + version: 7.26.3 + resolution: "@babel/types@npm:7.26.3" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/966c5242c5e55c8704bf7a7418e7be2703a0afa4d19a8480999d5a4ef13d095dd60686615fe5983cb7593b4b06ba3a7de8d6ca501c1d78bdd233a10d90be787b + languageName: node + linkType: hard + "@babel/types@npm:^7.8.3": version: 7.24.7 resolution: "@babel/types@npm:7.24.7" @@ -441,6 +476,16 @@ __metadata: languageName: node linkType: hard +"@dependents/detective-less@npm:^5.0.0": + version: 5.0.0 + resolution: "@dependents/detective-less@npm:5.0.0" + dependencies: + gonzales-pe: "npm:^4.3.0" + node-source-walk: "npm:^7.0.0" + checksum: 10c0/247868509d5df31d9692c3c40bec69ea04ab5c9a3360f26a9e77468fe87c4d8cf92fbb79c92c1910338b1c72d777b8fa75a8959299258b0737f4e705c87b661c + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -560,6 +605,7 @@ __metadata: jest: "npm:^29.7.0" jest-environment-jsdom: "npm:^29.7.0" jest-websocket-mock: "npm:^2.5.0" + madge: "npm:^8.0.0" prettier: "npm:^3.3.2" release-it: "npm:^17.1.1" rollup: "npm:^4.16.1" @@ -879,6 +925,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" @@ -1334,6 +1387,41 @@ __metadata: languageName: node linkType: hard +"@ts-graphviz/adapter@npm:^2.0.6": + version: 2.0.6 + resolution: "@ts-graphviz/adapter@npm:2.0.6" + dependencies: + "@ts-graphviz/common": "npm:^2.1.5" + checksum: 10c0/43c9b6ee45b9ff73ef75a66f5556205c37b2d828d66cb7520c004c4422a8fd84784ef42ebb6a294689af32e25de1a826cf0889d51e43472b7e23dee5053a0706 + languageName: node + linkType: hard + +"@ts-graphviz/ast@npm:^2.0.6": + version: 2.0.6 + resolution: "@ts-graphviz/ast@npm:2.0.6" + dependencies: + "@ts-graphviz/common": "npm:^2.1.5" + checksum: 10c0/d501662eac3381d775857418e61cd9e65feaecef1673f23b68fccfbfd9c4d881fcc5e572a4d2c10fec7ba1fa7da220c0476c7f269874efc5f84861bb594d9f25 + languageName: node + linkType: hard + +"@ts-graphviz/common@npm:^2.1.5": + version: 2.1.5 + resolution: "@ts-graphviz/common@npm:2.1.5" + checksum: 10c0/921f32145cdfecab8f06f93b50cc0300f63f4c2e31a09d909983c509acdcfec03d2b50b97d40fc658ef6f40ecfddad1e1a6fa21bd7a612a4e9bcfbb9f9018b40 + languageName: node + linkType: hard + +"@ts-graphviz/core@npm:^2.0.6": + version: 2.0.6 + resolution: "@ts-graphviz/core@npm:2.0.6" + dependencies: + "@ts-graphviz/ast": "npm:^2.0.6" + "@ts-graphviz/common": "npm:^2.1.5" + checksum: 10c0/253a04f41e6e02fe8776f5f1189f66b82ed118dc3db0a39b490f952da462b165f5a37d451c4f90c6eed686ca19cb6a96118699473a5247b45f0e03dddf1a7f61 + languageName: node + linkType: hard + "@tweenjs/tween.js@npm:~23.1.1": version: 23.1.2 resolution: "@tweenjs/tween.js@npm:23.1.2" @@ -1666,6 +1754,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/types@npm:7.18.0" + checksum: 10c0/eb7371ac55ca77db8e59ba0310b41a74523f17e06f485a0ef819491bc3dd8909bb930120ff7d30aaf54e888167e0005aa1337011f3663dc90fb19203ce478054 + languageName: node + linkType: hard + "@typescript-eslint/types@npm:7.3.1": version: 7.3.1 resolution: "@typescript-eslint/types@npm:7.3.1" @@ -1692,6 +1787,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:^7.6.0": + version: 7.18.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0c7f109a2e460ec8a1524339479cf78ff17814d23c83aa5112c77fb345e87b3642616291908dcddea1e671da63686403dfb712e4a4435104f92abdfddf9aba81 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:7.3.1": version: 7.3.1 resolution: "@typescript-eslint/utils@npm:7.3.1" @@ -1709,6 +1823,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/538b645f8ff1d9debf264865c69a317074eaff0255e63d7407046176b0f6a6beba34a6c51d511f12444bae12a98c69891eb6f403c9f54c6c2e2849d1c1cb73c0 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:7.3.1": version: 7.3.1 resolution: "@typescript-eslint/visitor-keys@npm:7.3.1" @@ -1726,6 +1850,63 @@ __metadata: languageName: node linkType: hard +"@vue/compiler-core@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-core@npm:3.5.13" + dependencies: + "@babel/parser": "npm:^7.25.3" + "@vue/shared": "npm:3.5.13" + entities: "npm:^4.5.0" + estree-walker: "npm:^2.0.2" + source-map-js: "npm:^1.2.0" + checksum: 10c0/b89f3e3ca92c3177ae449ada1480df13d99b5b3b2cdcf3202fd37dc30f294a1db1f473209f8bae9233e2d338632219d39b2bfa6941d158cea55255e4b0b30f90 + languageName: node + linkType: hard + +"@vue/compiler-dom@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-dom@npm:3.5.13" + dependencies: + "@vue/compiler-core": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/8f424a71883c9ef4abdd125d2be8d12dd8cf94ba56089245c88734b1f87c65e10597816070ba2ea0a297a2f66dc579f39275a9a53ef5664c143a12409612cd72 + languageName: node + linkType: hard + +"@vue/compiler-sfc@npm:^3.5.12": + version: 3.5.13 + resolution: "@vue/compiler-sfc@npm:3.5.13" + dependencies: + "@babel/parser": "npm:^7.25.3" + "@vue/compiler-core": "npm:3.5.13" + "@vue/compiler-dom": "npm:3.5.13" + "@vue/compiler-ssr": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.11" + postcss: "npm:^8.4.48" + source-map-js: "npm:^1.2.0" + checksum: 10c0/5fd57895ce2801e480c08f31f91f0d1746ed08a9c1973895fd7269615f5bcdf75497978fb358bda738938d9844dea2404064c53b2cdda991014225297acce19e + languageName: node + linkType: hard + +"@vue/compiler-ssr@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-ssr@npm:3.5.13" + dependencies: + "@vue/compiler-dom": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/67621337b12fc414fcf9f16578961850724713a9fb64501136e432c2dfe95de99932c46fa24be9820f8bcdf8e7281f815f585b519a95ea979753bafd637dde1b + languageName: node + linkType: hard + +"@vue/shared@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/shared@npm:3.5.13" + checksum: 10c0/2c940ef907116f1c2583ca1d7733984e5705983ab07054c4e72f1d95eb0f7bdf4d01efbdaee1776c2008f79595963f44e98fced057f5957d86d57b70028f5025 + languageName: node + linkType: hard + "abab@npm:^2.0.6": version: 2.0.6 resolution: "abab@npm:2.0.6" @@ -1888,6 +2069,13 @@ __metadata: languageName: node linkType: hard +"any-promise@npm:^1.1.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + "anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -1898,6 +2086,13 @@ __metadata: languageName: node linkType: hard +"app-module-path@npm:^2.2.0": + version: 2.2.0 + resolution: "app-module-path@npm:2.2.0" + checksum: 10c0/0d6d581dcee268271af1e611934b4fed715de55c382b2610de67ba6f87d01503fc0426cff687f06210e54cd57545f7a6172e1dd192914a3709ad89c06a4c3a0b + languageName: node + linkType: hard + "argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" @@ -1961,6 +2156,13 @@ __metadata: languageName: node linkType: hard +"ast-module-types@npm:^6.0.0": + version: 6.0.0 + resolution: "ast-module-types@npm:6.0.0" + checksum: 10c0/a8c242293c88448ecef3c5f52718a99e19993f55d76ad60a3189ec5d7db282e4c318a04cf0a1693ba57950e6b43384fec3205663510bd6d5602357a7d0aaf3a8 + languageName: node + linkType: hard + "ast-types@npm:^0.13.4": version: 0.13.4 resolution: "ast-types@npm:0.13.4" @@ -2341,7 +2543,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.1.0": +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -2529,7 +2731,7 @@ __metadata: languageName: node linkType: hard -"color-name@npm:~1.1.4": +"color-name@npm:^1.1.4, color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 @@ -2545,6 +2747,20 @@ __metadata: languageName: node linkType: hard +"commander@npm:^12.0.0, commander@npm:^12.1.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 + languageName: node + linkType: hard + +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10c0/8d690ff13b0356df7e0ebbe6c59b4712f754f4b724d4f473d3cc5b3fdcf978e3a5dc3078717858a2ceb50b0f84d0660a7f22a96cdc50fb877d0c9bb31593d23a + languageName: node + linkType: hard + "commander@npm:^9.0.0": version: 9.5.0 resolution: "commander@npm:9.5.0" @@ -2552,6 +2768,13 @@ __metadata: languageName: node linkType: hard +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 10c0/33a124960e471c25ee19280c9ce31ccc19574b566dc514fe4f4ca4c34fa8b0b57cf437671f5de380e11353ea9426213fca17687dd2ef03134fea2dbc53809fd6 + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -2872,6 +3095,20 @@ __metadata: languageName: node linkType: hard +"dependency-tree@npm:^11.0.0": + version: 11.0.1 + resolution: "dependency-tree@npm:11.0.1" + dependencies: + commander: "npm:^12.0.0" + filing-cabinet: "npm:^5.0.1" + precinct: "npm:^12.0.2" + typescript: "npm:^5.4.5" + bin: + dependency-tree: bin/cli.js + checksum: 10c0/0f6331a29b9e0baaa68d7fa9fc4e670ee1333503f3875ed4455dff4d84d28a87ff2bb91b73977379f66fc769c0a80832f6c2b91e225d4e939c8a0b75915e35b8 + languageName: node + linkType: hard + "deprecation@npm:^2.0.0": version: 2.3.1 resolution: "deprecation@npm:2.3.1" @@ -2893,6 +3130,108 @@ __metadata: languageName: node linkType: hard +"detective-amd@npm:^6.0.0": + version: 6.0.0 + resolution: "detective-amd@npm:6.0.0" + dependencies: + ast-module-types: "npm:^6.0.0" + escodegen: "npm:^2.1.0" + get-amd-module-type: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + bin: + detective-amd: bin/cli.js + checksum: 10c0/e0eace52d9c0642ed741cf21155091bcfc800b0a90165a92a47364fa5c058ec25c1a57122463ff374a1b88852e5741a088fb5d8b3bab70481ad68926bf99646d + languageName: node + linkType: hard + +"detective-cjs@npm:^6.0.0": + version: 6.0.0 + resolution: "detective-cjs@npm:6.0.0" + dependencies: + ast-module-types: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + checksum: 10c0/1e6124889a3c5c0af2e40b83afbf9ebcffcb83493c6e483eb4b41abb9a74fe1355294f509b6e0bd6bf63531fcbbfcb41c7bc2cc9743c97da1ec8eb74220b4135 + languageName: node + linkType: hard + +"detective-es6@npm:^5.0.0": + version: 5.0.0 + resolution: "detective-es6@npm:5.0.0" + dependencies: + node-source-walk: "npm:^7.0.0" + checksum: 10c0/8434e5ba8e4fd8f881366ca940c781f2bb032269f084e220ec2997557c1d20a84d9ec589d36b135728fa02f8ddde8224266f67bd60bffe723e638914cc780936 + languageName: node + linkType: hard + +"detective-postcss@npm:^7.0.0": + version: 7.0.0 + resolution: "detective-postcss@npm:7.0.0" + dependencies: + is-url: "npm:^1.2.4" + postcss-values-parser: "npm:^6.0.2" + peerDependencies: + postcss: ^8.4.38 + checksum: 10c0/03f3422b3b1bd491464615f1a8c58a9e2375a6ea44676adb2e5bcfcfb9049c56318b18bcb85cae5fd23826c10b9308bc79219674f6fa840cb01c3a05105f0512 + languageName: node + linkType: hard + +"detective-sass@npm:^6.0.0": + version: 6.0.0 + resolution: "detective-sass@npm:6.0.0" + dependencies: + gonzales-pe: "npm:^4.3.0" + node-source-walk: "npm:^7.0.0" + checksum: 10c0/0b1362b55df7fdd18ba424386caf58bbeafcb75b634f2baec6a8ac63b4c21538c249069ddbda2d5e8102baf3db25d78908158ad09beba55f78007f063b441c41 + languageName: node + linkType: hard + +"detective-scss@npm:^5.0.0": + version: 5.0.0 + resolution: "detective-scss@npm:5.0.0" + dependencies: + gonzales-pe: "npm:^4.3.0" + node-source-walk: "npm:^7.0.0" + checksum: 10c0/b882587522c4032841db71db13493e2b843af1033dd53b267f6786cbd3034c2892603a7087e1817e7a158103547834cbe454c4f2c7c61d6e1dfdd81e6097abc5 + languageName: node + linkType: hard + +"detective-stylus@npm:^5.0.0": + version: 5.0.0 + resolution: "detective-stylus@npm:5.0.0" + checksum: 10c0/d9e1333b0bbe8338bb701e42bf77dd0dc8ca0e9b9ca27d752ce4af71a4880639b0eba6f242510701c2bf6f305d38c8638abb3f42bc7e671de9e7652f2ed89bf9 + languageName: node + linkType: hard + +"detective-typescript@npm:^13.0.0": + version: 13.0.0 + resolution: "detective-typescript@npm:13.0.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:^7.6.0" + ast-module-types: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + peerDependencies: + typescript: ^5.4.4 + checksum: 10c0/17bdf6a3551e49a2ee7c572f0bda70e7996195ea844666c63d5258aaf4ee9c46befcdf013b4adb2799dd07c150d5baaa758b75f9d85e6861846f09ff797000ff + languageName: node + linkType: hard + +"detective-vue2@npm:^2.0.3": + version: 2.1.0 + resolution: "detective-vue2@npm:2.1.0" + dependencies: + "@dependents/detective-less": "npm:^5.0.0" + "@vue/compiler-sfc": "npm:^3.5.12" + detective-es6: "npm:^5.0.0" + detective-sass: "npm:^6.0.0" + detective-scss: "npm:^5.0.0" + detective-stylus: "npm:^5.0.0" + detective-typescript: "npm:^13.0.0" + peerDependencies: + typescript: ^5.4.4 + checksum: 10c0/fefe7b816b3e60cbee3780f7f145903828af7ffb977321fa92a9ec6b2b6c076b93c3115526bc4cfb98b952f9fa79140d3ca73201bcc42875d8345af2605f9ffa + languageName: node + linkType: hard + "diff-sequences@npm:^29.6.3": version: 29.6.3 resolution: "diff-sequences@npm:29.6.3" @@ -3004,7 +3343,17 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.4.0": +"enhanced-resolve@npm:^5.16.0": + version: 5.17.1 + resolution: "enhanced-resolve@npm:5.17.1" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10c0/81a0515675eca17efdba2cf5bad87abc91a528fc1191aad50e275e74f045b41506167d420099022da7181c8d787170ea41e4a11a0b10b7a16f6237daecb15370 + languageName: node + linkType: hard + +"entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 @@ -3610,6 +3959,27 @@ __metadata: languageName: node linkType: hard +"filing-cabinet@npm:^5.0.1": + version: 5.0.2 + resolution: "filing-cabinet@npm:5.0.2" + dependencies: + app-module-path: "npm:^2.2.0" + commander: "npm:^12.0.0" + enhanced-resolve: "npm:^5.16.0" + module-definition: "npm:^6.0.0" + module-lookup-amd: "npm:^9.0.1" + resolve: "npm:^1.22.8" + resolve-dependency-path: "npm:^4.0.0" + sass-lookup: "npm:^6.0.1" + stylus-lookup: "npm:^6.0.0" + tsconfig-paths: "npm:^4.2.0" + typescript: "npm:^5.4.4" + bin: + filing-cabinet: bin/cli.js + checksum: 10c0/0e292d18f9029d7943f0b359aebd5dadd295a6d544e2cf1b01b8837aaeab251a2322e2e0cc90f4a493e0749a42c4864d26a8bcbc90ea2f69832c68368bc21790 + languageName: node + linkType: hard + "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -3791,6 +4161,16 @@ __metadata: languageName: node linkType: hard +"get-amd-module-type@npm:^6.0.0": + version: 6.0.0 + resolution: "get-amd-module-type@npm:6.0.0" + dependencies: + ast-module-types: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + checksum: 10c0/58e25d33aa36d23f4ce827c44059400c5ddf39e4ada71bcfd3c11795705846ed81f16094b36df54f2942d00b588b21851f7c906e168acf7c985a65f3f16042ec + languageName: node + linkType: hard + "get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" @@ -3818,6 +4198,13 @@ __metadata: languageName: node linkType: hard +"get-own-enumerable-property-symbols@npm:^3.0.0": + version: 3.0.2 + resolution: "get-own-enumerable-property-symbols@npm:3.0.2" + checksum: 10c0/103999855f3d1718c631472437161d76962cbddcd95cc642a34c07bfb661ed41b6c09a9c669ccdff89ee965beb7126b80eec7b2101e20e31e9cc6c4725305e10 + languageName: node + linkType: hard + "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -3930,7 +4317,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.4": +"glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.3": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -4006,6 +4393,17 @@ __metadata: languageName: node linkType: hard +"gonzales-pe@npm:^4.3.0": + version: 4.3.0 + resolution: "gonzales-pe@npm:4.3.0" + dependencies: + minimist: "npm:^1.2.5" + bin: + gonzales: bin/gonzales.js + checksum: 10c0/b99a6ef4bf28ca0b0adcc0b42fd0179676ee8bfe1d3e3c0025d7d38ba35a3f2d5b1d4beb16101a7fc7cb2dbda1ec045bbce0932697095df41d729bac1703476f + languageName: node + linkType: hard + "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -4060,7 +4458,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -4664,6 +5062,13 @@ __metadata: languageName: node linkType: hard +"is-obj@npm:^1.0.1": + version: 1.0.1 + resolution: "is-obj@npm:1.0.1" + checksum: 10c0/5003acba0af7aa47dfe0760e545a89bbac89af37c12092c3efadc755372cdaec034f130e7a3653a59eb3c1843cfc72ca71eaf1a6c3bafe5a0bab3611a47f9945 + languageName: node + linkType: hard + "is-obj@npm:^2.0.0": version: 2.0.0 resolution: "is-obj@npm:2.0.0" @@ -4695,6 +5100,13 @@ __metadata: languageName: node linkType: hard +"is-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "is-regexp@npm:1.0.0" + checksum: 10c0/34cacda1901e00f6e44879378f1d2fa96320ea956c1bec27713130aaf1d44f6e7bd963eed28945bfe37e600cb27df1cf5207302680dad8bdd27b9baff8ecf611 + languageName: node + linkType: hard + "is-set@npm:^2.0.2": version: 2.0.3 resolution: "is-set@npm:2.0.3" @@ -4789,6 +5201,20 @@ __metadata: languageName: node linkType: hard +"is-url-superb@npm:^4.0.0": + version: 4.0.0 + resolution: "is-url-superb@npm:4.0.0" + checksum: 10c0/354ea8246d5b5a828e41bb4ed66c539a7b74dc878ee4fa84b148df312b14b08118579d64f0893b56a0094e3b4b1e6082d2fbe2e3792998d7edffde1c0f3dfdd9 + languageName: node + linkType: hard + +"is-url@npm:^1.2.4": + version: 1.2.4 + resolution: "is-url@npm:1.2.4" + checksum: 10c0/0157a79874f8f95fdd63540e3f38c8583c2ef572661cd0693cda80ae3e42dfe8e9a4a972ec1b827f861d9a9acf75b37f7d58a37f94a8a053259642912c252bc3 + languageName: node + linkType: hard + "is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" @@ -5532,7 +5958,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.3": +"json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -5759,6 +6185,42 @@ __metadata: languageName: node linkType: hard +"madge@npm:^8.0.0": + version: 8.0.0 + resolution: "madge@npm:8.0.0" + dependencies: + chalk: "npm:^4.1.2" + commander: "npm:^7.2.0" + commondir: "npm:^1.0.1" + debug: "npm:^4.3.4" + dependency-tree: "npm:^11.0.0" + ora: "npm:^5.4.1" + pluralize: "npm:^8.0.0" + pretty-ms: "npm:^7.0.1" + rc: "npm:^1.2.8" + stream-to-array: "npm:^2.3.0" + ts-graphviz: "npm:^2.1.2" + walkdir: "npm:^0.4.1" + peerDependencies: + typescript: ^5.4.4 + peerDependenciesMeta: + typescript: + optional: true + bin: + madge: bin/cli.js + checksum: 10c0/63d173027f10922123c291e4c13ab4aeda1d10311995b68c0257c647c36a18b8d817c14fc1b431e92be46f394f2003967fd52767d60a09d9d1b2f020b740d213 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.11": + version: 0.30.15 + resolution: "magic-string@npm:0.30.15" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10c0/7d10403cb0b403c0453d7af57d8d01a58c334b260e64653c5f5c2311800f4c6b1b7f4502153f9051dd8a87116acd50e5e3fce4bf79ec9d7127f087aa1c08b96b + languageName: node + linkType: hard + "make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -5943,7 +6405,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.3": +"minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.5, minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -6057,6 +6519,32 @@ __metadata: languageName: node linkType: hard +"module-definition@npm:^6.0.0": + version: 6.0.0 + resolution: "module-definition@npm:6.0.0" + dependencies: + ast-module-types: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + bin: + module-definition: bin/cli.js + checksum: 10c0/6e9cadc32904c6c3ffaea18e1e509569f5fe3e78d3cdc2c61bc7f77373542b10b42d2883e5a31d39e83c4ee8c68e9bd15937958b19e37e2531baf748f64c2f3f + languageName: node + linkType: hard + +"module-lookup-amd@npm:^9.0.1": + version: 9.0.2 + resolution: "module-lookup-amd@npm:9.0.2" + dependencies: + commander: "npm:^12.1.0" + glob: "npm:^7.2.3" + requirejs: "npm:^2.3.7" + requirejs-config-file: "npm:^4.0.0" + bin: + lookup-amd: bin/cli.js + checksum: 10c0/350f03d1837b1bc8c135c5aaf1d91e5d28f4d89ba0be7319f403ec3ca7f99234c90c93f0de59d6ea9591d09bac895ae200ceffe92f44deb4aebef35e0285af87 + languageName: node + linkType: hard + "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -6078,6 +6566,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^3.3.7": + version: 3.3.8 + resolution: "nanoid@npm:3.3.8" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/4b1bb29f6cfebf3be3bc4ad1f1296fb0a10a3043a79f34fbffe75d1621b4318319211cd420549459018ea3592f0d2f159247a6f874911d6d26eaaadda2478120 + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -6170,6 +6667,15 @@ __metadata: languageName: node linkType: hard +"node-source-walk@npm:^7.0.0": + version: 7.0.0 + resolution: "node-source-walk@npm:7.0.0" + dependencies: + "@babel/parser": "npm:^7.24.4" + checksum: 10c0/e604e4e6f79f2e976658c3586576f9b0cfb03197053dfaf3bf76576a6edf2cbe0c92eb42226ed34ffd40559f25e0b7b37247a031ff66a55aa0dd82ca76831771 + languageName: node + linkType: hard + "nopt@npm:^7.0.0": version: 7.2.1 resolution: "nopt@npm:7.2.1" @@ -6489,6 +6995,13 @@ __metadata: languageName: node linkType: hard +"parse-ms@npm:^2.1.0": + version: 2.1.0 + resolution: "parse-ms@npm:2.1.0" + checksum: 10c0/9c5c0a95c6267c84085685556a6e102ee806c3147ec11cbb9b98e35998eb4a48a757bd6ea7bfd930062de65909a33d24985055b4394e70aa0b65ee40cef16911 + languageName: node + linkType: hard + "parse-path@npm:^7.0.0": version: 7.0.0 resolution: "parse-path@npm:7.0.0" @@ -6592,6 +7105,13 @@ __metadata: languageName: node linkType: hard +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + "picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" @@ -6624,6 +7144,13 @@ __metadata: languageName: node linkType: hard +"pluralize@npm:^8.0.0": + version: 8.0.0 + resolution: "pluralize@npm:8.0.0" + checksum: 10c0/2044cfc34b2e8c88b73379ea4a36fc577db04f651c2909041b054c981cd863dd5373ebd030123ab058d194ae615d3a97cfdac653991e499d10caf592e8b3dc33 + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.0.0 resolution: "possible-typed-array-names@npm:1.0.0" @@ -6631,6 +7158,30 @@ __metadata: languageName: node linkType: hard +"postcss-values-parser@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-values-parser@npm:6.0.2" + dependencies: + color-name: "npm:^1.1.4" + is-url-superb: "npm:^4.0.0" + quote-unquote: "npm:^1.0.0" + peerDependencies: + postcss: ^8.2.9 + checksum: 10c0/633b8bc7c46f7b6e2b1cb1f33aa0222a5cacb7f485eb41e6f902b5f37ab9884cd8e7e7b0706afb7e3c7766d85096b59e65f59a1eaefac55e2fc952a24f23bcb8 + languageName: node + linkType: hard + +"postcss@npm:^8.4.40, postcss@npm:^8.4.48": + version: 8.4.49 + resolution: "postcss@npm:8.4.49" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 + languageName: node + linkType: hard + "potpack@npm:^1.0.1": version: 1.0.2 resolution: "potpack@npm:1.0.2" @@ -6638,6 +7189,31 @@ __metadata: languageName: node linkType: hard +"precinct@npm:^12.0.2": + version: 12.1.2 + resolution: "precinct@npm:12.1.2" + dependencies: + "@dependents/detective-less": "npm:^5.0.0" + commander: "npm:^12.1.0" + detective-amd: "npm:^6.0.0" + detective-cjs: "npm:^6.0.0" + detective-es6: "npm:^5.0.0" + detective-postcss: "npm:^7.0.0" + detective-sass: "npm:^6.0.0" + detective-scss: "npm:^5.0.0" + detective-stylus: "npm:^5.0.0" + detective-typescript: "npm:^13.0.0" + detective-vue2: "npm:^2.0.3" + module-definition: "npm:^6.0.0" + node-source-walk: "npm:^7.0.0" + postcss: "npm:^8.4.40" + typescript: "npm:^5.5.4" + bin: + precinct: bin/cli.js + checksum: 10c0/c0ccb00bcddd9023830a29002560d6f8ab3177f92809ad16e76062ae8250ad145d9125b240a491aefed5365ffdcc0283540cc8a5b79387a3b6787d67b0366cb4 + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -6674,6 +7250,15 @@ __metadata: languageName: node linkType: hard +"pretty-ms@npm:^7.0.1": + version: 7.0.1 + resolution: "pretty-ms@npm:7.0.1" + dependencies: + parse-ms: "npm:^2.1.0" + checksum: 10c0/069aec9d939e7903846b3db53b020bed92e3dc5909e0fef09ec8ab104a0b7f9a846605a1633c60af900d288582fb333f6f30469e59d6487a2330301fad35a89c + languageName: node + linkType: hard + "proc-log@npm:^3.0.0": version: 3.0.0 resolution: "proc-log@npm:3.0.0" @@ -6817,7 +7402,14 @@ __metadata: languageName: node linkType: hard -"rc@npm:1.2.8": +"quote-unquote@npm:^1.0.0": + version: 1.0.0 + resolution: "quote-unquote@npm:1.0.0" + checksum: 10c0/eba86bb7f68ada486f5608c5c71cc155235f0408b8a0a180436cdf2457ae86f56a17de6b0bc5a1b7ae5f27735b3b789662cdf7f3b8195ac816cd0289085129ec + languageName: node + linkType: hard + +"rc@npm:1.2.8, rc@npm:^1.2.8": version: 1.2.8 resolution: "rc@npm:1.2.8" dependencies: @@ -6941,6 +7533,26 @@ __metadata: languageName: node linkType: hard +"requirejs-config-file@npm:^4.0.0": + version: 4.0.0 + resolution: "requirejs-config-file@npm:4.0.0" + dependencies: + esprima: "npm:^4.0.0" + stringify-object: "npm:^3.2.1" + checksum: 10c0/18ea5b39a63be043c94103e97a880e68a48534cab6a90a202163b9c7935097638f3d6e9b44c28f62541d35cc3e738a6558359b6b21b42c466623b18eccc65635 + languageName: node + linkType: hard + +"requirejs@npm:^2.3.7": + version: 2.3.7 + resolution: "requirejs@npm:2.3.7" + bin: + r.js: bin/r.js + r_js: bin/r.js + checksum: 10c0/2d77a57b949eba5a69fbc0a38acc6c621443696c5327ed75117f36c92ce2d05829fe6cc2fb2aebfb2fa65df7b17fd268e57782e8c817f8fcc2a07d06a50c0a5b + languageName: node + linkType: hard + "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -6964,6 +7576,13 @@ __metadata: languageName: node linkType: hard +"resolve-dependency-path@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-dependency-path@npm:4.0.0" + checksum: 10c0/85fe19087de9c41e8a967a7066f0c8a615b06728f45cb1a9f399146c62c7105b8f284fc7fab1f5ccd0bf876a6d10ac511a4c4a39097bc794a44a224c82e049cf + languageName: node + linkType: hard + "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -6985,7 +7604,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.20.0, resolve@npm:^1.22.1": +"resolve@npm:^1.1.6, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.8": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -6998,7 +7617,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin": +"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -7215,6 +7834,17 @@ __metadata: languageName: node linkType: hard +"sass-lookup@npm:^6.0.1": + version: 6.0.1 + resolution: "sass-lookup@npm:6.0.1" + dependencies: + commander: "npm:^12.0.0" + bin: + sass-lookup: bin/cli.js + checksum: 10c0/11fa68eb3689f34fa29dec5e84c218c92e02798df9db45fe066aca6406629692ddfb5fda587e8778dec9ef317fe3d8728da2128bad1e3cfb21ac5e1390918cdd + languageName: node + linkType: hard + "saxes@npm:^6.0.0": version: 6.0.0 resolution: "saxes@npm:6.0.0" @@ -7253,6 +7883,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.0": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + languageName: node + linkType: hard + "set-function-length@npm:^1.2.1": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -7427,6 +8066,13 @@ __metadata: languageName: node linkType: hard +"source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + "source-map-support@npm:0.5.13": version: 0.5.13 resolution: "source-map-support@npm:0.5.13" @@ -7492,6 +8138,15 @@ __metadata: languageName: node linkType: hard +"stream-to-array@npm:^2.3.0": + version: 2.3.0 + resolution: "stream-to-array@npm:2.3.0" + dependencies: + any-promise: "npm:^1.1.0" + checksum: 10c0/19d66e4e3c12e0aadd8755027edf7d90b696bd978eec5111a5cd2b67befa8851afd8c1b618121c3059850165c4ee4afc307f84869cf6db7fb24708d3523958f8 + languageName: node + linkType: hard + "string-length@npm:^4.0.1": version: 4.0.2 resolution: "string-length@npm:4.0.2" @@ -7585,6 +8240,17 @@ __metadata: languageName: node linkType: hard +"stringify-object@npm:^3.2.1": + version: 3.3.0 + resolution: "stringify-object@npm:3.3.0" + dependencies: + get-own-enumerable-property-symbols: "npm:^3.0.0" + is-obj: "npm:^1.0.1" + is-regexp: "npm:^1.0.0" + checksum: 10c0/ba8078f84128979ee24b3de9a083489cbd3c62cb8572a061b47d4d82601a8ae4b4d86fa8c54dd955593da56bb7c16a6de51c27221fdc6b7139bb4f29d815f35b + languageName: node + linkType: hard + "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -7603,6 +8269,13 @@ __metadata: languageName: node linkType: hard +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + "strip-bom@npm:^4.0.0": version: 4.0.0 resolution: "strip-bom@npm:4.0.0" @@ -7638,6 +8311,17 @@ __metadata: languageName: node linkType: hard +"stylus-lookup@npm:^6.0.0": + version: 6.0.0 + resolution: "stylus-lookup@npm:6.0.0" + dependencies: + commander: "npm:^12.0.0" + bin: + stylus-lookup: bin/cli.js + checksum: 10c0/c7be40d1b4a2a65ca8e525875d130be13c43305e4eef3ee01b1da579af08bae633ce89281970d1089330033116df0c751f8cb007ab92431cd1a2ae25da9e8b2d + languageName: node + linkType: hard + "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -7689,6 +8373,13 @@ __metadata: languageName: node linkType: hard +"tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 10c0/bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9 + languageName: node + linkType: hard + "tar@npm:^6.1.11, tar@npm:^6.1.2": version: 6.2.1 resolution: "tar@npm:6.2.1" @@ -7806,6 +8497,27 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^1.3.0": + version: 1.4.3 + resolution: "ts-api-utils@npm:1.4.3" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/e65dc6e7e8141140c23e1dc94984bf995d4f6801919c71d6dc27cf0cd51b100a91ffcfe5217626193e5bea9d46831e8586febdc7e172df3f1091a7384299e23a + languageName: node + linkType: hard + +"ts-graphviz@npm:^2.1.2": + version: 2.1.5 + resolution: "ts-graphviz@npm:2.1.5" + dependencies: + "@ts-graphviz/adapter": "npm:^2.0.6" + "@ts-graphviz/ast": "npm:^2.0.6" + "@ts-graphviz/common": "npm:^2.1.5" + "@ts-graphviz/core": "npm:^2.0.6" + checksum: 10c0/837502881055e832239ef7b17a1c74d209fd09d17f3a82d3a7aeff287060d3e3dc3977c4b97abf290294c984ecba5242cf939e7690d8761fa6386c2681b2eb36 + languageName: node + linkType: hard + "ts-jest@npm:^29.1.2": version: 29.1.2 resolution: "ts-jest@npm:29.1.2" @@ -7855,6 +8567,17 @@ __metadata: languageName: node linkType: hard +"tsconfig-paths@npm:^4.2.0": + version: 4.2.0 + resolution: "tsconfig-paths@npm:4.2.0" + dependencies: + json5: "npm:^2.2.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/09a5877402d082bb1134930c10249edeebc0211f36150c35e1c542e5b91f1047b1ccf7da1e59babca1ef1f014c525510f4f870de7c9bda470c73bb4e2721b3ea + languageName: node + linkType: hard + "tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.6.2": version: 2.6.2 resolution: "tslib@npm:2.6.2" @@ -7981,6 +8704,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.4.4, typescript@npm:^5.4.5, typescript@npm:^5.5.4": + version: 5.7.2 + resolution: "typescript@npm:5.7.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/a873118b5201b2ef332127ef5c63fb9d9c155e6fdbe211cbd9d8e65877283797cca76546bad742eea36ed7efbe3424a30376818f79c7318512064e8625d61622 + languageName: node + linkType: hard + "typescript@npm:^5.5.2": version: 5.5.2 resolution: "typescript@npm:5.5.2" @@ -7991,6 +8724,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.4.4#optional!builtin, typescript@patch:typescript@npm%3A^5.4.5#optional!builtin, typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": + version: 5.7.2 + resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin::version=5.7.2&hash=b45daf" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/c891ccf04008bc1305ba34053db951f8a4584b4a1bf2f68fd972c4a354df3dc5e62c8bfed4f6ac2d12e5b3b1c49af312c83a651048f818cd5b4949d17baacd79 + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A^5.5.2#optional!builtin": version: 5.5.2 resolution: "typescript@patch:typescript@npm%3A5.5.2#optional!builtin::version=5.5.2&hash=b45daf" @@ -8180,6 +8923,13 @@ __metadata: languageName: node linkType: hard +"walkdir@npm:^0.4.1": + version: 0.4.1 + resolution: "walkdir@npm:0.4.1" + checksum: 10c0/88e635aa9303e9196e4dc15013d2bd4afca4c8c8b4bb27722ca042bad213bb882d3b9141b3b0cca6bfb274f7889b30cf58d6374844094abec0016f335c5414dc + languageName: node + linkType: hard + "walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8"