diff --git a/.changeset/red-mangos-sort.md b/.changeset/red-mangos-sort.md new file mode 100644 index 000000000..8a0ec1694 --- /dev/null +++ b/.changeset/red-mangos-sort.md @@ -0,0 +1,16 @@ +--- +"@osdk/foundry.thirdpartyapplications": minor +"@osdk/internal.foundry.ontologiesv2": minor +"@osdk/internal.foundry.ontologies": minor +"@osdk/internal.foundry.datasets": minor +"@osdk/internal.foundry.models": minor +"@osdk/internal.foundry.core": minor +"@osdk/e2e.sandbox.catchall": minor +"@osdk/foundry.datasets": minor +"@osdk/internal.foundry": minor +"@osdk/foundry.admin": minor +"@osdk/foundry.core": minor +"@osdk/foundry": minor +--- + +Bump api-gateway to 1.891.0 diff --git a/.changeset/two-baboons-double.md b/.changeset/two-baboons-double.md new file mode 100644 index 000000000..2b93d266a --- /dev/null +++ b/.changeset/two-baboons-double.md @@ -0,0 +1,5 @@ +--- +"@osdk/platform-sdk-generator": minor +--- + +Handle new Core namespace diff --git a/packages/e2e.sandbox.catchall/src/runFoundryPlatformApiTest.ts b/packages/e2e.sandbox.catchall/src/runFoundryPlatformApiTest.ts index 06c96f104..b16893241 100644 --- a/packages/e2e.sandbox.catchall/src/runFoundryPlatformApiTest.ts +++ b/packages/e2e.sandbox.catchall/src/runFoundryPlatformApiTest.ts @@ -20,7 +20,7 @@ import { client } from "./client.js"; import { logger } from "./logger.js"; export async function runFoundryPlatformApiTest() { - const myUser = await Foundry.Security.Users.getCurrentUser( + const myUser = await Foundry.Admin.Users.getCurrentUser( client, { preview: true }, ); diff --git a/packages/foundry.security/package.json b/packages/foundry.admin/package.json similarity index 87% rename from packages/foundry.security/package.json rename to packages/foundry.admin/package.json index fb0e42862..1ce528d33 100644 --- a/packages/foundry.security/package.json +++ b/packages/foundry.admin/package.json @@ -1,6 +1,6 @@ { - "name": "@osdk/foundry.security", - "version": "1.1.0-beta.2", + "name": "@osdk/foundry.admin", + "version": "0.0.0", "license": "Apache-2.0", "repository": { "type": "git", @@ -30,6 +30,11 @@ "@osdk/shared.client": "workspace:~", "@osdk/shared.net.platformapi": "workspace:~" }, + "peerDependencies": { + "@osdk/api": "workspace:~", + "@osdk/client": "workspace:~", + "@osdk/shared.net": "workspace:~" + }, "devDependencies": { "@osdk/monorepo.api-extractor": "workspace:~", "@osdk/monorepo.tsconfig": "workspace:~", @@ -48,13 +53,12 @@ "templates", "*.d.ts" ], - "main": "./build/js/index.cjs", "module": "./build/esm/index.js", "types": "./build/esm/index.d.ts", "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.866.0", + "minVersion": "1.891.0", "maxVersion": "1.x.x" } } diff --git a/packages/foundry.admin/src/_components.ts b/packages/foundry.admin/src/_components.ts new file mode 100644 index 000000000..f543a3e77 --- /dev/null +++ b/packages/foundry.admin/src/_components.ts @@ -0,0 +1,239 @@ +/* + * Copyright 2024 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { + OrganizationRid, + PageSize, + PageToken, + PrincipalId, + PrincipalType, + Realm, +} from "@osdk/foundry.core"; + +export type LooselyBrandedString = string & { + __LOOSE_BRAND?: T; +}; + +/** + * Log Safety: SAFE + */ +export interface AddGroupMembersRequest { + principalIds: Array; + expiration?: GroupMembershipExpiration; +} + +/** + * Log Safety: UNSAFE + */ +export type AttributeName = LooselyBrandedString<"AttributeName">; + +/** + * Log Safety: UNSAFE + */ +export type AttributeValue = LooselyBrandedString<"AttributeValue">; + +/** + * Log Safety: UNSAFE + */ +export type AttributeValues = Array; + +/** + * Log Safety: UNSAFE + */ +export interface CreateGroupRequest { + name: GroupName; + organizations: Array; + description?: string; + attributes: Record; +} + +/** + * Log Safety: SAFE + */ +export interface GetGroupsBatchRequestElement { + groupId: PrincipalId; +} + +/** + * Log Safety: UNSAFE + */ +export interface GetGroupsBatchResponse { + data: Record; +} + +/** + * Log Safety: SAFE + */ +export interface GetUsersBatchRequestElement { + userId: PrincipalId; +} + +/** + * Log Safety: UNSAFE + */ +export interface GetUsersBatchResponse { + data: Record; +} + +/** + * Log Safety: UNSAFE + */ +export interface Group { + id: PrincipalId; + name: GroupName; + description?: string; + realm: Realm; + organizations: Array; + attributes: Record; +} + +/** + * Log Safety: SAFE + */ +export interface GroupMember { + principalType: PrincipalType; + principalId: PrincipalId; +} + +/** + * Log Safety: SAFE + */ +export interface GroupMembership { + groupId: PrincipalId; +} + +/** + * Log Safety: SAFE + */ +export type GroupMembershipExpiration = string; + +/** + * Log Safety: UNSAFE + */ +export type GroupName = LooselyBrandedString<"GroupName">; + +/** + * Log Safety: UNSAFE + */ +export interface GroupSearchFilter { + type: PrincipalFilterType; + value: string; +} + +/** + * Log Safety: UNSAFE + */ +export interface ListGroupMembersResponse { + data: Array; + nextPageToken?: PageToken; +} + +/** + * Log Safety: UNSAFE + */ +export interface ListGroupMembershipsResponse { + data: Array; + nextPageToken?: PageToken; +} + +/** + * Log Safety: UNSAFE + */ +export interface ListGroupsResponse { + data: Array; + nextPageToken?: PageToken; +} + +/** + * Log Safety: UNSAFE + */ +export interface ListUsersResponse { + data: Array; + nextPageToken?: PageToken; +} + +/** + * Log Safety: SAFE + */ +export type PrincipalFilterType = "queryString"; + +/** + * Log Safety: SAFE + */ +export interface RemoveGroupMembersRequest { + principalIds: Array; +} + +/** + * Log Safety: UNSAFE + */ +export interface SearchGroupsRequest { + where: GroupSearchFilter; + pageSize?: PageSize; + pageToken?: PageToken; +} + +/** + * Log Safety: UNSAFE + */ +export interface SearchGroupsResponse { + data: Array; + nextPageToken?: PageToken; +} + +/** + * Log Safety: UNSAFE + */ +export interface SearchUsersRequest { + where: UserSearchFilter; + pageSize?: PageSize; + pageToken?: PageToken; +} + +/** + * Log Safety: UNSAFE + */ +export interface SearchUsersResponse { + data: Array; + nextPageToken?: PageToken; +} + +/** + * Log Safety: UNSAFE + */ +export interface User { + id: PrincipalId; + username: UserUsername; + givenName?: string; + familyName?: string; + email?: string; + realm: Realm; + organization?: OrganizationRid; + attributes: Record; +} + +/** + * Log Safety: UNSAFE + */ +export interface UserSearchFilter { + type: PrincipalFilterType; + value: string; +} + +/** + * Log Safety: UNSAFE + */ +export type UserUsername = LooselyBrandedString<"UserUsername">; diff --git a/packages/foundry.security/src/index.ts b/packages/foundry.admin/src/index.ts similarity index 74% rename from packages/foundry.security/src/index.ts rename to packages/foundry.admin/src/index.ts index b7fd9cc4a..b1a5e8a34 100644 --- a/packages/foundry.security/src/index.ts +++ b/packages/foundry.admin/src/index.ts @@ -16,14 +16,33 @@ export type { AddGroupMembersRequest, + AttributeName, + AttributeValue, + AttributeValues, CreateGroupRequest, + GetGroupsBatchRequestElement, + GetGroupsBatchResponse, + GetUsersBatchRequestElement, + GetUsersBatchResponse, + Group, + GroupMember, + GroupMembership, + GroupMembershipExpiration, + GroupName, + GroupSearchFilter, ListGroupMembershipsResponse, ListGroupMembersResponse, ListGroupsResponse, ListUsersResponse, + PrincipalFilterType, RemoveGroupMembersRequest, SearchGroupsRequest, + SearchGroupsResponse, SearchUsersRequest, + SearchUsersResponse, + User, + UserSearchFilter, + UserUsername, } from "./_components.js"; export * as Groups from "./public/Group.js"; export * as GroupMembers from "./public/GroupMember.js"; diff --git a/packages/foundry.security/src/public/Group.ts b/packages/foundry.admin/src/public/Group.ts similarity index 73% rename from packages/foundry.security/src/public/Group.ts rename to packages/foundry.admin/src/public/Group.ts index a05e73deb..68ebcea3c 100644 --- a/packages/foundry.security/src/public/Group.ts +++ b/packages/foundry.admin/src/public/Group.ts @@ -15,12 +15,10 @@ */ import type { - Group, PageSize, PageToken, PreviewMode, PrincipalId, - SearchGroupsResponse, } from "@osdk/foundry.core"; import type { SharedClient as $Client, @@ -30,8 +28,12 @@ import type { FoundryPlatformMethod as $FoundryPlatformMethod } from "@osdk/shar import { foundryPlatformFetch as $foundryPlatformFetch } from "@osdk/shared.net.platformapi"; import type { CreateGroupRequest, + GetGroupsBatchRequestElement, + GetGroupsBatchResponse, + Group, ListGroupsResponse, SearchGroupsRequest, + SearchGroupsResponse, } from "../_components.js"; // @@ -41,13 +43,13 @@ const _createGroup: $FoundryPlatformMethod< $body: CreateGroupRequest, $queryParams?: { preview?: PreviewMode | undefined }, ) => Promise -> = [1, "/v2/security/groups", 3]; +> = [1, "/v2/admin/groups", 3]; /** * Creates a new Group * - * Required Scopes: [api:security-write] - * URL: /v2/security/groups + * Required Scopes: [api:admin-write] + * URL: /v2/admin/groups */ export function createGroup( $ctx: $Client | $ClientContext, @@ -64,13 +66,13 @@ const _deleteGroup: $FoundryPlatformMethod< groupId: PrincipalId, $queryParams?: { preview?: PreviewMode | undefined }, ) => Promise -> = [3, "/v2/security/groups/{0}", 2]; +> = [3, "/v2/admin/groups/{0}", 2]; /** * Deletes the given Group * - * Required Scopes: [api:security-write] - * URL: /v2/security/groups/{groupId} + * Required Scopes: [api:admin-write] + * URL: /v2/admin/groups/{groupId} */ export function deleteGroup( $ctx: $Client | $ClientContext, @@ -89,13 +91,13 @@ const _listGroups: $FoundryPlatformMethod< pageToken?: PageToken | undefined; preview?: PreviewMode | undefined; }) => Promise -> = [0, "/v2/security/groups", 2]; +> = [0, "/v2/admin/groups", 2]; /** * Lists all Groups * - * Required Scopes: [api:security-read] - * URL: /v2/security/groups + * Required Scopes: [api:admin-read] + * URL: /v2/admin/groups */ export function listGroups( $ctx: $Client | $ClientContext, @@ -115,13 +117,13 @@ const _getGroup: $FoundryPlatformMethod< groupId: PrincipalId, $queryParams?: { preview?: PreviewMode | undefined }, ) => Promise -> = [0, "/v2/security/groups/{0}", 2]; +> = [0, "/v2/admin/groups/{0}", 2]; /** * Get the Group * - * Required Scopes: [api:security-read] - * URL: /v2/security/groups/{groupId} + * Required Scopes: [api:admin-read] + * URL: /v2/admin/groups/{groupId} */ export function getGroup( $ctx: $Client | $ClientContext, @@ -134,16 +136,41 @@ export function getGroup( return $foundryPlatformFetch($ctx, _getGroup, ...args); } +const _getGroupsBatch: $FoundryPlatformMethod< + ( + $body: Array, + $queryParams?: { preview?: PreviewMode | undefined }, + ) => Promise +> = [1, "/v2/admin/groups/getBatch", 3]; + +/** + * Execute multiple get requests on Group. + * + * The maximum batch size for this endpoint is 500. + * + * Required Scopes: [api:admin-read] + * URL: /v2/admin/groups/getBatch + */ +export function getGroupsBatch( + $ctx: $Client | $ClientContext, + ...args: [ + $body: Array, + $queryParams?: { preview?: PreviewMode | undefined }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _getGroupsBatch, ...args); +} + const _searchGroups: $FoundryPlatformMethod< ( $body: SearchGroupsRequest, $queryParams?: { preview?: PreviewMode | undefined }, ) => Promise -> = [1, "/v2/security/groups/search", 3]; +> = [1, "/v2/admin/groups/search", 3]; /** * Required Scopes: [] - * URL: /v2/security/groups/search + * URL: /v2/admin/groups/search */ export function searchGroups( $ctx: $Client | $ClientContext, diff --git a/packages/foundry.security/src/public/GroupMember.ts b/packages/foundry.admin/src/public/GroupMember.ts similarity index 86% rename from packages/foundry.security/src/public/GroupMember.ts rename to packages/foundry.admin/src/public/GroupMember.ts index e69652002..9f2665a63 100644 --- a/packages/foundry.security/src/public/GroupMember.ts +++ b/packages/foundry.admin/src/public/GroupMember.ts @@ -44,13 +44,13 @@ const _listGroupMembers: $FoundryPlatformMethod< preview?: PreviewMode | undefined; }, ) => Promise -> = [0, "/v2/security/groups/{0}/groupMembers", 2]; +> = [0, "/v2/admin/groups/{0}/groupMembers", 2]; /** * Lists all GroupMembers * - * Required Scopes: [api:security-read] - * URL: /v2/security/groups/{groupId}/groupMembers + * Required Scopes: [api:admin-read] + * URL: /v2/admin/groups/{groupId}/groupMembers */ export function listGroupMembers( $ctx: $Client | $ClientContext, @@ -74,11 +74,11 @@ const _addGroupMembers: $FoundryPlatformMethod< $body: AddGroupMembersRequest, $queryParams?: { preview?: PreviewMode | undefined }, ) => Promise -> = [1, "/v2/security/groups/{0}/groupMembers/add", 3]; +> = [1, "/v2/admin/groups/{0}/groupMembers/add", 3]; /** - * Required Scopes: [api:security-write] - * URL: /v2/security/groups/{groupId}/groupMembers/add + * Required Scopes: [api:admin-write] + * URL: /v2/admin/groups/{groupId}/groupMembers/add */ export function addGroupMembers( $ctx: $Client | $ClientContext, @@ -97,11 +97,11 @@ const _removeGroupMembers: $FoundryPlatformMethod< $body: RemoveGroupMembersRequest, $queryParams?: { preview?: PreviewMode | undefined }, ) => Promise -> = [1, "/v2/security/groups/{0}/groupMembers/remove", 3]; +> = [1, "/v2/admin/groups/{0}/groupMembers/remove", 3]; /** - * Required Scopes: [api:security-write] - * URL: /v2/security/groups/{groupId}/groupMembers/remove + * Required Scopes: [api:admin-write] + * URL: /v2/admin/groups/{groupId}/groupMembers/remove */ export function removeGroupMembers( $ctx: $Client | $ClientContext, diff --git a/packages/foundry.security/src/public/GroupMembership.ts b/packages/foundry.admin/src/public/GroupMembership.ts similarity index 92% rename from packages/foundry.security/src/public/GroupMembership.ts rename to packages/foundry.admin/src/public/GroupMembership.ts index 2433e5188..7987e3421 100644 --- a/packages/foundry.security/src/public/GroupMembership.ts +++ b/packages/foundry.admin/src/public/GroupMembership.ts @@ -40,13 +40,13 @@ const _listGroupMemberships: $FoundryPlatformMethod< preview?: PreviewMode | undefined; }, ) => Promise -> = [0, "/v2/security/users/{0}/groupMemberships", 2]; +> = [0, "/v2/admin/users/{0}/groupMemberships", 2]; /** * Lists all GroupMemberships * - * Required Scopes: [api:security-read] - * URL: /v2/security/users/{userId}/groupMemberships + * Required Scopes: [api:admin-read] + * URL: /v2/admin/users/{userId}/groupMemberships */ export function listGroupMemberships( $ctx: $Client | $ClientContext, diff --git a/packages/foundry.security/src/public/User.ts b/packages/foundry.admin/src/public/User.ts similarity index 72% rename from packages/foundry.security/src/public/User.ts rename to packages/foundry.admin/src/public/User.ts index 1db5d8f5e..124669263 100644 --- a/packages/foundry.security/src/public/User.ts +++ b/packages/foundry.admin/src/public/User.ts @@ -19,8 +19,6 @@ import type { PageToken, PreviewMode, PrincipalId, - SearchUsersResponse, - User, } from "@osdk/foundry.core"; import type { SharedClient as $Client, @@ -28,7 +26,14 @@ import type { } from "@osdk/shared.client"; import type { FoundryPlatformMethod as $FoundryPlatformMethod } from "@osdk/shared.net.platformapi"; import { foundryPlatformFetch as $foundryPlatformFetch } from "@osdk/shared.net.platformapi"; -import type { ListUsersResponse, SearchUsersRequest } from "../_components.js"; +import type { + GetUsersBatchRequestElement, + GetUsersBatchResponse, + ListUsersResponse, + SearchUsersRequest, + SearchUsersResponse, + User, +} from "../_components.js"; // @@ -37,13 +42,13 @@ const _deleteUser: $FoundryPlatformMethod< userId: PrincipalId, $queryParams?: { preview?: PreviewMode | undefined }, ) => Promise -> = [3, "/v2/security/users/{0}", 2]; +> = [3, "/v2/admin/users/{0}", 2]; /** * Deletes the given User * - * Required Scopes: [api:security-read] - * URL: /v2/security/users/{userId} + * Required Scopes: [api:admin-read] + * URL: /v2/admin/users/{userId} */ export function deleteUser( $ctx: $Client | $ClientContext, @@ -62,13 +67,13 @@ const _listUsers: $FoundryPlatformMethod< pageToken?: PageToken | undefined; preview?: PreviewMode | undefined; }) => Promise -> = [0, "/v2/security/users", 2]; +> = [0, "/v2/admin/users", 2]; /** * Lists all Users * - * Required Scopes: [api:security-read] - * URL: /v2/security/users + * Required Scopes: [api:admin-read] + * URL: /v2/admin/users */ export function listUsers( $ctx: $Client | $ClientContext, @@ -88,13 +93,13 @@ const _getUser: $FoundryPlatformMethod< userId: PrincipalId, $queryParams?: { preview?: PreviewMode | undefined }, ) => Promise -> = [0, "/v2/security/users/{0}", 2]; +> = [0, "/v2/admin/users/{0}", 2]; /** * Get the User * - * Required Scopes: [api:security-read] - * URL: /v2/security/users/{userId} + * Required Scopes: [api:admin-read] + * URL: /v2/admin/users/{userId} */ export function getUser( $ctx: $Client | $ClientContext, @@ -107,13 +112,38 @@ export function getUser( return $foundryPlatformFetch($ctx, _getUser, ...args); } +const _getUsersBatch: $FoundryPlatformMethod< + ( + $body: Array, + $queryParams?: { preview?: PreviewMode | undefined }, + ) => Promise +> = [1, "/v2/admin/users/getBatch", 3]; + +/** + * Execute multiple get requests on User. + * + * The maximum batch size for this endpoint is 500. + * + * Required Scopes: [api:admin-read] + * URL: /v2/admin/users/getBatch + */ +export function getUsersBatch( + $ctx: $Client | $ClientContext, + ...args: [ + $body: Array, + $queryParams?: { preview?: PreviewMode | undefined }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _getUsersBatch, ...args); +} + const _getCurrentUser: $FoundryPlatformMethod< ($queryParams?: { preview?: PreviewMode | undefined }) => Promise -> = [0, "/v2/security/users/getCurrent", 2]; +> = [0, "/v2/admin/users/getCurrent", 2]; /** * Required Scopes: [] - * URL: /v2/security/users/getCurrent + * URL: /v2/admin/users/getCurrent */ export function getCurrentUser( $ctx: $Client | $ClientContext, @@ -127,17 +157,11 @@ const _profilePictureUser: $FoundryPlatformMethod< userId: PrincipalId, $queryParams?: { preview?: PreviewMode | undefined }, ) => Promise -> = [ - 0, - "/v2/security/users/{0}/profilePicture", - 2, - , - "application/octet-stream", -]; +> = [0, "/v2/admin/users/{0}/profilePicture", 2, , "application/octet-stream"]; /** * Required Scopes: [] - * URL: /v2/security/users/{userId}/profilePicture + * URL: /v2/admin/users/{userId}/profilePicture */ export function profilePictureUser( $ctx: $Client | $ClientContext, @@ -155,11 +179,11 @@ const _searchUsers: $FoundryPlatformMethod< $body: SearchUsersRequest, $queryParams?: { preview?: PreviewMode | undefined }, ) => Promise -> = [1, "/v2/security/users/search", 3]; +> = [1, "/v2/admin/users/search", 3]; /** * Required Scopes: [] - * URL: /v2/security/users/search + * URL: /v2/admin/users/search */ export function searchUsers( $ctx: $Client | $ClientContext, diff --git a/packages/foundry.security/tsconfig.json b/packages/foundry.admin/tsconfig.json similarity index 100% rename from packages/foundry.security/tsconfig.json rename to packages/foundry.admin/tsconfig.json diff --git a/packages/foundry.security/tsup.config.js b/packages/foundry.admin/tsup.config.js similarity index 100% rename from packages/foundry.security/tsup.config.js rename to packages/foundry.admin/tsup.config.js diff --git a/packages/foundry.core/package.json b/packages/foundry.core/package.json index e01c0cc42..d64e0c649 100644 --- a/packages/foundry.core/package.json +++ b/packages/foundry.core/package.json @@ -53,7 +53,7 @@ "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.866.0", + "minVersion": "1.891.0", "maxVersion": "1.x.x" } } diff --git a/packages/foundry.core/src/_components.ts b/packages/foundry.core/src/_components.ts index d146458a2..cd209d28c 100644 --- a/packages/foundry.core/src/_components.ts +++ b/packages/foundry.core/src/_components.ts @@ -25,21 +25,6 @@ export type LooselyBrandedString = string & { */ export type ArchiveFileFormat = "ZIP"; -/** - * Log Safety: UNSAFE - */ -export type AttributeName = LooselyBrandedString<"AttributeName">; - -/** - * Log Safety: UNSAFE - */ -export type AttributeValue = LooselyBrandedString<"AttributeValue">; - -/** - * Log Safety: UNSAFE - */ -export type AttributeValues = Array; - /** * Log Safety: SAFE */ @@ -114,51 +99,6 @@ export type FilePath = LooselyBrandedString<"FilePath">; */ export type FolderRid = LooselyBrandedString<"FolderRid">; -/** - * Log Safety: UNSAFE - */ -export interface Group { - id: PrincipalId; - name: GroupName; - description?: string; - realm: Realm; - organizations: Array; - attributes: Record; -} - -/** - * Log Safety: SAFE - */ -export interface GroupMember { - principalType: PrincipalType; - principalId: PrincipalId; -} - -/** - * Log Safety: SAFE - */ -export interface GroupMembership { - groupId: PrincipalId; -} - -/** - * Log Safety: SAFE - */ -export type GroupMembershipExpiration = string; - -/** - * Log Safety: UNSAFE - */ -export type GroupName = LooselyBrandedString<"GroupName">; - -/** - * Log Safety: UNSAFE - */ -export interface GroupSearchFilter { - type: PrincipalFilterType; - value: string; -} - /** * Log Safety: SAFE */ @@ -187,17 +127,12 @@ export type PageToken = LooselyBrandedString<"PageToken">; */ export type PreviewMode = boolean; -/** - * Log Safety: SAFE - */ -export type PrincipalFilterType = "queryString"; - /** * The ID of a Foundry Group or User. * * Log Safety: SAFE */ -export type PrincipalId = string; +export type PrincipalId = LooselyBrandedString<"PrincipalId">; /** * Log Safety: SAFE @@ -219,22 +154,6 @@ export type Realm = LooselyBrandedString<"Realm">; */ export type ReleaseStatus = "ACTIVE" | "EXPERIMENTAL" | "DEPRECATED"; -/** - * Log Safety: UNSAFE - */ -export interface SearchGroupsResponse { - data: Array; - nextPageToken?: PageToken; -} - -/** - * Log Safety: UNSAFE - */ -export interface SearchUsersResponse { - data: Array; - nextPageToken?: PageToken; -} - /** * The size of the file or attachment in bytes. * @@ -242,29 +161,6 @@ export interface SearchUsersResponse { */ export type SizeBytes = string; -/** - * A subdomain from which a website is served. - * - * Log Safety: UNSAFE - */ -export type Subdomain = LooselyBrandedString<"Subdomain">; - -/** - * Log Safety: SAFE - */ -export interface ThirdPartyApplication { - rid: ThirdPartyApplicationRid; -} - -/** - * An RID identifying a third-party application created in Developer Console. - * - * Log Safety: SAFE - */ -export type ThirdPartyApplicationRid = LooselyBrandedString< - "ThirdPartyApplicationRid" ->; - /** * Log Safety: SAFE */ @@ -293,56 +189,9 @@ export type UpdatedBy = UserId; */ export type UpdatedTime = string; -/** - * Log Safety: UNSAFE - */ -export interface User { - id: PrincipalId; - username: UserUsername; - givenName?: string; - familyName?: string; - email?: string; - realm: Realm; - organization: OrganizationRid; - attributes: Record; -} - /** * A Foundry User ID. * * Log Safety: SAFE */ export type UserId = string; - -/** - * Log Safety: UNSAFE - */ -export interface UserSearchFilter { - type: PrincipalFilterType; - value: string; -} - -/** - * Log Safety: UNSAFE - */ -export type UserUsername = LooselyBrandedString<"UserUsername">; - -/** - * Log Safety: UNSAFE - */ -export interface Version { - version: VersionVersion; -} - -/** - * Log Safety: UNSAFE - */ -export type VersionVersion = LooselyBrandedString<"VersionVersion">; - -/** - * Log Safety: UNSAFE - */ -export interface Website { - deployedVersion?: VersionVersion; - subdomains: Array; -} diff --git a/packages/foundry.core/src/index.ts b/packages/foundry.core/src/index.ts index 2ad05f8e0..6e92e9824 100644 --- a/packages/foundry.core/src/index.ts +++ b/packages/foundry.core/src/index.ts @@ -16,9 +16,6 @@ export type { ArchiveFileFormat, - AttributeName, - AttributeValue, - AttributeValues, ContentLength, ContentType, CreatedBy, @@ -29,35 +26,17 @@ export type { Duration, FilePath, FolderRid, - Group, - GroupMember, - GroupMembership, - GroupMembershipExpiration, - GroupName, - GroupSearchFilter, OrganizationRid, PageSize, PageToken, PreviewMode, - PrincipalFilterType, PrincipalId, PrincipalType, Realm, ReleaseStatus, - SearchGroupsResponse, - SearchUsersResponse, SizeBytes, - Subdomain, - ThirdPartyApplication, - ThirdPartyApplicationRid, TimeUnit, UpdatedBy, UpdatedTime, - User, UserId, - UserSearchFilter, - UserUsername, - Version, - VersionVersion, - Website, } from "./_components.js"; diff --git a/packages/foundry.datasets/package.json b/packages/foundry.datasets/package.json new file mode 100644 index 000000000..cd6ea9d2c --- /dev/null +++ b/packages/foundry.datasets/package.json @@ -0,0 +1,67 @@ +{ + "name": "@osdk/foundry.datasets", + "version": "0.0.0", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/palantir/osdk-ts.git" + }, + "exports": { + ".": { + "browser": "./build/browser/index.js", + "import": "./build/esm/index.js" + }, + "./*": { + "browser": "./build/browser/public/*.js", + "import": "./build/esm/public/*.js" + } + }, + "scripts": { + "check-attw": "monorepo.tool.attw esm", + "check-spelling": "cspell --quiet .", + "clean": "rm -rf lib dist types build tsconfig.tsbuildinfo", + "fix-lint": "eslint . --fix && dprint fmt --config $(find-up dprint.json)", + "lint": "eslint . && dprint check --config $(find-up dprint.json)", + "transpile": "monorepo.tool.transpile", + "typecheck": "monorepo.tool.typecheck esm" + }, + "dependencies": { + "@osdk/foundry.core": "workspace:*", + "@osdk/shared.client": "workspace:~", + "@osdk/shared.net.platformapi": "workspace:~" + }, + "peerDependencies": { + "@osdk/api": "workspace:~", + "@osdk/client": "workspace:~", + "@osdk/shared.net": "workspace:~" + }, + "devDependencies": { + "@osdk/monorepo.api-extractor": "workspace:~", + "@osdk/monorepo.tsconfig": "workspace:~", + "@osdk/monorepo.tsup": "workspace:~", + "typescript": "^5.5.2" + }, + "publishConfig": { + "access": "public" + }, + "files": [ + "build/cjs", + "build/esm", + "build/browser", + "CHANGELOG.md", + "package.json", + "templates", + "*.d.ts" + ], + "module": "./build/esm/index.js", + "types": "./build/esm/index.d.ts", + "sls": { + "dependencies": { + "com.palantir.foundry.api:api-gateway": { + "minVersion": "1.891.0", + "maxVersion": "1.x.x" + } + } + }, + "type": "module" +} diff --git a/packages/foundry.datasets/src/_components.ts b/packages/foundry.datasets/src/_components.ts new file mode 100644 index 000000000..5c226cfca --- /dev/null +++ b/packages/foundry.datasets/src/_components.ts @@ -0,0 +1,157 @@ +/* + * Copyright 2024 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { FilePath, FolderRid, PageToken } from "@osdk/foundry.core"; + +export type LooselyBrandedString = string & { + __LOOSE_BRAND?: T; +}; + +/** + * Log Safety: UNSAFE + */ +export interface Branch { + branchId: BranchId; + transactionRid?: TransactionRid; +} + +/** + * The identifier (name) of a Branch. + * + * Log Safety: UNSAFE + */ +export type BranchId = LooselyBrandedString<"BranchId">; + +/** + * Log Safety: UNSAFE + */ +export interface CreateBranchRequest { + branchId: BranchId; + transactionRid?: TransactionRid; +} + +/** + * Log Safety: UNSAFE + */ +export interface CreateDatasetRequest { + parentFolderRid: FolderRid; + name: DatasetName; +} + +/** + * Log Safety: SAFE + */ +export interface CreateTransactionRequest { + transactionType: TransactionType; +} + +/** + * Log Safety: UNSAFE + */ +export interface Dataset { + rid: DatasetRid; + name: DatasetName; + parentFolderRid: FolderRid; +} + +/** + * Log Safety: UNSAFE + */ +export type DatasetName = LooselyBrandedString<"DatasetName">; + +/** + * The Resource Identifier (RID) of a Dataset. + * + * Log Safety: SAFE + */ +export type DatasetRid = LooselyBrandedString<"DatasetRid">; + +/** + * Log Safety: UNSAFE + */ +export interface File { + path: FilePath; + transactionRid: TransactionRid; + sizeBytes?: string; + updatedTime: FileUpdatedTime; +} + +/** + * Log Safety: UNSAFE + */ +export type FileUpdatedTime = string; + +/** + * Log Safety: UNSAFE + */ +export interface ListBranchesResponse { + data: Array; + nextPageToken?: PageToken; +} + +/** + * Log Safety: UNSAFE + */ +export interface ListFilesResponse { + data: Array; + nextPageToken?: PageToken; +} + +/** + * Format for tabular dataset export. + * + * Log Safety: SAFE + */ +export type TableExportFormat = "ARROW" | "CSV"; + +/** + * Log Safety: UNSAFE + */ +export interface Transaction { + rid: TransactionRid; + transactionType: TransactionType; + status: TransactionStatus; + createdTime: TransactionCreatedTime; + closedTime?: string; +} + +/** + * The timestamp when the transaction was created, in ISO 8601 timestamp format. + * + * Log Safety: UNSAFE + */ +export type TransactionCreatedTime = string; + +/** + * The Resource Identifier (RID) of a Transaction. + * + * Log Safety: SAFE + */ +export type TransactionRid = LooselyBrandedString<"TransactionRid">; + +/** + * The status of a Transaction. + * + * Log Safety: SAFE + */ +export type TransactionStatus = "ABORTED" | "COMMITTED" | "OPEN"; + +/** + * The type of a Transaction. + * + * Log Safety: SAFE + */ +export type TransactionType = "APPEND" | "UPDATE" | "SNAPSHOT" | "DELETE"; diff --git a/packages/foundry.datasets/src/index.ts b/packages/foundry.datasets/src/index.ts new file mode 100644 index 000000000..49b0eb3dd --- /dev/null +++ b/packages/foundry.datasets/src/index.ts @@ -0,0 +1,40 @@ +/* + * Copyright 2024 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export type { + Branch, + BranchId, + CreateBranchRequest, + CreateDatasetRequest, + CreateTransactionRequest, + Dataset, + DatasetName, + DatasetRid, + File, + FileUpdatedTime, + ListBranchesResponse, + ListFilesResponse, + TableExportFormat, + Transaction, + TransactionCreatedTime, + TransactionRid, + TransactionStatus, + TransactionType, +} from "./_components.js"; +export * as Branches from "./public/Branch.js"; +export * as Datasets from "./public/Dataset.js"; +export * as Files from "./public/File.js"; +export * as Transactions from "./public/Transaction.js"; diff --git a/packages/foundry.datasets/src/public/Branch.ts b/packages/foundry.datasets/src/public/Branch.ts new file mode 100644 index 000000000..8b297d52f --- /dev/null +++ b/packages/foundry.datasets/src/public/Branch.ts @@ -0,0 +1,141 @@ +/* + * Copyright 2024 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { PageSize, PageToken, PreviewMode } from "@osdk/foundry.core"; +import type { + SharedClient as $Client, + SharedClientContext as $ClientContext, +} from "@osdk/shared.client"; +import type { FoundryPlatformMethod as $FoundryPlatformMethod } from "@osdk/shared.net.platformapi"; +import { foundryPlatformFetch as $foundryPlatformFetch } from "@osdk/shared.net.platformapi"; +import type { + Branch, + BranchId, + CreateBranchRequest, + DatasetRid, + ListBranchesResponse, +} from "../_components.js"; + +// + +const _createBranch: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + $body: CreateBranchRequest, + $queryParams?: { preview?: PreviewMode | undefined }, + ) => Promise +> = [1, "/v2/datasets/{0}/branches", 3]; + +/** + * Creates a branch on an existing dataset. A branch may optionally point to a (committed) transaction. + * + * Required Scopes: [api:datasets-write] + * URL: /v2/datasets/{datasetRid}/branches + */ +export function createBranch( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + $body: CreateBranchRequest, + $queryParams?: { preview?: PreviewMode | undefined }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _createBranch, ...args); +} + +const _deleteBranch: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + branchBranchId: BranchId, + $queryParams?: { preview?: PreviewMode | undefined }, + ) => Promise +> = [3, "/v2/datasets/{0}/branches/{1}", 2]; + +/** + * Deletes the Branch with the given BranchId. + * + * Required Scopes: [api:datasets-write] + * URL: /v2/datasets/{datasetRid}/branches/{branchBranchId} + */ +export function deleteBranch( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + branchBranchId: BranchId, + + $queryParams?: { preview?: PreviewMode | undefined }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _deleteBranch, ...args); +} + +const _listBranches: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + $queryParams?: { + pageSize?: PageSize | undefined; + pageToken?: PageToken | undefined; + preview?: PreviewMode | undefined; + }, + ) => Promise +> = [0, "/v2/datasets/{0}/branches", 2]; + +/** + * Lists the Branches of a Dataset. + * + * Required Scopes: [api:datasets-read] + * URL: /v2/datasets/{datasetRid}/branches + */ +export function listBranches( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + + $queryParams?: { + pageSize?: PageSize | undefined; + pageToken?: PageToken | undefined; + preview?: PreviewMode | undefined; + }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _listBranches, ...args); +} + +const _getBranch: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + branchBranchId: BranchId, + $queryParams?: { preview?: PreviewMode | undefined }, + ) => Promise +> = [0, "/v2/datasets/{0}/branches/{1}", 2]; + +/** + * Get a Branch of a Dataset. + * + * Required Scopes: [api:datasets-read] + * URL: /v2/datasets/{datasetRid}/branches/{branchBranchId} + */ +export function getBranch( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + branchBranchId: BranchId, + + $queryParams?: { preview?: PreviewMode | undefined }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _getBranch, ...args); +} diff --git a/packages/foundry.datasets/src/public/Dataset.ts b/packages/foundry.datasets/src/public/Dataset.ts new file mode 100644 index 000000000..4c10eb1e8 --- /dev/null +++ b/packages/foundry.datasets/src/public/Dataset.ts @@ -0,0 +1,122 @@ +/* + * Copyright 2024 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { PreviewMode } from "@osdk/foundry.core"; +import type { + SharedClient as $Client, + SharedClientContext as $ClientContext, +} from "@osdk/shared.client"; +import type { FoundryPlatformMethod as $FoundryPlatformMethod } from "@osdk/shared.net.platformapi"; +import { foundryPlatformFetch as $foundryPlatformFetch } from "@osdk/shared.net.platformapi"; +import type { + BranchId, + CreateDatasetRequest, + Dataset, + DatasetRid, + TableExportFormat, + TransactionRid, +} from "../_components.js"; + +// + +const _createDataset: $FoundryPlatformMethod< + ( + $body: CreateDatasetRequest, + $queryParams?: { preview?: PreviewMode | undefined }, + ) => Promise +> = [1, "/v2/datasets", 3]; + +/** + * Creates a new Dataset. A default branch - `master` for most enrollments - will be created on the Dataset. + * + * Required Scopes: [api:datasets-write] + * URL: /v2/datasets + */ +export function createDataset( + $ctx: $Client | $ClientContext, + ...args: [ + $body: CreateDatasetRequest, + $queryParams?: { preview?: PreviewMode | undefined }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _createDataset, ...args); +} + +const _getDataset: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + $queryParams?: { preview?: PreviewMode | undefined }, + ) => Promise +> = [0, "/v2/datasets/{0}", 2]; + +/** + * Get the Dataset + * + * Required Scopes: [api:datasets-read] + * URL: /v2/datasets/{datasetRid} + */ +export function getDataset( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + + $queryParams?: { preview?: PreviewMode | undefined }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _getDataset, ...args); +} + +const _readTableDataset: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + $queryParams: { + branchId?: BranchId | undefined; + startTransactionRid?: TransactionRid | undefined; + endTransactionRid?: TransactionRid | undefined; + format: TableExportFormat; + columns: Array; + rowLimit?: number | undefined; + preview?: PreviewMode | undefined; + }, + ) => Promise +> = [0, "/v2/datasets/{0}/readTable", 2, , "application/octet-stream"]; + +/** + * Gets the content of a dataset as a table in the specified format. + * + * This endpoint currently does not support views (Virtual datasets composed of other datasets). + * + * Required Scopes: [api:datasets-read] + * URL: /v2/datasets/{datasetRid}/readTable + */ +export function readTableDataset( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + + $queryParams: { + branchId?: BranchId | undefined; + startTransactionRid?: TransactionRid | undefined; + endTransactionRid?: TransactionRid | undefined; + format: TableExportFormat; + columns: Array; + rowLimit?: number | undefined; + preview?: PreviewMode | undefined; + }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _readTableDataset, ...args); +} diff --git a/packages/foundry.datasets/src/public/File.ts b/packages/foundry.datasets/src/public/File.ts new file mode 100644 index 000000000..4308e196a --- /dev/null +++ b/packages/foundry.datasets/src/public/File.ts @@ -0,0 +1,288 @@ +/* + * Copyright 2024 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { + FilePath, + PageSize, + PageToken, + PreviewMode, +} from "@osdk/foundry.core"; +import type { + SharedClient as $Client, + SharedClientContext as $ClientContext, +} from "@osdk/shared.client"; +import type { FoundryPlatformMethod as $FoundryPlatformMethod } from "@osdk/shared.net.platformapi"; +import { foundryPlatformFetch as $foundryPlatformFetch } from "@osdk/shared.net.platformapi"; +import type { + BranchId, + DatasetRid, + File, + ListFilesResponse, + TransactionRid, + TransactionType, +} from "../_components.js"; + +// + +const _deleteFile: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + filePath: FilePath, + $queryParams?: { + branchId?: BranchId | undefined; + transactionRid?: TransactionRid | undefined; + preview?: PreviewMode | undefined; + }, + ) => Promise +> = [3, "/v2/datasets/{0}/files/{1}", 2]; + +/** + * Deletes a File from a Dataset. By default the file is deleted in a new transaction on the default + * branch - `master` for most enrollments. The file will still be visible on historical views. + * #### Advanced Usage + * See [Datasets Core Concepts](/docs/foundry/data-integration/datasets/) for details on using branches and transactions. + * To **delete a File from a specific Branch** specify the Branch's identifier as `branchId`. A new delete Transaction + * will be created and committed on this branch. + * To **delete a File using a manually opened Transaction**, specify the Transaction's resource identifier + * as `transactionRid`. The transaction must be of type `DELETE`. This is useful for deleting multiple files in a + * single transaction. See [createTransaction](/docs/foundry/api/datasets-resources/transactions/create-transaction/) to + * open a transaction. + * + * Required Scopes: [api:datasets-write] + * URL: /v2/datasets/{datasetRid}/files/{filePath} + */ +export function deleteFile( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + filePath: FilePath, + + $queryParams?: { + branchId?: BranchId | undefined; + transactionRid?: TransactionRid | undefined; + preview?: PreviewMode | undefined; + }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _deleteFile, ...args); +} + +const _listFiles: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + $queryParams?: { + branchId?: BranchId | undefined; + startTransactionRid?: TransactionRid | undefined; + endTransactionRid?: TransactionRid | undefined; + pageSize?: PageSize | undefined; + pageToken?: PageToken | undefined; + preview?: PreviewMode | undefined; + }, + ) => Promise +> = [0, "/v2/datasets/{0}/files", 2]; + +/** + * Lists Files contained in a Dataset. By default files are listed on the latest view of the default + * branch - `master` for most enrollments. + * #### Advanced Usage + * See [Datasets Core Concepts](/docs/foundry/data-integration/datasets/) for details on using branches and transactions. + * To **list files on a specific Branch** specify the Branch's identifier as `branchId`. This will include the most + * recent version of all files since the latest snapshot transaction, or the earliest ancestor transaction of the + * branch if there are no snapshot transactions. + * To **list files on the resolved view of a transaction** specify the Transaction's resource identifier + * as `endTransactionRid`. This will include the most recent version of all files since the latest snapshot + * transaction, or the earliest ancestor transaction if there are no snapshot transactions. + * To **list files on the resolved view of a range of transactions** specify the the start transaction's resource + * identifier as `startTransactionRid` and the end transaction's resource identifier as `endTransactionRid`. This + * will include the most recent version of all files since the `startTransactionRid` up to the `endTransactionRid`. + * Note that an intermediate snapshot transaction will remove all files from the view. Behavior is undefined when + * the start and end transactions do not belong to the same root-to-leaf path. + * To **list files on a specific transaction** specify the Transaction's resource identifier as both the + * `startTransactionRid` and `endTransactionRid`. This will include only files that were modified as part of that + * Transaction. + * + * Required Scopes: [api:datasets-read] + * URL: /v2/datasets/{datasetRid}/files + */ +export function listFiles( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + + $queryParams?: { + branchId?: BranchId | undefined; + startTransactionRid?: TransactionRid | undefined; + endTransactionRid?: TransactionRid | undefined; + pageSize?: PageSize | undefined; + pageToken?: PageToken | undefined; + preview?: PreviewMode | undefined; + }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _listFiles, ...args); +} + +const _getFile: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + filePath: FilePath, + $queryParams?: { + branchId?: BranchId | undefined; + startTransactionRid?: TransactionRid | undefined; + endTransactionRid?: TransactionRid | undefined; + preview?: PreviewMode | undefined; + }, + ) => Promise +> = [0, "/v2/datasets/{0}/files/{1}", 2]; + +/** + * Gets metadata about a File contained in a Dataset. By default this retrieves the file's metadata from the latest + * view of the default branch - `master` for most enrollments. + * #### Advanced Usage + * See [Datasets Core Concepts](/docs/foundry/data-integration/datasets/) for details on using branches and transactions. + * To **get a file's metadata from a specific Branch** specify the Branch's identifier as `branchId`. This will + * retrieve metadata for the most recent version of the file since the latest snapshot transaction, or the earliest + * ancestor transaction of the branch if there are no snapshot transactions. + * To **get a file's metadata from the resolved view of a transaction** specify the Transaction's resource identifier + * as `endTransactionRid`. This will retrieve metadata for the most recent version of the file since the latest snapshot + * transaction, or the earliest ancestor transaction if there are no snapshot transactions. + * To **get a file's metadata from the resolved view of a range of transactions** specify the the start transaction's + * resource identifier as `startTransactionRid` and the end transaction's resource identifier as `endTransactionRid`. + * This will retrieve metadata for the most recent version of the file since the `startTransactionRid` up to the + * `endTransactionRid`. Behavior is undefined when the start and end transactions do not belong to the same root-to-leaf path. + * To **get a file's metadata from a specific transaction** specify the Transaction's resource identifier as both the + * `startTransactionRid` and `endTransactionRid`. + * + * Required Scopes: [api:datasets-read] + * URL: /v2/datasets/{datasetRid}/files/{filePath} + */ +export function getFile( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + filePath: FilePath, + + $queryParams?: { + branchId?: BranchId | undefined; + startTransactionRid?: TransactionRid | undefined; + endTransactionRid?: TransactionRid | undefined; + preview?: PreviewMode | undefined; + }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _getFile, ...args); +} + +const _uploadFile: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + filePath: FilePath, + $body: Blob, + $queryParams?: { + branchId?: BranchId | undefined; + transactionType?: TransactionType | undefined; + transactionRid?: TransactionRid | undefined; + preview?: PreviewMode | undefined; + }, + ) => Promise +> = [1, "/v2/datasets/{0}/files/{1}/upload", 3, "application/octet-stream"]; + +/** + * Uploads a File to an existing Dataset. + * The body of the request must contain the binary content of the file and the `Content-Type` header must be `application/octet-stream`. + * By default the file is uploaded to a new transaction on the default branch - `master` for most enrollments. + * If the file already exists only the most recent version will be visible in the updated view. + * #### Advanced Usage + * See [Datasets Core Concepts](/docs/foundry/data-integration/datasets/) for details on using branches and transactions. + * To **upload a file to a specific Branch** specify the Branch's identifier as `branchId`. A new transaction will + * be created and committed on this branch. By default the TransactionType will be `UPDATE`, to override this + * default specify `transactionType` in addition to `branchId`. + * See [createBranch](/docs/foundry/api/datasets-resources/branches/create-branch/) to create a custom branch. + * To **upload a file on a manually opened transaction** specify the Transaction's resource identifier as + * `transactionRid`. This is useful for uploading multiple files in a single transaction. + * See [createTransaction](/docs/foundry/api/datasets-resources/transactions/create-transaction/) to open a transaction. + * + * Required Scopes: [api:datasets-write] + * URL: /v2/datasets/{datasetRid}/files/{filePath}/upload + */ +export function uploadFile( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + filePath: FilePath, + $body: Blob, + $queryParams?: { + branchId?: BranchId | undefined; + transactionType?: TransactionType | undefined; + transactionRid?: TransactionRid | undefined; + preview?: PreviewMode | undefined; + }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _uploadFile, ...args); +} + +const _getFileContent: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + filePath: FilePath, + $queryParams?: { + branchId?: BranchId | undefined; + startTransactionRid?: TransactionRid | undefined; + endTransactionRid?: TransactionRid | undefined; + preview?: PreviewMode | undefined; + }, + ) => Promise +> = [0, "/v2/datasets/{0}/files/{1}/content", 2, , "application/octet-stream"]; + +/** + * Gets the content of a File contained in a Dataset. By default this retrieves the file's content from the latest + * view of the default branch - `master` for most enrollments. + * #### Advanced Usage + * See [Datasets Core Concepts](/docs/foundry/data-integration/datasets/) for details on using branches and transactions. + * To **get a file's content from a specific Branch** specify the Branch's identifier as `branchId`. This will + * retrieve the content for the most recent version of the file since the latest snapshot transaction, or the + * earliest ancestor transaction of the branch if there are no snapshot transactions. + * To **get a file's content from the resolved view of a transaction** specify the Transaction's resource identifier + * as `endTransactionRid`. This will retrieve the content for the most recent version of the file since the latest + * snapshot transaction, or the earliest ancestor transaction if there are no snapshot transactions. + * To **get a file's content from the resolved view of a range of transactions** specify the the start transaction's + * resource identifier as `startTransactionRid` and the end transaction's resource identifier as `endTransactionRid`. + * This will retrieve the content for the most recent version of the file since the `startTransactionRid` up to the + * `endTransactionRid`. Note that an intermediate snapshot transaction will remove all files from the view. Behavior + * is undefined when the start and end transactions do not belong to the same root-to-leaf path. + * To **get a file's content from a specific transaction** specify the Transaction's resource identifier as both the + * `startTransactionRid` and `endTransactionRid`. + * + * Required Scopes: [api:datasets-read] + * URL: /v2/datasets/{datasetRid}/files/{filePath}/content + */ +export function getFileContent( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + filePath: FilePath, + + $queryParams?: { + branchId?: BranchId | undefined; + startTransactionRid?: TransactionRid | undefined; + endTransactionRid?: TransactionRid | undefined; + preview?: PreviewMode | undefined; + }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _getFileContent, ...args); +} diff --git a/packages/foundry.datasets/src/public/Transaction.ts b/packages/foundry.datasets/src/public/Transaction.ts new file mode 100644 index 000000000..56b573a58 --- /dev/null +++ b/packages/foundry.datasets/src/public/Transaction.ts @@ -0,0 +1,143 @@ +/* + * Copyright 2024 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { PreviewMode } from "@osdk/foundry.core"; +import type { + SharedClient as $Client, + SharedClientContext as $ClientContext, +} from "@osdk/shared.client"; +import type { FoundryPlatformMethod as $FoundryPlatformMethod } from "@osdk/shared.net.platformapi"; +import { foundryPlatformFetch as $foundryPlatformFetch } from "@osdk/shared.net.platformapi"; +import type { + BranchId, + CreateTransactionRequest, + DatasetRid, + Transaction, + TransactionRid, +} from "../_components.js"; + +// + +const _createTransaction: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + $body: CreateTransactionRequest, + $queryParams?: { + branchId?: BranchId | undefined; + preview?: PreviewMode | undefined; + }, + ) => Promise +> = [1, "/v2/datasets/{0}/transactions", 3]; + +/** + * Creates a Transaction on a Branch of a Dataset. + * + * Required Scopes: [api:datasets-write] + * URL: /v2/datasets/{datasetRid}/transactions + */ +export function createTransaction( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + $body: CreateTransactionRequest, + $queryParams?: { + branchId?: BranchId | undefined; + preview?: PreviewMode | undefined; + }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _createTransaction, ...args); +} + +const _getTransaction: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + transactionRid: TransactionRid, + $queryParams?: { preview?: PreviewMode | undefined }, + ) => Promise +> = [0, "/v2/datasets/{0}/transactions/{1}", 2]; + +/** + * Gets a Transaction of a Dataset. + * + * Required Scopes: [api:datasets-read] + * URL: /v2/datasets/{datasetRid}/transactions/{transactionRid} + */ +export function getTransaction( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + transactionRid: TransactionRid, + + $queryParams?: { preview?: PreviewMode | undefined }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _getTransaction, ...args); +} + +const _commitTransaction: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + transactionRid: TransactionRid, + $queryParams?: { preview?: PreviewMode | undefined }, + ) => Promise +> = [1, "/v2/datasets/{0}/transactions/{1}/commit", 2]; + +/** + * Commits an open Transaction. File modifications made on this Transaction are preserved and the Branch is + * updated to point to the Transaction. + * + * Required Scopes: [api:datasets-write] + * URL: /v2/datasets/{datasetRid}/transactions/{transactionRid}/commit + */ +export function commitTransaction( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + transactionRid: TransactionRid, + + $queryParams?: { preview?: PreviewMode | undefined }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _commitTransaction, ...args); +} + +const _abortTransaction: $FoundryPlatformMethod< + ( + datasetRid: DatasetRid, + transactionRid: TransactionRid, + $queryParams?: { preview?: PreviewMode | undefined }, + ) => Promise +> = [1, "/v2/datasets/{0}/transactions/{1}/abort", 2]; + +/** + * Aborts an open Transaction. File modifications made on this Transaction are not preserved and the Branch is + * not updated. + * + * Required Scopes: [api:datasets-write] + * URL: /v2/datasets/{datasetRid}/transactions/{transactionRid}/abort + */ +export function abortTransaction( + $ctx: $Client | $ClientContext, + ...args: [ + datasetRid: DatasetRid, + transactionRid: TransactionRid, + + $queryParams?: { preview?: PreviewMode | undefined }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _abortTransaction, ...args); +} diff --git a/packages/foundry.datasets/tsconfig.json b/packages/foundry.datasets/tsconfig.json new file mode 100644 index 000000000..6c1ec6f17 --- /dev/null +++ b/packages/foundry.datasets/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "@osdk/monorepo.tsconfig/base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "build/esm" + }, + "include": [ + "./src/**/*" + ], + "references": [] +} diff --git a/packages/foundry.datasets/tsup.config.js b/packages/foundry.datasets/tsup.config.js new file mode 100644 index 000000000..cfc2b707b --- /dev/null +++ b/packages/foundry.datasets/tsup.config.js @@ -0,0 +1,23 @@ +/* + * Copyright 2023 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { defineConfig } from "tsup"; + +export default defineConfig(async (options) => + (await import("@osdk/monorepo.tsup")).default(options, { + esmOnly: true, + }) +); diff --git a/packages/foundry.security/CHANGELOG.md b/packages/foundry.security/CHANGELOG.md deleted file mode 100644 index fd99d2c45..000000000 --- a/packages/foundry.security/CHANGELOG.md +++ /dev/null @@ -1,69 +0,0 @@ -# @osdk/foundry.security - -## 1.1.0-beta.2 - -### Minor Changes - -- bc89b62: Spelling fixes and spell check in CI - -### Patch Changes - -- Updated dependencies [bc89b62] - - @osdk/shared.net.platformapi@0.2.0-beta.2 - - @osdk/foundry.core@1.1.0-beta.2 - -## 1.1.0-beta.1 - -### Minor Changes - -- 388dba9: Change all internal dependencies to be tilde not caret -- a8dc51a: Modified codegen so that return types now include Blobs. - -### Patch Changes - -- Updated dependencies [388dba9] -- Updated dependencies [a8dc51a] - - @osdk/shared.net.platformapi@0.2.0-beta.1 - - @osdk/foundry.core@1.1.0-beta.1 - -## 1.1.0-beta.0 - -### Minor Changes - -- af1d316: Added support to omni api code gen for binary type bodies in requests. - -### Patch Changes - -- Updated dependencies [af1d316] -- Updated dependencies [94833a7] - - @osdk/foundry.core@1.1.0-beta.0 - - @osdk/shared.net.platformapi@0.2.0-beta.0 - -## 1.0.0 - -### Minor Changes - -- 1914fd4: Updates "meUser" to be "getCurrentUser" - -### Patch Changes - -- Updated dependencies [0a64def] -- Updated dependencies [f9b3c72] -- Updated dependencies [978ecd5] -- Updated dependencies [978ecd5] -- Updated dependencies [c9f3214] - - @osdk/client@0.19.0 - - @osdk/api@1.8.0 - - @osdk/foundry.core@1.0.0 - - @osdk/shared.net@1.11.0 - -## 0.1.0 - -### Minor Changes - -- e0eb7f8: Prepare foundry platform sdk for shipping - -### Patch Changes - -- Updated dependencies [e0eb7f8] - - @osdk/foundry.core@0.1.0 diff --git a/packages/foundry.security/src/_components.ts b/packages/foundry.security/src/_components.ts deleted file mode 100644 index 9751e4e59..000000000 --- a/packages/foundry.security/src/_components.ts +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright 2024 Palantir Technologies, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import type { - AttributeName, - AttributeValues, - Group, - GroupMember, - GroupMembership, - GroupMembershipExpiration, - GroupName, - GroupSearchFilter, - OrganizationRid, - PageSize, - PageToken, - PrincipalId, - User, - UserSearchFilter, -} from "@osdk/foundry.core"; - -export type LooselyBrandedString = string & { - __LOOSE_BRAND?: T; -}; - -/** - * Log Safety: SAFE - */ -export interface AddGroupMembersRequest { - principalIds: Array; - expiration?: GroupMembershipExpiration; -} - -/** - * Log Safety: UNSAFE - */ -export interface CreateGroupRequest { - name: GroupName; - organizations: Array; - description?: string; - attributes: Record; -} - -/** - * Log Safety: SAFE - */ -export interface ListGroupMembersResponse { - data: Array; - nextPageToken?: PageToken; -} - -/** - * Log Safety: SAFE - */ -export interface ListGroupMembershipsResponse { - data: Array; - nextPageToken?: PageToken; -} - -/** - * Log Safety: UNSAFE - */ -export interface ListGroupsResponse { - data: Array; - nextPageToken?: PageToken; -} - -/** - * Log Safety: UNSAFE - */ -export interface ListUsersResponse { - data: Array; - nextPageToken?: PageToken; -} - -/** - * Log Safety: SAFE - */ -export interface RemoveGroupMembersRequest { - principalIds: Array; -} - -/** - * Log Safety: UNSAFE - */ -export interface SearchGroupsRequest { - where: GroupSearchFilter; - pageSize?: PageSize; - pageToken?: PageToken; -} - -/** - * Log Safety: UNSAFE - */ -export interface SearchUsersRequest { - where: UserSearchFilter; - pageSize?: PageSize; - pageToken?: PageToken; -} diff --git a/packages/foundry.thirdpartyapplications/package.json b/packages/foundry.thirdpartyapplications/package.json index 08728fe11..c52778bc1 100644 --- a/packages/foundry.thirdpartyapplications/package.json +++ b/packages/foundry.thirdpartyapplications/package.json @@ -54,7 +54,7 @@ "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.866.0", + "minVersion": "1.891.0", "maxVersion": "1.x.x" } } diff --git a/packages/foundry.thirdpartyapplications/src/_components.ts b/packages/foundry.thirdpartyapplications/src/_components.ts index da548cca5..5c77c9341 100644 --- a/packages/foundry.thirdpartyapplications/src/_components.ts +++ b/packages/foundry.thirdpartyapplications/src/_components.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import type { PageToken, Version, VersionVersion } from "@osdk/foundry.core"; +import type { PageToken } from "@osdk/foundry.core"; export type LooselyBrandedString = string & { __LOOSE_BRAND?: T; @@ -34,3 +34,46 @@ export interface ListVersionsResponse { data: Array; nextPageToken?: PageToken; } + +/** + * A subdomain from which a website is served. + * + * Log Safety: UNSAFE + */ +export type Subdomain = LooselyBrandedString<"Subdomain">; + +/** + * Log Safety: SAFE + */ +export interface ThirdPartyApplication { + rid: ThirdPartyApplicationRid; +} + +/** + * An RID identifying a third-party application created in Developer Console. + * + * Log Safety: SAFE + */ +export type ThirdPartyApplicationRid = LooselyBrandedString< + "ThirdPartyApplicationRid" +>; + +/** + * Log Safety: UNSAFE + */ +export interface Version { + version: VersionVersion; +} + +/** + * Log Safety: UNSAFE + */ +export type VersionVersion = LooselyBrandedString<"VersionVersion">; + +/** + * Log Safety: UNSAFE + */ +export interface Website { + deployedVersion?: VersionVersion; + subdomains: Array; +} diff --git a/packages/foundry.thirdpartyapplications/src/index.ts b/packages/foundry.thirdpartyapplications/src/index.ts index 905bfe08b..56369fbad 100644 --- a/packages/foundry.thirdpartyapplications/src/index.ts +++ b/packages/foundry.thirdpartyapplications/src/index.ts @@ -17,6 +17,12 @@ export type { DeployWebsiteRequest, ListVersionsResponse, + Subdomain, + ThirdPartyApplication, + ThirdPartyApplicationRid, + Version, + VersionVersion, + Website, } from "./_components.js"; export * as ThirdPartyApplications from "./public/ThirdPartyApplication.js"; export * as Versions from "./public/Version.js"; diff --git a/packages/foundry.thirdpartyapplications/src/public/ThirdPartyApplication.ts b/packages/foundry.thirdpartyapplications/src/public/ThirdPartyApplication.ts index c2325c0e0..7f339f233 100644 --- a/packages/foundry.thirdpartyapplications/src/public/ThirdPartyApplication.ts +++ b/packages/foundry.thirdpartyapplications/src/public/ThirdPartyApplication.ts @@ -14,17 +14,17 @@ * limitations under the License. */ -import type { - PreviewMode, - ThirdPartyApplication, - ThirdPartyApplicationRid, -} from "@osdk/foundry.core"; +import type { PreviewMode } from "@osdk/foundry.core"; import type { SharedClient as $Client, SharedClientContext as $ClientContext, } from "@osdk/shared.client"; import type { FoundryPlatformMethod as $FoundryPlatformMethod } from "@osdk/shared.net.platformapi"; import { foundryPlatformFetch as $foundryPlatformFetch } from "@osdk/shared.net.platformapi"; +import type { + ThirdPartyApplication, + ThirdPartyApplicationRid, +} from "../_components.js"; // diff --git a/packages/foundry.thirdpartyapplications/src/public/Version.ts b/packages/foundry.thirdpartyapplications/src/public/Version.ts index b0917055e..8624ac7d3 100644 --- a/packages/foundry.thirdpartyapplications/src/public/Version.ts +++ b/packages/foundry.thirdpartyapplications/src/public/Version.ts @@ -14,21 +14,19 @@ * limitations under the License. */ -import type { - PageSize, - PageToken, - PreviewMode, - ThirdPartyApplicationRid, - Version, - VersionVersion, -} from "@osdk/foundry.core"; +import type { PageSize, PageToken, PreviewMode } from "@osdk/foundry.core"; import type { SharedClient as $Client, SharedClientContext as $ClientContext, } from "@osdk/shared.client"; import type { FoundryPlatformMethod as $FoundryPlatformMethod } from "@osdk/shared.net.platformapi"; import { foundryPlatformFetch as $foundryPlatformFetch } from "@osdk/shared.net.platformapi"; -import type { ListVersionsResponse } from "../_components.js"; +import type { + ListVersionsResponse, + ThirdPartyApplicationRid, + Version, + VersionVersion, +} from "../_components.js"; // diff --git a/packages/foundry.thirdpartyapplications/src/public/Website.ts b/packages/foundry.thirdpartyapplications/src/public/Website.ts index 6a1f19c2c..e30e0f92f 100644 --- a/packages/foundry.thirdpartyapplications/src/public/Website.ts +++ b/packages/foundry.thirdpartyapplications/src/public/Website.ts @@ -14,18 +14,18 @@ * limitations under the License. */ -import type { - PreviewMode, - ThirdPartyApplicationRid, - Website, -} from "@osdk/foundry.core"; +import type { PreviewMode } from "@osdk/foundry.core"; import type { SharedClient as $Client, SharedClientContext as $ClientContext, } from "@osdk/shared.client"; import type { FoundryPlatformMethod as $FoundryPlatformMethod } from "@osdk/shared.net.platformapi"; import { foundryPlatformFetch as $foundryPlatformFetch } from "@osdk/shared.net.platformapi"; -import type { DeployWebsiteRequest } from "../_components.js"; +import type { + DeployWebsiteRequest, + ThirdPartyApplicationRid, + Website, +} from "../_components.js"; // diff --git a/packages/foundry/package.json b/packages/foundry/package.json index f1e56d309..f44b499b9 100644 --- a/packages/foundry/package.json +++ b/packages/foundry/package.json @@ -26,8 +26,9 @@ "typecheck": "monorepo.tool.typecheck esm" }, "dependencies": { + "@osdk/foundry.admin": "workspace:*", "@osdk/foundry.core": "workspace:*", - "@osdk/foundry.security": "workspace:*", + "@osdk/foundry.datasets": "workspace:*", "@osdk/foundry.thirdpartyapplications": "workspace:*", "@osdk/shared.client": "workspace:~", "@osdk/shared.net.platformapi": "workspace:~" @@ -56,7 +57,7 @@ "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.866.0", + "minVersion": "1.891.0", "maxVersion": "1.x.x" } } diff --git a/packages/foundry/src/index.ts b/packages/foundry/src/index.ts index 2dc23b204..89aecd40c 100644 --- a/packages/foundry/src/index.ts +++ b/packages/foundry/src/index.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +export * as Admin from "@osdk/foundry.admin"; export * from "@osdk/foundry.core"; -export * as Security from "@osdk/foundry.security"; +export * as Datasets from "@osdk/foundry.datasets"; export * as ThirdPartyApplications from "@osdk/foundry.thirdpartyapplications"; diff --git a/packages/internal.foundry.core/package.json b/packages/internal.foundry.core/package.json index 224797969..32f721340 100644 --- a/packages/internal.foundry.core/package.json +++ b/packages/internal.foundry.core/package.json @@ -55,7 +55,7 @@ "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.866.0", + "minVersion": "1.891.0", "maxVersion": "1.x.x" } } diff --git a/packages/internal.foundry.core/src/_components.ts b/packages/internal.foundry.core/src/_components.ts index 263710b24..ac29a6c08 100644 --- a/packages/internal.foundry.core/src/_components.ts +++ b/packages/internal.foundry.core/src/_components.ts @@ -72,6 +72,11 @@ export type SearchJsonQuery = | ({ type: "anyTerm" } & AnyTermQuery) | ({ type: "allTerms" } & AllTermsQuery); +/** + * Log Safety: SAFE + */ +export interface ByteType {} + /** * The top left and bottom right coordinate points that make up the bounding box. * @@ -82,11 +87,6 @@ export interface BoundingBoxValue { bottomRight: WithinBoundingBoxPoint; } -/** - * Log Safety: SAFE - */ -export interface ByteType {} - /** * Returns objects where the specified field is less than or equal to a value. * @@ -105,8 +105,8 @@ export type ObjectPrimaryKey = Record; /** * Log Safety: UNSAFE */ -export interface BatchApplyActionResponseV2 { - edits?: ActionResults; +export interface TimeseriesType { + itemType: TimeSeriesItemType; } /** @@ -122,8 +122,8 @@ export interface DeleteLinkRule { /** * Log Safety: UNSAFE */ -export interface TimeseriesType { - itemType: TimeSeriesItemType; +export interface BatchApplyActionResponseV2 { + edits?: ActionResults; } /** @@ -340,15 +340,15 @@ export interface LoadObjectSetRequestV2 { /** * Log Safety: UNSAFE */ -export interface StreamTimeSeriesPointsResponse { - data: Array; +export interface QueryArrayType { + subType: QueryDataType; } /** * Log Safety: UNSAFE */ -export interface QueryArrayType { - subType: QueryDataType; +export interface StreamTimeSeriesPointsResponse { + data: Array; } /** @@ -493,14 +493,6 @@ export interface MinAggregationV2 { direction?: OrderByDirection; } -/** - * Log Safety: UNSAFE - */ -export interface AddObject { - primaryKey: PropertyValue; - objectType: ObjectTypeApiName; -} - /** * The representation of an attachment. * @@ -522,6 +514,14 @@ export interface OntologyStructField { required: boolean; } +/** + * Log Safety: UNSAFE + */ +export interface AddObject { + primaryKey: PropertyValue; + objectType: ObjectTypeApiName; +} + /** * A union of all the types supported by query aggregation ranges. * @@ -615,15 +615,6 @@ export interface ListAttachmentsResponseV2 { */ export interface FilesystemResource {} -/** - * Log Safety: UNSAFE - */ -export interface ListObjectsResponseV2 { - nextPageToken?: PageToken; - data: Array; - totalCount: TotalCount; -} - /** * Log Safety: SAFE */ @@ -632,15 +623,12 @@ export interface ObjectSetReferenceType { } /** - * Computes the approximate percentile value for the provided field. - * * Log Safety: UNSAFE */ -export interface ApproximatePercentileAggregationV2 { - field: PropertyApiName; - name?: AggregationMetricName; - approximatePercentile: number; - direction?: OrderByDirection; +export interface ListObjectsResponseV2 { + nextPageToken?: PageToken; + data: Array; + totalCount: TotalCount; } /** @@ -672,6 +660,18 @@ This filter is supported on all property types. */ export type PropertyFilter = LooselyBrandedString<"PropertyFilter">; +/** + * Computes the approximate percentile value for the provided field. + * + * Log Safety: UNSAFE + */ +export interface ApproximatePercentileAggregationV2 { + field: PropertyApiName; + name?: AggregationMetricName; + approximatePercentile: number; + direction?: OrderByDirection; +} + /** * Log Safety: UNSAFE */ @@ -794,22 +794,22 @@ export interface GtQueryV2 { export type RelativeTimeRelation = "BEFORE" | "AFTER"; /** - * Returns objects where the specified array contains a value. + * Returns objects where the query is not satisfied. * * Log Safety: UNSAFE */ -export interface ContainsQueryV2 { - field: PropertyApiName; - value: PropertyValue; +export interface NotQuery { + value: SearchJsonQuery; } /** - * Returns objects where the query is not satisfied. + * Returns objects where the specified array contains a value. * * Log Safety: UNSAFE */ -export interface NotQuery { - value: SearchJsonQuery; +export interface ContainsQueryV2 { + field: PropertyApiName; + value: PropertyValue; } /** @@ -1065,6 +1065,16 @@ export type ObjectSetRid = LooselyBrandedString<"ObjectSetRid">; */ export type DatasetRid = LooselyBrandedString<"DatasetRid">; +/** + * Log Safety: UNSAFE + */ +export interface CreateLinkRule { + linkTypeApiNameAtoB: LinkTypeApiName; + linkTypeApiNameBtoA: LinkTypeApiName; + aSideObjectTypeApiName: ObjectTypeApiName; + bSideObjectTypeApiName: ObjectTypeApiName; +} + /** * Log Safety: UNSAFE */ @@ -1078,16 +1088,6 @@ export interface LinkTypeSideV2 { linkTypeRid: LinkTypeRid; } -/** - * Log Safety: UNSAFE - */ -export interface CreateLinkRule { - linkTypeApiNameAtoB: LinkTypeApiName; - linkTypeApiNameBtoA: LinkTypeApiName; - aSideObjectTypeApiName: ObjectTypeApiName; - bSideObjectTypeApiName: ObjectTypeApiName; -} - /** * GeoJSon fundamental geometry construct. A position is an array of numbers. There MUST be two or more elements. @@ -1295,6 +1295,14 @@ export type OntologyApiName = LooselyBrandedString<"OntologyApiName">; */ export interface BooleanType {} +/** + * Represents the value of a property filter. For instance, false is the FilterValue in +properties.{propertyApiName}.isNull=false. + * + * Log Safety: UNSAFE + */ +export type FilterValue = LooselyBrandedString<"FilterValue">; + /** * The attachment metadata response * @@ -1304,14 +1312,6 @@ export type AttachmentMetadataResponse = | ({ type: "single" } & AttachmentV2) | ({ type: "multiple" } & ListAttachmentsResponseV2); -/** - * Represents the value of a property filter. For instance, false is the FilterValue in -properties.{propertyApiName}.isNull=false. - * - * Log Safety: UNSAFE - */ -export type FilterValue = LooselyBrandedString<"FilterValue">; - /** * Abstract type for all GeoJSon object except Feature and FeatureCollection * @@ -1429,14 +1429,10 @@ export interface ListQueryTypesResponseV2 { /** * Log Safety: UNSAFE */ -export type ObjectUpdate = - | ({ type: "object" } & FoundryObject) - | ({ type: "reference" } & ReferenceUpdate); - -/** - * Log Safety: UNSAFE - */ -export type SdkPackageName = LooselyBrandedString<"SdkPackageName">; +export interface ObjectUpdate { + object: OntologyObjectV2; + state: ObjectState; +} /** * The name of the object type in the API in camelCase format. To find the API name for your Object Type, use the @@ -1446,6 +1442,11 @@ List object types endpoint or check the Ontology Manager. */ export type ObjectTypeApiName = LooselyBrandedString<"ObjectTypeApiName">; +/** + * Log Safety: UNSAFE + */ +export type SdkPackageName = LooselyBrandedString<"SdkPackageName">; + /** * Log Safety: UNSAFE */ @@ -1581,6 +1582,14 @@ export interface ActionParameterV2 { required: boolean; } +/** + * Log Safety: UNSAFE + */ +export interface SearchOrdering { + field: FieldNameV1; + direction?: string; +} + /** * The parameter value must have a length within the defined range. This range is always inclusive. @@ -1594,14 +1603,6 @@ export interface StringLengthConstraint { gte?: any; } -/** - * Log Safety: UNSAFE - */ -export interface SearchOrdering { - field: FieldNameV1; - direction?: string; -} - /** * Log Safety: SAFE */ @@ -1623,13 +1624,6 @@ export type DistanceUnit = */ export type QueryApiName = LooselyBrandedString<"QueryApiName">; -/** - * Log Safety: UNSAFE - */ -export interface QueryTwoDimensionalAggregation { - groups: Array; -} - /** * Returns objects where the specified field contains the provided value as a substring. * @@ -1640,6 +1634,13 @@ export interface PhraseQuery { value: string; } +/** + * Log Safety: UNSAFE + */ +export interface QueryTwoDimensionalAggregation { + groups: Array; +} + /** * A string indicating the type of each data value. Note that these types can be nested, for example an array of structs. @@ -1668,22 +1669,22 @@ structs. export type ValueType = LooselyBrandedString<"ValueType">; /** - * A reference to the linked interface type. + * Computes an approximate number of distinct values for the provided field. * * Log Safety: UNSAFE */ -export interface LinkedInterfaceTypeApiName { - apiName: InterfaceTypeApiName; +export interface ApproximateDistinctAggregation { + field: FieldNameV1; + name?: AggregationMetricName; } /** - * Computes an approximate number of distinct values for the provided field. + * A reference to the linked interface type. * * Log Safety: UNSAFE */ -export interface ApproximateDistinctAggregation { - field: FieldNameV1; - name?: AggregationMetricName; +export interface LinkedInterfaceTypeApiName { + apiName: InterfaceTypeApiName; } /** @@ -1707,15 +1708,6 @@ export interface Error { args: Array; } -/** - * Returns objects where every query is satisfied. - * - * Log Safety: UNSAFE - */ -export interface AndQueryV2 { - value: Array; -} - /** * The parameter value must be the primary key of an object found within an object set. * @@ -1724,13 +1716,12 @@ export interface AndQueryV2 { export interface ObjectQueryResultConstraint {} /** + * Returns objects where every query is satisfied. + * * Log Safety: UNSAFE */ -export interface FoundryObject { - apiName: ObjectTypeApiName; - primaryKey: ObjectPrimaryKey; - properties: Record; - state: ObjectState; +export interface AndQueryV2 { + value: Array; } /** @@ -1832,6 +1823,13 @@ export interface MinAggregation { name?: AggregationMetricName; } +/** + * Log Safety: UNSAFE + */ +export interface QueryStructType { + fields: Array; +} + /** * GeoJSon 'Feature' object * @@ -1844,13 +1842,6 @@ export interface Feature { bbox?: BBox; } -/** - * Log Safety: UNSAFE - */ -export interface QueryStructType { - fields: Array; -} - /** * Log Safety: SAFE */ @@ -1879,7 +1870,7 @@ export type TimeUnit = | "QUARTERS"; /** - * The name of a file or attachment. + * The name of a File within Foundry. Examples: my-file.txt, my-file.jpg, dataframe.snappy.parquet. * * Log Safety: UNSAFE */ @@ -1944,7 +1935,7 @@ export interface SubscriptionError { */ export interface ObjectSetUpdates { id: SubscriptionId; - updates: Array; + updates: Array; } /** @@ -1963,18 +1954,18 @@ export type BBox = Array; /** * Log Safety: UNSAFE */ -export interface Arg { - name: string; - value: string; +export interface AggregateObjectsRequest { + aggregation: Array; + query?: SearchJsonQuery; + groupBy: Array; } /** * Log Safety: UNSAFE */ -export interface AggregateObjectsRequest { - aggregation: Array; - query?: SearchJsonQuery; - groupBy: Array; +export interface Arg { + name: string; + value: string; } /** @@ -2117,20 +2108,21 @@ export type AggregationGroupByV2 = | ({ type: "duration" } & AggregationDurationGroupingV2); /** - * Represents the API response when loading an ObjectSet. - * * Log Safety: UNSAFE */ -export interface LoadObjectSetResponseV2 { - data: Array; +export interface SearchObjectsResponse { + data: Array; nextPageToken?: PageToken; + totalCount: TotalCount; } /** + * Represents the API response when loading an ObjectSet. + * * Log Safety: UNSAFE */ -export interface SearchObjectsResponse { - data: Array; +export interface LoadObjectSetResponseV2 { + data: Array; nextPageToken?: PageToken; totalCount: TotalCount; } @@ -2190,11 +2182,6 @@ export interface CountAggregation { name?: AggregationMetricName; } -/** - * Log Safety: UNSAFE - */ -export type PolygonValue = { type: "Polygon" } & Polygon; - /** * Returns objects where the specified field is greater than or equal to a value. * @@ -2205,6 +2192,11 @@ export interface GteQuery { value: PropertyValue; } +/** + * Log Safety: UNSAFE + */ +export type PolygonValue = { type: "Polygon" } & Polygon; + /** * Log Safety: SAFE */ @@ -2390,16 +2382,16 @@ export type InterfaceLinkTypeCardinality = "ONE" | "MANY"; /** * Log Safety: UNSAFE */ -export interface TwoDimensionalAggregation { - keyType: QueryAggregationKeyType; - valueType: QueryAggregationValueType; +export interface OntologyArrayType { + itemType: OntologyDataType; } /** * Log Safety: UNSAFE */ -export interface OntologyArrayType { - itemType: OntologyDataType; +export interface TwoDimensionalAggregation { + keyType: QueryAggregationKeyType; + valueType: QueryAggregationValueType; } /** @@ -2545,6 +2537,13 @@ export interface ContainsAnyTermQuery { */ export type OntologyIdentifier = LooselyBrandedString<"OntologyIdentifier">; +/** + * Log Safety: SAFE + */ +export type AggregationAccuracyRequest = + | "REQUIRE_ACCURATE" + | "ALLOW_APPROXIMATE"; + /** * Log Safety: UNSAFE */ @@ -2553,13 +2552,6 @@ export interface LineString { bbox?: BBox; } -/** - * Log Safety: SAFE - */ -export type AggregationAccuracyRequest = - | "REQUIRE_ACCURATE" - | "ALLOW_APPROXIMATE"; - /** * Returns objects where the specified field is less than a value. * @@ -2618,13 +2610,6 @@ export interface StringRegexMatchConstraint { configuredFailureMessage?: string; } -/** - * Log Safety: UNSAFE - */ -export type ActionResults = - | ({ type: "edits" } & ObjectEdits) - | ({ type: "largeScaleEdits" } & ObjectTypeEdits); - /** * The page token indicates where to start paging. This should be omitted from the first page's request. To fetch the next page, clients should take the value from the nextPageToken field of the previous response @@ -2634,6 +2619,13 @@ and populate the next request's pageToken field with it. */ export type PageToken = LooselyBrandedString<"PageToken">; +/** + * Log Safety: UNSAFE + */ +export type ActionResults = + | ({ type: "edits" } & ObjectEdits) + | ({ type: "largeScaleEdits" } & ObjectTypeEdits); + /** * Log Safety: UNSAFE */ @@ -2733,6 +2725,11 @@ export type AsyncActionOperation = undefined; // {"name":"AsyncActionOperation", */ export type RequestId = string; +/** + * Log Safety: SAFE + */ +export interface ShortType {} + /** * Returns objects where the specified field starts with the provided value. * @@ -2743,11 +2740,6 @@ export interface StartsWithQuery { value: string; } -/** - * Log Safety: SAFE - */ -export interface ShortType {} - /** * Log Safety: SAFE */ @@ -2763,11 +2755,6 @@ export interface ObjectSetSearchAroundType { link: LinkTypeApiName; } -/** - * Log Safety: UNSAFE - */ -export type FeaturePropertyKey = LooselyBrandedString<"FeaturePropertyKey">; - /** * Divides objects into groups according to an exact value. * @@ -2778,6 +2765,11 @@ export interface AggregationExactGroupingV2 { maxGroupCount?: number; } +/** + * Log Safety: UNSAFE + */ +export type FeaturePropertyKey = LooselyBrandedString<"FeaturePropertyKey">; + /** * Returns objects where the specified array contains a value. * @@ -2843,16 +2835,11 @@ export interface ListLinkedObjectsResponseV2 { export interface QosError {} /** - * The representation of an attachment. - * * Log Safety: UNSAFE */ -export interface AttachmentV2 { - rid: AttachmentRid; - filename: Filename; - sizeBytes: SizeBytes; - mediaType: MediaType; -} +export type ObjectSetUpdate = + | ({ type: "object" } & ObjectUpdate) + | ({ type: "reference" } & ReferenceUpdate); /** * The updated data value associated with an object instance's external reference. The object instance @@ -2868,6 +2855,18 @@ export interface ReferenceUpdate { value: ReferenceValue; } +/** + * The representation of an attachment. + * + * Log Safety: UNSAFE + */ +export interface AttachmentV2 { + rid: AttachmentRid; + filename: Filename; + sizeBytes: SizeBytes; + mediaType: MediaType; +} + /** * Specifies an aggregation function. * @@ -2908,6 +2907,11 @@ export interface WithinPolygonQuery { value: PolygonValue; } +/** + * Log Safety: SAFE + */ +export interface AsyncApplyActionResponse {} + /** * Returns objects where the specified field does not intersect the polygon provided. * @@ -2918,11 +2922,6 @@ export interface DoesNotIntersectPolygonQuery { value: PolygonValue; } -/** - * Log Safety: SAFE - */ -export interface AsyncApplyActionResponse {} - /** * GeoJSon fundamental geometry construct, array of two or more positions. * @@ -3017,11 +3016,6 @@ export interface QueryParameterV2 { dataType: QueryDataType; } -/** - * Log Safety: UNSAFE - */ -export type WithinBoundingBoxPoint = { type: "Point" } & GeoPoint; - /** * Specifies a range from an inclusive start value to an exclusive end value. * @@ -3032,6 +3026,11 @@ export interface AggregationRangeV2 { endValue: any; } +/** + * Log Safety: UNSAFE + */ +export type WithinBoundingBoxPoint = { type: "Point" } & GeoPoint; + /** * Specifies the ordering of search results by a field and an ordering direction. * @@ -3053,6 +3052,11 @@ export type UpdatedTime = LooselyBrandedString<"UpdatedTime">; */ export type FolderRid = LooselyBrandedString<"FolderRid">; +/** + * Log Safety: SAFE + */ +export type ErrorName = LooselyBrandedString<"ErrorName">; + /** * Log Safety: UNSAFE */ @@ -3061,11 +3065,6 @@ export interface MultiPoint { bbox?: BBox; } -/** - * Log Safety: SAFE - */ -export type ErrorName = LooselyBrandedString<"ErrorName">; - /** * Log Safety: UNSAFE */ @@ -3073,11 +3072,6 @@ export interface OntologyStructType { fields: Array; } -/** - * Log Safety: SAFE - */ -export type ReturnEditsMode = "ALL" | "NONE"; - /** * Represents an action type in the Ontology. * @@ -3100,6 +3094,11 @@ export interface ActionType { */ export type CreatedTime = LooselyBrandedString<"CreatedTime">; +/** + * Log Safety: SAFE + */ +export type ReturnEditsMode = "ALL" | "NONE"; + /** * Resolved data values pointed to by a reference. * @@ -3125,11 +3124,11 @@ export interface NestedQueryAggregation { } /** - * Setting fuzzy to true allows approximate matching in search queries that support it. + * The name of a field in a Struct. * - * Log Safety: SAFE + * Log Safety: UNSAFE */ -export type FuzzyV2 = boolean; +export type StructFieldName = LooselyBrandedString<"StructFieldName">; /** * The parameter expects an array of values and the size of the array must fall within the defined range. @@ -3144,11 +3143,11 @@ export interface ArraySizeConstraint { } /** - * The name of a field in a Struct. + * Setting fuzzy to true allows approximate matching in search queries that support it. * - * Log Safety: UNSAFE + * Log Safety: SAFE */ -export type StructFieldName = LooselyBrandedString<"StructFieldName">; +export type FuzzyV2 = boolean; /** * Log Safety: UNSAFE @@ -3262,16 +3261,6 @@ export interface BatchApplyActionRequest { requests: Array; } -/** - * Returns objects based on the existence of the specified field. - * - * Log Safety: UNSAFE - */ -export interface IsNullQueryV2 { - field: PropertyApiName; - value: boolean; -} - /** * Log Safety: SAFE */ @@ -3284,6 +3273,16 @@ export type AsyncActionStatus = | "EXECUTING_SIDE_EFFECT_WEBHOOK" | "SENDING_NOTIFICATIONS"; +/** + * Returns objects based on the existence of the specified field. + * + * Log Safety: UNSAFE + */ +export interface IsNullQueryV2 { + field: PropertyApiName; + value: boolean; +} + /** * The unique resource identifier of an action type, useful for interacting with other Foundry APIs. * @@ -3403,13 +3402,6 @@ export interface ListQueryTypesResponse { data: Array; } -/** - * The unique resource identifier of an interface, useful for interacting with other Foundry APIs. - * - * Log Safety: SAFE - */ -export type InterfaceTypeRid = LooselyBrandedString<"InterfaceTypeRid">; - /** * Log Safety: UNSAFE */ @@ -3422,6 +3414,13 @@ export interface LinkTypeSide { foreignKeyPropertyApiName?: PropertyApiName; } +/** + * The unique resource identifier of an interface, useful for interacting with other Foundry APIs. + * + * Log Safety: SAFE + */ +export type InterfaceTypeRid = LooselyBrandedString<"InterfaceTypeRid">; + /** * The parameter cannot be evaluated because it depends on another parameter or object set that can't be evaluated. This can happen when a parameter's allowed values are defined by another parameter that is missing or invalid. @@ -3437,6 +3436,11 @@ export interface UnevaluableConstraint {} */ export type DisplayName = LooselyBrandedString<"DisplayName">; +/** + * Log Safety: SAFE + */ +export interface AnyType {} + /** * A constraint that an action parameter value must satisfy in order to be considered valid. Constraints can be configured on action parameters in the Ontology Manager. @@ -3468,11 +3472,6 @@ export type ParameterEvaluatedConstraint = | ({ type: "stringRegexMatch" } & StringRegexMatchConstraint) | ({ type: "unevaluable" } & UnevaluableConstraint); -/** - * Log Safety: SAFE - */ -export interface AnyType {} - /** * The path to a File within Foundry. Examples: my-file.txt, path/to/my-file.jpg, dataframe.snappy.parquet. * @@ -3503,29 +3502,29 @@ export interface ActionParameterArrayType { } /** - * The unique resource identifier of an shared property type, useful for interacting with other Foundry APIs. + * The unique resource identifier of an object type, useful for interacting with other Foundry APIs. * * Log Safety: SAFE */ -export type SharedPropertyTypeRid = LooselyBrandedString< - "SharedPropertyTypeRid" ->; +export type ObjectTypeRid = LooselyBrandedString<"ObjectTypeRid">; /** - * The unique resource identifier of an object type, useful for interacting with other Foundry APIs. + * The unique resource identifier of an shared property type, useful for interacting with other Foundry APIs. * * Log Safety: SAFE */ -export type ObjectTypeRid = LooselyBrandedString<"ObjectTypeRid">; +export type SharedPropertyTypeRid = LooselyBrandedString< + "SharedPropertyTypeRid" +>; /** - * GeoJSon 'FeatureCollection' object + * Returns objects where the specified field starts with the provided value. * * Log Safety: UNSAFE */ -export interface FeatureCollection { - features: Array; - bbox?: BBox; +export interface PrefixQuery { + field: FieldNameV1; + value: string; } /** @@ -3536,13 +3535,13 @@ export interface ApplyActionRequest { } /** - * Returns objects where the specified field starts with the provided value. + * GeoJSon 'FeatureCollection' object * * Log Safety: UNSAFE */ -export interface PrefixQuery { - field: FieldNameV1; - value: string; +export interface FeatureCollection { + features: Array; + bbox?: BBox; } /** diff --git a/packages/internal.foundry.core/src/index.ts b/packages/internal.foundry.core/src/index.ts index 8c8d6405d..41ef6a19a 100644 --- a/packages/internal.foundry.core/src/index.ts +++ b/packages/internal.foundry.core/src/index.ts @@ -155,7 +155,6 @@ export type { FilterValue, FloatType, FolderRid, - FoundryObject, FunctionRid, FunctionVersion, Fuzzy, @@ -258,6 +257,7 @@ export type { ObjectSetSubscribeResponses, ObjectSetSubtractType, ObjectSetUnionType, + ObjectSetUpdate, ObjectSetUpdates, ObjectState, ObjectType, diff --git a/packages/internal.foundry.datasets/package.json b/packages/internal.foundry.datasets/package.json index 96917f401..f80cd034b 100644 --- a/packages/internal.foundry.datasets/package.json +++ b/packages/internal.foundry.datasets/package.json @@ -56,7 +56,7 @@ "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.866.0", + "minVersion": "1.891.0", "maxVersion": "1.x.x" } } diff --git a/packages/internal.foundry.models/package.json b/packages/internal.foundry.models/package.json index 94c9dc061..818ae01e0 100644 --- a/packages/internal.foundry.models/package.json +++ b/packages/internal.foundry.models/package.json @@ -56,7 +56,7 @@ "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.866.0", + "minVersion": "1.891.0", "maxVersion": "1.x.x" } } diff --git a/packages/internal.foundry.ontologies/package.json b/packages/internal.foundry.ontologies/package.json index 7712c9cfd..3d2d39f7c 100644 --- a/packages/internal.foundry.ontologies/package.json +++ b/packages/internal.foundry.ontologies/package.json @@ -56,7 +56,7 @@ "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.866.0", + "minVersion": "1.891.0", "maxVersion": "1.x.x" } } diff --git a/packages/internal.foundry.ontologiesv2/package.json b/packages/internal.foundry.ontologiesv2/package.json index b10317ff5..599171bf9 100644 --- a/packages/internal.foundry.ontologiesv2/package.json +++ b/packages/internal.foundry.ontologiesv2/package.json @@ -57,7 +57,7 @@ "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.866.0", + "minVersion": "1.891.0", "maxVersion": "1.x.x" } } diff --git a/packages/internal.foundry.ontologiesv2/src/index.ts b/packages/internal.foundry.ontologiesv2/src/index.ts index 4cf6b2cac..1f64d6580 100644 --- a/packages/internal.foundry.ontologiesv2/src/index.ts +++ b/packages/internal.foundry.ontologiesv2/src/index.ts @@ -17,6 +17,7 @@ export type {} from "./_components.js"; export * as Actions from "./public/Action.js"; export * as ActionTypesV2 from "./public/ActionTypeV2.js"; +export * as Attachments from "./public/Attachment.js"; export * as ObjectTypesV2 from "./public/ObjectTypeV2.js"; export * as OntologyObjectSets from "./public/OntologyObjectSet.js"; export * as OntologyObjectsV2 from "./public/OntologyObjectV2.js"; diff --git a/packages/internal.foundry.ontologiesv2/src/public/Attachment.ts b/packages/internal.foundry.ontologiesv2/src/public/Attachment.ts new file mode 100644 index 000000000..ba6e862e6 --- /dev/null +++ b/packages/internal.foundry.ontologiesv2/src/public/Attachment.ts @@ -0,0 +1,109 @@ +/* + * Copyright 2024 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { + AttachmentRid, + AttachmentV2, + ContentLength, + ContentType, + Filename, +} from "@osdk/internal.foundry.core"; +import type { + SharedClient as $Client, + SharedClientContext as $ClientContext, +} from "@osdk/shared.client"; +import type { FoundryPlatformMethod as $FoundryPlatformMethod } from "@osdk/shared.net.platformapi"; +import { foundryPlatformFetch as $foundryPlatformFetch } from "@osdk/shared.net.platformapi"; + +// + +const _uploadAttachmentV2: $FoundryPlatformMethod< + ( + $body: Blob, + $queryParams: { filename: Filename }, + $headerParams: { + "Content-Length": ContentLength; + "Content-Type": ContentType; + }, + ) => Promise +> = [1, "/v2/ontologies/attachments/upload", 7, "*/*"]; + +/** + * Upload an attachment to use in an action. Any attachment which has not been linked to an object via + * an action within one hour after upload will be removed. + * Previously mapped attachments which are not connected to any object anymore are also removed on + * a biweekly basis. + * The body of the request must contain the binary content of the file and the `Content-Type` header must be `application/octet-stream`. + * + * Third-party applications using this endpoint via OAuth2 must request the + * following operation scopes: `api:write-data`. + * + * Required Scopes: [api:write-data] + * URL: /v2/ontologies/attachments/upload + */ +export function uploadAttachmentV2( + $ctx: $Client | $ClientContext, + ...args: [ + $body: Blob, + $queryParams: { filename: Filename }, + $headerParams: { + "Content-Length": ContentLength; + "Content-Type": ContentType; + }, + ] +): Promise { + return $foundryPlatformFetch($ctx, _uploadAttachmentV2, ...args); +} + +const _getAttachmentContentV2: $FoundryPlatformMethod< + (attachmentRid: AttachmentRid) => Promise +> = [0, "/v2/ontologies/attachments/{0}/content", , , "*/*"]; + +/** + * Get the content of an attachment. + * + * Third-party applications using this endpoint via OAuth2 must request the + * following operation scopes: `api:read-data`. + * + * Required Scopes: [api:read-data] + * URL: /v2/ontologies/attachments/{attachmentRid}/content + */ +export function getAttachmentContentV2( + $ctx: $Client | $ClientContext, + ...args: [attachmentRid: AttachmentRid] +): Promise { + return $foundryPlatformFetch($ctx, _getAttachmentContentV2, ...args); +} + +const _getAttachmentV2: $FoundryPlatformMethod< + (attachmentRid: AttachmentRid) => Promise +> = [0, "/v2/ontologies/attachments/{0}"]; + +/** + * Get the metadata of an attachment. + * + * Third-party applications using this endpoint via OAuth2 must request the + * following operation scopes: `api:read-data`. + * + * Required Scopes: [api:read-data] + * URL: /v2/ontologies/attachments/{attachmentRid} + */ +export function getAttachmentV2( + $ctx: $Client | $ClientContext, + ...args: [attachmentRid: AttachmentRid] +): Promise { + return $foundryPlatformFetch($ctx, _getAttachmentV2, ...args); +} diff --git a/packages/internal.foundry.ontologiesv2/src/public/OntologyObjectV2.ts b/packages/internal.foundry.ontologiesv2/src/public/OntologyObjectV2.ts index 27af5213b..7bcb3b224 100644 --- a/packages/internal.foundry.ontologiesv2/src/public/OntologyObjectV2.ts +++ b/packages/internal.foundry.ontologiesv2/src/public/OntologyObjectV2.ts @@ -545,7 +545,7 @@ export function getLinkedObjectV2( return $foundryPlatformFetch($ctx, _getLinkedObjectV2, ...args); } -const _getAttachmentsV2: $FoundryPlatformMethod< +const _listPropertyAttachments: $FoundryPlatformMethod< ( ontology: OntologyIdentifier, objectType: ObjectTypeApiName, @@ -567,7 +567,7 @@ const _getAttachmentsV2: $FoundryPlatformMethod< * Required Scopes: [api:read-data] * URL: /v2/ontologies/{ontology}/objects/{objectType}/{primaryKey}/attachments/{property} */ -export function getAttachmentsV2( +export function listPropertyAttachments( $ctx: $Client | $ClientContext, ...args: [ ontology: OntologyIdentifier, @@ -581,10 +581,10 @@ export function getAttachmentsV2( }, ] ): Promise { - return $foundryPlatformFetch($ctx, _getAttachmentsV2, ...args); + return $foundryPlatformFetch($ctx, _listPropertyAttachments, ...args); } -const _getAttachmentByRidV2: $FoundryPlatformMethod< +const _getAttachmentPropertyByRidV2: $FoundryPlatformMethod< ( ontology: OntologyIdentifier, objectType: ObjectTypeApiName, @@ -607,7 +607,7 @@ const _getAttachmentByRidV2: $FoundryPlatformMethod< * Required Scopes: [api:read-data] * URL: /v2/ontologies/{ontology}/objects/{objectType}/{primaryKey}/attachments/{property}/{attachmentRid} */ -export function getAttachmentByRidV2( +export function getAttachmentPropertyByRidV2( $ctx: $Client | $ClientContext, ...args: [ ontology: OntologyIdentifier, @@ -622,10 +622,10 @@ export function getAttachmentByRidV2( }, ] ): Promise { - return $foundryPlatformFetch($ctx, _getAttachmentByRidV2, ...args); + return $foundryPlatformFetch($ctx, _getAttachmentPropertyByRidV2, ...args); } -const _getAttachmentContentV2: $FoundryPlatformMethod< +const _getAttachmentPropertyContentV2: $FoundryPlatformMethod< ( ontology: OntologyIdentifier, objectType: ObjectTypeApiName, @@ -653,7 +653,7 @@ const _getAttachmentContentV2: $FoundryPlatformMethod< * Required Scopes: [api:read-data] * URL: /v2/ontologies/{ontology}/objects/{objectType}/{primaryKey}/attachments/{property}/content */ -export function getAttachmentContentV2( +export function getAttachmentPropertyContentV2( $ctx: $Client | $ClientContext, ...args: [ ontology: OntologyIdentifier, @@ -667,10 +667,10 @@ export function getAttachmentContentV2( }, ] ): Promise { - return $foundryPlatformFetch($ctx, _getAttachmentContentV2, ...args); + return $foundryPlatformFetch($ctx, _getAttachmentPropertyContentV2, ...args); } -const _getAttachmentContentByRidV2: $FoundryPlatformMethod< +const _getAttachmentPropertyContentByRidV2: $FoundryPlatformMethod< ( ontology: OntologyIdentifier, objectType: ObjectTypeApiName, @@ -701,7 +701,7 @@ const _getAttachmentContentByRidV2: $FoundryPlatformMethod< * Required Scopes: [api:read-data] * URL: /v2/ontologies/{ontology}/objects/{objectType}/{primaryKey}/attachments/{property}/{attachmentRid}/content */ -export function getAttachmentContentByRidV2( +export function getAttachmentPropertyContentByRidV2( $ctx: $Client | $ClientContext, ...args: [ ontology: OntologyIdentifier, @@ -716,7 +716,11 @@ export function getAttachmentContentByRidV2( }, ] ): Promise { - return $foundryPlatformFetch($ctx, _getAttachmentContentByRidV2, ...args); + return $foundryPlatformFetch( + $ctx, + _getAttachmentPropertyContentByRidV2, + ...args, + ); } const _getFirstPoint: $FoundryPlatformMethod< diff --git a/packages/internal.foundry/package.json b/packages/internal.foundry/package.json index b6ef11545..a2faa3ee9 100644 --- a/packages/internal.foundry/package.json +++ b/packages/internal.foundry/package.json @@ -60,7 +60,7 @@ "sls": { "dependencies": { "com.palantir.foundry.api:api-gateway": { - "minVersion": "1.866.0", + "minVersion": "1.891.0", "maxVersion": "1.x.x" } } diff --git a/packages/platform-sdk-generator/src/model/Model.ts b/packages/platform-sdk-generator/src/model/Model.ts index c64da5221..4a924a1d0 100644 --- a/packages/platform-sdk-generator/src/model/Model.ts +++ b/packages/platform-sdk-generator/src/model/Model.ts @@ -175,7 +175,10 @@ export class Model { } #addComponent(c: ir.Component) { - const ns = this.#namespaces.get(c.namespace ?? ""); + const nsName = (c.namespace == null || c.namespace === "Core") + ? "" + : c.namespace; + const ns = this.#namespaces.get(nsName); if (!ns) { throw new Error(`Namespace not found for ${c.namespace} in ${c.name}`); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6344a97dc..ef969ebfe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -79,16 +79,16 @@ importers: version: 9.3.0 eslint-import-resolver-typescript: specifier: ^3.6.1 - version: 3.6.1(@typescript-eslint/parser@7.16.0)(eslint-plugin-import@2.29.1)(eslint@9.3.0) + version: 3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0) eslint-plugin-header: specifier: ^3.1.1 version: 3.1.1(eslint@9.3.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0) + version: 2.29.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0) eslint-plugin-unused-imports: specifier: ^3.2.0 - version: 3.2.0(eslint@9.3.0) + version: 3.2.0(@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint@9.3.0)(typescript@5.5.3))(eslint@9.3.0) find-up-cli: specifier: ^6.0.0 version: 6.0.0 @@ -109,7 +109,7 @@ importers: version: 1.0.1(typescript@5.5.3) tsup: specifier: ^8.1.0 - version: 8.1.0(typescript@5.5.3) + version: 8.1.0(@microsoft/api-extractor@7.47.0(@types/node@20.14.10))(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3))(typescript@5.5.3) turbo: specifier: ^2.0.4 version: 2.0.4 @@ -121,7 +121,7 @@ importers: version: 7.16.0(eslint@9.3.0)(typescript@5.5.3) vitest: specifier: ^1.6.0 - version: 1.6.0 + version: 1.6.0(@types/node@20.14.10) examples-extra/docs_example: dependencies: @@ -161,13 +161,13 @@ importers: version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 - version: 7.16.0(@typescript-eslint/parser@7.16.0)(eslint@8.57.0)(typescript@5.4.5) + version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': specifier: ^7.16.0 version: 7.16.0(eslint@8.57.0)(typescript@5.4.5) '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@5.3.4) + version: 4.2.1(vite@5.3.4(@types/node@20.14.10)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.39) @@ -185,10 +185,10 @@ importers: version: 8.4.39 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0 + version: 5.12.0(rollup@4.14.1) tailwindcss: specifier: ^3.4.4 - version: 3.4.4 + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.4.5)) tslib: specifier: ^2.6.2 version: 2.6.2 @@ -197,7 +197,7 @@ importers: version: 5.4.5 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.12.12) + version: 5.3.4(@types/node@20.14.10) examples/example-next-static-export: dependencies: @@ -206,7 +206,7 @@ importers: version: link:../../packages/e2e.generated.1.1.x next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1)(react@18.3.1) + version: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18 version: 18.3.1 @@ -246,7 +246,7 @@ importers: version: 18.3.1(react@18.3.1) react-router-dom: specifier: ^6.23.1 - version: 6.23.1(react-dom@18.3.1)(react@18.3.1) + version: 6.23.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@types/react': specifier: ^18 @@ -256,13 +256,13 @@ importers: version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 - version: 7.16.0(@typescript-eslint/parser@7.16.0)(eslint@8.57.0)(typescript@5.5.3) + version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': specifier: ^7.16.0 version: 7.16.0(eslint@8.57.0)(typescript@5.5.3) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@5.3.4) + version: 4.2.1(vite@5.3.4(@types/node@20.14.10)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -277,7 +277,7 @@ importers: version: 5.5.3 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.12.12) + version: 5.3.4(@types/node@20.14.10) examples/example-tutorial-todo-aip-app: dependencies: @@ -292,7 +292,7 @@ importers: version: 18.3.1(react@18.3.1) react-router-dom: specifier: ^6.23.1 - version: 6.23.1(react-dom@18.3.1)(react@18.3.1) + version: 6.23.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) swr: specifier: ^2.2.5 version: 2.2.5(react@18.3.1) @@ -305,13 +305,13 @@ importers: version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 - version: 7.16.0(@typescript-eslint/parser@7.16.0)(eslint@8.57.0)(typescript@5.5.3) + version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': specifier: ^7.16.0 version: 7.16.0(eslint@8.57.0)(typescript@5.5.3) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@5.3.4) + version: 4.2.1(vite@5.3.4(@types/node@20.14.10)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -326,7 +326,7 @@ importers: version: 5.5.3 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.12.12) + version: 5.3.4(@types/node@20.14.10) examples/example-tutorial-todo-app: dependencies: @@ -341,7 +341,7 @@ importers: version: 18.3.1(react@18.3.1) react-router-dom: specifier: ^6.23.1 - version: 6.23.1(react-dom@18.3.1)(react@18.3.1) + version: 6.23.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) swr: specifier: ^2.2.5 version: 2.2.5(react@18.3.1) @@ -354,13 +354,13 @@ importers: version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 - version: 7.16.0(@typescript-eslint/parser@7.16.0)(eslint@8.57.0)(typescript@5.5.3) + version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': specifier: ^7.16.0 version: 7.16.0(eslint@8.57.0)(typescript@5.5.3) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@5.3.4) + version: 4.2.1(vite@5.3.4(@types/node@20.14.10)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -375,7 +375,7 @@ importers: version: 5.5.3 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.12.12) + version: 5.3.4(@types/node@20.14.10) examples/example-vue: dependencies: @@ -387,17 +387,17 @@ importers: version: 3.4.27(typescript@5.5.3) vue-router: specifier: ^4.2.5 - version: 4.3.2(vue@3.4.27) + version: 4.3.2(vue@3.4.27(typescript@5.5.3)) devDependencies: '@vitejs/plugin-vue': specifier: ^4.5.0 - version: 4.6.2(vite@5.3.4)(vue@3.4.27) + version: 4.6.2(vite@5.3.4(@types/node@20.14.10))(vue@3.4.27(typescript@5.5.3)) typescript: specifier: ^5.5.2 version: 5.5.3 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.12.12) + version: 5.3.4(@types/node@20.14.10) vue-tsc: specifier: ^2 version: 2.0.26(typescript@5.5.3) @@ -657,10 +657,10 @@ importers: devDependencies: '@microsoft/api-documenter': specifier: ^7.25.3 - version: 7.25.3 + version: 7.25.3(@types/node@20.14.10) '@microsoft/api-extractor': specifier: ^7.47.0 - version: 7.47.0 + version: 7.47.0(@types/node@20.14.10) '@osdk/client.test.ontology': specifier: workspace:~ version: link:../client.test.ontology @@ -721,10 +721,10 @@ importers: devDependencies: '@microsoft/api-documenter': specifier: ^7.25.3 - version: 7.25.3 + version: 7.25.3(@types/node@20.14.10) '@microsoft/api-extractor': specifier: ^7.47.0 - version: 7.47.0 + version: 7.47.0(@types/node@20.14.10) '@osdk/internal.foundry': specifier: workspace:~ version: link:../internal.foundry @@ -912,7 +912,7 @@ importers: dependencies: next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1)(react@18.3.1) + version: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18 version: 18.3.1 @@ -961,7 +961,7 @@ importers: version: 18.3.1(react@18.3.1) react-router-dom: specifier: ^6.23.1 - version: 6.23.1(react-dom@18.3.1)(react@18.3.1) + version: 6.23.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@osdk/create-app.template-packager': specifier: workspace:~ @@ -983,13 +983,13 @@ importers: version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 - version: 7.16.0(@typescript-eslint/parser@7.16.0)(eslint@8.57.0)(typescript@5.5.3) + version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': specifier: ^7.16.0 version: 7.16.0(eslint@8.57.0)(typescript@5.5.3) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@5.3.4) + version: 4.2.1(vite@5.3.4(@types/node@20.14.10)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -1004,7 +1004,7 @@ importers: version: 5.5.3 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.12.12) + version: 5.3.4(@types/node@20.14.10) packages/create-app.template.tutorial-todo-aip-app: dependencies: @@ -1016,7 +1016,7 @@ importers: version: 18.3.1(react@18.3.1) react-router-dom: specifier: ^6.23.1 - version: 6.23.1(react-dom@18.3.1)(react@18.3.1) + version: 6.23.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) swr: specifier: ^2.2.5 version: 2.2.5(react@18.3.1) @@ -1041,13 +1041,13 @@ importers: version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 - version: 7.16.0(@typescript-eslint/parser@7.16.0)(eslint@8.57.0)(typescript@5.5.3) + version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': specifier: ^7.16.0 version: 7.16.0(eslint@8.57.0)(typescript@5.5.3) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@5.3.4) + version: 4.2.1(vite@5.3.4(@types/node@20.14.10)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -1062,7 +1062,7 @@ importers: version: 5.5.3 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.12.12) + version: 5.3.4(@types/node@20.14.10) packages/create-app.template.tutorial-todo-app: dependencies: @@ -1074,7 +1074,7 @@ importers: version: 18.3.1(react@18.3.1) react-router-dom: specifier: ^6.23.1 - version: 6.23.1(react-dom@18.3.1)(react@18.3.1) + version: 6.23.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) swr: specifier: ^2.2.5 version: 2.2.5(react@18.3.1) @@ -1099,13 +1099,13 @@ importers: version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 - version: 7.16.0(@typescript-eslint/parser@7.16.0)(eslint@8.57.0)(typescript@5.5.3) + version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': specifier: ^7.16.0 version: 7.16.0(eslint@8.57.0)(typescript@5.5.3) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@5.3.4) + version: 4.2.1(vite@5.3.4(@types/node@20.14.10)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -1120,7 +1120,7 @@ importers: version: 5.5.3 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.12.12) + version: 5.3.4(@types/node@20.14.10) packages/create-app.template.vue: dependencies: @@ -1129,7 +1129,7 @@ importers: version: 3.4.27(typescript@5.5.3) vue-router: specifier: ^4.2.5 - version: 4.3.2(vue@3.4.27) + version: 4.3.2(vue@3.4.27(typescript@5.5.3)) devDependencies: '@osdk/create-app.template-packager': specifier: workspace:~ @@ -1145,13 +1145,13 @@ importers: version: link:../monorepo.tsup '@vitejs/plugin-vue': specifier: ^4.5.0 - version: 4.6.2(vite@5.3.4)(vue@3.4.27) + version: 4.6.2(vite@5.3.4(@types/node@20.14.10))(vue@3.4.27(typescript@5.5.3)) typescript: specifier: ^5.5.2 version: 5.5.3 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.12.12) + version: 5.3.4(@types/node@20.14.10) vue-tsc: specifier: ^2 version: 2.0.26(typescript@5.5.3) @@ -1329,13 +1329,13 @@ importers: version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 - version: 7.16.0(@typescript-eslint/parser@7.16.0)(eslint@8.57.0)(typescript@5.5.3) + version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint@9.3.0)(typescript@5.5.3) '@typescript-eslint/parser': specifier: ^7.16.0 - version: 7.16.0(eslint@8.57.0)(typescript@5.5.3) + version: 7.16.0(eslint@9.3.0)(typescript@5.5.3) '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@5.3.4) + version: 4.2.1(vite@5.3.4(@types/node@20.14.10)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.39) @@ -1344,10 +1344,10 @@ importers: version: 8.4.39 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0 + version: 5.12.0(rollup@4.14.1) tailwindcss: specifier: ^3.4.4 - version: 3.4.4 + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)) tslib: specifier: ^2.6.2 version: 2.6.2 @@ -1356,7 +1356,7 @@ importers: version: 5.5.3 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.12.12) + version: 5.3.4(@types/node@20.14.10) packages/e2e.test.foundry-sdk-generator: dependencies: @@ -1431,12 +1431,15 @@ importers: packages/foundry: dependencies: + '@osdk/foundry.admin': + specifier: workspace:* + version: link:../foundry.admin '@osdk/foundry.core': specifier: workspace:* version: link:../foundry.core - '@osdk/foundry.security': + '@osdk/foundry.datasets': specifier: workspace:* - version: link:../foundry.security + version: link:../foundry.datasets '@osdk/foundry.thirdpartyapplications': specifier: workspace:* version: link:../foundry.thirdpartyapplications @@ -1527,6 +1530,40 @@ importers: specifier: ^17.0.29 version: 17.0.32 + packages/foundry.admin: + dependencies: + '@osdk/api': + specifier: workspace:~ + version: link:../api + '@osdk/client': + specifier: workspace:~ + version: link:../client + '@osdk/foundry.core': + specifier: workspace:* + version: link:../foundry.core + '@osdk/shared.client': + specifier: workspace:~ + version: link:../shared.client + '@osdk/shared.net': + specifier: workspace:~ + version: link:../shared.net + '@osdk/shared.net.platformapi': + specifier: workspace:~ + version: link:../shared.net.platformapi + devDependencies: + '@osdk/monorepo.api-extractor': + specifier: workspace:~ + version: link:../monorepo.api-extractor + '@osdk/monorepo.tsconfig': + specifier: workspace:~ + version: link:../monorepo.tsconfig + '@osdk/monorepo.tsup': + specifier: workspace:~ + version: link:../monorepo.tsup + typescript: + specifier: ^5.5.2 + version: 5.5.3 + packages/foundry.core: dependencies: '@osdk/shared.client': @@ -1549,14 +1586,23 @@ importers: specifier: ^5.5.2 version: 5.5.2 - packages/foundry.security: + packages/foundry.datasets: dependencies: + '@osdk/api': + specifier: workspace:~ + version: link:../api + '@osdk/client': + specifier: workspace:~ + version: link:../client '@osdk/foundry.core': specifier: workspace:* version: link:../foundry.core '@osdk/shared.client': specifier: workspace:~ version: link:../shared.client + '@osdk/shared.net': + specifier: workspace:~ + version: link:../shared.net '@osdk/shared.net.platformapi': specifier: workspace:~ version: link:../shared.net.platformapi @@ -1572,7 +1618,7 @@ importers: version: link:../monorepo.tsup typescript: specifier: ^5.5.2 - version: 5.5.2 + version: 5.5.3 packages/foundry.thirdpartyapplications: dependencies: @@ -1730,7 +1776,7 @@ importers: version: 5.5.2 vitest: specifier: ^1.6.0 - version: 1.6.0 + version: 1.6.0(@types/node@20.14.10) packages/internal.foundry: dependencies: @@ -2055,7 +2101,7 @@ importers: devDependencies: tsup: specifier: ^8.0.2 - version: 8.1.0(typescript@5.5.3) + version: 8.1.0(@microsoft/api-extractor@7.47.0(@types/node@20.14.10))(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3))(typescript@5.5.3) packages/oauth: dependencies: @@ -8331,35 +8377,35 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 - '@microsoft/api-documenter@7.25.3': + '@microsoft/api-documenter@7.25.3(@types/node@20.14.10)': dependencies: - '@microsoft/api-extractor-model': 7.29.2 + '@microsoft/api-extractor-model': 7.29.2(@types/node@20.14.10) '@microsoft/tsdoc': 0.15.0 - '@rushstack/node-core-library': 5.4.1 - '@rushstack/terminal': 0.13.0 - '@rushstack/ts-command-line': 4.22.0 + '@rushstack/node-core-library': 5.4.1(@types/node@20.14.10) + '@rushstack/terminal': 0.13.0(@types/node@20.14.10) + '@rushstack/ts-command-line': 4.22.0(@types/node@20.14.10) js-yaml: 3.13.1 resolve: 1.22.8 transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor-model@7.29.2': + '@microsoft/api-extractor-model@7.29.2(@types/node@20.14.10)': dependencies: '@microsoft/tsdoc': 0.15.0 '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.4.1 + '@rushstack/node-core-library': 5.4.1(@types/node@20.14.10) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.47.0': + '@microsoft/api-extractor@7.47.0(@types/node@20.14.10)': dependencies: - '@microsoft/api-extractor-model': 7.29.2 + '@microsoft/api-extractor-model': 7.29.2(@types/node@20.14.10) '@microsoft/tsdoc': 0.15.0 '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.4.1 + '@rushstack/node-core-library': 5.4.1(@types/node@20.14.10) '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.13.0 - '@rushstack/ts-command-line': 4.22.0 + '@rushstack/terminal': 0.13.0(@types/node@20.14.10) + '@rushstack/ts-command-line': 4.22.0(@types/node@20.14.10) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -8700,6 +8746,7 @@ snapshots: glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.10 + optionalDependencies: rollup: 3.29.1 '@rollup/plugin-inject@5.0.5(rollup@3.29.1)': @@ -8707,6 +8754,7 @@ snapshots: '@rollup/pluginutils': 5.1.0(rollup@3.29.1) estree-walker: 2.0.2 magic-string: 0.30.10 + optionalDependencies: rollup: 3.29.1 '@rollup/plugin-node-resolve@15.2.3(rollup@3.29.1)': @@ -8717,6 +8765,7 @@ snapshots: is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 + optionalDependencies: rollup: 3.29.1 '@rollup/pluginutils@5.1.0(rollup@3.29.1)': @@ -8724,6 +8773,7 @@ snapshots: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 + optionalDependencies: rollup: 3.29.1 '@rollup/rollup-android-arm-eabi@4.14.1': @@ -8773,7 +8823,7 @@ snapshots: '@rushstack/eslint-patch@1.10.3': {} - '@rushstack/node-core-library@5.4.1': + '@rushstack/node-core-library@5.4.1(@types/node@20.14.10)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -8783,20 +8833,24 @@ snapshots: jju: 1.4.0 resolve: 1.22.8 semver: 7.5.4 + optionalDependencies: + '@types/node': 20.14.10 '@rushstack/rig-package@0.5.2': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.13.0': + '@rushstack/terminal@0.13.0(@types/node@20.14.10)': dependencies: - '@rushstack/node-core-library': 5.4.1 + '@rushstack/node-core-library': 5.4.1(@types/node@20.14.10) supports-color: 8.1.1 + optionalDependencies: + '@types/node': 20.14.10 - '@rushstack/ts-command-line@4.22.0': + '@rushstack/ts-command-line@4.22.0(@types/node@20.14.10)': dependencies: - '@rushstack/terminal': 0.13.0 + '@rushstack/terminal': 0.13.0(@types/node@20.14.10) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -8947,7 +9001,7 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.2 - '@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0)(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 7.16.0(eslint@8.57.0)(typescript@5.4.5) @@ -8960,11 +9014,12 @@ snapshots: ignore: 5.3.1 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0)(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 7.16.0(eslint@8.57.0)(typescript@5.5.3) @@ -8977,11 +9032,12 @@ snapshots: ignore: 5.3.1 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.5.3) + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0)(eslint@9.3.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint@9.3.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 7.16.0(eslint@9.3.0)(typescript@5.5.3) @@ -8994,6 +9050,7 @@ snapshots: ignore: 5.3.1 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.5.3) + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -9006,6 +9063,7 @@ snapshots: '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.57.0 + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -9018,6 +9076,7 @@ snapshots: '@typescript-eslint/visitor-keys': 7.16.0 debug: 4.3.4 eslint: 8.57.0 + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -9030,6 +9089,7 @@ snapshots: '@typescript-eslint/visitor-keys': 7.16.0 debug: 4.3.4 eslint: 8.57.0 + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -9042,6 +9102,7 @@ snapshots: '@typescript-eslint/visitor-keys': 7.16.0 debug: 4.3.4 eslint: 9.3.0 + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -9063,6 +9124,7 @@ snapshots: debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -9074,6 +9136,7 @@ snapshots: debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.5.3) + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -9085,6 +9148,7 @@ snapshots: debug: 4.3.4 eslint: 9.3.0 ts-api-utils: 1.3.0(typescript@5.5.3) + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -9103,6 +9167,7 @@ snapshots: minimatch: 9.0.3 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.5.3) + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -9117,6 +9182,7 @@ snapshots: minimatch: 9.0.4 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -9131,6 +9197,7 @@ snapshots: minimatch: 9.0.4 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.5.3) + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -9180,20 +9247,20 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react@4.2.1(vite@5.3.4)': + '@vitejs/plugin-react@4.2.1(vite@5.3.4(@types/node@20.14.10))': dependencies: '@babel/core': 7.24.5 '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.24.5) '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.24.5) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.3.4(@types/node@20.12.12) + vite: 5.3.4(@types/node@20.14.10) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@4.6.2(vite@5.3.4)(vue@3.4.27)': + '@vitejs/plugin-vue@4.6.2(vite@5.3.4(@types/node@20.14.10))(vue@3.4.27(typescript@5.5.3))': dependencies: - vite: 5.3.4(@types/node@20.12.12) + vite: 5.3.4(@types/node@20.14.10) vue: 3.4.27(typescript@5.5.3) '@vitest/expect@1.6.0': @@ -9278,8 +9345,9 @@ snapshots: minimatch: 9.0.4 muggle-string: 0.4.1 path-browserify: 1.0.1 - typescript: 5.5.3 vue-template-compiler: 2.7.16 + optionalDependencies: + typescript: 5.5.3 '@vue/reactivity@3.4.27': dependencies: @@ -9296,7 +9364,7 @@ snapshots: '@vue/shared': 3.4.27 csstype: 3.1.3 - '@vue/server-renderer@3.4.27(vue@3.4.27)': + '@vue/server-renderer@3.4.27(vue@3.4.27(typescript@5.5.3))': dependencies: '@vue/compiler-ssr': 3.4.27 '@vue/shared': 3.4.27 @@ -9322,11 +9390,11 @@ snapshots: indent-string: 5.0.0 ajv-draft-04@1.0.0(ajv@8.13.0): - dependencies: + optionalDependencies: ajv: 8.13.0 ajv-formats@3.0.1(ajv@8.13.0): - dependencies: + optionalDependencies: ajv: 8.13.0 ajv@6.12.6: @@ -10209,11 +10277,12 @@ snapshots: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-react: 7.34.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - eslint-import-resolver-webpack @@ -10227,13 +10296,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 4.3.4 enhanced-resolve: 5.16.1 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.13.1 @@ -10244,13 +10313,13 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0)(eslint-plugin-import@2.29.1)(eslint@9.3.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0): dependencies: debug: 4.3.4 enhanced-resolve: 5.16.1 eslint: 9.3.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@9.3.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.13.1 @@ -10261,33 +10330,35 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.3) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@9.3.0): dependencies: - '@typescript-eslint/parser': 7.16.0(eslint@9.3.0)(typescript@5.5.3) debug: 3.2.7 - eslint: 8.57.0 + optionalDependencies: + '@typescript-eslint/parser': 7.16.0(eslint@9.3.0)(typescript@5.5.3) + eslint: 9.3.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.16.0)(eslint-plugin-import@2.29.1)(eslint@9.3.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@9.3.0): dependencies: - '@typescript-eslint/parser': 7.16.0(eslint@9.3.0)(typescript@5.5.3) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 7.16.0(eslint@9.3.0)(typescript@5.5.3) eslint: 9.3.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.16.0)(eslint-plugin-import@2.29.1)(eslint@9.3.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0) transitivePeerDependencies: - supports-color @@ -10295,9 +10366,8 @@ snapshots: dependencies: eslint: 9.3.0 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 7.16.0(eslint@9.3.0)(typescript@5.5.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -10306,7 +10376,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -10316,14 +10386,15 @@ snapshots: object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.5.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0): dependencies: - '@typescript-eslint/parser': 7.16.0(eslint@9.3.0)(typescript@5.5.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -10332,7 +10403,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.3.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.16.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@9.3.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -10342,6 +10413,8 @@ snapshots: object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 7.16.0(eslint@9.3.0)(typescript@5.5.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -10397,10 +10470,12 @@ snapshots: semver: 6.3.1 string.prototype.matchall: 4.0.11 - eslint-plugin-unused-imports@3.2.0(eslint@9.3.0): + eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint@9.3.0)(typescript@5.5.3))(eslint@9.3.0): dependencies: eslint: 9.3.0 eslint-rule-composer: 0.3.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 7.16.0(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint@9.3.0)(typescript@5.5.3) eslint-rule-composer@0.3.0: {} @@ -11511,8 +11586,9 @@ snapshots: path-to-regexp: 6.2.1 strict-event-emitter: 0.5.1 type-fest: 4.18.2 - typescript: 5.5.2 yargs: 17.7.2 + optionalDependencies: + typescript: 5.5.2 muggle-string@0.4.1: {} @@ -11530,7 +11606,7 @@ snapshots: neo-async@2.6.2: {} - next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1)(react@18.3.1): + next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 @@ -11884,11 +11960,21 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.39 - postcss-load-config@4.0.1(postcss@8.4.39): + postcss-load-config@4.0.1(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.4.5)): dependencies: lilconfig: 2.1.0 + yaml: 2.4.2 + optionalDependencies: postcss: 8.4.39 + ts-node: 10.9.2(@types/node@20.14.10)(typescript@5.4.5) + + postcss-load-config@4.0.1(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)): + dependencies: + lilconfig: 2.1.0 yaml: 2.4.2 + optionalDependencies: + postcss: 8.4.39 + ts-node: 10.9.2(@types/node@20.14.10)(typescript@5.5.3) postcss-nested@6.0.1(postcss@8.4.39): dependencies: @@ -11998,7 +12084,7 @@ snapshots: react-refresh@0.14.0: {} - react-router-dom@6.23.1(react-dom@18.3.1)(react@18.3.1): + react-router-dom@6.23.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@remix-run/router': 1.16.1 react: 18.3.1 @@ -12190,12 +12276,14 @@ snapshots: '@rollup/plugin-inject': 5.0.5(rollup@3.29.1) rollup: 3.29.1 - rollup-plugin-visualizer@5.12.0: + rollup-plugin-visualizer@5.12.0(rollup@4.14.1): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 + optionalDependencies: + rollup: 4.14.1 rollup@3.29.1: optionalDependencies: @@ -12507,9 +12595,10 @@ snapshots: styled-jsx@5.1.1(@babel/core@7.24.5)(react@18.3.1): dependencies: - '@babel/core': 7.24.5 client-only: 0.0.1 react: 18.3.1 + optionalDependencies: + '@babel/core': 7.24.5 sucrase@3.34.0: dependencies: @@ -12546,7 +12635,7 @@ snapshots: react: 18.3.1 use-sync-external-store: 1.2.0(react@18.3.1) - tailwindcss@3.4.4: + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.4.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -12565,7 +12654,34 @@ snapshots: postcss: 8.4.39 postcss-import: 15.1.0(postcss@8.4.39) postcss-js: 4.0.1(postcss@8.4.39) - postcss-load-config: 4.0.1(postcss@8.4.39) + postcss-load-config: 4.0.1(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.4.5)) + postcss-nested: 6.0.1(postcss@8.4.39) + postcss-selector-parser: 6.0.13 + resolve: 1.22.8 + sucrase: 3.34.0 + transitivePeerDependencies: + - ts-node + + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.5.3 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.7 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.39 + postcss-import: 15.1.0(postcss@8.4.39) + postcss-js: 4.0.1(postcss@8.4.39) + postcss-load-config: 4.0.1(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)) postcss-nested: 6.0.1(postcss@8.4.39) postcss-selector-parser: 6.0.13 resolve: 1.22.8 @@ -12650,6 +12766,25 @@ snapshots: '@ts-morph/common': 0.20.0 code-block-writer: 12.0.0 + ts-node@10.9.2(@types/node@20.14.10)(typescript@5.4.5): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.14.10 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optional: true + ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.2): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -12668,6 +12803,25 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.14.10 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.5.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optional: true + tsc-absolute@1.0.1(typescript@5.5.3): dependencies: process-wrapper: 1.0.0 @@ -12682,7 +12836,7 @@ snapshots: tslib@2.6.2: {} - tsup@8.1.0(typescript@5.5.3): + tsup@8.1.0(@microsoft/api-extractor@7.47.0(@types/node@20.14.10))(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3))(typescript@5.5.3): dependencies: bundle-require: 4.0.1(esbuild@0.21.5) cac: 6.7.14 @@ -12692,12 +12846,15 @@ snapshots: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.1(postcss@8.4.39) + postcss-load-config: 4.0.1(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)) resolve-from: 5.0.0 rollup: 4.14.1 source-map: 0.8.0-beta.0 sucrase: 3.34.0 tree-kill: 1.2.2 + optionalDependencies: + '@microsoft/api-extractor': 7.47.0(@types/node@20.14.10) + postcss: 8.4.39 typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -12798,10 +12955,11 @@ snapshots: typescript-eslint@7.16.0(eslint@9.3.0)(typescript@5.5.3): dependencies: - '@typescript-eslint/eslint-plugin': 7.16.0(@typescript-eslint/parser@7.16.0)(eslint@9.3.0)(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 7.16.0(@typescript-eslint/parser@7.16.0(eslint@9.3.0)(typescript@5.5.3))(eslint@9.3.0)(typescript@5.5.3) '@typescript-eslint/parser': 7.16.0(eslint@9.3.0)(typescript@5.5.3) '@typescript-eslint/utils': 7.16.0(eslint@9.3.0)(typescript@5.5.3) eslint: 9.3.0 + optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -12917,23 +13075,6 @@ snapshots: unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 - vite-node@1.6.0: - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.1 - picocolors: 1.0.1 - vite: 5.3.4(@types/node@20.12.12) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - vite-node@1.6.0(@types/node@18.17.15): dependencies: cac: 6.7.14 @@ -12987,65 +13128,33 @@ snapshots: vite@5.3.4(@types/node@18.17.15): dependencies: - '@types/node': 18.17.15 esbuild: 0.21.5 postcss: 8.4.39 rollup: 4.14.1 optionalDependencies: + '@types/node': 18.17.15 fsevents: 2.3.3 vite@5.3.4(@types/node@20.12.12): dependencies: - '@types/node': 20.12.12 esbuild: 0.21.5 postcss: 8.4.39 rollup: 4.14.1 optionalDependencies: + '@types/node': 20.12.12 fsevents: 2.3.3 vite@5.3.4(@types/node@20.14.10): dependencies: - '@types/node': 20.14.10 esbuild: 0.21.5 postcss: 8.4.39 rollup: 4.14.1 optionalDependencies: + '@types/node': 20.14.10 fsevents: 2.3.3 - vitest@1.6.0: - dependencies: - '@vitest/expect': 1.6.0 - '@vitest/runner': 1.6.0 - '@vitest/snapshot': 1.6.0 - '@vitest/spy': 1.6.0 - '@vitest/utils': 1.6.0 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.10 - pathe: 1.1.1 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.5.1 - tinypool: 0.8.4 - vite: 5.3.4(@types/node@20.12.12) - vite-node: 1.6.0 - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - vitest@1.6.0(@types/node@18.17.15): dependencies: - '@types/node': 18.17.15 '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 '@vitest/snapshot': 1.6.0 @@ -13066,6 +13175,8 @@ snapshots: vite: 5.3.4(@types/node@18.17.15) vite-node: 1.6.0(@types/node@18.17.15) why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 18.17.15 transitivePeerDependencies: - less - lightningcss @@ -13077,7 +13188,6 @@ snapshots: vitest@1.6.0(@types/node@20.12.12): dependencies: - '@types/node': 20.12.12 '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 '@vitest/snapshot': 1.6.0 @@ -13098,6 +13208,8 @@ snapshots: vite: 5.3.4(@types/node@20.12.12) vite-node: 1.6.0(@types/node@20.12.12) why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.12.12 transitivePeerDependencies: - less - lightningcss @@ -13109,7 +13221,6 @@ snapshots: vitest@1.6.0(@types/node@20.14.10): dependencies: - '@types/node': 20.14.10 '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 '@vitest/snapshot': 1.6.0 @@ -13130,6 +13241,8 @@ snapshots: vite: 5.3.4(@types/node@20.14.10) vite-node: 1.6.0(@types/node@20.14.10) why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.14.10 transitivePeerDependencies: - less - lightningcss @@ -13143,7 +13256,7 @@ snapshots: vscode-uri@3.0.8: {} - vue-router@4.3.2(vue@3.4.27): + vue-router@4.3.2(vue@3.4.27(typescript@5.5.3)): dependencies: '@vue/devtools-api': 6.6.1 vue: 3.4.27(typescript@5.5.3) @@ -13165,8 +13278,9 @@ snapshots: '@vue/compiler-dom': 3.4.27 '@vue/compiler-sfc': 3.4.27 '@vue/runtime-dom': 3.4.27 - '@vue/server-renderer': 3.4.27(vue@3.4.27) + '@vue/server-renderer': 3.4.27(vue@3.4.27(typescript@5.5.3)) '@vue/shared': 3.4.27 + optionalDependencies: typescript: 5.5.3 wcwidth@1.0.1: