From a54a6097344dec20326427ea05e389c5eb933958 Mon Sep 17 00:00:00 2001 From: CeciliaAvila Date: Mon, 20 Oct 2025 16:51:14 -0300 Subject: [PATCH 01/20] Update nodejs auto-signin sample --- samples/nodejs/auto-signin/src/index.ts | 45 ++++++++++++------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/samples/nodejs/auto-signin/src/index.ts b/samples/nodejs/auto-signin/src/index.ts index 8da96e51..b4986600 100644 --- a/samples/nodejs/auto-signin/src/index.ts +++ b/samples/nodejs/auto-signin/src/index.ts @@ -73,34 +73,31 @@ class AutoSignInDemo extends AgentApplication { private _pullRequests = async (context: TurnContext, state: TurnState): Promise => { const userTokenResponse = await this.authorization.getToken(context, 'github') - if (userTokenResponse && userTokenResponse.token) { - const ghProf = await getCurrentProfile(userTokenResponse.token) - // console.log('GitHub profile', ghProf) + if (!userTokenResponse.token) { + await context.sendActivity(MessageFactory.text('Token not available. Please sign in with GitHub.')) + return + } - const userTemplate = (await import('./userProfileCard.json', { with: { type: 'json' } })).default - const template = new Template(userTemplate) - const card = template.expand(ghProf) - const activity = MessageFactory.attachment(CardFactory.adaptiveCard(card)) - await context.sendActivity(activity) + const ghProf = await getCurrentProfile(userTokenResponse.token) + const userTemplate = (await import('./userProfileCard.json', { with: { type: 'json' } })).default + const template = new Template(userTemplate) + const card = template.expand(ghProf) + const activity = MessageFactory.attachment(CardFactory.adaptiveCard(card)) + await context.sendActivity(activity) - const prs = await getPullRequests('microsoft', 'agents', userTokenResponse.token) - for (const pr of prs) { - const prCard = (await import('./pullRequestCard.json', { with: { type: 'json' } })).default - const template = new Template(prCard) - const toExpand = { - $root: { - title: pr.title, - url: pr.url, - id: pr.id, - } + const prs = await getPullRequests('microsoft', 'agents', userTokenResponse.token) + for (const pr of prs) { + const prCard = (await import('./pullRequestCard.json', { with: { type: 'json' } })).default + const template = new Template(prCard) + const toExpand = { + $root: { + title: pr.title, + url: pr.url, + id: pr.id, } - const card = template.expand(toExpand) - await context.sendActivity(MessageFactory.attachment(CardFactory.adaptiveCard(card))) } - } else { - const tokenResponse = await this.authorization.beginOrContinueFlow(context, state, 'github') - console.warn(`GitHub token: ${JSON.stringify(tokenResponse)}`) - await context.sendActivity(MessageFactory.text('GitHub token length.' + tokenResponse?.token?.length)) + const card = template.expand(toExpand) + await context.sendActivity(MessageFactory.attachment(CardFactory.adaptiveCard(card))) } } } From d0df8794252fb5deda91484457c31487b71e306f Mon Sep 17 00:00:00 2001 From: CeciliaAvila Date: Fri, 24 Oct 2025 17:00:20 -0300 Subject: [PATCH 02/20] Update nodejs quickstart sample --- samples/nodejs/quickstart/README.md | 6 +- samples/nodejs/quickstart/env.TEMPLATE | 12 +- samples/nodejs/quickstart/package-lock.json | 167 +++++++++++++------- samples/nodejs/quickstart/package.json | 9 +- samples/nodejs/quickstart/src/agent.ts | 6 +- samples/nodejs/quickstart/src/index.ts | 25 --- 6 files changed, 133 insertions(+), 92 deletions(-) delete mode 100644 samples/nodejs/quickstart/src/index.ts diff --git a/samples/nodejs/quickstart/README.md b/samples/nodejs/quickstart/README.md index 42d20122..d6b70de3 100644 --- a/samples/nodejs/quickstart/README.md +++ b/samples/nodejs/quickstart/README.md @@ -73,9 +73,9 @@ You should see a message from the bot like: `Echo running on Agents SDK version: 1. Configuring the token connection in the Agent settings 1. Open the `env.TEMPLATE` file in the root of the sample project, rename it to `.env` and configure the following values: - 1. Set the **clientId** to the AppId of the bot identity. - 2. Set the **clientSecret** to the Secret that was created for your identity. *This is the `Secret Value` shown in the AppRegistration*. - 3. Set the **tenantId** to the Tenant Id where your application is registered. + 1. Set the **connections__serviceConnection__settings__clientId** to the AppId of the bot identity. + 2. Set the **connections__serviceConnection__settings__clientSecret** to the Secret that was created for your identity. *This is the `Secret Value` shown in the AppRegistration*. + 3. Set the **connections__serviceConnection__settings__tenantId** to the Tenant Id where your application is registered. 1. Install the tool [dev tunnel](https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/get-started?tabs=windows) 1. Run `dev tunnels`. See [Create and host a dev tunnel](https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/get-started?tabs=windows) and host the tunnel with anonymous user access command as shown below: diff --git a/samples/nodejs/quickstart/env.TEMPLATE b/samples/nodejs/quickstart/env.TEMPLATE index 2a36c532..9c57eef0 100644 --- a/samples/nodejs/quickstart/env.TEMPLATE +++ b/samples/nodejs/quickstart/env.TEMPLATE @@ -1,5 +1,9 @@ # rename to .env -tenantId= -clientId= -clientSecret= -DEBUG=agents:*:error \ No newline at end of file +connections__serviceConnection__settings__clientId= # App ID of the App Registration used to log in. +connections__serviceConnection__settings__clientSecret= # Client secret of the App Registration used to log in +connections__serviceConnection__settings__tenantId= # Tenant ID of the App Registration used to log in + +connectionsMap__0__connection=serviceConnection +connectionsMap__0__serviceUrl=* + +DEBUG=agents:*:error diff --git a/samples/nodejs/quickstart/package-lock.json b/samples/nodejs/quickstart/package-lock.json index 8e2f8d07..0df4bf27 100644 --- a/samples/nodejs/quickstart/package-lock.json +++ b/samples/nodejs/quickstart/package-lock.json @@ -9,8 +9,7 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@microsoft/agents-hosting": "^1.0.0", - "express": "^5.1.0" + "@microsoft/agents-hosting-express": "1.1.0-alpha.58" }, "devDependencies": { "@microsoft/m365agentsplayground": "^0.2.16", @@ -23,6 +22,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "license": "MIT", "dependencies": { "tslib": "^2.6.2" }, @@ -31,12 +31,13 @@ } }, "node_modules/@azure/core-auth": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.0.tgz", - "integrity": "sha512-88Djs5vBvGbHQHf5ZZcaoNHo6Y8BKZkt3cw2iuJIQzLEgH4Ox6Tm4hjFhbqOxyYsgIG/eJbFEHpxRIfEEWv5Ow==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", + "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", + "license": "MIT", "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.11.0", + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" }, "engines": { @@ -44,11 +45,12 @@ } }, "node_modules/@azure/core-util": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.0.tgz", - "integrity": "sha512-o0psW8QWQ58fq3i24Q1K2XfS/jYTxr7O1HRcyUE9bV9NttLU+kYOH82Ixj8DGlMTOWgxm1Sss2QAfKK5UkSPxw==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", + "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", + "license": "MIT", "dependencies": { - "@azure/abort-controller": "^2.0.0", + "@azure/abort-controller": "^2.1.2", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" }, @@ -57,19 +59,21 @@ } }, "node_modules/@azure/msal-common": { - "version": "15.12.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.12.0.tgz", - "integrity": "sha512-4ucXbjVw8KJ5QBgnGJUeA07c8iznwlk5ioHIhI4ASXcXgcf2yRFhWzYOyWg/cI49LC9ekpFJeQtO3zjDTbl6TQ==", + "version": "15.13.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.13.0.tgz", + "integrity": "sha512-8oF6nj02qX7eE/6+wFT5NluXRHc05AgdCC3fJnkjiJooq8u7BcLmxaYYSwc2AfEkWRMRi6Eyvvbeqk4U4412Ag==", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.7.3.tgz", - "integrity": "sha512-MoJxkKM/YpChfq4g2o36tElyzNUMG8mfD6u8NbuaPAsqfGpaw249khAcJYNoIOigUzRw45OjXCOrexE6ImdUxg==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.8.0.tgz", + "integrity": "sha512-23BXm82Mp5XnRhrcd4mrHa0xuUNRp96ivu3nRatrfdAqjoeWAGyD0eEAafxAOHAEWWmdlyFK4ELFcdziXyw2sA==", + "license": "MIT", "dependencies": { - "@azure/msal-common": "15.12.0", + "@azure/msal-common": "15.13.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -78,11 +82,12 @@ } }, "node_modules/@microsoft/agents-activity": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.0.15.tgz", - "integrity": "sha512-1u8BVLsipsgTTte2SrR+LBXMkkU0oKteE6QDk+Dq5yTS4dF9266LPQ6HgOTNEk3PxRFSibrlw7zSO4y6S/d5wA==", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.1.0-alpha.58.tgz", + "integrity": "sha512-YRC9upu3WF9LFiglxA8k7Z8Hff7FZynTmioPqqhi49+qROxaQURy1435KcZcRb40axLJLWq4Nnm57PL0rsmEWw==", + "license": "MIT", "dependencies": { - "debug": "^4.3.7", + "debug": "^4.4.3", "uuid": "^11.1.0", "zod": "3.25.75" }, @@ -98,21 +103,37 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/esm/bin/uuid" } }, "node_modules/@microsoft/agents-hosting": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting/-/agents-hosting-1.0.15.tgz", - "integrity": "sha512-f7fG0jOYH7UUmGkJT+Y7Hu4vrTrlbgsSGD18+I7H3XyrfOnAkjfwfhkd0BF6F4qCTqDokDXmcQuhlPj/w69k7w==", - "dependencies": { - "@azure/core-auth": "^1.10.0", - "@azure/msal-node": "^3.7.0", - "@microsoft/agents-activity": "1.0.15", - "axios": "^1.11.0", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting/-/agents-hosting-1.1.0-alpha.58.tgz", + "integrity": "sha512-uv0D0lnLlRw57f51zgMviqDq1grzi8IaWqrtKzYh0K0+kbJuWxAYLk/pjbfSsoAH1ZEWVpm+UinjPczAjPHY0A==", + "license": "MIT", + "dependencies": { + "@azure/core-auth": "^1.10.1", + "@azure/msal-node": "^3.8.0", + "@microsoft/agents-activity": "1.1.0-alpha.58", + "axios": "^1.12.2", "jsonwebtoken": "^9.0.2", - "jwks-rsa": "^3.2.0" + "jwks-rsa": "^3.2.0", + "object-path": "^0.11.8" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@microsoft/agents-hosting-express": { + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting-express/-/agents-hosting-express-1.1.0-alpha.58.tgz", + "integrity": "sha512-dTH1MVQRgKaTNP7ZKO1G6LM+DFXi/kZH0vnB3ftyY6f+PilFe63Rio+37qGHYOdLuGsHZcyo8+fOkyv+dyCWJQ==", + "license": "MIT", + "dependencies": { + "@microsoft/agents-hosting": "1.1.0-alpha.58", + "express": "^5.1.0" }, "engines": { "node": ">=20.0.0" @@ -229,9 +250,10 @@ } }, "node_modules/@typespec/ts-http-runtime": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.0.tgz", - "integrity": "sha512-sOx1PKSuFwnIl7z4RN0Ls7N9AQawmR9r66eI5rFCzLDIs8HTIYrIpH9QjYWoX0lkgGrkLxXhi4QnK7MizPRrIg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.1.tgz", + "integrity": "sha512-SnbaqayTVFEA6/tYumdF0UmybY0KHyKwGPBXnyckFlrrKdhWFrL3a2HIPXHjht5ZOElKGcXfD2D63P36btb+ww==", + "license": "MIT", "dependencies": { "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", @@ -257,6 +279,7 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", "engines": { "node": ">= 14" } @@ -322,7 +345,8 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" }, "node_modules/available-typed-arrays": { "version": "1.0.7", @@ -340,9 +364,9 @@ } }, "node_modules/axios": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.1.tgz", - "integrity": "sha512-Kn4kbSXpkFHCGE6rBFNwIv0GQs4AvDT80jlveJDKFxjbTYMUeB4QtsdPCv6H8Cm19Je7IU6VFtRl2zWZI0rudQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz", + "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -388,7 +412,8 @@ "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" }, "node_modules/bytes": { "version": "3.1.2", @@ -476,6 +501,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -601,9 +627,10 @@ } }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -654,6 +681,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -683,6 +711,7 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" } @@ -924,6 +953,7 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -952,6 +982,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -967,6 +998,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -975,6 +1007,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -1237,6 +1270,7 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -1249,6 +1283,7 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "4" @@ -1672,6 +1707,7 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -1693,6 +1729,7 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", + "license": "MIT", "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -1719,6 +1756,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -1752,37 +1790,44 @@ "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" }, "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" }, "node_modules/lru-cache": { "version": "6.0.0", @@ -1956,6 +2001,15 @@ "node": ">= 0.4" } }, + "node_modules/object-path": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", + "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "license": "MIT", + "engines": { + "node": ">= 10.12.0" + } + }, "node_modules/object.assign": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", @@ -2114,7 +2168,8 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" }, "node_modules/qs": { "version": "6.14.0", @@ -2335,9 +2390,10 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -2703,7 +2759,8 @@ "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/type-is": { "version": "2.0.1", @@ -2840,6 +2897,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -2973,6 +3031,7 @@ "version": "3.25.75", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.75.tgz", "integrity": "sha512-OhpzAmVzabPOL6C3A3gpAifqr9MqihV/Msx3gor2b2kviCgcb+HM9SEOpMWwwNp9MRunWnhtAKUoo0AHhjyPPg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/samples/nodejs/quickstart/package.json b/samples/nodejs/quickstart/package.json index 2472d8a9..802b8275 100644 --- a/samples/nodejs/quickstart/package.json +++ b/samples/nodejs/quickstart/package.json @@ -5,20 +5,19 @@ "description": "Agents echo bot sample", "author": "Microsoft", "license": "MIT", - "main": "./dist/index.js", + "main": "./dist/agent.js", "scripts": { "prebuild": "npm ci", "build": "tsc --build", "prestart": "npm run build", "prestart:anon": "npm run build", - "start:anon": "node ./dist/index.js", - "start": "node --env-file .env ./dist/index.js", + "start:anon": "node ./dist/agent.js", + "start": "node --env-file .env ./dist/agent.js", "test-tool": "agentsplayground", "test": "npm-run-all -p -r start:anon test-tool" }, "dependencies": { - "@microsoft/agents-hosting": "^1.0.0", - "express": "^5.1.0" + "@microsoft/agents-hosting-express": "1.1.0-alpha.58" }, "devDependencies": { "@microsoft/m365agentsplayground": "^0.2.16", diff --git a/samples/nodejs/quickstart/src/agent.ts b/samples/nodejs/quickstart/src/agent.ts index c0bc4cb1..265d98a0 100644 --- a/samples/nodejs/quickstart/src/agent.ts +++ b/samples/nodejs/quickstart/src/agent.ts @@ -4,6 +4,7 @@ import { TurnState, MemoryStorage, TurnContext, AgentApplication, AttachmentDown from '@microsoft/agents-hosting' import { version } from '@microsoft/agents-hosting/package.json' import { ActivityTypes } from '@microsoft/agents-activity' +import { startServer } from '@microsoft/agents-hosting-express' interface ConversationState { count: number; @@ -14,7 +15,8 @@ const downloader = new AttachmentDownloader() // Define storage and application const storage = new MemoryStorage() -export const agentApp = new AgentApplication({ + +const agentApp = new AgentApplication({ storage, fileDownloaders: [downloader] }) @@ -72,3 +74,5 @@ agentApp.onActivity( await context.sendActivity(`Matched function: ${context.activity.type}`) } ) + +startServer(agentApp) diff --git a/samples/nodejs/quickstart/src/index.ts b/samples/nodejs/quickstart/src/index.ts deleted file mode 100644 index 91b1e98b..00000000 --- a/samples/nodejs/quickstart/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { AuthConfiguration, authorizeJWT, CloudAdapter, loadAuthConfigFromEnv, Request } from '@microsoft/agents-hosting' -import express, { Response } from 'express' -import { agentApp } from './agent' - -const authConfig: AuthConfiguration = loadAuthConfigFromEnv() -const adapter = new CloudAdapter(authConfig) - -const server = express() -server.use(express.json()) -server.use(authorizeJWT(authConfig)) - -server.post('/api/messages', async (req: Request, res: Response) => { - await adapter.process(req, res, async (context) => { - const app = agentApp - await app.run(context) - }) -}) - -const port = process.env.PORT || 3978 -server.listen(port, () => { - console.log(`\nServer listening to port ${port} for appId ${authConfig.clientId} debug ${process.env.DEBUG}`) -}).on('error', (err) => { - console.error(err) - process.exit(1) -}) From fb16f211cab3c3b310a9684ff2d8f877210ce9df Mon Sep 17 00:00:00 2001 From: CeciliaAvila Date: Mon, 27 Oct 2025 15:55:41 -0300 Subject: [PATCH 03/20] Update nodejs auto-signin sample --- samples/nodejs/auto-signin/README.md | 6 ++++-- samples/nodejs/auto-signin/env.TEMPLATE | 16 ++++++++++------ .../nodejs/auto-signin/src/githubApiClient.ts | 3 +++ .../nodejs/auto-signin/src/userGraphClient.ts | 3 +++ 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/samples/nodejs/auto-signin/README.md b/samples/nodejs/auto-signin/README.md index 0c8390b6..aacddf63 100644 --- a/samples/nodejs/auto-signin/README.md +++ b/samples/nodejs/auto-signin/README.md @@ -33,8 +33,10 @@ The sample uses the bot OAuth capabilities in [Azure Bot Service](https://docs.b 1. Configuring the token connection in the Agent settings > The instructions for this sample are for a SingleTenant Azure Bot using ClientSecrets. The token connection configuration will vary if a different type of Azure Bot was configured. For more information see [MSAL Authentication provider](https://learn.microsoft.com/microsoft-365/agents-sdk/azure-bot-authentication-for-javascript) - 1. Open the `env.TEMAPLTE` file in the root of the sample project and rename it to `.env` - 1. Update **clientId**, **tenantId** and **clientSecret** + 1. Open the `env.TEMPLATE` file in the root of the sample project, rename it to `.env` and configure the following values: + 1. Set the **connections__serviceConnection__settings__clientId** to the AppId of the bot identity. + 2. Set the **connections__serviceConnection__settings__clientSecret** to the Secret that was created for your identity. *This is the `Secret Value` shown in the AppRegistration*. + 3. Set the **connections__serviceConnection__settings__tenantId** to the Tenant Id where your application is registered. 1. Configure the UserAuthorization handlers diff --git a/samples/nodejs/auto-signin/env.TEMPLATE b/samples/nodejs/auto-signin/env.TEMPLATE index e9ca49fe..75f46684 100644 --- a/samples/nodejs/auto-signin/env.TEMPLATE +++ b/samples/nodejs/auto-signin/env.TEMPLATE @@ -1,8 +1,12 @@ -tenantId= -clientId= -clientSecret= +# rename to .env +connections__serviceConnection__settings__clientId= # App ID of the App Registration used to log in. +connections__serviceConnection__settings__clientSecret= # Client secret of the App Registration used to log in. +connections__serviceConnection__settings__tenantId= # Tenant ID of the App Registration used to log in. -graph_connectionName= -github_connectionName= +connectionsMap__0__connection=serviceConnection +connectionsMap__0__serviceUrl=* -DEBUG=agents:*:error,agents:*:info,agents:*:warn \ No newline at end of file +graph_connectionName= # the connection name configured in the Azure Bot for graph authentication. +github_connectionName= # the connection name configured in the Azure Bot for GitHub authentication. + +DEBUG=agents:*:error,agents:*:info,agents:*:warn diff --git a/samples/nodejs/auto-signin/src/githubApiClient.ts b/samples/nodejs/auto-signin/src/githubApiClient.ts index dbe33bf4..49ea135e 100644 --- a/samples/nodejs/auto-signin/src/githubApiClient.ts +++ b/samples/nodejs/auto-signin/src/githubApiClient.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + export interface PullRequest { id: number title: string diff --git a/samples/nodejs/auto-signin/src/userGraphClient.ts b/samples/nodejs/auto-signin/src/userGraphClient.ts index ed0e7cd9..432c3546 100644 --- a/samples/nodejs/auto-signin/src/userGraphClient.ts +++ b/samples/nodejs/auto-signin/src/userGraphClient.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + import { AuthenticationProvider, Client } from '@microsoft/microsoft-graph-client' import { User } from '@microsoft/microsoft-graph-types' From b2515e827574bc5c4daeab80f09491013b8d8f76 Mon Sep 17 00:00:00 2001 From: CeciliaAvila Date: Wed, 29 Oct 2025 10:24:28 -0300 Subject: [PATCH 04/20] Update nodejs obo-authorization sample --- samples/nodejs/obo-authorization/env.TEMPLATE | 23 +- .../obo-authorization/package-lock.json | 359 +++++++++++++----- samples/nodejs/obo-authorization/package.json | 3 +- samples/nodejs/obo-authorization/src/index.ts | 2 +- 4 files changed, 283 insertions(+), 104 deletions(-) diff --git a/samples/nodejs/obo-authorization/env.TEMPLATE b/samples/nodejs/obo-authorization/env.TEMPLATE index 14119151..d3bbc017 100644 --- a/samples/nodejs/obo-authorization/env.TEMPLATE +++ b/samples/nodejs/obo-authorization/env.TEMPLATE @@ -1,7 +1,20 @@ -tenantId= -clientId= -clientSecret= +# rename to .env +connections__serviceConnection__settings__clientId= # App ID of the App Registration used to log in. +connections__serviceConnection__settings__clientSecret= # Client secret of the App Registration used to log in. +connections__serviceConnection__settings__tenantId= # Tenant ID of the App Registration used to log in. -graph_connectionName= +connections__oboConnection__settings__clientId= # App ID of the App Registration for the OBO token exchange. +connections__oboConnection__settings__clientSecret= # Client secret of the App Registration for the OBO token exchange. +connections__oboConnection__settings__tenantId= # Tenant ID of the App Registration for the OBO token exchange. -DEBUG=agents:*:error,agents:*:info,agents:*:warn \ No newline at end of file +connectionsMap__0__connection=serviceConnection +connectionsMap__0__serviceUrl=* +connectionsMap__1__connection=oboConnection +connectionsMap__1__serviceUrl=obo + +graph_connectionName= # the connection name configured in the Azure Bot for graph authentication. +graph_obo_connectionName= # the connection name configured in the Azure Bot for OBO token exchange. +graph_obo_connection=oboConnection # the connection name to get the credentials from the connections map +graph_obo_scopes=https://graph.microsoft.com/.default # the scopes for the obo token exchange. + +DEBUG=agents:*:error,agents:*:info,agents:*:warn diff --git a/samples/nodejs/obo-authorization/package-lock.json b/samples/nodejs/obo-authorization/package-lock.json index c80a76b0..0accb499 100644 --- a/samples/nodejs/obo-authorization/package-lock.json +++ b/samples/nodejs/obo-authorization/package-lock.json @@ -9,17 +9,38 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@microsoft/agents-hosting-express": "^1.0.0", - "express": "^5.1.0" + "@microsoft/agents-hosting-express": "1.1.0-alpha.58" }, "devDependencies": { "@microsoft/microsoft-graph-types": "^2.40.0" } }, + "../../../../agents-for-js/packages/agents-hosting": { + "name": "@microsoft/agents-hosting", + "version": "0.1.0", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@azure/core-auth": "^1.10.1", + "@azure/msal-node": "^3.8.0", + "@microsoft/agents-activity": "file:../agents-activity", + "axios": "^1.13.1", + "jsonwebtoken": "^9.0.2", + "jwks-rsa": "^3.2.0", + "object-path": "^0.11.8" + }, + "devDependencies": { + "@types/object-path": "^0.11.4" + }, + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/@azure/abort-controller": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "license": "MIT", "dependencies": { "tslib": "^2.6.2" }, @@ -28,12 +49,13 @@ } }, "node_modules/@azure/core-auth": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.0.tgz", - "integrity": "sha512-88Djs5vBvGbHQHf5ZZcaoNHo6Y8BKZkt3cw2iuJIQzLEgH4Ox6Tm4hjFhbqOxyYsgIG/eJbFEHpxRIfEEWv5Ow==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", + "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", + "license": "MIT", "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.11.0", + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" }, "engines": { @@ -41,11 +63,12 @@ } }, "node_modules/@azure/core-util": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.0.tgz", - "integrity": "sha512-o0psW8QWQ58fq3i24Q1K2XfS/jYTxr7O1HRcyUE9bV9NttLU+kYOH82Ixj8DGlMTOWgxm1Sss2QAfKK5UkSPxw==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", + "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", + "license": "MIT", "dependencies": { - "@azure/abort-controller": "^2.0.0", + "@azure/abort-controller": "^2.1.2", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" }, @@ -54,19 +77,21 @@ } }, "node_modules/@azure/msal-common": { - "version": "15.12.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.12.0.tgz", - "integrity": "sha512-4ucXbjVw8KJ5QBgnGJUeA07c8iznwlk5ioHIhI4ASXcXgcf2yRFhWzYOyWg/cI49LC9ekpFJeQtO3zjDTbl6TQ==", + "version": "15.13.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.13.1.tgz", + "integrity": "sha512-vQYQcG4J43UWgo1lj7LcmdsGUKWYo28RfEvDQAEMmQIMjSFufvb+pS0FJ3KXmrPmnWlt1vHDl3oip6mIDUQ4uA==", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.7.3.tgz", - "integrity": "sha512-MoJxkKM/YpChfq4g2o36tElyzNUMG8mfD6u8NbuaPAsqfGpaw249khAcJYNoIOigUzRw45OjXCOrexE6ImdUxg==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.8.1.tgz", + "integrity": "sha512-HszfqoC+i2C9+BRDQfuNUGp15Re7menIhCEbFCQ49D3KaqEDrgZIgQ8zSct4T59jWeUIL9N/Dwiv4o2VueTdqQ==", + "license": "MIT", "dependencies": { - "@azure/msal-common": "15.12.0", + "@azure/msal-common": "15.13.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -75,11 +100,12 @@ } }, "node_modules/@microsoft/agents-activity": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.0.15.tgz", - "integrity": "sha512-1u8BVLsipsgTTte2SrR+LBXMkkU0oKteE6QDk+Dq5yTS4dF9266LPQ6HgOTNEk3PxRFSibrlw7zSO4y6S/d5wA==", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.1.0-alpha.58.tgz", + "integrity": "sha512-YRC9upu3WF9LFiglxA8k7Z8Hff7FZynTmioPqqhi49+qROxaQURy1435KcZcRb40axLJLWq4Nnm57PL0rsmEWw==", + "license": "MIT", "dependencies": { - "debug": "^4.3.7", + "debug": "^4.4.3", "uuid": "^11.1.0", "zod": "3.25.75" }, @@ -95,32 +121,36 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/esm/bin/uuid" } }, "node_modules/@microsoft/agents-hosting": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting/-/agents-hosting-1.0.15.tgz", - "integrity": "sha512-f7fG0jOYH7UUmGkJT+Y7Hu4vrTrlbgsSGD18+I7H3XyrfOnAkjfwfhkd0BF6F4qCTqDokDXmcQuhlPj/w69k7w==", - "dependencies": { - "@azure/core-auth": "^1.10.0", - "@azure/msal-node": "^3.7.0", - "@microsoft/agents-activity": "1.0.15", - "axios": "^1.11.0", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting/-/agents-hosting-1.1.0-alpha.58.tgz", + "integrity": "sha512-uv0D0lnLlRw57f51zgMviqDq1grzi8IaWqrtKzYh0K0+kbJuWxAYLk/pjbfSsoAH1ZEWVpm+UinjPczAjPHY0A==", + "license": "MIT", + "dependencies": { + "@azure/core-auth": "^1.10.1", + "@azure/msal-node": "^3.8.0", + "@microsoft/agents-activity": "1.1.0-alpha.58", + "axios": "^1.12.2", "jsonwebtoken": "^9.0.2", - "jwks-rsa": "^3.2.0" + "jwks-rsa": "^3.2.0", + "object-path": "^0.11.8" }, "engines": { "node": ">=20.0.0" } }, "node_modules/@microsoft/agents-hosting-express": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting-express/-/agents-hosting-express-1.0.15.tgz", - "integrity": "sha512-MyepMCp58fFEWr64fS21XDUG1rwSh5z5H90JJm25aOfbkeTvKgypVI3sP2pCo2zGW68TORC91xrvRuxYGHEoMQ==", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting-express/-/agents-hosting-express-1.1.0-alpha.58.tgz", + "integrity": "sha512-dTH1MVQRgKaTNP7ZKO1G6LM+DFXi/kZH0vnB3ftyY6f+PilFe63Rio+37qGHYOdLuGsHZcyo8+fOkyv+dyCWJQ==", + "license": "MIT", "dependencies": { - "@microsoft/agents-hosting": "1.0.15", + "@microsoft/agents-hosting": "1.1.0-alpha.58", "express": "^5.1.0" }, "engines": { @@ -137,6 +167,7 @@ "version": "1.19.6", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -146,25 +177,28 @@ "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/express": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.23.tgz", - "integrity": "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==", + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", - "@types/serve-static": "*" + "@types/serve-static": "^1" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "version": "4.19.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz", + "integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -175,12 +209,14 @@ "node_modules/@types/http-errors": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", - "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==" + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "license": "MIT" }, "node_modules/@types/jsonwebtoken": { "version": "9.0.10", "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz", "integrity": "sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==", + "license": "MIT", "dependencies": { "@types/ms": "*", "@types/node": "*" @@ -189,54 +225,71 @@ "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" }, "node_modules/@types/ms": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==" + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" }, "node_modules/@types/node": { - "version": "24.3.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.1.tgz", - "integrity": "sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==", + "version": "24.9.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz", + "integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==", + "license": "MIT", "dependencies": { - "undici-types": "~7.10.0" + "undici-types": "~7.16.0" } }, "node_modules/@types/qs": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==" + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" }, "node_modules/@types/send": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", - "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "license": "MIT", "dependencies": { - "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.8", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz", - "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", - "@types/send": "*" + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" } }, "node_modules/@typespec/ts-http-runtime": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.0.tgz", - "integrity": "sha512-sOx1PKSuFwnIl7z4RN0Ls7N9AQawmR9r66eI5rFCzLDIs8HTIYrIpH9QjYWoX0lkgGrkLxXhi4QnK7MizPRrIg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.1.tgz", + "integrity": "sha512-SnbaqayTVFEA6/tYumdF0UmybY0KHyKwGPBXnyckFlrrKdhWFrL3a2HIPXHjht5ZOElKGcXfD2D63P36btb+ww==", + "license": "MIT", "dependencies": { "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", @@ -250,6 +303,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" @@ -262,6 +316,7 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", "engines": { "node": ">= 14" } @@ -269,12 +324,14 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" }, "node_modules/axios": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", - "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.1.tgz", + "integrity": "sha512-hU4EGxxt+j7TQijx1oYdAjw4xuIp1wRQSsbMFwSthCWeBQur1eF+qJ5iQ5sN3Tw8YRzQNKb8jszgBdMDVqwJcw==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", @@ -285,6 +342,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "license": "MIT", "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", @@ -303,12 +361,14 @@ "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -317,6 +377,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" @@ -329,6 +390,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" @@ -344,6 +406,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -355,6 +418,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -366,6 +430,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -374,6 +439,7 @@ "version": "0.7.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -382,14 +448,16 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", "engines": { "node": ">=6.6.0" } }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -406,6 +474,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -414,6 +483,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -422,6 +492,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", @@ -435,6 +506,7 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" } @@ -442,12 +514,14 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, "node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -456,6 +530,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -464,6 +539,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -472,6 +548,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -483,6 +560,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", @@ -496,12 +574,14 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -510,6 +590,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "license": "MIT", "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.0", @@ -551,6 +632,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "license": "MIT", "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", @@ -573,6 +655,7 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -586,6 +669,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -601,6 +685,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -609,6 +694,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -620,6 +706,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -628,6 +715,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -636,6 +724,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -644,6 +733,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", @@ -667,6 +757,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" @@ -679,6 +770,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -690,6 +782,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -701,6 +794,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -715,6 +809,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -726,6 +821,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -741,6 +837,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -749,6 +846,7 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -761,6 +859,7 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "4" @@ -773,6 +872,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -783,12 +883,14 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -796,12 +898,14 @@ "node_modules/is-promise": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" }, "node_modules/jose": { "version": "4.15.9", "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", "integrity": "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" } @@ -810,6 +914,7 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -831,6 +936,7 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", + "license": "MIT", "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -841,6 +947,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-3.2.0.tgz", "integrity": "sha512-PwchfHcQK/5PSydeKCs1ylNym0w/SSv8a62DgHJ//7x2ZclCoinlsjAfDxAAbpoTPybOum/Jgy+vkvMmKz89Ww==", + "license": "MIT", "dependencies": { "@types/express": "^4.17.20", "@types/jsonwebtoken": "^9.0.4", @@ -857,6 +964,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -870,47 +978,56 @@ "node_modules/lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "license": "MIT" }, "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" }, "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -922,6 +1039,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-2.3.0.tgz", "integrity": "sha512-GXn7gyHAMhO13WSKrIiNfztwxodVsP8IoZ3XfrJV4yH2x0/OeTO/FIaAHTY5YekdGgW94njfuKmyyt1E0mR6Ug==", + "license": "MIT", "dependencies": { "lodash.clonedeep": "^4.5.0", "lru-cache": "6.0.0" @@ -931,6 +1049,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -939,6 +1058,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -947,6 +1067,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", "engines": { "node": ">=18" }, @@ -958,6 +1079,7 @@ "version": "1.54.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -966,6 +1088,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "license": "MIT", "dependencies": { "mime-db": "^1.54.0" }, @@ -976,12 +1099,14 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/negotiator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -990,6 +1115,7 @@ "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -997,10 +1123,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-path": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", + "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "license": "MIT", + "engines": { + "node": ">= 10.12.0" + } + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -1012,6 +1148,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -1020,6 +1157,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1028,6 +1166,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/express" @@ -1037,6 +1176,7 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -1048,12 +1188,14 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" }, "node_modules/qs": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" }, @@ -1068,6 +1210,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -1076,6 +1219,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz", "integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -1090,6 +1234,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -1105,6 +1250,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", @@ -1133,17 +1279,20 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -1155,6 +1304,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "license": "MIT", "dependencies": { "debug": "^4.3.5", "encodeurl": "^2.0.0", @@ -1176,6 +1326,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "license": "MIT", "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", @@ -1189,12 +1340,14 @@ "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", @@ -1213,6 +1366,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" @@ -1228,6 +1382,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -1245,6 +1400,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", @@ -1263,6 +1419,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1271,6 +1428,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } @@ -1278,12 +1436,14 @@ "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/type-is": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", "dependencies": { "content-type": "^1.0.5", "media-typer": "^1.1.0", @@ -1294,14 +1454,16 @@ } }, "node_modules/undici-types": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", - "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==" + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1310,6 +1472,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -1318,6 +1481,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1325,17 +1489,20 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" }, "node_modules/zod": { "version": "3.25.75", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.75.tgz", "integrity": "sha512-OhpzAmVzabPOL6C3A3gpAifqr9MqihV/Msx3gor2b2kviCgcb+HM9SEOpMWwwNp9MRunWnhtAKUoo0AHhjyPPg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/samples/nodejs/obo-authorization/package.json b/samples/nodejs/obo-authorization/package.json index 42ec0bed..48e207cd 100644 --- a/samples/nodejs/obo-authorization/package.json +++ b/samples/nodejs/obo-authorization/package.json @@ -12,8 +12,7 @@ "license": "ISC", "description": "", "dependencies": { - "@microsoft/agents-hosting-express": "^1.0.0", - "express": "^5.1.0" + "@microsoft/agents-hosting-express": "1.1.0-alpha.58" }, "devDependencies": { "@microsoft/microsoft-graph-types": "^2.40.0" diff --git a/samples/nodejs/obo-authorization/src/index.ts b/samples/nodejs/obo-authorization/src/index.ts index c3342517..cfdfe871 100644 --- a/samples/nodejs/obo-authorization/src/index.ts +++ b/samples/nodejs/obo-authorization/src/index.ts @@ -27,7 +27,7 @@ class OboApp extends AgentApplication { } else { await context.sendActivity(MessageFactory.text('Token request status: ' + tresp || 'unknown')) } - const oboToken = await this.authorization.exchangeToken(context, ['https://graph.microsoft.com/.default'], 'graph') + const oboToken = await this.authorization.exchangeToken(context, 'graph', { scopes: ['https://graph.microsoft.com/.default']}) await context.sendActivity(MessageFactory.text('OBO Token received: ' + (oboToken?.token?.length || 0))) } From 834a5598f2eb3353c3dc305e54abebe215318692 Mon Sep 17 00:00:00 2001 From: CeciliaAvila Date: Wed, 29 Oct 2025 11:53:42 -0300 Subject: [PATCH 05/20] Update nodejs copilotstudio-client sample --- .../copilotstudio-client/package-lock.json | 290 ++---------------- .../nodejs/copilotstudio-client/package.json | 2 +- .../nodejs/copilotstudio-client/src/index.ts | 53 +++- 3 files changed, 71 insertions(+), 274 deletions(-) diff --git a/samples/nodejs/copilotstudio-client/package-lock.json b/samples/nodejs/copilotstudio-client/package-lock.json index d4e2b267..ec670195 100644 --- a/samples/nodejs/copilotstudio-client/package-lock.json +++ b/samples/nodejs/copilotstudio-client/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "@azure/msal-node": "^3.5.3", - "@microsoft/agents-copilotstudio-client": "^1.0.0", + "@microsoft/agents-copilotstudio-client": "1.1.0-alpha.58", "open": "^10.1.2" }, "devDependencies": { @@ -41,11 +41,12 @@ } }, "node_modules/@microsoft/agents-activity": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.0.15.tgz", - "integrity": "sha512-1u8BVLsipsgTTte2SrR+LBXMkkU0oKteE6QDk+Dq5yTS4dF9266LPQ6HgOTNEk3PxRFSibrlw7zSO4y6S/d5wA==", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.1.0-alpha.58.tgz", + "integrity": "sha512-YRC9upu3WF9LFiglxA8k7Z8Hff7FZynTmioPqqhi49+qROxaQURy1435KcZcRb40axLJLWq4Nnm57PL0rsmEWw==", + "license": "MIT", "dependencies": { - "debug": "^4.3.7", + "debug": "^4.4.3", "uuid": "^11.1.0", "zod": "3.25.75" }, @@ -61,17 +62,19 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/esm/bin/uuid" } }, "node_modules/@microsoft/agents-copilotstudio-client": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-copilotstudio-client/-/agents-copilotstudio-client-1.0.15.tgz", - "integrity": "sha512-pAMR6M5UKy7bAS9aHmsko6yuLky/7Aou6VpQ9MRCHzkKJCQEvoT57iGPip3E5H4C0EfPcW2/NkCW84+Y3hDTHw==", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-copilotstudio-client/-/agents-copilotstudio-client-1.1.0-alpha.58.tgz", + "integrity": "sha512-JiOE67ku4tmTVfcnaOq4WiR5ghxbqf31QmP1bThXkmuOokB2P25K+7WU/83IUkEtla0vpJW0ycDw1XGabpWitQ==", + "license": "MIT", "dependencies": { - "@microsoft/agents-activity": "1.0.15", - "axios": "^1.9.0", + "@microsoft/agents-activity": "1.1.0-alpha.58", + "eventsource-client": "^1.2.0", "rxjs": "7.8.2", "uuid": "^11.1.0" }, @@ -115,21 +118,6 @@ "undici-types": "~6.21.0" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/axios": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", - "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.4", - "proxy-from-env": "^1.1.0" - } - }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", @@ -149,33 +137,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -225,27 +191,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", @@ -254,169 +199,25 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gopd": { + "node_modules/eventsource-client": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "resolved": "https://registry.npmjs.org/eventsource-client/-/eventsource-client-1.2.0.tgz", + "integrity": "sha512-kDI75RSzO3TwyG/K9w1ap8XwqSPcwi6jaMkNulfVeZmSeUM49U8kUzk1s+vKNt0tGrXgK47i+620Yasn1ccFiw==", + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.3" + "eventsource-parser": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=18.0.0" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dependencies": { - "function-bind": "^1.1.2" - }, + "node_modules/eventsource-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=18.0.0" } }, "node_modules/is-docker": { @@ -539,33 +340,6 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -588,11 +362,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -692,6 +461,7 @@ "version": "3.25.75", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.75.tgz", "integrity": "sha512-OhpzAmVzabPOL6C3A3gpAifqr9MqihV/Msx3gor2b2kviCgcb+HM9SEOpMWwwNp9MRunWnhtAKUoo0AHhjyPPg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/samples/nodejs/copilotstudio-client/package.json b/samples/nodejs/copilotstudio-client/package.json index 4ec60c48..50bbda44 100644 --- a/samples/nodejs/copilotstudio-client/package.json +++ b/samples/nodejs/copilotstudio-client/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "@azure/msal-node": "^3.5.3", - "@microsoft/agents-copilotstudio-client": "^1.0.0", + "@microsoft/agents-copilotstudio-client": "1.1.0-alpha.58", "open": "^10.1.2" }, "devDependencies": { diff --git a/samples/nodejs/copilotstudio-client/src/index.ts b/samples/nodejs/copilotstudio-client/src/index.ts index ec2acb82..26c98624 100644 --- a/samples/nodejs/copilotstudio-client/src/index.ts +++ b/samples/nodejs/copilotstudio-client/src/index.ts @@ -38,7 +38,6 @@ async function acquireToken (settings: ConnectionSettings): Promise { const pca = new msal.PublicClientApplication(msalConfig) const tokenRequest = { scopes: ['https://api.powerplatform.com/.default'], - redirectUri: 'http://localhost', openBrowser: async (url: string) => { await open(url) } @@ -80,27 +79,55 @@ const askQuestion = async (copilotClient: CopilotStudioClient, conversationId: s rl.close() return } else if (answer.length > 0) { - const replies = await copilotClient.askQuestionAsync(answer, conversationId) - replies.forEach((act: Activity) => { - if (act.type === ActivityTypes.Message) { - console.log(`\n${act.text}`) - act.suggestedActions?.actions.forEach((action: CardAction) => console.log(action.value)) - } else if (act.type === ActivityTypes.EndOfConversation) { - console.log(`\n${act.text}`) + for await (const replyActivity of copilotClient.askQuestionAsync(answer, conversationId)) { + if (replyActivity.type === ActivityTypes.EndOfConversation) { + console.log(`\n${replyActivity.text}`) rl.close() + } else { + printActivity(replyActivity) } - }) + } } await askQuestion(copilotClient, conversationId) }) } +/** + * Writes formatted data to the console. This funciton does not handle all of the possible activity types and formats, + * it is focused on just a few common types. + * @param act The activity to print. + */ +function printActivity (act: Activity): void { + switch (act.type) { + case ActivityTypes.Message: { + if (act.textFormat === 'markdown') { + console.log(`\n${act.text}`) + act.suggestedActions?.actions?.forEach((action: CardAction) => console.log(`\t${action.value}`)) + } else { + console.log(`\n${act.text}`) + } + break + } + case ActivityTypes.Typing: { + console.log('\n...typing...') + break + } + case ActivityTypes.Event: { + console.log(`\n(event) ${act.name}`) + break + } + default: console.log(`\n${act.type}`) + } +} + const main = async () => { const copilotClient = await createClient() - const act: Activity = await copilotClient.startConversationAsync(true) - console.log('\nSuggested Actions: ') - act.suggestedActions?.actions.forEach((action: CardAction) => console.log(action.value)) - await askQuestion(copilotClient, act.conversation?.id!) + let conversationId = '' + for await (const act of copilotClient.startConversationAsync(true)) { + printActivity(act) + conversationId = act.conversation?.id ?? '' + } + await askQuestion(copilotClient, conversationId) } main().catch(e => console.log(e)) From c6545fdb4040362f63f05812d7de60f7565a834a Mon Sep 17 00:00:00 2001 From: CeciliaAvila Date: Wed, 29 Oct 2025 11:54:17 -0300 Subject: [PATCH 06/20] Update nodejs copilotstudio-skill sample --- .../copilotstudio-skill/package-lock.json | 167 ++++++++++++------ .../nodejs/copilotstudio-skill/package.json | 9 +- .../nodejs/copilotstudio-skill/src/agent.ts | 3 + .../nodejs/copilotstudio-skill/src/index.ts | 29 --- 4 files changed, 121 insertions(+), 87 deletions(-) delete mode 100644 samples/nodejs/copilotstudio-skill/src/index.ts diff --git a/samples/nodejs/copilotstudio-skill/package-lock.json b/samples/nodejs/copilotstudio-skill/package-lock.json index 2e6348e9..f08c466f 100644 --- a/samples/nodejs/copilotstudio-skill/package-lock.json +++ b/samples/nodejs/copilotstudio-skill/package-lock.json @@ -9,9 +9,8 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@microsoft/agents-hosting": "^1.0.0", - "@microsoft/microsoft-graph-client": "^3.0.7", - "express": "^5.1.0" + "@microsoft/agents-hosting-express": "1.1.0-alpha.58", + "@microsoft/microsoft-graph-client": "^3.0.7" }, "devDependencies": { "globals": "^16.1.0" @@ -21,6 +20,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "license": "MIT", "dependencies": { "tslib": "^2.6.2" }, @@ -29,12 +29,13 @@ } }, "node_modules/@azure/core-auth": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.0.tgz", - "integrity": "sha512-88Djs5vBvGbHQHf5ZZcaoNHo6Y8BKZkt3cw2iuJIQzLEgH4Ox6Tm4hjFhbqOxyYsgIG/eJbFEHpxRIfEEWv5Ow==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", + "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", + "license": "MIT", "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.11.0", + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" }, "engines": { @@ -42,11 +43,12 @@ } }, "node_modules/@azure/core-util": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.0.tgz", - "integrity": "sha512-o0psW8QWQ58fq3i24Q1K2XfS/jYTxr7O1HRcyUE9bV9NttLU+kYOH82Ixj8DGlMTOWgxm1Sss2QAfKK5UkSPxw==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", + "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", + "license": "MIT", "dependencies": { - "@azure/abort-controller": "^2.0.0", + "@azure/abort-controller": "^2.1.2", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" }, @@ -55,19 +57,21 @@ } }, "node_modules/@azure/msal-common": { - "version": "15.12.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.12.0.tgz", - "integrity": "sha512-4ucXbjVw8KJ5QBgnGJUeA07c8iznwlk5ioHIhI4ASXcXgcf2yRFhWzYOyWg/cI49LC9ekpFJeQtO3zjDTbl6TQ==", + "version": "15.13.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.13.1.tgz", + "integrity": "sha512-vQYQcG4J43UWgo1lj7LcmdsGUKWYo28RfEvDQAEMmQIMjSFufvb+pS0FJ3KXmrPmnWlt1vHDl3oip6mIDUQ4uA==", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.7.3.tgz", - "integrity": "sha512-MoJxkKM/YpChfq4g2o36tElyzNUMG8mfD6u8NbuaPAsqfGpaw249khAcJYNoIOigUzRw45OjXCOrexE6ImdUxg==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.8.1.tgz", + "integrity": "sha512-HszfqoC+i2C9+BRDQfuNUGp15Re7menIhCEbFCQ49D3KaqEDrgZIgQ8zSct4T59jWeUIL9N/Dwiv4o2VueTdqQ==", + "license": "MIT", "dependencies": { - "@azure/msal-common": "15.12.0", + "@azure/msal-common": "15.13.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -84,11 +88,12 @@ } }, "node_modules/@microsoft/agents-activity": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.0.15.tgz", - "integrity": "sha512-1u8BVLsipsgTTte2SrR+LBXMkkU0oKteE6QDk+Dq5yTS4dF9266LPQ6HgOTNEk3PxRFSibrlw7zSO4y6S/d5wA==", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.1.0-alpha.58.tgz", + "integrity": "sha512-YRC9upu3WF9LFiglxA8k7Z8Hff7FZynTmioPqqhi49+qROxaQURy1435KcZcRb40axLJLWq4Nnm57PL0rsmEWw==", + "license": "MIT", "dependencies": { - "debug": "^4.3.7", + "debug": "^4.4.3", "uuid": "^11.1.0", "zod": "3.25.75" }, @@ -104,21 +109,37 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/esm/bin/uuid" } }, "node_modules/@microsoft/agents-hosting": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting/-/agents-hosting-1.0.15.tgz", - "integrity": "sha512-f7fG0jOYH7UUmGkJT+Y7Hu4vrTrlbgsSGD18+I7H3XyrfOnAkjfwfhkd0BF6F4qCTqDokDXmcQuhlPj/w69k7w==", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting/-/agents-hosting-1.1.0-alpha.58.tgz", + "integrity": "sha512-uv0D0lnLlRw57f51zgMviqDq1grzi8IaWqrtKzYh0K0+kbJuWxAYLk/pjbfSsoAH1ZEWVpm+UinjPczAjPHY0A==", + "license": "MIT", "dependencies": { - "@azure/core-auth": "^1.10.0", - "@azure/msal-node": "^3.7.0", - "@microsoft/agents-activity": "1.0.15", - "axios": "^1.11.0", + "@azure/core-auth": "^1.10.1", + "@azure/msal-node": "^3.8.0", + "@microsoft/agents-activity": "1.1.0-alpha.58", + "axios": "^1.12.2", "jsonwebtoken": "^9.0.2", - "jwks-rsa": "^3.2.0" + "jwks-rsa": "^3.2.0", + "object-path": "^0.11.8" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@microsoft/agents-hosting-express": { + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting-express/-/agents-hosting-express-1.1.0-alpha.58.tgz", + "integrity": "sha512-dTH1MVQRgKaTNP7ZKO1G6LM+DFXi/kZH0vnB3ftyY6f+PilFe63Rio+37qGHYOdLuGsHZcyo8+fOkyv+dyCWJQ==", + "license": "MIT", + "dependencies": { + "@microsoft/agents-hosting": "1.1.0-alpha.58", + "express": "^5.1.0" }, "engines": { "node": ">=20.0.0" @@ -251,9 +272,10 @@ } }, "node_modules/@typespec/ts-http-runtime": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.0.tgz", - "integrity": "sha512-sOx1PKSuFwnIl7z4RN0Ls7N9AQawmR9r66eI5rFCzLDIs8HTIYrIpH9QjYWoX0lkgGrkLxXhi4QnK7MizPRrIg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.1.tgz", + "integrity": "sha512-SnbaqayTVFEA6/tYumdF0UmybY0KHyKwGPBXnyckFlrrKdhWFrL3a2HIPXHjht5ZOElKGcXfD2D63P36btb+ww==", + "license": "MIT", "dependencies": { "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", @@ -279,6 +301,7 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", "engines": { "node": ">= 14" } @@ -286,12 +309,14 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" }, "node_modules/axios": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", - "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.1.tgz", + "integrity": "sha512-hU4EGxxt+j7TQijx1oYdAjw4xuIp1wRQSsbMFwSthCWeBQur1eF+qJ5iQ5sN3Tw8YRzQNKb8jszgBdMDVqwJcw==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", @@ -320,7 +345,8 @@ "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" }, "node_modules/bytes": { "version": "3.1.2", @@ -361,6 +387,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -404,9 +431,10 @@ } }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -423,6 +451,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -452,6 +481,7 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" } @@ -500,6 +530,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", @@ -590,6 +621,7 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -603,6 +635,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -618,6 +651,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -626,6 +660,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -730,6 +765,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -778,6 +814,7 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -790,6 +827,7 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "4" @@ -839,6 +877,7 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -860,6 +899,7 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", + "license": "MIT", "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -886,6 +926,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -904,37 +945,44 @@ "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" }, "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" }, "node_modules/lru-cache": { "version": "6.0.0", @@ -1026,6 +1074,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-path": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", + "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "license": "MIT", + "engines": { + "node": ">= 10.12.0" + } + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -1077,7 +1134,8 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" }, "node_modules/qs": { "version": "6.14.0", @@ -1170,9 +1228,10 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -1339,6 +1398,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -1365,6 +1425,7 @@ "version": "3.25.75", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.75.tgz", "integrity": "sha512-OhpzAmVzabPOL6C3A3gpAifqr9MqihV/Msx3gor2b2kviCgcb+HM9SEOpMWwwNp9MRunWnhtAKUoo0AHhjyPPg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/samples/nodejs/copilotstudio-skill/package.json b/samples/nodejs/copilotstudio-skill/package.json index f2377058..2a0b7b17 100644 --- a/samples/nodejs/copilotstudio-skill/package.json +++ b/samples/nodejs/copilotstudio-skill/package.json @@ -1,21 +1,20 @@ { "name": "node-echo-skill", "version": "1.0.0", - "main": "index.js", + "main": "agent.js", "scripts": { "prebuild": "npm ci", "build": "tsc --build", "prestart": "npm run build", - "start": "node --env-file .env dist/index.js" + "start": "node --env-file .env dist/agent.js" }, "keywords": [], "author": "", "license": "ISC", "description": "", "dependencies": { - "@microsoft/agents-hosting": "^1.0.0", - "@microsoft/microsoft-graph-client": "^3.0.7", - "express": "^5.1.0" + "@microsoft/agents-hosting-express": "1.1.0-alpha.58", + "@microsoft/microsoft-graph-client": "^3.0.7" }, "devDependencies": { "globals": "^16.1.0" diff --git a/samples/nodejs/copilotstudio-skill/src/agent.ts b/samples/nodejs/copilotstudio-skill/src/agent.ts index 9346b996..3e6c13ca 100644 --- a/samples/nodejs/copilotstudio-skill/src/agent.ts +++ b/samples/nodejs/copilotstudio-skill/src/agent.ts @@ -1,3 +1,4 @@ +import { startServer } from '@microsoft/agents-hosting-express' import { AgentApplication, MessageFactory } from '@microsoft/agents-hosting' import pjson from '@microsoft/agents-hosting/package.json' @@ -14,3 +15,5 @@ skillAgent.onActivity('message', async (context) => { await context.sendActivity(MessageFactory.text('Running on version ' + pjson.version, 'Running on version ' + pjson.version)) } }) + +startServer(skillAgent) diff --git a/samples/nodejs/copilotstudio-skill/src/index.ts b/samples/nodejs/copilotstudio-skill/src/index.ts deleted file mode 100644 index 1315feba..00000000 --- a/samples/nodejs/copilotstudio-skill/src/index.ts +++ /dev/null @@ -1,29 +0,0 @@ -import express, { json } from 'express' - -import { CloudAdapter, loadAuthConfigFromEnv, authorizeJWT } from '@microsoft/agents-hosting' -import pjson from '@microsoft/agents-hosting/package.json' - -import { skillAgent } from './agent.js' - -const config = loadAuthConfigFromEnv() -const adapter = new CloudAdapter(config) - -const server = express() -server.use(express.static('public')) -server.use(authorizeJWT(config)) - -server.use(json()) -server.post('/api/messages', - async (req, res) => { - await adapter.process(req, res, (context) => skillAgent.run(context)) - } -) - -const port = process.env.PORT || 3978 - -server.listen(port, () => { - console.log(`\n agent skill, running on sdk version ${pjson.version} lisenting on ${port} for clientId ${process.env.clientId}`) -}).on('error', (err) => { - console.error(err) - process.exit(1) -}) From 86e1224a16d4e61cf88c2956d74b4170068e7f9e Mon Sep 17 00:00:00 2001 From: CeciliaAvila Date: Wed, 29 Oct 2025 12:05:47 -0300 Subject: [PATCH 07/20] Update nodejs copilotstudio-webclient sample --- samples/nodejs/copilotstudio-webclient/web/index.html | 4 ++-- .../nodejs/copilotstudio-webclient/web/lib/browser.mjs | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 samples/nodejs/copilotstudio-webclient/web/lib/browser.mjs diff --git a/samples/nodejs/copilotstudio-webclient/web/index.html b/samples/nodejs/copilotstudio-webclient/web/index.html index 787188c5..7f4e44ea 100644 --- a/samples/nodejs/copilotstudio-webclient/web/index.html +++ b/samples/nodejs/copilotstudio-webclient/web/index.html @@ -9,7 +9,7 @@ @@ -18,4 +18,4 @@
- \ No newline at end of file + diff --git a/samples/nodejs/copilotstudio-webclient/web/lib/browser.mjs b/samples/nodejs/copilotstudio-webclient/web/lib/browser.mjs new file mode 100644 index 00000000..c8b4adcf --- /dev/null +++ b/samples/nodejs/copilotstudio-webclient/web/lib/browser.mjs @@ -0,0 +1,8 @@ +var Os=Object.create;var uo=Object.defineProperty;var Ps=Object.getOwnPropertyDescriptor;var Zs=Object.getOwnPropertyNames;var js=Object.getPrototypeOf,ks=Object.prototype.hasOwnProperty;var y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Es=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Zs(e))!ks.call(t,o)&&o!==r&&uo(t,o,{get:()=>e[o],enumerable:!(n=Ps(e,o))||n.enumerable});return t};var Et=(t,e,r)=>(r=t!=null?Os(js(t)):{},Es(e||!t||!t.__esModule?uo(r,"default",{value:t,enumerable:!0}):r,t));var mo=y((tl,ho)=>{var Je=1e3,Ye=Je*60,Xe=Ye*60,Te=Xe*24,qs=Te*7,Fs=Te*365.25;ho.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Vs(t);if(r==="number"&&isFinite(t))return e.long?Ws(t):$s(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Vs(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Fs;case"weeks":case"week":case"w":return r*qs;case"days":case"day":case"d":return r*Te;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Xe;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ye;case"seconds":case"second":case"secs":case"sec":case"s":return r*Je;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function $s(t){var e=Math.abs(t);return e>=Te?Math.round(t/Te)+"d":e>=Xe?Math.round(t/Xe)+"h":e>=Ye?Math.round(t/Ye)+"m":e>=Je?Math.round(t/Je)+"s":t+"ms"}function Ws(t){var e=Math.abs(t);return e>=Te?nr(t,e,Te,"day"):e>=Xe?nr(t,e,Xe,"hour"):e>=Ye?nr(t,e,Ye,"minute"):e>=Je?nr(t,e,Je,"second"):t+" ms"}function nr(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var vo=y((rl,yo)=>{function Hs(t){r.debug=r,r.default=r,r.coerce=d,r.disable=s,r.enable=o,r.enabled=a,r.humanize=mo(),r.destroy=l,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let m=0;for(let _=0;_{if(re==="%%")return"%";ye++;let Zt=r.formatters[Pt];if(typeof Zt=="function"){let $r=S[ye];re=Zt.call(A,$r),S.splice(ye,1),ye--}return re}),r.formatArgs.call(A,S),(A.log||r.log).apply(A,S)}return g.namespace=f,g.useColors=r.useColors(),g.color=r.selectColor(f),g.extend=n,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>_!==null?_:(T!==r.namespaces&&(T=r.namespaces,O=r.enabled(f)),O),set:S=>{_=S}}),typeof r.init=="function"&&r.init(g),g}function n(f,m){let _=r(this.namespace+(typeof m=="undefined"?":":m)+f);return _.log=this.log,_}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let m=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let _ of m)_[0]==="-"?r.skips.push(_.slice(1)):r.names.push(_)}function i(f,m){let _=0,T=0,O=-1,g=0;for(;_"-"+m)].join(",");return r.enable(""),f}function a(f){for(let m of r.skips)if(i(f,m))return!1;for(let m of r.names)if(i(f,m))return!0;return!1}function d(f){return f instanceof Error?f.stack||f.message:f}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}yo.exports=Hs});var go=y((V,or)=>{V.formatArgs=Ks;V.save=Gs;V.load=Js;V.useColors=Bs;V.storage=Ys();V.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();V.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Bs(){if(typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Ks(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+or.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}V.log=console.debug||console.log||(()=>{});function Gs(t){try{t?V.storage.setItem("debug",t):V.storage.removeItem("debug")}catch{}}function Js(){let t;try{t=V.storage.getItem("debug")||V.storage.getItem("DEBUG")}catch{}return!t&&typeof process!="undefined"&&"env"in process&&(t=process.env.DEBUG),t}function Ys(){try{return localStorage}catch{}}or.exports=vo()(V);var{formatters:Xs}=or.exports;Xs.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Mt=y(Se=>{"use strict";var Qs=Se&&Se.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Se,"__esModule",{value:!0});Se.Logger=void 0;Se.debug=ra;var ea=Qs(go()),ta=["info","warn","error","debug"],ir=class{constructor(e=""){this.loggers={},this.initializeLoggers(e)}initializeLoggers(e){for(let r of ta){let n=(0,ea.default)(`${e}:${r}`);n.color=this.getPlatformColor(r),this.loggers[r]=n}}getPlatformColor(e){return{node:{info:"2",warn:"3",error:"1",debug:"4"},browser:{info:"#33CC99",warn:"#CCCC33",error:"#CC3366",debug:"#0066FF"}}[typeof window!="undefined"?"browser":"node"][e]}info(e,...r){this.loggers.info(e,...r)}warn(e,...r){this.loggers.warn(e,...r)}error(e,...r){this.loggers.error(e,...r)}debug(e,...r){this.loggers.debug(e,...r)}};Se.Logger=ir;function ra(t){return new ir(t)}});var Dt=y(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.getParsedType=k.ZodParsedType=k.objectUtil=k.util=void 0;var Gr;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let i={};for(let s of o)i[s]=s;return i},t.getValidEnumValues=o=>{let i=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),s={};for(let a of i)s[a]=o[a];return t.objectValues(s)},t.objectValues=o=>t.objectKeys(o).map(function(i){return o[i]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let i=[];for(let s in o)Object.prototype.hasOwnProperty.call(o,s)&&i.push(s);return i},t.find=(o,i)=>{for(let s of o)if(i(s))return s},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,i=" | "){return o.map(s=>typeof s=="string"?`'${s}'`:s).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(o,i)=>typeof i=="bigint"?i.toString():i})(Gr||(k.util=Gr={}));var wo;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(wo||(k.objectUtil=wo={}));k.ZodParsedType=Gr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var sa=t=>{switch(typeof t){case"undefined":return k.ZodParsedType.undefined;case"string":return k.ZodParsedType.string;case"number":return Number.isNaN(t)?k.ZodParsedType.nan:k.ZodParsedType.number;case"boolean":return k.ZodParsedType.boolean;case"function":return k.ZodParsedType.function;case"bigint":return k.ZodParsedType.bigint;case"symbol":return k.ZodParsedType.symbol;case"object":return Array.isArray(t)?k.ZodParsedType.array:t===null?k.ZodParsedType.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?k.ZodParsedType.promise:typeof Map!="undefined"&&t instanceof Map?k.ZodParsedType.map:typeof Set!="undefined"&&t instanceof Set?k.ZodParsedType.set:typeof Date!="undefined"&&t instanceof Date?k.ZodParsedType.date:k.ZodParsedType.object;default:return k.ZodParsedType.unknown}};k.getParsedType=sa});var dr=y(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.ZodError=ve.quotelessJson=ve.ZodIssueCode=void 0;var Co=Dt();ve.ZodIssueCode=Co.util.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var aa=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");ve.quotelessJson=aa;var zt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(o);else if(s.code==="invalid_return_type")o(s.returnTypeError);else if(s.code==="invalid_arguments")o(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let a=n,d=0;for(;dr.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let i=o.path[0];r[i]=r[i]||[],r[i].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};ve.ZodError=zt;zt.create=t=>new zt(t)});var Yr=y(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});var M=dr(),Ae=Dt(),ca=(t,e)=>{let r;switch(t.code){case M.ZodIssueCode.invalid_type:t.received===Ae.ZodParsedType.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case M.ZodIssueCode.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,Ae.util.jsonStringifyReplacer)}`;break;case M.ZodIssueCode.unrecognized_keys:r=`Unrecognized key(s) in object: ${Ae.util.joinValues(t.keys,", ")}`;break;case M.ZodIssueCode.invalid_union:r="Invalid input";break;case M.ZodIssueCode.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Ae.util.joinValues(t.options)}`;break;case M.ZodIssueCode.invalid_enum_value:r=`Invalid enum value. Expected ${Ae.util.joinValues(t.options)}, received '${t.received}'`;break;case M.ZodIssueCode.invalid_arguments:r="Invalid function arguments";break;case M.ZodIssueCode.invalid_return_type:r="Invalid function return type";break;case M.ZodIssueCode.invalid_date:r="Invalid date";break;case M.ZodIssueCode.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:Ae.util.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case M.ZodIssueCode.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case M.ZodIssueCode.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case M.ZodIssueCode.custom:r="Invalid input";break;case M.ZodIssueCode.invalid_intersection_types:r="Intersection results could not be merged";break;case M.ZodIssueCode.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case M.ZodIssueCode.not_finite:r="Number must be finite";break;default:r=e.defaultError,Ae.util.assertNever(t)}return{message:r}};Jr.default=ca});var lr=y(ge=>{"use strict";var ua=ge&&ge.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ge,"__esModule",{value:!0});ge.defaultErrorMap=void 0;ge.setErrorMap=da;ge.getErrorMap=la;var Io=ua(Yr());ge.defaultErrorMap=Io.default;var To=Io.default;function da(t){To=t}function la(){return To}});var Qr=y(Z=>{"use strict";var fa=Z&&Z.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Z,"__esModule",{value:!0});Z.isAsync=Z.isValid=Z.isDirty=Z.isAborted=Z.OK=Z.DIRTY=Z.INVALID=Z.ParseStatus=Z.EMPTY_PATH=Z.makeIssue=void 0;Z.addIssueToContext=ma;var pa=lr(),So=fa(Yr()),ha=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,i=[...r,...o.path||[]],s={...o,path:i};if(o.message!==void 0)return{...o,path:i,message:o.message};let a="",d=n.filter(l=>!!l).slice().reverse();for(let l of d)a=l(s,{data:e,defaultError:a}).message;return{...o,path:i,message:a}};Z.makeIssue=ha;Z.EMPTY_PATH=[];function ma(t,e){let r=(0,pa.getErrorMap)(),n=(0,Z.makeIssue)({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===So.default?void 0:So.default].filter(o=>!!o)});t.common.issues.push(n)}var Xr=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return Z.INVALID;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let i=await o.key,s=await o.value;n.push({key:i,value:s})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:i,value:s}=o;if(i.status==="aborted"||s.status==="aborted")return Z.INVALID;i.status==="dirty"&&e.dirty(),s.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof s.value!="undefined"||o.alwaysSet)&&(n[i.value]=s.value)}return{status:e.value,value:n}}};Z.ParseStatus=Xr;Z.INVALID=Object.freeze({status:"aborted"});var ya=t=>({status:"dirty",value:t});Z.DIRTY=ya;var va=t=>({status:"valid",value:t});Z.OK=va;var ga=t=>t.status==="aborted";Z.isAborted=ga;var _a=t=>t.status==="dirty";Z.isDirty=_a;var ba=t=>t.status==="valid";Z.isValid=ba;var xa=t=>typeof Promise!="undefined"&&t instanceof Promise;Z.isAsync=xa});var Oo=y(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0})});var Zo=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.errorUtil=void 0;var Po;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(Po||(fr.errorUtil=Po={}))});var Fo=y(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});c.discriminatedUnion=c.date=c.boolean=c.bigint=c.array=c.any=c.coerce=c.ZodFirstPartyTypeKind=c.late=c.ZodSchema=c.Schema=c.ZodReadonly=c.ZodPipeline=c.ZodBranded=c.BRAND=c.ZodNaN=c.ZodCatch=c.ZodDefault=c.ZodNullable=c.ZodOptional=c.ZodTransformer=c.ZodEffects=c.ZodPromise=c.ZodNativeEnum=c.ZodEnum=c.ZodLiteral=c.ZodLazy=c.ZodFunction=c.ZodSet=c.ZodMap=c.ZodRecord=c.ZodTuple=c.ZodIntersection=c.ZodDiscriminatedUnion=c.ZodUnion=c.ZodObject=c.ZodArray=c.ZodVoid=c.ZodNever=c.ZodUnknown=c.ZodAny=c.ZodNull=c.ZodUndefined=c.ZodSymbol=c.ZodDate=c.ZodBoolean=c.ZodBigInt=c.ZodNumber=c.ZodString=c.ZodType=void 0;c.NEVER=c.void=c.unknown=c.union=c.undefined=c.tuple=c.transformer=c.symbol=c.string=c.strictObject=c.set=c.record=c.promise=c.preprocess=c.pipeline=c.ostring=c.optional=c.onumber=c.oboolean=c.object=c.number=c.nullable=c.null=c.never=c.nativeEnum=c.nan=c.map=c.literal=c.lazy=c.intersection=c.instanceof=c.function=c.enum=c.effect=void 0;c.datetimeRegex=Ro;c.custom=No;var p=dr(),pr=lr(),v=Zo(),u=Qr(),h=Dt(),K=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},jo=(t,e)=>{if((0,u.isValid)(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new p.ZodError(t.common.issues);return this._error=r,this._error}}};function C(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(s,a)=>{var l,f;let{message:d}=t;return s.code==="invalid_enum_value"?{message:d!=null?d:a.defaultError}:typeof a.data=="undefined"?{message:(l=d!=null?d:n)!=null?l:a.defaultError}:s.code!=="invalid_type"?{message:a.defaultError}:{message:(f=d!=null?d:r)!=null?f:a.defaultError}},description:o}}var I=class{get description(){return this._def.description}_getType(e){return(0,h.getParsedType)(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:(0,h.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new u.ParseStatus,ctx:{common:e.parent.common,data:e.data,parsedType:(0,h.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if((0,u.isAsync)(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){var i;let n={common:{issues:[],async:(i=r==null?void 0:r.async)!=null?i:!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,h.getParsedType)(e)},o=this._parseSync({data:e,path:n.path,parent:n});return jo(n,o)}"~validate"(e){var n,o;let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,h.getParsedType)(e)};if(!this["~standard"].async)try{let i=this._parseSync({data:e,path:[],parent:r});return(0,u.isValid)(i)?{value:i.value}:{issues:r.common.issues}}catch(i){(o=(n=i==null?void 0:i.message)==null?void 0:n.toLowerCase())!=null&&o.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(i=>(0,u.isValid)(i)?{value:i.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,h.getParsedType)(e)},o=this._parse({data:e,path:n.path,parent:n}),i=await((0,u.isAsync)(o)?o:Promise.resolve(o));return jo(n,i)}refine(e,r){let n=o=>typeof r=="string"||typeof r=="undefined"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,i)=>{let s=e(o),a=()=>i.addIssue({code:p.ZodIssueCode.custom,...n(o)});return typeof Promise!="undefined"&&s instanceof Promise?s.then(d=>d?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new H({schema:this,typeName:w.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return B.create(this,this._def)}nullable(){return se.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return le.create(this)}promise(){return xe.create(this,this._def)}or(e){return Ue.create([this,e],this._def)}and(e){return Re.create(this,e,this._def)}transform(e){return new H({...C(this._def),schema:this,typeName:w.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Le({...C(this._def),innerType:this,defaultValue:r,typeName:w.ZodDefault})}brand(){return new Lt({typeName:w.ZodBranded,type:this,...C(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new qe({...C(this._def),innerType:this,catchValue:r,typeName:w.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return qt.create(this,e)}readonly(){return Fe.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};c.ZodType=I;c.Schema=I;c.ZodSchema=I;var wa=/^c[^\s-]{8,}$/i,Ca=/^[0-9a-z]+$/,Ia=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ta=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Sa=/^[a-z0-9_-]{21}$/i,Aa=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Oa=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Pa=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Za="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",en,ja=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ka=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Ea=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ua=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ra=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ma=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Eo="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Na=new RegExp(`^${Eo}$`);function Uo(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Da(t){return new RegExp(`^${Uo(t)}$`)}function Ro(t){let e=`${Eo}T${Uo(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function za(t,e){return!!((e==="v4"||!e)&&ja.test(t)||(e==="v6"||!e)&&Ea.test(t))}function La(t,e){if(!Aa.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&(o==null?void 0:o.typ)!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function qa(t,e){return!!((e==="v4"||!e)&&ka.test(t)||(e==="v6"||!e)&&Ua.test(t))}var _e=class t extends I{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==h.ZodParsedType.string){let i=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(i,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.string,received:i.parsedType}),u.INVALID}let n=new u.ParseStatus,o;for(let i of this._def.checks)if(i.kind==="min")e.data.lengthi.value&&(o=this._getOrReturnCtx(e,o),(0,u.addIssueToContext)(o,{code:p.ZodIssueCode.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let s=e.data.length>i.value,a=e.data.lengthe.test(o),{validation:r,code:p.ZodIssueCode.invalid_string,...v.errorUtil.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...v.errorUtil.errToObj(e)})}url(e){return this._addCheck({kind:"url",...v.errorUtil.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...v.errorUtil.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...v.errorUtil.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...v.errorUtil.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...v.errorUtil.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...v.errorUtil.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...v.errorUtil.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...v.errorUtil.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...v.errorUtil.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...v.errorUtil.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...v.errorUtil.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...v.errorUtil.errToObj(e)})}datetime(e){var r,n;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,offset:(r=e==null?void 0:e.offset)!=null?r:!1,local:(n=e==null?void 0:e.local)!=null?n:!1,...v.errorUtil.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,...v.errorUtil.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...v.errorUtil.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...v.errorUtil.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r==null?void 0:r.position,...v.errorUtil.errToObj(r==null?void 0:r.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...v.errorUtil.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...v.errorUtil.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...v.errorUtil.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...v.errorUtil.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...v.errorUtil.errToObj(r)})}nonempty(e){return this.min(1,v.errorUtil.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value{var e;return new _e({checks:[],typeName:w.ZodString,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...C(t)})};function Fa(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(t.toFixed(o).replace(".","")),s=Number.parseInt(e.toFixed(o).replace(".",""));return i%s/10**o}var Oe=class t extends I{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==h.ZodParsedType.number){let i=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(i,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.number,received:i.parsedType}),u.INVALID}let n,o=new u.ParseStatus;for(let i of this._def.checks)i.kind==="int"?h.util.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:i.message}),o.dirty()):i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="multipleOf"?Fa(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.not_finite,message:i.message}),o.dirty()):h.util.assertNever(i);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,v.errorUtil.toString(r))}gt(e,r){return this.setLimit("min",e,!1,v.errorUtil.toString(r))}lte(e,r){return this.setLimit("max",e,!0,v.errorUtil.toString(r))}lt(e,r){return this.setLimit("max",e,!1,v.errorUtil.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:v.errorUtil.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:v.errorUtil.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.errorUtil.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:v.errorUtil.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:v.errorUtil.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.errorUtil.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.errorUtil.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&h.util.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew Oe({checks:[],typeName:w.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...C(t)});var Pe=class t extends I{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==h.ZodParsedType.bigint)return this._getInvalidInput(e);let n,o=new u.ParseStatus;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):h.util.assertNever(i);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.bigint,received:r.parsedType}),u.INVALID}gte(e,r){return this.setLimit("min",e,!0,v.errorUtil.toString(r))}gt(e,r){return this.setLimit("min",e,!1,v.errorUtil.toString(r))}lte(e,r){return this.setLimit("max",e,!0,v.errorUtil.toString(r))}lt(e,r){return this.setLimit("max",e,!1,v.errorUtil.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:v.errorUtil.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.errorUtil.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:v.errorUtil.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value{var e;return new Pe({checks:[],typeName:w.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...C(t)})};var Ze=class extends I{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==h.ZodParsedType.boolean){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.boolean,received:n.parsedType}),u.INVALID}return(0,u.OK)(e.data)}};c.ZodBoolean=Ze;Ze.create=t=>new Ze({typeName:w.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...C(t)});var je=class t extends I{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==h.ZodParsedType.date){let i=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(i,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.date,received:i.parsedType}),u.INVALID}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(i,{code:p.ZodIssueCode.invalid_date}),u.INVALID}let n=new u.ParseStatus,o;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()i.value&&(o=this._getOrReturnCtx(e,o),(0,u.addIssueToContext)(o,{code:p.ZodIssueCode.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):h.util.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:v.errorUtil.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:v.errorUtil.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew je({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:w.ZodDate,...C(t)});var tt=class extends I{_parse(e){if(this._getType(e)!==h.ZodParsedType.symbol){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.symbol,received:n.parsedType}),u.INVALID}return(0,u.OK)(e.data)}};c.ZodSymbol=tt;tt.create=t=>new tt({typeName:w.ZodSymbol,...C(t)});var ke=class extends I{_parse(e){if(this._getType(e)!==h.ZodParsedType.undefined){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.undefined,received:n.parsedType}),u.INVALID}return(0,u.OK)(e.data)}};c.ZodUndefined=ke;ke.create=t=>new ke({typeName:w.ZodUndefined,...C(t)});var Ee=class extends I{_parse(e){if(this._getType(e)!==h.ZodParsedType.null){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.null,received:n.parsedType}),u.INVALID}return(0,u.OK)(e.data)}};c.ZodNull=Ee;Ee.create=t=>new Ee({typeName:w.ZodNull,...C(t)});var be=class extends I{constructor(){super(...arguments),this._any=!0}_parse(e){return(0,u.OK)(e.data)}};c.ZodAny=be;be.create=t=>new be({typeName:w.ZodAny,...C(t)});var de=class extends I{constructor(){super(...arguments),this._unknown=!0}_parse(e){return(0,u.OK)(e.data)}};c.ZodUnknown=de;de.create=t=>new de({typeName:w.ZodUnknown,...C(t)});var X=class extends I{_parse(e){let r=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.never,received:r.parsedType}),u.INVALID}};c.ZodNever=X;X.create=t=>new X({typeName:w.ZodNever,...C(t)});var rt=class extends I{_parse(e){if(this._getType(e)!==h.ZodParsedType.undefined){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.void,received:n.parsedType}),u.INVALID}return(0,u.OK)(e.data)}};c.ZodVoid=rt;rt.create=t=>new rt({typeName:w.ZodVoid,...C(t)});var le=class t extends I{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==h.ZodParsedType.array)return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.array,received:r.parsedType}),u.INVALID;if(o.exactLength!==null){let s=r.data.length>o.exactLength.value,a=r.data.lengtho.maxLength.value&&((0,u.addIssueToContext)(r,{code:p.ZodIssueCode.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((s,a)=>o.type._parseAsync(new K(r,s,r.path,a)))).then(s=>u.ParseStatus.mergeArray(n,s));let i=[...r.data].map((s,a)=>o.type._parseSync(new K(r,s,r.path,a)));return u.ParseStatus.mergeArray(n,i)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:v.errorUtil.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:v.errorUtil.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:v.errorUtil.toString(r)}})}nonempty(e){return this.min(1,e)}};c.ZodArray=le;le.create=(t,e)=>new le({type:t,minLength:null,maxLength:null,exactLength:null,typeName:w.ZodArray,...C(e)});function et(t){if(t instanceof $){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=B.create(et(n))}return new $({...t._def,shape:()=>e})}else return t instanceof le?new le({...t._def,type:et(t.element)}):t instanceof B?B.create(et(t.unwrap())):t instanceof se?se.create(et(t.unwrap())):t instanceof ie?ie.create(t.items.map(e=>et(e))):t}var $=class t extends I{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=h.util.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==h.ZodParsedType.object){let l=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(l,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.object,received:l.parsedType}),u.INVALID}let{status:n,ctx:o}=this._processInputParams(e),{shape:i,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof X&&this._def.unknownKeys==="strip"))for(let l in o.data)s.includes(l)||a.push(l);let d=[];for(let l of s){let f=i[l],m=o.data[l];d.push({key:{status:"valid",value:l},value:f._parse(new K(o,m,o.path,l)),alwaysSet:l in o.data})}if(this._def.catchall instanceof X){let l=this._def.unknownKeys;if(l==="passthrough")for(let f of a)d.push({key:{status:"valid",value:f},value:{status:"valid",value:o.data[f]}});else if(l==="strict")a.length>0&&((0,u.addIssueToContext)(o,{code:p.ZodIssueCode.unrecognized_keys,keys:a}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let l=this._def.catchall;for(let f of a){let m=o.data[f];d.push({key:{status:"valid",value:f},value:l._parse(new K(o,m,o.path,f)),alwaysSet:f in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let l=[];for(let f of d){let m=await f.key,_=await f.value;l.push({key:m,value:_,alwaysSet:f.alwaysSet})}return l}).then(l=>u.ParseStatus.mergeObjectSync(n,l)):u.ParseStatus.mergeObjectSync(n,d)}get shape(){return this._def.shape()}strict(e){return v.errorUtil.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{var i,s,a,d;let o=(a=(s=(i=this._def).errorMap)==null?void 0:s.call(i,r,n).message)!=null?a:n.defaultError;return r.code==="unrecognized_keys"?{message:(d=v.errorUtil.errToObj(e).message)!=null?d:o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:w.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of h.util.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of h.util.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return et(this)}partial(e){let r={};for(let n of h.util.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of h.util.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof B;)i=i._def.innerType;r[n]=i}return new t({...this._def,shape:()=>r})}keyof(){return Mo(h.util.objectKeys(this.shape))}};c.ZodObject=$;$.create=(t,e)=>new $({shape:()=>t,unknownKeys:"strip",catchall:X.create(),typeName:w.ZodObject,...C(e)});$.strictCreate=(t,e)=>new $({shape:()=>t,unknownKeys:"strict",catchall:X.create(),typeName:w.ZodObject,...C(e)});$.lazycreate=(t,e)=>new $({shape:t,unknownKeys:"strip",catchall:X.create(),typeName:w.ZodObject,...C(e)});var Ue=class extends I{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let s=i.map(a=>new p.ZodError(a.ctx.common.issues));return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_union,unionErrors:s}),u.INVALID}if(r.common.async)return Promise.all(n.map(async i=>{let s={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:s}),ctx:s}})).then(o);{let i,s=[];for(let d of n){let l={...r,common:{...r.common,issues:[]},parent:null},f=d._parseSync({data:r.data,path:r.path,parent:l});if(f.status==="valid")return f;f.status==="dirty"&&!i&&(i={result:f,ctx:l}),l.common.issues.length&&s.push(l.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(d=>new p.ZodError(d));return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_union,unionErrors:a}),u.INVALID}}get options(){return this._def.options}};c.ZodUnion=Ue;Ue.create=(t,e)=>new Ue({options:t,typeName:w.ZodUnion,...C(e)});var ue=t=>t instanceof Me?ue(t.schema):t instanceof H?ue(t.innerType()):t instanceof Ne?[t.value]:t instanceof De?t.options:t instanceof ze?h.util.objectValues(t.enum):t instanceof Le?ue(t._def.innerType):t instanceof ke?[void 0]:t instanceof Ee?[null]:t instanceof B?[void 0,...ue(t.unwrap())]:t instanceof se?[null,...ue(t.unwrap())]:t instanceof Lt||t instanceof Fe?ue(t.unwrap()):t instanceof qe?ue(t._def.innerType):[],hr=class t extends I{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==h.ZodParsedType.object)return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.object,received:r.parsedType}),u.INVALID;let n=this.discriminator,o=r.data[n],i=this.optionsMap.get(o);return i?r.common.async?i._parseAsync({data:r.data,path:r.path,parent:r}):i._parseSync({data:r.data,path:r.path,parent:r}):((0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),u.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let i of r){let s=ue(i.shape[e]);if(!s.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of s){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,i)}}return new t({typeName:w.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...C(n)})}};c.ZodDiscriminatedUnion=hr;function tn(t,e){let r=(0,h.getParsedType)(t),n=(0,h.getParsedType)(e);if(t===e)return{valid:!0,data:t};if(r===h.ZodParsedType.object&&n===h.ZodParsedType.object){let o=h.util.objectKeys(e),i=h.util.objectKeys(t).filter(a=>o.indexOf(a)!==-1),s={...t,...e};for(let a of i){let d=tn(t[a],e[a]);if(!d.valid)return{valid:!1};s[a]=d.data}return{valid:!0,data:s}}else if(r===h.ZodParsedType.array&&n===h.ZodParsedType.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let i=0;i{if((0,u.isAborted)(i)||(0,u.isAborted)(s))return u.INVALID;let a=tn(i.value,s.value);return a.valid?(((0,u.isDirty)(i)||(0,u.isDirty)(s))&&r.dirty(),{status:r.value,value:a.data}):((0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_intersection_types}),u.INVALID)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,s])=>o(i,s)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};c.ZodIntersection=Re;Re.create=(t,e,r)=>new Re({left:t,right:e,typeName:w.ZodIntersection,...C(r)});var ie=class t extends I{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.array)return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.array,received:n.parsedType}),u.INVALID;if(n.data.lengththis._def.items.length&&((0,u.addIssueToContext)(n,{code:p.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((s,a)=>{let d=this._def.items[a]||this._def.rest;return d?d._parse(new K(n,s,n.path,a)):null}).filter(s=>!!s);return n.common.async?Promise.all(i).then(s=>u.ParseStatus.mergeArray(r,s)):u.ParseStatus.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};c.ZodTuple=ie;ie.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ie({items:t,typeName:w.ZodTuple,rest:null,...C(e)})};var mr=class t extends I{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.object)return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.object,received:n.parsedType}),u.INVALID;let o=[],i=this._def.keyType,s=this._def.valueType;for(let a in n.data)o.push({key:i._parse(new K(n,a,n.path,a)),value:s._parse(new K(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?u.ParseStatus.mergeObjectAsync(r,o):u.ParseStatus.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof I?new t({keyType:e,valueType:r,typeName:w.ZodRecord,...C(n)}):new t({keyType:_e.create(),valueType:e,typeName:w.ZodRecord,...C(r)})}};c.ZodRecord=mr;var nt=class extends I{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.map)return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.map,received:n.parsedType}),u.INVALID;let o=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([a,d],l)=>({key:o._parse(new K(n,a,n.path,[l,"key"])),value:i._parse(new K(n,d,n.path,[l,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let d of s){let l=await d.key,f=await d.value;if(l.status==="aborted"||f.status==="aborted")return u.INVALID;(l.status==="dirty"||f.status==="dirty")&&r.dirty(),a.set(l.value,f.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let d of s){let l=d.key,f=d.value;if(l.status==="aborted"||f.status==="aborted")return u.INVALID;(l.status==="dirty"||f.status==="dirty")&&r.dirty(),a.set(l.value,f.value)}return{status:r.value,value:a}}}};c.ZodMap=nt;nt.create=(t,e,r)=>new nt({valueType:e,keyType:t,typeName:w.ZodMap,...C(r)});var ot=class t extends I{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.set)return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.set,received:n.parsedType}),u.INVALID;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&((0,u.addIssueToContext)(n,{code:p.ZodIssueCode.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let i=this._def.valueType;function s(d){let l=new Set;for(let f of d){if(f.status==="aborted")return u.INVALID;f.status==="dirty"&&r.dirty(),l.add(f.value)}return{status:r.value,value:l}}let a=[...n.data.values()].map((d,l)=>i._parse(new K(n,d,n.path,l)));return n.common.async?Promise.all(a).then(d=>s(d)):s(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:v.errorUtil.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:v.errorUtil.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};c.ZodSet=ot;ot.create=(t,e)=>new ot({valueType:t,minSize:null,maxSize:null,typeName:w.ZodSet,...C(e)});var yr=class t extends I{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==h.ZodParsedType.function)return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.function,received:r.parsedType}),u.INVALID;function n(a,d){return(0,u.makeIssue)({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,(0,pr.getErrorMap)(),pr.defaultErrorMap].filter(l=>!!l),issueData:{code:p.ZodIssueCode.invalid_arguments,argumentsError:d}})}function o(a,d){return(0,u.makeIssue)({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,(0,pr.getErrorMap)(),pr.defaultErrorMap].filter(l=>!!l),issueData:{code:p.ZodIssueCode.invalid_return_type,returnTypeError:d}})}let i={errorMap:r.common.contextualErrorMap},s=r.data;if(this._def.returns instanceof xe){let a=this;return(0,u.OK)(async function(...d){let l=new p.ZodError([]),f=await a._def.args.parseAsync(d,i).catch(T=>{throw l.addIssue(n(d,T)),l}),m=await Reflect.apply(s,this,f);return await a._def.returns._def.type.parseAsync(m,i).catch(T=>{throw l.addIssue(o(m,T)),l})})}else{let a=this;return(0,u.OK)(function(...d){let l=a._def.args.safeParse(d,i);if(!l.success)throw new p.ZodError([n(d,l.error)]);let f=Reflect.apply(s,this,l.data),m=a._def.returns.safeParse(f,i);if(!m.success)throw new p.ZodError([o(f,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:ie.create(e).rest(de.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||ie.create([]).rest(de.create()),returns:r||de.create(),typeName:w.ZodFunction,...C(n)})}};c.ZodFunction=yr;var Me=class extends I{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};c.ZodLazy=Me;Me.create=(t,e)=>new Me({getter:t,typeName:w.ZodLazy,...C(e)});var Ne=class extends I{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(r,{received:r.data,code:p.ZodIssueCode.invalid_literal,expected:this._def.value}),u.INVALID}return{status:"valid",value:e.data}}get value(){return this._def.value}};c.ZodLiteral=Ne;Ne.create=(t,e)=>new Ne({value:t,typeName:w.ZodLiteral,...C(e)});function Mo(t,e){return new De({values:t,typeName:w.ZodEnum,...C(e)})}var De=class t extends I{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return(0,u.addIssueToContext)(r,{expected:h.util.joinValues(n),received:r.parsedType,code:p.ZodIssueCode.invalid_type}),u.INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return(0,u.addIssueToContext)(r,{received:r.data,code:p.ZodIssueCode.invalid_enum_value,options:n}),u.INVALID}return(0,u.OK)(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};c.ZodEnum=De;De.create=Mo;var ze=class extends I{_parse(e){let r=h.util.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==h.ZodParsedType.string&&n.parsedType!==h.ZodParsedType.number){let o=h.util.objectValues(r);return(0,u.addIssueToContext)(n,{expected:h.util.joinValues(o),received:n.parsedType,code:p.ZodIssueCode.invalid_type}),u.INVALID}if(this._cache||(this._cache=new Set(h.util.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=h.util.objectValues(r);return(0,u.addIssueToContext)(n,{received:n.data,code:p.ZodIssueCode.invalid_enum_value,options:o}),u.INVALID}return(0,u.OK)(e.data)}get enum(){return this._def.values}};c.ZodNativeEnum=ze;ze.create=(t,e)=>new ze({values:t,typeName:w.ZodNativeEnum,...C(e)});var xe=class extends I{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==h.ZodParsedType.promise&&r.common.async===!1)return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.promise,received:r.parsedType}),u.INVALID;let n=r.parsedType===h.ZodParsedType.promise?r.data:Promise.resolve(r.data);return(0,u.OK)(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};c.ZodPromise=xe;xe.create=(t,e)=>new xe({type:t,typeName:w.ZodPromise,...C(e)});var H=class extends I{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===w.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,i={addIssue:s=>{(0,u.addIssueToContext)(n,s),s.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),o.type==="preprocess"){let s=o.transform(n.data,i);if(n.common.async)return Promise.resolve(s).then(async a=>{if(r.value==="aborted")return u.INVALID;let d=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return d.status==="aborted"?u.INVALID:d.status==="dirty"||r.value==="dirty"?(0,u.DIRTY)(d.value):d});{if(r.value==="aborted")return u.INVALID;let a=this._def.schema._parseSync({data:s,path:n.path,parent:n});return a.status==="aborted"?u.INVALID:a.status==="dirty"||r.value==="dirty"?(0,u.DIRTY)(a.value):a}}if(o.type==="refinement"){let s=a=>{let d=o.refinement(a,i);if(n.common.async)return Promise.resolve(d);if(d instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?u.INVALID:(a.status==="dirty"&&r.dirty(),s(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?u.INVALID:(a.status==="dirty"&&r.dirty(),s(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!(0,u.isValid)(s))return u.INVALID;let a=o.transform(s.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>(0,u.isValid)(s)?Promise.resolve(o.transform(s.value,i)).then(a=>({status:r.value,value:a})):u.INVALID);h.util.assertNever(o)}};c.ZodEffects=H;c.ZodTransformer=H;H.create=(t,e,r)=>new H({schema:t,typeName:w.ZodEffects,effect:e,...C(r)});H.createWithPreprocess=(t,e,r)=>new H({schema:e,effect:{type:"preprocess",transform:t},typeName:w.ZodEffects,...C(r)});var B=class extends I{_parse(e){return this._getType(e)===h.ZodParsedType.undefined?(0,u.OK)(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};c.ZodOptional=B;B.create=(t,e)=>new B({innerType:t,typeName:w.ZodOptional,...C(e)});var se=class extends I{_parse(e){return this._getType(e)===h.ZodParsedType.null?(0,u.OK)(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};c.ZodNullable=se;se.create=(t,e)=>new se({innerType:t,typeName:w.ZodNullable,...C(e)});var Le=class extends I{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===h.ZodParsedType.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};c.ZodDefault=Le;Le.create=(t,e)=>new Le({innerType:t,typeName:w.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...C(e)});var qe=class extends I{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return(0,u.isAsync)(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new p.ZodError(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new p.ZodError(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};c.ZodCatch=qe;qe.create=(t,e)=>new qe({innerType:t,typeName:w.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...C(e)});var it=class extends I{_parse(e){if(this._getType(e)!==h.ZodParsedType.nan){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.nan,received:n.parsedType}),u.INVALID}return{status:"valid",value:e.data}}};c.ZodNaN=it;it.create=t=>new it({typeName:w.ZodNaN,...C(t)});c.BRAND=Symbol("zod_brand");var Lt=class extends I{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}};c.ZodBranded=Lt;var qt=class t extends I{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?u.INVALID:i.status==="dirty"?(r.dirty(),(0,u.DIRTY)(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?u.INVALID:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:w.ZodPipeline})}};c.ZodPipeline=qt;var Fe=class extends I{_parse(e){let r=this._def.innerType._parse(e),n=o=>((0,u.isValid)(o)&&(o.value=Object.freeze(o.value)),o);return(0,u.isAsync)(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};c.ZodReadonly=Fe;Fe.create=(t,e)=>new Fe({innerType:t,typeName:w.ZodReadonly,...C(e)});function ko(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function No(t,e={},r){return t?be.create().superRefine((n,o)=>{var s,a;let i=t(n);if(i instanceof Promise)return i.then(d=>{var l,f;if(!d){let m=ko(e,n),_=(f=(l=m.fatal)!=null?l:r)!=null?f:!0;o.addIssue({code:"custom",...m,fatal:_})}});if(!i){let d=ko(e,n),l=(a=(s=d.fatal)!=null?s:r)!=null?a:!0;o.addIssue({code:"custom",...d,fatal:l})}}):be.create()}c.late={object:$.lazycreate};var w;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(w||(c.ZodFirstPartyTypeKind=w={}));var Va=(t,e={message:`Input not instance of ${t.name}`})=>No(r=>r instanceof t,e);c.instanceof=Va;var Do=_e.create;c.string=Do;var zo=Oe.create;c.number=zo;var $a=it.create;c.nan=$a;var Wa=Pe.create;c.bigint=Wa;var Lo=Ze.create;c.boolean=Lo;var Ha=je.create;c.date=Ha;var Ba=tt.create;c.symbol=Ba;var Ka=ke.create;c.undefined=Ka;var Ga=Ee.create;c.null=Ga;var Ja=be.create;c.any=Ja;var Ya=de.create;c.unknown=Ya;var Xa=X.create;c.never=Xa;var Qa=rt.create;c.void=Qa;var ec=le.create;c.array=ec;var tc=$.create;c.object=tc;var rc=$.strictCreate;c.strictObject=rc;var nc=Ue.create;c.union=nc;var oc=hr.create;c.discriminatedUnion=oc;var ic=Re.create;c.intersection=ic;var sc=ie.create;c.tuple=sc;var ac=mr.create;c.record=ac;var cc=nt.create;c.map=cc;var uc=ot.create;c.set=uc;var dc=yr.create;c.function=dc;var lc=Me.create;c.lazy=lc;var fc=Ne.create;c.literal=fc;var pc=De.create;c.enum=pc;var hc=ze.create;c.nativeEnum=hc;var mc=xe.create;c.promise=mc;var qo=H.create;c.effect=qo;c.transformer=qo;var yc=B.create;c.optional=yc;var vc=se.create;c.nullable=vc;var gc=H.createWithPreprocess;c.preprocess=gc;var _c=qt.create;c.pipeline=_c;var bc=()=>Do().optional();c.ostring=bc;var xc=()=>zo().optional();c.onumber=xc;var wc=()=>Lo().optional();c.oboolean=wc;c.coerce={string:(t=>_e.create({...t,coerce:!0})),number:(t=>Oe.create({...t,coerce:!0})),boolean:(t=>Ze.create({...t,coerce:!0})),bigint:(t=>Pe.create({...t,coerce:!0})),date:(t=>je.create({...t,coerce:!0}))};c.NEVER=u.INVALID});var rn=y(G=>{"use strict";var Cc=G&&G.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),st=G&&G.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Cc(e,t,r)};Object.defineProperty(G,"__esModule",{value:!0});st(lr(),G);st(Qr(),G);st(Oo(),G);st(Dt(),G);st(Fo(),G);st(dr(),G)});var j=y(W=>{"use strict";var Vo=W&&W.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Ic=W&&W.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Tc=W&&W.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Vo(e,t,r);return Ic(e,t),e},Sc=W&&W.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Vo(e,t,r)};Object.defineProperty(W,"__esModule",{value:!0});W.z=void 0;var $o=Tc(rn());W.z=$o;Sc(rn(),W);W.default=$o});var nn=y(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.actionTypesZodSchema=at.ActionTypes=void 0;var Ac=j(),Wo;(function(t){t.OpenUrl="openUrl",t.ImBack="imBack",t.PostBack="postBack",t.PlayAudio="playAudio",t.PlayVideo="playVideo",t.ShowImage="showImage",t.DownloadFile="downloadFile",t.Signin="signin",t.Call="call",t.MessageBack="messageBack",t.OpenApp="openApp"})(Wo||(at.ActionTypes=Wo={}));at.actionTypesZodSchema=Ac.z.enum(["openUrl","imBack","postBack","playAudio","showImage","downloadFile","signin","call","messageBack","openApp"])});var on=y(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.semanticActionStateTypesZodSchema=ct.SemanticActionStateTypes=void 0;var Oc=j(),Ho;(function(t){t.Start="start",t.Continue="continue",t.Done="done"})(Ho||(ct.SemanticActionStateTypes=Ho={}));ct.semanticActionStateTypesZodSchema=Oc.z.enum(["start","continue","done"])});var sn=y(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.attachmentLayoutTypesZodSchema=ut.AttachmentLayoutTypes=void 0;var Pc=j(),Bo;(function(t){t.List="list",t.Carousel="carousel"})(Bo||(ut.AttachmentLayoutTypes=Bo={}));ut.attachmentLayoutTypesZodSchema=Pc.z.enum(["list","carousel"])});var an=y(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.Channels=void 0;var Ko;(function(t){t.Alexa="alexa",t.Console="console",t.Directline="directline",t.DirectlineSpeech="directlinespeech",t.Email="email",t.Emulator="emulator",t.Facebook="facebook",t.Groupme="groupme",t.Line="line",t.Msteams="msteams",t.Omni="omnichannel",t.Outlook="outlook",t.Skype="skype",t.Slack="slack",t.Sms="sms",t.Telegram="telegram",t.Telephony="telephony",t.Test="test",t.Webchat="webchat"})(Ko||(vr.Channels=Ko={}))});var cn=y(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.endOfConversationCodesZodSchema=dt.EndOfConversationCodes=void 0;var Zc=j(),Go;(function(t){t.Unknown="unknown",t.CompletedSuccessfully="completedSuccessfully",t.UserCancelled="userCancelled",t.AgentTimedOut="agentTimedOut",t.AgentIssuedInvalidMessage="agentIssuedInvalidMessage",t.ChannelFailed="channelFailed"})(Go||(dt.EndOfConversationCodes=Go={}));dt.endOfConversationCodesZodSchema=Zc.z.enum(["unknown","completedSuccessfully","userCancelled","agentTimedOut","agentIssuedInvalidMessage","channelFailed"])});var Yo=y(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.membershipSourceTypeZodSchema=lt.MembershipSourceTypes=void 0;var jc=j(),Jo;(function(t){t.Channel="channel",t.Team="team"})(Jo||(lt.MembershipSourceTypes=Jo={}));lt.membershipSourceTypeZodSchema=jc.z.enum(["channel","team"])});var Qo=y(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.membershipTypeZodSchema=ft.MembershipTypes=void 0;var kc=j(),Xo;(function(t){t.Direct="direct",t.Transitive="transitive"})(Xo||(ft.MembershipTypes=Xo={}));ft.membershipTypeZodSchema=kc.z.enum(["direct","transitive"])});var Ft=y(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.roleTypeZodSchema=pt.RoleTypes=void 0;var Ec=j(),ei;(function(t){t.User="user",t.Agent="bot",t.Skill="skill",t.AgenticIdentity="agenticAppInstance",t.AgenticUser="agenticUser"})(ei||(pt.RoleTypes=ei={}));pt.roleTypeZodSchema=Ec.z.enum(["user","bot","skill","agenticAppInstance","agenticUser"])});var ti=y(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.addAIToActivity=void 0;var Uc=(t,e,r)=>{var n;let o={type:"https://schema.org/Message","@type":"Message","@context":"https://schema.org","@id":"",additionalType:["AIGeneratedContent"],citation:e,usageInfo:r};(n=t.entities)!==null&&n!==void 0||(t.entities=[]),t.entities.push(o)};gr.addAIToActivity=Uc});var ri=y(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.adaptiveCardInvokeActionZodSchema=void 0;var Ve=j();_r.adaptiveCardInvokeActionZodSchema=Ve.z.object({type:Ve.z.string().min(1),id:Ve.z.string().optional(),verb:Ve.z.string().min(1),data:Ve.z.record(Ve.z.string().min(1),Ve.z.any())})});var ni=y(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.default="ffffffff-ffff-ffff-ffff-ffffffffffff"});var oi=y(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.default="00000000-0000-0000-0000-000000000000"});var ii=y(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i});var Vt=y(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});var Rc=ii();function Mc(t){return typeof t=="string"&&Rc.default.test(t)}fn.default=Mc});var $t=y(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});var Nc=Vt();function Dc(t){if(!(0,Nc.default)(t))throw TypeError("Invalid UUID");let e;return Uint8Array.of((e=parseInt(t.slice(0,8),16))>>>24,e>>>16&255,e>>>8&255,e&255,(e=parseInt(t.slice(9,13),16))>>>8,e&255,(e=parseInt(t.slice(14,18),16))>>>8,e&255,(e=parseInt(t.slice(19,23),16))>>>8,e&255,(e=parseInt(t.slice(24,36),16))/1099511627776&255,e/4294967296&255,e>>>24&255,e>>>16&255,e>>>8&255,e&255)}pn.default=Dc});var fe=y(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.unsafeStringify=void 0;var zc=Vt(),U=[];for(let t=0;t<256;++t)U.push((t+256).toString(16).slice(1));function si(t,e=0){return(U[t[e+0]]+U[t[e+1]]+U[t[e+2]]+U[t[e+3]]+"-"+U[t[e+4]]+U[t[e+5]]+"-"+U[t[e+6]]+U[t[e+7]]+"-"+U[t[e+8]]+U[t[e+9]]+"-"+U[t[e+10]]+U[t[e+11]]+U[t[e+12]]+U[t[e+13]]+U[t[e+14]]+U[t[e+15]]).toLowerCase()}Wt.unsafeStringify=si;function Lc(t,e=0){let r=si(t,e);if(!(0,zc.default)(r))throw TypeError("Stringified UUID is invalid");return r}Wt.default=Lc});var br=y(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});var hn,qc=new Uint8Array(16);function Fc(){if(!hn){if(typeof crypto=="undefined"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");hn=crypto.getRandomValues.bind(crypto)}return hn(qc)}mn.default=Fc});var yn=y(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.updateV1State=void 0;var ai=br(),Vc=fe(),Ht={};function $c(t,e,r){var i,s,a,d;let n,o=(i=t==null?void 0:t._v6)!=null?i:!1;if(t){let l=Object.keys(t);l.length===1&&l[0]==="_v6"&&(t=void 0)}if(t)n=ci((d=(a=t.random)!=null?a:(s=t.rng)==null?void 0:s.call(t))!=null?d:(0,ai.default)(),t.msecs,t.nsecs,t.clockseq,t.node,e,r);else{let l=Date.now(),f=(0,ai.default)();ui(Ht,l,f),n=ci(f,Ht.msecs,Ht.nsecs,o?void 0:Ht.clockseq,o?void 0:Ht.node,e,r)}return e!=null?e:(0,Vc.unsafeStringify)(n)}function ui(t,e,r){var n,o;return(n=t.msecs)!=null||(t.msecs=-1/0),(o=t.nsecs)!=null||(t.nsecs=0),e===t.msecs?(t.nsecs++,t.nsecs>=1e4&&(t.node=void 0,t.nsecs=0)):e>t.msecs?t.nsecs=0:e= 16");if(!i)i=new Uint8Array(16),s=0;else if(s<0||s+16>i.length)throw new RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);e!=null||(e=Date.now()),r!=null||(r=0),n!=null||(n=(t[8]<<8|t[9])&16383),o!=null||(o=t.slice(10,16)),e+=122192928e5;let a=((e&268435455)*1e4+r)%4294967296;i[s++]=a>>>24&255,i[s++]=a>>>16&255,i[s++]=a>>>8&255,i[s++]=a&255;let d=e/4294967296*1e4&268435455;i[s++]=d>>>8&255,i[s++]=d&255,i[s++]=d>>>24&15|16,i[s++]=d>>>16&255,i[s++]=n>>>8|128,i[s++]=n&255;for(let l=0;l<6;++l)i[s++]=o[l];return i}Bt.default=$c});var gn=y(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var Wc=$t(),Hc=fe();function Bc(t){let e=typeof t=="string"?(0,Wc.default)(t):t,r=Kc(e);return typeof t=="string"?(0,Hc.unsafeStringify)(r):r}vn.default=Bc;function Kc(t){return Uint8Array.of((t[6]&15)<<4|t[7]>>4&15,(t[7]&15)<<4|(t[4]&240)>>4,(t[4]&15)<<4|(t[5]&240)>>4,(t[5]&15)<<4|(t[0]&240)>>4,(t[0]&15)<<4|(t[1]&240)>>4,(t[1]&15)<<4|(t[2]&240)>>4,96|t[2]&15,t[3],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}});var li=y(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});function Gc(t){let e=Xc(t),r=Yc(e,t.length*8);return Jc(r)}function Jc(t){let e=new Uint8Array(t.length*4);for(let r=0;r>2]>>>r%4*8&255;return e}function di(t){return(t+64>>>9<<4)+14+1}function Yc(t,e){let r=new Uint32Array(di(e)).fill(0);r.set(t),r[e>>5]|=128<>2]|=(t[r]&255)<>16)+(e>>16)+(r>>16)<<16|r&65535}function Qc(t,e){return t<>>32-e}function xr(t,e,r,n,o,i){return we(Qc(we(we(e,t),we(n,i)),o),r)}function N(t,e,r,n,o,i,s){return xr(e&r|~e&n,t,e,o,i,s)}function D(t,e,r,n,o,i,s){return xr(e&n|r&~n,t,e,o,i,s)}function z(t,e,r,n,o,i,s){return xr(e^r^n,t,e,o,i,s)}function L(t,e,r,n,o,i,s){return xr(r^(e|~n),t,e,o,i,s)}_n.default=Gc});var Kt=y(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.URL=pe.DNS=pe.stringToBytes=void 0;var fi=$t(),eu=fe();function pi(t){t=unescape(encodeURIComponent(t));let e=new Uint8Array(t.length);for(let r=0;r{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.URL=$e.DNS=void 0;var ru=li(),bn=Kt(),hi=Kt();Object.defineProperty($e,"DNS",{enumerable:!0,get:function(){return hi.DNS}});Object.defineProperty($e,"URL",{enumerable:!0,get:function(){return hi.URL}});function xn(t,e,r,n){return(0,bn.default)(48,ru.default,t,e,r,n)}xn.DNS=bn.DNS;xn.URL=bn.URL;$e.default=xn});var yi=y(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});var nu=typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);wn.default={randomUUID:nu}});var gi=y(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});var vi=yi(),ou=br(),iu=fe();function su(t,e,r){var o,i,s;if(vi.default.randomUUID&&!e&&!t)return vi.default.randomUUID();t=t||{};let n=(s=(i=t.random)!=null?i:(o=t.rng)==null?void 0:o.call(t))!=null?s:(0,ou.default)();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let a=0;a<16;++a)e[r+a]=n[a];return e}return(0,iu.unsafeStringify)(n)}Cn.default=su});var _i=y(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});function au(t,e,r,n){switch(t){case 0:return e&r^~e&n;case 1:return e^r^n;case 2:return e&r^e&n^r&n;case 3:return e^r^n}}function In(t,e){return t<>>32-e}function cu(t){let e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520],n=new Uint8Array(t.length+1);n.set(t),n[t.length]=128,t=n;let o=t.length/4+2,i=Math.ceil(o/16),s=new Array(i);for(let a=0;a>>0;T=_,_=m,m=In(f,30)>>>0,f=l,l=S}r[0]=r[0]+l>>>0,r[1]=r[1]+f>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+_>>>0,r[4]=r[4]+T>>>0}return Uint8Array.of(r[0]>>24,r[0]>>16,r[0]>>8,r[0],r[1]>>24,r[1]>>16,r[1]>>8,r[1],r[2]>>24,r[2]>>16,r[2]>>8,r[2],r[3]>>24,r[3]>>16,r[3]>>8,r[3],r[4]>>24,r[4]>>16,r[4]>>8,r[4])}Tn.default=cu});var xi=y(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.URL=We.DNS=void 0;var uu=_i(),Sn=Kt(),bi=Kt();Object.defineProperty(We,"DNS",{enumerable:!0,get:function(){return bi.DNS}});Object.defineProperty(We,"URL",{enumerable:!0,get:function(){return bi.URL}});function An(t,e,r,n){return(0,Sn.default)(80,uu.default,t,e,r,n)}An.DNS=Sn.DNS;An.URL=Sn.URL;We.default=An});var wi=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});var du=fe(),lu=yn(),fu=gn();function pu(t,e,r){t!=null||(t={}),r!=null||(r=0);let n=(0,lu.default)({...t,_v6:!0},new Uint8Array(16));if(n=(0,fu.default)(n),e){for(let o=0;o<16;o++)e[r+o]=n[o];return e}return(0,du.unsafeStringify)(n)}On.default=pu});var Ci=y(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});var hu=$t(),mu=fe();function yu(t){let e=typeof t=="string"?(0,hu.default)(t):t,r=vu(e);return typeof t=="string"?(0,mu.unsafeStringify)(r):r}Pn.default=yu;function vu(t){return Uint8Array.of((t[3]&15)<<4|t[4]>>4&15,(t[4]&15)<<4|(t[5]&240)>>4,(t[5]&15)<<4|t[6]&15,t[7],(t[1]&15)<<4|(t[2]&240)>>4,(t[2]&15)<<4|(t[3]&240)>>4,16|(t[0]&240)>>4,(t[0]&15)<<4|(t[1]&240)>>4,t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}});var Ai=y(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.updateV7State=void 0;var Ii=br(),gu=fe(),Zn={};function _u(t,e,r){var o,i,s;let n;if(t)n=Ti((s=(i=t.random)!=null?i:(o=t.rng)==null?void 0:o.call(t))!=null?s:(0,Ii.default)(),t.msecs,t.seq,e,r);else{let a=Date.now(),d=(0,Ii.default)();Si(Zn,a,d),n=Ti(d,Zn.msecs,Zn.seq,e,r)}return e!=null?e:(0,gu.unsafeStringify)(n)}function Si(t,e,r){var n,o;return(n=t.msecs)!=null||(t.msecs=-1/0),(o=t.seq)!=null||(t.seq=0),e>t.msecs?(t.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],t.msecs=e):(t.seq=t.seq+1|0,t.seq===0&&t.msecs++),t}Gt.updateV7State=Si;function Ti(t,e,r,n,o=0){if(t.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),o=0;else if(o<0||o+16>n.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);return e!=null||(e=Date.now()),r!=null||(r=t[6]*127<<24|t[7]<<16|t[8]<<8|t[9]),n[o++]=e/1099511627776&255,n[o++]=e/4294967296&255,n[o++]=e/16777216&255,n[o++]=e/65536&255,n[o++]=e/256&255,n[o++]=e&255,n[o++]=112|r>>>28&15,n[o++]=r>>>20&255,n[o++]=128|r>>>14&63,n[o++]=r>>>6&255,n[o++]=r<<2&255|t[10]&3,n[o++]=t[11],n[o++]=t[12],n[o++]=t[13],n[o++]=t[14],n[o++]=t[15],n}Gt.default=_u});var Oi=y(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});var bu=Vt();function xu(t){if(!(0,bu.default)(t))throw TypeError("Invalid UUID");return parseInt(t.slice(14,15),16)}jn.default=xu});var Pi=y(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.version=P.validate=P.v7=P.v6ToV1=P.v6=P.v5=P.v4=P.v3=P.v1ToV6=P.v1=P.stringify=P.parse=P.NIL=P.MAX=void 0;var wu=ni();Object.defineProperty(P,"MAX",{enumerable:!0,get:function(){return wu.default}});var Cu=oi();Object.defineProperty(P,"NIL",{enumerable:!0,get:function(){return Cu.default}});var Iu=$t();Object.defineProperty(P,"parse",{enumerable:!0,get:function(){return Iu.default}});var Tu=fe();Object.defineProperty(P,"stringify",{enumerable:!0,get:function(){return Tu.default}});var Su=yn();Object.defineProperty(P,"v1",{enumerable:!0,get:function(){return Su.default}});var Au=gn();Object.defineProperty(P,"v1ToV6",{enumerable:!0,get:function(){return Au.default}});var Ou=mi();Object.defineProperty(P,"v3",{enumerable:!0,get:function(){return Ou.default}});var Pu=gi();Object.defineProperty(P,"v4",{enumerable:!0,get:function(){return Pu.default}});var Zu=xi();Object.defineProperty(P,"v5",{enumerable:!0,get:function(){return Zu.default}});var ju=wi();Object.defineProperty(P,"v6",{enumerable:!0,get:function(){return ju.default}});var ku=Ci();Object.defineProperty(P,"v6ToV1",{enumerable:!0,get:function(){return ku.default}});var Eu=Ai();Object.defineProperty(P,"v7",{enumerable:!0,get:function(){return Eu.default}});var Uu=Vt();Object.defineProperty(P,"validate",{enumerable:!0,get:function(){return Uu.default}});var Ru=Oi();Object.defineProperty(P,"version",{enumerable:!0,get:function(){return Ru.default}})});var kn=y(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.entityZodSchema=void 0;var Zi=j();wr.entityZodSchema=Zi.z.object({type:Zi.z.string().min(1)}).passthrough()});var ji=y(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.semanticActionZodSchema=void 0;var Jt=j(),Mu=kn(),Nu=on();Cr.semanticActionZodSchema=Jt.z.object({id:Jt.z.string().min(1),state:Jt.z.union([Nu.semanticActionStateTypesZodSchema,Jt.z.string().min(1)]),entities:Jt.z.record(Mu.entityZodSchema)})});var ki=y(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.cardActionZodSchema=void 0;var ae=j(),Du=nn();Ir.cardActionZodSchema=ae.z.object({type:ae.z.union([Du.actionTypesZodSchema,ae.z.string().min(1)]),title:ae.z.string().min(1),image:ae.z.string().min(1).optional(),text:ae.z.string().min(1).optional(),displayText:ae.z.string().min(1).optional(),value:ae.z.any().optional(),channelData:ae.z.unknown().optional(),imageAltText:ae.z.string().min(1).optional()})});var Ei=y(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.suggestedActionsZodSchema=void 0;var Tr=j(),zu=ki();Sr.suggestedActionsZodSchema=Tr.z.object({to:Tr.z.array(Tr.z.string().min(1)),actions:Tr.z.array(zu.cardActionZodSchema)})});var En=y(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.activityEventNamesZodSchema=ht.ActivityEventNames=void 0;var Lu=j(),Ui;(function(t){t.ContinueConversation="ContinueConversation",t.CreateConversation="CreateConversation"})(Ui||(ht.ActivityEventNames=Ui={}));ht.activityEventNamesZodSchema=Lu.z.enum(["ContinueConversation","CreateConversation"])});var Un=y(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.activityImportanceZodSchema=mt.ActivityImportance=void 0;var qu=j(),Ri;(function(t){t.Low="low",t.Normal="normal",t.High="high"})(Ri||(mt.ActivityImportance=Ri={}));mt.activityImportanceZodSchema=qu.z.enum(["low","normal","high"])});var Rn=y(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.activityTypesZodSchema=yt.ActivityTypes=void 0;var Fu=j(),Mi;(function(t){t.Message="message",t.ContactRelationUpdate="contactRelationUpdate",t.ConversationUpdate="conversationUpdate",t.Typing="typing",t.EndOfConversation="endOfConversation",t.Event="event",t.Invoke="invoke",t.InvokeResponse="invokeResponse",t.DeleteUserData="deleteUserData",t.MessageUpdate="messageUpdate",t.MessageDelete="messageDelete",t.InstallationUpdate="installationUpdate",t.MessageReaction="messageReaction",t.Suggestion="suggestion",t.Trace="trace",t.Handoff="handoff",t.Command="command",t.CommandResult="commandResult",t.Delay="delay"})(Mi||(yt.ActivityTypes=Mi={}));yt.activityTypesZodSchema=Fu.z.enum(["message","contactRelationUpdate","conversationUpdate","typing","endOfConversation","event","invoke","invokeResponse","deleteUserData","messageUpdate","messageDelete","installationUpdate","messageReaction","suggestion","trace","handoff","command","commandResult","delay"])});var Ni=y(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.attachmentZodSchema=void 0;var vt=j();Ar.attachmentZodSchema=vt.z.object({contentType:vt.z.string().min(1),contentUrl:vt.z.string().min(1).optional(),content:vt.z.unknown().optional(),name:vt.z.string().min(1).optional(),thumbnailUrl:vt.z.string().min(1).optional()})});var Di=y(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.addProductInfoToActivity=He.clearProductInfoFromActivity=void 0;var Vu=t=>{t&&t.entities&&t.entities.length&&(t.entities=t.entities.filter(e=>e.type!=="ProductInfo"))};He.clearProductInfoFromActivity=Vu;var $u=(t,e)=>{var r,n;let o={type:"ProductInfo",id:e};(r=t.entities)!==null&&r!==void 0||(t.entities=[]),(0,He.clearProductInfoFromActivity)(t),(n=t.entities)===null||n===void 0||n.push(o)};He.addProductInfoToActivity=$u});var Mn=y(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.channelAccountZodSchema=void 0;var Q=j(),Wu=Ft();Or.channelAccountZodSchema=Q.z.object({id:Q.z.string().min(1).optional(),name:Q.z.string().optional(),aadObjectId:Q.z.string().min(1).optional(),tenantId:Q.z.string().min(1).optional(),agenticUserId:Q.z.string().min(1).optional(),agenticAppId:Q.z.string().min(1).optional(),agenticAppBlueprintId:Q.z.string().min(1).optional(),role:Q.z.union([Wu.roleTypeZodSchema,Q.z.string().min(1)]).optional(),properties:Q.z.unknown().optional()})});var Nn=y(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.conversationAccountZodSchema=void 0;var ce=j(),Hu=Ft();Pr.conversationAccountZodSchema=ce.z.object({isGroup:ce.z.boolean().optional(),conversationType:ce.z.string().min(1).optional(),tenantId:ce.z.string().min(1).optional(),id:ce.z.string().min(1),name:ce.z.string().min(1).optional(),aadObjectId:ce.z.string().min(1).optional(),role:ce.z.union([Hu.roleTypeZodSchema,ce.z.string().min(1)]).optional(),properties:ce.z.unknown().optional()})});var Li=y(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.conversationReferenceZodSchema=void 0;var Yt=j(),zi=Mn(),Bu=Nn();Zr.conversationReferenceZodSchema=Yt.z.object({activityId:Yt.z.string().min(1).optional(),user:zi.channelAccountZodSchema.optional(),locale:Yt.z.string().min(1).optional(),agent:zi.channelAccountZodSchema.optional().nullable(),conversation:Bu.conversationAccountZodSchema,channelId:Yt.z.string().min(1),serviceUrl:Yt.z.string().min(1).optional()})});var Dn=y(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.deliveryModesZodSchema=gt.DeliveryModes=void 0;var Ku=j(),qi;(function(t){t.Normal="normal",t.Notification="notification",t.ExpectReplies="expectReplies",t.Ephemeral="ephemeral"})(qi||(gt.DeliveryModes=qi={}));gt.deliveryModesZodSchema=Ku.z.enum(["normal","notification","expectReplies","ephemeral"])});var zn=y(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.inputHintsZodSchema=_t.InputHints=void 0;var Gu=j(),Fi;(function(t){t.AcceptingInput="acceptingInput",t.IgnoringInput="ignoringInput",t.ExpectingInput="expectingInput"})(Fi||(_t.InputHints=Fi={}));_t.inputHintsZodSchema=Gu.z.enum(["acceptingInput","ignoringInput","expectingInput"])});var Ln=y(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.messageReactionTypesZodSchema=bt.MessageReactionTypes=void 0;var Ju=j(),Vi;(function(t){t.Like="like",t.PlusOne="plusOne"})(Vi||(bt.MessageReactionTypes=Vi={}));bt.messageReactionTypesZodSchema=Ju.z.enum(["like","plusOne"])});var $i=y(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.messageReactionZodSchema=void 0;var qn=j(),Yu=Ln();jr.messageReactionZodSchema=qn.z.object({type:qn.z.union([Yu.messageReactionTypesZodSchema,qn.z.string().min(1)])})});var Fn=y(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.textFormatTypesZodSchema=xt.TextFormatTypes=void 0;var Xu=j(),Wi;(function(t){t.Markdown="markdown",t.Plain="plain",t.Xml="xml"})(Wi||(xt.TextFormatTypes=Wi={}));xt.textFormatTypesZodSchema=Xu.z.enum(["markdown","plain","xml"])});var Hi=y(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.textHighlightZodSchema=void 0;var Vn=j();kr.textHighlightZodSchema=Vn.z.object({text:Vn.z.string().min(1),occurrence:Vn.z.number()})});var Xi=y(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.Activity=Be.activityZodSchema=void 0;var Qu=Pi(),b=j(),ed=ji(),td=Ei(),Yi=En(),rd=Un(),Ur=Rn(),nd=Ni(),od=sn(),Bi=Di(),Er=Mn(),Ki=an(),id=Nn(),sd=Li(),ad=cn(),cd=Dn(),ud=kn(),dd=zn(),Gi=$i(),ld=Fn(),fd=Hi(),Ji=Ft();Be.activityZodSchema=b.z.object({type:b.z.union([Ur.activityTypesZodSchema,b.z.string().min(1)]),text:b.z.string().optional(),id:b.z.string().min(1).optional(),channelId:b.z.string().min(1).optional(),from:Er.channelAccountZodSchema.optional(),timestamp:b.z.union([b.z.date(),b.z.string().min(1).datetime().optional(),b.z.string().min(1).transform(t=>new Date(t)).optional()]),localTimestamp:b.z.string().min(1).transform(t=>new Date(t)).optional().or(b.z.date()).optional(),localTimezone:b.z.string().min(1).optional(),callerId:b.z.string().min(1).optional(),serviceUrl:b.z.string().min(1).optional(),conversation:id.conversationAccountZodSchema.optional(),recipient:Er.channelAccountZodSchema.optional(),textFormat:b.z.union([ld.textFormatTypesZodSchema,b.z.string().min(1)]).optional(),attachmentLayout:b.z.union([od.attachmentLayoutTypesZodSchema,b.z.string().min(1)]).optional(),membersAdded:b.z.array(Er.channelAccountZodSchema).optional(),membersRemoved:b.z.array(Er.channelAccountZodSchema).optional(),reactionsAdded:b.z.array(Gi.messageReactionZodSchema).optional(),reactionsRemoved:b.z.array(Gi.messageReactionZodSchema).optional(),topicName:b.z.string().min(1).optional(),historyDisclosed:b.z.boolean().optional(),locale:b.z.string().min(1).optional(),speak:b.z.string().min(1).optional(),inputHint:b.z.union([dd.inputHintsZodSchema,b.z.string().min(1)]).optional(),summary:b.z.string().min(1).optional(),suggestedActions:td.suggestedActionsZodSchema.optional(),attachments:b.z.array(nd.attachmentZodSchema).optional(),entities:b.z.array(ud.entityZodSchema.passthrough()).optional(),channelData:b.z.any().optional(),action:b.z.string().min(1).optional(),replyToId:b.z.string().min(1).optional(),label:b.z.string().min(1).optional(),valueType:b.z.string().min(1).optional(),value:b.z.unknown().optional(),name:b.z.union([Yi.activityEventNamesZodSchema,b.z.string().min(1)]).optional(),relatesTo:sd.conversationReferenceZodSchema.optional(),code:b.z.union([ad.endOfConversationCodesZodSchema,b.z.string().min(1)]).optional(),expiration:b.z.string().min(1).datetime().optional(),importance:b.z.union([rd.activityImportanceZodSchema,b.z.string().min(1)]).optional(),deliveryMode:b.z.union([cd.deliveryModesZodSchema,b.z.string().min(1)]).optional(),listenFor:b.z.array(b.z.string().min(1)).optional(),textHighlights:b.z.array(fd.textHighlightZodSchema).optional(),semanticAction:ed.semanticActionZodSchema.optional()});var $n=class t{constructor(e){if(e===void 0)throw new Error("Invalid ActivityType: undefined");if(e===null)throw new Error("Invalid ActivityType: null");if(typeof e=="string"&&e.length===0)throw new Error("Invalid ActivityType: empty string");this.type=e}static fromJson(e){return this.fromObject(JSON.parse(e))}static fromObject(e){let r=Be.activityZodSchema.passthrough().parse(e),n=new t(r.type);return Object.assign(n,r),n}get channelId(){var e;return(e=this._channelId)===null||e===void 0?void 0:e.concat(this.channelIdSubChannel?`:${this.channelIdSubChannel}`:"")}static parseChannelId(e){let r,n;return e&&e.indexOf(":")!==-1?(r=e.substring(0,e.indexOf(":")),n=e.substring(e.indexOf(":")+1)):r=e,[r,n]}set channelId(e){let[r,n]=t.parseChannelId(e);if(e&&!r)throw new Error(`Invalid channelId ${e}. Found subChannel but no main channel.`);this._channelId=r,n?(0,Bi.addProductInfoToActivity)(this,n):(0,Bi.clearProductInfoFromActivity)(this)}set channelIdChannel(e){this._channelId=e}get channelIdChannel(){return this._channelId}get channelIdSubChannel(){var e,r;return(r=(e=this.entities)===null||e===void 0?void 0:e.find(n=>n.type==="ProductInfo"))===null||r===void 0?void 0:r.id}set channelIdSubChannel(e){if(!this._channelId)throw new Error("Primary channel must be set before setting subChannel");this.channelId=`${this._channelId}${e?`:${e}`:""}`}static getContinuationActivity(e){let r={type:Ur.ActivityTypes.Event,name:Yi.ActivityEventNames.ContinueConversation,id:(0,Qu.v4)(),channelId:e.channelId,locale:e.locale,serviceUrl:e.serviceUrl,conversation:e.conversation,recipient:e.agent,from:e.user,relatesTo:e};return t.fromObject(r)}getAppropriateReplyToId(){if(this.type!==Ur.ActivityTypes.ConversationUpdate||this.channelId!==Ki.Channels.Directline&&this.channelId!==Ki.Channels.Webchat)return this.id}getConversationReference(){if(this.recipient===null||this.recipient===void 0)throw new Error("Activity Recipient undefined");if(this.conversation===null||this.conversation===void 0)throw new Error("Activity Conversation undefined");if(this.channelId===null||this.channelId===void 0)throw new Error("Activity ChannelId undefined");return{activityId:this.getAppropriateReplyToId(),user:this.from,agent:this.recipient,conversation:this.conversation,channelId:this.channelId,locale:this.locale,serviceUrl:this.serviceUrl}}applyConversationReference(e,r=!1){var n,o,i;return this.channelId=e.channelId,(n=this.locale)!==null&&n!==void 0||(this.locale=e.locale),this.serviceUrl=e.serviceUrl,this.conversation=e.conversation,r?(this.from=e.user,this.recipient=(o=e.agent)!==null&&o!==void 0?o:void 0,e.activityId&&(this.id=e.activityId)):(this.from=(i=e.agent)!==null&&i!==void 0?i:void 0,this.recipient=e.user,e.activityId&&(this.replyToId=e.activityId)),this}clone(){let e=JSON.parse(JSON.stringify(this));for(let r in e)typeof e[r]=="string"&&!isNaN(Date.parse(e[r]))&&(e[r]=new Date(e[r]));return Object.setPrototypeOf(e,t.prototype),e}getMentions(e){let r=[];if(e.entities!==void 0)for(let n=0;n{var i;return o.type.toLowerCase()==="mention"?o.mentioned.id!==((i=this.recipient)===null||i===void 0?void 0:i.id):!0}))),this.text&&(this.text=t.removeAt(this.text)),this.entities!==void 0)){let o=this.getMentions(this);for(let i of o)i.text&&(i.text=(n=t.removeAt(i.text))===null||n===void 0?void 0:n.trim())}}static removeAt(e){if(!e)return e;let r;do{r=!1;let n=e.toLowerCase().indexOf("=0){let o=e.indexOf(">",n);if(o>0){let i=e.toLowerCase().indexOf("",o);if(i>0){let s=e.substring(i+5);s.length>0&&!/\s/.test(s[0])&&(s=` ${s}`),e=e.substring(0,i)+s;let a=e.substring(o+1,i),d=e.substring(0,n);d.length>0&&!/\s$/.test(d)&&(d+=" "),e=d+a+s,r=!0}}}}while(r);return e}removeMentionText(e){let n=this.getMentions(this).filter(o=>o.mentioned.id===e);return n.length>0&&this.text&&(this.text=this.text.replace(n[0].text,"").trim()),this.text||""}removeRecipientMention(){return this.recipient!=null&&this.recipient.id?this.removeMentionText(this.recipient.id):""}getReplyConversationReference(e){let r=this.getConversationReference();return r.activityId=e,r}toJsonString(){let e={...this};return e.channelId=e._channelId,delete e._channelId,JSON.stringify(e)}isAgenticRequest(){var e,r;return((e=this.recipient)===null||e===void 0?void 0:e.role)===Ji.RoleTypes.AgenticUser||((r=this.recipient)===null||r===void 0?void 0:r.role)===Ji.RoleTypes.AgenticIdentity}getAgenticInstanceId(){var e;if(this.isAgenticRequest())return(e=this.recipient)===null||e===void 0?void 0:e.agenticAppId}getAgenticUser(){var e;if(this.isAgenticRequest())return(e=this.recipient)===null||e===void 0?void 0:e.agenticUserId}};Be.Activity=$n});var Qi=y(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.CallerIdConstants=void 0;Rr.CallerIdConstants={PublicAzureChannel:"urn:botframework:azure",USGovChannel:"urn:botframework:azureusgov",AgentPrefix:"urn:botframework:aadappid:"}});var es=y(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.activityTreatments=wt.ActivityTreatments=void 0;var pd=j(),Wn;(function(t){t.Targeted="targeted"})(Wn||(wt.ActivityTreatments=Wn={}));wt.activityTreatments=pd.z.nativeEnum(Wn)});var Hn=y(x=>{"use strict";var hd=x&&x.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),ts=x&&x.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&hd(e,t,r)};Object.defineProperty(x,"__esModule",{value:!0});x.Logger=x.debug=x.ActivityTreatments=x.TextFormatTypes=x.MessageReactionTypes=x.InputHints=x.DeliveryModes=x.CallerIdConstants=x.ActivityTypes=x.ActivityImportance=x.ActivityEventNames=x.activityZodSchema=x.Activity=x.RoleTypes=x.MembershipTypes=x.MembershipSourceTypes=x.EndOfConversationCodes=x.Channels=x.AttachmentLayoutTypes=x.SemanticActionStateTypes=x.ActionTypes=void 0;var md=nn();Object.defineProperty(x,"ActionTypes",{enumerable:!0,get:function(){return md.ActionTypes}});var yd=on();Object.defineProperty(x,"SemanticActionStateTypes",{enumerable:!0,get:function(){return yd.SemanticActionStateTypes}});var vd=sn();Object.defineProperty(x,"AttachmentLayoutTypes",{enumerable:!0,get:function(){return vd.AttachmentLayoutTypes}});var gd=an();Object.defineProperty(x,"Channels",{enumerable:!0,get:function(){return gd.Channels}});var _d=cn();Object.defineProperty(x,"EndOfConversationCodes",{enumerable:!0,get:function(){return _d.EndOfConversationCodes}});var bd=Yo();Object.defineProperty(x,"MembershipSourceTypes",{enumerable:!0,get:function(){return bd.MembershipSourceTypes}});var xd=Qo();Object.defineProperty(x,"MembershipTypes",{enumerable:!0,get:function(){return xd.MembershipTypes}});var wd=Ft();Object.defineProperty(x,"RoleTypes",{enumerable:!0,get:function(){return wd.RoleTypes}});ts(ti(),x);ts(ri(),x);var rs=Xi();Object.defineProperty(x,"Activity",{enumerable:!0,get:function(){return rs.Activity}});Object.defineProperty(x,"activityZodSchema",{enumerable:!0,get:function(){return rs.activityZodSchema}});var Cd=En();Object.defineProperty(x,"ActivityEventNames",{enumerable:!0,get:function(){return Cd.ActivityEventNames}});var Id=Un();Object.defineProperty(x,"ActivityImportance",{enumerable:!0,get:function(){return Id.ActivityImportance}});var Td=Rn();Object.defineProperty(x,"ActivityTypes",{enumerable:!0,get:function(){return Td.ActivityTypes}});var Sd=Qi();Object.defineProperty(x,"CallerIdConstants",{enumerable:!0,get:function(){return Sd.CallerIdConstants}});var Ad=Dn();Object.defineProperty(x,"DeliveryModes",{enumerable:!0,get:function(){return Ad.DeliveryModes}});var Od=zn();Object.defineProperty(x,"InputHints",{enumerable:!0,get:function(){return Od.InputHints}});var Pd=Ln();Object.defineProperty(x,"MessageReactionTypes",{enumerable:!0,get:function(){return Pd.MessageReactionTypes}});var Zd=Fn();Object.defineProperty(x,"TextFormatTypes",{enumerable:!0,get:function(){return Zd.TextFormatTypes}});var jd=es();Object.defineProperty(x,"ActivityTreatments",{enumerable:!0,get:function(){return jd.ActivityTreatments}});var ns=Mt();Object.defineProperty(x,"debug",{enumerable:!0,get:function(){return ns.debug}});Object.defineProperty(x,"Logger",{enumerable:!0,get:function(){return ns.Logger}})});var Ut=(r=>(r.Published="Published",r.Prebuilt="Prebuilt",r))(Ut||{});var Rt=(A=>(A.Unknown="Unknown",A.Exp="Exp",A.Dev="Dev",A.Test="Test",A.Preprod="Preprod",A.FirstRelease="FirstRelease",A.Prod="Prod",A.Gov="Gov",A.High="High",A.DoD="DoD",A.Mooncake="Mooncake",A.Ex="Ex",A.Rx="Rx",A.Prv="Prv",A.Local="Local",A.GovFR="GovFR",A.Other="Other",A))(Rt||{});var Wr=class{constructor(){this.appClientId="";this.tenantId="";this.authority="";this.environmentId="";this.agentIdentifier="";this.useExperimentalEndpoint=!1}},Hr=class extends Wr{constructor(e){var i,s;if(super(),!e)return;let r=(i=e.cloud)!=null?i:"Prod",n=(s=e.copilotAgentType)!=null?s:"Published",o=e.authority&&e.authority.trim()!==""?e.authority:"https://login.microsoftonline.com";if(!Object.values(Rt).includes(r))throw new Error(`Invalid PowerPlatformCloud: '${r}'. Supported values: ${Object.values(Rt).join(", ")}`);if(!Object.values(Ut).includes(n))throw new Error(`Invalid AgentType: '${n}'. Supported values: ${Object.values(Ut).join(", ")}`);Object.assign(this,{...e,cloud:r,copilotAgentType:n,authority:o})}},Jd=()=>{var t,e,r,n,o,i;return new Hr({appClientId:(t=process.env.appClientId)!=null?t:"",tenantId:(e=process.env.tenantId)!=null?e:"",authority:(r=process.env.authorityEndpoint)!=null?r:"https://login.microsoftonline.com",environmentId:(n=process.env.environmentId)!=null?n:"",agentIdentifier:(o=process.env.agentIdentifier)!=null?o:"",cloud:process.env.cloud,customPowerPlatformCloud:process.env.customPowerPlatformCloud,copilotAgentType:process.env.copilotAgentType,directConnectUrl:process.env.directConnectUrl,useExperimentalEndpoint:((i=process.env.useExperimentalEndpoint)==null?void 0:i.toLowerCase())==="true"})};var tr=class extends Error{constructor(e,r){super(e),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}};function Br(t){}function lo(t){if(typeof t=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:e=Br,onError:r=Br,onRetry:n=Br,onComment:o}=t,i="",s=!0,a,d="",l="";function f(g){let S=s?g.replace(/^\xEF\xBB\xBF/,""):g,[A,q]=Us(`${i}${S}`);for(let te of A)m(te);i=q,s=!1}function m(g){if(g===""){T();return}if(g.startsWith(":")){o&&o(g.slice(g.startsWith(": ")?2:1));return}let S=g.indexOf(":");if(S!==-1){let A=g.slice(0,S),q=g[S+1]===" "?2:1,te=g.slice(S+q);_(A,te,g);return}_(g,"",g)}function _(g,S,A){switch(g){case"event":l=S;break;case"data":d=`${d}${S} +`;break;case"id":a=S.includes("\0")?void 0:S;break;case"retry":/^\d+$/.test(S)?n(parseInt(S,10)):r(new tr(`Invalid \`retry\` value: "${S}"`,{type:"invalid-retry",value:S,line:A}));break;default:r(new tr(`Unknown field "${g.length>20?`${g.slice(0,20)}\u2026`:g}"`,{type:"unknown-field",field:g,value:S,line:A}));break}}function T(){d.length>0&&e({id:a,event:l||void 0,data:d.endsWith(` +`)?d.slice(0,-1):d}),a=void 0,d="",l=""}function O(g={}){i&&g.consume&&m(i),s=!0,a=void 0,d="",l="",i=""}return{feed:f,reset:O}}function Us(t){let e=[],r="",n=0;for(;n{};function Ms(t,{getStream:e}){let r=typeof t=="string"||t instanceof URL?{url:t}:t,{onMessage:n,onComment:o=rr,onConnect:i=rr,onDisconnect:s=rr,onScheduleReconnect:a=rr}=r,{fetch:d,url:l,initialLastEventId:f}=Ns(r),m={...r.headers},_=[],T=n?[n]:[],O=E=>T.forEach(ne=>ne(E)),g=lo({onEvent:Ts,onRetry:Ss,onComment:o}),S,A=l.toString(),q=new AbortController,te=f,ye=2e3,Vr,re=Kr;return Pt(),{close:Zt,connect:Pt,[Symbol.iterator]:()=>{throw new Error("EventSource does not support synchronous iteration. Use `for await` instead.")},[Symbol.asyncIterator]:$r,get lastEventId(){return te},get url(){return A},get readyState(){return re}};function Pt(){S||(re=fo,q=new AbortController,S=d(l,As()).then(Is).catch(E=>{S=null,!(E.name==="AbortError"||E.type==="aborted"||q.signal.aborted)&&so()}))}function Zt(){re=Kr,q.abort(),g.reset(),clearTimeout(Vr),_.forEach(E=>E())}function $r(){let E=[],ne=[];function jt(){return new Promise(F=>{let oe=ne.shift();oe?F({value:oe,done:!1}):E.push(F)})}let Ge=function(F){let oe=E.shift();oe?oe({value:F,done:!1}):ne.push(F)};function Ie(){for(T.splice(T.indexOf(Ge),1);E.shift(););for(;ne.shift(););}function kt(){let F=E.shift();F&&(F({done:!0,value:void 0}),Ie())}return _.push(kt),T.push(Ge),{next(){return re===Kr?this.return():jt()},return(){return Ie(),Promise.resolve({done:!0,value:void 0})},throw(F){return Ie(),Promise.reject(F)},[Symbol.asyncIterator](){return this}}}function so(){a({delay:ye}),!q.signal.aborted&&(re=fo,Vr=setTimeout(Pt,ye))}async function Is(E){i(),g.reset();let{body:ne,redirected:jt,status:Ge}=E;if(Ge===204){s(),Zt();return}if(!ne)throw new Error("Missing response body");jt&&(A=E.url);let Ie=e(ne),kt=new TextDecoder,F=Ie.getReader(),oe=!0;re=Rs;do{let{done:ao,value:co}=await F.read();co&&g.feed(kt.decode(co,{stream:!ao})),ao&&(oe=!1,S=null,g.reset(),so(),s())}while(oe)}function Ts(E){typeof E.id=="string"&&(te=E.id),O(E)}function Ss(E){ye=E}function As(){let{mode:E,credentials:ne,body:jt,method:Ge,redirect:Ie,referrer:kt,referrerPolicy:F}=r,oe={Accept:"text/event-stream",...m,...te?{"Last-Event-ID":te}:void 0};return{mode:E,credentials:ne,body:jt,method:Ge,redirect:Ie,referrer:kt,referrerPolicy:F,headers:oe,cache:"no-store",signal:q.signal}}}function Ns(t){let e=t.fetch||globalThis.fetch;if(!Ds(e))throw new Error("No fetch implementation provided, and one was not found on the global object.");if(typeof AbortController!="function")throw new Error("Missing AbortController implementation");let{url:r,initialLastEventId:n}=t;if(typeof r!="string"&&!(r instanceof URL))throw new Error("Invalid URL provided - must be string or URL instance");if(typeof n!="string"&&n!==void 0)throw new Error("Invalid initialLastEventId provided - must be string or undefined");return{fetch:e,url:r,initialLastEventId:n}}function Ds(t){return typeof t=="function"}var zs={getStream:Ls};function po(t){return Ms(t,zs)}function Ls(t){if(!(t instanceof ReadableStream))throw new Error("Invalid stream, expected a web ReadableStream");return t}var bo=Et(Mt());var sr=class{constructor(e){this.API_VERSION="2022-03-01-preview";let{identifier:r,host:n}=e;this.baseURL=new URL(`/copilotstudio/prebuilt/authenticated/bots/${r}`,n),this.baseURL.searchParams.append("api-version",this.API_VERSION)}getConversationUrl(e){let r=new URL(this.baseURL.href);return r.pathname=`${r.pathname}/conversations`,e&&(r.pathname=`${r.pathname}/${e}`),r.href}};var ar=class{constructor(e){this.API_VERSION="2022-03-01-preview";let{schema:r,host:n}=e;this.baseURL=new URL(`/copilotstudio/dataverse-backed/authenticated/bots/${r}`,n),this.baseURL.searchParams.append("api-version",this.API_VERSION)}getConversationUrl(e){let r=new URL(this.baseURL.href);return r.pathname=`${r.pathname}/conversations`,e&&(r.pathname=`${r.pathname}/${e}`),r.href}};var Qe=(0,bo.debug)("copilot-studio:power-platform");function ur(t,e){var a,d,l,f,m,_;if((a=t.directConnectUrl)!=null&&a.trim()){if(Qe.debug(`Using direct connection: ${t.directConnectUrl}`),!Nt(t.directConnectUrl))throw new Error("directConnectUrl must be a valid URL");return t.directConnectUrl.toLowerCase().includes("tenants/00000000-0000-0000-0000-000000000000")?(Qe.debug(`Direct connection cannot be used, forcing default settings flow. Tenant ID is missing in the URL: ${t.directConnectUrl}`),ur({...t,directConnectUrl:""},e)):na(t.directConnectUrl,e).href}let r=(d=t.cloud)!=null?d:"Prod",n=(l=t.copilotAgentType)!=null?l:"Published";if(Qe.debug(`Using cloud setting: ${r}`),Qe.debug(`Using agent type: ${n}`),!((f=t.environmentId)!=null&&f.trim()))throw new Error("EnvironmentId must be provided");if(!((m=t.agentIdentifier)!=null&&m.trim()))throw new Error("AgentIdentifier must be provided");if(r==="Other")if((_=t.customPowerPlatformCloud)!=null&&_.trim())if(Nt(t.customPowerPlatformCloud))Qe.debug(`Using custom Power Platform cloud: ${t.customPowerPlatformCloud}`);else throw new Error("customPowerPlatformCloud must be a valid URL");else throw new Error("customPowerPlatformCloud must be provided when PowerPlatformCloud is Other");let o=oa(r,t.environmentId,t.customPowerPlatformCloud),s={Published:()=>new ar({host:o,schema:t.agentIdentifier}),Prebuilt:()=>new sr({host:o,identifier:t.agentIdentifier})}[n]().getConversationUrl(e);return Qe.debug(`Generated Copilot Studio connection URL: ${s}`),s}function xo(t,e="Unknown",r="",n=""){var o,i;if(!n&&!(t!=null&&t.directConnectUrl)){if(e==="Other"&&!r)throw new Error("cloudBaseAddress must be provided when PowerPlatformCloudCategory is Other");if(!t&&e==="Unknown")throw new Error("Either settings or cloud must be provided");if(t&&t.cloud&&t.cloud!=="Unknown"&&(e=t.cloud),e==="Other")if(r&&Nt(r))e="Other";else if(t!=null&&t.customPowerPlatformCloud&&Nt(t.customPowerPlatformCloud))e="Other",r=t.customPowerPlatformCloud;else throw new Error("Either CustomPowerPlatformCloud or cloudBaseAddress must be provided when PowerPlatformCloudCategory is Other");return r!=null||(r="api.unknown.powerplatform.com"),`https://${cr(e,r)}/.default`}else if(n||(n=(o=t==null?void 0:t.directConnectUrl)!=null?o:""),n&&Nt(n)){if(_o(new URL(n))==="Unknown"){let s=(i=t==null?void 0:t.cloud)!=null?i:e;if(s==="Other"||s==="Unknown")throw new Error("Unable to resolve the PowerPlatform Cloud from DirectConnectUrl. The Token Audience resolver requires a specific PowerPlatformCloudCategory.");if(s!=="Unknown")return`https://${cr(s,"")}/.default`;throw new Error("Unable to resolve the PowerPlatform Cloud from DirectConnectUrl. The Token Audience resolver requires a specific PowerPlatformCloudCategory.")}return`https://${cr(_o(new URL(n)),"")}/.default`}else throw new Error("DirectConnectUrl must be provided when DirectConnectUrl is set")}function Nt(t){try{let e=t.startsWith("http")?t:`https://${t}`;return!!new URL(e)}catch{return!1}}function na(t,e){let r=new URL(t);return r.searchParams.has("api-version")||r.searchParams.append("api-version","2022-03-01-preview"),r.pathname.endsWith("/")&&(r.pathname=r.pathname.slice(0,-1)),r.pathname.includes("/conversations")&&(r.pathname=r.pathname.substring(0,r.pathname.indexOf("/conversations"))),r.pathname=`${r.pathname}/conversations`,e&&(r.pathname=`${r.pathname}/${e}`),r}function oa(t,e,r){if(t==="Other"&&(!r||!r.trim()))throw new Error("cloudBaseAddress must be provided when PowerPlatformCloud is Other");r=r!=null?r:"api.unknown.powerplatform.com";let n=e.toLowerCase().replaceAll("-",""),o=ia(t),i=n.substring(0,n.length-o),s=n.substring(n.length-o);return new URL(`https://${i}.${s}.environment.${cr(t,r)}`)}function cr(t,e){switch(t){case"Local":return"api.powerplatform.localhost";case"Exp":return"api.exp.powerplatform.com";case"Dev":return"api.dev.powerplatform.com";case"Prv":return"api.prv.powerplatform.com";case"Test":return"api.test.powerplatform.com";case"Preprod":return"api.preprod.powerplatform.com";case"FirstRelease":case"Prod":return"api.powerplatform.com";case"GovFR":return"api.gov.powerplatform.microsoft.us";case"Gov":return"api.gov.powerplatform.microsoft.us";case"High":return"api.high.powerplatform.microsoft.us";case"DoD":return"api.appsplatform.us";case"Mooncake":return"api.powerplatform.partner.microsoftonline.cn";case"Ex":return"api.powerplatform.eaglex.ic.gov";case"Rx":return"api.powerplatform.microsoft.scloud";case"Other":return e;default:throw new Error(`Invalid cluster category value: ${t}`)}}function ia(t){switch(t){case"FirstRelease":case"Prod":return 2;default:return 1}}function _o(t){switch(t.host.toLowerCase()){case"api.powerplatform.localhost":return"Local";case"api.exp.powerplatform.com":return"Exp";case"api.dev.powerplatform.com":return"Dev";case"api.prv.powerplatform.com":return"Prv";case"api.test.powerplatform.com":return"Test";case"api.preprod.powerplatform.com":return"Preprod";case"api.powerplatform.com":return"Prod";case"api.gov.powerplatform.microsoft.us":return"GovFR";case"api.high.powerplatform.microsoft.us":return"High";case"api.appsplatform.us":return"DoD";case"api.powerplatform.partner.microsoftonline.cn":return"Mooncake";default:return"Unknown"}}var Xt=Et(Hn());var Mr=class{constructor(e){this.activity=e}};var ss=Et(Mt());var os="0.1.0";var Nr={};var J=(0,ss.debug)("copilot-studio:client"),he=class he{constructor(e,r){this.conversationId="";this.settings=e,this.token=r}async*postRequestAsync(e,r,n="POST"){var i,s;J.debug(`>>> SEND TO ${e}`);let o=po({url:e,headers:{Authorization:`Bearer ${this.token}`,"User-Agent":he.getProductInfo(),"Content-Type":"application/json",Accept:"text/event-stream"},body:r?JSON.stringify(r):void 0,method:n,fetch:async(a,d)=>{let l=await fetch(a,d);return this.processResponseHeaders(l.headers),l}});try{for await(let{data:a,event:d}of o){if(a&&d==="activity")try{let l=Xt.Activity.fromJson(a);switch(l.type){case Xt.ActivityTypes.Message:this.conversationId.trim()||(this.conversationId=(s=(i=l.conversation)==null?void 0:i.id)!=null?s:"",J.debug(`Conversation ID: ${this.conversationId}`)),yield l;break;default:J.debug(`Activity type: ${l.type}`),yield l;break}}catch(l){J.error("Failed to parse activity:",l)}else if(d==="end"){J.debug("Stream complete");break}if(o.readyState==="closed"){J.debug("Connection closed");break}}}finally{o.close()}}static getProductInfo(){let e=`CopilotStudioClient.agents-sdk-js/${os}`,r;return typeof window!="undefined"&&window.navigator?r=`${e} ${navigator.userAgent}`:r=`${e} nodejs/${process.version} ${Nr.platform()}-${Nr.arch()}/${Nr.release()}`,J.debug(`User-Agent: ${r}`),r}processResponseHeaders(e){var n,o;if(this.settings.useExperimentalEndpoint&&!((n=this.settings.directConnectUrl)!=null&&n.trim())){let i=e==null?void 0:e.get(he.islandExperimentalUrlHeaderKey);i&&(this.settings.directConnectUrl=i,J.debug(`Island Experimental URL: ${i}`))}this.conversationId=(o=e==null?void 0:e.get(he.conversationIdHeaderKey))!=null?o:"",this.conversationId&&J.debug(`Conversation ID: ${this.conversationId}`);let r=new Headers;e.forEach((i,s)=>{s.toLowerCase()!=="authorization"&&s.toLowerCase()!==he.conversationIdHeaderKey.toLowerCase()&&r.set(s,i)}),J.debug("Headers received:",r)}async*startConversationAsync(e=!0){let r=ur(this.settings),n={emitStartConversationEvent:e};J.info("Starting conversation ..."),yield*this.postRequestAsync(r,n,"POST")}async*askQuestionAsync(e,r=this.conversationId){let o={type:"message",text:e,conversation:{id:r}},i=Xt.Activity.fromObject(o);yield*this.sendActivity(i)}async*sendActivity(e,r=this.conversationId){var s,a;let n=(a=(s=e.conversation)==null?void 0:s.id)!=null?a:r,o=ur(this.settings,n),i=new Mr(e);J.info("Sending activity...",e),yield*this.postRequestAsync(o,i,"POST")}};he.conversationIdHeaderKey="x-ms-conversationid",he.islandExperimentalUrlHeaderKey="x-ms-d2e-experimental",he.scopeFromSettings=xo;var is=he;var R=[];for(let t=0;t<256;++t)R.push((t+256).toString(16).slice(1));function as(t,e=0){return(R[t[e+0]]+R[t[e+1]]+R[t[e+2]]+R[t[e+3]]+"-"+R[t[e+4]]+R[t[e+5]]+"-"+R[t[e+6]]+R[t[e+7]]+"-"+R[t[e+8]]+R[t[e+9]]+"-"+R[t[e+10]]+R[t[e+11]]+R[t[e+12]]+R[t[e+13]]+R[t[e+14]]+R[t[e+15]]).toLowerCase()}var Bn,Ed=new Uint8Array(16);function Kn(){if(!Bn){if(typeof crypto=="undefined"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Bn=crypto.getRandomValues.bind(crypto)}return Bn(Ed)}var Ud=typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Gn={randomUUID:Ud};function Rd(t,e,r){var o,i,s;if(Gn.randomUUID&&!e&&!t)return Gn.randomUUID();t=t||{};let n=(s=(i=t.random)!=null?i:(o=t.rng)==null?void 0:o.call(t))!=null?s:Kn();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let a=0;a<16;++a)e[r+a]=n[a];return e}return as(n)}var Jn=Rd;var ws=Et(Hn());var Yn=function(t,e){return Yn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},Yn(t,e)};function Ce(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Yn(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}function Qt(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ct(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),o,i=[],s;try{for(;(e===void 0||e-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function It(t,e,r){if(r||arguments.length===2)for(var n=0,o=e.length,i;n0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(r){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,r)},e.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},e.prototype._innerSubscribe=function(r){var n=this,o=this,i=o.hasError,s=o.isStopped,a=o.observers;return i||s?Xn:(this.currentObservers=null,a.push(r),new Tt(function(){n.currentObservers=null,er(a,r)}))},e.prototype._checkFinalizedStatuses=function(r){var n=this,o=n.hasError,i=n.thrownError,s=n.isStopped;o?r.error(i):s&&r.complete()},e.prototype.asObservable=function(){var r=new Ot;return r.source=this,r},e.create=function(r,n){return new _s(r,n)},e})(Ot);var _s=(function(t){Ce(e,t);function e(r,n){var o=t.call(this)||this;return o.destination=r,o.source=n,o}return e.prototype.next=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,r)},e.prototype.error=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,r)},e.prototype.complete=function(){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||n===void 0||n.call(r)},e.prototype._subscribe=function(r){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(r))!==null&&o!==void 0?o:Xn},e})(oo);var io=(function(t){Ce(e,t);function e(r){var n=t.call(this)||this;return n._value=r,n}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(r){var n=t.prototype._subscribe.call(this,r);return!n.closed&&r.next(this._value),n},e.prototype.getValue=function(){var r=this,n=r.hasError,o=r.thrownError,i=r._value;if(n)throw o;return this._throwIfClosed(),i},e.prototype.next=function(r){t.prototype.next.call(this,this._value=r)},e})(oo);var Cs=Et(Mt()),me=(0,Cs.debug)("copilot-studio:webchat"),bs=class{static createConnection(e,r){me.info("--> Creating connection between Copilot Studio and WebChat ...");let n=0,o,i,s=new io(0),a=xs(async f=>{if(o=f,s.value<2){s.next(2);return}me.debug("--> Connection established."),l();for await(let m of e.startConversationAsync())delete m.replyToId,i=m.conversation,d(m)}),d=f=>{let m={...f,timestamp:new Date().toISOString(),channelData:{...f.channelData,"webchat:sequence-id":n}};n++,me.debug(`Notify '${m.type}' activity to WebChat:`,m),o==null||o.next(m)},l=()=>{if(!(r!=null&&r.showTyping))return;let f=i?{id:i.id,name:i.name}:{id:"agent",name:"Agent"};d({type:"typing",from:f})};return{connectionStatus$:s,activity$:a,postActivity(f){if(me.info("--> Preparing to send activity to Copilot Studio ..."),!f)throw new Error("Activity cannot be null.");if(!o)throw new Error("Activity subscriber is not initialized.");return xs(async m=>{try{me.info("--> Sending activity to Copilot Studio ...");let _=ws.Activity.fromObject({...f,id:Jn(),attachments:await Fd(f)});d(_),l(),m.next(_.id);for await(let T of e.sendActivity(_))d(T),me.info("<-- Activity received correctly from Copilot Studio.");m.complete()}catch(_){me.error("Error sending Activity to Copilot Studio:",_),m.error(_)}})},end(){me.info("--> Ending connection between Copilot Studio and WebChat ..."),s.complete(),o&&(o.complete(),o=void 0)}}}};async function Fd(t){var r;if(t.type!=="message"||!((r=t.attachments)!=null&&r.length))return t.attachments||[];let e=[];for(let n of t.attachments){let o=await Vd(n);e.push(o)}return e}async function Vd(t){let e=t.contentUrl;if(!(e!=null&&e.startsWith("blob:")))return t;try{let r=await fetch(e);if(!r.ok)throw new Error(`Failed to fetch blob URL: ${r.status} ${r.statusText}`);let n=await r.blob(),o=await n.arrayBuffer(),i=$d(o);e=`data:${n.type};base64,${i}`}catch(r){e=t.contentUrl,me.error("Error processing blob attachment:",e,r)}return{...t,contentUrl:e}}function $d(t){let e=typeof globalThis.Buffer=="function"?globalThis.Buffer:void 0;if(e&&typeof e.from=="function")return e.from(t).toString("base64");let r="";for(let n of new Uint8Array(t))r+=String.fromCharCode(n);return btoa(r)}function xs(t){return new Ot(e=>{Promise.resolve(t(e)).catch(r=>e.error(r))})}export{Ut as AgentType,Hr as ConnectionSettings,is as CopilotStudioClient,bs as CopilotStudioWebChat,Mr as ExecuteTurnRequest,Rt as PowerPlatformCloud,ur as getCopilotStudioConnectionUrl,xo as getTokenAudience,Jd as loadCopilotStudioConnectionSettingsFromEnv}; +//# sourceMappingURL=browser.mjs.map From 76ff026db38efa18ab4884ee72fde6725151509f Mon Sep 17 00:00:00 2001 From: CeciliaAvila Date: Wed, 29 Oct 2025 14:24:59 -0300 Subject: [PATCH 08/20] Update nodejs copilotstudio-webchat-react sample --- .../package-lock.json | 298 +++--------------- .../copilotstudio-webchat-react/package.json | 4 +- 2 files changed, 49 insertions(+), 253 deletions(-) diff --git a/samples/nodejs/copilotstudio-webchat-react/package-lock.json b/samples/nodejs/copilotstudio-webchat-react/package-lock.json index 501032a6..42c4be00 100644 --- a/samples/nodejs/copilotstudio-webchat-react/package-lock.json +++ b/samples/nodejs/copilotstudio-webchat-react/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "@azure/msal-browser": "^4.13.1", - "@microsoft/agents-copilotstudio-client": "^1.0.0", + "@microsoft/agents-copilotstudio-client": "1.1.0-alpha.58", "botframework-webchat": "4.18.1-main.20250912.cbaf98f", "botframework-webchat-fluent-theme": "4.18.1-main.20250912.cbaf98f", "react": "16.8.6", @@ -771,11 +771,12 @@ } }, "node_modules/@microsoft/agents-activity": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.0.15.tgz", - "integrity": "sha512-1u8BVLsipsgTTte2SrR+LBXMkkU0oKteE6QDk+Dq5yTS4dF9266LPQ6HgOTNEk3PxRFSibrlw7zSO4y6S/d5wA==", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.1.0-alpha.58.tgz", + "integrity": "sha512-YRC9upu3WF9LFiglxA8k7Z8Hff7FZynTmioPqqhi49+qROxaQURy1435KcZcRb40axLJLWq4Nnm57PL0rsmEWw==", + "license": "MIT", "dependencies": { - "debug": "^4.3.7", + "debug": "^4.4.3", "uuid": "^11.1.0", "zod": "3.25.75" }, @@ -784,12 +785,13 @@ } }, "node_modules/@microsoft/agents-copilotstudio-client": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-copilotstudio-client/-/agents-copilotstudio-client-1.0.15.tgz", - "integrity": "sha512-pAMR6M5UKy7bAS9aHmsko6yuLky/7Aou6VpQ9MRCHzkKJCQEvoT57iGPip3E5H4C0EfPcW2/NkCW84+Y3hDTHw==", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-copilotstudio-client/-/agents-copilotstudio-client-1.1.0-alpha.58.tgz", + "integrity": "sha512-JiOE67ku4tmTVfcnaOq4WiR5ghxbqf31QmP1bThXkmuOokB2P25K+7WU/83IUkEtla0vpJW0ycDw1XGabpWitQ==", + "license": "MIT", "dependencies": { - "@microsoft/agents-activity": "1.0.15", - "axios": "^1.9.0", + "@microsoft/agents-activity": "1.1.0-alpha.58", + "eventsource-client": "^1.2.0", "rxjs": "7.8.2", "uuid": "^11.1.0" }, @@ -980,6 +982,7 @@ "version": "16.9.0", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.0.tgz", "integrity": "sha512-eOct1hyZI9YZf/eqNlYu7jxA9qyTw1EGXruAJhHhBDBpc00W0C1vwlnh+hkOf7UFZkNK+UxnFBpwAZe3d7XJhQ==", + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^2.2.0" @@ -1083,6 +1086,7 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "peer": true, "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -1126,22 +1130,6 @@ "node": "8.* || >= 10.*" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/axios": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz", - "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.4", - "proxy-from-env": "^1.1.0" - } - }, "node_modules/babel-plugin-macros": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", @@ -1522,18 +1510,6 @@ "resolved": "https://registry.npmjs.org/bytesish/-/bytesish-0.4.4.tgz", "integrity": "sha512-i4uu6M4zuMUiyfZN4RU2+i9+peJh//pXhd9x1oSe1LBkZ3LEbCoygu8W0bXTukU1Jme2txKuotpCZRaC3FLxcQ==" }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1593,17 +1569,6 @@ "resolved": "https://registry.npmjs.org/cldrjs/-/cldrjs-0.5.5.tgz", "integrity": "sha512-KDwzwbmLIPfCgd8JERVDpQKrUUM1U4KpFJJg2IROv89rF172lLufoJnqJ/Wea6fXL5bO6WjuLMzY8V52UWPvkA==" }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/comma-separated-tokens": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", @@ -1651,6 +1616,7 @@ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.44.0.tgz", "integrity": "sha512-gvMQAGB4dfVUxpYD0k3Fq8J+n5bB6Ytl15lqlZrOIXFzxOhtPaObfkQGHtMRdyjIf7z2IeNULwi1jEwyS+ltKQ==", "hasInstallScript": true, + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -1685,9 +1651,10 @@ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -1725,14 +1692,6 @@ "node": ">=0.10.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -1823,19 +1782,6 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/editions": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz", @@ -1886,47 +1832,6 @@ "is-arrayish": "^0.2.1" } }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/esbuild": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", @@ -1998,45 +1903,32 @@ "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" + "node_modules/eventsource-client": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventsource-client/-/eventsource-client-1.2.0.tgz", + "integrity": "sha512-kDI75RSzO3TwyG/K9w1ap8XwqSPcwi6jaMkNulfVeZmSeUM49U8kUzk1s+vKNt0tGrXgK47i+620Yasn1ccFiw==", + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.0" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "engines": { + "node": ">=18.0.0" } }, - "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, + "node_modules/eventsource-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=18.0.0" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2050,41 +1942,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -2113,17 +1970,6 @@ "cldrjs": "^0.5.4" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/handler-chain": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/handler-chain/-/handler-chain-0.1.0.tgz", @@ -2132,31 +1978,6 @@ "handler-chain": "^0.1.0" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -2523,14 +2344,6 @@ "markdown-it": "bin/markdown-it.js" } }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/math-random": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/math-random/-/math-random-2.0.1.tgz", @@ -3211,25 +3024,6 @@ "node": ">=16" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -3445,11 +3239,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -3467,6 +3256,7 @@ "version": "16.8.6", "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz", "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -3508,6 +3298,7 @@ "version": "16.8.6", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz", "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -3666,7 +3457,8 @@ "node_modules/redux": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", - "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "peer": true }, "node_modules/redux-saga": { "version": "1.3.0", @@ -3761,6 +3553,7 @@ "version": "7.8.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "peer": true, "dependencies": { "tslib": "^2.1.0" } @@ -3944,6 +3737,7 @@ } ], "hasInstallScript": true, + "peer": true, "dependencies": { "dom7": "^4.0.4", "ssr-window": "^4.0.2" @@ -4167,6 +3961,7 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/esm/bin/uuid" } @@ -4301,6 +4096,7 @@ "version": "3.25.75", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.75.tgz", "integrity": "sha512-OhpzAmVzabPOL6C3A3gpAifqr9MqihV/Msx3gor2b2kviCgcb+HM9SEOpMWwwNp9MRunWnhtAKUoo0AHhjyPPg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/samples/nodejs/copilotstudio-webchat-react/package.json b/samples/nodejs/copilotstudio-webchat-react/package.json index 8799ffbd..7e77f98d 100644 --- a/samples/nodejs/copilotstudio-webchat-react/package.json +++ b/samples/nodejs/copilotstudio-webchat-react/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@azure/msal-browser": "^4.13.1", - "@microsoft/agents-copilotstudio-client": "^1.0.0", + "@microsoft/agents-copilotstudio-client": "1.1.0-alpha.58", "botframework-webchat": "4.18.1-main.20250912.cbaf98f", "botframework-webchat-fluent-theme": "4.18.1-main.20250912.cbaf98f", "react": "16.8.6", @@ -24,4 +24,4 @@ "@types/react-dom": "16.9.0", "esbuild": "^0.25.9" } -} \ No newline at end of file +} From 37af122290d04a0041bc3e61a0330af86fcf030c Mon Sep 17 00:00:00 2001 From: Tracy Boehrer Date: Wed, 5 Nov 2025 14:17:07 -0600 Subject: [PATCH 09/20] Simplified Node auto-signin --- samples/nodejs/auto-signin/README.md | 12 +--- samples/nodejs/auto-signin/env.TEMPLATE | 1 - samples/nodejs/auto-signin/src/index.ts | 82 ++++--------------------- 3 files changed, 14 insertions(+), 81 deletions(-) diff --git a/samples/nodejs/auto-signin/README.md b/samples/nodejs/auto-signin/README.md index 0c8390b6..2c4dc7eb 100644 --- a/samples/nodejs/auto-signin/README.md +++ b/samples/nodejs/auto-signin/README.md @@ -5,10 +5,8 @@ This Agent has been created using [Microsoft 365 Agents SDK](https://github.com/ This sample uses different routes, and some are configured to use one or more auth handlers: ```ts - this.onMessage('/logout', this._logout) - this.onMessage('/me', this._profileRequest, ['graph']) - this.onMessage('/prs', this._pullRequests, ['github']) - this.onMessage('/status', this._status, ['graph', 'github']) + this.onMessage('-me', this._profileRequest, ['graph']) + this.onMessage('-logout', this._logout) ``` @@ -47,16 +45,12 @@ The sample uses the bot OAuth capabilities in [Azure Bot Service](https://docs.b storage: new MemoryStorage(), authorization: { graph: { text: 'Sign in with Microsoft Graph', title: 'Graph Sign In' }, - github: { text: 'Sign in with GitHub', title: 'GitHub Sign In' }, } }) ``` - you should have one item for `graph` and aonther for `github` - ```env graph_connectionName= - github_connectionName= ``` @@ -91,7 +85,7 @@ The sample uses the bot OAuth capabilities in [Azure Bot Service](https://docs.b ## Interacting with the Agent - When the conversation starts, you will be greeted with a welcome message, and another message informing the token status. -- Sending `/me` will trigger the OAuth flow and display additional information about you. +- Sending `-me` will trigger the OAuth flow and display additional information about you. - Note that if running this in Teams and SSO is setup, you shouldn't see any "sign in" prompts. This is true in this sample since we are only requesting a basic set of scopes that Teams doesn't require additional consent for. ## Further reading diff --git a/samples/nodejs/auto-signin/env.TEMPLATE b/samples/nodejs/auto-signin/env.TEMPLATE index e9ca49fe..14119151 100644 --- a/samples/nodejs/auto-signin/env.TEMPLATE +++ b/samples/nodejs/auto-signin/env.TEMPLATE @@ -3,6 +3,5 @@ clientId= clientSecret= graph_connectionName= -github_connectionName= DEBUG=agents:*:error,agents:*:info,agents:*:warn \ No newline at end of file diff --git a/samples/nodejs/auto-signin/src/index.ts b/samples/nodejs/auto-signin/src/index.ts index 8da96e51..632b3b02 100644 --- a/samples/nodejs/auto-signin/src/index.ts +++ b/samples/nodejs/auto-signin/src/index.ts @@ -5,7 +5,7 @@ import { startServer } from '@microsoft/agents-hosting-express' import { AgentApplication, CardFactory, MemoryStorage, MessageFactory, TurnContext, TurnState } from '@microsoft/agents-hosting' import { Template } from 'adaptivecards-templating' import { getUserInfo } from './userGraphClient.js' -import { getCurrentProfile, getPullRequests } from './githubApiClient.js' +import { ActivityTypes } from '@microsoft/agents-activity' class AutoSignInDemo extends AgentApplication { constructor () { @@ -13,27 +13,12 @@ class AutoSignInDemo extends AgentApplication { storage: new MemoryStorage(), authorization: { graph: { text: 'Sign in with Microsoft Graph', title: 'Graph Sign In' }, - github: { text: 'Sign in with GitHub', title: 'GitHub Sign In' }, } }) - this.onConversationUpdate('membersAdded', this._status) - this.authorization.onSignInSuccess(this._singinSuccess) - // this.authorization.onSignInFailure(this._singinFailure) - this.onMessage('/logout', this._logout) - this.onMessage('/me', this._profileRequest, ['graph']) - this.onMessage('/prs', this._pullRequests, ['github']) - this.onMessage('/status', this._status, ['graph', 'github']) - this.onActivity('invoke', this._invoke) - this.onActivity('message', this._message) - } - - private _status = async (context: TurnContext, state: TurnState): Promise => { - await context.sendActivity(MessageFactory.text('Welcome to the App Routes with auth demo!')) - const tokGraph = await this.authorization.getToken(context, 'graph') - const tokGH = await this.authorization.getToken(context, 'github') - const statusGraph = tokGraph.token !== undefined - const statusGH = tokGH.token !== undefined - await context.sendActivity(MessageFactory.text(`Token status: Graph:${statusGraph} GH:${statusGH}`)) + this.authorization.onSignInFailure(this._singinFailure) + this.onMessage('-me', this._profileRequest, ['graph']) + this.onMessage('-logout', this._logout) + this.onActivity(ActivityTypes.Message, this._message) } private _logout = async (context: TurnContext, state: TurnState): Promise => { @@ -41,14 +26,6 @@ class AutoSignInDemo extends AgentApplication { await context.sendActivity(MessageFactory.text('user logged out')) } - private _invoke = async (context: TurnContext, state: TurnState): Promise => { - await context.sendActivity(MessageFactory.text('Invoke received.')) - } - - private _singinSuccess = async (context: TurnContext, state: TurnState, authId?: string): Promise => { - await context.sendActivity(MessageFactory.text(`User signed in successfully in ${authId}`)) - } - private _singinFailure = async (context: TurnContext, state: TurnState, authId?: string, err?: string): Promise => { await context.sendActivity(MessageFactory.text(`Signing Failure in auth handler: ${authId} with error: ${err}`)) } @@ -59,49 +36,12 @@ class AutoSignInDemo extends AgentApplication { private _profileRequest = async (context: TurnContext, state: TurnState): Promise => { const userTokenResponse = await this.authorization.getToken(context, 'graph') - if (userTokenResponse && userTokenResponse?.token) { - const userTemplate = (await import('./userProfileCard.json', { with: { type: 'json' } })).default - const template = new Template(userTemplate) - const userInfo = await getUserInfo(userTokenResponse?.token!) - const card = template.expand(userInfo) - const activity = MessageFactory.attachment(CardFactory.adaptiveCard(card)) - await context.sendActivity(activity) - } else { - await context.sendActivity(MessageFactory.text(' token not available. Enter "/login" to sign in.')) - } - } - - private _pullRequests = async (context: TurnContext, state: TurnState): Promise => { - const userTokenResponse = await this.authorization.getToken(context, 'github') - if (userTokenResponse && userTokenResponse.token) { - const ghProf = await getCurrentProfile(userTokenResponse.token) - // console.log('GitHub profile', ghProf) - - const userTemplate = (await import('./userProfileCard.json', { with: { type: 'json' } })).default - const template = new Template(userTemplate) - const card = template.expand(ghProf) - const activity = MessageFactory.attachment(CardFactory.adaptiveCard(card)) - await context.sendActivity(activity) - - const prs = await getPullRequests('microsoft', 'agents', userTokenResponse.token) - for (const pr of prs) { - const prCard = (await import('./pullRequestCard.json', { with: { type: 'json' } })).default - const template = new Template(prCard) - const toExpand = { - $root: { - title: pr.title, - url: pr.url, - id: pr.id, - } - } - const card = template.expand(toExpand) - await context.sendActivity(MessageFactory.attachment(CardFactory.adaptiveCard(card))) - } - } else { - const tokenResponse = await this.authorization.beginOrContinueFlow(context, state, 'github') - console.warn(`GitHub token: ${JSON.stringify(tokenResponse)}`) - await context.sendActivity(MessageFactory.text('GitHub token length.' + tokenResponse?.token?.length)) - } + const userTemplate = (await import('./userProfileCard.json', { with: { type: 'json' } })).default + const template = new Template(userTemplate) + const userInfo = await getUserInfo(userTokenResponse?.token!) + const card = template.expand(userInfo) + const activity = MessageFactory.attachment(CardFactory.adaptiveCard(card)) + await context.sendActivity(activity) } } From 8218c8a9ea7a4764f10614171df837ed9bb79ad8 Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 17 Nov 2025 10:31:31 -0600 Subject: [PATCH 10/20] merge conflict --- samples/nodejs/quickstart/package.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/samples/nodejs/quickstart/package.json b/samples/nodejs/quickstart/package.json index 568d448a..802b8275 100644 --- a/samples/nodejs/quickstart/package.json +++ b/samples/nodejs/quickstart/package.json @@ -17,12 +17,7 @@ "test": "npm-run-all -p -r start:anon test-tool" }, "dependencies": { -<<<<<<< HEAD "@microsoft/agents-hosting-express": "1.1.0-alpha.58" -======= - "@microsoft/agents-hosting-express": "^1.0.0", - "express": "^5.1.0" ->>>>>>> 0713d63035fd5d8397254ac771a8c3838576bc38 }, "devDependencies": { "@microsoft/m365agentsplayground": "^0.2.16", From d589db07da1c3ac3486c7fb66a20ba24098d42fb Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 17 Nov 2025 10:50:09 -0600 Subject: [PATCH 11/20] expose public folder for skill manifest --- samples/nodejs/copilotstudio-skill/package-lock.json | 4 +++- samples/nodejs/copilotstudio-skill/package.json | 3 ++- samples/nodejs/copilotstudio-skill/src/agent.ts | 6 +++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/samples/nodejs/copilotstudio-skill/package-lock.json b/samples/nodejs/copilotstudio-skill/package-lock.json index f08c466f..ea19f973 100644 --- a/samples/nodejs/copilotstudio-skill/package-lock.json +++ b/samples/nodejs/copilotstudio-skill/package-lock.json @@ -10,7 +10,8 @@ "license": "ISC", "dependencies": { "@microsoft/agents-hosting-express": "1.1.0-alpha.58", - "@microsoft/microsoft-graph-client": "^3.0.7" + "@microsoft/microsoft-graph-client": "^3.0.7", + "express": "^5.1.0" }, "devDependencies": { "globals": "^16.1.0" @@ -558,6 +559,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "license": "MIT", "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.0", diff --git a/samples/nodejs/copilotstudio-skill/package.json b/samples/nodejs/copilotstudio-skill/package.json index 2a0b7b17..efc923b8 100644 --- a/samples/nodejs/copilotstudio-skill/package.json +++ b/samples/nodejs/copilotstudio-skill/package.json @@ -14,7 +14,8 @@ "description": "", "dependencies": { "@microsoft/agents-hosting-express": "1.1.0-alpha.58", - "@microsoft/microsoft-graph-client": "^3.0.7" + "@microsoft/microsoft-graph-client": "^3.0.7", + "express": "^5.1.0" }, "devDependencies": { "globals": "^16.1.0" diff --git a/samples/nodejs/copilotstudio-skill/src/agent.ts b/samples/nodejs/copilotstudio-skill/src/agent.ts index 3e6c13ca..f752fdd5 100644 --- a/samples/nodejs/copilotstudio-skill/src/agent.ts +++ b/samples/nodejs/copilotstudio-skill/src/agent.ts @@ -1,4 +1,5 @@ import { startServer } from '@microsoft/agents-hosting-express' +import express from 'express' import { AgentApplication, MessageFactory } from '@microsoft/agents-hosting' import pjson from '@microsoft/agents-hosting/package.json' @@ -16,4 +17,7 @@ skillAgent.onActivity('message', async (context) => { } }) -startServer(skillAgent) +const server = startServer(skillAgent) + +// Serve static files from the "public" folder +server.use(express.static('public')); \ No newline at end of file From 60762e9360c7731ca4ae203e9050c1a74e2ad54e Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 17 Nov 2025 11:04:35 -0600 Subject: [PATCH 12/20] update cards sample to use express hosting --- samples/nodejs/cards/package-lock.json | 149 +++++++++++++++++-------- samples/nodejs/cards/package.json | 7 +- samples/nodejs/cards/src/agent.ts | 108 +++++++++--------- samples/nodejs/cards/src/index.ts | 27 ----- 4 files changed, 157 insertions(+), 134 deletions(-) delete mode 100644 samples/nodejs/cards/src/index.ts diff --git a/samples/nodejs/cards/package-lock.json b/samples/nodejs/cards/package-lock.json index a44e2fb2..7c41a87a 100644 --- a/samples/nodejs/cards/package-lock.json +++ b/samples/nodejs/cards/package-lock.json @@ -9,7 +9,8 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@microsoft/agents-hosting": "^1.0.0", + "@microsoft/agents-hosting": "1.1.0-alpha.58", + "@microsoft/agents-hosting-express": "1.1.0-alpha.58", "express": "^5.1.0" }, "devDependencies": { @@ -22,6 +23,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "license": "MIT", "dependencies": { "tslib": "^2.6.2" }, @@ -30,12 +32,13 @@ } }, "node_modules/@azure/core-auth": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.0.tgz", - "integrity": "sha512-88Djs5vBvGbHQHf5ZZcaoNHo6Y8BKZkt3cw2iuJIQzLEgH4Ox6Tm4hjFhbqOxyYsgIG/eJbFEHpxRIfEEWv5Ow==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", + "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", + "license": "MIT", "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.11.0", + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" }, "engines": { @@ -43,11 +46,12 @@ } }, "node_modules/@azure/core-util": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.0.tgz", - "integrity": "sha512-o0psW8QWQ58fq3i24Q1K2XfS/jYTxr7O1HRcyUE9bV9NttLU+kYOH82Ixj8DGlMTOWgxm1Sss2QAfKK5UkSPxw==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", + "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", + "license": "MIT", "dependencies": { - "@azure/abort-controller": "^2.0.0", + "@azure/abort-controller": "^2.1.2", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" }, @@ -56,19 +60,21 @@ } }, "node_modules/@azure/msal-common": { - "version": "15.12.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.12.0.tgz", - "integrity": "sha512-4ucXbjVw8KJ5QBgnGJUeA07c8iznwlk5ioHIhI4ASXcXgcf2yRFhWzYOyWg/cI49LC9ekpFJeQtO3zjDTbl6TQ==", + "version": "15.13.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.13.1.tgz", + "integrity": "sha512-vQYQcG4J43UWgo1lj7LcmdsGUKWYo28RfEvDQAEMmQIMjSFufvb+pS0FJ3KXmrPmnWlt1vHDl3oip6mIDUQ4uA==", + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.7.3.tgz", - "integrity": "sha512-MoJxkKM/YpChfq4g2o36tElyzNUMG8mfD6u8NbuaPAsqfGpaw249khAcJYNoIOigUzRw45OjXCOrexE6ImdUxg==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.8.2.tgz", + "integrity": "sha512-dQrex2LiXwlCe9WuBHnCsY+xxLyuMXSd2SDEYJuhqB7cE8u6QafiC1xy8j8eBjGO30AsRi2M6amH0ZKk7vJpjA==", + "license": "MIT", "dependencies": { - "@azure/msal-common": "15.12.0", + "@azure/msal-common": "15.13.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -77,11 +83,12 @@ } }, "node_modules/@microsoft/agents-activity": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.0.15.tgz", - "integrity": "sha512-1u8BVLsipsgTTte2SrR+LBXMkkU0oKteE6QDk+Dq5yTS4dF9266LPQ6HgOTNEk3PxRFSibrlw7zSO4y6S/d5wA==", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-activity/-/agents-activity-1.1.0-alpha.58.tgz", + "integrity": "sha512-YRC9upu3WF9LFiglxA8k7Z8Hff7FZynTmioPqqhi49+qROxaQURy1435KcZcRb40axLJLWq4Nnm57PL0rsmEWw==", + "license": "MIT", "dependencies": { - "debug": "^4.3.7", + "debug": "^4.4.3", "uuid": "^11.1.0", "zod": "3.25.75" }, @@ -97,21 +104,37 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "uuid": "dist/esm/bin/uuid" } }, "node_modules/@microsoft/agents-hosting": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting/-/agents-hosting-1.0.15.tgz", - "integrity": "sha512-f7fG0jOYH7UUmGkJT+Y7Hu4vrTrlbgsSGD18+I7H3XyrfOnAkjfwfhkd0BF6F4qCTqDokDXmcQuhlPj/w69k7w==", - "dependencies": { - "@azure/core-auth": "^1.10.0", - "@azure/msal-node": "^3.7.0", - "@microsoft/agents-activity": "1.0.15", - "axios": "^1.11.0", + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting/-/agents-hosting-1.1.0-alpha.58.tgz", + "integrity": "sha512-uv0D0lnLlRw57f51zgMviqDq1grzi8IaWqrtKzYh0K0+kbJuWxAYLk/pjbfSsoAH1ZEWVpm+UinjPczAjPHY0A==", + "license": "MIT", + "dependencies": { + "@azure/core-auth": "^1.10.1", + "@azure/msal-node": "^3.8.0", + "@microsoft/agents-activity": "1.1.0-alpha.58", + "axios": "^1.12.2", "jsonwebtoken": "^9.0.2", - "jwks-rsa": "^3.2.0" + "jwks-rsa": "^3.2.0", + "object-path": "^0.11.8" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@microsoft/agents-hosting-express": { + "version": "1.1.0-alpha.58", + "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting-express/-/agents-hosting-express-1.1.0-alpha.58.tgz", + "integrity": "sha512-dTH1MVQRgKaTNP7ZKO1G6LM+DFXi/kZH0vnB3ftyY6f+PilFe63Rio+37qGHYOdLuGsHZcyo8+fOkyv+dyCWJQ==", + "license": "MIT", + "dependencies": { + "@microsoft/agents-hosting": "1.1.0-alpha.58", + "express": "^5.1.0" }, "engines": { "node": ">=20.0.0" @@ -228,9 +251,10 @@ } }, "node_modules/@typespec/ts-http-runtime": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.0.tgz", - "integrity": "sha512-sOx1PKSuFwnIl7z4RN0Ls7N9AQawmR9r66eI5rFCzLDIs8HTIYrIpH9QjYWoX0lkgGrkLxXhi4QnK7MizPRrIg==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.2.tgz", + "integrity": "sha512-IlqQ/Gv22xUC1r/WQm4StLkYQmaaTsXAhUVsNE0+xiyf0yRFiH5++q78U3bw6bLKDCTmh0uqKB9eG9+Bt75Dkg==", + "license": "MIT", "dependencies": { "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", @@ -256,6 +280,7 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", "engines": { "node": ">= 14" } @@ -387,7 +412,8 @@ "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" }, "node_modules/bytes": { "version": "3.1.2", @@ -600,9 +626,10 @@ } }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -682,6 +709,7 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" } @@ -1236,6 +1264,7 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -1248,6 +1277,7 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "4" @@ -1671,6 +1701,7 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -1692,6 +1723,7 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", + "license": "MIT", "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -1718,6 +1750,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -1751,37 +1784,44 @@ "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" }, "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" }, "node_modules/lru-cache": { "version": "6.0.0", @@ -1955,6 +1995,15 @@ "node": ">= 0.4" } }, + "node_modules/object-path": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", + "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "license": "MIT", + "engines": { + "node": ">= 10.12.0" + } + }, "node_modules/object.assign": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", @@ -2334,9 +2383,10 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -2702,7 +2752,8 @@ "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/type-is": { "version": "2.0.1", @@ -2826,6 +2877,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -2959,6 +3011,7 @@ "version": "3.25.75", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.75.tgz", "integrity": "sha512-OhpzAmVzabPOL6C3A3gpAifqr9MqihV/Msx3gor2b2kviCgcb+HM9SEOpMWwwNp9MRunWnhtAKUoo0AHhjyPPg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/samples/nodejs/cards/package.json b/samples/nodejs/cards/package.json index 802f6b81..6d740fa2 100644 --- a/samples/nodejs/cards/package.json +++ b/samples/nodejs/cards/package.json @@ -5,17 +5,18 @@ "description": "Agents cards agent sample", "author": "Microsoft", "license": "MIT", - "main": "./lib/index.js", + "main": "./lib/agent.js", "scripts": { "prebuild": "npm ci", "build": "tsc --build", "prestart": "npm run build", - "start": "node --env-file .env ./dist/index.js", + "start": "node --env-file .env ./dist/agent.js", "test-tool": "agentsplayground", "test": "npm-run-all -p -r start test-tool" }, "dependencies": { - "@microsoft/agents-hosting": "^1.0.0", + "@microsoft/agents-hosting": "1.1.0-alpha.58", + "@microsoft/agents-hosting-express": "1.1.0-alpha.58", "express": "^5.1.0" }, "devDependencies": { diff --git a/samples/nodejs/cards/src/agent.ts b/samples/nodejs/cards/src/agent.ts index 3416d60e..85be331a 100644 --- a/samples/nodejs/cards/src/agent.ts +++ b/samples/nodejs/cards/src/agent.ts @@ -1,68 +1,64 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +import { startServer } from '@microsoft/agents-hosting-express' +import { TurnState, TurnContext, AgentApplication } from '@microsoft/agents-hosting' import { Activity, ActivityTypes } from '@microsoft/agents-activity' -import { ActivityHandler } from '@microsoft/agents-hosting' import { CardMessages } from './cardMessages' import AdaptiveCard from './resources/adaptiveCard.json' -export class CardSampleAgent extends ActivityHandler { - constructor () { - super() +const CardSampleAgent = new AgentApplication(); - this.onMembersAdded(async (context, next) => { - const membersAdded = context.activity.membersAdded - for (let cnt = 0; cnt < membersAdded!.length; cnt++) { - if ((context.activity.recipient != null) && membersAdded![cnt].id !== context.activity.recipient.id) { - await CardMessages.sendIntroCard(context) +CardSampleAgent.onConversationUpdate('membersAdded', async (context: TurnContext, state: TurnState) => { + const membersAdded = context.activity.membersAdded + for (let cnt = 0; cnt < membersAdded!.length; cnt++) { + if ((context.activity.recipient != null) && membersAdded![cnt].id !== context.activity.recipient.id) { + await CardMessages.sendIntroCard(context) - await next() - } - } - }) + } + } +}) - this.onMessage(async (context, next) => { - if (context.activity.text !== undefined) { - switch (context.activity.text.split('.')[0].toLowerCase()) { - case 'display cards options': - await CardMessages.sendIntroCard(context) - break - case '1': - await CardMessages.sendAdaptiveCard(context, AdaptiveCard) - break - case '2': - await CardMessages.sendAnimationCard(context) - break - case '3': - await CardMessages.sendAudioCard(context) - break - case '4': - await CardMessages.sendHeroCard(context) - break - case '5': - await CardMessages.sendReceiptCard(context) - break - case '6': - await CardMessages.sendThumbnailCard(context) - break - case '7': - await CardMessages.sendVideoCard(context) - break - default: { - const reply: Activity = Activity.fromObject( - { - type: ActivityTypes.Message, - text: 'Your input was not recognized, please try again.' - } - ) - await context.sendActivity(reply) - await CardMessages.sendIntroCard(context) +CardSampleAgent.onActivity(ActivityTypes.Message, async (context: TurnContext, state: TurnState) => { + if (context.activity.text !== undefined) { + switch (context.activity.text.split('.')[0].toLowerCase()) { + case 'display cards options': + await CardMessages.sendIntroCard(context) + break + case '1': + await CardMessages.sendAdaptiveCard(context, AdaptiveCard) + break + case '2': + await CardMessages.sendAnimationCard(context) + break + case '3': + await CardMessages.sendAudioCard(context) + break + case '4': + await CardMessages.sendHeroCard(context) + break + case '5': + await CardMessages.sendReceiptCard(context) + break + case '6': + await CardMessages.sendThumbnailCard(context) + break + case '7': + await CardMessages.sendVideoCard(context) + break + default: { + const reply: Activity = Activity.fromObject( + { + type: ActivityTypes.Message, + text: 'Your input was not recognized, please try again.' } - } - } else { - await context.sendActivity('This sample is only for testing Cards using CardFactory methods. Please refer to other samples to test out more functionalities.') + ) + await context.sendActivity(reply) + await CardMessages.sendIntroCard(context) } - - await next() - }) + } + } else { + await context.sendActivity('This sample is only for testing Cards using CardFactory methods. Please refer to other samples to test out more functionalities.') } -} +}) + +startServer(CardSampleAgent) \ No newline at end of file diff --git a/samples/nodejs/cards/src/index.ts b/samples/nodejs/cards/src/index.ts deleted file mode 100644 index 3580df06..00000000 --- a/samples/nodejs/cards/src/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -import express, { Response } from 'express' -import { Request, CloudAdapter, authorizeJWT, AuthConfiguration, loadAuthConfigFromEnv } from '@microsoft/agents-hosting' -import { CardSampleAgent } from './agent' - -const authConfig: AuthConfiguration = loadAuthConfigFromEnv() - -const adapter = new CloudAdapter(authConfig) -const myBot = new CardSampleAgent() - -const app = express() -app.use(express.json()) -app.use(authorizeJWT(authConfig)) - -app.post('/api/messages', async (req: Request, res: Response) => { - await adapter.process(req, res, async (context) => await myBot.run(context)) -}) - -const port = process.env.PORT || 3978 -app.listen(port, () => { - console.log(`\nServer listening to port ${port} for appId ${authConfig.clientId}`) -}).on('error', (err) => { - console.error(err) - process.exit(1) -}) From 43f3719af60d8147468912ec724399f705d94ae8 Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 17 Nov 2025 11:06:59 -0600 Subject: [PATCH 13/20] update env.template files to new style of config --- samples/nodejs/cards/env.TEMPLATE | 11 ++++++++--- samples/nodejs/copilotstudio-skill/env.TEMPLATE | 12 ++++++++---- samples/nodejs/copilotstudio-skill/src/agent.ts | 2 ++ samples/nodejs/multi-turn-prompt/env.TEMPLATE | 11 ++++++++--- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/samples/nodejs/cards/env.TEMPLATE b/samples/nodejs/cards/env.TEMPLATE index 3a8f6e1e..9c57eef0 100644 --- a/samples/nodejs/cards/env.TEMPLATE +++ b/samples/nodejs/cards/env.TEMPLATE @@ -1,4 +1,9 @@ # rename to .env -tenantId= -clientId= -clientSecret= +connections__serviceConnection__settings__clientId= # App ID of the App Registration used to log in. +connections__serviceConnection__settings__clientSecret= # Client secret of the App Registration used to log in +connections__serviceConnection__settings__tenantId= # Tenant ID of the App Registration used to log in + +connectionsMap__0__connection=serviceConnection +connectionsMap__0__serviceUrl=* + +DEBUG=agents:*:error diff --git a/samples/nodejs/copilotstudio-skill/env.TEMPLATE b/samples/nodejs/copilotstudio-skill/env.TEMPLATE index 2a36c532..9c57eef0 100644 --- a/samples/nodejs/copilotstudio-skill/env.TEMPLATE +++ b/samples/nodejs/copilotstudio-skill/env.TEMPLATE @@ -1,5 +1,9 @@ # rename to .env -tenantId= -clientId= -clientSecret= -DEBUG=agents:*:error \ No newline at end of file +connections__serviceConnection__settings__clientId= # App ID of the App Registration used to log in. +connections__serviceConnection__settings__clientSecret= # Client secret of the App Registration used to log in +connections__serviceConnection__settings__tenantId= # Tenant ID of the App Registration used to log in + +connectionsMap__0__connection=serviceConnection +connectionsMap__0__serviceUrl=* + +DEBUG=agents:*:error diff --git a/samples/nodejs/copilotstudio-skill/src/agent.ts b/samples/nodejs/copilotstudio-skill/src/agent.ts index f752fdd5..8da89c34 100644 --- a/samples/nodejs/copilotstudio-skill/src/agent.ts +++ b/samples/nodejs/copilotstudio-skill/src/agent.ts @@ -4,10 +4,12 @@ import { AgentApplication, MessageFactory } from '@microsoft/agents-hosting' import pjson from '@microsoft/agents-hosting/package.json' export const skillAgent = new AgentApplication() + skillAgent.onConversationUpdate('membersAdded', async (context) => { const welcomeText = `Hello from echo bot, running on version ${pjson.version}` await context.sendActivity(MessageFactory.text(welcomeText, welcomeText)) }) + skillAgent.onActivity('message', async (context) => { const text = context.activity.text const replyText = `Echo: ${text}` diff --git a/samples/nodejs/multi-turn-prompt/env.TEMPLATE b/samples/nodejs/multi-turn-prompt/env.TEMPLATE index 3a8f6e1e..9c57eef0 100644 --- a/samples/nodejs/multi-turn-prompt/env.TEMPLATE +++ b/samples/nodejs/multi-turn-prompt/env.TEMPLATE @@ -1,4 +1,9 @@ # rename to .env -tenantId= -clientId= -clientSecret= +connections__serviceConnection__settings__clientId= # App ID of the App Registration used to log in. +connections__serviceConnection__settings__clientSecret= # Client secret of the App Registration used to log in +connections__serviceConnection__settings__tenantId= # Tenant ID of the App Registration used to log in + +connectionsMap__0__connection=serviceConnection +connectionsMap__0__serviceUrl=* + +DEBUG=agents:*:error From d3274ffb93eab397d3b1ab062dbdc25851c4713f Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 17 Nov 2025 12:16:13 -0600 Subject: [PATCH 14/20] linter fixes --- samples/nodejs/cards/src/agent.ts | 11 +++++------ samples/nodejs/copilotstudio-skill/src/agent.ts | 4 ++-- samples/nodejs/obo-authorization/src/index.ts | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/samples/nodejs/cards/src/agent.ts b/samples/nodejs/cards/src/agent.ts index 85be331a..8a24f2db 100644 --- a/samples/nodejs/cards/src/agent.ts +++ b/samples/nodejs/cards/src/agent.ts @@ -6,20 +6,19 @@ import { Activity, ActivityTypes } from '@microsoft/agents-activity' import { CardMessages } from './cardMessages' import AdaptiveCard from './resources/adaptiveCard.json' -const CardSampleAgent = new AgentApplication(); +const CardSampleAgent = new AgentApplication() -CardSampleAgent.onConversationUpdate('membersAdded', async (context: TurnContext, state: TurnState) => { +CardSampleAgent.onConversationUpdate('membersAdded', async (context: TurnContext, state: TurnState) => { const membersAdded = context.activity.membersAdded for (let cnt = 0; cnt < membersAdded!.length; cnt++) { if ((context.activity.recipient != null) && membersAdded![cnt].id !== context.activity.recipient.id) { await CardMessages.sendIntroCard(context) - } } }) -CardSampleAgent.onActivity(ActivityTypes.Message, async (context: TurnContext, state: TurnState) => { - if (context.activity.text !== undefined) { +CardSampleAgent.onActivity(ActivityTypes.Message, async (context: TurnContext, state: TurnState) => { + if (context.activity.text !== undefined) { switch (context.activity.text.split('.')[0].toLowerCase()) { case 'display cards options': await CardMessages.sendIntroCard(context) @@ -61,4 +60,4 @@ CardSampleAgent.onActivity(ActivityTypes.Message, async (context: TurnContext, } }) -startServer(CardSampleAgent) \ No newline at end of file +startServer(CardSampleAgent) diff --git a/samples/nodejs/copilotstudio-skill/src/agent.ts b/samples/nodejs/copilotstudio-skill/src/agent.ts index 8da89c34..0a535c6c 100644 --- a/samples/nodejs/copilotstudio-skill/src/agent.ts +++ b/samples/nodejs/copilotstudio-skill/src/agent.ts @@ -21,5 +21,5 @@ skillAgent.onActivity('message', async (context) => { const server = startServer(skillAgent) -// Serve static files from the "public" folder -server.use(express.static('public')); \ No newline at end of file +// Serve static files from the "public" folder +server.use(express.static('public')) diff --git a/samples/nodejs/obo-authorization/src/index.ts b/samples/nodejs/obo-authorization/src/index.ts index cfdfe871..f3fe26fc 100644 --- a/samples/nodejs/obo-authorization/src/index.ts +++ b/samples/nodejs/obo-authorization/src/index.ts @@ -27,7 +27,7 @@ class OboApp extends AgentApplication { } else { await context.sendActivity(MessageFactory.text('Token request status: ' + tresp || 'unknown')) } - const oboToken = await this.authorization.exchangeToken(context, 'graph', { scopes: ['https://graph.microsoft.com/.default']}) + const oboToken = await this.authorization.exchangeToken(context, 'graph', { scopes: ['https://graph.microsoft.com/.default'] }) await context.sendActivity(MessageFactory.text('OBO Token received: ' + (oboToken?.token?.length || 0))) } From b3b9b85b847e18bf670f093571ac8e83db0d341d Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 17 Nov 2025 12:21:50 -0600 Subject: [PATCH 15/20] ignore browser.mjs --- eslint.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eslint.config.js b/eslint.config.js index aa1fc2cc..8fadda7b 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,3 +1,3 @@ import neostandard from 'neostandard' -export default neostandard({ ts: true, ignores: ['node_modules', '**/dist/**'] }) +export default neostandard({ ts: true, ignores: ['node_modules', '**/dist/**', '**/browser.mjs'] }) From 3b5912b2d9891807c6d5af69133865a1e9acdd82 Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 17 Nov 2025 12:27:02 -0600 Subject: [PATCH 16/20] remove browser.mjs file --- eslint.config.js | 2 +- .../nodejs/copilotstudio-webclient/web/lib/browser.mjs | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 samples/nodejs/copilotstudio-webclient/web/lib/browser.mjs diff --git a/eslint.config.js b/eslint.config.js index 8fadda7b..aa1fc2cc 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,3 +1,3 @@ import neostandard from 'neostandard' -export default neostandard({ ts: true, ignores: ['node_modules', '**/dist/**', '**/browser.mjs'] }) +export default neostandard({ ts: true, ignores: ['node_modules', '**/dist/**'] }) diff --git a/samples/nodejs/copilotstudio-webclient/web/lib/browser.mjs b/samples/nodejs/copilotstudio-webclient/web/lib/browser.mjs deleted file mode 100644 index c8b4adcf..00000000 --- a/samples/nodejs/copilotstudio-webclient/web/lib/browser.mjs +++ /dev/null @@ -1,8 +0,0 @@ -var Os=Object.create;var uo=Object.defineProperty;var Ps=Object.getOwnPropertyDescriptor;var Zs=Object.getOwnPropertyNames;var js=Object.getPrototypeOf,ks=Object.prototype.hasOwnProperty;var y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Es=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Zs(e))!ks.call(t,o)&&o!==r&&uo(t,o,{get:()=>e[o],enumerable:!(n=Ps(e,o))||n.enumerable});return t};var Et=(t,e,r)=>(r=t!=null?Os(js(t)):{},Es(e||!t||!t.__esModule?uo(r,"default",{value:t,enumerable:!0}):r,t));var mo=y((tl,ho)=>{var Je=1e3,Ye=Je*60,Xe=Ye*60,Te=Xe*24,qs=Te*7,Fs=Te*365.25;ho.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Vs(t);if(r==="number"&&isFinite(t))return e.long?Ws(t):$s(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Vs(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Fs;case"weeks":case"week":case"w":return r*qs;case"days":case"day":case"d":return r*Te;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Xe;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ye;case"seconds":case"second":case"secs":case"sec":case"s":return r*Je;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function $s(t){var e=Math.abs(t);return e>=Te?Math.round(t/Te)+"d":e>=Xe?Math.round(t/Xe)+"h":e>=Ye?Math.round(t/Ye)+"m":e>=Je?Math.round(t/Je)+"s":t+"ms"}function Ws(t){var e=Math.abs(t);return e>=Te?nr(t,e,Te,"day"):e>=Xe?nr(t,e,Xe,"hour"):e>=Ye?nr(t,e,Ye,"minute"):e>=Je?nr(t,e,Je,"second"):t+" ms"}function nr(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var vo=y((rl,yo)=>{function Hs(t){r.debug=r,r.default=r,r.coerce=d,r.disable=s,r.enable=o,r.enabled=a,r.humanize=mo(),r.destroy=l,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let m=0;for(let _=0;_{if(re==="%%")return"%";ye++;let Zt=r.formatters[Pt];if(typeof Zt=="function"){let $r=S[ye];re=Zt.call(A,$r),S.splice(ye,1),ye--}return re}),r.formatArgs.call(A,S),(A.log||r.log).apply(A,S)}return g.namespace=f,g.useColors=r.useColors(),g.color=r.selectColor(f),g.extend=n,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>_!==null?_:(T!==r.namespaces&&(T=r.namespaces,O=r.enabled(f)),O),set:S=>{_=S}}),typeof r.init=="function"&&r.init(g),g}function n(f,m){let _=r(this.namespace+(typeof m=="undefined"?":":m)+f);return _.log=this.log,_}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let m=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let _ of m)_[0]==="-"?r.skips.push(_.slice(1)):r.names.push(_)}function i(f,m){let _=0,T=0,O=-1,g=0;for(;_"-"+m)].join(",");return r.enable(""),f}function a(f){for(let m of r.skips)if(i(f,m))return!1;for(let m of r.names)if(i(f,m))return!0;return!1}function d(f){return f instanceof Error?f.stack||f.message:f}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}yo.exports=Hs});var go=y((V,or)=>{V.formatArgs=Ks;V.save=Gs;V.load=Js;V.useColors=Bs;V.storage=Ys();V.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();V.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Bs(){if(typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Ks(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+or.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}V.log=console.debug||console.log||(()=>{});function Gs(t){try{t?V.storage.setItem("debug",t):V.storage.removeItem("debug")}catch{}}function Js(){let t;try{t=V.storage.getItem("debug")||V.storage.getItem("DEBUG")}catch{}return!t&&typeof process!="undefined"&&"env"in process&&(t=process.env.DEBUG),t}function Ys(){try{return localStorage}catch{}}or.exports=vo()(V);var{formatters:Xs}=or.exports;Xs.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Mt=y(Se=>{"use strict";var Qs=Se&&Se.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Se,"__esModule",{value:!0});Se.Logger=void 0;Se.debug=ra;var ea=Qs(go()),ta=["info","warn","error","debug"],ir=class{constructor(e=""){this.loggers={},this.initializeLoggers(e)}initializeLoggers(e){for(let r of ta){let n=(0,ea.default)(`${e}:${r}`);n.color=this.getPlatformColor(r),this.loggers[r]=n}}getPlatformColor(e){return{node:{info:"2",warn:"3",error:"1",debug:"4"},browser:{info:"#33CC99",warn:"#CCCC33",error:"#CC3366",debug:"#0066FF"}}[typeof window!="undefined"?"browser":"node"][e]}info(e,...r){this.loggers.info(e,...r)}warn(e,...r){this.loggers.warn(e,...r)}error(e,...r){this.loggers.error(e,...r)}debug(e,...r){this.loggers.debug(e,...r)}};Se.Logger=ir;function ra(t){return new ir(t)}});var Dt=y(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.getParsedType=k.ZodParsedType=k.objectUtil=k.util=void 0;var Gr;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let i={};for(let s of o)i[s]=s;return i},t.getValidEnumValues=o=>{let i=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),s={};for(let a of i)s[a]=o[a];return t.objectValues(s)},t.objectValues=o=>t.objectKeys(o).map(function(i){return o[i]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let i=[];for(let s in o)Object.prototype.hasOwnProperty.call(o,s)&&i.push(s);return i},t.find=(o,i)=>{for(let s of o)if(i(s))return s},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,i=" | "){return o.map(s=>typeof s=="string"?`'${s}'`:s).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(o,i)=>typeof i=="bigint"?i.toString():i})(Gr||(k.util=Gr={}));var wo;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(wo||(k.objectUtil=wo={}));k.ZodParsedType=Gr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var sa=t=>{switch(typeof t){case"undefined":return k.ZodParsedType.undefined;case"string":return k.ZodParsedType.string;case"number":return Number.isNaN(t)?k.ZodParsedType.nan:k.ZodParsedType.number;case"boolean":return k.ZodParsedType.boolean;case"function":return k.ZodParsedType.function;case"bigint":return k.ZodParsedType.bigint;case"symbol":return k.ZodParsedType.symbol;case"object":return Array.isArray(t)?k.ZodParsedType.array:t===null?k.ZodParsedType.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?k.ZodParsedType.promise:typeof Map!="undefined"&&t instanceof Map?k.ZodParsedType.map:typeof Set!="undefined"&&t instanceof Set?k.ZodParsedType.set:typeof Date!="undefined"&&t instanceof Date?k.ZodParsedType.date:k.ZodParsedType.object;default:return k.ZodParsedType.unknown}};k.getParsedType=sa});var dr=y(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.ZodError=ve.quotelessJson=ve.ZodIssueCode=void 0;var Co=Dt();ve.ZodIssueCode=Co.util.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var aa=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");ve.quotelessJson=aa;var zt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(o);else if(s.code==="invalid_return_type")o(s.returnTypeError);else if(s.code==="invalid_arguments")o(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let a=n,d=0;for(;dr.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let i=o.path[0];r[i]=r[i]||[],r[i].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};ve.ZodError=zt;zt.create=t=>new zt(t)});var Yr=y(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});var M=dr(),Ae=Dt(),ca=(t,e)=>{let r;switch(t.code){case M.ZodIssueCode.invalid_type:t.received===Ae.ZodParsedType.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case M.ZodIssueCode.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,Ae.util.jsonStringifyReplacer)}`;break;case M.ZodIssueCode.unrecognized_keys:r=`Unrecognized key(s) in object: ${Ae.util.joinValues(t.keys,", ")}`;break;case M.ZodIssueCode.invalid_union:r="Invalid input";break;case M.ZodIssueCode.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Ae.util.joinValues(t.options)}`;break;case M.ZodIssueCode.invalid_enum_value:r=`Invalid enum value. Expected ${Ae.util.joinValues(t.options)}, received '${t.received}'`;break;case M.ZodIssueCode.invalid_arguments:r="Invalid function arguments";break;case M.ZodIssueCode.invalid_return_type:r="Invalid function return type";break;case M.ZodIssueCode.invalid_date:r="Invalid date";break;case M.ZodIssueCode.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:Ae.util.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case M.ZodIssueCode.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case M.ZodIssueCode.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case M.ZodIssueCode.custom:r="Invalid input";break;case M.ZodIssueCode.invalid_intersection_types:r="Intersection results could not be merged";break;case M.ZodIssueCode.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case M.ZodIssueCode.not_finite:r="Number must be finite";break;default:r=e.defaultError,Ae.util.assertNever(t)}return{message:r}};Jr.default=ca});var lr=y(ge=>{"use strict";var ua=ge&&ge.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ge,"__esModule",{value:!0});ge.defaultErrorMap=void 0;ge.setErrorMap=da;ge.getErrorMap=la;var Io=ua(Yr());ge.defaultErrorMap=Io.default;var To=Io.default;function da(t){To=t}function la(){return To}});var Qr=y(Z=>{"use strict";var fa=Z&&Z.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Z,"__esModule",{value:!0});Z.isAsync=Z.isValid=Z.isDirty=Z.isAborted=Z.OK=Z.DIRTY=Z.INVALID=Z.ParseStatus=Z.EMPTY_PATH=Z.makeIssue=void 0;Z.addIssueToContext=ma;var pa=lr(),So=fa(Yr()),ha=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,i=[...r,...o.path||[]],s={...o,path:i};if(o.message!==void 0)return{...o,path:i,message:o.message};let a="",d=n.filter(l=>!!l).slice().reverse();for(let l of d)a=l(s,{data:e,defaultError:a}).message;return{...o,path:i,message:a}};Z.makeIssue=ha;Z.EMPTY_PATH=[];function ma(t,e){let r=(0,pa.getErrorMap)(),n=(0,Z.makeIssue)({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===So.default?void 0:So.default].filter(o=>!!o)});t.common.issues.push(n)}var Xr=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return Z.INVALID;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let i=await o.key,s=await o.value;n.push({key:i,value:s})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:i,value:s}=o;if(i.status==="aborted"||s.status==="aborted")return Z.INVALID;i.status==="dirty"&&e.dirty(),s.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof s.value!="undefined"||o.alwaysSet)&&(n[i.value]=s.value)}return{status:e.value,value:n}}};Z.ParseStatus=Xr;Z.INVALID=Object.freeze({status:"aborted"});var ya=t=>({status:"dirty",value:t});Z.DIRTY=ya;var va=t=>({status:"valid",value:t});Z.OK=va;var ga=t=>t.status==="aborted";Z.isAborted=ga;var _a=t=>t.status==="dirty";Z.isDirty=_a;var ba=t=>t.status==="valid";Z.isValid=ba;var xa=t=>typeof Promise!="undefined"&&t instanceof Promise;Z.isAsync=xa});var Oo=y(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0})});var Zo=y(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.errorUtil=void 0;var Po;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(Po||(fr.errorUtil=Po={}))});var Fo=y(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});c.discriminatedUnion=c.date=c.boolean=c.bigint=c.array=c.any=c.coerce=c.ZodFirstPartyTypeKind=c.late=c.ZodSchema=c.Schema=c.ZodReadonly=c.ZodPipeline=c.ZodBranded=c.BRAND=c.ZodNaN=c.ZodCatch=c.ZodDefault=c.ZodNullable=c.ZodOptional=c.ZodTransformer=c.ZodEffects=c.ZodPromise=c.ZodNativeEnum=c.ZodEnum=c.ZodLiteral=c.ZodLazy=c.ZodFunction=c.ZodSet=c.ZodMap=c.ZodRecord=c.ZodTuple=c.ZodIntersection=c.ZodDiscriminatedUnion=c.ZodUnion=c.ZodObject=c.ZodArray=c.ZodVoid=c.ZodNever=c.ZodUnknown=c.ZodAny=c.ZodNull=c.ZodUndefined=c.ZodSymbol=c.ZodDate=c.ZodBoolean=c.ZodBigInt=c.ZodNumber=c.ZodString=c.ZodType=void 0;c.NEVER=c.void=c.unknown=c.union=c.undefined=c.tuple=c.transformer=c.symbol=c.string=c.strictObject=c.set=c.record=c.promise=c.preprocess=c.pipeline=c.ostring=c.optional=c.onumber=c.oboolean=c.object=c.number=c.nullable=c.null=c.never=c.nativeEnum=c.nan=c.map=c.literal=c.lazy=c.intersection=c.instanceof=c.function=c.enum=c.effect=void 0;c.datetimeRegex=Ro;c.custom=No;var p=dr(),pr=lr(),v=Zo(),u=Qr(),h=Dt(),K=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},jo=(t,e)=>{if((0,u.isValid)(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new p.ZodError(t.common.issues);return this._error=r,this._error}}};function C(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(s,a)=>{var l,f;let{message:d}=t;return s.code==="invalid_enum_value"?{message:d!=null?d:a.defaultError}:typeof a.data=="undefined"?{message:(l=d!=null?d:n)!=null?l:a.defaultError}:s.code!=="invalid_type"?{message:a.defaultError}:{message:(f=d!=null?d:r)!=null?f:a.defaultError}},description:o}}var I=class{get description(){return this._def.description}_getType(e){return(0,h.getParsedType)(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:(0,h.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new u.ParseStatus,ctx:{common:e.parent.common,data:e.data,parsedType:(0,h.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if((0,u.isAsync)(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){var i;let n={common:{issues:[],async:(i=r==null?void 0:r.async)!=null?i:!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,h.getParsedType)(e)},o=this._parseSync({data:e,path:n.path,parent:n});return jo(n,o)}"~validate"(e){var n,o;let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,h.getParsedType)(e)};if(!this["~standard"].async)try{let i=this._parseSync({data:e,path:[],parent:r});return(0,u.isValid)(i)?{value:i.value}:{issues:r.common.issues}}catch(i){(o=(n=i==null?void 0:i.message)==null?void 0:n.toLowerCase())!=null&&o.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(i=>(0,u.isValid)(i)?{value:i.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,h.getParsedType)(e)},o=this._parse({data:e,path:n.path,parent:n}),i=await((0,u.isAsync)(o)?o:Promise.resolve(o));return jo(n,i)}refine(e,r){let n=o=>typeof r=="string"||typeof r=="undefined"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,i)=>{let s=e(o),a=()=>i.addIssue({code:p.ZodIssueCode.custom,...n(o)});return typeof Promise!="undefined"&&s instanceof Promise?s.then(d=>d?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new H({schema:this,typeName:w.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return B.create(this,this._def)}nullable(){return se.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return le.create(this)}promise(){return xe.create(this,this._def)}or(e){return Ue.create([this,e],this._def)}and(e){return Re.create(this,e,this._def)}transform(e){return new H({...C(this._def),schema:this,typeName:w.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Le({...C(this._def),innerType:this,defaultValue:r,typeName:w.ZodDefault})}brand(){return new Lt({typeName:w.ZodBranded,type:this,...C(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new qe({...C(this._def),innerType:this,catchValue:r,typeName:w.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return qt.create(this,e)}readonly(){return Fe.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};c.ZodType=I;c.Schema=I;c.ZodSchema=I;var wa=/^c[^\s-]{8,}$/i,Ca=/^[0-9a-z]+$/,Ia=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ta=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Sa=/^[a-z0-9_-]{21}$/i,Aa=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Oa=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Pa=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Za="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",en,ja=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ka=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Ea=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ua=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ra=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ma=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Eo="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Na=new RegExp(`^${Eo}$`);function Uo(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Da(t){return new RegExp(`^${Uo(t)}$`)}function Ro(t){let e=`${Eo}T${Uo(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function za(t,e){return!!((e==="v4"||!e)&&ja.test(t)||(e==="v6"||!e)&&Ea.test(t))}function La(t,e){if(!Aa.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&(o==null?void 0:o.typ)!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function qa(t,e){return!!((e==="v4"||!e)&&ka.test(t)||(e==="v6"||!e)&&Ua.test(t))}var _e=class t extends I{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==h.ZodParsedType.string){let i=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(i,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.string,received:i.parsedType}),u.INVALID}let n=new u.ParseStatus,o;for(let i of this._def.checks)if(i.kind==="min")e.data.lengthi.value&&(o=this._getOrReturnCtx(e,o),(0,u.addIssueToContext)(o,{code:p.ZodIssueCode.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let s=e.data.length>i.value,a=e.data.lengthe.test(o),{validation:r,code:p.ZodIssueCode.invalid_string,...v.errorUtil.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...v.errorUtil.errToObj(e)})}url(e){return this._addCheck({kind:"url",...v.errorUtil.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...v.errorUtil.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...v.errorUtil.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...v.errorUtil.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...v.errorUtil.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...v.errorUtil.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...v.errorUtil.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...v.errorUtil.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...v.errorUtil.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...v.errorUtil.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...v.errorUtil.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...v.errorUtil.errToObj(e)})}datetime(e){var r,n;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,offset:(r=e==null?void 0:e.offset)!=null?r:!1,local:(n=e==null?void 0:e.local)!=null?n:!1,...v.errorUtil.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,...v.errorUtil.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...v.errorUtil.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...v.errorUtil.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r==null?void 0:r.position,...v.errorUtil.errToObj(r==null?void 0:r.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...v.errorUtil.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...v.errorUtil.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...v.errorUtil.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...v.errorUtil.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...v.errorUtil.errToObj(r)})}nonempty(e){return this.min(1,v.errorUtil.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value{var e;return new _e({checks:[],typeName:w.ZodString,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...C(t)})};function Fa(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(t.toFixed(o).replace(".","")),s=Number.parseInt(e.toFixed(o).replace(".",""));return i%s/10**o}var Oe=class t extends I{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==h.ZodParsedType.number){let i=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(i,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.number,received:i.parsedType}),u.INVALID}let n,o=new u.ParseStatus;for(let i of this._def.checks)i.kind==="int"?h.util.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:i.message}),o.dirty()):i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="multipleOf"?Fa(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.not_finite,message:i.message}),o.dirty()):h.util.assertNever(i);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,v.errorUtil.toString(r))}gt(e,r){return this.setLimit("min",e,!1,v.errorUtil.toString(r))}lte(e,r){return this.setLimit("max",e,!0,v.errorUtil.toString(r))}lt(e,r){return this.setLimit("max",e,!1,v.errorUtil.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:v.errorUtil.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:v.errorUtil.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.errorUtil.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:v.errorUtil.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:v.errorUtil.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.errorUtil.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.errorUtil.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&h.util.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew Oe({checks:[],typeName:w.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...C(t)});var Pe=class t extends I{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==h.ZodParsedType.bigint)return this._getInvalidInput(e);let n,o=new u.ParseStatus;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):h.util.assertNever(i);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.bigint,received:r.parsedType}),u.INVALID}gte(e,r){return this.setLimit("min",e,!0,v.errorUtil.toString(r))}gt(e,r){return this.setLimit("min",e,!1,v.errorUtil.toString(r))}lte(e,r){return this.setLimit("max",e,!0,v.errorUtil.toString(r))}lt(e,r){return this.setLimit("max",e,!1,v.errorUtil.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:v.errorUtil.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.errorUtil.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:v.errorUtil.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value{var e;return new Pe({checks:[],typeName:w.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...C(t)})};var Ze=class extends I{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==h.ZodParsedType.boolean){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.boolean,received:n.parsedType}),u.INVALID}return(0,u.OK)(e.data)}};c.ZodBoolean=Ze;Ze.create=t=>new Ze({typeName:w.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...C(t)});var je=class t extends I{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==h.ZodParsedType.date){let i=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(i,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.date,received:i.parsedType}),u.INVALID}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(i,{code:p.ZodIssueCode.invalid_date}),u.INVALID}let n=new u.ParseStatus,o;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()i.value&&(o=this._getOrReturnCtx(e,o),(0,u.addIssueToContext)(o,{code:p.ZodIssueCode.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):h.util.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:v.errorUtil.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:v.errorUtil.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew je({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:w.ZodDate,...C(t)});var tt=class extends I{_parse(e){if(this._getType(e)!==h.ZodParsedType.symbol){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.symbol,received:n.parsedType}),u.INVALID}return(0,u.OK)(e.data)}};c.ZodSymbol=tt;tt.create=t=>new tt({typeName:w.ZodSymbol,...C(t)});var ke=class extends I{_parse(e){if(this._getType(e)!==h.ZodParsedType.undefined){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.undefined,received:n.parsedType}),u.INVALID}return(0,u.OK)(e.data)}};c.ZodUndefined=ke;ke.create=t=>new ke({typeName:w.ZodUndefined,...C(t)});var Ee=class extends I{_parse(e){if(this._getType(e)!==h.ZodParsedType.null){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.null,received:n.parsedType}),u.INVALID}return(0,u.OK)(e.data)}};c.ZodNull=Ee;Ee.create=t=>new Ee({typeName:w.ZodNull,...C(t)});var be=class extends I{constructor(){super(...arguments),this._any=!0}_parse(e){return(0,u.OK)(e.data)}};c.ZodAny=be;be.create=t=>new be({typeName:w.ZodAny,...C(t)});var de=class extends I{constructor(){super(...arguments),this._unknown=!0}_parse(e){return(0,u.OK)(e.data)}};c.ZodUnknown=de;de.create=t=>new de({typeName:w.ZodUnknown,...C(t)});var X=class extends I{_parse(e){let r=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.never,received:r.parsedType}),u.INVALID}};c.ZodNever=X;X.create=t=>new X({typeName:w.ZodNever,...C(t)});var rt=class extends I{_parse(e){if(this._getType(e)!==h.ZodParsedType.undefined){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.void,received:n.parsedType}),u.INVALID}return(0,u.OK)(e.data)}};c.ZodVoid=rt;rt.create=t=>new rt({typeName:w.ZodVoid,...C(t)});var le=class t extends I{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==h.ZodParsedType.array)return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.array,received:r.parsedType}),u.INVALID;if(o.exactLength!==null){let s=r.data.length>o.exactLength.value,a=r.data.lengtho.maxLength.value&&((0,u.addIssueToContext)(r,{code:p.ZodIssueCode.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((s,a)=>o.type._parseAsync(new K(r,s,r.path,a)))).then(s=>u.ParseStatus.mergeArray(n,s));let i=[...r.data].map((s,a)=>o.type._parseSync(new K(r,s,r.path,a)));return u.ParseStatus.mergeArray(n,i)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:v.errorUtil.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:v.errorUtil.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:v.errorUtil.toString(r)}})}nonempty(e){return this.min(1,e)}};c.ZodArray=le;le.create=(t,e)=>new le({type:t,minLength:null,maxLength:null,exactLength:null,typeName:w.ZodArray,...C(e)});function et(t){if(t instanceof $){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=B.create(et(n))}return new $({...t._def,shape:()=>e})}else return t instanceof le?new le({...t._def,type:et(t.element)}):t instanceof B?B.create(et(t.unwrap())):t instanceof se?se.create(et(t.unwrap())):t instanceof ie?ie.create(t.items.map(e=>et(e))):t}var $=class t extends I{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=h.util.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==h.ZodParsedType.object){let l=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(l,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.object,received:l.parsedType}),u.INVALID}let{status:n,ctx:o}=this._processInputParams(e),{shape:i,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof X&&this._def.unknownKeys==="strip"))for(let l in o.data)s.includes(l)||a.push(l);let d=[];for(let l of s){let f=i[l],m=o.data[l];d.push({key:{status:"valid",value:l},value:f._parse(new K(o,m,o.path,l)),alwaysSet:l in o.data})}if(this._def.catchall instanceof X){let l=this._def.unknownKeys;if(l==="passthrough")for(let f of a)d.push({key:{status:"valid",value:f},value:{status:"valid",value:o.data[f]}});else if(l==="strict")a.length>0&&((0,u.addIssueToContext)(o,{code:p.ZodIssueCode.unrecognized_keys,keys:a}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let l=this._def.catchall;for(let f of a){let m=o.data[f];d.push({key:{status:"valid",value:f},value:l._parse(new K(o,m,o.path,f)),alwaysSet:f in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let l=[];for(let f of d){let m=await f.key,_=await f.value;l.push({key:m,value:_,alwaysSet:f.alwaysSet})}return l}).then(l=>u.ParseStatus.mergeObjectSync(n,l)):u.ParseStatus.mergeObjectSync(n,d)}get shape(){return this._def.shape()}strict(e){return v.errorUtil.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{var i,s,a,d;let o=(a=(s=(i=this._def).errorMap)==null?void 0:s.call(i,r,n).message)!=null?a:n.defaultError;return r.code==="unrecognized_keys"?{message:(d=v.errorUtil.errToObj(e).message)!=null?d:o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:w.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of h.util.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of h.util.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return et(this)}partial(e){let r={};for(let n of h.util.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of h.util.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof B;)i=i._def.innerType;r[n]=i}return new t({...this._def,shape:()=>r})}keyof(){return Mo(h.util.objectKeys(this.shape))}};c.ZodObject=$;$.create=(t,e)=>new $({shape:()=>t,unknownKeys:"strip",catchall:X.create(),typeName:w.ZodObject,...C(e)});$.strictCreate=(t,e)=>new $({shape:()=>t,unknownKeys:"strict",catchall:X.create(),typeName:w.ZodObject,...C(e)});$.lazycreate=(t,e)=>new $({shape:t,unknownKeys:"strip",catchall:X.create(),typeName:w.ZodObject,...C(e)});var Ue=class extends I{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let s=i.map(a=>new p.ZodError(a.ctx.common.issues));return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_union,unionErrors:s}),u.INVALID}if(r.common.async)return Promise.all(n.map(async i=>{let s={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:s}),ctx:s}})).then(o);{let i,s=[];for(let d of n){let l={...r,common:{...r.common,issues:[]},parent:null},f=d._parseSync({data:r.data,path:r.path,parent:l});if(f.status==="valid")return f;f.status==="dirty"&&!i&&(i={result:f,ctx:l}),l.common.issues.length&&s.push(l.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(d=>new p.ZodError(d));return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_union,unionErrors:a}),u.INVALID}}get options(){return this._def.options}};c.ZodUnion=Ue;Ue.create=(t,e)=>new Ue({options:t,typeName:w.ZodUnion,...C(e)});var ue=t=>t instanceof Me?ue(t.schema):t instanceof H?ue(t.innerType()):t instanceof Ne?[t.value]:t instanceof De?t.options:t instanceof ze?h.util.objectValues(t.enum):t instanceof Le?ue(t._def.innerType):t instanceof ke?[void 0]:t instanceof Ee?[null]:t instanceof B?[void 0,...ue(t.unwrap())]:t instanceof se?[null,...ue(t.unwrap())]:t instanceof Lt||t instanceof Fe?ue(t.unwrap()):t instanceof qe?ue(t._def.innerType):[],hr=class t extends I{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==h.ZodParsedType.object)return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.object,received:r.parsedType}),u.INVALID;let n=this.discriminator,o=r.data[n],i=this.optionsMap.get(o);return i?r.common.async?i._parseAsync({data:r.data,path:r.path,parent:r}):i._parseSync({data:r.data,path:r.path,parent:r}):((0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),u.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let i of r){let s=ue(i.shape[e]);if(!s.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of s){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,i)}}return new t({typeName:w.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...C(n)})}};c.ZodDiscriminatedUnion=hr;function tn(t,e){let r=(0,h.getParsedType)(t),n=(0,h.getParsedType)(e);if(t===e)return{valid:!0,data:t};if(r===h.ZodParsedType.object&&n===h.ZodParsedType.object){let o=h.util.objectKeys(e),i=h.util.objectKeys(t).filter(a=>o.indexOf(a)!==-1),s={...t,...e};for(let a of i){let d=tn(t[a],e[a]);if(!d.valid)return{valid:!1};s[a]=d.data}return{valid:!0,data:s}}else if(r===h.ZodParsedType.array&&n===h.ZodParsedType.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let i=0;i{if((0,u.isAborted)(i)||(0,u.isAborted)(s))return u.INVALID;let a=tn(i.value,s.value);return a.valid?(((0,u.isDirty)(i)||(0,u.isDirty)(s))&&r.dirty(),{status:r.value,value:a.data}):((0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_intersection_types}),u.INVALID)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,s])=>o(i,s)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};c.ZodIntersection=Re;Re.create=(t,e,r)=>new Re({left:t,right:e,typeName:w.ZodIntersection,...C(r)});var ie=class t extends I{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.array)return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.array,received:n.parsedType}),u.INVALID;if(n.data.lengththis._def.items.length&&((0,u.addIssueToContext)(n,{code:p.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((s,a)=>{let d=this._def.items[a]||this._def.rest;return d?d._parse(new K(n,s,n.path,a)):null}).filter(s=>!!s);return n.common.async?Promise.all(i).then(s=>u.ParseStatus.mergeArray(r,s)):u.ParseStatus.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};c.ZodTuple=ie;ie.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ie({items:t,typeName:w.ZodTuple,rest:null,...C(e)})};var mr=class t extends I{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.object)return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.object,received:n.parsedType}),u.INVALID;let o=[],i=this._def.keyType,s=this._def.valueType;for(let a in n.data)o.push({key:i._parse(new K(n,a,n.path,a)),value:s._parse(new K(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?u.ParseStatus.mergeObjectAsync(r,o):u.ParseStatus.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof I?new t({keyType:e,valueType:r,typeName:w.ZodRecord,...C(n)}):new t({keyType:_e.create(),valueType:e,typeName:w.ZodRecord,...C(r)})}};c.ZodRecord=mr;var nt=class extends I{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.map)return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.map,received:n.parsedType}),u.INVALID;let o=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([a,d],l)=>({key:o._parse(new K(n,a,n.path,[l,"key"])),value:i._parse(new K(n,d,n.path,[l,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let d of s){let l=await d.key,f=await d.value;if(l.status==="aborted"||f.status==="aborted")return u.INVALID;(l.status==="dirty"||f.status==="dirty")&&r.dirty(),a.set(l.value,f.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let d of s){let l=d.key,f=d.value;if(l.status==="aborted"||f.status==="aborted")return u.INVALID;(l.status==="dirty"||f.status==="dirty")&&r.dirty(),a.set(l.value,f.value)}return{status:r.value,value:a}}}};c.ZodMap=nt;nt.create=(t,e,r)=>new nt({valueType:e,keyType:t,typeName:w.ZodMap,...C(r)});var ot=class t extends I{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.set)return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.set,received:n.parsedType}),u.INVALID;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&((0,u.addIssueToContext)(n,{code:p.ZodIssueCode.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let i=this._def.valueType;function s(d){let l=new Set;for(let f of d){if(f.status==="aborted")return u.INVALID;f.status==="dirty"&&r.dirty(),l.add(f.value)}return{status:r.value,value:l}}let a=[...n.data.values()].map((d,l)=>i._parse(new K(n,d,n.path,l)));return n.common.async?Promise.all(a).then(d=>s(d)):s(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:v.errorUtil.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:v.errorUtil.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};c.ZodSet=ot;ot.create=(t,e)=>new ot({valueType:t,minSize:null,maxSize:null,typeName:w.ZodSet,...C(e)});var yr=class t extends I{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==h.ZodParsedType.function)return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.function,received:r.parsedType}),u.INVALID;function n(a,d){return(0,u.makeIssue)({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,(0,pr.getErrorMap)(),pr.defaultErrorMap].filter(l=>!!l),issueData:{code:p.ZodIssueCode.invalid_arguments,argumentsError:d}})}function o(a,d){return(0,u.makeIssue)({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,(0,pr.getErrorMap)(),pr.defaultErrorMap].filter(l=>!!l),issueData:{code:p.ZodIssueCode.invalid_return_type,returnTypeError:d}})}let i={errorMap:r.common.contextualErrorMap},s=r.data;if(this._def.returns instanceof xe){let a=this;return(0,u.OK)(async function(...d){let l=new p.ZodError([]),f=await a._def.args.parseAsync(d,i).catch(T=>{throw l.addIssue(n(d,T)),l}),m=await Reflect.apply(s,this,f);return await a._def.returns._def.type.parseAsync(m,i).catch(T=>{throw l.addIssue(o(m,T)),l})})}else{let a=this;return(0,u.OK)(function(...d){let l=a._def.args.safeParse(d,i);if(!l.success)throw new p.ZodError([n(d,l.error)]);let f=Reflect.apply(s,this,l.data),m=a._def.returns.safeParse(f,i);if(!m.success)throw new p.ZodError([o(f,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:ie.create(e).rest(de.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||ie.create([]).rest(de.create()),returns:r||de.create(),typeName:w.ZodFunction,...C(n)})}};c.ZodFunction=yr;var Me=class extends I{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};c.ZodLazy=Me;Me.create=(t,e)=>new Me({getter:t,typeName:w.ZodLazy,...C(e)});var Ne=class extends I{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(r,{received:r.data,code:p.ZodIssueCode.invalid_literal,expected:this._def.value}),u.INVALID}return{status:"valid",value:e.data}}get value(){return this._def.value}};c.ZodLiteral=Ne;Ne.create=(t,e)=>new Ne({value:t,typeName:w.ZodLiteral,...C(e)});function Mo(t,e){return new De({values:t,typeName:w.ZodEnum,...C(e)})}var De=class t extends I{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return(0,u.addIssueToContext)(r,{expected:h.util.joinValues(n),received:r.parsedType,code:p.ZodIssueCode.invalid_type}),u.INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return(0,u.addIssueToContext)(r,{received:r.data,code:p.ZodIssueCode.invalid_enum_value,options:n}),u.INVALID}return(0,u.OK)(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};c.ZodEnum=De;De.create=Mo;var ze=class extends I{_parse(e){let r=h.util.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==h.ZodParsedType.string&&n.parsedType!==h.ZodParsedType.number){let o=h.util.objectValues(r);return(0,u.addIssueToContext)(n,{expected:h.util.joinValues(o),received:n.parsedType,code:p.ZodIssueCode.invalid_type}),u.INVALID}if(this._cache||(this._cache=new Set(h.util.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=h.util.objectValues(r);return(0,u.addIssueToContext)(n,{received:n.data,code:p.ZodIssueCode.invalid_enum_value,options:o}),u.INVALID}return(0,u.OK)(e.data)}get enum(){return this._def.values}};c.ZodNativeEnum=ze;ze.create=(t,e)=>new ze({values:t,typeName:w.ZodNativeEnum,...C(e)});var xe=class extends I{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==h.ZodParsedType.promise&&r.common.async===!1)return(0,u.addIssueToContext)(r,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.promise,received:r.parsedType}),u.INVALID;let n=r.parsedType===h.ZodParsedType.promise?r.data:Promise.resolve(r.data);return(0,u.OK)(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};c.ZodPromise=xe;xe.create=(t,e)=>new xe({type:t,typeName:w.ZodPromise,...C(e)});var H=class extends I{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===w.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,i={addIssue:s=>{(0,u.addIssueToContext)(n,s),s.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),o.type==="preprocess"){let s=o.transform(n.data,i);if(n.common.async)return Promise.resolve(s).then(async a=>{if(r.value==="aborted")return u.INVALID;let d=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return d.status==="aborted"?u.INVALID:d.status==="dirty"||r.value==="dirty"?(0,u.DIRTY)(d.value):d});{if(r.value==="aborted")return u.INVALID;let a=this._def.schema._parseSync({data:s,path:n.path,parent:n});return a.status==="aborted"?u.INVALID:a.status==="dirty"||r.value==="dirty"?(0,u.DIRTY)(a.value):a}}if(o.type==="refinement"){let s=a=>{let d=o.refinement(a,i);if(n.common.async)return Promise.resolve(d);if(d instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?u.INVALID:(a.status==="dirty"&&r.dirty(),s(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?u.INVALID:(a.status==="dirty"&&r.dirty(),s(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!(0,u.isValid)(s))return u.INVALID;let a=o.transform(s.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>(0,u.isValid)(s)?Promise.resolve(o.transform(s.value,i)).then(a=>({status:r.value,value:a})):u.INVALID);h.util.assertNever(o)}};c.ZodEffects=H;c.ZodTransformer=H;H.create=(t,e,r)=>new H({schema:t,typeName:w.ZodEffects,effect:e,...C(r)});H.createWithPreprocess=(t,e,r)=>new H({schema:e,effect:{type:"preprocess",transform:t},typeName:w.ZodEffects,...C(r)});var B=class extends I{_parse(e){return this._getType(e)===h.ZodParsedType.undefined?(0,u.OK)(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};c.ZodOptional=B;B.create=(t,e)=>new B({innerType:t,typeName:w.ZodOptional,...C(e)});var se=class extends I{_parse(e){return this._getType(e)===h.ZodParsedType.null?(0,u.OK)(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};c.ZodNullable=se;se.create=(t,e)=>new se({innerType:t,typeName:w.ZodNullable,...C(e)});var Le=class extends I{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===h.ZodParsedType.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};c.ZodDefault=Le;Le.create=(t,e)=>new Le({innerType:t,typeName:w.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...C(e)});var qe=class extends I{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return(0,u.isAsync)(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new p.ZodError(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new p.ZodError(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};c.ZodCatch=qe;qe.create=(t,e)=>new qe({innerType:t,typeName:w.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...C(e)});var it=class extends I{_parse(e){if(this._getType(e)!==h.ZodParsedType.nan){let n=this._getOrReturnCtx(e);return(0,u.addIssueToContext)(n,{code:p.ZodIssueCode.invalid_type,expected:h.ZodParsedType.nan,received:n.parsedType}),u.INVALID}return{status:"valid",value:e.data}}};c.ZodNaN=it;it.create=t=>new it({typeName:w.ZodNaN,...C(t)});c.BRAND=Symbol("zod_brand");var Lt=class extends I{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}};c.ZodBranded=Lt;var qt=class t extends I{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?u.INVALID:i.status==="dirty"?(r.dirty(),(0,u.DIRTY)(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?u.INVALID:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:w.ZodPipeline})}};c.ZodPipeline=qt;var Fe=class extends I{_parse(e){let r=this._def.innerType._parse(e),n=o=>((0,u.isValid)(o)&&(o.value=Object.freeze(o.value)),o);return(0,u.isAsync)(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};c.ZodReadonly=Fe;Fe.create=(t,e)=>new Fe({innerType:t,typeName:w.ZodReadonly,...C(e)});function ko(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function No(t,e={},r){return t?be.create().superRefine((n,o)=>{var s,a;let i=t(n);if(i instanceof Promise)return i.then(d=>{var l,f;if(!d){let m=ko(e,n),_=(f=(l=m.fatal)!=null?l:r)!=null?f:!0;o.addIssue({code:"custom",...m,fatal:_})}});if(!i){let d=ko(e,n),l=(a=(s=d.fatal)!=null?s:r)!=null?a:!0;o.addIssue({code:"custom",...d,fatal:l})}}):be.create()}c.late={object:$.lazycreate};var w;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(w||(c.ZodFirstPartyTypeKind=w={}));var Va=(t,e={message:`Input not instance of ${t.name}`})=>No(r=>r instanceof t,e);c.instanceof=Va;var Do=_e.create;c.string=Do;var zo=Oe.create;c.number=zo;var $a=it.create;c.nan=$a;var Wa=Pe.create;c.bigint=Wa;var Lo=Ze.create;c.boolean=Lo;var Ha=je.create;c.date=Ha;var Ba=tt.create;c.symbol=Ba;var Ka=ke.create;c.undefined=Ka;var Ga=Ee.create;c.null=Ga;var Ja=be.create;c.any=Ja;var Ya=de.create;c.unknown=Ya;var Xa=X.create;c.never=Xa;var Qa=rt.create;c.void=Qa;var ec=le.create;c.array=ec;var tc=$.create;c.object=tc;var rc=$.strictCreate;c.strictObject=rc;var nc=Ue.create;c.union=nc;var oc=hr.create;c.discriminatedUnion=oc;var ic=Re.create;c.intersection=ic;var sc=ie.create;c.tuple=sc;var ac=mr.create;c.record=ac;var cc=nt.create;c.map=cc;var uc=ot.create;c.set=uc;var dc=yr.create;c.function=dc;var lc=Me.create;c.lazy=lc;var fc=Ne.create;c.literal=fc;var pc=De.create;c.enum=pc;var hc=ze.create;c.nativeEnum=hc;var mc=xe.create;c.promise=mc;var qo=H.create;c.effect=qo;c.transformer=qo;var yc=B.create;c.optional=yc;var vc=se.create;c.nullable=vc;var gc=H.createWithPreprocess;c.preprocess=gc;var _c=qt.create;c.pipeline=_c;var bc=()=>Do().optional();c.ostring=bc;var xc=()=>zo().optional();c.onumber=xc;var wc=()=>Lo().optional();c.oboolean=wc;c.coerce={string:(t=>_e.create({...t,coerce:!0})),number:(t=>Oe.create({...t,coerce:!0})),boolean:(t=>Ze.create({...t,coerce:!0})),bigint:(t=>Pe.create({...t,coerce:!0})),date:(t=>je.create({...t,coerce:!0}))};c.NEVER=u.INVALID});var rn=y(G=>{"use strict";var Cc=G&&G.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),st=G&&G.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Cc(e,t,r)};Object.defineProperty(G,"__esModule",{value:!0});st(lr(),G);st(Qr(),G);st(Oo(),G);st(Dt(),G);st(Fo(),G);st(dr(),G)});var j=y(W=>{"use strict";var Vo=W&&W.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Ic=W&&W.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Tc=W&&W.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Vo(e,t,r);return Ic(e,t),e},Sc=W&&W.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Vo(e,t,r)};Object.defineProperty(W,"__esModule",{value:!0});W.z=void 0;var $o=Tc(rn());W.z=$o;Sc(rn(),W);W.default=$o});var nn=y(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.actionTypesZodSchema=at.ActionTypes=void 0;var Ac=j(),Wo;(function(t){t.OpenUrl="openUrl",t.ImBack="imBack",t.PostBack="postBack",t.PlayAudio="playAudio",t.PlayVideo="playVideo",t.ShowImage="showImage",t.DownloadFile="downloadFile",t.Signin="signin",t.Call="call",t.MessageBack="messageBack",t.OpenApp="openApp"})(Wo||(at.ActionTypes=Wo={}));at.actionTypesZodSchema=Ac.z.enum(["openUrl","imBack","postBack","playAudio","showImage","downloadFile","signin","call","messageBack","openApp"])});var on=y(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.semanticActionStateTypesZodSchema=ct.SemanticActionStateTypes=void 0;var Oc=j(),Ho;(function(t){t.Start="start",t.Continue="continue",t.Done="done"})(Ho||(ct.SemanticActionStateTypes=Ho={}));ct.semanticActionStateTypesZodSchema=Oc.z.enum(["start","continue","done"])});var sn=y(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.attachmentLayoutTypesZodSchema=ut.AttachmentLayoutTypes=void 0;var Pc=j(),Bo;(function(t){t.List="list",t.Carousel="carousel"})(Bo||(ut.AttachmentLayoutTypes=Bo={}));ut.attachmentLayoutTypesZodSchema=Pc.z.enum(["list","carousel"])});var an=y(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.Channels=void 0;var Ko;(function(t){t.Alexa="alexa",t.Console="console",t.Directline="directline",t.DirectlineSpeech="directlinespeech",t.Email="email",t.Emulator="emulator",t.Facebook="facebook",t.Groupme="groupme",t.Line="line",t.Msteams="msteams",t.Omni="omnichannel",t.Outlook="outlook",t.Skype="skype",t.Slack="slack",t.Sms="sms",t.Telegram="telegram",t.Telephony="telephony",t.Test="test",t.Webchat="webchat"})(Ko||(vr.Channels=Ko={}))});var cn=y(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.endOfConversationCodesZodSchema=dt.EndOfConversationCodes=void 0;var Zc=j(),Go;(function(t){t.Unknown="unknown",t.CompletedSuccessfully="completedSuccessfully",t.UserCancelled="userCancelled",t.AgentTimedOut="agentTimedOut",t.AgentIssuedInvalidMessage="agentIssuedInvalidMessage",t.ChannelFailed="channelFailed"})(Go||(dt.EndOfConversationCodes=Go={}));dt.endOfConversationCodesZodSchema=Zc.z.enum(["unknown","completedSuccessfully","userCancelled","agentTimedOut","agentIssuedInvalidMessage","channelFailed"])});var Yo=y(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.membershipSourceTypeZodSchema=lt.MembershipSourceTypes=void 0;var jc=j(),Jo;(function(t){t.Channel="channel",t.Team="team"})(Jo||(lt.MembershipSourceTypes=Jo={}));lt.membershipSourceTypeZodSchema=jc.z.enum(["channel","team"])});var Qo=y(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.membershipTypeZodSchema=ft.MembershipTypes=void 0;var kc=j(),Xo;(function(t){t.Direct="direct",t.Transitive="transitive"})(Xo||(ft.MembershipTypes=Xo={}));ft.membershipTypeZodSchema=kc.z.enum(["direct","transitive"])});var Ft=y(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.roleTypeZodSchema=pt.RoleTypes=void 0;var Ec=j(),ei;(function(t){t.User="user",t.Agent="bot",t.Skill="skill",t.AgenticIdentity="agenticAppInstance",t.AgenticUser="agenticUser"})(ei||(pt.RoleTypes=ei={}));pt.roleTypeZodSchema=Ec.z.enum(["user","bot","skill","agenticAppInstance","agenticUser"])});var ti=y(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.addAIToActivity=void 0;var Uc=(t,e,r)=>{var n;let o={type:"https://schema.org/Message","@type":"Message","@context":"https://schema.org","@id":"",additionalType:["AIGeneratedContent"],citation:e,usageInfo:r};(n=t.entities)!==null&&n!==void 0||(t.entities=[]),t.entities.push(o)};gr.addAIToActivity=Uc});var ri=y(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.adaptiveCardInvokeActionZodSchema=void 0;var Ve=j();_r.adaptiveCardInvokeActionZodSchema=Ve.z.object({type:Ve.z.string().min(1),id:Ve.z.string().optional(),verb:Ve.z.string().min(1),data:Ve.z.record(Ve.z.string().min(1),Ve.z.any())})});var ni=y(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.default="ffffffff-ffff-ffff-ffff-ffffffffffff"});var oi=y(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.default="00000000-0000-0000-0000-000000000000"});var ii=y(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i});var Vt=y(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});var Rc=ii();function Mc(t){return typeof t=="string"&&Rc.default.test(t)}fn.default=Mc});var $t=y(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});var Nc=Vt();function Dc(t){if(!(0,Nc.default)(t))throw TypeError("Invalid UUID");let e;return Uint8Array.of((e=parseInt(t.slice(0,8),16))>>>24,e>>>16&255,e>>>8&255,e&255,(e=parseInt(t.slice(9,13),16))>>>8,e&255,(e=parseInt(t.slice(14,18),16))>>>8,e&255,(e=parseInt(t.slice(19,23),16))>>>8,e&255,(e=parseInt(t.slice(24,36),16))/1099511627776&255,e/4294967296&255,e>>>24&255,e>>>16&255,e>>>8&255,e&255)}pn.default=Dc});var fe=y(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.unsafeStringify=void 0;var zc=Vt(),U=[];for(let t=0;t<256;++t)U.push((t+256).toString(16).slice(1));function si(t,e=0){return(U[t[e+0]]+U[t[e+1]]+U[t[e+2]]+U[t[e+3]]+"-"+U[t[e+4]]+U[t[e+5]]+"-"+U[t[e+6]]+U[t[e+7]]+"-"+U[t[e+8]]+U[t[e+9]]+"-"+U[t[e+10]]+U[t[e+11]]+U[t[e+12]]+U[t[e+13]]+U[t[e+14]]+U[t[e+15]]).toLowerCase()}Wt.unsafeStringify=si;function Lc(t,e=0){let r=si(t,e);if(!(0,zc.default)(r))throw TypeError("Stringified UUID is invalid");return r}Wt.default=Lc});var br=y(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});var hn,qc=new Uint8Array(16);function Fc(){if(!hn){if(typeof crypto=="undefined"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");hn=crypto.getRandomValues.bind(crypto)}return hn(qc)}mn.default=Fc});var yn=y(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.updateV1State=void 0;var ai=br(),Vc=fe(),Ht={};function $c(t,e,r){var i,s,a,d;let n,o=(i=t==null?void 0:t._v6)!=null?i:!1;if(t){let l=Object.keys(t);l.length===1&&l[0]==="_v6"&&(t=void 0)}if(t)n=ci((d=(a=t.random)!=null?a:(s=t.rng)==null?void 0:s.call(t))!=null?d:(0,ai.default)(),t.msecs,t.nsecs,t.clockseq,t.node,e,r);else{let l=Date.now(),f=(0,ai.default)();ui(Ht,l,f),n=ci(f,Ht.msecs,Ht.nsecs,o?void 0:Ht.clockseq,o?void 0:Ht.node,e,r)}return e!=null?e:(0,Vc.unsafeStringify)(n)}function ui(t,e,r){var n,o;return(n=t.msecs)!=null||(t.msecs=-1/0),(o=t.nsecs)!=null||(t.nsecs=0),e===t.msecs?(t.nsecs++,t.nsecs>=1e4&&(t.node=void 0,t.nsecs=0)):e>t.msecs?t.nsecs=0:e= 16");if(!i)i=new Uint8Array(16),s=0;else if(s<0||s+16>i.length)throw new RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);e!=null||(e=Date.now()),r!=null||(r=0),n!=null||(n=(t[8]<<8|t[9])&16383),o!=null||(o=t.slice(10,16)),e+=122192928e5;let a=((e&268435455)*1e4+r)%4294967296;i[s++]=a>>>24&255,i[s++]=a>>>16&255,i[s++]=a>>>8&255,i[s++]=a&255;let d=e/4294967296*1e4&268435455;i[s++]=d>>>8&255,i[s++]=d&255,i[s++]=d>>>24&15|16,i[s++]=d>>>16&255,i[s++]=n>>>8|128,i[s++]=n&255;for(let l=0;l<6;++l)i[s++]=o[l];return i}Bt.default=$c});var gn=y(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var Wc=$t(),Hc=fe();function Bc(t){let e=typeof t=="string"?(0,Wc.default)(t):t,r=Kc(e);return typeof t=="string"?(0,Hc.unsafeStringify)(r):r}vn.default=Bc;function Kc(t){return Uint8Array.of((t[6]&15)<<4|t[7]>>4&15,(t[7]&15)<<4|(t[4]&240)>>4,(t[4]&15)<<4|(t[5]&240)>>4,(t[5]&15)<<4|(t[0]&240)>>4,(t[0]&15)<<4|(t[1]&240)>>4,(t[1]&15)<<4|(t[2]&240)>>4,96|t[2]&15,t[3],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}});var li=y(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});function Gc(t){let e=Xc(t),r=Yc(e,t.length*8);return Jc(r)}function Jc(t){let e=new Uint8Array(t.length*4);for(let r=0;r>2]>>>r%4*8&255;return e}function di(t){return(t+64>>>9<<4)+14+1}function Yc(t,e){let r=new Uint32Array(di(e)).fill(0);r.set(t),r[e>>5]|=128<>2]|=(t[r]&255)<>16)+(e>>16)+(r>>16)<<16|r&65535}function Qc(t,e){return t<>>32-e}function xr(t,e,r,n,o,i){return we(Qc(we(we(e,t),we(n,i)),o),r)}function N(t,e,r,n,o,i,s){return xr(e&r|~e&n,t,e,o,i,s)}function D(t,e,r,n,o,i,s){return xr(e&n|r&~n,t,e,o,i,s)}function z(t,e,r,n,o,i,s){return xr(e^r^n,t,e,o,i,s)}function L(t,e,r,n,o,i,s){return xr(r^(e|~n),t,e,o,i,s)}_n.default=Gc});var Kt=y(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.URL=pe.DNS=pe.stringToBytes=void 0;var fi=$t(),eu=fe();function pi(t){t=unescape(encodeURIComponent(t));let e=new Uint8Array(t.length);for(let r=0;r{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.URL=$e.DNS=void 0;var ru=li(),bn=Kt(),hi=Kt();Object.defineProperty($e,"DNS",{enumerable:!0,get:function(){return hi.DNS}});Object.defineProperty($e,"URL",{enumerable:!0,get:function(){return hi.URL}});function xn(t,e,r,n){return(0,bn.default)(48,ru.default,t,e,r,n)}xn.DNS=bn.DNS;xn.URL=bn.URL;$e.default=xn});var yi=y(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});var nu=typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);wn.default={randomUUID:nu}});var gi=y(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});var vi=yi(),ou=br(),iu=fe();function su(t,e,r){var o,i,s;if(vi.default.randomUUID&&!e&&!t)return vi.default.randomUUID();t=t||{};let n=(s=(i=t.random)!=null?i:(o=t.rng)==null?void 0:o.call(t))!=null?s:(0,ou.default)();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let a=0;a<16;++a)e[r+a]=n[a];return e}return(0,iu.unsafeStringify)(n)}Cn.default=su});var _i=y(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});function au(t,e,r,n){switch(t){case 0:return e&r^~e&n;case 1:return e^r^n;case 2:return e&r^e&n^r&n;case 3:return e^r^n}}function In(t,e){return t<>>32-e}function cu(t){let e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520],n=new Uint8Array(t.length+1);n.set(t),n[t.length]=128,t=n;let o=t.length/4+2,i=Math.ceil(o/16),s=new Array(i);for(let a=0;a>>0;T=_,_=m,m=In(f,30)>>>0,f=l,l=S}r[0]=r[0]+l>>>0,r[1]=r[1]+f>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+_>>>0,r[4]=r[4]+T>>>0}return Uint8Array.of(r[0]>>24,r[0]>>16,r[0]>>8,r[0],r[1]>>24,r[1]>>16,r[1]>>8,r[1],r[2]>>24,r[2]>>16,r[2]>>8,r[2],r[3]>>24,r[3]>>16,r[3]>>8,r[3],r[4]>>24,r[4]>>16,r[4]>>8,r[4])}Tn.default=cu});var xi=y(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.URL=We.DNS=void 0;var uu=_i(),Sn=Kt(),bi=Kt();Object.defineProperty(We,"DNS",{enumerable:!0,get:function(){return bi.DNS}});Object.defineProperty(We,"URL",{enumerable:!0,get:function(){return bi.URL}});function An(t,e,r,n){return(0,Sn.default)(80,uu.default,t,e,r,n)}An.DNS=Sn.DNS;An.URL=Sn.URL;We.default=An});var wi=y(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});var du=fe(),lu=yn(),fu=gn();function pu(t,e,r){t!=null||(t={}),r!=null||(r=0);let n=(0,lu.default)({...t,_v6:!0},new Uint8Array(16));if(n=(0,fu.default)(n),e){for(let o=0;o<16;o++)e[r+o]=n[o];return e}return(0,du.unsafeStringify)(n)}On.default=pu});var Ci=y(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});var hu=$t(),mu=fe();function yu(t){let e=typeof t=="string"?(0,hu.default)(t):t,r=vu(e);return typeof t=="string"?(0,mu.unsafeStringify)(r):r}Pn.default=yu;function vu(t){return Uint8Array.of((t[3]&15)<<4|t[4]>>4&15,(t[4]&15)<<4|(t[5]&240)>>4,(t[5]&15)<<4|t[6]&15,t[7],(t[1]&15)<<4|(t[2]&240)>>4,(t[2]&15)<<4|(t[3]&240)>>4,16|(t[0]&240)>>4,(t[0]&15)<<4|(t[1]&240)>>4,t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}});var Ai=y(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.updateV7State=void 0;var Ii=br(),gu=fe(),Zn={};function _u(t,e,r){var o,i,s;let n;if(t)n=Ti((s=(i=t.random)!=null?i:(o=t.rng)==null?void 0:o.call(t))!=null?s:(0,Ii.default)(),t.msecs,t.seq,e,r);else{let a=Date.now(),d=(0,Ii.default)();Si(Zn,a,d),n=Ti(d,Zn.msecs,Zn.seq,e,r)}return e!=null?e:(0,gu.unsafeStringify)(n)}function Si(t,e,r){var n,o;return(n=t.msecs)!=null||(t.msecs=-1/0),(o=t.seq)!=null||(t.seq=0),e>t.msecs?(t.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],t.msecs=e):(t.seq=t.seq+1|0,t.seq===0&&t.msecs++),t}Gt.updateV7State=Si;function Ti(t,e,r,n,o=0){if(t.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),o=0;else if(o<0||o+16>n.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);return e!=null||(e=Date.now()),r!=null||(r=t[6]*127<<24|t[7]<<16|t[8]<<8|t[9]),n[o++]=e/1099511627776&255,n[o++]=e/4294967296&255,n[o++]=e/16777216&255,n[o++]=e/65536&255,n[o++]=e/256&255,n[o++]=e&255,n[o++]=112|r>>>28&15,n[o++]=r>>>20&255,n[o++]=128|r>>>14&63,n[o++]=r>>>6&255,n[o++]=r<<2&255|t[10]&3,n[o++]=t[11],n[o++]=t[12],n[o++]=t[13],n[o++]=t[14],n[o++]=t[15],n}Gt.default=_u});var Oi=y(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});var bu=Vt();function xu(t){if(!(0,bu.default)(t))throw TypeError("Invalid UUID");return parseInt(t.slice(14,15),16)}jn.default=xu});var Pi=y(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.version=P.validate=P.v7=P.v6ToV1=P.v6=P.v5=P.v4=P.v3=P.v1ToV6=P.v1=P.stringify=P.parse=P.NIL=P.MAX=void 0;var wu=ni();Object.defineProperty(P,"MAX",{enumerable:!0,get:function(){return wu.default}});var Cu=oi();Object.defineProperty(P,"NIL",{enumerable:!0,get:function(){return Cu.default}});var Iu=$t();Object.defineProperty(P,"parse",{enumerable:!0,get:function(){return Iu.default}});var Tu=fe();Object.defineProperty(P,"stringify",{enumerable:!0,get:function(){return Tu.default}});var Su=yn();Object.defineProperty(P,"v1",{enumerable:!0,get:function(){return Su.default}});var Au=gn();Object.defineProperty(P,"v1ToV6",{enumerable:!0,get:function(){return Au.default}});var Ou=mi();Object.defineProperty(P,"v3",{enumerable:!0,get:function(){return Ou.default}});var Pu=gi();Object.defineProperty(P,"v4",{enumerable:!0,get:function(){return Pu.default}});var Zu=xi();Object.defineProperty(P,"v5",{enumerable:!0,get:function(){return Zu.default}});var ju=wi();Object.defineProperty(P,"v6",{enumerable:!0,get:function(){return ju.default}});var ku=Ci();Object.defineProperty(P,"v6ToV1",{enumerable:!0,get:function(){return ku.default}});var Eu=Ai();Object.defineProperty(P,"v7",{enumerable:!0,get:function(){return Eu.default}});var Uu=Vt();Object.defineProperty(P,"validate",{enumerable:!0,get:function(){return Uu.default}});var Ru=Oi();Object.defineProperty(P,"version",{enumerable:!0,get:function(){return Ru.default}})});var kn=y(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.entityZodSchema=void 0;var Zi=j();wr.entityZodSchema=Zi.z.object({type:Zi.z.string().min(1)}).passthrough()});var ji=y(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.semanticActionZodSchema=void 0;var Jt=j(),Mu=kn(),Nu=on();Cr.semanticActionZodSchema=Jt.z.object({id:Jt.z.string().min(1),state:Jt.z.union([Nu.semanticActionStateTypesZodSchema,Jt.z.string().min(1)]),entities:Jt.z.record(Mu.entityZodSchema)})});var ki=y(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.cardActionZodSchema=void 0;var ae=j(),Du=nn();Ir.cardActionZodSchema=ae.z.object({type:ae.z.union([Du.actionTypesZodSchema,ae.z.string().min(1)]),title:ae.z.string().min(1),image:ae.z.string().min(1).optional(),text:ae.z.string().min(1).optional(),displayText:ae.z.string().min(1).optional(),value:ae.z.any().optional(),channelData:ae.z.unknown().optional(),imageAltText:ae.z.string().min(1).optional()})});var Ei=y(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.suggestedActionsZodSchema=void 0;var Tr=j(),zu=ki();Sr.suggestedActionsZodSchema=Tr.z.object({to:Tr.z.array(Tr.z.string().min(1)),actions:Tr.z.array(zu.cardActionZodSchema)})});var En=y(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.activityEventNamesZodSchema=ht.ActivityEventNames=void 0;var Lu=j(),Ui;(function(t){t.ContinueConversation="ContinueConversation",t.CreateConversation="CreateConversation"})(Ui||(ht.ActivityEventNames=Ui={}));ht.activityEventNamesZodSchema=Lu.z.enum(["ContinueConversation","CreateConversation"])});var Un=y(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.activityImportanceZodSchema=mt.ActivityImportance=void 0;var qu=j(),Ri;(function(t){t.Low="low",t.Normal="normal",t.High="high"})(Ri||(mt.ActivityImportance=Ri={}));mt.activityImportanceZodSchema=qu.z.enum(["low","normal","high"])});var Rn=y(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.activityTypesZodSchema=yt.ActivityTypes=void 0;var Fu=j(),Mi;(function(t){t.Message="message",t.ContactRelationUpdate="contactRelationUpdate",t.ConversationUpdate="conversationUpdate",t.Typing="typing",t.EndOfConversation="endOfConversation",t.Event="event",t.Invoke="invoke",t.InvokeResponse="invokeResponse",t.DeleteUserData="deleteUserData",t.MessageUpdate="messageUpdate",t.MessageDelete="messageDelete",t.InstallationUpdate="installationUpdate",t.MessageReaction="messageReaction",t.Suggestion="suggestion",t.Trace="trace",t.Handoff="handoff",t.Command="command",t.CommandResult="commandResult",t.Delay="delay"})(Mi||(yt.ActivityTypes=Mi={}));yt.activityTypesZodSchema=Fu.z.enum(["message","contactRelationUpdate","conversationUpdate","typing","endOfConversation","event","invoke","invokeResponse","deleteUserData","messageUpdate","messageDelete","installationUpdate","messageReaction","suggestion","trace","handoff","command","commandResult","delay"])});var Ni=y(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.attachmentZodSchema=void 0;var vt=j();Ar.attachmentZodSchema=vt.z.object({contentType:vt.z.string().min(1),contentUrl:vt.z.string().min(1).optional(),content:vt.z.unknown().optional(),name:vt.z.string().min(1).optional(),thumbnailUrl:vt.z.string().min(1).optional()})});var Di=y(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.addProductInfoToActivity=He.clearProductInfoFromActivity=void 0;var Vu=t=>{t&&t.entities&&t.entities.length&&(t.entities=t.entities.filter(e=>e.type!=="ProductInfo"))};He.clearProductInfoFromActivity=Vu;var $u=(t,e)=>{var r,n;let o={type:"ProductInfo",id:e};(r=t.entities)!==null&&r!==void 0||(t.entities=[]),(0,He.clearProductInfoFromActivity)(t),(n=t.entities)===null||n===void 0||n.push(o)};He.addProductInfoToActivity=$u});var Mn=y(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.channelAccountZodSchema=void 0;var Q=j(),Wu=Ft();Or.channelAccountZodSchema=Q.z.object({id:Q.z.string().min(1).optional(),name:Q.z.string().optional(),aadObjectId:Q.z.string().min(1).optional(),tenantId:Q.z.string().min(1).optional(),agenticUserId:Q.z.string().min(1).optional(),agenticAppId:Q.z.string().min(1).optional(),agenticAppBlueprintId:Q.z.string().min(1).optional(),role:Q.z.union([Wu.roleTypeZodSchema,Q.z.string().min(1)]).optional(),properties:Q.z.unknown().optional()})});var Nn=y(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.conversationAccountZodSchema=void 0;var ce=j(),Hu=Ft();Pr.conversationAccountZodSchema=ce.z.object({isGroup:ce.z.boolean().optional(),conversationType:ce.z.string().min(1).optional(),tenantId:ce.z.string().min(1).optional(),id:ce.z.string().min(1),name:ce.z.string().min(1).optional(),aadObjectId:ce.z.string().min(1).optional(),role:ce.z.union([Hu.roleTypeZodSchema,ce.z.string().min(1)]).optional(),properties:ce.z.unknown().optional()})});var Li=y(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.conversationReferenceZodSchema=void 0;var Yt=j(),zi=Mn(),Bu=Nn();Zr.conversationReferenceZodSchema=Yt.z.object({activityId:Yt.z.string().min(1).optional(),user:zi.channelAccountZodSchema.optional(),locale:Yt.z.string().min(1).optional(),agent:zi.channelAccountZodSchema.optional().nullable(),conversation:Bu.conversationAccountZodSchema,channelId:Yt.z.string().min(1),serviceUrl:Yt.z.string().min(1).optional()})});var Dn=y(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.deliveryModesZodSchema=gt.DeliveryModes=void 0;var Ku=j(),qi;(function(t){t.Normal="normal",t.Notification="notification",t.ExpectReplies="expectReplies",t.Ephemeral="ephemeral"})(qi||(gt.DeliveryModes=qi={}));gt.deliveryModesZodSchema=Ku.z.enum(["normal","notification","expectReplies","ephemeral"])});var zn=y(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.inputHintsZodSchema=_t.InputHints=void 0;var Gu=j(),Fi;(function(t){t.AcceptingInput="acceptingInput",t.IgnoringInput="ignoringInput",t.ExpectingInput="expectingInput"})(Fi||(_t.InputHints=Fi={}));_t.inputHintsZodSchema=Gu.z.enum(["acceptingInput","ignoringInput","expectingInput"])});var Ln=y(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.messageReactionTypesZodSchema=bt.MessageReactionTypes=void 0;var Ju=j(),Vi;(function(t){t.Like="like",t.PlusOne="plusOne"})(Vi||(bt.MessageReactionTypes=Vi={}));bt.messageReactionTypesZodSchema=Ju.z.enum(["like","plusOne"])});var $i=y(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.messageReactionZodSchema=void 0;var qn=j(),Yu=Ln();jr.messageReactionZodSchema=qn.z.object({type:qn.z.union([Yu.messageReactionTypesZodSchema,qn.z.string().min(1)])})});var Fn=y(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.textFormatTypesZodSchema=xt.TextFormatTypes=void 0;var Xu=j(),Wi;(function(t){t.Markdown="markdown",t.Plain="plain",t.Xml="xml"})(Wi||(xt.TextFormatTypes=Wi={}));xt.textFormatTypesZodSchema=Xu.z.enum(["markdown","plain","xml"])});var Hi=y(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.textHighlightZodSchema=void 0;var Vn=j();kr.textHighlightZodSchema=Vn.z.object({text:Vn.z.string().min(1),occurrence:Vn.z.number()})});var Xi=y(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.Activity=Be.activityZodSchema=void 0;var Qu=Pi(),b=j(),ed=ji(),td=Ei(),Yi=En(),rd=Un(),Ur=Rn(),nd=Ni(),od=sn(),Bi=Di(),Er=Mn(),Ki=an(),id=Nn(),sd=Li(),ad=cn(),cd=Dn(),ud=kn(),dd=zn(),Gi=$i(),ld=Fn(),fd=Hi(),Ji=Ft();Be.activityZodSchema=b.z.object({type:b.z.union([Ur.activityTypesZodSchema,b.z.string().min(1)]),text:b.z.string().optional(),id:b.z.string().min(1).optional(),channelId:b.z.string().min(1).optional(),from:Er.channelAccountZodSchema.optional(),timestamp:b.z.union([b.z.date(),b.z.string().min(1).datetime().optional(),b.z.string().min(1).transform(t=>new Date(t)).optional()]),localTimestamp:b.z.string().min(1).transform(t=>new Date(t)).optional().or(b.z.date()).optional(),localTimezone:b.z.string().min(1).optional(),callerId:b.z.string().min(1).optional(),serviceUrl:b.z.string().min(1).optional(),conversation:id.conversationAccountZodSchema.optional(),recipient:Er.channelAccountZodSchema.optional(),textFormat:b.z.union([ld.textFormatTypesZodSchema,b.z.string().min(1)]).optional(),attachmentLayout:b.z.union([od.attachmentLayoutTypesZodSchema,b.z.string().min(1)]).optional(),membersAdded:b.z.array(Er.channelAccountZodSchema).optional(),membersRemoved:b.z.array(Er.channelAccountZodSchema).optional(),reactionsAdded:b.z.array(Gi.messageReactionZodSchema).optional(),reactionsRemoved:b.z.array(Gi.messageReactionZodSchema).optional(),topicName:b.z.string().min(1).optional(),historyDisclosed:b.z.boolean().optional(),locale:b.z.string().min(1).optional(),speak:b.z.string().min(1).optional(),inputHint:b.z.union([dd.inputHintsZodSchema,b.z.string().min(1)]).optional(),summary:b.z.string().min(1).optional(),suggestedActions:td.suggestedActionsZodSchema.optional(),attachments:b.z.array(nd.attachmentZodSchema).optional(),entities:b.z.array(ud.entityZodSchema.passthrough()).optional(),channelData:b.z.any().optional(),action:b.z.string().min(1).optional(),replyToId:b.z.string().min(1).optional(),label:b.z.string().min(1).optional(),valueType:b.z.string().min(1).optional(),value:b.z.unknown().optional(),name:b.z.union([Yi.activityEventNamesZodSchema,b.z.string().min(1)]).optional(),relatesTo:sd.conversationReferenceZodSchema.optional(),code:b.z.union([ad.endOfConversationCodesZodSchema,b.z.string().min(1)]).optional(),expiration:b.z.string().min(1).datetime().optional(),importance:b.z.union([rd.activityImportanceZodSchema,b.z.string().min(1)]).optional(),deliveryMode:b.z.union([cd.deliveryModesZodSchema,b.z.string().min(1)]).optional(),listenFor:b.z.array(b.z.string().min(1)).optional(),textHighlights:b.z.array(fd.textHighlightZodSchema).optional(),semanticAction:ed.semanticActionZodSchema.optional()});var $n=class t{constructor(e){if(e===void 0)throw new Error("Invalid ActivityType: undefined");if(e===null)throw new Error("Invalid ActivityType: null");if(typeof e=="string"&&e.length===0)throw new Error("Invalid ActivityType: empty string");this.type=e}static fromJson(e){return this.fromObject(JSON.parse(e))}static fromObject(e){let r=Be.activityZodSchema.passthrough().parse(e),n=new t(r.type);return Object.assign(n,r),n}get channelId(){var e;return(e=this._channelId)===null||e===void 0?void 0:e.concat(this.channelIdSubChannel?`:${this.channelIdSubChannel}`:"")}static parseChannelId(e){let r,n;return e&&e.indexOf(":")!==-1?(r=e.substring(0,e.indexOf(":")),n=e.substring(e.indexOf(":")+1)):r=e,[r,n]}set channelId(e){let[r,n]=t.parseChannelId(e);if(e&&!r)throw new Error(`Invalid channelId ${e}. Found subChannel but no main channel.`);this._channelId=r,n?(0,Bi.addProductInfoToActivity)(this,n):(0,Bi.clearProductInfoFromActivity)(this)}set channelIdChannel(e){this._channelId=e}get channelIdChannel(){return this._channelId}get channelIdSubChannel(){var e,r;return(r=(e=this.entities)===null||e===void 0?void 0:e.find(n=>n.type==="ProductInfo"))===null||r===void 0?void 0:r.id}set channelIdSubChannel(e){if(!this._channelId)throw new Error("Primary channel must be set before setting subChannel");this.channelId=`${this._channelId}${e?`:${e}`:""}`}static getContinuationActivity(e){let r={type:Ur.ActivityTypes.Event,name:Yi.ActivityEventNames.ContinueConversation,id:(0,Qu.v4)(),channelId:e.channelId,locale:e.locale,serviceUrl:e.serviceUrl,conversation:e.conversation,recipient:e.agent,from:e.user,relatesTo:e};return t.fromObject(r)}getAppropriateReplyToId(){if(this.type!==Ur.ActivityTypes.ConversationUpdate||this.channelId!==Ki.Channels.Directline&&this.channelId!==Ki.Channels.Webchat)return this.id}getConversationReference(){if(this.recipient===null||this.recipient===void 0)throw new Error("Activity Recipient undefined");if(this.conversation===null||this.conversation===void 0)throw new Error("Activity Conversation undefined");if(this.channelId===null||this.channelId===void 0)throw new Error("Activity ChannelId undefined");return{activityId:this.getAppropriateReplyToId(),user:this.from,agent:this.recipient,conversation:this.conversation,channelId:this.channelId,locale:this.locale,serviceUrl:this.serviceUrl}}applyConversationReference(e,r=!1){var n,o,i;return this.channelId=e.channelId,(n=this.locale)!==null&&n!==void 0||(this.locale=e.locale),this.serviceUrl=e.serviceUrl,this.conversation=e.conversation,r?(this.from=e.user,this.recipient=(o=e.agent)!==null&&o!==void 0?o:void 0,e.activityId&&(this.id=e.activityId)):(this.from=(i=e.agent)!==null&&i!==void 0?i:void 0,this.recipient=e.user,e.activityId&&(this.replyToId=e.activityId)),this}clone(){let e=JSON.parse(JSON.stringify(this));for(let r in e)typeof e[r]=="string"&&!isNaN(Date.parse(e[r]))&&(e[r]=new Date(e[r]));return Object.setPrototypeOf(e,t.prototype),e}getMentions(e){let r=[];if(e.entities!==void 0)for(let n=0;n{var i;return o.type.toLowerCase()==="mention"?o.mentioned.id!==((i=this.recipient)===null||i===void 0?void 0:i.id):!0}))),this.text&&(this.text=t.removeAt(this.text)),this.entities!==void 0)){let o=this.getMentions(this);for(let i of o)i.text&&(i.text=(n=t.removeAt(i.text))===null||n===void 0?void 0:n.trim())}}static removeAt(e){if(!e)return e;let r;do{r=!1;let n=e.toLowerCase().indexOf("=0){let o=e.indexOf(">",n);if(o>0){let i=e.toLowerCase().indexOf("",o);if(i>0){let s=e.substring(i+5);s.length>0&&!/\s/.test(s[0])&&(s=` ${s}`),e=e.substring(0,i)+s;let a=e.substring(o+1,i),d=e.substring(0,n);d.length>0&&!/\s$/.test(d)&&(d+=" "),e=d+a+s,r=!0}}}}while(r);return e}removeMentionText(e){let n=this.getMentions(this).filter(o=>o.mentioned.id===e);return n.length>0&&this.text&&(this.text=this.text.replace(n[0].text,"").trim()),this.text||""}removeRecipientMention(){return this.recipient!=null&&this.recipient.id?this.removeMentionText(this.recipient.id):""}getReplyConversationReference(e){let r=this.getConversationReference();return r.activityId=e,r}toJsonString(){let e={...this};return e.channelId=e._channelId,delete e._channelId,JSON.stringify(e)}isAgenticRequest(){var e,r;return((e=this.recipient)===null||e===void 0?void 0:e.role)===Ji.RoleTypes.AgenticUser||((r=this.recipient)===null||r===void 0?void 0:r.role)===Ji.RoleTypes.AgenticIdentity}getAgenticInstanceId(){var e;if(this.isAgenticRequest())return(e=this.recipient)===null||e===void 0?void 0:e.agenticAppId}getAgenticUser(){var e;if(this.isAgenticRequest())return(e=this.recipient)===null||e===void 0?void 0:e.agenticUserId}};Be.Activity=$n});var Qi=y(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.CallerIdConstants=void 0;Rr.CallerIdConstants={PublicAzureChannel:"urn:botframework:azure",USGovChannel:"urn:botframework:azureusgov",AgentPrefix:"urn:botframework:aadappid:"}});var es=y(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.activityTreatments=wt.ActivityTreatments=void 0;var pd=j(),Wn;(function(t){t.Targeted="targeted"})(Wn||(wt.ActivityTreatments=Wn={}));wt.activityTreatments=pd.z.nativeEnum(Wn)});var Hn=y(x=>{"use strict";var hd=x&&x.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),ts=x&&x.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&hd(e,t,r)};Object.defineProperty(x,"__esModule",{value:!0});x.Logger=x.debug=x.ActivityTreatments=x.TextFormatTypes=x.MessageReactionTypes=x.InputHints=x.DeliveryModes=x.CallerIdConstants=x.ActivityTypes=x.ActivityImportance=x.ActivityEventNames=x.activityZodSchema=x.Activity=x.RoleTypes=x.MembershipTypes=x.MembershipSourceTypes=x.EndOfConversationCodes=x.Channels=x.AttachmentLayoutTypes=x.SemanticActionStateTypes=x.ActionTypes=void 0;var md=nn();Object.defineProperty(x,"ActionTypes",{enumerable:!0,get:function(){return md.ActionTypes}});var yd=on();Object.defineProperty(x,"SemanticActionStateTypes",{enumerable:!0,get:function(){return yd.SemanticActionStateTypes}});var vd=sn();Object.defineProperty(x,"AttachmentLayoutTypes",{enumerable:!0,get:function(){return vd.AttachmentLayoutTypes}});var gd=an();Object.defineProperty(x,"Channels",{enumerable:!0,get:function(){return gd.Channels}});var _d=cn();Object.defineProperty(x,"EndOfConversationCodes",{enumerable:!0,get:function(){return _d.EndOfConversationCodes}});var bd=Yo();Object.defineProperty(x,"MembershipSourceTypes",{enumerable:!0,get:function(){return bd.MembershipSourceTypes}});var xd=Qo();Object.defineProperty(x,"MembershipTypes",{enumerable:!0,get:function(){return xd.MembershipTypes}});var wd=Ft();Object.defineProperty(x,"RoleTypes",{enumerable:!0,get:function(){return wd.RoleTypes}});ts(ti(),x);ts(ri(),x);var rs=Xi();Object.defineProperty(x,"Activity",{enumerable:!0,get:function(){return rs.Activity}});Object.defineProperty(x,"activityZodSchema",{enumerable:!0,get:function(){return rs.activityZodSchema}});var Cd=En();Object.defineProperty(x,"ActivityEventNames",{enumerable:!0,get:function(){return Cd.ActivityEventNames}});var Id=Un();Object.defineProperty(x,"ActivityImportance",{enumerable:!0,get:function(){return Id.ActivityImportance}});var Td=Rn();Object.defineProperty(x,"ActivityTypes",{enumerable:!0,get:function(){return Td.ActivityTypes}});var Sd=Qi();Object.defineProperty(x,"CallerIdConstants",{enumerable:!0,get:function(){return Sd.CallerIdConstants}});var Ad=Dn();Object.defineProperty(x,"DeliveryModes",{enumerable:!0,get:function(){return Ad.DeliveryModes}});var Od=zn();Object.defineProperty(x,"InputHints",{enumerable:!0,get:function(){return Od.InputHints}});var Pd=Ln();Object.defineProperty(x,"MessageReactionTypes",{enumerable:!0,get:function(){return Pd.MessageReactionTypes}});var Zd=Fn();Object.defineProperty(x,"TextFormatTypes",{enumerable:!0,get:function(){return Zd.TextFormatTypes}});var jd=es();Object.defineProperty(x,"ActivityTreatments",{enumerable:!0,get:function(){return jd.ActivityTreatments}});var ns=Mt();Object.defineProperty(x,"debug",{enumerable:!0,get:function(){return ns.debug}});Object.defineProperty(x,"Logger",{enumerable:!0,get:function(){return ns.Logger}})});var Ut=(r=>(r.Published="Published",r.Prebuilt="Prebuilt",r))(Ut||{});var Rt=(A=>(A.Unknown="Unknown",A.Exp="Exp",A.Dev="Dev",A.Test="Test",A.Preprod="Preprod",A.FirstRelease="FirstRelease",A.Prod="Prod",A.Gov="Gov",A.High="High",A.DoD="DoD",A.Mooncake="Mooncake",A.Ex="Ex",A.Rx="Rx",A.Prv="Prv",A.Local="Local",A.GovFR="GovFR",A.Other="Other",A))(Rt||{});var Wr=class{constructor(){this.appClientId="";this.tenantId="";this.authority="";this.environmentId="";this.agentIdentifier="";this.useExperimentalEndpoint=!1}},Hr=class extends Wr{constructor(e){var i,s;if(super(),!e)return;let r=(i=e.cloud)!=null?i:"Prod",n=(s=e.copilotAgentType)!=null?s:"Published",o=e.authority&&e.authority.trim()!==""?e.authority:"https://login.microsoftonline.com";if(!Object.values(Rt).includes(r))throw new Error(`Invalid PowerPlatformCloud: '${r}'. Supported values: ${Object.values(Rt).join(", ")}`);if(!Object.values(Ut).includes(n))throw new Error(`Invalid AgentType: '${n}'. Supported values: ${Object.values(Ut).join(", ")}`);Object.assign(this,{...e,cloud:r,copilotAgentType:n,authority:o})}},Jd=()=>{var t,e,r,n,o,i;return new Hr({appClientId:(t=process.env.appClientId)!=null?t:"",tenantId:(e=process.env.tenantId)!=null?e:"",authority:(r=process.env.authorityEndpoint)!=null?r:"https://login.microsoftonline.com",environmentId:(n=process.env.environmentId)!=null?n:"",agentIdentifier:(o=process.env.agentIdentifier)!=null?o:"",cloud:process.env.cloud,customPowerPlatformCloud:process.env.customPowerPlatformCloud,copilotAgentType:process.env.copilotAgentType,directConnectUrl:process.env.directConnectUrl,useExperimentalEndpoint:((i=process.env.useExperimentalEndpoint)==null?void 0:i.toLowerCase())==="true"})};var tr=class extends Error{constructor(e,r){super(e),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}};function Br(t){}function lo(t){if(typeof t=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:e=Br,onError:r=Br,onRetry:n=Br,onComment:o}=t,i="",s=!0,a,d="",l="";function f(g){let S=s?g.replace(/^\xEF\xBB\xBF/,""):g,[A,q]=Us(`${i}${S}`);for(let te of A)m(te);i=q,s=!1}function m(g){if(g===""){T();return}if(g.startsWith(":")){o&&o(g.slice(g.startsWith(": ")?2:1));return}let S=g.indexOf(":");if(S!==-1){let A=g.slice(0,S),q=g[S+1]===" "?2:1,te=g.slice(S+q);_(A,te,g);return}_(g,"",g)}function _(g,S,A){switch(g){case"event":l=S;break;case"data":d=`${d}${S} -`;break;case"id":a=S.includes("\0")?void 0:S;break;case"retry":/^\d+$/.test(S)?n(parseInt(S,10)):r(new tr(`Invalid \`retry\` value: "${S}"`,{type:"invalid-retry",value:S,line:A}));break;default:r(new tr(`Unknown field "${g.length>20?`${g.slice(0,20)}\u2026`:g}"`,{type:"unknown-field",field:g,value:S,line:A}));break}}function T(){d.length>0&&e({id:a,event:l||void 0,data:d.endsWith(` -`)?d.slice(0,-1):d}),a=void 0,d="",l=""}function O(g={}){i&&g.consume&&m(i),s=!0,a=void 0,d="",l="",i=""}return{feed:f,reset:O}}function Us(t){let e=[],r="",n=0;for(;n{};function Ms(t,{getStream:e}){let r=typeof t=="string"||t instanceof URL?{url:t}:t,{onMessage:n,onComment:o=rr,onConnect:i=rr,onDisconnect:s=rr,onScheduleReconnect:a=rr}=r,{fetch:d,url:l,initialLastEventId:f}=Ns(r),m={...r.headers},_=[],T=n?[n]:[],O=E=>T.forEach(ne=>ne(E)),g=lo({onEvent:Ts,onRetry:Ss,onComment:o}),S,A=l.toString(),q=new AbortController,te=f,ye=2e3,Vr,re=Kr;return Pt(),{close:Zt,connect:Pt,[Symbol.iterator]:()=>{throw new Error("EventSource does not support synchronous iteration. Use `for await` instead.")},[Symbol.asyncIterator]:$r,get lastEventId(){return te},get url(){return A},get readyState(){return re}};function Pt(){S||(re=fo,q=new AbortController,S=d(l,As()).then(Is).catch(E=>{S=null,!(E.name==="AbortError"||E.type==="aborted"||q.signal.aborted)&&so()}))}function Zt(){re=Kr,q.abort(),g.reset(),clearTimeout(Vr),_.forEach(E=>E())}function $r(){let E=[],ne=[];function jt(){return new Promise(F=>{let oe=ne.shift();oe?F({value:oe,done:!1}):E.push(F)})}let Ge=function(F){let oe=E.shift();oe?oe({value:F,done:!1}):ne.push(F)};function Ie(){for(T.splice(T.indexOf(Ge),1);E.shift(););for(;ne.shift(););}function kt(){let F=E.shift();F&&(F({done:!0,value:void 0}),Ie())}return _.push(kt),T.push(Ge),{next(){return re===Kr?this.return():jt()},return(){return Ie(),Promise.resolve({done:!0,value:void 0})},throw(F){return Ie(),Promise.reject(F)},[Symbol.asyncIterator](){return this}}}function so(){a({delay:ye}),!q.signal.aborted&&(re=fo,Vr=setTimeout(Pt,ye))}async function Is(E){i(),g.reset();let{body:ne,redirected:jt,status:Ge}=E;if(Ge===204){s(),Zt();return}if(!ne)throw new Error("Missing response body");jt&&(A=E.url);let Ie=e(ne),kt=new TextDecoder,F=Ie.getReader(),oe=!0;re=Rs;do{let{done:ao,value:co}=await F.read();co&&g.feed(kt.decode(co,{stream:!ao})),ao&&(oe=!1,S=null,g.reset(),so(),s())}while(oe)}function Ts(E){typeof E.id=="string"&&(te=E.id),O(E)}function Ss(E){ye=E}function As(){let{mode:E,credentials:ne,body:jt,method:Ge,redirect:Ie,referrer:kt,referrerPolicy:F}=r,oe={Accept:"text/event-stream",...m,...te?{"Last-Event-ID":te}:void 0};return{mode:E,credentials:ne,body:jt,method:Ge,redirect:Ie,referrer:kt,referrerPolicy:F,headers:oe,cache:"no-store",signal:q.signal}}}function Ns(t){let e=t.fetch||globalThis.fetch;if(!Ds(e))throw new Error("No fetch implementation provided, and one was not found on the global object.");if(typeof AbortController!="function")throw new Error("Missing AbortController implementation");let{url:r,initialLastEventId:n}=t;if(typeof r!="string"&&!(r instanceof URL))throw new Error("Invalid URL provided - must be string or URL instance");if(typeof n!="string"&&n!==void 0)throw new Error("Invalid initialLastEventId provided - must be string or undefined");return{fetch:e,url:r,initialLastEventId:n}}function Ds(t){return typeof t=="function"}var zs={getStream:Ls};function po(t){return Ms(t,zs)}function Ls(t){if(!(t instanceof ReadableStream))throw new Error("Invalid stream, expected a web ReadableStream");return t}var bo=Et(Mt());var sr=class{constructor(e){this.API_VERSION="2022-03-01-preview";let{identifier:r,host:n}=e;this.baseURL=new URL(`/copilotstudio/prebuilt/authenticated/bots/${r}`,n),this.baseURL.searchParams.append("api-version",this.API_VERSION)}getConversationUrl(e){let r=new URL(this.baseURL.href);return r.pathname=`${r.pathname}/conversations`,e&&(r.pathname=`${r.pathname}/${e}`),r.href}};var ar=class{constructor(e){this.API_VERSION="2022-03-01-preview";let{schema:r,host:n}=e;this.baseURL=new URL(`/copilotstudio/dataverse-backed/authenticated/bots/${r}`,n),this.baseURL.searchParams.append("api-version",this.API_VERSION)}getConversationUrl(e){let r=new URL(this.baseURL.href);return r.pathname=`${r.pathname}/conversations`,e&&(r.pathname=`${r.pathname}/${e}`),r.href}};var Qe=(0,bo.debug)("copilot-studio:power-platform");function ur(t,e){var a,d,l,f,m,_;if((a=t.directConnectUrl)!=null&&a.trim()){if(Qe.debug(`Using direct connection: ${t.directConnectUrl}`),!Nt(t.directConnectUrl))throw new Error("directConnectUrl must be a valid URL");return t.directConnectUrl.toLowerCase().includes("tenants/00000000-0000-0000-0000-000000000000")?(Qe.debug(`Direct connection cannot be used, forcing default settings flow. Tenant ID is missing in the URL: ${t.directConnectUrl}`),ur({...t,directConnectUrl:""},e)):na(t.directConnectUrl,e).href}let r=(d=t.cloud)!=null?d:"Prod",n=(l=t.copilotAgentType)!=null?l:"Published";if(Qe.debug(`Using cloud setting: ${r}`),Qe.debug(`Using agent type: ${n}`),!((f=t.environmentId)!=null&&f.trim()))throw new Error("EnvironmentId must be provided");if(!((m=t.agentIdentifier)!=null&&m.trim()))throw new Error("AgentIdentifier must be provided");if(r==="Other")if((_=t.customPowerPlatformCloud)!=null&&_.trim())if(Nt(t.customPowerPlatformCloud))Qe.debug(`Using custom Power Platform cloud: ${t.customPowerPlatformCloud}`);else throw new Error("customPowerPlatformCloud must be a valid URL");else throw new Error("customPowerPlatformCloud must be provided when PowerPlatformCloud is Other");let o=oa(r,t.environmentId,t.customPowerPlatformCloud),s={Published:()=>new ar({host:o,schema:t.agentIdentifier}),Prebuilt:()=>new sr({host:o,identifier:t.agentIdentifier})}[n]().getConversationUrl(e);return Qe.debug(`Generated Copilot Studio connection URL: ${s}`),s}function xo(t,e="Unknown",r="",n=""){var o,i;if(!n&&!(t!=null&&t.directConnectUrl)){if(e==="Other"&&!r)throw new Error("cloudBaseAddress must be provided when PowerPlatformCloudCategory is Other");if(!t&&e==="Unknown")throw new Error("Either settings or cloud must be provided");if(t&&t.cloud&&t.cloud!=="Unknown"&&(e=t.cloud),e==="Other")if(r&&Nt(r))e="Other";else if(t!=null&&t.customPowerPlatformCloud&&Nt(t.customPowerPlatformCloud))e="Other",r=t.customPowerPlatformCloud;else throw new Error("Either CustomPowerPlatformCloud or cloudBaseAddress must be provided when PowerPlatformCloudCategory is Other");return r!=null||(r="api.unknown.powerplatform.com"),`https://${cr(e,r)}/.default`}else if(n||(n=(o=t==null?void 0:t.directConnectUrl)!=null?o:""),n&&Nt(n)){if(_o(new URL(n))==="Unknown"){let s=(i=t==null?void 0:t.cloud)!=null?i:e;if(s==="Other"||s==="Unknown")throw new Error("Unable to resolve the PowerPlatform Cloud from DirectConnectUrl. The Token Audience resolver requires a specific PowerPlatformCloudCategory.");if(s!=="Unknown")return`https://${cr(s,"")}/.default`;throw new Error("Unable to resolve the PowerPlatform Cloud from DirectConnectUrl. The Token Audience resolver requires a specific PowerPlatformCloudCategory.")}return`https://${cr(_o(new URL(n)),"")}/.default`}else throw new Error("DirectConnectUrl must be provided when DirectConnectUrl is set")}function Nt(t){try{let e=t.startsWith("http")?t:`https://${t}`;return!!new URL(e)}catch{return!1}}function na(t,e){let r=new URL(t);return r.searchParams.has("api-version")||r.searchParams.append("api-version","2022-03-01-preview"),r.pathname.endsWith("/")&&(r.pathname=r.pathname.slice(0,-1)),r.pathname.includes("/conversations")&&(r.pathname=r.pathname.substring(0,r.pathname.indexOf("/conversations"))),r.pathname=`${r.pathname}/conversations`,e&&(r.pathname=`${r.pathname}/${e}`),r}function oa(t,e,r){if(t==="Other"&&(!r||!r.trim()))throw new Error("cloudBaseAddress must be provided when PowerPlatformCloud is Other");r=r!=null?r:"api.unknown.powerplatform.com";let n=e.toLowerCase().replaceAll("-",""),o=ia(t),i=n.substring(0,n.length-o),s=n.substring(n.length-o);return new URL(`https://${i}.${s}.environment.${cr(t,r)}`)}function cr(t,e){switch(t){case"Local":return"api.powerplatform.localhost";case"Exp":return"api.exp.powerplatform.com";case"Dev":return"api.dev.powerplatform.com";case"Prv":return"api.prv.powerplatform.com";case"Test":return"api.test.powerplatform.com";case"Preprod":return"api.preprod.powerplatform.com";case"FirstRelease":case"Prod":return"api.powerplatform.com";case"GovFR":return"api.gov.powerplatform.microsoft.us";case"Gov":return"api.gov.powerplatform.microsoft.us";case"High":return"api.high.powerplatform.microsoft.us";case"DoD":return"api.appsplatform.us";case"Mooncake":return"api.powerplatform.partner.microsoftonline.cn";case"Ex":return"api.powerplatform.eaglex.ic.gov";case"Rx":return"api.powerplatform.microsoft.scloud";case"Other":return e;default:throw new Error(`Invalid cluster category value: ${t}`)}}function ia(t){switch(t){case"FirstRelease":case"Prod":return 2;default:return 1}}function _o(t){switch(t.host.toLowerCase()){case"api.powerplatform.localhost":return"Local";case"api.exp.powerplatform.com":return"Exp";case"api.dev.powerplatform.com":return"Dev";case"api.prv.powerplatform.com":return"Prv";case"api.test.powerplatform.com":return"Test";case"api.preprod.powerplatform.com":return"Preprod";case"api.powerplatform.com":return"Prod";case"api.gov.powerplatform.microsoft.us":return"GovFR";case"api.high.powerplatform.microsoft.us":return"High";case"api.appsplatform.us":return"DoD";case"api.powerplatform.partner.microsoftonline.cn":return"Mooncake";default:return"Unknown"}}var Xt=Et(Hn());var Mr=class{constructor(e){this.activity=e}};var ss=Et(Mt());var os="0.1.0";var Nr={};var J=(0,ss.debug)("copilot-studio:client"),he=class he{constructor(e,r){this.conversationId="";this.settings=e,this.token=r}async*postRequestAsync(e,r,n="POST"){var i,s;J.debug(`>>> SEND TO ${e}`);let o=po({url:e,headers:{Authorization:`Bearer ${this.token}`,"User-Agent":he.getProductInfo(),"Content-Type":"application/json",Accept:"text/event-stream"},body:r?JSON.stringify(r):void 0,method:n,fetch:async(a,d)=>{let l=await fetch(a,d);return this.processResponseHeaders(l.headers),l}});try{for await(let{data:a,event:d}of o){if(a&&d==="activity")try{let l=Xt.Activity.fromJson(a);switch(l.type){case Xt.ActivityTypes.Message:this.conversationId.trim()||(this.conversationId=(s=(i=l.conversation)==null?void 0:i.id)!=null?s:"",J.debug(`Conversation ID: ${this.conversationId}`)),yield l;break;default:J.debug(`Activity type: ${l.type}`),yield l;break}}catch(l){J.error("Failed to parse activity:",l)}else if(d==="end"){J.debug("Stream complete");break}if(o.readyState==="closed"){J.debug("Connection closed");break}}}finally{o.close()}}static getProductInfo(){let e=`CopilotStudioClient.agents-sdk-js/${os}`,r;return typeof window!="undefined"&&window.navigator?r=`${e} ${navigator.userAgent}`:r=`${e} nodejs/${process.version} ${Nr.platform()}-${Nr.arch()}/${Nr.release()}`,J.debug(`User-Agent: ${r}`),r}processResponseHeaders(e){var n,o;if(this.settings.useExperimentalEndpoint&&!((n=this.settings.directConnectUrl)!=null&&n.trim())){let i=e==null?void 0:e.get(he.islandExperimentalUrlHeaderKey);i&&(this.settings.directConnectUrl=i,J.debug(`Island Experimental URL: ${i}`))}this.conversationId=(o=e==null?void 0:e.get(he.conversationIdHeaderKey))!=null?o:"",this.conversationId&&J.debug(`Conversation ID: ${this.conversationId}`);let r=new Headers;e.forEach((i,s)=>{s.toLowerCase()!=="authorization"&&s.toLowerCase()!==he.conversationIdHeaderKey.toLowerCase()&&r.set(s,i)}),J.debug("Headers received:",r)}async*startConversationAsync(e=!0){let r=ur(this.settings),n={emitStartConversationEvent:e};J.info("Starting conversation ..."),yield*this.postRequestAsync(r,n,"POST")}async*askQuestionAsync(e,r=this.conversationId){let o={type:"message",text:e,conversation:{id:r}},i=Xt.Activity.fromObject(o);yield*this.sendActivity(i)}async*sendActivity(e,r=this.conversationId){var s,a;let n=(a=(s=e.conversation)==null?void 0:s.id)!=null?a:r,o=ur(this.settings,n),i=new Mr(e);J.info("Sending activity...",e),yield*this.postRequestAsync(o,i,"POST")}};he.conversationIdHeaderKey="x-ms-conversationid",he.islandExperimentalUrlHeaderKey="x-ms-d2e-experimental",he.scopeFromSettings=xo;var is=he;var R=[];for(let t=0;t<256;++t)R.push((t+256).toString(16).slice(1));function as(t,e=0){return(R[t[e+0]]+R[t[e+1]]+R[t[e+2]]+R[t[e+3]]+"-"+R[t[e+4]]+R[t[e+5]]+"-"+R[t[e+6]]+R[t[e+7]]+"-"+R[t[e+8]]+R[t[e+9]]+"-"+R[t[e+10]]+R[t[e+11]]+R[t[e+12]]+R[t[e+13]]+R[t[e+14]]+R[t[e+15]]).toLowerCase()}var Bn,Ed=new Uint8Array(16);function Kn(){if(!Bn){if(typeof crypto=="undefined"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Bn=crypto.getRandomValues.bind(crypto)}return Bn(Ed)}var Ud=typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Gn={randomUUID:Ud};function Rd(t,e,r){var o,i,s;if(Gn.randomUUID&&!e&&!t)return Gn.randomUUID();t=t||{};let n=(s=(i=t.random)!=null?i:(o=t.rng)==null?void 0:o.call(t))!=null?s:Kn();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let a=0;a<16;++a)e[r+a]=n[a];return e}return as(n)}var Jn=Rd;var ws=Et(Hn());var Yn=function(t,e){return Yn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},Yn(t,e)};function Ce(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Yn(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}function Qt(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ct(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),o,i=[],s;try{for(;(e===void 0||e-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function It(t,e,r){if(r||arguments.length===2)for(var n=0,o=e.length,i;n0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(r){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,r)},e.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},e.prototype._innerSubscribe=function(r){var n=this,o=this,i=o.hasError,s=o.isStopped,a=o.observers;return i||s?Xn:(this.currentObservers=null,a.push(r),new Tt(function(){n.currentObservers=null,er(a,r)}))},e.prototype._checkFinalizedStatuses=function(r){var n=this,o=n.hasError,i=n.thrownError,s=n.isStopped;o?r.error(i):s&&r.complete()},e.prototype.asObservable=function(){var r=new Ot;return r.source=this,r},e.create=function(r,n){return new _s(r,n)},e})(Ot);var _s=(function(t){Ce(e,t);function e(r,n){var o=t.call(this)||this;return o.destination=r,o.source=n,o}return e.prototype.next=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,r)},e.prototype.error=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,r)},e.prototype.complete=function(){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||n===void 0||n.call(r)},e.prototype._subscribe=function(r){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(r))!==null&&o!==void 0?o:Xn},e})(oo);var io=(function(t){Ce(e,t);function e(r){var n=t.call(this)||this;return n._value=r,n}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(r){var n=t.prototype._subscribe.call(this,r);return!n.closed&&r.next(this._value),n},e.prototype.getValue=function(){var r=this,n=r.hasError,o=r.thrownError,i=r._value;if(n)throw o;return this._throwIfClosed(),i},e.prototype.next=function(r){t.prototype.next.call(this,this._value=r)},e})(oo);var Cs=Et(Mt()),me=(0,Cs.debug)("copilot-studio:webchat"),bs=class{static createConnection(e,r){me.info("--> Creating connection between Copilot Studio and WebChat ...");let n=0,o,i,s=new io(0),a=xs(async f=>{if(o=f,s.value<2){s.next(2);return}me.debug("--> Connection established."),l();for await(let m of e.startConversationAsync())delete m.replyToId,i=m.conversation,d(m)}),d=f=>{let m={...f,timestamp:new Date().toISOString(),channelData:{...f.channelData,"webchat:sequence-id":n}};n++,me.debug(`Notify '${m.type}' activity to WebChat:`,m),o==null||o.next(m)},l=()=>{if(!(r!=null&&r.showTyping))return;let f=i?{id:i.id,name:i.name}:{id:"agent",name:"Agent"};d({type:"typing",from:f})};return{connectionStatus$:s,activity$:a,postActivity(f){if(me.info("--> Preparing to send activity to Copilot Studio ..."),!f)throw new Error("Activity cannot be null.");if(!o)throw new Error("Activity subscriber is not initialized.");return xs(async m=>{try{me.info("--> Sending activity to Copilot Studio ...");let _=ws.Activity.fromObject({...f,id:Jn(),attachments:await Fd(f)});d(_),l(),m.next(_.id);for await(let T of e.sendActivity(_))d(T),me.info("<-- Activity received correctly from Copilot Studio.");m.complete()}catch(_){me.error("Error sending Activity to Copilot Studio:",_),m.error(_)}})},end(){me.info("--> Ending connection between Copilot Studio and WebChat ..."),s.complete(),o&&(o.complete(),o=void 0)}}}};async function Fd(t){var r;if(t.type!=="message"||!((r=t.attachments)!=null&&r.length))return t.attachments||[];let e=[];for(let n of t.attachments){let o=await Vd(n);e.push(o)}return e}async function Vd(t){let e=t.contentUrl;if(!(e!=null&&e.startsWith("blob:")))return t;try{let r=await fetch(e);if(!r.ok)throw new Error(`Failed to fetch blob URL: ${r.status} ${r.statusText}`);let n=await r.blob(),o=await n.arrayBuffer(),i=$d(o);e=`data:${n.type};base64,${i}`}catch(r){e=t.contentUrl,me.error("Error processing blob attachment:",e,r)}return{...t,contentUrl:e}}function $d(t){let e=typeof globalThis.Buffer=="function"?globalThis.Buffer:void 0;if(e&&typeof e.from=="function")return e.from(t).toString("base64");let r="";for(let n of new Uint8Array(t))r+=String.fromCharCode(n);return btoa(r)}function xs(t){return new Ot(e=>{Promise.resolve(t(e)).catch(r=>e.error(r))})}export{Ut as AgentType,Hr as ConnectionSettings,is as CopilotStudioClient,bs as CopilotStudioWebChat,Mr as ExecuteTurnRequest,Rt as PowerPlatformCloud,ur as getCopilotStudioConnectionUrl,xo as getTokenAudience,Jd as loadCopilotStudioConnectionSettingsFromEnv}; -//# sourceMappingURL=browser.mjs.map From b2ae4ca300b8c6834daf9e8aa15967a6c21d74f7 Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 17 Nov 2025 12:33:25 -0600 Subject: [PATCH 17/20] add package lock --- samples/nodejs/quickstart/package-lock.json | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/samples/nodejs/quickstart/package-lock.json b/samples/nodejs/quickstart/package-lock.json index 5a62cbbe..0df4bf27 100644 --- a/samples/nodejs/quickstart/package-lock.json +++ b/samples/nodejs/quickstart/package-lock.json @@ -139,19 +139,6 @@ "node": ">=20.0.0" } }, - "node_modules/@microsoft/agents-hosting-express": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@microsoft/agents-hosting-express/-/agents-hosting-express-1.0.15.tgz", - "integrity": "sha512-MyepMCp58fFEWr64fS21XDUG1rwSh5z5H90JJm25aOfbkeTvKgypVI3sP2pCo2zGW68TORC91xrvRuxYGHEoMQ==", - "license": "MIT", - "dependencies": { - "@microsoft/agents-hosting": "1.0.15", - "express": "^5.1.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, "node_modules/@microsoft/m365agentsplayground": { "version": "0.2.18", "resolved": "https://registry.npmjs.org/@microsoft/m365agentsplayground/-/m365agentsplayground-0.2.18.tgz", From ef616294827022ab3507befb7574e1cbb349a9ea Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Tue, 18 Nov 2025 11:02:23 -0600 Subject: [PATCH 18/20] rename agent.ts to index.ts --- samples/nodejs/quickstart/package.json | 6 +++--- samples/nodejs/quickstart/src/{agent.ts => index.ts} | 0 2 files changed, 3 insertions(+), 3 deletions(-) rename samples/nodejs/quickstart/src/{agent.ts => index.ts} (100%) diff --git a/samples/nodejs/quickstart/package.json b/samples/nodejs/quickstart/package.json index 802b8275..35ae02a7 100644 --- a/samples/nodejs/quickstart/package.json +++ b/samples/nodejs/quickstart/package.json @@ -5,14 +5,14 @@ "description": "Agents echo bot sample", "author": "Microsoft", "license": "MIT", - "main": "./dist/agent.js", + "main": "./dist/index.js", "scripts": { "prebuild": "npm ci", "build": "tsc --build", "prestart": "npm run build", "prestart:anon": "npm run build", - "start:anon": "node ./dist/agent.js", - "start": "node --env-file .env ./dist/agent.js", + "start:anon": "node ./dist/index.js", + "start": "node --env-file .env ./dist/index.js", "test-tool": "agentsplayground", "test": "npm-run-all -p -r start:anon test-tool" }, diff --git a/samples/nodejs/quickstart/src/agent.ts b/samples/nodejs/quickstart/src/index.ts similarity index 100% rename from samples/nodejs/quickstart/src/agent.ts rename to samples/nodejs/quickstart/src/index.ts From 2bf11f41323a941a7411e0bf9e7cb38fcebc8d41 Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Tue, 18 Nov 2025 11:31:20 -0600 Subject: [PATCH 19/20] remove --- .../nodejs/auto-signin/src/githubApiClient.ts | 47 ------------------- 1 file changed, 47 deletions(-) delete mode 100644 samples/nodejs/auto-signin/src/githubApiClient.ts diff --git a/samples/nodejs/auto-signin/src/githubApiClient.ts b/samples/nodejs/auto-signin/src/githubApiClient.ts deleted file mode 100644 index 49ea135e..00000000 --- a/samples/nodejs/auto-signin/src/githubApiClient.ts +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -export interface PullRequest { - id: number - title: string - url: string -} - -export const getCurrentProfile = async (token: string) : Promise => { - const url = 'https://api.github.com/user' - const headers = { - Authorization: `Bearer ${token}`, - Accept: 'application/vnd.github.v3+json', - 'User-Agent': 'AgentsSDKDemo' // Replace with your app name - } - const response = await fetch(url, { headers }) - if (!response.ok) { - throw new Error(`Error fetching pull requests: ${response.statusText}`) - } - const data = await response.json() - return { - $root: { - displayName: data.name || '', - mail: data.html_url || '', - jobTitle: '', - givenName: data.login || '', - surname: '', - imageUri: data.avatar_url || '', - } - } -} - -export const getPullRequests = async (owner: string, repo: string, token: string) : Promise => { - const url = `https://api.github.com/repos/${owner}/${repo}/pulls` - const headers = { - Authorization: `Bearer ${token}`, - Accept: 'application/vnd.github.v3+json', - 'User-Agent': 'AgentsSDKDemo' // Replace with your app name - } - const response = await fetch(url, { headers }) - if (!response.ok) { - throw new Error(`Error fetching pull requests: ${response.statusText}`) - } - const data = await response.json() - return data as PullRequest[] -} From a7fcf5cf528173d233888e3de7f3f150fd8fc12f Mon Sep 17 00:00:00 2001 From: Ben Brown Date: Mon, 1 Dec 2025 14:01:31 -0600 Subject: [PATCH 20/20] update method names to sendMessageStreaming, startConversationStreaming --- samples/nodejs/copilotstudio-client/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/nodejs/copilotstudio-client/src/index.ts b/samples/nodejs/copilotstudio-client/src/index.ts index 26c98624..5b6c6003 100644 --- a/samples/nodejs/copilotstudio-client/src/index.ts +++ b/samples/nodejs/copilotstudio-client/src/index.ts @@ -79,7 +79,7 @@ const askQuestion = async (copilotClient: CopilotStudioClient, conversationId: s rl.close() return } else if (answer.length > 0) { - for await (const replyActivity of copilotClient.askQuestionAsync(answer, conversationId)) { + for await (const replyActivity of copilotClient.sendMessageStreaming(Activity.fromObject({ text: answer, conversation: { id: conversationId } }))) { if (replyActivity.type === ActivityTypes.EndOfConversation) { console.log(`\n${replyActivity.text}`) rl.close() @@ -123,7 +123,7 @@ function printActivity (act: Activity): void { const main = async () => { const copilotClient = await createClient() let conversationId = '' - for await (const act of copilotClient.startConversationAsync(true)) { + for await (const act of copilotClient.startConversationStreaming(true)) { printActivity(act) conversationId = act.conversation?.id ?? '' }