twenty-sdk 2.57.0 → 2.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/billing/index.cjs +1 -1
- package/dist/billing/index.cjs.map +1 -1
- package/dist/billing/index.mjs +32 -28
- package/dist/billing/index.mjs.map +1 -1
- package/dist/define/index.cjs +6 -16
- package/dist/define/index.cjs.map +1 -1
- package/dist/define/index.d.ts +57 -203
- package/dist/define/index.mjs +4968 -45967
- package/dist/define/index.mjs.map +1 -1
- package/dist/front-component/index.cjs +1 -84
- package/dist/front-component/index.cjs.map +1 -1
- package/dist/front-component/index.d.ts +13 -2
- package/dist/front-component/index.mjs +203 -49932
- package/dist/front-component/index.mjs.map +1 -1
- package/dist/front-component-renderer/build.cjs +8 -441
- package/dist/front-component-renderer/build.mjs +50 -112128
- package/dist/logic-function/index.cjs +26 -26
- package/dist/logic-function/index.cjs.map +1 -1
- package/dist/logic-function/index.d.ts +46 -3
- package/dist/logic-function/index.mjs +123 -129
- package/dist/logic-function/index.mjs.map +1 -1
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.mjs +1 -1
- package/dist/utils/index.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@sniptt/guards"),t=require("twenty-client-sdk/metadata"),n=require("twenty-client-sdk/rest");var r=t=>!(0,e.isUndefined)(t)&&!(0,e.isNull)(t),i=t=>{let n={type:`unknown`};switch(t.type){case`string`:n.type=`string`;break;case`number`:case`integer`:n.type=`number`;break;case`boolean`:n.type=`boolean`;break;case`array`:n.type=`array`,t.items&&(n.items=i(t.items));break;case`object`:n.type=`object`,t.properties&&(n.properties=Object.fromEntries(Object.entries(t.properties).map(([e,t])=>[e,i(t)])));break;case`record`:n.type=`record`;break;case`records`:n.type=`records`;break;default:n.type=`unknown`}return Array.isArray(t.enum)&&(n.enum=t.enum.filter(e=>typeof e==`string`)),t.multiline===!0&&(n.multiline=!0),(0,e.isNonEmptyString)(t.label)&&(n.label=t.label),(0,e.isNonEmptyString)(t.objectUniversalIdentifier)&&(n.objectUniversalIdentifier=t.objectUniversalIdentifier),n},a=e=>[i(e)]
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@sniptt/guards"),t=require("twenty-client-sdk/metadata"),n=require("twenty-client-sdk/rest");var r=t=>!(0,e.isUndefined)(t)&&!(0,e.isNull)(t),i=t=>{let n={type:`unknown`};switch(t.type){case`string`:n.type=`string`;break;case`number`:case`integer`:n.type=`number`;break;case`boolean`:n.type=`boolean`;break;case`array`:n.type=`array`,t.items&&(n.items=i(t.items));break;case`object`:n.type=`object`,t.properties&&(n.properties=Object.fromEntries(Object.entries(t.properties).map(([e,t])=>[e,i(t)])));break;case`record`:n.type=`record`;break;case`records`:n.type=`records`;break;default:n.type=`unknown`}return Array.isArray(t.enum)&&(n.enum=t.enum.filter(e=>typeof e==`string`)),t.multiline===!0&&(n.multiline=!0),(0,e.isNonEmptyString)(t.label)&&(n.label=t.label),(0,e.isNonEmptyString)(t.objectUniversalIdentifier)&&(n.objectUniversalIdentifier=t.objectUniversalIdentifier),n},a=e=>[i(e)],o=`RetryableLogicFunctionError`,s=class extends Error{constructor(e){super(e),this.name=o}},c=class extends Error{constructor(e){super(`App connection ${e} requires the user to reconnect (authFailedAt is set). Surface a "Reconnect" prompt in your UI.`),this.name=`AppConnectionAuthFailedError`,this.connectionId=e}},l={user:`USER`,workspace:`WORKSPACE`},u=`TWENTY_API_URL`,d=`TWENTY_APP_ACCESS_TOKEN`,f=`TWENTY_APP_APPLICATION_ACCESS_TOKEN`,p=`TWENTY_INTERNAL_API_URL`,m={USER:`user`,WORKSPACE:`workspace`},h=t=>{let n=t[p];return(0,e.isNonEmptyString)(n)?n:t[u]},g=e=>({...e,visibility:m[e.scope]}),_=()=>process.env.TWENTY_APP_APPLICATION_ACCESS_TOKEN??process.env.TWENTY_APP_ACCESS_TOKEN,ee=()=>process.env.TWENTY_APP_ACCESS_TOKEN??process.env.TWENTY_APP_APPLICATION_ACCESS_TOKEN,v=({caller:t,isActingAsCaller:n=!1})=>{let r=h(process.env),i=n?ee():_();if(!(0,e.isNonEmptyString)(r)||!(0,e.isNonEmptyString)(i))throw Error(`${t}() requires the app runtime env vars ${u} and ${f} (or ${d}).`);return{apiUrl:r,accessToken:i}},y=async({query:e,variables:t,caller:n,signal:r,isActingAsCaller:i=!1})=>{let{apiUrl:a,accessToken:o}=v({caller:n,isActingAsCaller:i}),s=await fetch(`${a}/metadata`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${o}`},body:JSON.stringify({query:e,variables:t}),signal:r});if(!s.ok)throw Error(`${n}() failed: HTTP ${s.status} ${s.statusText}`);let c=await s.json();if(c.errors&&c.errors.length>0)throw Error(`${n}() failed: ${c.errors.map(e=>e.message).join(`, `)}`);if(!c.data)throw Error(`${n}() failed: response contained no data.`);return c.data},b=`
|
|
2
2
|
query GetAppConnection($id: ID!) {
|
|
3
3
|
appConnection(id: $id) {
|
|
4
4
|
id
|
|
@@ -16,7 +16,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
|
|
|
16
16
|
authFailedReason
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
`,
|
|
19
|
+
`,x=async e=>{let{appConnection:t}=await y({query:b,variables:{id:e},caller:`getConnection`});if(t.authFailedAt!==null)throw new c(t.id);return g(t)},S=t=>(0,e.isNonEmptyString)(t)?t.charAt(0).toUpperCase()+t.slice(1):``,C=({objectNameSingular:e,recordId:t,displayName:n})=>`[[record:${e}:${t}:${n}]]`,w=`
|
|
20
20
|
query ListAppConnections($filter: ListAppConnectionsInput) {
|
|
21
21
|
appConnections(filter: $filter) {
|
|
22
22
|
id
|
|
@@ -34,11 +34,11 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
|
|
|
34
34
|
authFailedReason
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
`,
|
|
37
|
+
`,te=async({visibility:e,...t}={})=>{let{appConnections:n}=await y({query:w,variables:{filter:{...t,scope:t.scope??(r(e)?l[e]:void 0)}},caller:`listConnections`});return n.map(g)},ne=(e,t)=>{if(t.userWorkspaceId!==null){let n=e.find(e=>e.scope===`USER`&&e.userWorkspaceId===t.userWorkspaceId);if(n)return n}return e.find(e=>e.scope===`WORKSPACE`)??null},re=`
|
|
38
38
|
mutation ReportAppConnectionAuthFailure($input: ReportAppConnectionAuthFailureInput!) {
|
|
39
39
|
reportAppConnectionAuthFailure(input: $input)
|
|
40
40
|
}
|
|
41
|
-
`,
|
|
41
|
+
`,ie=async({connectionId:e,reason:t})=>{await y({query:re,variables:{input:{id:e,reason:t}},caller:`reportConnectionAuthFailure`})},T=`
|
|
42
42
|
id
|
|
43
43
|
handle
|
|
44
44
|
displayName
|
|
@@ -47,31 +47,31 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
|
|
|
47
47
|
isSyncEnabled
|
|
48
48
|
participantHandleFieldUniversalIdentifier
|
|
49
49
|
messagingProviderUniversalIdentifier
|
|
50
|
-
`,
|
|
50
|
+
`,ae=`
|
|
51
51
|
mutation CreateAppMessageChannel($input: CreateAppMessageChannelInput!) {
|
|
52
52
|
createAppMessageChannel(input: $input) {
|
|
53
53
|
${T}
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
`,
|
|
56
|
+
`,oe=async({messagingProvider:e,...t})=>{let{createAppMessageChannel:n}=await y({query:ae,variables:{input:{...t,messagingProviderUniversalIdentifier:e?.universalIdentifier}},caller:`createMessageChannel`});return n},se=`
|
|
57
57
|
query ListAppMessageChannels($filter: ListAppMessageChannelsInput) {
|
|
58
58
|
appMessageChannels(filter: $filter) {
|
|
59
59
|
${T}
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
`,
|
|
62
|
+
`,ce=async(e={})=>{let{appMessageChannels:t}=await y({query:se,variables:{filter:e},caller:`listMessageChannels`});return t},le=`
|
|
63
63
|
mutation UpdateAppMessageChannel($input: UpdateAppMessageChannelInput!) {
|
|
64
64
|
updateAppMessageChannel(input: $input) {
|
|
65
65
|
${T}
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
`,
|
|
68
|
+
`,E=async({messagingProvider:e,...t})=>{let{updateAppMessageChannel:n}=await y({query:le,variables:{input:{...t,messagingProviderUniversalIdentifier:e===void 0?void 0:e?.universalIdentifier??null}},caller:`updateMessageChannel`});return n},D=`
|
|
69
69
|
mutation DeleteAppMessageChannel($id: UUID!) {
|
|
70
70
|
deleteAppMessageChannel(id: $id) {
|
|
71
71
|
${T}
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
`,
|
|
74
|
+
`,O=async e=>{let{deleteAppMessageChannel:t}=await y({query:D,variables:{id:e},caller:`deleteMessageChannel`});return t},k=`
|
|
75
75
|
mutation IngestAppMessages($input: IngestAppMessagesInput!) {
|
|
76
76
|
ingestAppMessages(input: $input) {
|
|
77
77
|
messages {
|
|
@@ -82,25 +82,25 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
`,
|
|
85
|
+
`,A=async({messageChannelId:e,messages:t})=>{let{ingestAppMessages:n}=await y({query:k,variables:{input:{messageChannelId:e,messages:t}},caller:`ingestMessages`});return n.messages},j=`20202020-15db-460e-8166-c7b5d87ad4be`,M=255,N=async({filename:n,content:r,signal:i})=>{if(!(0,e.isNonEmptyString)(n)||n.length>M)throw Error(`uploadMessageAttachment() failed: filename must be 1 to ${M} characters long`);let{apiUrl:a,accessToken:o}=v({caller:`uploadMessageAttachment`});return{fileId:(await new t.MetadataApiClient({url:`${a}/metadata`,headers:{Authorization:`Bearer ${o}`},fetch:(e,t)=>fetch(e,{...t,signal:i})}).uploadFile({fileBuffer:r,filename:n,fieldMetadataUniversalIdentifier:j})).id,label:n}},P=`
|
|
86
86
|
id
|
|
87
87
|
externalId
|
|
88
88
|
name
|
|
89
89
|
isSynced
|
|
90
90
|
messageChannelId
|
|
91
|
-
`,
|
|
91
|
+
`,F=`
|
|
92
92
|
query ListAppMessageFolders($filter: ListAppMessageFoldersInput) {
|
|
93
93
|
appMessageFolders(filter: $filter) {
|
|
94
|
-
${
|
|
94
|
+
${P}
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
`,
|
|
97
|
+
`,I=async(e={})=>{let{appMessageFolders:t}=await y({query:F,variables:{filter:e},caller:`listMessageFolders`});return t},L=`
|
|
98
98
|
mutation SyncAppMessageFolders($input: SyncAppMessageFoldersInput!) {
|
|
99
99
|
syncAppMessageFolders(input: $input) {
|
|
100
|
-
${
|
|
100
|
+
${P}
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
`,
|
|
103
|
+
`,R=async e=>{let{syncAppMessageFolders:t}=await y({query:L,variables:{input:e},caller:`syncMessageFolders`});return t},z=t=>(0,e.isString)(t)?[{role:`user`,content:t}]:t,B=`
|
|
104
104
|
mutation RunAgent($input: RunAgentInput!) {
|
|
105
105
|
runAgent(input: $input) {
|
|
106
106
|
threadId
|
|
@@ -111,7 +111,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
|
|
|
111
111
|
success
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
`,
|
|
114
|
+
`,V=async({input:e,...t})=>{let{runAgent:n}=await y({query:B,variables:{input:r(e)?{...t,input:z(e)}:t},caller:`runAgent`});return n},H=`agentChatAssistant`,U=e=>e.type===`message-persisted`&&r(e.turnId)||e.type===`stream-ended`||e.type===`run-finished`||e.type===`credits-exhausted`||e.type===`stream-error`,W=e=>{let t=e.providerMetadata??void 0;switch(e.type){case`text`:return{type:`text`,text:e.textContent??``};case`reasoning`:return{type:`reasoning`,text:e.reasoningContent??``,state:e.state??`done`,providerMetadata:t};case`file`:return{type:`file`,mediaType:e.fileMediaType??`application/octet-stream`,filename:e.fileFilename??``,url:e.fileUrl??``,fileId:e.fileId??``};case`source-url`:return{type:`source-url`,sourceId:e.sourceUrlSourceId??``,url:e.sourceUrlUrl??``,title:e.sourceUrlTitle??``,providerMetadata:t};case`source-document`:return{type:`source-document`,sourceId:e.sourceDocumentSourceId??``,mediaType:e.sourceDocumentMediaType??``,title:e.sourceDocumentTitle??``,filename:e.sourceDocumentFilename??``,providerMetadata:t};case`step-start`:return{type:`step-start`};default:{let t=e.type.startsWith(`tool-`),n=e.type===`dynamic-tool`;return!t&&!n||!r(e.toolCallId)?null:{type:e.type,...n&&{toolName:e.toolName??``},toolCallId:e.toolCallId,input:e.toolInput??{},output:e.toolOutput,errorText:e.errorMessage??``,state:e.state,...r(e.providerExecuted)&&{providerExecuted:e.providerExecuted},...r(e.providerMetadata)&&{callProviderMetadata:e.providerMetadata}}}}},ue=e=>e.map(e=>({id:e.id,role:e.role,status:e.status,parts:[...e.parts].sort((e,t)=>e.orderIndex-t.orderIndex).map(W).filter(r),metadata:{createdAt:e.createdAt,senderWorkspaceMemberId:e.senderWorkspaceMemberId,senderApplicationId:e.senderApplicationId,agentId:e.agentId,isBuiltInAssistant:e.isBuiltInAssistant,turnId:e.turnId,...e.role===`assistant`?{startedAt:e.createdAt,finishedAt:e.processedAt??void 0}:{}},threadId:e.threadId})),de=`
|
|
115
115
|
query ConversationMessages($agentUniversalIdentifier: UUID!, $threadKey: String!) {
|
|
116
116
|
messages: chatMessages(agentUniversalIdentifier: $agentUniversalIdentifier, threadKey: $threadKey) {
|
|
117
117
|
id
|
|
@@ -157,20 +157,20 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
`,
|
|
160
|
+
`,fe=async e=>{let{messages:t,streamCatchup:n}=await y({query:de,variables:e,caller:`listConversationMessages`});return{messages:ue(t),streamCatchup:n}},G=t=>(0,e.isObject)(t)&&!(0,e.isArray)(t),K=t=>t.map(t=>G(t)&&(0,e.isString)(t.message)?t.message:JSON.stringify(t)),pe=t=>G(t)&&(0,e.isString)(t.type),me=({block:t,caller:n})=>{let r=t.split(`
|
|
161
161
|
`);if(r.includes(`event: complete`))return{type:`complete`};let i=r.filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trimStart()).join(`
|
|
162
|
-
`);if(!(0,e.isNonEmptyString)(i))return null;let a=JSON.parse(i);if(!G(a))throw Error(`${n}() failed: unexpected result ${i}`);if((0,e.isArray)(a.errors))return{type:`errors`,messages:K(a.errors)};let o=G(a.data)&&G(a.data.onAgentChatEvent)?a.data.onAgentChatEvent.event:void 0;if(!
|
|
162
|
+
`);if(!(0,e.isNonEmptyString)(i))return null;let a=JSON.parse(i);if(!G(a))throw Error(`${n}() failed: unexpected result ${i}`);if((0,e.isArray)(a.errors))return{type:`errors`,messages:K(a.errors)};let o=G(a.data)&&G(a.data.onAgentChatEvent)?a.data.onAgentChatEvent.event:void 0;if(!pe(o))throw Error(`${n}() failed: unexpected result ${i}`);return{type:`event`,event:o}},he=async t=>{let n=await t.json().catch(()=>void 0);return G(n)&&(0,e.isArray)(n.errors)?K(n.errors).join(`, `):`HTTP ${t.status} ${t.statusText}`};async function*q({query:e,variables:t,caller:n,signal:i,closedEarlyAdvice:a=``,isActingAsCaller:o=!1}){let{apiUrl:s,accessToken:c}=v({caller:n,isActingAsCaller:o}),l;if(!i?.aborted)try{let o=await fetch(`${s}/metadata`,{method:`POST`,headers:{Accept:`text/event-stream`,"Content-Type":`application/json`,Authorization:`Bearer ${c}`},body:JSON.stringify({query:e,variables:t}),signal:i});if(!o.ok||!r(o.body))throw Error(`${n}() failed: ${await he(o)}`);l=o.body.pipeThrough(new TextDecoderStream).getReader();let u=``;for(;;){let{done:e,value:t}=await l.read();if(e)throw Error(`${n}() failed: the stream closed early${a}`);u=(u+t).replace(/\r\n/g,`
|
|
163
163
|
`);let r=u.indexOf(`
|
|
164
164
|
|
|
165
|
-
`);for(;r!==-1;){let e=
|
|
165
|
+
`);for(;r!==-1;){let e=me({block:u.slice(0,r),caller:n});if(u=u.slice(r+2),r=u.indexOf(`
|
|
166
166
|
|
|
167
|
-
`),e?.type===`complete`)return;if(e?.type===`errors`)throw Error(`${n}() failed: ${e.messages.join(`, `)}`);e?.type===`event`&&(yield e.event)}}}catch(e){if(i?.aborted)return;throw e}finally{await l?.cancel().catch(()=>{})}}var
|
|
167
|
+
`),e?.type===`complete`)return;if(e?.type===`errors`)throw Error(`${n}() failed: ${e.messages.join(`, `)}`);e?.type===`event`&&(yield e.event)}}}catch(e){if(i?.aborted)return;throw e}finally{await l?.cancel().catch(()=>{})}}var ge=`
|
|
168
168
|
subscription OnAgentChatEvent($agentUniversalIdentifier: UUID!, $threadKey: String!) {
|
|
169
169
|
onAgentChatEvent(agentUniversalIdentifier: $agentUniversalIdentifier, threadKey: $threadKey) {
|
|
170
170
|
event
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
`,
|
|
173
|
+
`,_e=({signal:e,...t})=>q({query:ge,variables:t,caller:`streamConversation`,signal:e,closedEarlyAdvice:`; read the history and stream again to resume`}),ve=`
|
|
174
174
|
mutation Generate($input: GenerateInput!) {
|
|
175
175
|
generate(input: $input) {
|
|
176
176
|
success
|
|
@@ -184,13 +184,13 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
`,
|
|
187
|
+
`,ye=`
|
|
188
188
|
subscription OnAgentRunEvent($runId: UUID!) {
|
|
189
189
|
onAgentChatEvent(runId: $runId) {
|
|
190
190
|
event
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
-
`,
|
|
193
|
+
`,be=5e3,J=async({variables:e,signal:t})=>{let{generate:n}=await y({query:ve,variables:e,caller:`ai.generate`,signal:t,isActingAsCaller:!0});return n},xe=t=>(0,e.isString)(t.type),Y=e=>{let t,n=!0;return{quiet:new Promise(r=>{e.then(()=>{n&&(t=setTimeout(()=>r(void 0),be))},()=>void 0)}),stop:()=>{n=!1,clearTimeout(t)}}},Se=async({variables:e,onChunk:t,signal:n})=>{let i=crypto.randomUUID(),a=new AbortController,o=r(n)?AbortSignal.any([n,a.signal]):a.signal,s=new Promise((e,t)=>n?.addEventListener(`abort`,()=>t(n.reason),{once:!0,signal:a.signal}));s.catch(()=>void 0);try{let a=q({query:ye,variables:{runId:i},caller:`ai.generate`,signal:o,isActingAsCaller:!0});if((await a.next()).done)throw n?.throwIfAborted(),Error(`ai.generate() failed: the stream ended before the run`);let c=J({variables:{input:{...e.input,runId:i}},signal:o}),[l]=await Promise.race([Promise.all([c,(async()=>{let e=Y(c);try{for(;;){let n=await Promise.race([a.next(),e.quiet]).catch(()=>void 0);if(!r(n)||n.done||o.aborted||U(n.value))return;n.value.type===`stream-chunk`&&xe(n.value.chunk)&&(e.stop(),await t(n.value.chunk),e=Y(c))}}finally{e.stop(),a.return(void 0).catch(()=>void 0)}})()]),s]);return n?.throwIfAborted(),l}finally{a.abort()}},Ce={generate:async({input:e,onChunk:t,signal:n,...i})=>{let a={input:{...i,input:z(e)}};return r(t)?Se({variables:a,onChunk:t,signal:n}):J({variables:a,signal:n})}},we=async e=>{let{sendInboxMessage:n}=await new t.MetadataApiClient().mutation({sendInboxMessage:{__args:{input:e},threadId:!0}});return n},Te=/\[/g,Ee=/\]/g,De=/\r?\n/g,X=e=>e.replace(Te,`(`).replace(Ee,`)`).replace(De,` `).trim(),Oe=async({workspaceMemberId:t})=>{let{data:{workspaceMember:r}}=await new n.RestApiClient().get(`/rest/workspaceMembers/${t}`),i=`${r.name.firstName??``} ${r.name.lastName??``}`.trim();return C({objectNameSingular:`workspaceMember`,recordId:t,displayName:X((0,e.isNonEmptyString)(i)?i:r.userEmail)})},Z=({fullName:t,partName:n})=>{let r=(0,e.isObject)(t)?Reflect.get(t,n):void 0;return(0,e.isString)(r)?r:``},ke=({record:e,recordId:t,labelIdentifierField:n})=>{if(!r(n))return t;let i=e[n.name];return n.type===`FULL_NAME`?`${Z({fullName:i,partName:`firstName`})} ${Z({fullName:i,partName:`lastName`})}`.trim():r(i)?String(i):``},Ae=async({metadataClient:e,objectMetadata:t})=>{if(!r(t.labelIdentifierFieldMetadataId))return;let{object:n}=await e.query({object:{__args:{id:t.id},fields:{__args:{filter:{id:{eq:t.labelIdentifierFieldMetadataId}},paging:{first:1}},edges:{node:{name:!0,type:!0}}}}});return n.fields.edges[0]?.node},je=1e3,Me=async({metadataClient:e,objectNameSingular:t})=>{let{objects:n}=await e.query({objects:{__args:{filter:{},paging:{first:je}},edges:{node:{id:!0,nameSingular:!0,namePlural:!0,labelIdentifierFieldMetadataId:!0}}}}),i=n.edges.find(({node:e})=>e.nameSingular===t)?.node;if(!r(i))throw Error(`This workspace has no ${t} object.`);return i},Ne=async({objectNameSingular:e,recordId:r})=>{let i=new t.MetadataApiClient,a=await Me({metadataClient:i,objectNameSingular:e}),[o,s]=await Promise.all([Ae({metadataClient:i,objectMetadata:a}),new n.RestApiClient().get(`/rest/${a.namePlural}/${r}`)]);return C({objectNameSingular:e,recordId:r,displayName:X(ke({record:s.data[e],recordId:r,labelIdentifierField:o}))})},Pe=C({objectNameSingular:H,recordId:H,displayName:`Ada`}),Fe=async e=>{await new t.MetadataApiClient().mutation({attachRecordToInboxThread:{__args:{input:e}}})},Q=async e=>{await new t.MetadataApiClient().mutation({detachRecordFromInboxThread:{__args:{input:e}}})},Ie=async e=>{await new t.MetadataApiClient().mutation({archiveInboxThread:{__args:{input:e}}})},Le=async e=>{let{enqueueJob:n}=await new t.MetadataApiClient().mutation({enqueueJob:{__args:{input:e},enqueued:!0,logicFunctionUniversalIdentifier:!0,jobId:!0}});return n},Re=async e=>{let{enqueueJobs:n}=await new t.MetadataApiClient().mutation({enqueueJobs:{__args:{input:e},enqueued:!0,logicFunctionUniversalIdentifier:!0,enqueuedJobsCount:!0,jobIds:!0,jobs:{jobId:!0,sizeBytes:!0},availableBytes:!0}});return n},ze=async e=>{let{getJobs:n}=await new t.MetadataApiClient().query({getJobs:{__args:{jobIds:e},jobId:!0,state:!0,attemptsMade:!0,failedReason:!0,enqueuedAt:!0,startedAt:!0,finishedAt:!0}});return n},Be=e=>({__args:{paging:{first:e.length},filter:{universalIdentifier:{in:e}}},edges:{node:{id:!0,universalIdentifier:!0,nameSingular:!0}}}),Ve=async({timelineActivityTypeUniversalIdentifier:e,targetObjectUniversalIdentifier:i,linkedObjectMetadataUniversalIdentifier:a,targetRecordId:o,...s})=>{let c=[...new Set([i,a].filter(r))],{timelineActivityTypes:l,objects:u}=await new t.MetadataApiClient().query({timelineActivityTypes:{id:!0,universalIdentifier:!0,isActive:!0},objects:Be(c)}),d=l.find(({universalIdentifier:t})=>t===e);if(!r(d))throw Error(`Timeline activity type ${e} is not installed`);if(!d.isActive)throw Error(`Timeline activity type ${e} is inactive`);let f=new Map(u.edges.map(({node:e})=>[e.universalIdentifier,e])),p=f.get(i);if(!r(p))throw Error(`Timeline activity target object ${i} is not installed`);let m=`target${S(p.nameSingular)}Id`,h=r(a)?f.get(a):void 0;if(r(a)&&!r(h))throw Error(`Timeline activity linked object ${a} is not installed`);return(await new n.RestApiClient().post(`/rest/timelineActivities`,{...s,timelineActivityTypeId:d.id,linkedObjectMetadataId:h?.id,[m]:o})).data.createTimelineActivity},He=`
|
|
194
194
|
query GetAppKeyValue($key: String!, $scope: AppKeyValueScope) {
|
|
195
195
|
appKeyValue(key: $key, scope: $scope) {
|
|
196
196
|
key
|
|
@@ -198,7 +198,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
|
|
|
198
198
|
scope
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
|
-
`,
|
|
201
|
+
`,Ue=`
|
|
202
202
|
mutation SetAppKeyValue($input: SetAppKeyValueInput!) {
|
|
203
203
|
setAppKeyValue(input: $input) {
|
|
204
204
|
key
|
|
@@ -206,9 +206,9 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
|
|
|
206
206
|
scope
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
|
-
`,
|
|
209
|
+
`,We=`
|
|
210
210
|
mutation DeleteAppKeyValue($key: String!, $scope: AppKeyValueScope) {
|
|
211
211
|
deleteAppKeyValue(key: $key, scope: $scope)
|
|
212
212
|
}
|
|
213
|
-
`,$=`WORKSPACE`,
|
|
213
|
+
`,$=`WORKSPACE`,Ge={async get(e,t){let{appKeyValue:n}=await y({query:He,variables:{key:e,scope:t?.scope??$},caller:`kv.get`});return n?.value??null},async set(e,t,n){await y({query:Ue,variables:{input:{key:e,value:t,scope:n?.scope??$}},caller:`kv.set`})},async delete(e,t){let{deleteAppKeyValue:n}=await y({query:We,variables:{key:e,scope:t?.scope??$},caller:`kv.delete`});return n}},Ke=class{constructor(e,t){this.__twentyHttpResponse=!0,this.body=e,this.status=t?.status,this.headers=t?.headers}};exports.AppConnectionAuthFailedError=c,exports.INBOX_ASSISTANT_MENTION=Pe,exports.Response=Ke,exports.RetryableLogicFunctionError=s,exports.ai=Ce,exports.archiveInboxThread=Ie,exports.attachRecordToInboxThread=Fe,exports.createMessageChannel=oe,exports.createTimelineActivity=Ve,exports.deleteMessageChannel=O,exports.detachRecordFromInboxThread=Q,exports.enqueueJob=Le,exports.enqueueJobs=Re,exports.findConnectionForRequest=ne,exports.getConnection=x,exports.getJobs=ze,exports.inboxMention=Oe,exports.inboxReferenceRecord=Ne,exports.ingestMessages=A,exports.isAgentChatTurnEndEvent=U,exports.jsonSchemaToInputSchema=a,exports.kv=Ge,exports.listConnections=te,exports.listConversationMessages=fe,exports.listMessageChannels=ce,exports.listMessageFolders=I,exports.reportConnectionAuthFailure=ie,exports.runAgent=V,exports.sendInboxMessage=we,exports.streamConversation=_e,exports.syncMessageFolders=R,exports.updateMessageChannel=E,exports.uploadMessageAttachment=N;
|
|
214
214
|
//# sourceMappingURL=index.cjs.map
|