From a434cecbd373dc9a0d0c4d30b7b6998527e7a128 Mon Sep 17 00:00:00 2001 From: Mujahid Khan <106528609+mujahidkay@users.noreply.github.com> Date: Mon, 18 Nov 2024 10:57:34 +0500 Subject: [PATCH] mini-demo/exp: covert orch contract to TS --- contract/Makefile | 4 +- contract/package.json | 2 +- contract/rollup.config.mjs | 2 +- contract/src/builder/init-orca.js | 2 +- .../{orca.contract.js => orca.contract.ts} | 48 ++--- contract/src/{orca.flows.js => orca.flows.ts} | 39 ++-- contract/src/orca.proposal.js | 2 +- contract/test/bundle-source.test.js | 2 +- contract/test/orca-contract.test.js | 4 +- contract/tsconfig.json | 4 +- yarn.lock | 181 +++++++++++++++++- 11 files changed, 225 insertions(+), 65 deletions(-) rename contract/src/{orca.contract.js => orca.contract.ts} (77%) rename contract/src/{orca.flows.js => orca.flows.ts} (70%) diff --git a/contract/Makefile b/contract/Makefile index 0340cb4..02f3c51 100644 --- a/contract/Makefile +++ b/contract/Makefile @@ -254,9 +254,9 @@ build: buildc: kubectl exec -i agoriclocal-genesis-0 -c validator -- bash -c "yarn build:deployer" deployc: - kubectl exec -i agoriclocal-genesis-0 -c validator -- bash -c "yarn node scripts/deploy-contract.js --install src/orca.contract.js --eval src/orca.proposal.js" + kubectl exec -i agoriclocal-genesis-0 -c validator -- bash -c "yarn node scripts/deploy-contract.js --install src/orca.contract.ts --eval src/orca.proposal.js" deploy: - yarn node scripts/deploy-contract.js --install src/orca.contract.js --eval src/orca.proposal.js + yarn node scripts/deploy-contract.js --install src/orca.contract.ts --eval src/orca.proposal.js test-orca: yarn test ./test/orca-contract.test.js diff --git a/contract/package.json b/contract/package.json index 7b1857a..36e6468 100644 --- a/contract/package.json +++ b/contract/package.json @@ -77,7 +77,7 @@ "@agoric/store": "^0.9.3-u17.1", "@agoric/vats": "^0.16.0-u17.1", "@agoric/zoe": "^0.26.3-u17.1", - "@endo/bundle-source": "^3.4.0", + "@endo/bundle-source": "^3.5.0", "@endo/errors": "^1.2.4", "@endo/far": "^1.1.4", "@endo/init": "^1.1.3", diff --git a/contract/rollup.config.mjs b/contract/rollup.config.mjs index 7c5f883..bffb741 100644 --- a/contract/rollup.config.mjs +++ b/contract/rollup.config.mjs @@ -38,7 +38,7 @@ import { permit as boardAuxPermit } from './src/platform-goals/board-aux.core.js const config1 = ({ name, coreEntry = `./src/${name}.proposal.js`, - contractEntry = `./src/${name}.contract.js`, + contractEntry = `./src/${name}.contract.ts`, coreScript = `bundles/deploy-${name}.js`, coreScriptOptions = undefined, permitFile = `deploy-${name}-permit.json`, diff --git a/contract/src/builder/init-orca.js b/contract/src/builder/init-orca.js index 7d701a9..2aed4f2 100644 --- a/contract/src/builder/init-orca.js +++ b/contract/src/builder/init-orca.js @@ -48,7 +48,7 @@ export const defaultProposalBuilder = async ( getManifestForOrca.name, { installKeys: { - orca: publishRef(install('../../src/orca.contract.js')), + orca: publishRef(install('../../src/orca.contract.ts')), }, chainDetails, }, diff --git a/contract/src/orca.contract.js b/contract/src/orca.contract.ts similarity index 77% rename from contract/src/orca.contract.js rename to contract/src/orca.contract.ts index 22b9331..3dd6bfa 100644 --- a/contract/src/orca.contract.js +++ b/contract/src/orca.contract.ts @@ -1,20 +1,20 @@ +/// +/// + import { AmountShape } from '@agoric/ertp'; import { makeTracer } from '@agoric/internal'; import { withOrchestration } from '@agoric/orchestration/src/utils/start-helper.js'; import { ChainInfoShape } from '@agoric/orchestration/src/typeGuards.js'; import { InvitationShape } from '@agoric/zoe/src/typeGuards.js'; import { M } from '@endo/patterns'; -import * as flows from './orca.flows.js'; +import * as flows from './orca.flows.ts'; + +import type { Marshaller } from '@agoric/internal/src/lib-chainStorage.js'; +import type { CosmosChainInfo } from '@agoric/orchestration'; +import type { OrchestrationPowers, OrchestrationTools } from '@agoric/orchestration/src/utils/start-helper.js'; +import type { Zone } from '@agoric/zone'; -/** - * @import {Marshaller} from '@agoric/internal/src/lib-chainStorage.js'; - * @import {CosmosChainInfo} from '@agoric/orchestration'; - * @import {OrchestrationPowers, OrchestrationTools} from '@agoric/orchestration/src/utils/start-helper.js'; - * @import {Zone} from '@agoric/zone'; - */ -/// -/// const { entries, keys } = Object; const trace = makeTracer('OrchDev1'); @@ -34,8 +34,8 @@ const OrchestrationPowersShape = M.splitRecord({ agoricNames: M.remotable('agoricNames'), }); -/** @type {ContractMeta} */ -export const meta = { + +export const meta: ContractMeta = { privateArgsShape: M.and( OrchestrationPowersShape, M.splitRecord({ @@ -48,23 +48,15 @@ export const meta = { }; harden(meta); -/** - * @typedef {{ - * chainDetails: Record - * }} OrcaTerms - * - * @param {ZCF} zcf - * @param {OrchestrationPowers & { - * marshaller: Marshaller; - * }} privateArgs - * @param {Zone} zone - * @param {OrchestrationTools} tools - */ +type OrcaTerms = { + chainDetails: Record +} + const contract = async ( - zcf, - privateArgs, - zone, - { orchestrateAll, zoeTools, chainHub }, + zcf: ZCF, + privateArgs: OrchestrationPowers & {marshaller: Marshaller}, + zone: Zone, + { orchestrateAll, zoeTools, chainHub }: OrchestrationTools, ) => { trace('orca start contract'); @@ -113,4 +105,4 @@ const contract = async ( export const start = withOrchestration(contract); harden(start); -/** @typedef {typeof start} OrcaSF */ +export type OrcaSF = typeof start; diff --git a/contract/src/orca.flows.js b/contract/src/orca.flows.ts similarity index 70% rename from contract/src/orca.flows.js rename to contract/src/orca.flows.ts index 8349a29..4f5f5d4 100644 --- a/contract/src/orca.flows.js +++ b/contract/src/orca.flows.ts @@ -1,13 +1,6 @@ -/** - * @import {GuestOf} from '@agoric/async-flow'; - * @import {Amount} from '@agoric/ertp/src/types.js'; - * @import {Marshaller, StorageNode} from '@agoric/internal/src/lib-chainStorage.js'; - * @import {ChainAddress, Orchestrator} from '@agoric/orchestration'; - * @import {ZoeTools} from '@agoric/orchestration/src/utils/zoe-tools.js'; - * @import {Transfer} from './orca.contract.js'; - * @import {DenomArg} from '@agoric/orchestration'; - - */ +import type { Orchestrator } from '@agoric/orchestration'; +import type { ZoeTools } from '@agoric/orchestration/src/utils/zoe-tools.js'; +import type { DenomArg } from '@agoric/orchestration'; import { M, mustMatch } from '@endo/patterns'; import { makeTracer } from './debug.js'; @@ -17,13 +10,13 @@ const trace = makeTracer('OrchFlows'); /** * Create an account on a Cosmos chain and return a continuing offer with * invitations makers for Delegate, WithdrawRewards, Transfer, etc. - * - * @param {Orchestrator} orch - * @param {unknown} _ctx - * @param {ZCFSeat} seat - * @param {{ chainName: string, denom: string }} offerArgs */ -export const makeAccount = async (orch, _ctx, seat, offerArgs) => { +export const makeAccount = async ( + orch: Orchestrator, + _ctx: unknown, + seat: ZCFSeat, + offerArgs: { chainName: string; denom: string }, +) => { trace('makeAccount'); mustMatch(offerArgs, M.splitRecord({ chainName: M.string() })); const { chainName } = offerArgs; @@ -39,18 +32,12 @@ harden(makeAccount); /** * Create an account on a Cosmos chain and return a continuing offer with * invitations makers for Delegate, WithdrawRewards, Transfer, etc. - * - * @param {Orchestrator} orch - * @param {object} ctx - * @param {ZoeTools['localTransfer']} ctx.localTransfer - * @param {ZCFSeat} seat - * @param {{ chainName: string, denom: DenomArg }} offerArgs */ export const makeCreateAndFund = async ( - orch, - { localTransfer }, - seat, - { chainName, denom }, + orch: Orchestrator, + { localTransfer }: { localTransfer: ZoeTools['localTransfer'] }, + seat: ZCFSeat, + { chainName, denom }: { chainName: string; denom: DenomArg }, ) => { trace( `invoked makeCreateAndFund with chain ${chainName}, and denom ${denom}`, diff --git a/contract/src/orca.proposal.js b/contract/src/orca.proposal.js index 445dc0f..e341359 100644 --- a/contract/src/orca.proposal.js +++ b/contract/src/orca.proposal.js @@ -9,7 +9,7 @@ import { makeTracer } from './tools/debug.js'; * @import {ERef} from '@endo/far'; * @import {BootstrapManifest} from '@agoric/vats/src/core/lib-boot.js'; * @import {ChainInfo, IBCConnectionInfo,} from '@agoric/orchestration'; - * @import {OrcaSF} from './orca.contract.js'; + * @import {OrcaSF} from './orca.contract.ts'; * @import {ContractStartFunction} from '@agoric/zoe/src/zoeService/utils.js'; */ diff --git a/contract/test/bundle-source.test.js b/contract/test/bundle-source.test.js index 4e95844..0beed6c 100644 --- a/contract/test/bundle-source.test.js +++ b/contract/test/bundle-source.test.js @@ -11,7 +11,7 @@ import { E, passStyleOf } from '@endo/far'; import { makeZoeKitForTest } from '@agoric/zoe/tools/setup-zoe.js'; const myRequire = createRequire(import.meta.url); -const contractPath = myRequire.resolve(`../src/orca.contract.js`); +const contractPath = myRequire.resolve(`../src/orca.contract.ts`); test('bundleSource() bundles the contract for use with zoe', async t => { const bundle = await bundleSource(contractPath); diff --git a/contract/test/orca-contract.test.js b/contract/test/orca-contract.test.js index 7a670a5..271c188 100644 --- a/contract/test/orca-contract.test.js +++ b/contract/test/orca-contract.test.js @@ -19,12 +19,12 @@ import { installContract } from '../src/platform-goals/start-contract.js'; * @import {IcaAccount, MakeCosmosInterchainService} from '@agoric/orchestration'; * @import {LocalChain,LocalChainAccount} from '@agoric/vats/src/localchain.js'; * @import {TargetRegistration} from '@agoric/vats/src/bridge-target.js'; - * @import {OrcaSF} from '../src/orca.contract.js'; + * @import {OrcaSF} from '../src/orca.contract.ts'; */ const nodeRequire = createRequire(import.meta.url); -const contractPath = nodeRequire.resolve(`../src/orca.contract.js`); +const contractPath = nodeRequire.resolve(`../src/orca.contract.ts`); const scriptRoot = { orca: nodeRequire.resolve('../src/orca.proposal.js'), }; diff --git a/contract/tsconfig.json b/contract/tsconfig.json index 4646fe5..1260aa5 100644 --- a/contract/tsconfig.json +++ b/contract/tsconfig.json @@ -12,7 +12,9 @@ "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "resolveJsonModule": true, - "outDir": "./dist" + "outDir": "./dist", + "allowImportingTsExtensions": true, + "noEmit": true }, "include": ["tools", "test"], "exclude": ["node_modules"] diff --git a/yarn.lock b/yarn.lock index 0094f4c..cfc49b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2953,6 +2953,13 @@ __metadata: languageName: node linkType: hard +"@endo/base64@npm:^1.0.9": + version: 1.0.9 + resolution: "@endo/base64@npm:1.0.9" + checksum: 10c0/63e487cf59b50a080fab389a8ab24d66264910ecf375dc19677c2ee7421d92a4be9c85e435b216b4adc9983384073a7eb753223f85ba77aec8d9fd3e0c1fe090 + languageName: node + linkType: hard + "@endo/bundle-source@npm:2.5.2-upstream-rollup": version: 2.5.2-upstream-rollup resolution: "@endo/bundle-source@npm:2.5.2-upstream-rollup" @@ -3021,6 +3028,28 @@ __metadata: languageName: node linkType: hard +"@endo/bundle-source@npm:^3.5.0": + version: 3.5.0 + resolution: "@endo/bundle-source@npm:3.5.0" + dependencies: + "@endo/base64": "npm:^1.0.9" + "@endo/compartment-mapper": "npm:^1.4.0" + "@endo/evasive-transform": "npm:^1.3.3" + "@endo/init": "npm:^1.1.7" + "@endo/promise-kit": "npm:^1.1.8" + "@endo/where": "npm:^1.0.9" + "@rollup/plugin-commonjs": "npm:^19.0.0" + "@rollup/plugin-json": "npm:^6.1.0" + "@rollup/plugin-node-resolve": "npm:^13.0.0" + acorn: "npm:^8.2.4" + rollup: "npm:^2.79.1" + ts-blank-space: "npm:^0.4.1" + bin: + bundle-source: ./src/tool.js + checksum: 10c0/7f97194c97eb28abbde6655f7de4410d5aae5d6a2a3d712e1418b9b4fd20823333b7fe8956401c2f201280340731e51e28d9c4fbe3b5a787b0abd00e3ac13b52 + languageName: node + linkType: hard + "@endo/captp@npm:3.1.1, @endo/captp@npm:^3.1.1": version: 3.1.1 resolution: "@endo/captp@npm:3.1.1" @@ -3081,6 +3110,13 @@ __metadata: languageName: node linkType: hard +"@endo/cjs-module-analyzer@npm:^1.0.9": + version: 1.0.9 + resolution: "@endo/cjs-module-analyzer@npm:1.0.9" + checksum: 10c0/cb8c56d108b175f2f211c8292bac6cda35c44b9c16fb2763ab9a32b545895e1721633938b440bfe7a06f69e1f168e9b248ef103631a1d4c63fda8cbe580ca185 + languageName: node + linkType: hard + "@endo/common@npm:^1.2.5": version: 1.2.5 resolution: "@endo/common@npm:1.2.5" @@ -3128,6 +3164,19 @@ __metadata: languageName: node linkType: hard +"@endo/compartment-mapper@npm:^1.4.0": + version: 1.4.0 + resolution: "@endo/compartment-mapper@npm:1.4.0" + dependencies: + "@endo/cjs-module-analyzer": "npm:^1.0.9" + "@endo/module-source": "npm:^1.1.2" + "@endo/trampoline": "npm:^1.0.3" + "@endo/zip": "npm:^1.0.9" + ses: "npm:^1.10.0" + checksum: 10c0/2c4999962016f57c0f3a40ce1445a064b826eb101a972d26ba56d9dba6d3d8f66744912e3f7e24754018bd2c633663a00ea5ab0d7658c4907c9372ddd3e56464 + languageName: node + linkType: hard + "@endo/env-options@npm:^0.1.4": version: 0.1.4 resolution: "@endo/env-options@npm:0.1.4" @@ -3142,6 +3191,13 @@ __metadata: languageName: node linkType: hard +"@endo/env-options@npm:^1.1.8": + version: 1.1.8 + resolution: "@endo/env-options@npm:1.1.8" + checksum: 10c0/2f519f48a5b966dbd9e66134d4abc89ff02b9791d21146b49031ceb694584f3f41c6119125b6bb4eb0d347f5bcd846473b5f3c4ae6bae3dac19402fcaf522520 + languageName: node + linkType: hard + "@endo/errors@npm:^1.2.4, @endo/errors@npm:^1.2.5": version: 1.2.5 resolution: "@endo/errors@npm:1.2.5" @@ -3176,6 +3232,18 @@ __metadata: languageName: node linkType: hard +"@endo/evasive-transform@npm:^1.3.3": + version: 1.3.3 + resolution: "@endo/evasive-transform@npm:1.3.3" + dependencies: + "@agoric/babel-generator": "npm:^7.17.6" + "@babel/parser": "npm:^7.23.6" + "@babel/traverse": "npm:^7.23.6" + source-map-js: "npm:^1.2.0" + checksum: 10c0/34fae4789ab3142ab73a5c94a46954908737bbc72f1e302c338941ca2556ab2127505ecee57a1c0d11e0b9c7070b4a579ce4e7e60585990161cec64ce0955211 + languageName: node + linkType: hard + "@endo/eventual-send@npm:0.17.2": version: 0.17.2 resolution: "@endo/eventual-send@npm:0.17.2" @@ -3201,6 +3269,15 @@ __metadata: languageName: node linkType: hard +"@endo/eventual-send@npm:^1.2.8": + version: 1.2.8 + resolution: "@endo/eventual-send@npm:1.2.8" + dependencies: + "@endo/env-options": "npm:^1.1.8" + checksum: 10c0/d7c16c935441b67d029fcb6785f425a1194fb7f936e4b20dde21eb393266cb7366edf7a95d3fdfa96cd4a3246a3659a06d0dbb3c1217045e1718e1cf34c7a3bd + languageName: node + linkType: hard + "@endo/exo@npm:^0.2.2": version: 0.2.2 resolution: "@endo/exo@npm:0.2.2" @@ -3306,6 +3383,18 @@ __metadata: languageName: node linkType: hard +"@endo/init@npm:^1.1.7": + version: 1.1.7 + resolution: "@endo/init@npm:1.1.7" + dependencies: + "@endo/base64": "npm:^1.0.9" + "@endo/eventual-send": "npm:^1.2.8" + "@endo/lockdown": "npm:^1.0.13" + "@endo/promise-kit": "npm:^1.1.8" + checksum: 10c0/6cfcc244f02da9883f65a8f34da9483a628d5350192983c53d5116b12403dc5693145c6349b6c3ca381b6b8d9590cee16f90440dc0e2da5f525e13079d6c9a2f + languageName: node + linkType: hard + "@endo/lockdown@npm:^0.1.28": version: 0.1.28 resolution: "@endo/lockdown@npm:0.1.28" @@ -3333,6 +3422,15 @@ __metadata: languageName: node linkType: hard +"@endo/lockdown@npm:^1.0.13": + version: 1.0.13 + resolution: "@endo/lockdown@npm:1.0.13" + dependencies: + ses: "npm:^1.10.0" + checksum: 10c0/9df04cc477595b368088a1d445f2241d8a152cb4dcf6a79d39d4804594dd8ff472380ab2bdf262adeb5b4b7cfc73effb6cc716c5a3aeca282801d57fe8a018a0 + languageName: node + linkType: hard + "@endo/marshal@npm:0.8.5": version: 0.8.5 resolution: "@endo/marshal@npm:0.8.5" @@ -3384,6 +3482,19 @@ __metadata: languageName: node linkType: hard +"@endo/module-source@npm:^1.1.2": + version: 1.1.2 + resolution: "@endo/module-source@npm:1.1.2" + dependencies: + "@agoric/babel-generator": "npm:^7.17.6" + "@babel/parser": "npm:^7.23.6" + "@babel/traverse": "npm:^7.23.6" + "@babel/types": "npm:^7.24.0" + ses: "npm:^1.10.0" + checksum: 10c0/3d64ff5430f288531a00e124ae0620e137dab0fdaba00f2d41066b8307eb2da30e3987d84fe450d55d844e0f96feafa36a825cecc615c05d96224a209832c95c + languageName: node + linkType: hard + "@endo/nat@npm:4.1.27, @endo/nat@npm:^4.1.27": version: 4.1.27 resolution: "@endo/nat@npm:4.1.27" @@ -3512,6 +3623,15 @@ __metadata: languageName: node linkType: hard +"@endo/promise-kit@npm:^1.1.8": + version: 1.1.8 + resolution: "@endo/promise-kit@npm:1.1.8" + dependencies: + ses: "npm:^1.10.0" + checksum: 10c0/3a51755822bd4112474bec584005b81f9ffe6a6b590faa16cff7a4994010d001d6d190f58a1e890d85b0feb0eb052d79ed2c5ed88977afb0e47ca53b6b199196 + languageName: node + linkType: hard + "@endo/ses-ava@npm:0.2.40": version: 0.2.40 resolution: "@endo/ses-ava@npm:0.2.40" @@ -3616,6 +3736,13 @@ __metadata: languageName: node linkType: hard +"@endo/trampoline@npm:^1.0.3": + version: 1.0.3 + resolution: "@endo/trampoline@npm:1.0.3" + checksum: 10c0/be0c3784b17f422ae04e28a6722e2abd193a5585a82acf5eb388476094c026aa5e76a383db887bdf6a032ccf0a12c38a967f5f1e71cef44a4659606be789b548 + languageName: node + linkType: hard + "@endo/where@npm:^0.3.5": version: 0.3.5 resolution: "@endo/where@npm:0.3.5" @@ -3630,6 +3757,13 @@ __metadata: languageName: node linkType: hard +"@endo/where@npm:^1.0.9": + version: 1.0.9 + resolution: "@endo/where@npm:1.0.9" + checksum: 10c0/dd8f8fb601fb54e7cef64d7b32f91595d01151acf1e63c46257c905afb75760d80f2eec5d71cfb1f9251e435990256d56f35d6f8b4851f5e6fbe6b393b535028 + languageName: node + linkType: hard + "@endo/zip@npm:0.2.31, @endo/zip@npm:^0.2.31": version: 0.2.31 resolution: "@endo/zip@npm:0.2.31" @@ -3651,6 +3785,13 @@ __metadata: languageName: node linkType: hard +"@endo/zip@npm:^1.0.9": + version: 1.0.9 + resolution: "@endo/zip@npm:1.0.9" + checksum: 10c0/3fccea31bd5dad938a3b5f531454d3c49513892d6d5aba1f0af1034ff0ae54c3e28a346a9df08bd9e5201354acccd631e45c9c0e68fa2848a876a3919f3830dc + languageName: node + linkType: hard + "@es-joy/jsdoccomment@npm:~0.41.0": version: 0.41.0 resolution: "@es-joy/jsdoccomment@npm:0.41.0" @@ -10936,7 +11077,7 @@ __metadata: "@agoric/zoe": "npm:^0.26.3-u17.1" "@agoric/zone": "npm:^0.3.0-u17.1" "@cosmjs/proto-signing": "npm:^0.32.3" - "@endo/bundle-source": "npm:^3.4.0" + "@endo/bundle-source": "npm:^3.5.0" "@endo/errors": "npm:^1.2.4" "@endo/eslint-plugin": "npm:^2.2.0" "@endo/far": "npm:^1.1.4" @@ -17617,6 +17758,15 @@ __metadata: languageName: node linkType: hard +"ses@npm:^1.10.0": + version: 1.10.0 + resolution: "ses@npm:1.10.0" + dependencies: + "@endo/env-options": "npm:^1.1.8" + checksum: 10c0/83b92bc49e27af04eeb7ee01a2196a0c4b0906e4de51e70403aa9ffc82be1d27a0c3506f2d54da8d6d260be0855f2123a13a7e2c6896e81ec85899df1a428609 + languageName: node + linkType: hard + "ses@npm:^1.8.0": version: 1.8.0 resolution: "ses@npm:1.8.0" @@ -18485,6 +18635,15 @@ __metadata: languageName: node linkType: hard +"ts-blank-space@npm:^0.4.1": + version: 0.4.3 + resolution: "ts-blank-space@npm:0.4.3" + dependencies: + typescript: "npm:5.1.6 - 5.6.x" + checksum: 10c0/362feac2e19cf8f1936cefdc658463558e0ef88568fdb7267910c50eb20b27ab2e21b4cf8100890f9ff1568a4e185daa68947c00dd4bfe176d61f554010266e1 + languageName: node + linkType: hard + "ts-interface-checker@npm:^0.1.9": version: 0.1.13 resolution: "ts-interface-checker@npm:0.1.13" @@ -18768,6 +18927,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:5.1.6 - 5.6.x": + version: 5.6.3 + resolution: "typescript@npm:5.6.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/44f61d3fb15c35359bc60399cb8127c30bae554cd555b8e2b46d68fa79d680354b83320ad419ff1b81a0bdf324197b29affe6cc28988cd6a74d4ac60c94f9799 + languageName: node + linkType: hard + "typescript@npm:^5.2.2, typescript@npm:^5.3.3, typescript@npm:^5.5.2, typescript@npm:~5.6.1-rc": version: 5.6.2 resolution: "typescript@npm:5.6.2" @@ -18778,6 +18947,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A5.1.6 - 5.6.x#optional!builtin": + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=74658d" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/ac8307bb06bbfd08ae7137da740769b7d8c3ee5943188743bb622c621f8ad61d244767480f90fbd840277fbf152d8932aa20c33f867dea1bb5e79b187ca1a92f + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A^5.2.2#optional!builtin, typescript@patch:typescript@npm%3A^5.3.3#optional!builtin, typescript@patch:typescript@npm%3A^5.5.2#optional!builtin, typescript@patch:typescript@npm%3A~5.6.1-rc#optional!builtin": version: 5.6.2 resolution: "typescript@patch:typescript@npm%3A5.6.2#optional!builtin::version=5.6.2&hash=74658d"