From a618e392bdd91358ff698b2d23984825a2de6b10 Mon Sep 17 00:00:00 2001 From: Antoni Sobkowicz Date: Wed, 2 Sep 2026 10:16:58 +0200 Subject: [PATCH] chore(license): restore LICENSE, add third-party NOTICES, bump asana to 3.2.0 Restores the root LICENSE file removed in 803785f and adds NOTICES.md with copyright/license text for the four runtime dependencies, per CODE-1158. Bumps asana 3.1.12 -> 3.2.0 so its bundled LICENSE (MIT) can be cited accurately; updates the one call site whose signature changed in that release (getCustomTypesWithHttpInfo now takes options only, with the teamspace id passed as opts.project). --- LICENSE | 21 ++++++++ NOTICES.md | 92 ++++++++++++++++++++++++++++++++++ README.md | 4 ++ package-lock.json | 8 +-- package.json | 3 +- src/schema_discovery.ts | 3 +- tests/schema_discovery.test.ts | 2 +- 7 files changed, 126 insertions(+), 7 deletions(-) create mode 100644 LICENSE create mode 100644 NOTICES.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..387d5f2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Asana, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/NOTICES.md b/NOTICES.md new file mode 100644 index 0000000..fca16f4 --- /dev/null +++ b/NOTICES.md @@ -0,0 +1,92 @@ +# Third Party Dependencies + +This project includes the following third-party dependencies. Each is distributed under +the license reproduced below, taken from the license file bundled with that dependency. + +## @modelcontextprotocol/sdk (1.30.0) + +Copyright (c) 2024 Anthropic, PBC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +## @napi-rs/keyring (1.3.0) + +Copyright (c) 2020 N-API for Rust + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +## asana (3.2.0) + +Copyright (c) 2014 Phips Peter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +## zod (3.25.76) + +Copyright (c) 2025 Colin McDonnell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 7adb3b7..6acee60 100644 --- a/README.md +++ b/README.md @@ -270,3 +270,7 @@ npm run check ``` See [CONTRIBUTING.md](CONTRIBUTING.md) for development and release validation. See [SECURITY.md](SECURITY.md) for security reporting and the credential trust model. + +## Third Party Dependencies + +See [NOTICES.md](NOTICES.md) for the licenses and copyright notices of bundled third-party dependencies. diff --git a/package-lock.json b/package-lock.json index 0986309..98ccf56 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@modelcontextprotocol/sdk": "1.30.0", "@napi-rs/keyring": "1.3.0", - "asana": "3.1.12", + "asana": "3.2.0", "zod": "3.25.76" }, "bin": { @@ -1822,9 +1822,9 @@ } }, "node_modules/asana": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/asana/-/asana-3.1.12.tgz", - "integrity": "sha512-Mzg9InIJZZyW6Fb0E+EYersYl3wyIJ4aJYenpZn+ZCYyPi3Pn/YcXP+65NoDn4HhWv4syT6nytFkg5K5GZB+yQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/asana/-/asana-3.2.0.tgz", + "integrity": "sha512-1g2USPFHHmyW8rZF++x+Oc8ibNnWdHybfW+XMy2yWwPx9LKzJgrTov1oegQ39LAZzC04Cr646dMLp+/SiIwzSw==", "license": "Apache 2.0", "dependencies": { "@babel/cli": "^7.0.0", diff --git a/package.json b/package.json index 1075c20..a00aacc 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "dist", "README.md", "LICENSE", + "NOTICES.md", "SECURITY.md" ], "scripts": { @@ -28,7 +29,7 @@ "dependencies": { "@modelcontextprotocol/sdk": "1.30.0", "@napi-rs/keyring": "1.3.0", - "asana": "3.1.12", + "asana": "3.2.0", "zod": "3.25.76" }, "devDependencies": { diff --git a/src/schema_discovery.ts b/src/schema_discovery.ts index 6204018..e94b67d 100644 --- a/src/schema_discovery.ts +++ b/src/schema_discovery.ts @@ -399,7 +399,8 @@ async function collectCustomTypes( options, async (resources) => ensureHttpResult( - await resources.customTypes.getCustomTypesWithHttpInfo(teamspaceId, { + await resources.customTypes.getCustomTypesWithHttpInfo({ + project: teamspaceId, limit: pageSize, ...(offset === undefined ? {} : { offset }), opt_fields: CUSTOM_TYPE_FIELDS, diff --git a/tests/schema_discovery.test.ts b/tests/schema_discovery.test.ts index d8cf7a2..3a6d2c9 100644 --- a/tests/schema_discovery.test.ts +++ b/tests/schema_discovery.test.ts @@ -116,7 +116,7 @@ function createFakeExecutor(state: FakeState): AsanaRequestExecutorPort { }, }, customTypes: { - getCustomTypesWithHttpInfo: async (_projectGid: string, opts?: { offset?: string }) => { + getCustomTypesWithHttpInfo: async (opts?: { project?: string; offset?: string }) => { const offset = opts?.offset ?? "0"; if (offset !== "0") { return httpResult({ data: [], next_page: null });