fix: version check on dev env in connectors (#102)
* fix: version check on dev env in connectors * chore: bump version
This commit is contained in:
@@ -160,10 +160,11 @@ const isDisableCacheSupported = computed(() => {
|
||||
if (nonSharpApps.includes(appName.toLowerCase())) return false
|
||||
|
||||
// always show in dev environments
|
||||
if (version.includes('dev') || version.includes('local')) return true
|
||||
if (version.includes('dev') || version.includes('local') || version.includes('1.0.0'))
|
||||
return true
|
||||
|
||||
// for sharp connectors, check if version is >= 3.18.0
|
||||
const targetVersion = '3.18.0'
|
||||
const targetVersion = '3.19.0'
|
||||
return (
|
||||
version.localeCompare(targetVersion, undefined, {
|
||||
numeric: true,
|
||||
|
||||
+478
-134
@@ -569,7 +569,6 @@ export type AutomateAuthCodePayloadTest = {
|
||||
action: Scalars['String']['input'];
|
||||
code: Scalars['String']['input'];
|
||||
userId: Scalars['String']['input'];
|
||||
workspaceId?: InputMaybe<Scalars['String']['input']>;
|
||||
};
|
||||
|
||||
/** Additional resources to validate user access to. */
|
||||
@@ -874,7 +873,7 @@ export type BlobMetadata = {
|
||||
streamId: Scalars['String']['output'];
|
||||
uploadError?: Maybe<Scalars['String']['output']>;
|
||||
uploadStatus: Scalars['Int']['output'];
|
||||
userId: Scalars['String']['output'];
|
||||
userId?: Maybe<Scalars['String']['output']>;
|
||||
};
|
||||
|
||||
export type BlobMetadataCollection = {
|
||||
@@ -1269,6 +1268,14 @@ export type CreateEmbedTokenReturn = {
|
||||
tokenMetadata: EmbedToken;
|
||||
};
|
||||
|
||||
export type CreateFromTemplateInput = {
|
||||
modelIds: Array<Scalars['String']['input']>;
|
||||
/** Override the template's name for this insight */
|
||||
name?: InputMaybe<Scalars['String']['input']>;
|
||||
projectId: Scalars['String']['input'];
|
||||
templateId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
export type CreateIssueInput = {
|
||||
assigneeId?: InputMaybe<Scalars['ID']['input']>;
|
||||
attachmentBlobIds?: InputMaybe<Array<Scalars['String']['input']>>;
|
||||
@@ -1530,6 +1537,17 @@ export type DashboardUpdateInput = {
|
||||
state?: InputMaybe<Scalars['String']['input']>;
|
||||
};
|
||||
|
||||
export type DataSourceColumn = {
|
||||
__typename?: 'DataSourceColumn';
|
||||
name: Scalars['String']['output'];
|
||||
type: Scalars['String']['output'];
|
||||
};
|
||||
|
||||
export type DataSourceRefInput = {
|
||||
alias: Scalars['String']['input'];
|
||||
dataSourceId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
export type DateIntervalFilter = {
|
||||
after?: InputMaybe<Scalars['DateTime']['input']>;
|
||||
before?: InputMaybe<Scalars['DateTime']['input']>;
|
||||
@@ -1625,6 +1643,26 @@ export type EmbedTokenCreateInput = {
|
||||
resourceIdString: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
export type ExecuteQueryInput = {
|
||||
dataSources?: InputMaybe<Array<DataSourceRefInput>>;
|
||||
modelIds: Array<Scalars['String']['input']>;
|
||||
projectId: Scalars['String']['input'];
|
||||
query: Scalars['JSONObject']['input'];
|
||||
};
|
||||
|
||||
export type ExecuteQueryResult = {
|
||||
__typename?: 'ExecuteQueryResult';
|
||||
aggregate: ModelExecutionResult;
|
||||
perModel: Array<ModelExecutionResult>;
|
||||
};
|
||||
|
||||
export type ExecuteVersionQueryInput = {
|
||||
modelId: Scalars['String']['input'];
|
||||
projectId: Scalars['String']['input'];
|
||||
query: Scalars['JSONObject']['input'];
|
||||
versionId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
export type ExtendedViewerResources = {
|
||||
__typename?: 'ExtendedViewerResources';
|
||||
/** The groups of viewer resources themselves */
|
||||
@@ -1646,6 +1684,19 @@ export type ExtendedViewerResourcesRequest = {
|
||||
savedViewId?: Maybe<Scalars['ID']['output']>;
|
||||
};
|
||||
|
||||
export type ExternalDataSource = {
|
||||
__typename?: 'ExternalDataSource';
|
||||
columns: Array<DataSourceColumn>;
|
||||
createdAt: Scalars['DateTime']['output'];
|
||||
filename: Scalars['String']['output'];
|
||||
id: Scalars['String']['output'];
|
||||
name: Scalars['String']['output'];
|
||||
projectId?: Maybe<Scalars['String']['output']>;
|
||||
rowCount: Scalars['Int']['output'];
|
||||
updatedAt: Scalars['DateTime']['output'];
|
||||
workspaceId: Scalars['String']['output'];
|
||||
};
|
||||
|
||||
export type FileImportResultInput = {
|
||||
/** Duration of the file download before parsing started in seconds */
|
||||
downloadDurationSeconds: Scalars['Float']['input'];
|
||||
@@ -1812,6 +1863,277 @@ export type IngestionHistoryInput = {
|
||||
limit?: InputMaybe<Scalars['Int']['input']>;
|
||||
};
|
||||
|
||||
export type Insight = {
|
||||
__typename?: 'Insight';
|
||||
/**
|
||||
* Aggregate results across all tracked models (newest first).
|
||||
* Use limit=1 for KPI badge.
|
||||
*/
|
||||
aggregateResults: Array<InsightResult>;
|
||||
createdAt: Scalars['DateTime']['output'];
|
||||
createdBy: Scalars['String']['output'];
|
||||
customized: Scalars['Boolean']['output'];
|
||||
dataSources: Array<InsightDataSourceLink>;
|
||||
/** Version history (previous snapshots) */
|
||||
history: Array<InsightVersion>;
|
||||
id: Scalars['String']['output'];
|
||||
/** Latest result per model (excludes aggregate) */
|
||||
latestResults: Array<InsightResult>;
|
||||
metadata: Scalars['JSONObject']['output'];
|
||||
modelIds: Array<Scalars['String']['output']>;
|
||||
/** Historical results for a specific model (newest first) */
|
||||
modelResults: Array<InsightResult>;
|
||||
name: Scalars['String']['output'];
|
||||
projectId: Scalars['String']['output'];
|
||||
query: Scalars['JSONObject']['output'];
|
||||
/** The template this insight was created from (null if ad-hoc or template deleted) */
|
||||
template?: Maybe<InsightTemplate>;
|
||||
/** Which template version was snapshotted at creation/last sync */
|
||||
templateVersion?: Maybe<Scalars['Int']['output']>;
|
||||
trigger: Scalars['String']['output'];
|
||||
type: Scalars['String']['output'];
|
||||
updatedAt: Scalars['DateTime']['output'];
|
||||
updatedBy?: Maybe<Scalars['String']['output']>;
|
||||
version: Scalars['Int']['output'];
|
||||
/** Stored results for a specific version */
|
||||
versionResults: Array<InsightResult>;
|
||||
};
|
||||
|
||||
|
||||
export type InsightAggregateResultsArgs = {
|
||||
limit?: InputMaybe<Scalars['Int']['input']>;
|
||||
};
|
||||
|
||||
|
||||
export type InsightModelResultsArgs = {
|
||||
limit?: InputMaybe<Scalars['Int']['input']>;
|
||||
modelId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type InsightVersionResultsArgs = {
|
||||
modelId: Scalars['String']['input'];
|
||||
versionId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
export type InsightCreateInput = {
|
||||
metadata?: InputMaybe<Scalars['JSONObject']['input']>;
|
||||
modelIds?: InputMaybe<Array<Scalars['String']['input']>>;
|
||||
name: Scalars['String']['input'];
|
||||
projectId: Scalars['String']['input'];
|
||||
query: Scalars['JSONObject']['input'];
|
||||
trigger?: InputMaybe<Scalars['String']['input']>;
|
||||
type?: InputMaybe<Scalars['String']['input']>;
|
||||
};
|
||||
|
||||
export type InsightDataSourceLink = {
|
||||
__typename?: 'InsightDataSourceLink';
|
||||
alias: Scalars['String']['output'];
|
||||
dataSource?: Maybe<ExternalDataSource>;
|
||||
dataSourceId: Scalars['String']['output'];
|
||||
insightId: Scalars['String']['output'];
|
||||
};
|
||||
|
||||
export type InsightMutations = {
|
||||
__typename?: 'InsightMutations';
|
||||
addModels: Insight;
|
||||
create: Insight;
|
||||
/** Create an insight by snapshotting a workspace template */
|
||||
createFromTemplate: Insight;
|
||||
delete: Scalars['Boolean']['output'];
|
||||
/** Execute a query ad-hoc against selected models (preview, no persistence) */
|
||||
executeQuery: ExecuteQueryResult;
|
||||
/** Execute a query against a single specific version of a model */
|
||||
executeVersionQuery: VersionQueryResult;
|
||||
linkDataSource: Scalars['Boolean']['output'];
|
||||
removeModel: Insight;
|
||||
/** Reset a customized insight back to its template's latest version */
|
||||
resetToTemplate: Insight;
|
||||
/** Rollback an insight to a previous version */
|
||||
rollbackInsight: Insight;
|
||||
update: Insight;
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsAddModelsArgs = {
|
||||
insightId: Scalars['String']['input'];
|
||||
modelIds: Array<Scalars['String']['input']>;
|
||||
projectId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsCreateArgs = {
|
||||
input: InsightCreateInput;
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsCreateFromTemplateArgs = {
|
||||
input: CreateFromTemplateInput;
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsDeleteArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
projectId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsExecuteQueryArgs = {
|
||||
input: ExecuteQueryInput;
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsExecuteVersionQueryArgs = {
|
||||
input: ExecuteVersionQueryInput;
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsLinkDataSourceArgs = {
|
||||
alias: Scalars['String']['input'];
|
||||
dataSourceId: Scalars['String']['input'];
|
||||
insightId: Scalars['String']['input'];
|
||||
projectId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsRemoveModelArgs = {
|
||||
insightId: Scalars['String']['input'];
|
||||
modelId: Scalars['String']['input'];
|
||||
projectId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsResetToTemplateArgs = {
|
||||
insightId: Scalars['String']['input'];
|
||||
projectId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsRollbackInsightArgs = {
|
||||
insightId: Scalars['String']['input'];
|
||||
projectId: Scalars['String']['input'];
|
||||
toVersion: Scalars['Int']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type InsightMutationsUpdateArgs = {
|
||||
input: InsightUpdateInput;
|
||||
};
|
||||
|
||||
export type InsightResult = {
|
||||
__typename?: 'InsightResult';
|
||||
id: Scalars['String']['output'];
|
||||
insightId: Scalars['String']['output'];
|
||||
modelId?: Maybe<Scalars['String']['output']>;
|
||||
result: Scalars['JSONObject']['output'];
|
||||
summary: Scalars['JSONObject']['output'];
|
||||
timestamp: Scalars['DateTime']['output'];
|
||||
versionId?: Maybe<Scalars['String']['output']>;
|
||||
};
|
||||
|
||||
export type InsightTemplate = {
|
||||
__typename?: 'InsightTemplate';
|
||||
createdAt: Scalars['DateTime']['output'];
|
||||
createdBy: Scalars['String']['output'];
|
||||
description?: Maybe<Scalars['String']['output']>;
|
||||
/** Version history (previous snapshots) */
|
||||
history: Array<InsightTemplateVersion>;
|
||||
id: Scalars['String']['output'];
|
||||
metadata: Scalars['JSONObject']['output'];
|
||||
name: Scalars['String']['output'];
|
||||
query: Scalars['JSONObject']['output'];
|
||||
type: Scalars['String']['output'];
|
||||
updatedAt: Scalars['DateTime']['output'];
|
||||
updatedBy: Scalars['String']['output'];
|
||||
version: Scalars['Int']['output'];
|
||||
workspaceId: Scalars['String']['output'];
|
||||
};
|
||||
|
||||
export type InsightTemplateCreateInput = {
|
||||
description?: InputMaybe<Scalars['String']['input']>;
|
||||
metadata?: InputMaybe<Scalars['JSONObject']['input']>;
|
||||
name: Scalars['String']['input'];
|
||||
query: Scalars['JSONObject']['input'];
|
||||
type: Scalars['String']['input'];
|
||||
workspaceId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
export type InsightTemplateMutations = {
|
||||
__typename?: 'InsightTemplateMutations';
|
||||
create: InsightTemplate;
|
||||
delete: Scalars['Boolean']['output'];
|
||||
rollback: InsightTemplate;
|
||||
update: InsightTemplate;
|
||||
};
|
||||
|
||||
|
||||
export type InsightTemplateMutationsCreateArgs = {
|
||||
input: InsightTemplateCreateInput;
|
||||
};
|
||||
|
||||
|
||||
export type InsightTemplateMutationsDeleteArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
workspaceId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type InsightTemplateMutationsRollbackArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
toVersion: Scalars['Int']['input'];
|
||||
workspaceId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type InsightTemplateMutationsUpdateArgs = {
|
||||
input: InsightTemplateUpdateInput;
|
||||
};
|
||||
|
||||
export type InsightTemplateUpdateInput = {
|
||||
description?: InputMaybe<Scalars['String']['input']>;
|
||||
id: Scalars['String']['input'];
|
||||
metadata?: InputMaybe<Scalars['JSONObject']['input']>;
|
||||
name?: InputMaybe<Scalars['String']['input']>;
|
||||
/** If true, propagate changes to all non-customized insights using this template */
|
||||
propagateToInsights?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
query?: InputMaybe<Scalars['JSONObject']['input']>;
|
||||
type?: InputMaybe<Scalars['String']['input']>;
|
||||
workspaceId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
export type InsightTemplateVersion = {
|
||||
__typename?: 'InsightTemplateVersion';
|
||||
metadata: Scalars['JSONObject']['output'];
|
||||
name: Scalars['String']['output'];
|
||||
query: Scalars['JSONObject']['output'];
|
||||
type: Scalars['String']['output'];
|
||||
updatedAt: Scalars['DateTime']['output'];
|
||||
updatedBy: Scalars['String']['output'];
|
||||
version: Scalars['Int']['output'];
|
||||
};
|
||||
|
||||
export type InsightUpdateInput = {
|
||||
id: Scalars['String']['input'];
|
||||
metadata?: InputMaybe<Scalars['JSONObject']['input']>;
|
||||
name?: InputMaybe<Scalars['String']['input']>;
|
||||
projectId: Scalars['String']['input'];
|
||||
query?: InputMaybe<Scalars['JSONObject']['input']>;
|
||||
trigger?: InputMaybe<Scalars['String']['input']>;
|
||||
type?: InputMaybe<Scalars['String']['input']>;
|
||||
};
|
||||
|
||||
export type InsightVersion = {
|
||||
__typename?: 'InsightVersion';
|
||||
customized: Scalars['Boolean']['output'];
|
||||
metadata: Scalars['JSONObject']['output'];
|
||||
name: Scalars['String']['output'];
|
||||
query: Scalars['JSONObject']['output'];
|
||||
type: Scalars['String']['output'];
|
||||
updatedAt: Scalars['DateTime']['output'];
|
||||
updatedBy?: Maybe<Scalars['String']['output']>;
|
||||
version: Scalars['Int']['output'];
|
||||
};
|
||||
|
||||
export type InvitableCollaboratorsFilter = {
|
||||
search?: InputMaybe<Scalars['String']['input']>;
|
||||
};
|
||||
@@ -2234,7 +2556,7 @@ export type LimitedWorkspace = {
|
||||
id: Scalars['ID']['output'];
|
||||
/**
|
||||
* Optional base64 encoded workspace logo image
|
||||
* @deprecated Use the `workspace.logoUrl` field instead. Will be removed after June 2025.
|
||||
* @deprecated Use the `workspace.logoUrl` field instead. Will be removed after June 2026.
|
||||
*/
|
||||
logo?: Maybe<Scalars['String']['output']>;
|
||||
/** URL for pulling the workspace logo image */
|
||||
@@ -2385,6 +2707,15 @@ export type ModelCollection = {
|
||||
totalCount: Scalars['Int']['output'];
|
||||
};
|
||||
|
||||
export type ModelExecutionResult = {
|
||||
__typename?: 'ModelExecutionResult';
|
||||
durationMs: Scalars['Int']['output'];
|
||||
modelId?: Maybe<Scalars['String']['output']>;
|
||||
result: Scalars['JSONObject']['output'];
|
||||
summary: Scalars['JSONObject']['output'];
|
||||
versionId?: Maybe<Scalars['String']['output']>;
|
||||
};
|
||||
|
||||
export type ModelIngestion = {
|
||||
__typename?: 'ModelIngestion';
|
||||
authorUser?: Maybe<LimitedUser>;
|
||||
@@ -2668,6 +2999,8 @@ export type Mutation = {
|
||||
commitsMove: Scalars['Boolean']['output'];
|
||||
dashboardMutations: DashboardMutations;
|
||||
fileUploadMutations: FileUploadMutations;
|
||||
insightMutations: InsightMutations;
|
||||
insightTemplateMutations: InsightTemplateMutations;
|
||||
/**
|
||||
* Delete a pending invite
|
||||
* Note: The required scope to invoke this is not given out to app or personal access tokens
|
||||
@@ -2710,30 +3043,8 @@ export type Mutation = {
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.create instead.
|
||||
*/
|
||||
streamCreate?: Maybe<Scalars['String']['output']>;
|
||||
/**
|
||||
* Deletes an existing stream.
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.delete instead. Field will be deleted on January 1st, 2026.
|
||||
*/
|
||||
streamDelete: Scalars['Boolean']['output'];
|
||||
/** @deprecated Part of the old API surface and will be removed in the future. */
|
||||
streamFavorite?: Maybe<Stream>;
|
||||
/**
|
||||
* Note: The required scope to invoke this is not given out to app or personal access tokens
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use ProjectInviteMutations.batchCreate instead. Field will be deleted on January 1st, 2026.
|
||||
*/
|
||||
streamInviteBatchCreate: Scalars['Boolean']['output'];
|
||||
/**
|
||||
* Cancel a pending stream invite. Can only be invoked by a stream owner.
|
||||
* Note: The required scope to invoke this is not given out to app or personal access tokens
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use ProjectInviteMutations.cancel instead. Field will be deleted on January 1st, 2026.
|
||||
*/
|
||||
streamInviteCancel: Scalars['Boolean']['output'];
|
||||
/**
|
||||
* Invite a new or registered user to the specified stream
|
||||
* Note: The required scope to invoke this is not given out to app or personal access tokens
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use ProjectInviteMutations.create instead. Field will be deleted on January 1st, 2026.
|
||||
*/
|
||||
streamInviteCreate: Scalars['Boolean']['output'];
|
||||
/**
|
||||
* Accept or decline a stream invite
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use ProjectInviteMutations.use instead.
|
||||
@@ -2744,23 +3055,11 @@ export type Mutation = {
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.leave instead.
|
||||
*/
|
||||
streamLeave: Scalars['Boolean']['output'];
|
||||
/**
|
||||
* Revokes the permissions of a user on a given stream.
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.updateRole instead. Field will be deleted on January 1st, 2026.
|
||||
*/
|
||||
streamRevokePermission?: Maybe<Scalars['Boolean']['output']>;
|
||||
/**
|
||||
* Updates an existing stream.
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.update instead.
|
||||
*/
|
||||
streamUpdate: Scalars['Boolean']['output'];
|
||||
/**
|
||||
* Update permissions of a user on a given stream.
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.updateRole instead. Field will be deleted on January 1st, 2026.
|
||||
*/
|
||||
streamUpdatePermission?: Maybe<Scalars['Boolean']['output']>;
|
||||
/** @deprecated Part of the old API surface and will be removed in the future. Use ProjectMutations.batchDelete instead. Field will be deleted on January 1st, 2026. */
|
||||
streamsDelete: Scalars['Boolean']['output'];
|
||||
/** Delete a user's account. */
|
||||
userDelete: Scalars['Boolean']['output'];
|
||||
userNotificationPreferencesUpdate?: Maybe<Scalars['Boolean']['output']>;
|
||||
@@ -2931,33 +3230,12 @@ export type MutationStreamCreateArgs = {
|
||||
};
|
||||
|
||||
|
||||
export type MutationStreamDeleteArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type MutationStreamFavoriteArgs = {
|
||||
favorited: Scalars['Boolean']['input'];
|
||||
streamId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type MutationStreamInviteBatchCreateArgs = {
|
||||
input: Array<StreamInviteCreateInput>;
|
||||
};
|
||||
|
||||
|
||||
export type MutationStreamInviteCancelArgs = {
|
||||
inviteId: Scalars['String']['input'];
|
||||
streamId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type MutationStreamInviteCreateArgs = {
|
||||
input: StreamInviteCreateInput;
|
||||
};
|
||||
|
||||
|
||||
export type MutationStreamInviteUseArgs = {
|
||||
accept: Scalars['Boolean']['input'];
|
||||
streamId: Scalars['String']['input'];
|
||||
@@ -2970,26 +3248,11 @@ export type MutationStreamLeaveArgs = {
|
||||
};
|
||||
|
||||
|
||||
export type MutationStreamRevokePermissionArgs = {
|
||||
permissionParams: StreamRevokePermissionInput;
|
||||
};
|
||||
|
||||
|
||||
export type MutationStreamUpdateArgs = {
|
||||
stream: StreamUpdateInput;
|
||||
};
|
||||
|
||||
|
||||
export type MutationStreamUpdatePermissionArgs = {
|
||||
permissionParams: StreamUpdatePermissionInput;
|
||||
};
|
||||
|
||||
|
||||
export type MutationStreamsDeleteArgs = {
|
||||
ids?: InputMaybe<Array<Scalars['String']['input']>>;
|
||||
};
|
||||
|
||||
|
||||
export type MutationUserDeleteArgs = {
|
||||
userConfirmation: UserDeleteInput;
|
||||
};
|
||||
@@ -3228,6 +3491,8 @@ export type Project = {
|
||||
allowPublicComments: Scalars['Boolean']['output'];
|
||||
/** List of allowed assignees for this issue */
|
||||
allowedIssueAssignees: IssueParticipantCollection;
|
||||
/** When the project was archived. Null if the project is active. */
|
||||
archivedAt?: Maybe<Scalars['DateTime']['output']>;
|
||||
/** Get a single automation by id. Error will be thrown if automation is not found or inaccessible. */
|
||||
automation: Automation;
|
||||
automations: AutomationCollection;
|
||||
@@ -4051,6 +4316,8 @@ export type ProjectMutations = {
|
||||
__typename?: 'ProjectMutations';
|
||||
/** Access request related mutations */
|
||||
accessRequestMutations: ProjectAccessRequestMutations;
|
||||
/** Archive an existing project. Only project owners can archive. */
|
||||
archive: Project;
|
||||
automationMutations: ProjectAutomationMutations;
|
||||
/** Batch delete projects */
|
||||
batchDelete: Scalars['Boolean']['output'];
|
||||
@@ -4071,6 +4338,8 @@ export type ProjectMutations = {
|
||||
/** @deprecated Part of the old API surface and will be removed in the future. Field will be deleted on October 1st, 2026. */
|
||||
revokeEmbedTokens: Scalars['Boolean']['output'];
|
||||
savedViewMutations: SavedViewMutations;
|
||||
/** Unarchive an archived project. Only project owners can unarchive. */
|
||||
unarchive: Project;
|
||||
/** Updates an existing project */
|
||||
update: Project;
|
||||
/** Update role for a collaborator */
|
||||
@@ -4078,6 +4347,11 @@ export type ProjectMutations = {
|
||||
};
|
||||
|
||||
|
||||
export type ProjectMutationsArchiveArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type ProjectMutationsAutomationMutationsArgs = {
|
||||
projectId: Scalars['ID']['input'];
|
||||
};
|
||||
@@ -4119,6 +4393,11 @@ export type ProjectMutationsRevokeEmbedTokensArgs = {
|
||||
};
|
||||
|
||||
|
||||
export type ProjectMutationsUnarchiveArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type ProjectMutationsUpdateArgs = {
|
||||
update: ProjectUpdateInput;
|
||||
};
|
||||
@@ -4158,6 +4437,7 @@ export type ProjectPermissionChecks = {
|
||||
__typename?: 'ProjectPermissionChecks';
|
||||
canAccessIssuesFeature: PermissionCheckResult;
|
||||
canAccessViewerTableFeature: PermissionCheckResult;
|
||||
canArchive: PermissionCheckResult;
|
||||
canBroadcastActivity: PermissionCheckResult;
|
||||
canCreateAutomation: PermissionCheckResult;
|
||||
/** @deprecated Comments were moved to issues. Use canCreateIssue instead. This check will be removed after 01 Jun 2026. */
|
||||
@@ -4188,6 +4468,7 @@ export type ProjectPermissionChecks = {
|
||||
canRequestRender: PermissionCheckResult;
|
||||
/** @deprecated Part of the old API surface and will be removed in the future. Use canRevoke on ShareToken. Field will be deleted on October 1st, 2026. */
|
||||
canRevokeEmbedTokens: PermissionCheckResult;
|
||||
canUnarchive: PermissionCheckResult;
|
||||
canUpdate: PermissionCheckResult;
|
||||
canUpdateAllowPublicComments: PermissionCheckResult;
|
||||
canUpdateRole: PermissionCheckResult;
|
||||
@@ -4358,6 +4639,13 @@ export enum ProjectVisibility {
|
||||
Workspace = 'WORKSPACE'
|
||||
}
|
||||
|
||||
export type PropagationResult = {
|
||||
__typename?: 'PropagationResult';
|
||||
failed: Scalars['Int']['output'];
|
||||
skipped: Scalars['Int']['output'];
|
||||
updated: Scalars['Int']['output'];
|
||||
};
|
||||
|
||||
export type Query = {
|
||||
__typename?: 'Query';
|
||||
/** Stare into the void. */
|
||||
@@ -4395,6 +4683,14 @@ export type Query = {
|
||||
* @deprecated Part of the old API surface and will be removed in the future.
|
||||
*/
|
||||
discoverableStreams?: Maybe<StreamCollection>;
|
||||
/** Get a single insight by ID */
|
||||
insight?: Maybe<Insight>;
|
||||
/** Get a single insight result by ID */
|
||||
insightResult?: Maybe<InsightResult>;
|
||||
/** Get a single insight template by ID */
|
||||
insightTemplate?: Maybe<InsightTemplate>;
|
||||
/** List all insights tracking a specific model */
|
||||
modelInsights: Array<Insight>;
|
||||
/** Get the (limited) profile information of another server user */
|
||||
otherUser?: Maybe<LimitedUser>;
|
||||
permissions: RootPermissionChecks;
|
||||
@@ -4403,6 +4699,8 @@ export type Query = {
|
||||
* to see it, for example, if a project isn't public and the user doesn't have the appropriate rights.
|
||||
*/
|
||||
project: Project;
|
||||
/** List all insights for a project, optionally filtered by type */
|
||||
projectInsights: Array<Insight>;
|
||||
/**
|
||||
* Look for an invitation to a project, for the current user (authed or not). If token
|
||||
* isn't specified, the server will look for any valid invite.
|
||||
@@ -4432,11 +4730,6 @@ export type Query = {
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use Query.projectInvite instead.
|
||||
*/
|
||||
streamInvite?: Maybe<PendingStreamCollaborator>;
|
||||
/**
|
||||
* Get all invitations to streams that the active user has
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use User.projectInvites instead. Field will be deleted on January 1st, 2026.
|
||||
*/
|
||||
streamInvites: Array<PendingStreamCollaborator>;
|
||||
/**
|
||||
* Returns all streams that the active user is a collaborator on.
|
||||
* Pass in the `query` parameter to search by name, description or ID.
|
||||
@@ -4467,6 +4760,8 @@ export type Query = {
|
||||
validateWorkspaceSlug: Scalars['Boolean']['output'];
|
||||
workspace: Workspace;
|
||||
workspaceBySlug: Workspace;
|
||||
/** List templates for a workspace, optionally filtered by type */
|
||||
workspaceInsightTemplates: Array<InsightTemplate>;
|
||||
/**
|
||||
* Look for an invitation to a workspace, for the current user (authed or not).
|
||||
*
|
||||
@@ -4524,6 +4819,30 @@ export type QueryDiscoverableStreamsArgs = {
|
||||
};
|
||||
|
||||
|
||||
export type QueryInsightArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
projectId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryInsightResultArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
projectId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryInsightTemplateArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
workspaceId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryModelInsightsArgs = {
|
||||
modelId: Scalars['String']['input'];
|
||||
projectId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryOtherUserArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
};
|
||||
@@ -4534,6 +4853,12 @@ export type QueryProjectArgs = {
|
||||
};
|
||||
|
||||
|
||||
export type QueryProjectInsightsArgs = {
|
||||
projectId: Scalars['String']['input'];
|
||||
type?: InputMaybe<Scalars['String']['input']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryProjectInviteArgs = {
|
||||
projectId: Scalars['String']['input'];
|
||||
token?: InputMaybe<Scalars['String']['input']>;
|
||||
@@ -4628,6 +4953,12 @@ export type QueryWorkspaceBySlugArgs = {
|
||||
};
|
||||
|
||||
|
||||
export type QueryWorkspaceInsightTemplatesArgs = {
|
||||
type?: InputMaybe<Scalars['String']['input']>;
|
||||
workspaceId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryWorkspaceInviteArgs = {
|
||||
options?: InputMaybe<WorkspaceInviteLookupOptions>;
|
||||
token?: InputMaybe<Scalars['String']['input']>;
|
||||
@@ -5018,6 +5349,8 @@ export type ServerAutomateInfo = {
|
||||
export type ServerConfiguration = {
|
||||
__typename?: 'ServerConfiguration';
|
||||
blobSizeLimitBytes: Scalars['Int']['output'];
|
||||
/** Origin URL of the dashboards service */
|
||||
dashboardsOrigin?: Maybe<Scalars['String']['output']>;
|
||||
/** Email verification code timeout in minutes */
|
||||
emailVerificationTimeoutMinutes: Scalars['Int']['output'];
|
||||
/** Active server-level feature flags */
|
||||
@@ -5140,6 +5473,7 @@ export enum ServerRole {
|
||||
ServerAdmin = 'SERVER_ADMIN',
|
||||
ServerArchivedUser = 'SERVER_ARCHIVED_USER',
|
||||
ServerGuest = 'SERVER_GUEST',
|
||||
ServerSupport = 'SERVER_SUPPORT',
|
||||
ServerUser = 'SERVER_USER'
|
||||
}
|
||||
|
||||
@@ -5313,11 +5647,6 @@ export type StartFileImportInput = {
|
||||
|
||||
export type Stream = {
|
||||
__typename?: 'Stream';
|
||||
/**
|
||||
* All the recent activity on this stream in chronological order
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Field will be deleted on January 1st, 2026.
|
||||
*/
|
||||
activity?: Maybe<ActivityCollection>;
|
||||
allowPublicComments: Scalars['Boolean']['output'];
|
||||
/** @deprecated Part of the old API surface and will be removed in the future. Use Project.blob instead. */
|
||||
blob?: Maybe<BlobMetadata>;
|
||||
@@ -5390,15 +5719,6 @@ export type Stream = {
|
||||
};
|
||||
|
||||
|
||||
export type StreamActivityArgs = {
|
||||
actionType?: InputMaybe<Scalars['String']['input']>;
|
||||
after?: InputMaybe<Scalars['DateTime']['input']>;
|
||||
before?: InputMaybe<Scalars['DateTime']['input']>;
|
||||
cursor?: InputMaybe<Scalars['DateTime']['input']>;
|
||||
limit?: Scalars['Int']['input'];
|
||||
};
|
||||
|
||||
|
||||
export type StreamBlobArgs = {
|
||||
id: Scalars['String']['input'];
|
||||
};
|
||||
@@ -5490,22 +5810,6 @@ export type StreamCreateInput = {
|
||||
withContributors?: InputMaybe<Array<Scalars['String']['input']>>;
|
||||
};
|
||||
|
||||
export type StreamInviteCreateInput = {
|
||||
email?: InputMaybe<Scalars['String']['input']>;
|
||||
message?: InputMaybe<Scalars['String']['input']>;
|
||||
/** Defaults to the contributor role, if not specified */
|
||||
role?: InputMaybe<Scalars['String']['input']>;
|
||||
/** Can only be specified if guest mode is on or if the user is an admin */
|
||||
serverRole?: InputMaybe<Scalars['String']['input']>;
|
||||
streamId: Scalars['String']['input'];
|
||||
userId?: InputMaybe<Scalars['String']['input']>;
|
||||
};
|
||||
|
||||
export type StreamRevokePermissionInput = {
|
||||
streamId: Scalars['String']['input'];
|
||||
userId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
export enum StreamRole {
|
||||
StreamContributor = 'STREAM_CONTRIBUTOR',
|
||||
StreamOwner = 'STREAM_OWNER',
|
||||
@@ -5526,12 +5830,6 @@ export type StreamUpdateInput = {
|
||||
name?: InputMaybe<Scalars['String']['input']>;
|
||||
};
|
||||
|
||||
export type StreamUpdatePermissionInput = {
|
||||
role: Scalars['String']['input'];
|
||||
streamId: Scalars['String']['input'];
|
||||
userId: Scalars['String']['input'];
|
||||
};
|
||||
|
||||
export type Subscription = {
|
||||
__typename?: 'Subscription';
|
||||
/** It's lonely in the void. */
|
||||
@@ -5644,7 +5942,7 @@ export type Subscription = {
|
||||
* Track support session changes for a specific workspace.
|
||||
* Fires when sessions are requested, approved, revoked, or expire.
|
||||
*/
|
||||
workspaceSupportSessionUpdated: WorkspaceSupportSessionUpdatedMessage;
|
||||
workspaceSupportSessionUpdated?: Maybe<WorkspaceSupportSessionUpdatedMessage>;
|
||||
/**
|
||||
* Track updates to a specific workspace.
|
||||
* Either slug or id must be set.
|
||||
@@ -5998,7 +6296,7 @@ export type User = {
|
||||
/**
|
||||
* Get commits authored by the user. If requested for another user, then only commits
|
||||
* from public streams will be returned.
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use User.versions instead. Field will be deleted on January 1st, 2026.
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use User.versions instead.
|
||||
*/
|
||||
commits?: Maybe<CommitCollection>;
|
||||
company?: Maybe<Scalars['String']['output']>;
|
||||
@@ -6017,12 +6315,6 @@ export type User = {
|
||||
* (3) The user does not have a valid SSO session for the given SSO provider
|
||||
*/
|
||||
expiredSsoSessions: Array<LimitedWorkspace>;
|
||||
/**
|
||||
* All the streams that a active user has favorited.
|
||||
* Note: You can't use this to retrieve another user's favorite streams.
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Field will be deleted on January 1st, 2026.
|
||||
*/
|
||||
favoriteStreams: StreamCollection;
|
||||
/** Whether the user has a pending/active email verification token */
|
||||
hasPendingVerification?: Maybe<Scalars['Boolean']['output']>;
|
||||
id: Scalars['ID']['output'];
|
||||
@@ -6045,7 +6337,7 @@ export type User = {
|
||||
/**
|
||||
* Returns all streams that the user is a collaborator on. If requested for a user, who isn't the
|
||||
* authenticated user, then this will only return discoverable streams.
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use User.projects instead. Field will be deleted on January 1st, 2026.
|
||||
* @deprecated Part of the old API surface and will be removed in the future. Use User.projects instead.
|
||||
*/
|
||||
streams: UserStreamCollection;
|
||||
/**
|
||||
@@ -6108,16 +6400,6 @@ export type UserCommitsArgs = {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Full user type, should only be used in the context of admin operations or
|
||||
* when a user is reading/writing info about himself
|
||||
*/
|
||||
export type UserFavoriteStreamsArgs = {
|
||||
cursor?: InputMaybe<Scalars['String']['input']>;
|
||||
limit?: Scalars['Int']['input'];
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Full user type, should only be used in the context of admin operations or
|
||||
* when a user is reading/writing info about himself
|
||||
@@ -6499,6 +6781,15 @@ export type VersionPermissionChecks = {
|
||||
canUpdate: PermissionCheckResult;
|
||||
};
|
||||
|
||||
export type VersionQueryResult = {
|
||||
__typename?: 'VersionQueryResult';
|
||||
createdAt: Scalars['DateTime']['output'];
|
||||
durationMs: Scalars['Int']['output'];
|
||||
result: Scalars['JSONObject']['output'];
|
||||
summary: Scalars['JSONObject']['output'];
|
||||
versionId: Scalars['String']['output'];
|
||||
};
|
||||
|
||||
/**
|
||||
* If only one is set, the other will be resolved automatically
|
||||
* If none are set, the view will be added to the end of the list
|
||||
@@ -6696,7 +6987,7 @@ export type Workspace = {
|
||||
issueLabels: IssueLabelCollection;
|
||||
/**
|
||||
* Logo image as base64-encoded string
|
||||
* @deprecated Use the `workspace.logoUrl` field instead. Will be removed after June 2025.
|
||||
* @deprecated Use the `workspace.logoUrl` field instead. Will be removed after June 2026.
|
||||
*/
|
||||
logo?: Maybe<Scalars['String']['output']>;
|
||||
/** URL for pulling the workspace logo image */
|
||||
@@ -6706,6 +6997,13 @@ export type Workspace = {
|
||||
plan?: Maybe<WorkspacePlan>;
|
||||
/** Shows the plan prices localized for the given workspace */
|
||||
planPrices?: Maybe<WorkspacePaidPlanPrices>;
|
||||
/**
|
||||
* Bulk project activity data for the workspace timeline widget.
|
||||
* Returns versions created within a date window, grouped by project.
|
||||
* First call discovers top N projects; pass the returned cursor to load older data.
|
||||
* Internal API — may change without notice.
|
||||
*/
|
||||
projectActivityTimeline?: Maybe<WorkspaceProjectActivityTimelineResult>;
|
||||
projects: ProjectCollection;
|
||||
/** A Workspace is marked as readOnly if its trial period is finished or a paid plan is subscribed but payment has failed */
|
||||
readOnly: Scalars['Boolean']['output'];
|
||||
@@ -6767,6 +7065,11 @@ export type WorkspaceIssueLabelsArgs = {
|
||||
};
|
||||
|
||||
|
||||
export type WorkspaceProjectActivityTimelineArgs = {
|
||||
input: WorkspaceProjectActivityTimelineInput;
|
||||
};
|
||||
|
||||
|
||||
export type WorkspaceProjectsArgs = {
|
||||
cursor?: InputMaybe<Scalars['String']['input']>;
|
||||
filter?: InputMaybe<WorkspaceProjectsFilter>;
|
||||
@@ -6905,6 +7208,7 @@ export enum WorkspaceFeatureName {
|
||||
DomainDiscoverability = 'domainDiscoverability',
|
||||
EmbedPrivateProjects = 'embedPrivateProjects',
|
||||
ExclusiveMembership = 'exclusiveMembership',
|
||||
Frontend3 = 'frontend3',
|
||||
HideSpeckleBranding = 'hideSpeckleBranding',
|
||||
Issues = 'issues',
|
||||
Markup = 'markup',
|
||||
@@ -6914,6 +7218,7 @@ export enum WorkspaceFeatureName {
|
||||
Presentation = 'presentation',
|
||||
/** @deprecated Use presentation instead. Value will be dropped after July 19, 2026. */
|
||||
Presentations = 'presentations',
|
||||
ProjectArchival = 'projectArchival',
|
||||
ProjectDashboards = 'projectDashboards',
|
||||
SavedViews = 'savedViews',
|
||||
ViewerTable = 'viewerTable',
|
||||
@@ -7402,6 +7707,43 @@ export enum WorkspacePlans {
|
||||
Unlimited = 'unlimited'
|
||||
}
|
||||
|
||||
export type WorkspaceProjectActivityTimelineInput = {
|
||||
/**
|
||||
* Opaque cursor from a previous response. When provided, withProjectRoleOnly and projectLimit are ignored.
|
||||
* Encodes the locked-in project set and next date boundary.
|
||||
*/
|
||||
cursor?: InputMaybe<Scalars['String']['input']>;
|
||||
/**
|
||||
* Size of each date window in days. Default: 7.
|
||||
* Used for both discovery (now - N days) and pagination (cursor.before - N days).
|
||||
* Can change between pages — the cursor locks the project set and boundary,
|
||||
* while this controls how far back from that boundary to look.
|
||||
*/
|
||||
dateRangeDays?: InputMaybe<Scalars['Int']['input']>;
|
||||
/** Max projects to discover by updatedAt DESC. Default: 20. Ignored when cursor is provided. */
|
||||
projectLimit?: InputMaybe<Scalars['Int']['input']>;
|
||||
/**
|
||||
* Only return projects where the active user has an explicit project role.
|
||||
* Used on first call (discovery). Ignored when cursor is provided (as projects are pre-determined then).
|
||||
*/
|
||||
withProjectRoleOnly?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
};
|
||||
|
||||
export type WorkspaceProjectActivityTimelineProjectGroup = {
|
||||
__typename?: 'WorkspaceProjectActivityTimelineProjectGroup';
|
||||
project: Project;
|
||||
/** Versions within the date range, ordered by createdAt DESC. */
|
||||
versions: Array<Version>;
|
||||
};
|
||||
|
||||
export type WorkspaceProjectActivityTimelineResult = {
|
||||
__typename?: 'WorkspaceProjectActivityTimelineResult';
|
||||
/** Opaque cursor for loading older data. Null when no more data is available. */
|
||||
cursor?: Maybe<Scalars['String']['output']>;
|
||||
/** Projects with their versions, ordered by most recent version DESC. */
|
||||
projectGroups: Array<WorkspaceProjectActivityTimelineProjectGroup>;
|
||||
};
|
||||
|
||||
export type WorkspaceProjectCreateInput = {
|
||||
description?: InputMaybe<Scalars['String']['input']>;
|
||||
name?: InputMaybe<Scalars['String']['input']>;
|
||||
@@ -7464,6 +7806,8 @@ export type WorkspaceProjectMutationsUpdateRoleArgs = {
|
||||
};
|
||||
|
||||
export type WorkspaceProjectsFilter = {
|
||||
/** Include archived projects in results. Only respected for workspace admins; silently ignored for non-admins. */
|
||||
includeArchived?: InputMaybe<Scalars['Boolean']['input']>;
|
||||
/** Filter out projects by name */
|
||||
search?: InputMaybe<Scalars['String']['input']>;
|
||||
/** Only return workspace projects that the active user has an explicit project role in */
|
||||
|
||||
Reference in New Issue
Block a user