From 55b1acd54bfdcf4ea1a837524cc57cd4c678365c Mon Sep 17 00:00:00 2001 From: Vladimir Aleksiev Date: Fri, 17 Jan 2025 17:13:47 +0200 Subject: [PATCH 1/4] restructure allow KnowledgeBase ingestion --- .env.default | 4 +- graphql/fragments/callout.graphql | 50 + graphql/fragments/profile.graphql | 6 + graphql/fragments/space-ingest.graphql | 73 +- graphql/queries/knowledge-base-ingest.graphql | 15 + package-lock.json | 11 +- package.json | 3 +- src/callout.handlers/base.ts | 2 + src/callout.handlers/index.ts | 2 +- src/data.readers/konwledge.base.ts | 52 + .../process.space.tree.ts | 22 +- src/data.readers/space.ts | 36 + src/data.readers/types.d.ts | 9 + src/embed.body.of.knowledge.ts | 109 + src/{embed.ts => embed.documents.ts} | 24 +- src/event.bus/connection.ts | 18 +- .../events/ingest.body.of.knowledge.result.ts | 30 + .../events/ingest.body.of.knowledge.ts | 17 + src/event.bus/events/ingest.space.result.ts | 26 - src/event.bus/events/ingest.space.ts | 12 - src/generated/graphql.ts | 8112 +++++++++++------ src/graphql.client/AlkemioCliClient.ts | 8 +- src/index.ts | 14 +- src/logger.ts | 5 + src/process.callouts.ts | 28 + src/space.embed/embed.space.ts | 98 - src/summarize/graph.ts | 15 +- 27 files changed, 5925 insertions(+), 2876 deletions(-) create mode 100644 graphql/fragments/callout.graphql create mode 100644 graphql/queries/knowledge-base-ingest.graphql create mode 100644 src/data.readers/konwledge.base.ts rename src/{space.embed => data.readers}/process.space.tree.ts (71%) create mode 100644 src/data.readers/space.ts create mode 100644 src/data.readers/types.d.ts create mode 100644 src/embed.body.of.knowledge.ts rename src/{embed.ts => embed.documents.ts} (91%) create mode 100644 src/event.bus/events/ingest.body.of.knowledge.result.ts create mode 100644 src/event.bus/events/ingest.body.of.knowledge.ts delete mode 100644 src/event.bus/events/ingest.space.result.ts delete mode 100644 src/event.bus/events/ingest.space.ts create mode 100644 src/process.callouts.ts delete mode 100644 src/space.embed/embed.space.ts diff --git a/.env.default b/.env.default index 103e9b8..f27a152 100644 --- a/.env.default +++ b/.env.default @@ -21,8 +21,8 @@ AUTH_ADMIN_PASSWORD=master-password VECTOR_DB_HOST=localhost VECTOR_DB_PORT=8765 -CHUNK_SIZE=1000 -CHUNK_OVERLAP=100 +CHUNK_SIZE=9000 +CHUNK_OVERLAP=500 SUMMARY_LENGTH=10000 diff --git a/graphql/fragments/callout.graphql b/graphql/fragments/callout.graphql new file mode 100644 index 0000000..debf080 --- /dev/null +++ b/graphql/fragments/callout.graphql @@ -0,0 +1,50 @@ +fragment CalloutFields on Callout { + id + nameID + type + visibility + comments { + messagesCount + messages { + sender { + ... on User { + profile { + url + displayName + } + } + ... on VirtualContributor { + profile { + url + displayName + } + } + } + message + timestamp + } + } + framing { + id + profile { + ...ProfileFields + } + } + contributions { + post { + id + nameID + profile { + ...ProfileFields + } + } + link { + id + uri + profile { + ...ProfileNoTagsetFields + } + + } + } +} diff --git a/graphql/fragments/profile.graphql b/graphql/fragments/profile.graphql index 07053a0..e431fc3 100644 --- a/graphql/fragments/profile.graphql +++ b/graphql/fragments/profile.graphql @@ -5,6 +5,12 @@ fragment ProfileFields on Profile { tagline url type + location { + city + country + postalCode + } + tagset { tags } diff --git a/graphql/fragments/space-ingest.graphql b/graphql/fragments/space-ingest.graphql index 5c9bd9e..fb33282 100644 --- a/graphql/fragments/space-ingest.graphql +++ b/graphql/fragments/space-ingest.graphql @@ -3,27 +3,7 @@ fragment SpaceIngest on Space { nameID type profile { - description - displayName - tagline - url - location { - city - country - postalCode - } - tagset { - tags - } - references { - description - name - uri - } - visuals { - uri - name - } + ...ProfileFields } context { vision @@ -32,54 +12,9 @@ fragment SpaceIngest on Space { } collaboration { - callouts { - id - nameID - type - visibility - comments { - messagesCount - messages { - sender { - ... on User { - profile { - url - displayName - } - } - ... on VirtualContributor { - profile { - url - displayName - } - } - } - message - timestamp - } - } - framing { - id - profile { - ...ProfileFields - } - } - contributions { - post { - id - nameID - profile { - ...ProfileFields - } - } - link { - id - uri - profile { - ...ProfileNoTagsetFields - } - - } + calloutsSet { + callouts { + ...CalloutFields } } } diff --git a/graphql/queries/knowledge-base-ingest.graphql b/graphql/queries/knowledge-base-ingest.graphql new file mode 100644 index 0000000..4ec17e5 --- /dev/null +++ b/graphql/queries/knowledge-base-ingest.graphql @@ -0,0 +1,15 @@ +query knowledgeBaseIngest($knowledgeBaseID: UUID!){ + lookup { + knowledgeBase(ID: $knowledgeBaseID) { + id + profile { + ...ProfileFields + } + calloutsSet { + callouts { + ...CalloutFields + } + } + } + } +} diff --git a/package-lock.json b/package-lock.json index d106481..330a64e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "@alkemio/space-ingest", + "name": "@alkemio/ingest-body-of-knowledge", "version": "0.10.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "@alkemio/space-ingest", + "name": "@alkemio/ingest-body-of-knowledge", "version": "0.10.0", "license": "EUPL-1.2", "dependencies": { @@ -24,6 +24,7 @@ "graphql": "^16.6.0", "graphql-upload": "^16.0.1", "langchain": "^0.2.2", + "langsmith": "^0.1.66", "mammoth": "^1.7.2", "officeparser": "^4.1.1", "pdf-parse": "^1.1.1", @@ -8060,9 +8061,9 @@ "integrity": "sha512-WnKI4g9kU2bHQP136orXr2bcRdgz9iiTBpTN0jWt9IlScUKnJBoD0aa2HOzHURQKeQDnt2JwqVmQ6Depf5uDLQ==" }, "node_modules/langsmith": { - "version": "0.1.60", - "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.1.60.tgz", - "integrity": "sha512-xchy/7PynZTkYXhismEYc+0XuDNDTzreKIyc/V3ohq4vnG79Iu+nPjDifvtICLHPCXTU8KSVno+PJX39XwhSjg==", + "version": "0.1.66", + "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.1.66.tgz", + "integrity": "sha512-ZhZ9g8t/qjj0oUWpvKLtUe3qxDL/N0wG0m+Ctkxf0keopYJkcMJg4/71jl6ZYyiSU8xlC27aixXOT0uvLhqcFA==", "dependencies": { "@types/uuid": "^10.0.0", "commander": "^10.0.1", diff --git a/package.json b/package.json index c5ba1f7..ed954b3 100755 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@alkemio/space-ingest", + "name": "@alkemio/ingest-body-of-knowledge", "version": "0.10.0", "description": "", "author": "Alkemio Foundation", @@ -59,6 +59,7 @@ "graphql": "^16.6.0", "graphql-upload": "^16.0.1", "langchain": "^0.2.2", + "langsmith": "^0.1.66", "mammoth": "^1.7.2", "officeparser": "^4.1.1", "pdf-parse": "^1.1.1", diff --git a/src/callout.handlers/base.ts b/src/callout.handlers/base.ts index fcba0cc..4e10e58 100644 --- a/src/callout.handlers/base.ts +++ b/src/callout.handlers/base.ts @@ -38,6 +38,7 @@ export const baseHandler = async ( const result: Document[] = [ new Document({ + id: documentId, pageContent, metadata: { documentId, @@ -63,6 +64,7 @@ export const baseHandler = async ( generateDocument(docLike); result.push( new Document({ + id: documentId, pageContent, metadata: { documentId, diff --git a/src/callout.handlers/index.ts b/src/callout.handlers/index.ts index 26cecb4..36a145b 100644 --- a/src/callout.handlers/index.ts +++ b/src/callout.handlers/index.ts @@ -3,7 +3,7 @@ import { Callout, CalloutType } from '../generated/graphql'; import { Document } from 'langchain/document'; import { baseHandler } from './base'; import { linkCollectionHandler } from './link.collection'; -import { AlkemioCliClient } from 'src/graphql.client/AlkemioCliClient'; +import { AlkemioCliClient } from '../graphql.client/AlkemioCliClient'; const handlersMap: Record< CalloutType, diff --git a/src/data.readers/konwledge.base.ts b/src/data.readers/konwledge.base.ts new file mode 100644 index 0000000..6327fad --- /dev/null +++ b/src/data.readers/konwledge.base.ts @@ -0,0 +1,52 @@ +import generateDocument from '../generate.document'; +import { Document } from 'langchain/document'; +import { IngestBodyOfKnowledge } from '../event.bus/events/ingest.body.of.knowledge'; +import { AlkemioCliClient } from '../graphql.client/AlkemioCliClient'; +import logger from '../logger'; +import { processCallouts } from '../process.callouts'; +import { Callout } from '../generated/graphql'; + +export const embedKnowledgeBase = async ( + event: IngestBodyOfKnowledge, + alkemioClient: AlkemioCliClient +) => { + const knowledgeBaseId = event.bodyOfKnowledgeId; + // make sure the service user has sufficient priviliges + let knowledgeBase; + try { + knowledgeBase = await alkemioClient.ingestKnowledgeBase(knowledgeBaseId); + } catch (error) { + logger.error(error); + throw new Error('GraphQL connection failed.'); + } + + if (!knowledgeBase) { + logger.error(`knowledgeBase ${knowledgeBaseId} not found.`); + throw new Error(`knowledgeBase ${knowledgeBaseId} not found.`); + } + + const documents: Document[] = []; //= await processknowledgeBaseTree( + const { documentId, source, pageContent, type, title } = + generateDocument(knowledgeBase); + + documents.push( + new Document({ + id: documentId, + pageContent, + metadata: { + documentId, + source, + type, + title, + }, + }) + ); + + const calloutDocs = await processCallouts( + (knowledgeBase.calloutsSet?.callouts || []) as Partial[], + alkemioClient + ); + documents.push(...calloutDocs); + + return { bodyOfKnowledge: knowledgeBase, documents }; +}; diff --git a/src/space.embed/process.space.tree.ts b/src/data.readers/process.space.tree.ts similarity index 71% rename from src/space.embed/process.space.tree.ts rename to src/data.readers/process.space.tree.ts index cb3401a..0e94cab 100644 --- a/src/space.embed/process.space.tree.ts +++ b/src/data.readers/process.space.tree.ts @@ -6,6 +6,7 @@ import logger from '../logger'; import generateDocument from '../generate.document'; import { handleCallout } from '../callout.handlers'; import { AlkemioCliClient } from '../graphql.client/AlkemioCliClient'; +import { processCallouts } from '../process.callouts'; // recursive function // first invocation is with [rootSpace] // second invocation is with rootSpace.subspaces @@ -21,6 +22,7 @@ export const processSpaceTree = async ( generateDocument(subspace); documents.push( new Document({ + id: documentId, pageContent, metadata: { documentId, @@ -30,21 +32,11 @@ export const processSpaceTree = async ( }, }) ); - - for (let j = 0; j < (subspace.collaboration?.callouts || []).length; j++) { - const callout = (subspace.collaboration?.callouts || [])[j]; - if (callout && callout.visibility === CalloutVisibility.Published) { - const document = await handleCallout( - callout as Partial, - logger, - alkemioClient - ); - // empty doc - nothing to do here - if (document) { - documents.push(...document); - } - } - } + const calloutDocs = await processCallouts( + subspace.collaboration?.calloutsSet.callouts || [], + alkemioClient + ); + documents.push(...calloutDocs); // incoke recursively for the subspaces of the rootSpace const subspacesDocs = await processSpaceTree( diff --git a/src/data.readers/space.ts b/src/data.readers/space.ts new file mode 100644 index 0000000..5cccef3 --- /dev/null +++ b/src/data.readers/space.ts @@ -0,0 +1,36 @@ +import { Document } from 'langchain/document'; + +import { Space } from '../generated/graphql'; + +import logger from '../logger'; +import { AlkemioCliClient } from '../graphql.client/AlkemioCliClient'; +import { processSpaceTree } from './process.space.tree'; +import { IngestBodyOfKnowledge } from 'src/event.bus/events/ingest.body.of.knowledge'; +import { ReadResult } from './types'; + +export const embedSpace = async ( + event: IngestBodyOfKnowledge, + alkemioClient: AlkemioCliClient +): Promise => { + const spaceId = event.bodyOfKnowledgeId; + // make sure the service user has sufficient priviliges + let space; + try { + space = await alkemioClient.ingestSpace(spaceId); + } catch (error) { + logger.error(error); + throw new Error('GraphQL connection failed.'); + } + + if (!space) { + logger.error(`Space ${spaceId} not found.`); + throw new Error(`Space ${spaceId} not found.`); + } + + const documents: Document[] = await processSpaceTree( + [space as Partial], + alkemioClient + ); + + return { bodyOfKnowledge: space, documents }; +}; diff --git a/src/data.readers/types.d.ts b/src/data.readers/types.d.ts new file mode 100644 index 0000000..8536b88 --- /dev/null +++ b/src/data.readers/types.d.ts @@ -0,0 +1,9 @@ +export declare type BodyOfKnowledgeReadResult = { + id: string; + profile: { displayName: string; url: string }; +}; + +export declare type ReadResult = { + documents?: Document[]; + bodyOfKnowledge?: BodyOfKnowledgeReadResult; +}; diff --git a/src/embed.body.of.knowledge.ts b/src/embed.body.of.knowledge.ts new file mode 100644 index 0000000..e4c6b7e --- /dev/null +++ b/src/embed.body.of.knowledge.ts @@ -0,0 +1,109 @@ +import logger, { getErrorMessage } from './logger'; +import { AlkemioCliClient } from './graphql.client/AlkemioCliClient'; +import { + ErrorCode, + IngestBodyOfKnowledgeResult, + IngestionResult, +} from './event.bus/events/ingest.body.of.knowledge.result'; +import { IngestBodyOfKnowledge } from 'src/event.bus/events/ingest.body.of.knowledge'; +import { embedSpace } from './data.readers/space'; +import { embedKnowledgeBase } from './data.readers/konwledge.base'; +import { BodyOfKnowledgeType } from './event.bus/events/ingest.body.of.knowledge'; +import { ReadResult } from './data.readers/types'; +import { embedDocuments } from './embed.documents'; + +export const setResultError = ( + result: IngestBodyOfKnowledgeResult, + message: string, + code?: ErrorCode +) => { + result.error = { code, message }; + result.result = IngestionResult.FAILURE; + // this shenanigan is here to ensure the Timestamp is in UTC timezone + result.timestamp = new Date( + new Date().toLocaleString('en', { timeZone: 'UTC' }) + ).getTime(); + return result; +}; + +export const embedBodyOfKnowledge = async (event: IngestBodyOfKnowledge) => { + const resultEvent = new IngestBodyOfKnowledgeResult( + event.bodyOfKnowledgeId, + event.type, + event.purpose, + event.personaServiceId + ); + + const purpose = event.purpose; + + logger.defaultMeta.bodyOfKnowledgeId = event.bodyOfKnowledgeId; + logger.defaultMeta.type = event.type; + + logger.info( + `Ingestion started for ${event.type}: ${event.bodyOfKnowledgeId}` + ); + const alkemioClient = new AlkemioCliClient(); + + // make sure the service user has valid credentials + try { + await alkemioClient.initialise(); + } catch (error) { + logger.error(error); + return setResultError(resultEvent, 'AlkemioClient can not be initialised.'); + } + + let result: ReadResult = {}; + try { + if (event.type === BodyOfKnowledgeType.ALKEMIO_SPACE) { + logger.info(`Ingest invoked for Space: ${event.bodyOfKnowledgeId}`); + result = await embedSpace(event, alkemioClient); + } else { + logger.info( + `Ingest invoked for KnowledgeBase: ${event.bodyOfKnowledgeId}` + ); + result = await embedKnowledgeBase(event, alkemioClient); + } + } catch (error) { + logger.error(error); + return setResultError(resultEvent, getErrorMessage(error)); + } + if (!result.documents || !result.bodyOfKnowledge) { + return setResultError( + resultEvent, + 'Body Of Knowledge could not be processed.' + ); + } + + let embeddingResult = false; + try { + embeddingResult = await embedDocuments( + result.bodyOfKnowledge, + result.documents, + purpose + ); + } catch (error) { + logger.error(error); + return setResultError( + resultEvent, + 'Failed to insert embeddings.', + ErrorCode.VECTOR_INSERT + ); + } + + if (embeddingResult) { + resultEvent.result = IngestionResult.SUCCESS; + logger.info('Ingestion completed successfully.'); + } else { + logger.error('Ingestion failed.'); + resultEvent.result = IngestionResult.FAILURE; + resultEvent.error = { + message: 'An error occured while embedding.', + }; + } + // this shenanigan is here to ensure the Timestamp is in UTC timezone + resultEvent.timestamp = new Date( + new Date().toLocaleString('en', { timeZone: 'UTC' }) + ).getTime(); + + return resultEvent; +}; diff --git a/src/embed.ts b/src/embed.documents.ts similarity index 91% rename from src/embed.ts rename to src/embed.documents.ts index 29da975..33d6aee 100644 --- a/src/embed.ts +++ b/src/embed.documents.ts @@ -1,4 +1,3 @@ -import { SpaceIngestionPurpose } from './event.bus/events/ingest.space'; import { Document } from 'langchain/document'; import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter'; import { OpenAIClient, AzureKeyCredential, EmbeddingItem } from '@azure/openai'; @@ -10,20 +9,21 @@ import { BATCH_SIZE, CHUNK_OVERLAP, CHUNK_SIZE } from './constants'; import { summarizeDocument } from './summarize/document'; import { summariseBodyOfKnowledge } from './summarize/body.of.knowledge'; import { summaryLength } from './summarize/graph'; -import { Space, Profile } from '@alkemio/client-lib'; +import { IngestionPurpose } from './event.bus/events/ingest.body.of.knowledge'; +import { BodyOfKnowledgeReadResult } from './data.readers/types'; const batch = (arr: T[], size: number): Array> => Array.from({ length: Math.ceil(arr.length / size) }, (_, i) => arr.slice(i * size, i * size + size) ); -export default async ( - space: Pick & { profile: Pick }, +export const embedDocuments = async ( + bodyOfKnowledge: BodyOfKnowledgeReadResult, docs: Document[], - purpose: SpaceIngestionPurpose + purpose: IngestionPurpose ) => { - const spaceID = space.id; - logger.defaultMeta.spaceId = spaceID; + const bokID = bodyOfKnowledge.id; + logger.defaultMeta.bodyOfKnowledgeId = bokID; const endpoint = process.env.AZURE_OPENAI_ENDPOINT; const key = process.env.AZURE_OPENAI_API_KEY; @@ -45,7 +45,7 @@ export default async ( chunkOverlap: CHUNK_OVERLAP, }); - const name = `${spaceID}-${purpose}`; + const name = `${bokID}-${purpose}`; logger.info(name); const ids: string[] = []; const documents: string[] = []; @@ -53,7 +53,7 @@ export default async ( const summaries: string[] = []; - logger.info(`Splitting documents for space: ${spaceID}`); + logger.info(`Splitting documents for space: ${bokID}`); for (let docIndex = 0; docIndex < docs.length; docIndex++) { const doc = docs[docIndex]; @@ -102,10 +102,10 @@ export default async ( documents.push(bokSummary); metadatas.push({ - documentId: spaceID, - source: space.profile.url, + documentId: bokID, + source: bodyOfKnowledge.profile.url, type: 'bodyOfKnowledgeSummary', - title: space.profile?.displayName, + title: bodyOfKnowledge.profile?.displayName, }); logger.info('Connecting to Chroma...'); diff --git a/src/event.bus/connection.ts b/src/event.bus/connection.ts index ae01991..15b33d8 100644 --- a/src/event.bus/connection.ts +++ b/src/event.bus/connection.ts @@ -1,9 +1,9 @@ import amqlib, { Connection as AmqlibConnection, Channel } from 'amqplib'; import logger from '../logger'; -import { IngestSpace } from './events/ingest.space'; -import { IngestSpaceResult } from './events/ingest.space.result'; +import { IngestBodyOfKnowledge } from './events/ingest.body.of.knowledge'; +import { IngestBodyOfKnowledgeResult } from './events/ingest.body.of.knowledge.result'; -type ConsumeCallback = (event: IngestSpace) => void | Promise; +type ConsumeCallback = (event: IngestBodyOfKnowledge) => void | Promise; type ConnectionConfig = { host: string; @@ -102,7 +102,7 @@ export class Connection { } } - async send(message: IngestSpaceResult) { + async send(message: IngestBodyOfKnowledgeResult) { try { if (!this.channel) { await this.connect(); @@ -126,10 +126,14 @@ export class Connection { if (!msg) { return logger.error('Invalid incoming message'); } - const { spaceId, purpose, personaServiceId } = JSON.parse( - JSON.parse(msg.content.toString()) + const { bodyOfKnowledgeId, type, purpose, personaServiceId } = + JSON.parse(JSON.parse(msg.content.toString())); + const event = new IngestBodyOfKnowledge( + bodyOfKnowledgeId, + type, + purpose, + personaServiceId ); - const event = new IngestSpace(spaceId, purpose, personaServiceId); handler(event); } diff --git a/src/event.bus/events/ingest.body.of.knowledge.result.ts b/src/event.bus/events/ingest.body.of.knowledge.result.ts new file mode 100644 index 0000000..2e9b5ee --- /dev/null +++ b/src/event.bus/events/ingest.body.of.knowledge.result.ts @@ -0,0 +1,30 @@ +import { + IngestionPurpose, + BodyOfKnowledgeType, +} from './ingest.body.of.knowledge'; + +export enum IngestionResult { + SUCCESS = 'success', + FAILURE = 'failure', +} + +export enum ErrorCode { + VECTOR_INSERT = 'vector_insert', +} + +type IngestError = { + code?: ErrorCode; + message: string; +}; + +export class IngestBodyOfKnowledgeResult { + constructor( + public readonly bodyOfKnowledgeId: string, + public readonly type: BodyOfKnowledgeType, + public readonly purpose: IngestionPurpose, + public readonly personaServiceId: string, + public timestamp?: number, + public result: IngestionResult = IngestionResult.SUCCESS, + public error?: IngestError + ) {} +} diff --git a/src/event.bus/events/ingest.body.of.knowledge.ts b/src/event.bus/events/ingest.body.of.knowledge.ts new file mode 100644 index 0000000..879499a --- /dev/null +++ b/src/event.bus/events/ingest.body.of.knowledge.ts @@ -0,0 +1,17 @@ +export enum IngestionPurpose { + KNOWLEDGE = 'knowledge', + CONTEXT = 'context', +} +export enum BodyOfKnowledgeType { + ALKEMIO_SPACE = 'alkemio-space', + ALKEMIO_KNOWLEDGE_BASE = 'alkemio-knowledge-base', +} + +export class IngestBodyOfKnowledge { + constructor( + public readonly bodyOfKnowledgeId: string, + public readonly type: BodyOfKnowledgeType, + public readonly purpose: IngestionPurpose, + public readonly personaServiceId: string + ) {} +} diff --git a/src/event.bus/events/ingest.space.result.ts b/src/event.bus/events/ingest.space.result.ts deleted file mode 100644 index 51b88ab..0000000 --- a/src/event.bus/events/ingest.space.result.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { SpaceIngestionPurpose } from './ingest.space'; - -export enum SpaceIngestionResult { - SUCCESS = 'success', - FAILURE = 'failure', -} - -export enum ErrorCode { - VECTOR_INSERT = 'vector_insert', -} - -type IngestError = { - code?: ErrorCode; - message: string; -}; - -export class IngestSpaceResult { - constructor( - public readonly spaceId: string, - public readonly purpose: SpaceIngestionPurpose, - public readonly personaServiceId: string, - public timestamp?: number, - public result: SpaceIngestionResult = SpaceIngestionResult.SUCCESS, - public error?: IngestError - ) {} -} diff --git a/src/event.bus/events/ingest.space.ts b/src/event.bus/events/ingest.space.ts deleted file mode 100644 index 6b5476a..0000000 --- a/src/event.bus/events/ingest.space.ts +++ /dev/null @@ -1,12 +0,0 @@ -export enum SpaceIngestionPurpose { - KNOWLEDGE = 'knowledge', - CONTEXT = 'context', -} - -export class IngestSpace { - constructor( - public readonly spaceId: string, - public readonly purpose: SpaceIngestionPurpose, - public readonly personaServiceId: string - ) {} -} diff --git a/src/generated/graphql.ts b/src/generated/graphql.ts index acca03f..e15f506 100644 --- a/src/generated/graphql.ts +++ b/src/generated/graphql.ts @@ -30,7 +30,6 @@ export type Scalars = { Boolean: boolean; Int: number; Float: number; - CID: any; DID: string; DateTime: Date; Emoji: any; @@ -54,48 +53,60 @@ export type Apm = { }; export type Account = { - /** The "highest" subscription active for this Account. */ - activeSubscription?: Maybe; /** The Agent representing this Account. */ agent: Agent; /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; - /** The defaults in use by this Account */ - defaults?: Maybe; + createdDate?: Maybe; + /** The external subscription ID for this Account. */ + externalSubscriptionID?: Maybe; /** The Account host. */ host?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; - /** The Library in use by this Account */ - library?: Maybe; - /** The License governing platform functionality in use by this Account */ + /** The InnovationHubs for this Account. */ + innovationHubs: Array; + /** The InnovationPacks for this Account. */ + innovationPacks: Array; + /** The License operating on this Account. */ license: License; - /** The privileges granted based on the License credentials held by this Account. */ - licensePrivileges?: Maybe>; - /** The ID for the root space for the Account . */ - spaceID: Scalars['String']; + /** The Spaces within this Account. */ + spaces: Array; + /** The StorageAggregator in use by this Account */ + storageAggregator: StorageAggregator; /** The subscriptions active for this Account. */ subscriptions: Array; + /** A type of entity that this Account is being used with. */ + type?: Maybe; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** The virtual contributors for this Account. */ virtualContributors: Array; }; export type AccountAuthorizationResetInput = { /** The identifier of the Account whose Authorization Policy should be reset. */ - accountID: Scalars['UUID_NAMEID']; + accountID: Scalars['UUID']; +}; + +export type AccountLicenseResetInput = { + /** The identifier of the Account whose License and Entitlements should be reset. */ + accountID: Scalars['UUID']; }; export type AccountSubscription = { /** The expiry date of this subscription, null if it does never expire. */ expires?: Maybe; /** The name of the Subscription. */ - name: LicenseCredential; + name: LicensingCredentialBasedCredentialType; }; +export enum AccountType { + Organization = 'ORGANIZATION', + User = 'USER', +} + export type ActivityCreatedSubscriptionInput = { /** The collaboration on which to subscribe for new activity */ collaborationID: Scalars['UUID']; @@ -511,7 +522,7 @@ export type Actor = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** A description of this actor */ description?: Maybe; /** The ID of the entity */ @@ -520,7 +531,7 @@ export type Actor = { impact?: Maybe; name: Scalars['String']; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** A value derived by this actor */ value?: Maybe; }; @@ -531,29 +542,31 @@ export type ActorGroup = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** A description of this group of actors */ description?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; name: Scalars['String']; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type Agent = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The Credentials held by this Agent. */ credentials?: Maybe>; /** The Decentralized Identifier (DID) for this Agent. */ did?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; + /** A type of entity that this Agent is being used with. */ + type: AgentType; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** The Verfied Credentials for this Agent. */ verifiedCredentials?: Maybe>; }; @@ -572,30 +585,39 @@ export type AgentBeginVerifiedCredentialRequestOutput = { qrCodeImg: Scalars['String']; }; +export enum AgentType { + Account = 'ACCOUNT', + Organization = 'ORGANIZATION', + Space = 'SPACE', + User = 'USER', + VirtualContributor = 'VIRTUAL_CONTRIBUTOR', +} + export type AiPersona = { /** The authorization rules for the entity */ authorization?: Maybe; /** A overview of knowledge provided by this AI Persona. */ - bodyOfKnowledge: Scalars['Markdown']; + bodyOfKnowledge?: Maybe; /** The body of knowledge ID used for the AI Persona. */ bodyOfKnowledgeID?: Maybe; /** The body of knowledge type used for the AI Persona. */ bodyOfKnowledgeType?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The type of context sharing that are supported by this AI Persona when used. */ dataAccessMode: AiPersonaDataAccessMode; /** The description for this AI Persona. */ - description: Scalars['Markdown']; + description?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** The type of interactions that are supported by this AI Persona when used. */ interactionModes: Array; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export enum AiPersonaBodyOfKnowledgeType { + AlkemioKnowledgeBase = 'ALKEMIO_KNOWLEDGE_BASE', AlkemioSpace = 'ALKEMIO_SPACE', None = 'NONE', Other = 'OTHER', @@ -610,7 +632,9 @@ export enum AiPersonaDataAccessMode { export enum AiPersonaEngine { CommunityManager = 'COMMUNITY_MANAGER', Expert = 'EXPERT', + GenericOpenai = 'GENERIC_OPENAI', Guidance = 'GUIDANCE', + OpenaiAssistant = 'OPENAI_ASSISTANT', } export enum AiPersonaInteractionMode { @@ -622,10 +646,12 @@ export type AiPersonaService = { authorization?: Maybe; /** The body of knowledge ID used for the AI Persona Service */ bodyOfKnowledgeID?: Maybe; + /** When wat the body of knowledge of the VC last updated. */ + bodyOfKnowledgeLastUpdated?: Maybe; /** The body of knowledge type used for the AI Persona Service */ - bodyOfKnowledgeType?: Maybe; + bodyOfKnowledgeType: AiPersonaBodyOfKnowledgeType; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The required data access by the Virtual Persona */ dataAccessMode: AiPersonaDataAccessMode; /** The AI Persona Engine being used by this AI Persona. */ @@ -633,57 +659,36 @@ export type AiPersonaService = { /** The ID of the entity */ id: Scalars['UUID']; /** The prompt used by this Virtual Persona */ - prompt: Scalars['String']; + prompt: Array; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type AiPersonaServiceIngestInput = { aiPersonaServiceID: Scalars['UUID']; }; -export type AiPersonaServiceQuestionInput = { - /** Virtual Persona Type. */ - aiPersonaServiceID: Scalars['UUID']; - /** The ID of the context, the Virtual Persona is asked a question */ - contextID?: InputMaybe; - /** The Virtual Contributor interaciton part of which is this question */ - interactionID?: InputMaybe; - /** The question that is being asked. */ - question: Scalars['String']; - /** The ID of the message thread where the Virtual Contributor is asked a question if applicable */ - threadID?: InputMaybe; - /** User identifier used internaly by the engine */ - userID?: InputMaybe; -}; - export type AiServer = { /** A particular AiPersonaService */ aiPersonaService: AiPersonaService; /** The AiPersonaServices on this aiServer */ aiPersonaServices: Array; - /** Ask the virtual persona engine for guidance. */ - askAiPersonaServiceQuestion: MessageAnswerQuestion; /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The default AiPersonaService in use on the aiServer. */ defaultAiPersonaService: AiPersonaService; /** The ID of the entity */ id: Scalars['UUID']; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type AiServerAiPersonaServiceArgs = { ID: Scalars['UUID']; }; -export type AiServerAskAiPersonaServiceQuestionArgs = { - aiPersonaQuestionInput: AiPersonaServiceQuestionInput; -}; - export type Application = { /** The authorization rules for the entity */ authorization?: Maybe; @@ -692,9 +697,15 @@ export type Application = { createdDate: Scalars['DateTime']; /** The ID of the entity */ id: Scalars['UUID']; + /** Is this lifecycle in a final state (done). */ + isFinalized: Scalars['Boolean']; lifecycle: Lifecycle; + /** The next events of this Lifecycle. */ + nextEvents: Array; /** The Questions for this application. */ questions: Array; + /** The current state of this Lifecycle. */ + state: Scalars['String']; updatedDate: Scalars['DateTime']; }; @@ -703,22 +714,9 @@ export type ApplicationEventInput = { eventName: Scalars['String']; }; -export type AssignCommunityRoleToOrganizationInput = { - communityID: Scalars['UUID']; - organizationID: Scalars['UUID_NAMEID']; - role: CommunityRole; -}; - -export type AssignCommunityRoleToUserInput = { - communityID: Scalars['UUID']; - role: CommunityRole; - userID: Scalars['UUID_NAMEID_EMAIL']; -}; - -export type AssignCommunityRoleToVirtualInput = { - communityID: Scalars['UUID']; - role: CommunityRole; - virtualContributorID: Scalars['UUID_NAMEID']; +export type ApplyForEntryRoleOnRoleSetInput = { + questions: Array; + roleSetID: Scalars['UUID']; }; export type AssignLicensePlanToAccount = { @@ -730,20 +728,47 @@ export type AssignLicensePlanToAccount = { licensingID?: InputMaybe; }; +export type AssignLicensePlanToSpace = { + /** The ID of the LicensePlan to assign. */ + licensePlanID: Scalars['UUID']; + /** The ID of the Licensing to use. */ + licensingID?: InputMaybe; + /** The ID of the Space to assign the LicensePlan to. */ + spaceID: Scalars['UUID']; +}; + export type AssignOrganizationRoleToUserInput = { - organizationID: Scalars['UUID_NAMEID']; + organizationID: Scalars['UUID']; role: OrganizationRole; - userID: Scalars['UUID_NAMEID_EMAIL']; + userID: Scalars['UUID']; }; export type AssignPlatformRoleToUserInput = { role: PlatformRole; - userID: Scalars['UUID_NAMEID_EMAIL']; + userID: Scalars['UUID']; +}; + +export type AssignRoleOnRoleSetToOrganizationInput = { + contributorID: Scalars['UUID']; + role: CommunityRoleType; + roleSetID: Scalars['UUID']; +}; + +export type AssignRoleOnRoleSetToUserInput = { + contributorID: Scalars['UUID']; + role: CommunityRoleType; + roleSetID: Scalars['UUID']; +}; + +export type AssignRoleOnRoleSetToVirtualContributorInput = { + contributorID: Scalars['UUID']; + role: CommunityRoleType; + roleSetID: Scalars['UUID']; }; export type AssignUserGroupMemberInput = { groupID: Scalars['UUID']; - userID: Scalars['UUID_NAMEID_EMAIL']; + userID: Scalars['UUID']; }; export type AuthenticationConfig = { @@ -752,7 +777,7 @@ export type AuthenticationConfig = { }; export type AuthenticationProviderConfig = { - /** Configuration of the authenticaiton provider */ + /** Configuration of the authentication provider */ config: AuthenticationProviderConfigUnion; /** Is the authentication provider enabled? */ enabled: Scalars['Boolean']; @@ -766,10 +791,17 @@ export type AuthenticationProviderConfig = { export type AuthenticationProviderConfigUnion = OryConfig; +export enum AuthenticationType { + Email = 'EMAIL', + Linkedin = 'LINKEDIN', + Microsoft = 'MICROSOFT', + Unknown = 'UNKNOWN', +} + export type Authorization = { - anonymousReadAccess: Scalars['Boolean']; + anonymousReadAccess?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The set of credential rules that are contained by this Authorization Policy. */ credentialRules?: Maybe>; /** The ID of the entity */ @@ -778,8 +810,10 @@ export type Authorization = { myPrivileges?: Maybe>; /** The set of privilege rules that are contained by this Authorization Policy. */ privilegeRules?: Maybe>; + /** A type of entity that this Authorization Policy is being used with. */ + type?: Maybe; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** The set of verified credential rules that are contained by this Authorization Policy. */ verifiedCredentialRules?: Maybe< Array @@ -787,7 +821,6 @@ export type Authorization = { }; export enum AuthorizationCredential { - AccountHost = 'ACCOUNT_HOST', BetaTester = 'BETA_TESTER', GlobalAdmin = 'GLOBAL_ADMIN', GlobalCommunityRead = 'GLOBAL_COMMUNITY_READ', @@ -795,7 +828,6 @@ export enum AuthorizationCredential { GlobalRegistered = 'GLOBAL_REGISTERED', GlobalSpacesReader = 'GLOBAL_SPACES_READER', GlobalSupport = 'GLOBAL_SUPPORT', - InnovationPackProvider = 'INNOVATION_PACK_PROVIDER', OrganizationAdmin = 'ORGANIZATION_ADMIN', OrganizationAssociate = 'ORGANIZATION_ASSOCIATE', OrganizationOwner = 'ORGANIZATION_OWNER', @@ -827,10 +859,70 @@ export type AuthorizationPolicyRuleVerifiedCredential = { grantedPrivileges: Array; }; +export enum AuthorizationPolicyType { + Account = 'ACCOUNT', + Actor = 'ACTOR', + ActorGroup = 'ACTOR_GROUP', + Agent = 'AGENT', + AiPersona = 'AI_PERSONA', + AiPersonaService = 'AI_PERSONA_SERVICE', + AiServer = 'AI_SERVER', + Application = 'APPLICATION', + Calendar = 'CALENDAR', + CalendarEvent = 'CALENDAR_EVENT', + Callout = 'CALLOUT', + CalloutsSet = 'CALLOUTS_SET', + CalloutContribution = 'CALLOUT_CONTRIBUTION', + CalloutFraming = 'CALLOUT_FRAMING', + Collaboration = 'COLLABORATION', + Communication = 'COMMUNICATION', + Community = 'COMMUNITY', + CommunityGuidelines = 'COMMUNITY_GUIDELINES', + Context = 'CONTEXT', + Discussion = 'DISCUSSION', + Document = 'DOCUMENT', + EcosystemModel = 'ECOSYSTEM_MODEL', + Forum = 'FORUM', + InnovationFlow = 'INNOVATION_FLOW', + InnovationHub = 'INNOVATION_HUB', + InnovationPack = 'INNOVATION_PACK', + Invitation = 'INVITATION', + InMemory = 'IN_MEMORY', + KnowledgeBase = 'KNOWLEDGE_BASE', + Library = 'LIBRARY', + License = 'LICENSE', + LicensePolicy = 'LICENSE_POLICY', + Licensing = 'LICENSING', + Link = 'LINK', + Organization = 'ORGANIZATION', + OrganizationVerification = 'ORGANIZATION_VERIFICATION', + Platform = 'PLATFORM', + Post = 'POST', + Preference = 'PREFERENCE', + PreferenceSet = 'PREFERENCE_SET', + Profile = 'PROFILE', + Reference = 'REFERENCE', + RoleSet = 'ROLE_SET', + Room = 'ROOM', + Space = 'SPACE', + StorageAggregator = 'STORAGE_AGGREGATOR', + StorageBucket = 'STORAGE_BUCKET', + Tagset = 'TAGSET', + Template = 'TEMPLATE', + TemplatesManager = 'TEMPLATES_MANAGER', + TemplatesSet = 'TEMPLATES_SET', + TemplateDefault = 'TEMPLATE_DEFAULT', + Timeline = 'TIMELINE', + Unknown = 'UNKNOWN', + User = 'USER', + UserGroup = 'USER_GROUP', + VirtualContributor = 'VIRTUAL_CONTRIBUTOR', + Visual = 'VISUAL', + Whiteboard = 'WHITEBOARD', +} + export enum AuthorizationPrivilege { - AccessDashboardRefresh = 'ACCESS_DASHBOARD_REFRESH', AccessInteractiveGuidance = 'ACCESS_INTERACTIVE_GUIDANCE', - AccessVirtualContributor = 'ACCESS_VIRTUAL_CONTRIBUTOR', AuthorizationReset = 'AUTHORIZATION_RESET', CommunityAddMember = 'COMMUNITY_ADD_MEMBER', CommunityAddMemberVcFromAccount = 'COMMUNITY_ADD_MEMBER_VC_FROM_ACCOUNT', @@ -842,6 +934,8 @@ export enum AuthorizationPrivilege { Create = 'CREATE', CreateCallout = 'CREATE_CALLOUT', CreateDiscussion = 'CREATE_DISCUSSION', + CreateInnovationHub = 'CREATE_INNOVATION_HUB', + CreateInnovationPack = 'CREATE_INNOVATION_PACK', CreateMessage = 'CREATE_MESSAGE', CreateMessageReaction = 'CREATE_MESSAGE_REACTION', CreateMessageReply = 'CREATE_MESSAGE_REPLY', @@ -851,12 +945,12 @@ export enum AuthorizationPrivilege { CreateSubspace = 'CREATE_SUBSPACE', CreateVirtualContributor = 'CREATE_VIRTUAL_CONTRIBUTOR', CreateWhiteboard = 'CREATE_WHITEBOARD', - CreateWhiteboardRt = 'CREATE_WHITEBOARD_RT', Delete = 'DELETE', FileDelete = 'FILE_DELETE', FileUpload = 'FILE_UPLOAD', Grant = 'GRANT', GrantGlobalAdmins = 'GRANT_GLOBAL_ADMINS', + LicenseReset = 'LICENSE_RESET', MoveContribution = 'MOVE_CONTRIBUTION', MovePost = 'MOVE_POST', PlatformAdmin = 'PLATFORM_ADMIN', @@ -864,38 +958,32 @@ export enum AuthorizationPrivilege { ReadUsers = 'READ_USERS', ReadUserPii = 'READ_USER_PII', ReadUserSettings = 'READ_USER_SETTINGS', - SaveAsTemplate = 'SAVE_AS_TEMPLATE', + TransferResource = 'TRANSFER_RESOURCE', Update = 'UPDATE', UpdateCalloutPublisher = 'UPDATE_CALLOUT_PUBLISHER', UpdateContent = 'UPDATE_CONTENT', UpdateInnovationFlow = 'UPDATE_INNOVATION_FLOW', - UpdateWhiteboard = 'UPDATE_WHITEBOARD', } export type Calendar = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** A single CalendarEvent */ event?: Maybe; /** The list of CalendarEvents for this Calendar. */ - events?: Maybe>; + events: Array; /** The ID of the entity */ id: Scalars['UUID']; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type CalendarEventArgs = { ID: Scalars['UUID_NAMEID']; }; -export type CalendarEventsArgs = { - IDs?: InputMaybe>; - limit?: InputMaybe; -}; - export type CalendarEvent = { /** The authorization rules for the entity */ authorization?: Maybe; @@ -904,7 +992,7 @@ export type CalendarEvent = { /** The user that created this CalendarEvent */ createdBy?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The length of the event in days. */ durationDays?: Maybe; /** The length of the event in minutes. */ @@ -919,10 +1007,14 @@ export type CalendarEvent = { profile: Profile; /** The start time for this CalendarEvent. */ startDate?: Maybe; + /** Which Subspace is this event part of. Only applicable if the Space has this option enabled. */ + subspace?: Maybe; /** The event type, e.g. webinar, meetup etc. */ type: CalendarEventType; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; + /** Is the event visible on the parent calendar. */ + visibleOnParentCalendar: Scalars['Boolean']; /** Flag to indicate if this event is for a whole day. */ wholeDay: Scalars['Boolean']; }; @@ -950,11 +1042,13 @@ export type Callout = { /** The user that created this Callout */ createdBy?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The Callout Framing associated with this Callout. */ framing: CalloutFraming; /** The ID of the entity */ id: Scalars['UUID']; + /** Whether this callout is a Template or not. */ + isTemplate: Scalars['Boolean']; /** A name identifier of the entity, unique within a given scope. */ nameID: Scalars['NameID']; /** The Posts associated with this Callout. */ @@ -968,7 +1062,7 @@ export type Callout = { /** The Callout type, e.g. Post, Whiteboard, Discussion */ type: CalloutType; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** Visibility of the Callout. */ visibility: CalloutVisibility; }; @@ -986,28 +1080,30 @@ export type CalloutContribution = { /** The user that created this Document */ createdBy?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** The Link that was contributed. */ link?: Maybe; /** The Post that was contributed. */ post?: Maybe; + /** The sorting order for this Contribution. */ + sortOrder: Scalars['Float']; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** The Whiteboard that was contributed. */ whiteboard?: Maybe; }; export type CalloutContributionDefaults = { /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** The default description to use for new contributions. */ postDescription?: Maybe; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** The default whiteboard content for whiteboard responses. */ whiteboardContent?: Maybe; }; @@ -1025,13 +1121,13 @@ export type CalloutContributionPolicy = { /** The allowed contribution types for this callout. */ allowedContributionTypes: Array; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** State of the Callout. */ state: CalloutState; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export enum CalloutContributionType { @@ -1044,13 +1140,13 @@ export type CalloutFraming = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** The Profile for framing the associated Callout. */ profile: Profile; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** The Whiteboard for framing the associated Callout. */ whiteboard?: Maybe; }; @@ -1071,10 +1167,14 @@ export enum CalloutGroupName { } export type CalloutPostCreated = { - /** The identifier for the Callout on which the post was created. */ + /** The identifier of the Callout on which the post was created. */ calloutID: Scalars['String']; - /** The post that has been created. */ + /** The identifier of the Contribution. */ + contributionID: Scalars['String']; + /** The Post that has been created. */ post: Post; + /** The sorting order for this Contribution. */ + sortOrder: Scalars['Float']; }; export enum CalloutState { @@ -1083,27 +1183,6 @@ export enum CalloutState { Open = 'OPEN', } -export type CalloutTemplate = { - /** The authorization rules for the entity */ - authorization?: Maybe; - /** The defaults to use for Callouts created from this template. */ - contributionDefaults: CalloutContributionDefaults; - /** The response policy to use for Callouts created from this template. */ - contributionPolicy: CalloutContributionPolicy; - /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; - /** The framing for callouts created from this template. */ - framing: CalloutFraming; - /** The ID of the entity */ - id: Scalars['UUID']; - /** The Profile for this template. */ - profile: Profile; - /** The Callout type, e.g. Post, Whiteboard, Discussion */ - type: CalloutType; - /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; -}; - export enum CalloutType { LinkCollection = 'LINK_COLLECTION', Post = 'POST', @@ -1117,9 +1196,37 @@ export enum CalloutVisibility { Published = 'PUBLISHED', } +export type CalloutsSet = { + /** The authorization rules for the entity */ + authorization?: Maybe; + /** The list of Callouts for this CalloutsSet object. */ + callouts: Array; + /** The date at which the entity was created. */ + createdDate?: Maybe; + /** The set of CalloutGroups in use in this CalloutsSet. */ + groups: Array; + /** The ID of the entity */ + id: Scalars['UUID']; + /** The tagset templates on this CalloutsSet. */ + tagsetTemplates?: Maybe>; + /** The set of CalloutGroups in use in this CalloutsSet. */ + type: Array; + /** The date at which the entity was last updated. */ + updatedDate?: Maybe; +}; + +export type CalloutsSetCalloutsArgs = { + IDs?: InputMaybe>; + groups?: InputMaybe>; + limit?: InputMaybe; + shuffle?: InputMaybe; + sortByActivity?: InputMaybe; + tagsets?: InputMaybe>; +}; + export type ChatGuidanceAnswerRelevanceInput = { /** The answer id. */ - id: Scalars['UUID']; + id: Scalars['String']; /** Is the answer relevant or not. */ relevant: Scalars['Boolean']; }; @@ -1134,44 +1241,33 @@ export type ChatGuidanceInput = { export type Collaboration = { /** The authorization rules for the entity */ authorization?: Maybe; - /** The list of Callouts for this Collaboration object. */ - callouts: Array; + /** The calloutsSet with Callouts in use by this Space */ + calloutsSet: CalloutsSet; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; - /** The set of CalloutGroups in use in this Collaboration. */ - groups: Array; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** The InnovationFlow for the Collaboration. */ innovationFlow: InnovationFlow; - /** List of relations */ - relations?: Maybe>; - /** The tagset templates on this Collaboration. */ - tagsetTemplates?: Maybe>; + /** Whether this Collaboration is a Template or not. */ + isTemplate: Scalars['Boolean']; + /** The License operating on this Collaboration. */ + license: License; /** The timeline with events in use by this Space */ timeline: Timeline; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; -}; - -export type CollaborationCalloutsArgs = { - IDs?: InputMaybe>; - groups?: InputMaybe>; - limit?: InputMaybe; - shuffle?: InputMaybe; - sortByActivity?: InputMaybe; - tagsets?: InputMaybe>; + updatedDate?: Maybe; }; export type Communication = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** The updates on this Communication. */ updates: Room; }; @@ -1265,20 +1361,12 @@ export type CommunicationSendMessageToUserInput = { }; export type Community = Groupable & { - /** The Form used for Applications to this community. */ - applicationForm: Form; - /** Applications available for this community. */ - applications: Array; /** The authorization rules for the entity */ authorization?: Maybe; - /** All member users excluding the current lead users in this Community. */ - availableLeadUsers: PaginatedUsers; - /** All available users that are potential Community members. */ - availableMemberUsers: PaginatedUsers; /** The Communications for this Community. */ communication: Communication; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The user group with the specified id anywhere in the space */ group: UserGroup; /** Groups of users related to a Community. */ @@ -1287,66 +1375,16 @@ export type Community = Groupable & { guidelines: CommunityGuidelines; /** The ID of the entity */ id: Scalars['UUID']; - /** Invitations for this community. */ - invitations: Array; - /** All users that are contributing to this Community. */ - memberUsers: Array; - /** The membership status of the currently logged in user. */ - myMembershipStatus?: Maybe; - /** The roles on this community for the currently logged in user. */ - myRoles: Array; - /** The implicit roles on this community for the currently logged in user. */ - myRolesImplicit: Array; - /** All Organizations that have the specified Role in this Community. */ - organizationsInRole: Array; - /** Invitations to join this Community for users not yet on the Alkemio platform. */ - platformInvitations: Array; - /** The policy that defines the roles for this Community. */ - policy: CommunityPolicy; + /** The RoleSet for this Community. */ + roleSet: RoleSet; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; - /** All users that have the specified Role in this Community. */ - usersInRole: Array; - /** All virtuals that have the specified Role in this Community. */ - virtualContributorsInRole: Array; -}; - -export type CommunityAvailableLeadUsersArgs = { - after?: InputMaybe; - before?: InputMaybe; - filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; -}; - -export type CommunityAvailableMemberUsersArgs = { - after?: InputMaybe; - before?: InputMaybe; - filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + updatedDate?: Maybe; }; export type CommunityGroupArgs = { ID: Scalars['UUID']; }; -export type CommunityMemberUsersArgs = { - limit?: InputMaybe; -}; - -export type CommunityOrganizationsInRoleArgs = { - role: CommunityRole; -}; - -export type CommunityUsersInRoleArgs = { - role: CommunityRole; -}; - -export type CommunityVirtualContributorsInRoleArgs = { - role: CommunityRole; -}; - export type CommunityApplicationForRoleResult = { /** ID for the community */ communityID: Scalars['UUID']; @@ -1371,8 +1409,8 @@ export type CommunityApplicationResult = { application: Application; /** ID for the pending membership */ id: Scalars['UUID']; - /** The space that the application is for */ - space: Space; + /** The key information for the Space that the application/invitation is for */ + spacePendingMembershipInfo: SpacePendingMembershipInfo; }; export enum CommunityContributorType { @@ -1385,28 +1423,13 @@ export type CommunityGuidelines = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** The details of the guidelilnes */ profile: Profile; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; -}; - -export type CommunityGuidelinesTemplate = { - /** The authorization rules for the entity */ - authorization?: Maybe; - /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; - /** The community guidelines. */ - guidelines: CommunityGuidelines; - /** The ID of the entity */ - id: Scalars['UUID']; - /** The Profile for this template. */ - profile: Profile; - /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type CommunityInvitationForRoleResult = { @@ -1441,12 +1464,8 @@ export type CommunityInvitationResult = { id: Scalars['UUID']; /** The invitation itself */ invitation: Invitation; - /** The space that the application is for */ - space: Space; -}; - -export type CommunityJoinInput = { - communityID: Scalars['UUID']; + /** The key information for the Space that the application/invitation is for */ + spacePendingMembershipInfo: SpacePendingMembershipInfo; }; export enum CommunityMembershipPolicy { @@ -1455,6 +1474,15 @@ export enum CommunityMembershipPolicy { Open = 'OPEN', } +export type CommunityMembershipResult = { + /** The child community memberships */ + childMemberships: Array; + /** ID for the membership */ + id: Scalars['UUID']; + /** The space for the membership is for */ + space: Space; +}; + export enum CommunityMembershipStatus { ApplicationPending = 'APPLICATION_PENDING', InvitationPending = 'INVITATION_PENDING', @@ -1462,58 +1490,23 @@ export enum CommunityMembershipStatus { NotMember = 'NOT_MEMBER', } -export type CommunityPolicy = { - /** The role policy that defines the Admins for this Community. */ - admin: CommunityRolePolicy; - /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; - /** The ID of the entity */ - id: Scalars['UUID']; - /** The role policy that defines the leads for this Community. */ - lead: CommunityRolePolicy; - /** The role policy that defines the members for this Community. */ - member: CommunityRolePolicy; - /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; -}; +export enum CommunityRoleImplicit { + SubspaceAdmin = 'SUBSPACE_ADMIN', +} -export enum CommunityRole { +export enum CommunityRoleType { Admin = 'ADMIN', Lead = 'LEAD', Member = 'MEMBER', } -export type CommunityRoleApplyInput = { - communityID: Scalars['UUID']; - questions: Array; -}; - -export enum CommunityRoleImplicit { - SubspaceAdmin = 'SUBSPACE_ADMIN', -} - -export type CommunityRolePolicy = { - /** The CredentialDefinition that is associated with this role */ - credential: CredentialDefinition; - /** Is this role enabled for this Community */ - enabled: Scalars['Boolean']; - /** Maximum number of Organizations in this role */ - maxOrg: Scalars['Float']; - /** Maximum number of Users in this role */ - maxUser: Scalars['Float']; - /** Minimun number of Organizations in this role */ - minOrg: Scalars['Float']; - /** Minimum number of Users in this role */ - minUser: Scalars['Float']; - /** The CredentialDefinitions associated with this role in parent communities */ - parentCredentials: Array; -}; - export type Config = { /** Elastic APM (RUM & performance monitoring) related configuration. */ apm: Apm; /** Authentication configuration. */ authentication: AuthenticationConfig; + /** Visual constraints for the given type */ + defaultVisualTypeConstraints: VisualConstraints; /** The feature flags for the platform */ featureFlags: Array; /** Integration with a 3rd party Geo information service */ @@ -1526,6 +1519,10 @@ export type Config = { storage: StorageConfig; }; +export type ConfigDefaultVisualTypeConstraintsArgs = { + type: VisualType; +}; + export enum ContentUpdatePolicy { Admins = 'ADMINS', Contributors = 'CONTRIBUTORS', @@ -1536,13 +1533,13 @@ export type Context = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** What is the potential impact? */ impact?: Maybe; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** The goal that is being pursued */ vision?: Maybe; /** Who should get involved in this challenge */ @@ -1567,6 +1564,13 @@ export type ContributorFilterInput = { credentials?: InputMaybe>; }; +export type ContributorRolePolicy = { + /** Maximum number of Contributors in this role */ + maximum: Scalars['Float']; + /** Minimum number of Contributors in this role */ + minimum: Scalars['Float']; +}; + export type ContributorRoles = { /** The applications for the specified user; only accessible for platform admins */ applications: Array; @@ -1597,15 +1601,6 @@ export type ConvertSubsubspaceToSubspaceInput = { subsubspaceID: Scalars['UUID_NAMEID']; }; -export type CreateAccountInput = { - /** The host Organization or User for the account */ - hostID: Scalars['UUID_NAMEID']; - /** The license plan selected for the account */ - licensePlanID?: InputMaybe; - /** The root Space to be created. */ - spaceData: CreateSpaceInput; -}; - export type CreateActorGroupInput = { description?: InputMaybe; ecosystemModelID: Scalars['UUID']; @@ -1632,7 +1627,8 @@ export type CreateAiPersonaServiceInput = { bodyOfKnowledgeType?: InputMaybe; dataAccessMode?: InputMaybe; engine?: InputMaybe; - prompt?: InputMaybe; + externalConfig?: InputMaybe; + prompt?: InputMaybe>; }; export type CreateCalendarEventOnCalendarInput = { @@ -1650,31 +1646,71 @@ export type CreateCalendarEventOnCalendarInput = { startDate: Scalars['DateTime']; tags?: InputMaybe>; type: CalendarEventType; + /** Is the event visible on the parent calendar. */ + visibleOnParentCalendar: Scalars['Boolean']; /** Flag to indicate if this event is for a whole day. */ wholeDay: Scalars['Boolean']; }; +export type CreateCalloutContributionDefaultsData = { + /** The default description to use for new Post contributions. */ + postDescription?: Maybe; + whiteboardContent?: Maybe; +}; + export type CreateCalloutContributionDefaultsInput = { /** The default description to use for new Post contributions. */ postDescription?: InputMaybe; whiteboardContent?: InputMaybe; }; +export type CreateCalloutContributionPolicyData = { + /** State of the callout. */ + state?: Maybe; +}; + export type CreateCalloutContributionPolicyInput = { /** State of the callout. */ state?: InputMaybe; }; +export type CreateCalloutData = { + contributionDefaults?: Maybe; + contributionPolicy?: Maybe; + /** Controls if the comments are enabled for this Callout. Defaults to false. */ + enableComments?: Maybe; + framing: CreateCalloutFramingData; + /** Set Callout Group for this Callout. */ + groupName?: Maybe; + /** A readable identifier, unique within the containing scope. */ + nameID?: Maybe; + /** Send notification if this flag is true and visibility is PUBLISHED. Defaults to false. */ + sendNotification?: Maybe; + /** The sort order to assign to this Callout. */ + sortOrder?: Maybe; + /** Callout type. */ + type: CalloutType; + /** Visibility of the Callout. Defaults to DRAFT. */ + visibility?: Maybe; +}; + +export type CreateCalloutFramingData = { + profile: CreateProfileData; + tags?: Maybe>; + whiteboard?: Maybe; +}; + export type CreateCalloutFramingInput = { profile: CreateProfileInput; tags?: InputMaybe>; whiteboard?: InputMaybe; }; -export type CreateCalloutOnCollaborationInput = { - collaborationID: Scalars['UUID']; +export type CreateCalloutInput = { contributionDefaults?: InputMaybe; contributionPolicy?: InputMaybe; + /** Controls if the comments are enabled for this Callout. Defaults to false. */ + enableComments?: InputMaybe; framing: CreateCalloutFramingInput; /** Set Callout Group for this Callout. */ groupName?: InputMaybe; @@ -1690,42 +1726,70 @@ export type CreateCalloutOnCollaborationInput = { visibility?: InputMaybe; }; -export type CreateCalloutTemplateOnTemplatesSetInput = { - contributionDefaults: CreateCalloutContributionDefaultsInput; - contributionPolicy: CreateCalloutContributionPolicyInput; +export type CreateCalloutOnCalloutsSetInput = { + calloutsSetID: Scalars['UUID']; + contributionDefaults?: InputMaybe; + contributionPolicy?: InputMaybe; + /** Controls if the comments are enabled for this Callout. Defaults to false. */ + enableComments?: InputMaybe; framing: CreateCalloutFramingInput; - /** The profile of the template. */ - profile: CreateProfileInput; - tags?: InputMaybe>; - templatesSetID: Scalars['UUID']; + /** Set Callout Group for this Callout. */ + groupName?: InputMaybe; + /** A readable identifier, unique within the containing scope. */ + nameID?: InputMaybe; + /** Send notification if this flag is true and visibility is PUBLISHED. Defaults to false. */ + sendNotification?: InputMaybe; + /** The sort order to assign to this Callout. */ + sortOrder?: InputMaybe; /** Callout type. */ type: CalloutType; - visualUri?: InputMaybe; + /** Visibility of the Callout. Defaults to DRAFT. */ + visibility?: InputMaybe; +}; + +export type CreateCalloutsSetData = { + /** The Callouts to add to this Collaboration. */ + calloutsData?: Maybe>; +}; + +export type CreateCalloutsSetInput = { + /** The Callouts to add to this Collaboration. */ + calloutsData?: InputMaybe>; +}; + +export type CreateCollaborationData = { + /** The CalloutsSet to use for this Collaboration. */ + calloutsSetData: CreateCalloutsSetData; + /** The InnovationFlow Template to use for this Collaboration. */ + innovationFlowData?: Maybe; }; export type CreateCollaborationInput = { - /** Add default callouts to the Collaboration; defaults to true. */ - addDefaultCallouts?: InputMaybe; - /** The ID of the Collaboration to use for setting up the collaboration of the Collaboration. */ + /** The CalloutsSet to use for this Collaboration. */ + calloutsSetData: CreateCalloutsSetInput; + /** The InnovationFlow Template to use for this Collaboration. */ + innovationFlowData?: InputMaybe; +}; + +export type CreateCollaborationOnSpaceInput = { + /** Add callouts from the template to the Collaboration; defaults to true. */ + addCallouts?: InputMaybe; + /** Add tutorial callouts to the Collaboration; defaults to false. */ + addTutorialCallouts?: InputMaybe; + /** The CalloutsSet to use for this Collaboration. */ + calloutsSetData: CreateCalloutsSetInput; + /** The Template to use for instantiating the Collaboration. */ collaborationTemplateID?: InputMaybe; - /** The Innovation Flow template to use for the Collaboration. */ - innovationFlowTemplateID?: InputMaybe; + /** The InnovationFlow Template to use for this Collaboration. */ + innovationFlowData?: InputMaybe; }; -export type CreateCommunityGuidelinesInput = { - profile: CreateProfileInput; +export type CreateCommunityGuidelinesData = { + profile: CreateProfileData; }; -export type CreateCommunityGuidelinesTemplateOnTemplatesSetInput = { - /** The Community guidelines to associate with this template. */ - communityGuidelines?: InputMaybe; - /** The ID of the Community guidelines to associate with this template. */ - communityGuidelinesID?: InputMaybe; - /** The profile of the template. */ +export type CreateCommunityGuidelinesInput = { profile: CreateProfileInput; - tags?: InputMaybe>; - templatesSetID: Scalars['UUID']; - visualUri?: InputMaybe; }; export type CreateContextInput = { @@ -1738,21 +1802,38 @@ export type CreateContributionOnCalloutInput = { calloutID: Scalars['UUID']; link?: InputMaybe; post?: InputMaybe; + /** The sort order to assign to this Contribution. */ + sortOrder?: InputMaybe; whiteboard?: InputMaybe; }; -export type CreateInnovationFlowTemplateOnTemplatesSetInput = { - /** The profile of the template. */ +export type CreateInnovationFlowData = { + profile: CreateProfileData; + states: Array; +}; + +export type CreateInnovationFlowInput = { profile: CreateProfileInput; - states?: InputMaybe>; - tags?: InputMaybe>; - templatesSetID: Scalars['UUID']; - visualUri?: InputMaybe; + states: Array; +}; + +export type CreateInnovationFlowStateData = { + /** The explation text to clarify the State. */ + description?: Maybe; + /** The display name for the State */ + displayName: Scalars['String']; }; -export type CreateInnovationHubInput = { - /** Account ID, associated with the Innovation Hub. */ - accountID?: InputMaybe; +export type CreateInnovationFlowStateInput = { + /** The explation text to clarify the State. */ + description?: InputMaybe; + /** The display name for the State */ + displayName: Scalars['String']; +}; + +export type CreateInnovationHubOnAccountInput = { + /** The Account where the InnovationHub is to be created. */ + accountID: Scalars['UUID']; /** A readable identifier, unique within the containing scope. */ nameID?: InputMaybe; profileData: CreateProfileInput; @@ -1766,23 +1847,23 @@ export type CreateInnovationHubInput = { type: InnovationHubType; }; -export type CreateInnovationPackOnLibraryInput = { +export type CreateInnovationPackOnAccountInput = { + /** The Account where the InnovationPack is to be created. */ + accountID: Scalars['UUID']; /** A readable identifier, unique within the containing scope. */ - nameID: Scalars['NameID']; + nameID?: InputMaybe; profileData: CreateProfileInput; - /** The provider Organization for the InnovationPack */ - providerID: Scalars['UUID_NAMEID']; tags?: InputMaybe>; }; -export type CreateInvitationForContributorsOnCommunityInput = { - communityID: Scalars['UUID']; - /** The identifiers for the contributors being invited. */ - invitedContributors: Array; - welcomeMessage?: InputMaybe; +export type CreateKnowledgeBaseInput = { + /** The CalloutsSet to use for this KnowledgeBase. */ + calloutsSetData?: InputMaybe; + /** The Profile to use for this KnowledgeBase. */ + profile: CreateProfileInput; }; -export type CreateLicensePlanOnLicensingInput = { +export type CreateLicensePlanOnLicensingFrameworkInput = { /** Assign this plan to all new Organization accounts */ assignToNewOrganizationAccounts: Scalars['Boolean']; /** Assign this plan to all new User accounts */ @@ -1792,8 +1873,8 @@ export type CreateLicensePlanOnLicensingInput = { /** Is this plan free? */ isFree: Scalars['Boolean']; /** The credential to represent this plan */ - licenseCredential: LicenseCredential; - licensingID: Scalars['UUID']; + licenseCredential: LicensingCredentialBasedCredentialType; + licensingFrameworkID: Scalars['UUID']; /** The name of the License Plan */ name: Scalars['String']; /** The price per month of this plan. */ @@ -1807,7 +1888,7 @@ export type CreateLicensePlanOnLicensingInput = { /** Is there a trial period enabled */ trialEnabled: Scalars['Boolean']; /** The type of this License Plan. */ - type: LicensePlanType; + type: LicensingCredentialBasedPlanType; }; export type CreateLinkInput = { @@ -1815,6 +1896,15 @@ export type CreateLinkInput = { uri?: InputMaybe; }; +export type CreateLocationData = { + addressLine1?: Maybe; + addressLine2?: Maybe; + city?: Maybe; + country?: Maybe; + postalCode?: Maybe; + stateOrProvince?: Maybe; +}; + export type CreateLocationInput = { addressLine1?: InputMaybe; addressLine2?: InputMaybe; @@ -1848,33 +1938,25 @@ export type CreatePlatformInvitationForRoleInput = { welcomeMessage?: InputMaybe; }; -export type CreatePlatformInvitationOnCommunityInput = { - communityID: Scalars['UUID']; - email: Scalars['String']; - firstName?: InputMaybe; - lastName?: InputMaybe; - welcomeMessage?: InputMaybe; -}; - export type CreatePostInput = { /** A readable identifier, unique within the containing scope. */ nameID?: InputMaybe; profileData: CreateProfileInput; tags?: InputMaybe>; - type: Scalars['String']; visualUri?: InputMaybe; }; -export type CreatePostTemplateOnTemplatesSetInput = { - /** The default description to be pre-filled when users create Posts based on this template. */ - defaultDescription?: InputMaybe; - /** The profile of the template. */ - profile: CreateProfileInput; - tags?: InputMaybe>; - templatesSetID: Scalars['UUID']; - /** The type of Posts created from this Template. */ - type: Scalars['String']; - visualUri?: InputMaybe; +export type CreateProfileData = { + /** The URL of the avatar of the user */ + avatarURL?: Maybe; + description?: Maybe; + /** The display name for the entity. */ + displayName: Scalars['String']; + location?: Maybe; + referencesData?: Maybe>; + /** A memorable short description for this entity. */ + tagline?: Maybe; + tagsets?: Maybe>; }; export type CreateProfileInput = { @@ -1890,6 +1972,12 @@ export type CreateProfileInput = { tagsets?: InputMaybe>; }; +export type CreateReferenceData = { + description?: Maybe; + name: Scalars['String']; + uri?: Maybe; +}; + export type CreateReferenceInput = { description?: InputMaybe; name: Scalars['String']; @@ -1903,19 +1991,14 @@ export type CreateReferenceOnProfileInput = { uri?: InputMaybe; }; -export type CreateRelationOnCollaborationInput = { - actorName: Scalars['String']; - actorRole?: InputMaybe; - actorType?: InputMaybe; - collaborationID: Scalars['UUID']; - description?: InputMaybe; - type: Scalars['String']; -}; - -export type CreateSpaceInput = { - collaborationData?: InputMaybe; +export type CreateSpaceOnAccountInput = { + /** The Account where the Space is to be created. */ + accountID: Scalars['UUID']; + collaborationData: CreateCollaborationOnSpaceInput; context?: InputMaybe; - /** A readable identifier, unique within the containing Account. */ + /** The license plan the user wishes to use when creating the space. */ + licensePlanID?: InputMaybe; + /** A readable identifier, unique within the containing scope. */ nameID?: InputMaybe; profileData: CreateProfileInput; tags?: InputMaybe>; @@ -1923,16 +2006,22 @@ export type CreateSpaceInput = { }; export type CreateSubspaceInput = { - collaborationData?: InputMaybe; + collaborationData: CreateCollaborationOnSpaceInput; context?: InputMaybe; - /** A readable identifier, unique within the containing Account. */ + /** A readable identifier, unique within the containing scope. */ nameID?: InputMaybe; profileData: CreateProfileInput; - spaceID: Scalars['UUID_NAMEID']; + spaceID: Scalars['UUID']; tags?: InputMaybe>; type?: InputMaybe; }; +export type CreateTagsetData = { + name: Scalars['String']; + tags?: Maybe>; + type?: Maybe; +}; + export type CreateTagsetInput = { name: Scalars['String']; tags?: InputMaybe>; @@ -1946,6 +2035,38 @@ export type CreateTagsetOnProfileInput = { type?: InputMaybe; }; +export type CreateTemplateFromCollaborationOnTemplatesSetInput = { + /** The Collaboration to use as the content for the Template. */ + collaborationID: Scalars['UUID']; + /** A readable identifier, unique within the containing scope. */ + nameID?: InputMaybe; + profileData: CreateProfileInput; + tags?: InputMaybe>; + templatesSetID: Scalars['UUID']; + visualUri?: InputMaybe; +}; + +export type CreateTemplateOnTemplatesSetInput = { + /** The Callout to associate with this template. */ + calloutData?: InputMaybe; + /** The Collaboration to associate with this template. */ + collaborationData?: InputMaybe; + /** The Community guidelines to associate with this template. */ + communityGuidelinesData?: InputMaybe; + /** A readable identifier, unique within the containing scope. */ + nameID?: InputMaybe; + /** Post Template: The default description to be pre-filled. */ + postDefaultDescription?: InputMaybe; + profileData: CreateProfileInput; + tags?: InputMaybe>; + templatesSetID: Scalars['UUID']; + /** The type of the Template to be created. */ + type: TemplateType; + visualUri?: InputMaybe; + /** The Whiteboard to associate with this template. */ + whiteboard?: InputMaybe; +}; + export type CreateUserGroupInput = { parentID: Scalars['UUID']; profile: CreateProfileInput; @@ -1963,35 +2084,31 @@ export type CreateUserInput = { }; export type CreateVirtualContributorOnAccountInput = { + /** The Account where the VirtualContributor is to be created. */ accountID: Scalars['UUID']; /** Data used to create the AI Persona */ aiPersona: CreateAiPersonaInput; + /** The KnowledgeBase to use for this Collaboration. */ + knowledgeBaseData?: InputMaybe; /** A readable identifier, unique within the containing scope. */ nameID?: InputMaybe; profileData: CreateProfileInput; }; +export type CreateWhiteboardData = { + content?: Maybe; +}; + export type CreateWhiteboardInput = { content?: InputMaybe; - /** A readable identifier, unique within the containing scope. If not provided it will be generated based on the displayName. */ + /** A readable identifier, unique within the containing scope. */ nameID?: InputMaybe; profileData: CreateProfileInput; }; -export type CreateWhiteboardTemplateOnTemplatesSetInput = { - content?: InputMaybe; - /** The profile of the template. */ - profile: CreateProfileInput; - tags?: InputMaybe>; - templatesSetID: Scalars['UUID']; - visualUri?: InputMaybe; - /** Use the specified Whiteboard as the initial value for this WhiteboardTemplate */ - whiteboardID?: InputMaybe; -}; - export type Credential = { /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The timestamp for the expiry of this credential. */ expires?: Maybe; /** The ID of the entity */ @@ -2001,7 +2118,7 @@ export type Credential = { resourceID: Scalars['String']; type: CredentialType; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type CredentialDefinition = { @@ -2027,27 +2144,26 @@ export type CredentialMetadataOutput = { }; export enum CredentialType { - AccountHost = 'ACCOUNT_HOST', + AccountLicensePlus = 'ACCOUNT_LICENSE_PLUS', BetaTester = 'BETA_TESTER', - FeatureCalloutToCalloutTemplate = 'FEATURE_CALLOUT_TO_CALLOUT_TEMPLATE', - FeatureVirtualContributors = 'FEATURE_VIRTUAL_CONTRIBUTORS', - FeatureWhiteboardMultiUser = 'FEATURE_WHITEBOARD_MULTI_USER', GlobalAdmin = 'GLOBAL_ADMIN', GlobalCommunityRead = 'GLOBAL_COMMUNITY_READ', GlobalLicenseManager = 'GLOBAL_LICENSE_MANAGER', GlobalRegistered = 'GLOBAL_REGISTERED', GlobalSpacesReader = 'GLOBAL_SPACES_READER', GlobalSupport = 'GLOBAL_SUPPORT', - InnovationPackProvider = 'INNOVATION_PACK_PROVIDER', - LicenseSpaceEnterprise = 'LICENSE_SPACE_ENTERPRISE', - LicenseSpaceFree = 'LICENSE_SPACE_FREE', - LicenseSpacePlus = 'LICENSE_SPACE_PLUS', - LicenseSpacePremium = 'LICENSE_SPACE_PREMIUM', OrganizationAdmin = 'ORGANIZATION_ADMIN', OrganizationAssociate = 'ORGANIZATION_ASSOCIATE', OrganizationOwner = 'ORGANIZATION_OWNER', SpaceAdmin = 'SPACE_ADMIN', + SpaceFeatureSaveAsTemplate = 'SPACE_FEATURE_SAVE_AS_TEMPLATE', + SpaceFeatureVirtualContributors = 'SPACE_FEATURE_VIRTUAL_CONTRIBUTORS', + SpaceFeatureWhiteboardMultiUser = 'SPACE_FEATURE_WHITEBOARD_MULTI_USER', SpaceLead = 'SPACE_LEAD', + SpaceLicenseEnterprise = 'SPACE_LICENSE_ENTERPRISE', + SpaceLicenseFree = 'SPACE_LICENSE_FREE', + SpaceLicensePlus = 'SPACE_LICENSE_PLUS', + SpaceLicensePremium = 'SPACE_LICENSE_PREMIUM', SpaceMember = 'SPACE_MEMBER', SpaceSubspaceAdmin = 'SPACE_SUBSPACE_ADMIN', UserGroupMember = 'USER_GROUP_MEMBER', @@ -2079,18 +2195,6 @@ export type DeleteCalloutInput = { ID: Scalars['UUID']; }; -export type DeleteCalloutTemplateInput = { - ID: Scalars['UUID']; -}; - -export type DeleteCollaborationInput = { - ID: Scalars['UUID']; -}; - -export type DeleteCommunityGuidelinesTemplateInput = { - ID: Scalars['UUID']; -}; - export type DeleteDiscussionInput = { ID: Scalars['UUID']; }; @@ -2099,10 +2203,6 @@ export type DeleteDocumentInput = { ID: Scalars['UUID']; }; -export type DeleteInnovationFlowTemplateInput = { - ID: Scalars['UUID']; -}; - export type DeleteInnovationHubInput = { ID: Scalars['UUID']; }; @@ -2124,7 +2224,7 @@ export type DeleteLinkInput = { }; export type DeleteOrganizationInput = { - ID: Scalars['UUID_NAMEID']; + ID: Scalars['UUID']; }; export type DeletePlatformInvitationInput = { @@ -2135,18 +2235,10 @@ export type DeletePostInput = { ID: Scalars['UUID']; }; -export type DeletePostTemplateInput = { - ID: Scalars['UUID']; -}; - export type DeleteReferenceInput = { ID: Scalars['UUID']; }; -export type DeleteRelationInput = { - ID: Scalars['String']; -}; - export type DeleteSpaceInput = { ID: Scalars['UUID_NAMEID']; }; @@ -2155,12 +2247,17 @@ export type DeleteStorageBuckeetInput = { ID: Scalars['UUID']; }; +export type DeleteTemplateInput = { + ID: Scalars['UUID']; +}; + export type DeleteUserGroupInput = { ID: Scalars['UUID']; }; export type DeleteUserInput = { - ID: Scalars['UUID_NAMEID_EMAIL']; + ID: Scalars['UUID']; + deleteIdentity?: InputMaybe; }; export type DeleteVirtualContributorInput = { @@ -2171,10 +2268,6 @@ export type DeleteWhiteboardInput = { ID: Scalars['UUID']; }; -export type DeleteWhiteboardTemplateInput = { - ID: Scalars['UUID']; -}; - export type DirectRoom = { /** The display name of the room */ displayName: Scalars['String']; @@ -2196,7 +2289,7 @@ export type Discussion = { /** The id of the user that created this discussion */ createdBy?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** A name identifier of the entity, unique within a given scope. */ @@ -2208,7 +2301,7 @@ export type Discussion = { /** The timestamp for the creation of this Discussion. */ timestamp?: Maybe; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type DiscussionsInput = { @@ -2229,7 +2322,7 @@ export type Document = { /** The user that created this Document */ createdBy?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The display name. */ displayName: Scalars['String']; /** The ID of the entity */ @@ -2240,8 +2333,10 @@ export type Document = { size: Scalars['Float']; /** The tagset in use on this Document. */ tagset: Tagset; + /** Whether this Document is in its end location or not. */ + temporaryLocation: Scalars['Boolean']; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** The uploaded date of this Document */ uploadedDate: Scalars['DateTime']; /** The URL to be used to retrieve the Document */ @@ -2254,25 +2349,37 @@ export type EcosystemModel = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** Overview of this ecosystem model. */ description?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; +}; + +export type ExploreSpacesInput = { + /** Take into account only the activity in the past X days. */ + daysOld?: InputMaybe; + /** Amount of Spaces returned. */ + limit?: InputMaybe; +}; + +export type ExternalConfig = { + /** The API key for the external LLM provider. */ + apiKey?: InputMaybe; + /** The assistent ID backing the service in OpenAI`s assistant API */ + assistantId?: InputMaybe; }; export type FileStorageConfig = { /** Max file size, in bytes. */ maxFileSize: Scalars['Float']; - /** Allowed mime types for file upload, separated by a coma. */ - mimeTypes: Array; }; export type Form = { /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** A description of the purpose of this Form. */ description?: Maybe; /** The ID of the entity */ @@ -2280,7 +2387,7 @@ export type Form = { /** The set of Questions in this Form. */ questions: Array; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type FormQuestion = { @@ -2300,7 +2407,7 @@ export type Forum = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** A particular Discussions active in this Forum. */ discussion?: Maybe; discussionCategories: Array; @@ -2309,7 +2416,7 @@ export type Forum = { /** The ID of the entity */ id: Scalars['UUID']; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type ForumDiscussionArgs = { @@ -2354,7 +2461,7 @@ export type GrantAuthorizationCredentialInput = { resourceID?: InputMaybe; type: AuthorizationCredential; /** The user to whom the credential is being granted. */ - userID: Scalars['UUID_NAMEID_EMAIL']; + userID: Scalars['UUID']; }; export type GrantOrganizationAuthorizationCredentialInput = { @@ -2391,43 +2498,124 @@ export type ISearchResults = { journeyResultsCount: Scalars['Float']; }; -export type InnovationFlow = { - /** The authorization rules for the entity */ - authorization?: Maybe; - /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; - /** The currently selected state for this Flow. */ - currentState: InnovationFlowState; - /** The ID of the entity */ +/** An in-app notification type. To not be queried directly */ +export type InAppNotification = { + /** Which category (role) is this notification targeted to. */ + category: InAppNotificationCategory; id: Scalars['UUID']; - /** The Profile for this InnovationFlow. */ - profile: Profile; - /** The set of States in use in this Flow. */ - states: Array; - /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + /** The receiver of the notification. */ + receiver: Contributor; + /** The current state of the notification */ + state: InAppNotificationState; + /** When (UTC) was the notification sent. */ + triggeredAt: Scalars['DateTime']; + /** The Contributor who triggered the notification. */ + triggeredBy?: Maybe; + /** The type of the notification */ + type: NotificationEventType; +}; + +export type InAppNotificationCalloutPublished = InAppNotification & { + /** The Callout that was published. */ + callout?: Maybe; + /** Which category (role) is this notification targeted to. */ + category: InAppNotificationCategory; + id: Scalars['UUID']; + /** The receiver of the notification. */ + receiver: Contributor; + /** Where the callout is located. */ + space?: Maybe; + /** The current state of the notification */ + state: InAppNotificationState; + /** When (UTC) was the notification sent. */ + triggeredAt: Scalars['DateTime']; + /** The Contributor who triggered the notification. */ + triggeredBy?: Maybe; + /** The type of the notification */ + type: NotificationEventType; +}; + +/** Which category (role) is this notification targeted to. */ +export enum InAppNotificationCategory { + Admin = 'ADMIN', + Member = 'MEMBER', + Self = 'SELF', +} + +export type InAppNotificationCommunityNewMember = InAppNotification & { + /** The Contributor that joined. */ + actor?: Maybe; + /** Which category (role) is this notification targeted to. */ + category: InAppNotificationCategory; + /** The type of the Contributor that joined. */ + contributorType: CommunityContributorType; + id: Scalars['UUID']; + /** The receiver of the notification. */ + receiver: Contributor; + /** The Space that was joined. */ + space?: Maybe; + /** The current state of the notification */ + state: InAppNotificationState; + /** When (UTC) was the notification sent. */ + triggeredAt: Scalars['DateTime']; + /** The Contributor who triggered the notification. */ + triggeredBy?: Maybe; + /** The type of the notification */ + type: NotificationEventType; }; -export type InnovationFlowState = { - /** The explation text to clarify the state. */ - description: Scalars['Markdown']; - /** The display name for the State */ - displayName: Scalars['String']; +export enum InAppNotificationState { + Archived = 'ARCHIVED', + Read = 'READ', + Unread = 'UNREAD', +} + +export type InAppNotificationUserMentioned = InAppNotification & { + /** Which category (role) is this notification targeted to. */ + category: InAppNotificationCategory; + /** The comment that the contributor was mentioned in. */ + comment: Scalars['String']; + /** The display name of the resource where the comment was created. */ + commentOriginName: Scalars['String']; + /** The url of the resource where the comment was created. */ + commentUrl: Scalars['String']; + /** The type of the Contributor that joined. */ + contributorType: CommunityContributorType; + id: Scalars['UUID']; + /** The receiver of the notification. */ + receiver: Contributor; + /** The current state of the notification */ + state: InAppNotificationState; + /** When (UTC) was the notification sent. */ + triggeredAt: Scalars['DateTime']; + /** The Contributor who triggered the notification. */ + triggeredBy?: Maybe; + /** The type of the notification */ + type: NotificationEventType; }; -export type InnovationFlowTemplate = { +export type InnovationFlow = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; + /** The currently selected state for this Flow. */ + currentState: InnovationFlowState; /** The ID of the entity */ id: Scalars['UUID']; - /** The Profile for this template. */ + /** The Profile for this InnovationFlow. */ profile: Profile; /** The set of States in use in this Flow. */ states: Array; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; +}; + +export type InnovationFlowState = { + /** The explation text to clarify the state. */ + description: Scalars['Markdown']; + /** The display name for the State */ + displayName: Scalars['String']; }; export type InnovationHub = { @@ -2436,13 +2624,19 @@ export type InnovationHub = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; + /** Flag to control if this InnovationHub is listed in the platform store. */ + listedInStore: Scalars['Boolean']; /** A name identifier of the entity, unique within a given scope. */ nameID: Scalars['NameID']; /** The Innovation Hub profile. */ profile: Profile; + /** The InnovationHub provider. */ + provider: Contributor; + /** Visibility of the InnovationHub in searches. */ + searchVisibility: SearchVisibility; spaceListFilter?: Maybe>; /** If defined, what type of visibility to filter the Spaces on. You can have only one type of filter active at any given time. */ spaceVisibilityFilter?: Maybe; @@ -2451,7 +2645,7 @@ export type InnovationHub = { /** Type of Innovation Hub */ type: InnovationHubType; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export enum InnovationHubType { @@ -2463,19 +2657,23 @@ export type InnovationPack = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; + /** Flag to control if this InnovationPack is listed in the platform store. */ + listedInStore: Scalars['Boolean']; /** A name identifier of the entity, unique within a given scope. */ nameID: Scalars['NameID']; /** The Profile for this InnovationPack. */ profile: Profile; /** The InnovationPack provider. */ - provider?: Maybe; - /** The templates in use by this InnovationPack */ - templates?: Maybe; + provider: Contributor; + /** Visibility of the InnovationPack in searches. */ + searchVisibility: SearchVisibility; + /** The templatesSet in use by this InnovationPack */ + templatesSet?: Maybe; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type InnovationPacksInput = { @@ -2491,6 +2689,39 @@ export enum InnovationPacksOrderBy { Random = 'RANDOM', } +export type InputCreatorQueryResults = { + /** Create an input based on the provided Callout */ + callout?: Maybe; + /** Create an input based on the provided Collaboration */ + collaboration?: Maybe; + /** Create an input based on the provided Community Guidelines */ + communityGuidelines?: Maybe; + /** Create an input based on the provided InnovationFlow */ + innovationFlow?: Maybe; + /** Create an input based on the provided Whiteboard */ + whiteboard?: Maybe; +}; + +export type InputCreatorQueryResultsCalloutArgs = { + ID: Scalars['UUID']; +}; + +export type InputCreatorQueryResultsCollaborationArgs = { + ID: Scalars['UUID']; +}; + +export type InputCreatorQueryResultsCommunityGuidelinesArgs = { + ID: Scalars['UUID']; +}; + +export type InputCreatorQueryResultsInnovationFlowArgs = { + ID: Scalars['UUID']; +}; + +export type InputCreatorQueryResultsWhiteboardArgs = { + ID: Scalars['UUID']; +}; + export type Invitation = { /** The authorization rules for the entity */ authorization?: Maybe; @@ -2501,11 +2732,19 @@ export type Invitation = { /** The User who triggered the invitation. */ createdBy: User; createdDate: Scalars['DateTime']; + /** An additional role to assign to the Contributor, in addition to the entry Role. */ + extraRole?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** Whether to also add the invited contributor to the parent community. */ invitedToParent: Scalars['Boolean']; + /** Is this lifecycle in a final state (done). */ + isFinalized: Scalars['Boolean']; lifecycle: Lifecycle; + /** The next events of this Lifecycle. */ + nextEvents: Array; + /** The current state of this Lifecycle. */ + state: Scalars['String']; updatedDate: Scalars['DateTime']; welcomeMessage?: Maybe; }; @@ -2515,6 +2754,44 @@ export type InvitationEventInput = { invitationID: Scalars['UUID']; }; +export type InviteForEntryRoleOnRoleSetInput = { + /** An additional role to assign to the Contributors, in addition to the entry Role. */ + extraRole?: InputMaybe; + /** The identifiers for the contributors being invited. */ + invitedContributors: Array; + roleSetID: Scalars['UUID']; + welcomeMessage?: InputMaybe; +}; + +export type InviteNewContributorForRoleOnRoleSetInput = { + email: Scalars['String']; + firstName?: InputMaybe; + lastName?: InputMaybe; + /** An additional role to assign to the Contributors, in addition to the entry Role. */ + roleSetExtraRole?: InputMaybe; + roleSetID: Scalars['UUID']; + welcomeMessage?: InputMaybe; +}; + +export type JoinAsEntryRoleOnRoleSetInput = { + roleSetID: Scalars['UUID']; +}; + +export type KnowledgeBase = { + /** The authorization rules for the entity */ + authorization?: Maybe; + /** The calloutsSet with Callouts in use by this KnowledgeBase */ + calloutsSet: CalloutsSet; + /** The date at which the entity was created. */ + createdDate?: Maybe; + /** The ID of the entity */ + id: Scalars['UUID']; + /** The Profile for describing this KnowledgeBase. */ + profile: Profile; + /** The date at which the entity was last updated. */ + updatedDate?: Maybe; +}; + export type LatestReleaseDiscussion = { /** Id of the latest release discussion. */ id: Scalars['String']; @@ -2526,50 +2803,90 @@ export type Library = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; - /** A single Innovation Pack */ - innovationPack?: Maybe; + /** The InnovationHub listed on this platform */ + innovationHubs: Array; /** The Innovation Packs in the platform Innovation Library. */ innovationPacks: Array; - /** The StorageAggregator for storage used by this Library */ - storageAggregator?: Maybe; + /** The Templates in the Innovation Library, together with information about the InnovationPack. */ + templates: Array; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** The VirtualContributors listed on this platform */ virtualContributors: Array; }; -export type LibraryInnovationPackArgs = { - ID: Scalars['UUID_NAMEID']; -}; - export type LibraryInnovationPacksArgs = { queryData?: InputMaybe; }; +export type LibraryTemplatesArgs = { + filter?: InputMaybe; +}; + +export type LibraryTemplatesFilterInput = { + /** Return Templates within the Library matching the specified Template Types. */ + types?: InputMaybe>; +}; + export type License = { /** The authorization rules for the entity */ authorization?: Maybe; + /** The set of License Entitlement Types on that entity. */ + availableEntitlements?: Maybe>; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; + /** The set of Entitlements associated with the License applicable to this entity. */ + entitlements: Array; /** The ID of the entity */ id: Scalars['UUID']; + /** The type of entity that this License is being used with. */ + type?: Maybe; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; - /** Visibility of the Space. */ - visibility: SpaceVisibility; + updatedDate?: Maybe; +}; + +export type LicenseEntitlement = { + /** The date at which the entity was created. */ + createdDate?: Maybe; + /** Data type of the entitlement, e.g. Limit, Feature flag etc. */ + dataType: LicenseEntitlementDataType; + /** If the Entitlement is enabled */ + enabled: Scalars['Boolean']; + /** The ID of the entity */ + id: Scalars['UUID']; + /** Whether the specified entitlement is available. */ + isAvailable: Scalars['Boolean']; + /** Limit of the entitlement */ + limit: Scalars['Float']; + /** Type of the entitlement, e.g. Space, Whiteboard contributors etc. */ + type: LicenseEntitlementType; + /** The date at which the entity was last updated. */ + updatedDate?: Maybe; + /** The amount of the spcified entitlement used. */ + usage: Scalars['Float']; }; -export enum LicenseCredential { - FeatureCalloutToCalloutTemplate = 'FEATURE_CALLOUT_TO_CALLOUT_TEMPLATE', - FeatureVirtualContributors = 'FEATURE_VIRTUAL_CONTRIBUTORS', - FeatureWhiteboardMultiUser = 'FEATURE_WHITEBOARD_MULTI_USER', - LicenseSpaceEnterprise = 'LICENSE_SPACE_ENTERPRISE', - LicenseSpaceFree = 'LICENSE_SPACE_FREE', - LicenseSpacePlus = 'LICENSE_SPACE_PLUS', - LicenseSpacePremium = 'LICENSE_SPACE_PREMIUM', +export enum LicenseEntitlementDataType { + Flag = 'FLAG', + Limit = 'LIMIT', +} + +export enum LicenseEntitlementType { + AccountInnovationHub = 'ACCOUNT_INNOVATION_HUB', + AccountInnovationPack = 'ACCOUNT_INNOVATION_PACK', + AccountSpaceFree = 'ACCOUNT_SPACE_FREE', + AccountSpacePlus = 'ACCOUNT_SPACE_PLUS', + AccountSpacePremium = 'ACCOUNT_SPACE_PREMIUM', + AccountVirtualContributor = 'ACCOUNT_VIRTUAL_CONTRIBUTOR', + SpaceFlagSaveAsTemplate = 'SPACE_FLAG_SAVE_AS_TEMPLATE', + SpaceFlagVirtualContributorAccess = 'SPACE_FLAG_VIRTUAL_CONTRIBUTOR_ACCESS', + SpaceFlagWhiteboardMultiUser = 'SPACE_FLAG_WHITEBOARD_MULTI_USER', + SpaceFree = 'SPACE_FREE', + SpacePlus = 'SPACE_PLUS', + SpacePremium = 'SPACE_PREMIUM', } export type LicensePlan = { @@ -2578,7 +2895,7 @@ export type LicensePlan = { /** Assign this plan to all new User accounts */ assignToNewUserAccounts: Scalars['Boolean']; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** Is this plan enabled? */ enabled: Scalars['Boolean']; /** The ID of the entity */ @@ -2586,7 +2903,7 @@ export type LicensePlan = { /** Is this plan free? */ isFree: Scalars['Boolean']; /** The credential to represent this plan */ - licenseCredential: LicenseCredential; + licenseCredential: LicensingCredentialBasedCredentialType; /** The name of the License Plan */ name: Scalars['String']; /** The price per month of this plan. */ @@ -2600,46 +2917,37 @@ export type LicensePlan = { /** Is there a trial period enabled */ trialEnabled: Scalars['Boolean']; /** The type of this License Plan. */ - type: LicensePlanType; + type: LicensingCredentialBasedPlanType; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; -export enum LicensePlanType { - SpaceFeatureFlag = 'SPACE_FEATURE_FLAG', - SpacePlan = 'SPACE_PLAN', -} - export type LicensePolicy = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The set of credential rules that are contained by this License Policy. */ - credentialRules: Array; + credentialRules: Array; /** The ID of the entity */ id: Scalars['UUID']; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; -}; - -export type LicensePolicyCredentialRule = { - credentialType: LicenseCredential; - grantedPrivileges: Array; - name?: Maybe; + updatedDate?: Maybe; }; -export enum LicensePrivilege { - CalloutSaveAsTemplate = 'CALLOUT_SAVE_AS_TEMPLATE', - VirtualContributorAccess = 'VIRTUAL_CONTRIBUTOR_ACCESS', - WhiteboardMultiUser = 'WHITEBOARD_MULTI_USER', +export enum LicenseType { + Account = 'ACCOUNT', + Collaboration = 'COLLABORATION', + Roleset = 'ROLESET', + Space = 'SPACE', + Whiteboard = 'WHITEBOARD', } export type Licensing = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** The License Plans in use on the platform. */ @@ -2647,249 +2955,491 @@ export type Licensing = { /** The LicensePolicy in use by the Licensing setup. */ policy: LicensePolicy; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; +}; + +export enum LicensingCredentialBasedCredentialType { + AccountLicensePlus = 'ACCOUNT_LICENSE_PLUS', + SpaceFeatureSaveAsTemplate = 'SPACE_FEATURE_SAVE_AS_TEMPLATE', + SpaceFeatureVirtualContributors = 'SPACE_FEATURE_VIRTUAL_CONTRIBUTORS', + SpaceFeatureWhiteboardMultiUser = 'SPACE_FEATURE_WHITEBOARD_MULTI_USER', + SpaceLicenseEnterprise = 'SPACE_LICENSE_ENTERPRISE', + SpaceLicenseFree = 'SPACE_LICENSE_FREE', + SpaceLicensePlus = 'SPACE_LICENSE_PLUS', + SpaceLicensePremium = 'SPACE_LICENSE_PREMIUM', +} + +export enum LicensingCredentialBasedPlanType { + AccountFeatureFlag = 'ACCOUNT_FEATURE_FLAG', + AccountPlan = 'ACCOUNT_PLAN', + SpaceFeatureFlag = 'SPACE_FEATURE_FLAG', + SpacePlan = 'SPACE_PLAN', +} + +export type LicensingCredentialBasedPolicyCredentialRule = { + credentialType: LicensingCredentialBasedCredentialType; + grantedEntitlements: Array; + name?: Maybe; +}; + +export type LicensingGrantedEntitlement = { + limit: Scalars['Float']; + /** The entitlement that is granted. */ + type: LicenseEntitlementType; }; export type Lifecycle = { /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; - /** The machine definition, describing the states, transitions etc for this Lifeycle. */ - machineDef: Scalars['LifecycleDefinition']; - /** The next events of this Lifecycle. */ - nextEvents?: Maybe>; - /** The current state of this Lifecycle. */ - state?: Maybe; - /** Is this lifecycle in a final state (done). */ - stateIsFinal: Scalars['Boolean']; - /** The Lifecycle template name. */ - templateName?: Maybe; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; export type Link = { /** The authorization rules for the entity */ authorization?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; /** The Profile for framing the associated Link Contribution. */ profile: Profile; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; /** URI of the Link */ uri: Scalars['String']; }; export type Location = { - addressLine1: Scalars['String']; - addressLine2: Scalars['String']; - city: Scalars['String']; - country: Scalars['String']; + addressLine1?: Maybe; + addressLine2?: Maybe; + /** City of the location. */ + city?: Maybe; + country?: Maybe; /** The date at which the entity was created. */ - createdDate: Scalars['DateTime']; + createdDate?: Maybe; /** The ID of the entity */ id: Scalars['UUID']; - postalCode: Scalars['String']; - stateOrProvince: Scalars['String']; + postalCode?: Maybe; + stateOrProvince?: Maybe; /** The date at which the entity was last updated. */ - updatedDate: Scalars['DateTime']; + updatedDate?: Maybe; }; -export type LookupQueryResults = { - /** Lookup the specified Application */ - application?: Maybe; - /** Lookup the specified Authorization Policy */ - authorizationPolicy?: Maybe; - /** The privileges granted to the specified user based on this Authorization Policy. */ - authorizationPrivilegesForUser?: Maybe>; - /** Lookup the specified Calendar */ - calendar?: Maybe; - /** Lookup the specified CalendarEvent */ - calendarEvent?: Maybe; - /** Lookup the specified Callout */ - callout?: Maybe; - /** Lookup the specified Callout Template */ - calloutTemplate?: Maybe; - /** Lookup the specified Collaboration */ - collaboration?: Maybe; - /** Lookup the specified Community */ - community?: Maybe; - /** Lookup the specified Community guidelines */ - communityGuidelines?: Maybe; - /** Lookup the specified InnovationFlow Template */ - communityGuidelinesTemplate?: Maybe; - /** Lookup the specified Context */ - context?: Maybe; - /** Lookup the specified Document */ - document?: Maybe; - /** Lookup the specified InnovationFlow */ - innovationFlow?: Maybe; - /** Lookup the specified InnovationFlow Template */ - innovationFlowTemplate?: Maybe; - /** Lookup the specified Invitation */ - invitation?: Maybe; - /** Lookup the specified Post */ - post?: Maybe; - /** Lookup the specified Profile */ - profile?: Maybe; - /** Lookup the specified Room */ - room?: Maybe; - /** Lookup the specified Space */ - space?: Maybe; - /** Lookup the specified StorageAggregator */ - storageAggregator?: Maybe; - /** Lookup the specified StorageBucket */ - storageBucket?: Maybe; - /** A particular VirtualContributor */ - virtualContributor?: Maybe; - /** Lookup the specified Whiteboard */ - whiteboard?: Maybe; - /** Lookup the specified Whiteboard Template */ - whiteboardTemplate?: Maybe; +export type LookupByNameQueryResults = { + /** Lookup the specified InnovationPack using a NameID */ + innovationPack?: Maybe; + /** Lookup the specified Template using a templatesSetId and the template NameID */ + template?: Maybe