@tailor-platform/sdk 2.8.0 → 2.10.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 +26 -0
- package/dist/cli/lib.mjs +1 -1
- package/dist/cli/main.mjs +1 -1
- package/dist/cli/shared/seed-context.d.mts +3 -1
- package/dist/completion/zsh-worker.zsh +1 -1
- package/dist/configure/config/index.d.mts +2 -1
- package/dist/configure/index.d.mts +14 -14
- package/dist/configure/index.mjs +1 -1
- package/dist/configure/index.mjs.map +1 -1
- package/dist/configure/services/aigateway/index.d.mts +1 -3
- package/dist/configure/services/idp/index.d.mts +1 -1
- package/dist/configure/services/resolver/resolver.d.mts +1 -1
- package/dist/configure/services/tailordb/schema.d.mts +22 -13
- package/dist/configure/types/index.d.mts +1 -1
- package/dist/plugin/builtin/seed/index.mjs +1 -1
- package/dist/plugin/types.d.mts +17 -7
- package/dist/{register-ts-hook-CQuJ7h5G.mjs → register-ts-hook-D6aNriu3.mjs} +39 -39
- package/dist/register-ts-hook-D6aNriu3.mjs.map +1 -0
- package/dist/{schema-AYG4OhXY.mjs → schema-6d_OHyZf.mjs} +2 -2
- package/dist/schema-6d_OHyZf.mjs.map +1 -0
- package/dist/{seed-DwqRFdqP.mjs → seed-CMkupmX8.mjs} +41 -17
- package/dist/seed-CMkupmX8.mjs.map +1 -0
- package/dist/types/helpers.d.mts +3 -1
- package/dist/vitest/index.d.mts +2 -2
- package/dist/vitest/index.mjs.map +1 -1
- package/dist/vitest/mocks/file.d.mts +1 -1
- package/dist/vitest/pglite-kysely.d.mts +29 -7
- package/docs/plugin/custom.md +84 -0
- package/docs/services/tailordb-migration.md +14 -8
- package/package.json +5 -5
- package/dist/register-ts-hook-CQuJ7h5G.mjs.map +0 -1
- package/dist/schema-AYG4OhXY.mjs.map +0 -1
- package/dist/seed-DwqRFdqP.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @tailor-platform/sdk
|
|
2
2
|
|
|
3
|
+
## 2.10.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#2169](https://github.com/tailor-platform/sdk/pull/2169) [`e7fa784`](https://github.com/tailor-platform/sdk/commit/e7fa784f82d3bac09322789a6aadc56deaf24ba6) Thanks [@toiroakr](https://github.com/toiroakr)! - Add `PluginFieldExtensions`, a new interface exported from `@tailor-platform/sdk` alongside `PluginConfigs`. A TailorDB plugin author declares it via the same `declare module "@tailor-platform/sdk"` declaration merging used for `PluginConfigs` (see the plugin docs), keyed by the plugin's `id`, to make the fields it injects at generation time show up on the attached table's own static type immediately — computed from the literal per-table config passed to `.plugin()`, without a separate hand-written declaration. `Plugin` gains an optional third type parameter so `onTableLoaded`'s `extends.fields` return type can be checked against the declared field extension. `.plugin()` now reports a type error at the call site when an injected field name collides with an existing field or with a field injected by another plugin attached in the same call — including previously-unregistered plugin ids passed to `.plugin()`, an unknown property on a registered plugin's config, or a config value that is itself a union (e.g. from a ternary), all of which used to be silently accepted or silently produce a wrong inferred type. The custom plugin API is still beta, so this tightening ships as part of the minor release rather than a major one; register the plugin id via `PluginConfigs` (see `docs/plugin/custom.md`) if it starts failing to type-check. `TailorDBType` also gains a fourth, defaulted type parameter tracking the literal keys declared via `.files()`, so `.plugin()` now reports a type error at the call site when an injected field name collides with a file key regardless of whether `.files()` or `.plugin()` was called first — previously only one call order was caught. `tailor generate` also throws on the same collision at runtime as a backstop.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- [#2209](https://github.com/tailor-platform/sdk/pull/2209) [`3ca6d5e`](https://github.com/tailor-platform/sdk/commit/3ca6d5e2c6e4550f6b3cd0e93e86c6a33695c197) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update secretlint monorepo to v13.0.5
|
|
12
|
+
|
|
13
|
+
## 2.9.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- [#2198](https://github.com/tailor-platform/sdk/pull/2198) [`6bd5286`](https://github.com/tailor-platform/sdk/commit/6bd5286aa3ea1d3dc3b56c7eac3a17f7a64ba7df) Thanks [@dqn](https://github.com/dqn)! - Add `Unmigrated<Database>` to `@tailor-platform/sdk/vitest` for staging pre-migration rows in a PGlite test. Typing `createKyselyPGlite<Unmigrated<Database>>(...)` lets `insertInto` and `updateTable` write whatever a column can still be read as — `null` into a column the migration makes required, a removed value into an enum it narrows — so the rows the script has to convert can be staged through the typed API, while `main` still runs against the strict `Database` from `db.ts`.
|
|
18
|
+
|
|
19
|
+
- [#2197](https://github.com/tailor-platform/sdk/pull/2197) [`ee2bd7d`](https://github.com/tailor-platform/sdk/commit/ee2bd7dcc9cf88be47c1a5bcbe3dca0d5122c13a) Thanks [@dqn](https://github.com/dqn)! - Fix `tailor seed apply --truncate` failing to delete IdP `_User` records. Deletion now runs in chunks of 25 users per request so large user counts no longer hit `deadline_exceeded`, and a user that is listed but already gone by the time it is deleted counts as deleted instead of failing every run.
|
|
20
|
+
|
|
21
|
+
`SeedIdpUserContext` from `@tailor-platform/sdk/cli` gains a required `listScriptCode` field carrying the server-side script that lists the `_User` records to delete; `truncateScriptCode` now deletes the chunk of users passed as input, and keeps listing and deleting every user when called without input.
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- [#2203](https://github.com/tailor-platform/sdk/pull/2203) [`bfb06bf`](https://github.com/tailor-platform/sdk/commit/bfb06bfda619f9312e33092d2dadfb5ca88594cd) Thanks [@renovate](https://github.com/apps/renovate)! - chore(deps): update dependency @electric-sql/pglite to v0.5.8
|
|
26
|
+
|
|
27
|
+
- [#2205](https://github.com/tailor-platform/sdk/pull/2205) [`1cff028`](https://github.com/tailor-platform/sdk/commit/1cff028c263be7b42e58e3dbc5278f444df802aa) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update @inquirer
|
|
28
|
+
|
|
3
29
|
## 2.8.0
|
|
4
30
|
|
|
5
31
|
### Minor Changes
|
package/dist/cli/lib.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as ee,r as e}from"../logger-CCjs1DuH.mjs";import{A as t,At as n,B as r,Bn as i,Bt as a,D as o,Dn as s,Dr as c,Et as l,F as u,G as d,Gr as f,Gt as p,H as m,In as h,It as g,J as _,Jn as v,Jr as y,Jt as b,Kn as x,Kr as S,Ln as C,Lt as w,M as T,N as E,Nn as D,Nr as O,Ot as k,P as A,Pt as j,Q as M,Qt as N,Rn as P,Rt as F,S as I,Sr as L,St as R,T as z,Tt as B,U as V,Ut as H,Vn as U,Vr as W,Vt as G,Wn as K,Wr as q,Xn as J,Y,Yn as X,Zt as Z,_ as Q,ar as te,b as ne,br as $,cn as re,ct as ie,d as ae,dn as oe,dr as se,ei as ce,er as le,et as ue,fr as de,ft as fe,h as pe,ht as me,i as he,ir as ge,it as _e,jt as ve,k as ye,l as be,ln as xe,mt as Se,n as Ce,nt as we,on as Te,ot as Ee,p as De,qn as Oe,qr as ke,qt as Ae,r as je,rn as Me,s as Ne,t as Pe,ur as Fe,ut as Ie,vt as Le,wt as Re,xn as ze,xr as Be,y as Ve,yr as He,yt as Ue,zn as We}from"../register-ts-hook-
|
|
1
|
+
import{n as ee,r as e}from"../logger-CCjs1DuH.mjs";import{A as t,At as n,B as r,Bn as i,Bt as a,D as o,Dn as s,Dr as c,Et as l,F as u,G as d,Gr as f,Gt as p,H as m,In as h,It as g,J as _,Jn as v,Jr as y,Jt as b,Kn as x,Kr as S,Ln as C,Lt as w,M as T,N as E,Nn as D,Nr as O,Ot as k,P as A,Pt as j,Q as M,Qt as N,Rn as P,Rt as F,S as I,Sr as L,St as R,T as z,Tt as B,U as V,Ut as H,Vn as U,Vr as W,Vt as G,Wn as K,Wr as q,Xn as J,Y,Yn as X,Zt as Z,_ as Q,ar as te,b as ne,br as $,cn as re,ct as ie,d as ae,dn as oe,dr as se,ei as ce,er as le,et as ue,fr as de,ft as fe,h as pe,ht as me,i as he,ir as ge,it as _e,jt as ve,k as ye,l as be,ln as xe,mt as Se,n as Ce,nt as we,on as Te,ot as Ee,p as De,qn as Oe,qr as ke,qt as Ae,r as je,rn as Me,s as Ne,t as Pe,ur as Fe,ut as Ie,vt as Le,wt as Re,xn as ze,xr as Be,y as Ve,yr as He,yt as Ue,zn as We}from"../register-ts-hook-D6aNriu3.mjs";import{Z as Ge}from"../application-D2E3FDfF.mjs";import{t as Ke}from"../type-source--ZNcV8RJ.mjs";import{arg as qe,defineCommand as Je,runCommand as Ye,runMain as Xe}from"politty";await Pe(new URL(`./ts-hook.mjs`,import.meta.url));export{C as DB_TYPES_FILE_NAME,P as DIFF_FILE_NAME,We as INITIAL_SCHEMA_NUMBER,i as MIGRATE_FILE_NAME,U as MIGRATE_TEST_FILE_NAME,le as MIGRATION_LABEL_KEY,K as SCHEMA_FILE_NAME,$ as apiCall,N as apply,N as deploy,qe as arg,Be as assertWritable,ze as bundleMigrationScript,A as bundleSeedScript,E as chunkSeedData,ge as compareLocalTypesWithSnapshot,te as compareSnapshots,q as configArg,f as confirmationArgs,S as createCommonArgs,Ie as createFolder,D as createSnapshotFromLocalTypes,Te as createWorkspace,W as defineAppCommand,Je as defineCommand,ie as deleteFolder,Ve as deleteWorkspace,m as deployStaticWebsite,ke as deploymentArgs,xe as ensureConfigId,Ce as errorToJson,B as executeScript,Re as extractOwnedNamespaces,Fe as formatDiffSummary,se as formatMigrationDiff,Ue as generate,oe as generateUserTypes,I as getAppHealth,Z as getExecutor,w as getExecutorJob,F as getExecutorWaitFailureMessage,Ee as getFolder,n as getFunctionRegistry,x as getLatestMigrationNumber,me as getMachineUserToken,Oe as getMigrationDirPath,v as getMigrationFilePath,X as getMigrationFiles,s as getNamespacesWithMigrations,J as getNextMigrationNumber,Se as getOAuth2Client,ue as getOrganization,p as getWorkflow,Ae as getWorkflowExecution,Q as getWorkspace,de as hasChanges,Ge as initOperatorClient,De as inviteUser,Ke as isPluginGeneratedTable,ne as listApps,a as listExecutorJobs,g as listExecutors,_e as listFolders,k as listFunctionRegistries,Le as listMachineUsers,fe as listOAuth2Clients,M as listOrganizations,ae as listUsers,ve as listWebhookExecutors,b as listWorkflowExecutions,ye as listWorkflows,Me as listWorkspaces,c as loadAccessToken,L as loadConfig,y as loadEnvFiles,T as loadSeedContext,R as loadTailorDBNamespaces,O as loadWorkspaceId,r as logBetaWarning,ee as logger,u as migrateGenerate,Y as organizationTree,He as prompt,he as query,h as reconstructSnapshotFromMigrations,d as remove,be as removeUser,pe as restoreWorkspace,o as resumeWorkflow,Ye as runCommand,Xe as runMain,je as serializeError,V as show,H as startWorkflow,e as styles,j as triggerExecutor,t as truncate,we as updateFolder,_ as updateOrganization,Ne as updateUser,l as waitForExecution,z as waitWorkflowExecution,G as watchExecutorJob,ce as workspaceArgs,re as workspaceNameSchema};
|
|
2
2
|
//# sourceMappingURL=lib.mjs.map
|
package/dist/cli/main.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{r as e}from"../schema-
|
|
2
|
+
import{r as e}from"../schema-6d_OHyZf.mjs";import{E as t,Ft as n,Ht as r,Ot as i,q as a}from"../workspace_resource_pb-B7S-zx4Z.mjs";import{t as o}from"../assert-WeXvmG4j.mjs";import{a as s,n as c,r as l}from"../logger-CCjs1DuH.mjs";import{$ as u,$n as d,$r as f,$t as p,An as m,Ar as h,B as g,Br as _,C as v,Cn as y,Cr as b,Ct as x,Dn as S,Dr as C,Dt as w,E as ee,En as T,Er as te,Fn as E,Fr as D,Ft as ne,Gn as re,Gr as O,Hn as ie,Ht as ae,I as oe,In as k,Ir as se,Jn as ce,K as le,Kn as ue,Kt as de,L as fe,Lr as pe,M as me,Mn as he,Mr as ge,Mt as _e,N as ve,Nn as ye,Nr as A,Nt as be,O as xe,On as Se,Or as Ce,P as we,Pn as Te,Pr as j,Qn as Ee,Qr as De,R as Oe,Rr as ke,Sn as Ae,Sr as M,St as je,Tn as Me,Tr as Ne,Tt as Pe,Un as Fe,Ur as Ie,V as Le,Vr as N,W as Re,Wr as ze,Wt as Be,X as Ve,Xr as He,Xt as Ue,Yn as We,Yr as Ge,Yt as Ke,Z as qe,Zn as Je,Zr as Ye,_n as Xe,_r as Ze,_t as Qe,a as $e,an as et,ar as tt,at as nt,bn as rt,br as it,bt as at,c as ot,cr as P,dr as st,dt as ct,ei as F,en as lt,er as ut,f as dt,fn as ft,fr as pt,g as mt,gn as ht,gr as gt,gt as _t,hn as vt,hr as yt,in as bt,ir as xt,j as St,jn as Ct,jr as wt,kn as Tt,kr as Et,kt as Dt,lr as Ot,lt as kt,m as At,mn as jt,mr as I,nn as Mt,nr as Nt,o as Pt,or as Ft,pn as It,pr as Lt,pt as Rt,q as zt,qr as L,r as Bt,rr as Vt,rt as Ht,sn as Ut,sr as Wt,st as Gt,t as Kt,tn as qt,tr as Jt,tt as Yt,u as Xt,un as Zt,ur as Qt,v as $t,vn as en,vr as tn,w as nn,wn as rn,wr as an,wt as on,x as sn,xn as cn,xr as R,xt as ln,yn as un,yr as z,yt as dn,z as fn,zr as pn,zt as mn}from"../register-ts-hook-D6aNriu3.mjs";import{A as hn,B as gn,D as _n,E as vn,G as yn,J as bn,M as xn,O as Sn,Q as Cn,R as wn,T as Tn,U as B,V as En,W as Dn,X as On,Y as kn,Z as V,_ as An,a as jn,d as Mn,f as Nn,j as Pn,k as Fn,m as In,o as Ln,q as Rn,u as zn,v as Bn,z as Vn}from"../application-D2E3FDfF.mjs";import{h as Hn,i as Un,r as Wn}from"../service-DDon86tM.mjs";import{t as H}from"../multiline-EyzjEwn9.mjs";import{t as Gn}from"../package-json-C690ceex.mjs";import{t as Kn}from"../user-agent-vdHYF3QL.mjs";import{a as qn,i as Jn,n as Yn,o as Xn,r as Zn,t as Qn}from"../errors-BlX4gUw5.mjs";import{t as $n}from"../service_pb-BNxUPfP3.mjs";import{a as er,i as tr,o as nr,r as rr,t as ir}from"../crashreport-BN28xp5B.mjs";import{a as ar,i as or,n as sr}from"../kysely-type-CmvAz1Xj.mjs";import*as U from"pathe";import{dirname as cr,resolve as lr}from"pathe";import{resolvePackageJSON as ur}from"pkg-types";import{arg as W,defineCommand as G,extractFields as dr,runCommand as K,runMain as fr,toCamelCase as pr}from"politty";import{withCompletionCommand as mr}from"politty/completion";import{withSkillCommand as hr}from"politty/skill";import{z as q}from"zod";import{ScalarType as J,create as gr}from"@bufbuild/protobuf";import*as Y from"node:fs";import{accessSync as _r,constants as vr,readdirSync as yr}from"node:fs";import{timestampDate as X}from"@bufbuild/protobuf/wkt";import{pathToFileURL as br}from"node:url";import{generateCodeVerifier as xr}from"@badgateway/oauth2-client";import{Code as Z,ConnectError as Q}from"@connectrpc/connect";import*as Sr from"node:crypto";import{randomBytes as Cr}from"node:crypto";import*as wr from"node:http";import Tr from"open";import*as Er from"rolldown";import{parseSync as Dr}from"oxc-parser";import*as Or from"node:os";import*as $ from"node:fs/promises";import{TraceMap as kr,generatedPositionFor as Ar,originalPositionFor as jr}from"@jridgewell/trace-mapping";import{spawn as Mr,spawnSync as Nr}from"node:child_process";const Pr=$n.methods.filter(e=>e.methodKind===`unary`);function listMethodNames(){return Pr.map(e=>e.name).toSorted()}function listMethodChoices(){return Pr.flatMap(e=>[e.name,`${$n.typeName}/${e.name}`]).toSorted()}function getMethodDescriptor(e){return Pr.find(t=>t.name===e)}function extractMethodName(e){return e.includes(`/`)?e.split(`/`).pop()??e:e}function nestedMessage(e){if(e.fieldKind===`message`||e.fieldKind===`list`&&e.listKind===`message`||e.fieldKind===`map`&&e.mapKind===`message`)return e.message}function isWellKnownType(e){return e.typeName.startsWith(`google.protobuf.`)}const Fr=new Set([`google.protobuf.Struct`,`google.protobuf.Value`,`google.protobuf.ListValue`,`google.protobuf.NullValue`,`google.protobuf.Any`,`google.protobuf.Empty`]);function isUnrepresentableWellKnownType(e){return Fr.has(e.typeName)}function enumerateAllFieldCompletions(e){let t=getMethodDescriptor(e);if(!t)return[];let n=[],r=new Set;function walk(e,t){r.add(e);for(let i of e.fields){if(i.fieldKind===`list`||i.fieldKind===`map`)continue;let e=t+i.localName;if(i.fieldKind===`message`){if(isUnrepresentableWellKnownType(i.message))continue;if(!isWellKnownType(i.message)){let t=i.message;n.push({value:`${e}.`,description:`${e} (message)`}),r.has(t)||walk(t,`${e}.`);continue}}if(n.push({value:`${e}=`,description:`Set ${e}`}),i.fieldKind===`enum`)for(let t of i.enum.values)n.push({value:`${e}=${t.name}`,description:t.name});else i.fieldKind===`scalar`&&i.scalar===J.BOOL&&(n.push({value:`${e}=true`,description:`true`}),n.push({value:`${e}=false`,description:`false`}))}r.delete(e)}return walk(t.input,``),n}function resolveLeafField(e,t){let n=e;for(let e=0;e<t.length;e++){let r=n.fields.find(n=>n.localName===t[e]);if(!r)return;if(e===t.length-1)return r.fieldKind===`message`&&isUnrepresentableWellKnownType(r.message)?void 0:r;if(r.fieldKind!==`message`||isWellKnownType(r.message))return;n=r.message}}const Ir={[J.DOUBLE]:`double`,[J.FLOAT]:`float`,[J.INT64]:`int64`,[J.UINT64]:`uint64`,[J.INT32]:`int32`,[J.FIXED64]:`fixed64`,[J.FIXED32]:`fixed32`,[J.BOOL]:`bool`,[J.STRING]:`string`,[J.BYTES]:`bytes`,[J.UINT32]:`uint32`,[J.SFIXED32]:`sfixed32`,[J.SFIXED64]:`sfixed64`,[J.SINT32]:`sint32`,[J.SINT64]:`sint64`};function shortName(e){let t=e.lastIndexOf(`.`);return t<0?e:e.slice(t+1)}function scalarLabel(e){return Ir[e]??`scalar(${e})`}function enumLabel(e){return`enum ${shortName(e.typeName)}`}function enumOf(e){if(e.fieldKind===`enum`||e.fieldKind===`list`&&e.listKind===`enum`)return e.enum}function describeFieldType(e){switch(e.fieldKind){case`scalar`:return scalarLabel(e.scalar);case`enum`:return enumLabel(e.enum);case`message`:return shortName(e.message.typeName);case`list`:{let t;return t=e.listKind===`scalar`?scalarLabel(e.scalar):e.listKind===`enum`?enumLabel(e.enum):shortName(e.message.typeName),`repeated ${t}`}case`map`:{let t=scalarLabel(e.mapKey),n;return n=e.mapKind===`scalar`?scalarLabel(e.scalar):e.mapKind===`enum`?enumLabel(e.enum):shortName(e.message.typeName),`map<${t}, ${n}>`}default:return`<unknown>`}}function fieldToJson(e,t){let n={name:e.localName,protoName:e.name,type:describeFieldType(e),fieldKind:e.fieldKind,repeated:e.fieldKind===`list`};e.oneof&&(n.oneof=e.oneof.name);let r=enumOf(e);r&&(n.enumValues=r.values.map(e=>e.name));let i=nestedMessage(e);return i&&!t.has(i)?(t.add(i),n.message={typeName:i.typeName,fields:i.fields.map(e=>fieldToJson(e,t))},t.delete(i)):i&&(n.message={typeName:i.typeName,fields:[],recursive:!0}),n}function renderInspectJson(e){let t=new Set([e.input]);return{method:e.name,input:{typeName:e.input.typeName,fields:e.input.fields.map(e=>fieldToJson(e,t))},output:{typeName:e.output.typeName}}}function renderFieldText(e,t,n){let r=[],i=e.oneof?` (oneof ${e.oneof.name})`:``;r.push(`${t}${e.localName}: ${describeFieldType(e)}${i}`);let a=enumOf(e);if(a){let e=a.values.map(e=>e.name).join(`, `);r.push(`${t} values: ${e}`)}let o=nestedMessage(e);if(o&&!n.has(o)){n.add(o);for(let e of o.fields)r.push(...renderFieldText(e,`${t} `,n));n.delete(o)}else o&&r.push(`${t} …(recursive ${o.typeName})`);return r}function renderInspectText(e){let t=[];t.push(`${e.name}`),t.push(` request: ${e.input.typeName}`);let n=new Set([e.input]);for(let r of e.input.fields)t.push(...renderFieldText(r,` `,n));return t.push(` response: ${e.output.typeName}`),t.join(`
|
|
3
3
|
`)}const Lr=N({name:`inspect`,description:`Print the input message tree of an OperatorService endpoint.`,notes:"Combine with the global `--json` flag for a machine-readable descriptor. Recursive type references and `oneof` membership are annotated. Use `tailor api list` to discover endpoint names.",examples:[{cmd:`GetApplication`,desc:`Show fields of GetApplicationRequest.`},{cmd:`CreateExecutorExecutor`,desc:"Inspect a deeply nested input with `(oneof config)` annotations."}],args:q.strictObject({endpoint:W(q.string(),{positional:!0,description:`API endpoint to inspect (e.g., 'GetApplication' or 'tailor.v1.OperatorService/GetApplication').`,completion:{custom:{choices:listMethodNames()}}})}),run:e=>{let t=extractMethodName(e.endpoint),n=getMethodDescriptor(t);if(!n)throw Qn({message:`unknown method: ${t}`,suggestion:"Run `tailor api list` to see available methods.",command:`api inspect`});c.jsonMode?c.out(renderInspectJson(n)):c.out(renderInspectText(n))}}),Rr=N({name:`list`,description:`List all invocable OperatorService methods.`,notes:`Only single-request (non-streaming) methods are listed, because the CLI issues a single JSON request and reads one JSON response.`,args:q.strictObject({}),run:()=>{let e=listMethodNames();if(c.jsonMode)c.out(e);else for(let t of e)c.out(t)}});function resolveNamespaceName(e,t){if(/Auth|Tenant|UserProfile/.test(e))return t.auth?.name;if(/IdP/.test(e))return t.idp?.length===1?o(t.idp[0],`idp config missing`).name:void 0;if(/TailorDB/.test(e)){let e=Object.keys(t.db??{});return e.length===1?e[0]:void 0}if(/Pipeline/.test(e)){let e=Object.keys(t.resolver??{});return e.length===1?e[0]:void 0}}function parseBodyAsObject(e){let t;try{t=JSON.parse(e)}catch{return}if(!(typeof t!=`object`||!t||Array.isArray(t)))return t}function setNestedPath(e,t,n){let r=e;for(let e=0;e<t.length-1;e++){let n=o(t[e],`path segment missing`),i=r[n];(typeof i!=`object`||!i||Array.isArray(i))&&(r[n]={}),r=r[n]}r[o(t[t.length-1],`path last segment missing`)]=n}function coerceFieldValue(e,t){if(e&&e.fieldKind===`scalar`&&e.scalar===J.BOOL){if(t===`true`)return!0;if(t===`false`)return!1;throw Error(`Invalid value for bool field: '${t}'. Expected 'true' or 'false'.`)}return t}function normalizeBodyFieldKeys(e,t){let n=new Map;for(let e of t)n.set(e.name,e.localName),n.set(e.jsonName,e.localName);let r=!1;for(let t of Object.keys(e)){let i=n.get(t);!i||i===t||(Object.hasOwn(e,i)||(e[i]=e[t]),delete e[t],r=!0)}return r}const zr=new Set([`__proto__`,`constructor`,`prototype`]),Br=q.string().transform((e,t)=>{let n=e.indexOf(`=`);if(n<0)return t.addIssue({code:q.ZodIssueCode.custom,message:`Invalid field format: '${e}'. Expected format: 'key=value' or 'a.b.c=value'`}),q.NEVER;let r=e.slice(0,n);if(r.length===0)return t.addIssue({code:q.ZodIssueCode.custom,message:`Field key cannot be empty`}),q.NEVER;let i=r.split(`.`);if(i.some(e=>e.length===0))return t.addIssue({code:q.ZodIssueCode.custom,message:`Invalid field key: '${r}'. Dotted segments cannot be empty`}),q.NEVER;let a=i.find(e=>zr.has(e));return a?(t.addIssue({code:q.ZodIssueCode.custom,message:`Invalid field key: '${r}'. Segment '${a}' is not allowed.`}),q.NEVER):{path:i,value:e.slice(n+1)}}),Vr=N({name:`api`,description:`Call Tailor Platform API endpoints directly.`,notes:"Use `tailor api list` to enumerate invocable methods and `tailor api inspect <endpoint>` to print an endpoint's input message tree (combine with `--json` for machine-readable output).\n\nThe request body is inferred from the target endpoint's request schema, and commonly required fields are auto-injected so they can be omitted from `--body`:\n\n- `workspaceId` — resolved from `-w` / `TAILOR_PLATFORM_WORKSPACE_ID` / the selected profile.\n- `namespaceName` — resolved from `tailor.config.ts` based on the endpoint's service:\n - Auth / Tenant / UserProfile endpoints use `auth.name`.\n - IdP / TailorDB / Pipeline endpoints use the sole configured namespace when exactly one is defined.\n\nValues already present in `--body` are never overridden. If a value cannot be resolved (e.g. no config found), injection is silently skipped and the server-side validation error takes precedence.\n\nUse `--field key=value` (repeatable) to set request body fields without writing JSON. Dotted keys (e.g. `application.name=foo`) build nested objects. `--field` overrides matching fields in `--body` and tab-completes from the endpoint's request schema.",examples:[{cmd:`GetApplication -b '{"applicationName":"app-1"}'`,desc:`Call an endpoint; workspaceId is auto-injected.`},{cmd:`GetApplication -f applicationName=app-1`,desc:`Same as above, using --field instead of --body.`},{cmd:`list`,desc:`List all invocable OperatorService methods.`},{cmd:`inspect GetApplication`,desc:`Show the input message tree for an endpoint.`}],subCommands:{list:Rr,inspect:Lr},args:q.strictObject({...F,...ze,body:W(q.string().default(`{}`),{alias:`b`,description:`Request body as JSON.`}),field:W(Br.array().optional(),{alias:`f`,description:"Set a body field as `key=value` (repeatable; dotted keys nest). Overrides --body.",completion:{custom:{expand:{dependsOn:[`endpoint`],enumerate:({endpoint:e})=>enumerateAllFieldCompletions(extractMethodName(e??``))}}}}),endpoint:W(q.string(),{positional:!0,description:`API endpoint to call (e.g., 'GetApplication' or 'tailor.v1.OperatorService/GetApplication').`,completion:{custom:{choices:listMethodChoices()}}})}),run:async e=>{await R({profile:e.profile});let t=extractMethodName(e.endpoint),n=getMethodDescriptor(t),r=parseBodyAsObject(e.body),i=!1;if(e.field&&e.field.length>0){if(!r)throw Error(`--field requires --body to be a JSON object (or omitted).`);for(let t of e.field){let e=n?resolveLeafField(n.input,t.path):void 0;setNestedPath(r,t.path,coerceFieldValue(e,t.value))}i=!0}if(r&&n){normalizeBodyFieldKeys(r,n.input.fields)&&(i=!0);let a=n.input.fields.map(e=>e.localName);if(a.includes(`workspaceId`)&&!Object.hasOwn(r,`workspaceId`))try{r.workspaceId=await A({workspaceId:e[`workspace-id`],profile:e.profile}),i=!0}catch{}if(a.includes(`namespaceName`)&&!Object.hasOwn(r,`namespaceName`))try{let{config:n}=await M(e.config),a=resolveNamespaceName(t,n);a&&(r.namespaceName=a,i=!0)}catch{}}let a=await it({profile:e.profile,endpoint:e.endpoint,body:i&&r?JSON.stringify(r):e.body});c.out(JSON.stringify(a.data,null,2))}}),Hr=N({name:`token`,description:`Print a valid Tailor Platform access token to stdout, refreshing it first if expired.`,args:q.strictObject({profile:F.profile}),run:async({profile:e})=>{let t=await C({profile:e});c.out(t)}}),Ur=G({name:`auth`,description:`Authentication helpers for scripts and plugins.`,subCommands:{token:Hr}}),Wr={name:W(q.string(),{alias:`n`,description:`Auth connection name`})};async function fetchOIDCDiscovery(e){let t=e.replace(/\/$/,``)+`/.well-known/openid-configuration`,n=await fetch(t).catch(e=>{throw Error(`Failed to fetch OIDC discovery from ${t}: ${qn(e).message}`,{cause:e})});if(!n.ok)throw Error(`Failed to fetch OIDC discovery from ${t}: ${n.status}`);return n.json()}function randomState$1(){return Sr.randomBytes(32).toString(`base64url`)}const Gr=N({name:`authorize`,description:`Authorize an auth connection via OAuth2 flow.`,args:q.strictObject({...F,...Wr,scopes:q.string().optional().default(`openid,profile,email`).describe(`OAuth2 scopes to request (comma-separated)`),port:q.coerce.number().optional().default(8080).describe(`Local callback server port`),"no-browser":q.boolean().optional().default(!1).describe(`Don't open browser automatically`)}),run:async e=>{await R({profile:e.profile});let t=await C({profile:e.profile}),n=await V(t),r=await A({workspaceId:e[`workspace-id`],profile:e.profile}),i=(await gn(async(e,t)=>{let{connections:i,nextPageToken:a}=await n.listAuthConnections({workspaceId:r,pageToken:e,pageSize:t});return[i,a]})).find(t=>t.name===e.name);if(!i)throw Error(`Auth connection "${e.name}" not found.`);if(i.config.case!==`oauth2`)throw Error(`Auth connection "${e.name}" is not an OAuth2 connection.`);let a=i.config.value,o=`http://localhost:${e.port}/callback`,s=randomState$1(),l;l=a.authUrl?a.authUrl:(await fetchOIDCDiscovery(a.providerUrl)).authorization_endpoint;let u=new URL(l);u.searchParams.set(`client_id`,a.clientId),u.searchParams.set(`redirect_uri`,o),u.searchParams.set(`response_type`,`code`),u.searchParams.set(`scope`,e.scopes.replace(/,/g,` `)),u.searchParams.set(`state`,s),u.searchParams.set(`access_type`,`offline`),await new Promise((t,i)=>{let handleCallback=async(c,l)=>{if(!c.url?.startsWith(`/callback`)){l.writeHead(404),l.end(`Not found`);return}try{let i=new URL(c.url,`http://localhost:${e.port}`),u=i.searchParams.get(`code`),d=i.searchParams.get(`state`),f=i.searchParams.get(`error`);if(f)throw Error(`Authorization failed: ${f}`);if(d!==s)throw Error(`State mismatch — possible CSRF attack.`);if(!u)throw Error(`No authorization code received.`);await n.exchangeAuthConnectionAuthorizationCode({workspaceId:r,connectionName:e.name,authorizationCode:u,redirectUri:o}),l.writeHead(200,{"Content-Type":`text/html`}),l.end(`<html><body><h1>Authorization successful</h1><p>You can close this window.</p></body></html>`),a.close(),t()}catch(e){l.writeHead(400,{"Content-Type":`text/plain`}),l.end(`Authorization failed: ${e instanceof Error?e.message:`Unknown error`}`),a.close(),i(qn(e))}},a=wr.createServer((e,t)=>void handleCallback(e,t)),l=setTimeout(()=>{a.close(),i(Error(`Authorization timeout exceeded (5 minutes).`))},3e5);a.on(`close`,()=>{clearTimeout(l)}),a.on(`error`,t=>{clearTimeout(l);let n=t.code,r=n===`EADDRINUSE`||n===`EACCES`?`Try a different port with --port, or authorize via the Console instead:`:`Authorize via the Console instead:`;c.warn(`Could not start the local callback server on port ${e.port}${n?` (${n})`:``}.\n${r}\n tailor authconnection open`),i(t)});let announceAuthorizeUrl=async()=>{let t=u.toString();if(c.info(e[`no-browser`]?`Open this URL in your browser to authorize:\n\n${t}\n`:`Opening browser for authorization:\n\n${t}\n`),c.info(`If this flow doesn't complete, you can authorize via the Console instead:
|
|
4
4
|
tailor authconnection open`),!e[`no-browser`])try{await Tr(t)}catch{c.warn(`Failed to open browser automatically. Please open the URL above manually.`)}};a.listen(e.port,()=>void announceAuthorizeUrl())}),c.success(`Auth connection "${e.name}" authorized successfully.`)}}),Kr=N({name:`delete`,description:`Delete an auth connection entirely.`,args:q.strictObject({...F,...Wr,...O}),run:async e=>{await R({profile:e.profile});let t=await C({profile:e.profile}),n=await V(t),r=await A({workspaceId:e[`workspace-id`],profile:e.profile});if(!e.yes&&await z.text({message:`Enter the connection name to confirm deletion ("${e.name}"):`})!==e.name){c.info(`Auth connection deletion cancelled.`);return}try{await n.deleteAuthConnection({workspaceId:r,connectionName:e.name})}catch(t){throw t instanceof Q&&t.code===Z.NotFound?Error(`Auth connection "${e.name}" not found.`,{cause:t}):t}c.success(`Auth connection "${e.name}" deleted.`)}});function connectionInfo(e){let t=e.config.case===`oauth2`?e.config.value:void 0;return{name:e.name,type:e.config.case??`unknown`,providerUrl:t?.providerUrl??``,issuerUrl:t?.issuerUrl??``,clientId:t?.clientId??``,authUrl:t?.authUrl??``,tokenUrl:t?.tokenUrl??``,createdAt:e.createdAt?X(e.createdAt):null}}const qr=N({name:`list`,description:`List all auth connections.`,args:q.strictObject({...F,...Ye()}),run:async e=>{let t=await C({profile:e.profile}),n=await V(t),r=await A({workspaceId:e[`workspace-id`],profile:e.profile});try{let t=f(e.order),i=await B(async(e,i)=>{let{connections:a,nextPageToken:o}=await n.listAuthConnections({workspaceId:r,pageToken:e,pageSize:i,pageDirection:t});return[a,o]},{limit:e.limit});c.out(i.map(connectionInfo))}catch(e){if(e instanceof Q&&e.code===Z.NotFound){c.out([]);return}throw e}}}),Jr=N({name:`open`,description:`Open the auth connections page in the Tailor Platform Console.`,args:q.strictObject({...F}),run:async e=>{let t=await A({workspaceId:e[`workspace-id`],profile:e.profile}),n=s(process.env.TAILOR_CONSOLE_NEXT)===!0?`/workspaces/${t}/services/auth-connections`:`/workspaces/${t}/settings/connections`,r=await Et({profile:e.profile,...e[`workspace-id`]===void 0?{}:{allowMissingProfile:!0}}),i=new URL(n,r).toString(),a=c.jsonMode;c.info(`Opening auth connections page in Tailor Platform Console...`);let o=!0;try{await Tr(i)}catch{o=!1}if(a){c.out({consoleUrl:i,workspaceId:t,opened:o});return}o?(c.out(`Console URL: ${i}`),c.out(`Workspace ID: ${t}`)):c.warn(`Failed to open browser automatically. Please open this URL manually:\n${i}`)}}),Yr=N({name:`revoke`,description:`Revoke an auth connection's tokens (keeps the connection; use 'delete' to remove it).`,notes:"Revoke invalidates the connection's active session and tokens but keeps the connection and its stored credentials, so it can be re-authorized later. Use `delete` to remove the connection entirely.",args:q.strictObject({...F,...Wr,...O}),run:async e=>{await R({profile:e.profile});let t=await C({profile:e.profile}),n=await V(t),r=await A({workspaceId:e[`workspace-id`],profile:e.profile});if(!e.yes&&await z.text({message:`Enter the connection name to confirm revocation ("${e.name}"):`})!==e.name){c.info(`Auth connection revocation cancelled.`);return}try{await n.revokeAuthConnection({workspaceId:r,connectionName:e.name})}catch(t){throw t instanceof Q&&t.code===Z.NotFound?Error(`Auth connection "${e.name}" not found.`,{cause:t}):t}c.success(`Auth connection "${e.name}" revoked.`)}}),Xr=G({name:`authconnection`,description:`Manage auth connections.`,subCommands:{authorize:Gr,list:qr,open:Jr,revoke:Yr,delete:Kr},async run(){await K(qr,[])}});function orderAndLimitCrashReports(e,t){let n=e.filter(e=>e.endsWith(tr)).toSorted(),r=t.order===`asc`?n:n.toReversed();return t.limit&&t.limit>0?r.slice(0,t.limit):r}function formatCrashReportFiles(e,t){return e.map(e=>({file:e,path:U.join(t,e)}))}const Zr=N({name:`list`,description:`List local crash report files.`,args:q.strictObject({...Ye()}),run:async e=>{let t=nr(),n=c.jsonMode;if(!t.localDir){c.info(`Crash report directory not available.`),n&&c.out([]);return}let r;try{r=Y.readdirSync(t.localDir)}catch{c.info(`No crash reports found.`),n&&c.out([]);return}let i=orderAndLimitCrashReports(r,{order:e.order,limit:e.limit});if(i.length===0){c.info(`No crash reports found.`),n&&c.out([]);return}if(n){c.out(formatCrashReportFiles(i,t.localDir));return}c.info(`${i.length} crash report(s) in ${t.localDir}:`);for(let e of i)c.log(` ${e}`)}}),Qr=N({name:`send`,description:`Submit a crash report to help improve the SDK.`,args:q.strictObject({file:W(q.string(),{description:`Path to the crash report file`,required:!0,completion:{type:`file`,extensions:[`log`]}})}),run:async e=>{let t;try{t=Y.readFileSync(e.file,`utf-8`)}catch{c.error(`Crash report file not found: ${e.file}`),process.exit(1)}let n=parseCrashLogFile(t);n||(c.error(`Failed to parse crash report file. The file may be corrupted.`),process.exit(1));let r=await Kn();c.info(`Sending crash report...`),await rr(n,r)?c.success(`Crash report submitted successfully. Thank you!`):(c.error(`Failed to submit crash report. The server may be unavailable.`),process.exit(1))}});function parseCrashLogFile(e){try{let t=e.replace(/\r\n/g,`
|
|
5
5
|
`),n=`\n${er}\n`,r=t.lastIndexOf(n);if(r===-1)return;let i=t.slice(r+n.length).split(`
|
|
@@ -10,7 +10,9 @@ interface SeedIdpUserContext {
|
|
|
10
10
|
idpNamespace: string;
|
|
11
11
|
/** Server-side script that creates `_User` records from seed rows. */
|
|
12
12
|
seedScriptCode: string;
|
|
13
|
-
/** Server-side script that
|
|
13
|
+
/** Server-side script that lists every `_User` record to delete. */
|
|
14
|
+
listScriptCode: string;
|
|
15
|
+
/** Server-side script that deletes one chunk of listed `_User` records. */
|
|
14
16
|
truncateScriptCode: string;
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TailorAnyDBField } from "../services/tailordb/types.mjs";
|
|
1
2
|
import { Plugin } from "../../plugin/types.mjs";
|
|
2
3
|
import { AppConfig } from "./types.mjs";
|
|
3
4
|
//#region src/configure/config/index.d.ts
|
|
@@ -15,6 +16,6 @@ declare function defineConfig<const Config extends AppConfig & Record<Exclude<ke
|
|
|
15
16
|
* @param configs - Plugin configurations
|
|
16
17
|
* @returns Plugin configurations as given
|
|
17
18
|
*/
|
|
18
|
-
declare function definePlugins(...configs: Plugin<any, any>[]): Plugin<any, any
|
|
19
|
+
declare function definePlugins(...configs: Plugin<any, any>[]): Plugin<any, any, Record<string, TailorAnyDBField>>[];
|
|
19
20
|
//#endregion
|
|
20
21
|
export { defineConfig, definePlugins };
|
|
@@ -7,7 +7,7 @@ import { BuiltinIdP, IDToken, IdProvider, OAuth2ClientInput, OIDC, SAML, SCIMAtt
|
|
|
7
7
|
import { AuthConfig, AuthConnectionTokenResult, AuthExternalConfig, AuthOwnConfig, AuthServiceInput, BeforeLoginClaims, BeforeLoginHookArgs, DefinedAuth, FederatedIdentity, FederatedIdentityClaims, FederatedIdentityProvider, MachineUserName, MachineUserNameRegistry, OAuth2ClientGrantType, SCIMAttributeType, UserAttributeKey, UserAttributeListKey, UserAttributes, UsernameFieldKey, ValueOperand } from "./services/auth/types.mjs";
|
|
8
8
|
import { AllowedValues, AllowedValuesOutput } from "./types/field.mjs";
|
|
9
9
|
import { Resolver } from "../types/resolver.generated.mjs";
|
|
10
|
-
import { ExecutorReadyContext, GeneratorResult, NamespacePluginOutput, Plugin, PluginConfigs, PluginExecutorContext, PluginExecutorContextBase, PluginGeneratedExecutor, PluginGeneratedExecutorWithFile, PluginGeneratedResolver, PluginGeneratedTable, PluginNamespaceProcessContext, PluginOutput, PluginTableProcessContext, ResolverNamespaceData, ResolverReadyContext, TablePluginOutput, TailorDBNamespaceData, TailorDBReadyContext, TailorDBTableForPlugin } from "../plugin/types.mjs";
|
|
10
|
+
import { ExecutorReadyContext, GeneratorResult, NamespacePluginOutput, Plugin, PluginConfigs, PluginExecutorContext, PluginExecutorContextBase, PluginFieldExtensions, PluginGeneratedExecutor, PluginGeneratedExecutorWithFile, PluginGeneratedResolver, PluginGeneratedTable, PluginNamespaceProcessContext, PluginOutput, PluginTableProcessContext, ResolverNamespaceData, ResolverReadyContext, TablePluginOutput, TailorDBNamespaceData, TailorDBReadyContext, TailorDBTableForPlugin } from "../plugin/types.mjs";
|
|
11
11
|
import { PermissionCondition, TailorTypeGqlPermission, TailorTypePermission, unsafeAllowAllGqlPermission, unsafeAllowAllTypePermission } from "./services/tailordb/permission.mjs";
|
|
12
12
|
import { TailorAnyDBField, TailorAnyDBType, TailorDBField, TailorDBInstance, TailorDBType, db } from "./services/tailordb/schema.mjs";
|
|
13
13
|
import { AuthNamespaceName, AuthNamespaceNameRegistry } from "./types/auth-namespace-name.mjs";
|
|
@@ -21,8 +21,8 @@ import { StaticWebsiteConfig } from "./services/staticwebsite/types.mjs";
|
|
|
21
21
|
import { ExecutionPolicyConcurrency, ExecutionPolicyDefInput, ExecutionPolicyExactInstance, ExecutionPolicyGroupOptions, ExecutionPolicyInstance, ExecutionPolicyWildcardInstance, ResolvedExecutionPolicyInstance } from "./services/workflow/execution-policy.types.mjs";
|
|
22
22
|
import { ExecutorServiceConfig, ExecutorServiceInput, ResolverExternalConfig, ResolverServiceConfig, ResolverServiceInput, WorkflowServiceConfig, WorkflowServiceInput } from "./config/types.mjs";
|
|
23
23
|
import { ConcurrencyPolicy, RetryPolicy } from "../types/workflow.generated.mjs";
|
|
24
|
-
import { TailorAnyField, TailorField } from "./types/type.mjs";
|
|
25
24
|
import "./types/machine-user.mjs";
|
|
25
|
+
import { TailorAnyField, TailorField } from "./types/type.mjs";
|
|
26
26
|
import "./types/index.mjs";
|
|
27
27
|
import { IdpName, IdpNameRegistry } from "./types/idp-name.mjs";
|
|
28
28
|
import { ConnectionName, ConnectionNameRegistry } from "./types/connection-name.mjs";
|
|
@@ -53,7 +53,7 @@ type infer<T> = TailorOutput<T>;
|
|
|
53
53
|
type output<T> = TailorOutput<T>;
|
|
54
54
|
/** TailorDB field type builders. */
|
|
55
55
|
declare const t: {
|
|
56
|
-
uuid: <const Opt extends FieldOptions>(options?: Opt) => TailorField<{
|
|
56
|
+
uuid: <const Opt extends FieldOptions>(options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
57
57
|
type: "uuid";
|
|
58
58
|
array: Opt extends {
|
|
59
59
|
array: true;
|
|
@@ -63,7 +63,7 @@ declare const t: {
|
|
|
63
63
|
}] ? string[] : string) | null : [Opt] extends [{
|
|
64
64
|
array: true;
|
|
65
65
|
}] ? string[] : string, FieldMetadata, TailorFieldType>;
|
|
66
|
-
string: <const Opt extends FieldOptions>(options?: Opt) => TailorField<{
|
|
66
|
+
string: <const Opt extends FieldOptions>(options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
67
67
|
type: "string";
|
|
68
68
|
array: Opt extends {
|
|
69
69
|
array: true;
|
|
@@ -73,7 +73,7 @@ declare const t: {
|
|
|
73
73
|
}] ? string[] : string) | null : [Opt] extends [{
|
|
74
74
|
array: true;
|
|
75
75
|
}] ? string[] : string, FieldMetadata, TailorFieldType>;
|
|
76
|
-
bool: <const Opt extends FieldOptions>(options?: Opt) => TailorField<{
|
|
76
|
+
bool: <const Opt extends FieldOptions>(options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
77
77
|
type: "boolean";
|
|
78
78
|
array: Opt extends {
|
|
79
79
|
array: true;
|
|
@@ -83,7 +83,7 @@ declare const t: {
|
|
|
83
83
|
}] ? boolean[] : boolean) | null : [Opt] extends [{
|
|
84
84
|
array: true;
|
|
85
85
|
}] ? boolean[] : boolean, FieldMetadata, TailorFieldType>;
|
|
86
|
-
int: <const Opt extends FieldOptions>(options?: Opt) => TailorField<{
|
|
86
|
+
int: <const Opt extends FieldOptions>(options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
87
87
|
type: "integer";
|
|
88
88
|
array: Opt extends {
|
|
89
89
|
array: true;
|
|
@@ -93,7 +93,7 @@ declare const t: {
|
|
|
93
93
|
}] ? number[] : number) | null : [Opt] extends [{
|
|
94
94
|
array: true;
|
|
95
95
|
}] ? number[] : number, FieldMetadata, TailorFieldType>;
|
|
96
|
-
float: <const Opt extends FieldOptions>(options?: Opt) => TailorField<{
|
|
96
|
+
float: <const Opt extends FieldOptions>(options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
97
97
|
type: "float";
|
|
98
98
|
array: Opt extends {
|
|
99
99
|
array: true;
|
|
@@ -103,7 +103,7 @@ declare const t: {
|
|
|
103
103
|
}] ? number[] : number) | null : [Opt] extends [{
|
|
104
104
|
array: true;
|
|
105
105
|
}] ? number[] : number, FieldMetadata, TailorFieldType>;
|
|
106
|
-
decimal: <const Opt extends FieldOptions>(options?: Opt) => TailorField<{
|
|
106
|
+
decimal: <const Opt extends FieldOptions>(options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
107
107
|
type: "decimal";
|
|
108
108
|
array: Opt extends {
|
|
109
109
|
array: true;
|
|
@@ -113,7 +113,7 @@ declare const t: {
|
|
|
113
113
|
}] ? string[] : string) | null : [Opt] extends [{
|
|
114
114
|
array: true;
|
|
115
115
|
}] ? string[] : string, FieldMetadata, TailorFieldType>;
|
|
116
|
-
date: <const Opt extends FieldOptions>(options?: Opt) => TailorField<{
|
|
116
|
+
date: <const Opt extends FieldOptions>(options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
117
117
|
type: "date";
|
|
118
118
|
array: Opt extends {
|
|
119
119
|
array: true;
|
|
@@ -123,7 +123,7 @@ declare const t: {
|
|
|
123
123
|
}] ? string[] : string) | null : [Opt] extends [{
|
|
124
124
|
array: true;
|
|
125
125
|
}] ? string[] : string, FieldMetadata, TailorFieldType>;
|
|
126
|
-
datetime: <const Opt extends FieldOptions>(options?: Opt) => TailorField<{
|
|
126
|
+
datetime: <const Opt extends FieldOptions>(options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
127
127
|
type: "datetime";
|
|
128
128
|
array: Opt extends {
|
|
129
129
|
array: true;
|
|
@@ -133,7 +133,7 @@ declare const t: {
|
|
|
133
133
|
}] ? (string | Date)[] : string | Date) | null : [Opt] extends [{
|
|
134
134
|
array: true;
|
|
135
135
|
}] ? (string | Date)[] : string | Date, FieldMetadata, TailorFieldType>;
|
|
136
|
-
time: <const Opt extends FieldOptions>(options?: Opt) => TailorField<{
|
|
136
|
+
time: <const Opt extends FieldOptions>(options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
137
137
|
type: "time";
|
|
138
138
|
array: Opt extends {
|
|
139
139
|
array: true;
|
|
@@ -143,13 +143,13 @@ declare const t: {
|
|
|
143
143
|
}] ? string[] : string) | null : [Opt] extends [{
|
|
144
144
|
array: true;
|
|
145
145
|
}] ? string[] : string, FieldMetadata, TailorFieldType>;
|
|
146
|
-
enum: <const V extends AllowedValues, const Opt extends FieldOptions>(values: V, options?: Opt) => TailorField<{
|
|
146
|
+
enum: <const V extends AllowedValues, const Opt extends FieldOptions>(values: V, options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
147
147
|
type: "enum";
|
|
148
148
|
array: Opt extends {
|
|
149
149
|
array: true;
|
|
150
150
|
} ? true : false;
|
|
151
151
|
}, FieldOutput<AllowedValuesOutput<V>, Opt>>;
|
|
152
|
-
object: <const F extends Record<string, TailorAnyField>, const Opt extends FieldOptions>(fields: F, options?: Opt) => TailorField<{
|
|
152
|
+
object: <const F extends Record<string, TailorAnyField>, const Opt extends FieldOptions>(fields: F, options?: Opt) => import("@tailor-platform/sdk").TailorField<{
|
|
153
153
|
type: "nested";
|
|
154
154
|
array: Opt extends {
|
|
155
155
|
array: true;
|
|
@@ -169,4 +169,4 @@ declare namespace t {
|
|
|
169
169
|
type infer<T> = TailorOutput<T>;
|
|
170
170
|
}
|
|
171
171
|
//#endregion
|
|
172
|
-
export { type AIGatewayConfig, type AIGatewayName, type AIGatewayNameRegistry, type AttributeList, type Attributes, AuthAccessTokenArgs, AuthAccessTokenIssuedArgs, AuthAccessTokenRefreshedArgs, AuthAccessTokenRevokedArgs, AuthAccessTokenTrigger, type AuthConfig, type AuthConnectionConfig, type AuthConnectionOAuth2Config, type AuthConnectionTokenResult, type AuthExternalConfig, type AuthNamespaceName, type AuthNamespaceNameRegistry, type AuthOwnConfig, type AuthServiceInput, type BeforeLoginClaims, type BeforeLoginHookArgs, type BuiltinIdP, type ConcurrencyPolicy, type ConnectionName, type ConnectionNameRegistry, type DefinedAuth, type Env, type ExecutionPolicyConcurrency, type ExecutionPolicyDefInput, type ExecutionPolicyExactInstance, type ExecutionPolicyGroupOptions, type ExecutionPolicyInstance, type ExecutionPolicyWildcardInstance, type ExecutorReadyContext, type ExecutorServiceConfig, type ExecutorServiceInput, type FederatedIdentity, type FederatedIdentityClaims, type FederatedIdentityProvider, FunctionOperation, type GeneratorResult, GqlOperation, HttpAdapter, HttpAdapterGraphQLQuery, HttpAdapterGraphQLRequest, HttpAdapterGraphQLResponse, HttpAdapterInput, HttpAdapterInputFn, HttpAdapterOutputFn, HttpAdapterRequest, HttpAdapterResponse, HttpAdapterTypedDocumentNode, type IDToken, type IdPConfig, type IdPEmailConfig, type IdPExternalConfig, type IdPGqlOperations, type IdPGqlOperationsInput as IdPGqlOperationsConfig, type IdPPermission, type IdPPermissionCondition, type IdProvider as IdProviderConfig, type IdpName, type IdpNameRegistry, IdpUserArgs, IdpUserCreatedArgs, IdpUserDeletedArgs, IdpUserTrigger, IdpUserUpdatedArgs, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookResponse, IncomingWebhookResponseConfig, IncomingWebhookTrigger, IncomingWebhookTriggerOptions, type IsAutoFilledDBField, type IsReadOnlyDBField, type MachineUserName, type MachineUserNameRegistry, type NamespacePluginOutput, type OAuth2ClientInput as OAuth2Client, type OAuth2ClientGrantType, type OIDC, Operation, ParameterizedWaitPointInstance, type PermissionCondition, type Plugin, type PluginAttachment, type PluginConfigs, type PluginExecutorContext, type PluginExecutorContextBase, type PluginGeneratedExecutor, type PluginGeneratedExecutorWithFile, type PluginGeneratedResolver, type PluginGeneratedTable, type PluginNamespaceProcessContext, type PluginOutput, type PluginTableProcessContext, type QueryType, RecordCreatedArgs, RecordDeletedArgs, RecordUpdatedArgs, type ResolvedExecutionPolicyInstance, type Resolver, ResolverExecutedArgs, ResolverExecutedTrigger, type ResolverExternalConfig, type ResolverNamespaceData, type ResolverPermission, type ResolverPermissionCondition, type ResolverPermissionPolicy, type ResolverReadyContext, type ResolverServiceConfig, type ResolverServiceInput, type RetryPolicy, type SAML, type SCIMAttribute, type SCIMAttributeMapping, type SCIMAttributeType, type SCIMAuthorization, type SCIMConfig, type SCIMResource, ScheduleArgs, ScheduleTrigger, type SecretsConfig, type StaticWebsiteConfig, type TablePluginOutput, type TailorAnyDBField, type TailorAnyDBType, type TailorDBField, type TailorDBInstance, type TailorDBNamespaceData, type TailorDBReadyContext, type TailorDBTableForPlugin, TailorDBTrigger, type TailorDBType, type TailorField, type TailorPrincipal, type TailorTypeGqlPermission, type TailorTypePermission, type TenantProvider as TenantProviderConfig, Trigger, type UserAttributeKey, type UserAttributeListKey, type UserAttributes, type UsernameFieldKey, type ValueOperand, WaitPointInstance, WebhookOperation, Workflow, WorkflowConfig, WorkflowExecutionArgs, WorkflowExecutionCompletedArgs, WorkflowExecutionResumedArgs, WorkflowExecutionRetriedArgs, WorkflowExecutionStartedArgs, WorkflowExecutionTrigger, WorkflowExecutionWaitResolvedArgs, WorkflowExecutionWaitStartedArgs, WorkflowJob, WorkflowJobContext, WorkflowJobExecutionArgs, WorkflowJobExecutionCompletedArgs, WorkflowJobExecutionStartedArgs, WorkflowJobExecutionTrigger, WorkflowJobExecutionWaitResolvedArgs, WorkflowJobExecutionWaitStartedArgs, WorkflowOperation, type WorkflowServiceConfig, type WorkflowServiceInput, authAccessTokenIssuedTrigger, authAccessTokenRefreshedTrigger, authAccessTokenRevokedTrigger, authAccessTokenTrigger, createExecutor, createHttpAdapter, createResolver, createWaitPoint, createWaitPoints, createWorkflow, createWorkflowJob, db, defineAIGateway, defineAuth, defineConfig, defineIdp, definePlugins, defineSecretManager, defineStaticWebSite, defineWorkflowExecutionPolicies, defineWorkflowExecutionPolicy, idpUserCreatedTrigger, idpUserDeletedTrigger, idpUserTrigger, idpUserUpdatedTrigger, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t, unsafeAllowAllGqlPermission, unsafeAllowAllIdPPermission, unsafeAllowAllTypePermission, workflowExecutionCompletedTrigger, workflowExecutionResumedTrigger, workflowExecutionRetriedTrigger, workflowExecutionStartedTrigger, workflowExecutionTrigger, workflowExecutionWaitResolvedTrigger, workflowExecutionWaitStartedTrigger, workflowJobExecutionCompletedTrigger, workflowJobExecutionStartedTrigger, workflowJobExecutionTrigger, workflowJobExecutionWaitResolvedTrigger, workflowJobExecutionWaitStartedTrigger };
|
|
172
|
+
export { type AIGatewayConfig, type AIGatewayName, type AIGatewayNameRegistry, type AttributeList, type Attributes, AuthAccessTokenArgs, AuthAccessTokenIssuedArgs, AuthAccessTokenRefreshedArgs, AuthAccessTokenRevokedArgs, AuthAccessTokenTrigger, type AuthConfig, type AuthConnectionConfig, type AuthConnectionOAuth2Config, type AuthConnectionTokenResult, type AuthExternalConfig, type AuthNamespaceName, type AuthNamespaceNameRegistry, type AuthOwnConfig, type AuthServiceInput, type BeforeLoginClaims, type BeforeLoginHookArgs, type BuiltinIdP, type ConcurrencyPolicy, type ConnectionName, type ConnectionNameRegistry, type DefinedAuth, type Env, type ExecutionPolicyConcurrency, type ExecutionPolicyDefInput, type ExecutionPolicyExactInstance, type ExecutionPolicyGroupOptions, type ExecutionPolicyInstance, type ExecutionPolicyWildcardInstance, type ExecutorReadyContext, type ExecutorServiceConfig, type ExecutorServiceInput, type FederatedIdentity, type FederatedIdentityClaims, type FederatedIdentityProvider, FunctionOperation, type GeneratorResult, GqlOperation, HttpAdapter, HttpAdapterGraphQLQuery, HttpAdapterGraphQLRequest, HttpAdapterGraphQLResponse, HttpAdapterInput, HttpAdapterInputFn, HttpAdapterOutputFn, HttpAdapterRequest, HttpAdapterResponse, HttpAdapterTypedDocumentNode, type IDToken, type IdPConfig, type IdPEmailConfig, type IdPExternalConfig, type IdPGqlOperations, type IdPGqlOperationsInput as IdPGqlOperationsConfig, type IdPPermission, type IdPPermissionCondition, type IdProvider as IdProviderConfig, type IdpName, type IdpNameRegistry, IdpUserArgs, IdpUserCreatedArgs, IdpUserDeletedArgs, IdpUserTrigger, IdpUserUpdatedArgs, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookResponse, IncomingWebhookResponseConfig, IncomingWebhookTrigger, IncomingWebhookTriggerOptions, type IsAutoFilledDBField, type IsReadOnlyDBField, type MachineUserName, type MachineUserNameRegistry, type NamespacePluginOutput, type OAuth2ClientInput as OAuth2Client, type OAuth2ClientGrantType, type OIDC, Operation, ParameterizedWaitPointInstance, type PermissionCondition, type Plugin, type PluginAttachment, type PluginConfigs, type PluginExecutorContext, type PluginExecutorContextBase, type PluginFieldExtensions, type PluginGeneratedExecutor, type PluginGeneratedExecutorWithFile, type PluginGeneratedResolver, type PluginGeneratedTable, type PluginNamespaceProcessContext, type PluginOutput, type PluginTableProcessContext, type QueryType, RecordCreatedArgs, RecordDeletedArgs, RecordUpdatedArgs, type ResolvedExecutionPolicyInstance, type Resolver, ResolverExecutedArgs, ResolverExecutedTrigger, type ResolverExternalConfig, type ResolverNamespaceData, type ResolverPermission, type ResolverPermissionCondition, type ResolverPermissionPolicy, type ResolverReadyContext, type ResolverServiceConfig, type ResolverServiceInput, type RetryPolicy, type SAML, type SCIMAttribute, type SCIMAttributeMapping, type SCIMAttributeType, type SCIMAuthorization, type SCIMConfig, type SCIMResource, ScheduleArgs, ScheduleTrigger, type SecretsConfig, type StaticWebsiteConfig, type TablePluginOutput, type TailorAnyDBField, type TailorAnyDBType, type TailorDBField, type TailorDBInstance, type TailorDBNamespaceData, type TailorDBReadyContext, type TailorDBTableForPlugin, TailorDBTrigger, type TailorDBType, type TailorField, type TailorPrincipal, type TailorTypeGqlPermission, type TailorTypePermission, type TenantProvider as TenantProviderConfig, Trigger, type UserAttributeKey, type UserAttributeListKey, type UserAttributes, type UsernameFieldKey, type ValueOperand, WaitPointInstance, WebhookOperation, Workflow, WorkflowConfig, WorkflowExecutionArgs, WorkflowExecutionCompletedArgs, WorkflowExecutionResumedArgs, WorkflowExecutionRetriedArgs, WorkflowExecutionStartedArgs, WorkflowExecutionTrigger, WorkflowExecutionWaitResolvedArgs, WorkflowExecutionWaitStartedArgs, WorkflowJob, WorkflowJobContext, WorkflowJobExecutionArgs, WorkflowJobExecutionCompletedArgs, WorkflowJobExecutionStartedArgs, WorkflowJobExecutionTrigger, WorkflowJobExecutionWaitResolvedArgs, WorkflowJobExecutionWaitStartedArgs, WorkflowOperation, type WorkflowServiceConfig, type WorkflowServiceInput, authAccessTokenIssuedTrigger, authAccessTokenRefreshedTrigger, authAccessTokenRevokedTrigger, authAccessTokenTrigger, createExecutor, createHttpAdapter, createResolver, createWaitPoint, createWaitPoints, createWorkflow, createWorkflowJob, db, defineAIGateway, defineAuth, defineConfig, defineIdp, definePlugins, defineSecretManager, defineStaticWebSite, defineWorkflowExecutionPolicies, defineWorkflowExecutionPolicy, idpUserCreatedTrigger, idpUserDeletedTrigger, idpUserTrigger, idpUserUpdatedTrigger, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t, unsafeAllowAllGqlPermission, unsafeAllowAllIdPPermission, unsafeAllowAllTypePermission, workflowExecutionCompletedTrigger, workflowExecutionResumedTrigger, workflowExecutionRetriedTrigger, workflowExecutionStartedTrigger, workflowExecutionTrigger, workflowExecutionWaitResolvedTrigger, workflowExecutionWaitStartedTrigger, workflowJobExecutionCompletedTrigger, workflowJobExecutionStartedTrigger, workflowJobExecutionTrigger, workflowJobExecutionWaitResolvedTrigger, workflowJobExecutionWaitStartedTrigger };
|
package/dist/configure/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e,n as t,t as n}from"../schema-AYG4OhXY.mjs";import{t as r}from"../brand-C8nMKhJC.mjs";import{a as i,n as a,r as o}from"../registry-HlEaGvl5.mjs";import{l as s,n as c,r as l,t as u}from"../wait-point-invoker-eiP-IIux.mjs";import{a as d,i as f,o as p,r as m}from"../wait-point-registry-B-ESkTZX.mjs";function createTailorField(n,r,i,a,o){let s=o?{...o,...o.allowedValues&&{allowedValues:o.allowedValues.map(e=>({...e}))},...o.validate&&{validate:o.validate.map(e=>Array.isArray(e)?[...e]:e)}}:{required:!0};o||(r&&(r.optional===!0&&(s.required=!1),r.array===!0&&(s.array=!0)),a&&(s.allowedValues=t(a)));function parseInternal$1(t){return e({...t,field:c})}function cloneWith(e){let t=c.clone();return Object.assign(t._metadata,e),t}let c={type:n,fields:i??{},_defined:void 0,_output:void 0,_metadata:s,get metadata(){return{...this._metadata}},description(e){return cloneWith({description:e})},typeName(e){return cloneWith({typeName:e})},validate(...e){return cloneWith({validate:e})},parse(e){return parseInternal$1({value:e.value,data:e.data,invoker:e.invoker,pathArray:[]})},clone(){let e=i;if(i){let t={};for(let[e,n]of Object.entries(i))t[e]=n.clone();e=t}return createTailorField(n,r,e,a,this._metadata)}};return c}function uuid(e){return createTailorField(`uuid`,e)}function string(e){return createTailorField(`string`,e)}function bool(e){return createTailorField(`boolean`,e)}function int(e){return createTailorField(`integer`,e)}function float(e){return createTailorField(`float`,e)}function decimal(e){return createTailorField(`decimal`,e)}function date(e){return createTailorField(`date`,e)}function datetime(e){return createTailorField(`datetime`,e)}function time(e){return createTailorField(`time`,e)}function _enum(e,t){return createTailorField(`enum`,t,void 0,e)}function object(e,t){return createTailorField(`nested`,t,e)}const h={uuid,string,bool,int,float,decimal,date,datetime,time,enum:_enum,object};function defineAuth(e,t){return{...t,name:e}}const g={create:[{conditions:[],permit:!0}],read:[{conditions:[],permit:!0}],update:[{conditions:[],permit:!0}],delete:[{conditions:[],permit:!0}]},_=[{conditions:[],actions:`all`,permit:!0}];function createResolver(e){let t=(e=>typeof e==`object`&&!!e&&`type`in e&&typeof e.type==`string`)(e.output)?e.output:h.object(e.output);return r({...e,output:t},`resolver`)}function createExecutor(e){return r(e,`executor`)}const v={created:`tailordb.type_record.created`,updated:`tailordb.type_record.updated`,deleted:`tailordb.type_record.deleted`};function recordCreatedTrigger(e){let{type:t,condition:n}=e;return{kind:`tailordb`,events:[`tailordb.type_record.created`],tableName:t.name,condition:n,__args:{}}}function recordUpdatedTrigger(e){let{type:t,condition:n}=e;return{kind:`tailordb`,events:[`tailordb.type_record.updated`],tableName:t.name,condition:n,__args:{}}}function recordDeletedTrigger(e){let{type:t,condition:n}=e;return{kind:`tailordb`,events:[`tailordb.type_record.deleted`],tableName:t.name,condition:n,__args:{}}}function recordTrigger(e){let{type:t,events:n,condition:r}=e;return{kind:`tailordb`,events:n.map(e=>v[e]),tableName:t.name,condition:r,__args:{}}}function resolverExecutedTrigger(e){let{resolver:t,condition:n}=e;return{kind:`resolverExecuted`,resolverName:t.name,condition:n,__args:{}}}const y={created:`idp.user.created`,updated:`idp.user.updated`,deleted:`idp.user.deleted`};function idpUserCreatedTrigger(e){return{kind:`idpUser`,events:[`idp.user.created`],...e?.idp==null?{}:{idp:e.idp},__args:{}}}function idpUserUpdatedTrigger(e){return{kind:`idpUser`,events:[`idp.user.updated`],...e?.idp==null?{}:{idp:e.idp},__args:{}}}function idpUserDeletedTrigger(e){return{kind:`idpUser`,events:[`idp.user.deleted`],...e?.idp==null?{}:{idp:e.idp},__args:{}}}function idpUserTrigger(e){let{events:t,idp:n}=e;return{kind:`idpUser`,events:t.map(e=>y[e]),...n==null?{}:{idp:n},__args:{}}}const b={issued:`auth.access_token.issued`,refreshed:`auth.access_token.refreshed`,revoked:`auth.access_token.revoked`};function authAccessTokenIssuedTrigger(){return{kind:`authAccessToken`,events:[`auth.access_token.issued`],__args:{}}}function authAccessTokenRefreshedTrigger(){return{kind:`authAccessToken`,events:[`auth.access_token.refreshed`],__args:{}}}function authAccessTokenRevokedTrigger(){return{kind:`authAccessToken`,events:[`auth.access_token.revoked`],__args:{}}}function authAccessTokenTrigger(e){let{events:t}=e;return{kind:`authAccessToken`,events:t.map(e=>b[e]),__args:{}}}const x={started:`workflow.workflow_execution.started`,completed:`workflow.workflow_execution.completed`,retried:`workflow.workflow_execution.retried`,resumed:`workflow.workflow_execution.resumed`,wait_started:`workflow.workflow_execution.wait_started`,wait_resolved:`workflow.workflow_execution.wait_resolved`};function workflowExecutionTriggerConfig(e,t){return{kind:`workflowExecution`,events:e,workflowName:t.workflow.name,condition:t.condition,__args:{}}}function workflowExecutionStartedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.started`],e)}function workflowExecutionCompletedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.completed`],e)}function workflowExecutionRetriedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.retried`],e)}function workflowExecutionResumedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.resumed`],e)}function workflowExecutionWaitStartedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.wait_started`],e)}function workflowExecutionWaitResolvedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.wait_resolved`],e)}function workflowExecutionTrigger(e){let{events:t,workflow:n,condition:r}=e;return workflowExecutionTriggerConfig(t.map(e=>x[e]),{workflow:n,condition:r})}const S={started:`workflow.workflow_execution.job_execution.started`,completed:`workflow.workflow_execution.job_execution.completed`,wait_started:`workflow.workflow_execution.job_execution.wait_started`,wait_resolved:`workflow.workflow_execution.job_execution.wait_resolved`};function workflowJobExecutionTriggerConfig(e,t){return{kind:`workflowJobExecution`,events:e,workflowName:t.workflow.name,condition:t.condition,__args:{}}}function workflowJobExecutionStartedTrigger(e){return workflowJobExecutionTriggerConfig([`workflow.workflow_execution.job_execution.started`],e)}function workflowJobExecutionCompletedTrigger(e){return workflowJobExecutionTriggerConfig([`workflow.workflow_execution.job_execution.completed`],e)}function workflowJobExecutionWaitStartedTrigger(e){return workflowJobExecutionTriggerConfig([`workflow.workflow_execution.job_execution.wait_started`],e)}function workflowJobExecutionWaitResolvedTrigger(e){return workflowJobExecutionTriggerConfig([`workflow.workflow_execution.job_execution.wait_resolved`],e)}function workflowJobExecutionTrigger(e){let{events:t,workflow:n,condition:r}=e;return workflowJobExecutionTriggerConfig(t.map(e=>S[e]),{workflow:n,condition:r})}function scheduleTrigger(e){let{cron:t,timezone:n}=e;return{kind:`schedule`,cron:t,timezone:n,__args:{}}}function incomingWebhookTrigger(e){let t=typeof e?.response==`function`?{body:e.response}:e?.response;return{kind:`incomingWebhook`,...t?{response:t}:{},__args:{}}}const C=/^[a-z0-9][a-z0-9_:.-]{0,62}[a-z0-9]$/;function createExecutionPolicyInstance(e,t,n,i,a,o,s){let c=i===`prefix`,l={name:e,key:t,matchType:i,...n&&{concurrencyPolicy:n},...c&&{keyFor:e=>{let t=`${l.key}${a}${e}`;if(!C.test(t))throw Error(`Invalid execution policy key "${t}" built by keyFor("${e}"): must match [a-z0-9_:.-] (2-64 chars; must start and end with [a-z0-9]).`);return t}}};return{instance:r(l,`execution-policy`),setName:o?e=>{l.name=e}:void 0,setKey:s?e=>{l.key=e}:void 0}}function defineWorkflowExecutionPolicy(e,t){return createExecutionPolicyInstance(e,t?.key??e,t?.concurrencyPolicy,t?.matchType??`exact`,t?.separator??`.`,!1,!1).instance}function defineWorkflowExecutionPolicies(e,t){let n=t?.separator??`.`,r=new Map,i=new Map,a=e(e=>{let t=e?.name,a=e?.key,{instance:o,setName:s,setKey:c}=createExecutionPolicyInstance(t??`__pending__`,a??t??`__pending__`,e?.concurrencyPolicy,e?.matchType??`exact`,n,t===void 0,a===void 0&&t===void 0);return s&&r.set(o,s),c&&i.set(o,c),o});for(let e of Object.keys(a)){let t=a[e];r.get(t)?.(e),i.get(t)?.(e)}return a}function createWorkflowJob(e){let t=e.body,n=process.env.__TAILOR_PLATFORM_BUNDLE?t:(e,n)=>s(n.invoker,()=>t(e,n));process.env.__TAILOR_PLATFORM_BUNDLE||i(e.name,n);let o=process.env.__TAILOR_PLATFORM_BUNDLE?()=>{throw Error(`.start() on workflow job "${e.name}" is rewritten at build time and is unavailable in the bundle`)}:function(t,n){return arguments.length>=2?a(e.name,t,n):a(e.name,t)};return r({name:e.name,start:o,body:n,...e.publishEvents===void 0?{}:{publishEvents:e.publishEvents}},`workflow-job`)}const w=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/;function parseKey(e){let t=e.split(`-`);return{segments:t,paramNames:t.filter(p).map(e=>e.slice(1))}}function composeKey(e,t,n){let r=t.segments.map(t=>{if(!p(t))return t;let r=t.slice(1),i=n[r];if(typeof i!=`string`)throw Error(`Wait point "${e}" needs a string for parameter "${r}" but received ${i===void 0?`undefined`:typeof i}.`);if(!w.test(i))throw Error(`Wait point "${e}" cannot use ${JSON.stringify(i)} for parameter "${r}": values may only contain [a-z0-9-] and cannot be empty or start or end with "-".`);return i}).join(`-`);if(r.length>63)throw Error(`Wait point key "${r}" built from "${e}" is ${r.length} characters; the limit is 63.`);if(!d.test(r))throw Error(`Wait point key "${r}" built from "${e}" must match ${f}.`);return r}function createBoundWaitPoint(e,t){return{wait(n){return Promise.resolve(e.wait(t(),n))},async resolve(n,r){await e.resolve(t(),n,r)}}}function createWaitPointInstance(e){let t=e,n=l(),i=r(createBoundWaitPoint(n,()=>t),`wait-point`);return u(i,n),{instance:i,setKey:e=>{t=e}}}function createParameterizedWaitPointInstance(e,t,n){let i=l(),unbound=()=>{throw Error(n===`define`?`Wait point key "${e}" has $params, so it identifies no single suspension on its own. Bind them first: waitPoint.with({ ... }).wait(...).`:`Wait point key "${e}" has $params, which createWaitPoint cannot type. Declare it through createWaitPoints instead: createWaitPoints((define) => ({ myWaitPoint: define.for("${e}")<Payload, Result>() })).`)},a=r({with(n){let r=composeKey(e,t,n);return c(createBoundWaitPoint(i,()=>r),r)},wait:unbound,resolve:unbound},`wait-point`);return u(a,i),a}function createKeyedWaitPoint(e,t){m({key:e,declaredBy:t});let n=parseKey(e);return n.paramNames.length>0?createParameterizedWaitPointInstance(e,n,t):createWaitPointInstance(e).instance}function createWaitPoint(e){return createKeyedWaitPoint(e,`createWaitPoint`)}function createWaitPoints(e){let t=new Map,n=e(Object.assign(()=>{let{instance:e,setKey:n}=createWaitPointInstance(`__pending__`);return t.set(e,n),e},{for:e=>{let t=createKeyedWaitPoint(e,`define`);return()=>t}}));for(let e of Object.keys(n)){let r=t.get(n[e]);r&&(m({key:e,declaredBy:`property`}),r(e))}return n}function createWorkflow(e){return r({...e,start:process.env.__TAILOR_PLATFORM_BUNDLE?async()=>{throw Error(`workflow.start() is rewritten at build time and unavailable in the bundle`)}:async function(t,n){return arguments.length>=2?await o(e.name,t,n):await o(e.name,t)}},`workflow`)}function defineStaticWebSite(e,t){return{...t,name:e,get url(){return`${e}:url`}}}function defineAIGateway(e,t){return{...t,name:e}}const T={create:[{conditions:[],permit:!0}],read:[{conditions:[],permit:!0}],update:[{conditions:[],permit:!0}],delete:[{conditions:[],permit:!0}],sendPasswordResetEmail:[{conditions:[],permit:!0}],unenrollMfa:[{conditions:[],permit:!0}]};function defineIdp(e,t){return{...t,name:e,provider(t,n){return{name:t,kind:`BuiltInIdP`,namespace:e,clientName:n}}}}function defineSecretManager(e,t){let n={vaults:e,options:{ignoreNullishValues:t?.ignoreNullishValues??!1}};return Object.defineProperty(n,"get",{value:async(e,t)=>tailor.secretmanager.getSecret(e,t),enumerable:!1}),Object.defineProperty(n,"getAll",{value:async(e,t)=>{let n=await tailor.secretmanager.getSecrets(e,t);return t.map(e=>n[e])},enumerable:!1}),n}function createHttpAdapter(e){return r({...e},`http-adapter`)}function defineConfig(e){return e}function definePlugins(...e){return e}const E=h;export{authAccessTokenIssuedTrigger,authAccessTokenRefreshedTrigger,authAccessTokenRevokedTrigger,authAccessTokenTrigger,createExecutor,createHttpAdapter,createResolver,createWaitPoint,createWaitPoints,createWorkflow,createWorkflowJob,n as db,defineAIGateway,defineAuth,defineConfig,defineIdp,definePlugins,defineSecretManager,defineStaticWebSite,defineWorkflowExecutionPolicies,defineWorkflowExecutionPolicy,idpUserCreatedTrigger,idpUserDeletedTrigger,idpUserTrigger,idpUserUpdatedTrigger,incomingWebhookTrigger,recordCreatedTrigger,recordDeletedTrigger,recordTrigger,recordUpdatedTrigger,resolverExecutedTrigger,scheduleTrigger,E as t,_ as unsafeAllowAllGqlPermission,T as unsafeAllowAllIdPPermission,g as unsafeAllowAllTypePermission,workflowExecutionCompletedTrigger,workflowExecutionResumedTrigger,workflowExecutionRetriedTrigger,workflowExecutionStartedTrigger,workflowExecutionTrigger,workflowExecutionWaitResolvedTrigger,workflowExecutionWaitStartedTrigger,workflowJobExecutionCompletedTrigger,workflowJobExecutionStartedTrigger,workflowJobExecutionTrigger,workflowJobExecutionWaitResolvedTrigger,workflowJobExecutionWaitStartedTrigger};
|
|
1
|
+
import{i as e,n as t,t as n}from"../schema-6d_OHyZf.mjs";import{t as r}from"../brand-C8nMKhJC.mjs";import{a as i,n as a,r as o}from"../registry-HlEaGvl5.mjs";import{l as s,n as c,r as l,t as u}from"../wait-point-invoker-eiP-IIux.mjs";import{a as d,i as f,o as p,r as m}from"../wait-point-registry-B-ESkTZX.mjs";function createTailorField(n,r,i,a,o){let s=o?{...o,...o.allowedValues&&{allowedValues:o.allowedValues.map(e=>({...e}))},...o.validate&&{validate:o.validate.map(e=>Array.isArray(e)?[...e]:e)}}:{required:!0};o||(r&&(r.optional===!0&&(s.required=!1),r.array===!0&&(s.array=!0)),a&&(s.allowedValues=t(a)));function parseInternal$1(t){return e({...t,field:c})}function cloneWith(e){let t=c.clone();return Object.assign(t._metadata,e),t}let c={type:n,fields:i??{},_defined:void 0,_output:void 0,_metadata:s,get metadata(){return{...this._metadata}},description(e){return cloneWith({description:e})},typeName(e){return cloneWith({typeName:e})},validate(...e){return cloneWith({validate:e})},parse(e){return parseInternal$1({value:e.value,data:e.data,invoker:e.invoker,pathArray:[]})},clone(){let e=i;if(i){let t={};for(let[e,n]of Object.entries(i))t[e]=n.clone();e=t}return createTailorField(n,r,e,a,this._metadata)}};return c}function uuid(e){return createTailorField(`uuid`,e)}function string(e){return createTailorField(`string`,e)}function bool(e){return createTailorField(`boolean`,e)}function int(e){return createTailorField(`integer`,e)}function float(e){return createTailorField(`float`,e)}function decimal(e){return createTailorField(`decimal`,e)}function date(e){return createTailorField(`date`,e)}function datetime(e){return createTailorField(`datetime`,e)}function time(e){return createTailorField(`time`,e)}function _enum(e,t){return createTailorField(`enum`,t,void 0,e)}function object(e,t){return createTailorField(`nested`,t,e)}const h={uuid,string,bool,int,float,decimal,date,datetime,time,enum:_enum,object};function defineAuth(e,t){return{...t,name:e}}const g={create:[{conditions:[],permit:!0}],read:[{conditions:[],permit:!0}],update:[{conditions:[],permit:!0}],delete:[{conditions:[],permit:!0}]},_=[{conditions:[],actions:`all`,permit:!0}];function createResolver(e){let t=(e=>typeof e==`object`&&!!e&&`type`in e&&typeof e.type==`string`)(e.output)?e.output:h.object(e.output);return r({...e,output:t},`resolver`)}function createExecutor(e){return r(e,`executor`)}const v={created:`tailordb.type_record.created`,updated:`tailordb.type_record.updated`,deleted:`tailordb.type_record.deleted`};function recordCreatedTrigger(e){let{type:t,condition:n}=e;return{kind:`tailordb`,events:[`tailordb.type_record.created`],tableName:t.name,condition:n,__args:{}}}function recordUpdatedTrigger(e){let{type:t,condition:n}=e;return{kind:`tailordb`,events:[`tailordb.type_record.updated`],tableName:t.name,condition:n,__args:{}}}function recordDeletedTrigger(e){let{type:t,condition:n}=e;return{kind:`tailordb`,events:[`tailordb.type_record.deleted`],tableName:t.name,condition:n,__args:{}}}function recordTrigger(e){let{type:t,events:n,condition:r}=e;return{kind:`tailordb`,events:n.map(e=>v[e]),tableName:t.name,condition:r,__args:{}}}function resolverExecutedTrigger(e){let{resolver:t,condition:n}=e;return{kind:`resolverExecuted`,resolverName:t.name,condition:n,__args:{}}}const y={created:`idp.user.created`,updated:`idp.user.updated`,deleted:`idp.user.deleted`};function idpUserCreatedTrigger(e){return{kind:`idpUser`,events:[`idp.user.created`],...e?.idp==null?{}:{idp:e.idp},__args:{}}}function idpUserUpdatedTrigger(e){return{kind:`idpUser`,events:[`idp.user.updated`],...e?.idp==null?{}:{idp:e.idp},__args:{}}}function idpUserDeletedTrigger(e){return{kind:`idpUser`,events:[`idp.user.deleted`],...e?.idp==null?{}:{idp:e.idp},__args:{}}}function idpUserTrigger(e){let{events:t,idp:n}=e;return{kind:`idpUser`,events:t.map(e=>y[e]),...n==null?{}:{idp:n},__args:{}}}const b={issued:`auth.access_token.issued`,refreshed:`auth.access_token.refreshed`,revoked:`auth.access_token.revoked`};function authAccessTokenIssuedTrigger(){return{kind:`authAccessToken`,events:[`auth.access_token.issued`],__args:{}}}function authAccessTokenRefreshedTrigger(){return{kind:`authAccessToken`,events:[`auth.access_token.refreshed`],__args:{}}}function authAccessTokenRevokedTrigger(){return{kind:`authAccessToken`,events:[`auth.access_token.revoked`],__args:{}}}function authAccessTokenTrigger(e){let{events:t}=e;return{kind:`authAccessToken`,events:t.map(e=>b[e]),__args:{}}}const x={started:`workflow.workflow_execution.started`,completed:`workflow.workflow_execution.completed`,retried:`workflow.workflow_execution.retried`,resumed:`workflow.workflow_execution.resumed`,wait_started:`workflow.workflow_execution.wait_started`,wait_resolved:`workflow.workflow_execution.wait_resolved`};function workflowExecutionTriggerConfig(e,t){return{kind:`workflowExecution`,events:e,workflowName:t.workflow.name,condition:t.condition,__args:{}}}function workflowExecutionStartedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.started`],e)}function workflowExecutionCompletedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.completed`],e)}function workflowExecutionRetriedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.retried`],e)}function workflowExecutionResumedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.resumed`],e)}function workflowExecutionWaitStartedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.wait_started`],e)}function workflowExecutionWaitResolvedTrigger(e){return workflowExecutionTriggerConfig([`workflow.workflow_execution.wait_resolved`],e)}function workflowExecutionTrigger(e){let{events:t,workflow:n,condition:r}=e;return workflowExecutionTriggerConfig(t.map(e=>x[e]),{workflow:n,condition:r})}const S={started:`workflow.workflow_execution.job_execution.started`,completed:`workflow.workflow_execution.job_execution.completed`,wait_started:`workflow.workflow_execution.job_execution.wait_started`,wait_resolved:`workflow.workflow_execution.job_execution.wait_resolved`};function workflowJobExecutionTriggerConfig(e,t){return{kind:`workflowJobExecution`,events:e,workflowName:t.workflow.name,condition:t.condition,__args:{}}}function workflowJobExecutionStartedTrigger(e){return workflowJobExecutionTriggerConfig([`workflow.workflow_execution.job_execution.started`],e)}function workflowJobExecutionCompletedTrigger(e){return workflowJobExecutionTriggerConfig([`workflow.workflow_execution.job_execution.completed`],e)}function workflowJobExecutionWaitStartedTrigger(e){return workflowJobExecutionTriggerConfig([`workflow.workflow_execution.job_execution.wait_started`],e)}function workflowJobExecutionWaitResolvedTrigger(e){return workflowJobExecutionTriggerConfig([`workflow.workflow_execution.job_execution.wait_resolved`],e)}function workflowJobExecutionTrigger(e){let{events:t,workflow:n,condition:r}=e;return workflowJobExecutionTriggerConfig(t.map(e=>S[e]),{workflow:n,condition:r})}function scheduleTrigger(e){let{cron:t,timezone:n}=e;return{kind:`schedule`,cron:t,timezone:n,__args:{}}}function incomingWebhookTrigger(e){let t=typeof e?.response==`function`?{body:e.response}:e?.response;return{kind:`incomingWebhook`,...t?{response:t}:{},__args:{}}}const C=/^[a-z0-9][a-z0-9_:.-]{0,62}[a-z0-9]$/;function createExecutionPolicyInstance(e,t,n,i,a,o,s){let c=i===`prefix`,l={name:e,key:t,matchType:i,...n&&{concurrencyPolicy:n},...c&&{keyFor:e=>{let t=`${l.key}${a}${e}`;if(!C.test(t))throw Error(`Invalid execution policy key "${t}" built by keyFor("${e}"): must match [a-z0-9_:.-] (2-64 chars; must start and end with [a-z0-9]).`);return t}}};return{instance:r(l,`execution-policy`),setName:o?e=>{l.name=e}:void 0,setKey:s?e=>{l.key=e}:void 0}}function defineWorkflowExecutionPolicy(e,t){return createExecutionPolicyInstance(e,t?.key??e,t?.concurrencyPolicy,t?.matchType??`exact`,t?.separator??`.`,!1,!1).instance}function defineWorkflowExecutionPolicies(e,t){let n=t?.separator??`.`,r=new Map,i=new Map,a=e(e=>{let t=e?.name,a=e?.key,{instance:o,setName:s,setKey:c}=createExecutionPolicyInstance(t??`__pending__`,a??t??`__pending__`,e?.concurrencyPolicy,e?.matchType??`exact`,n,t===void 0,a===void 0&&t===void 0);return s&&r.set(o,s),c&&i.set(o,c),o});for(let e of Object.keys(a)){let t=a[e];r.get(t)?.(e),i.get(t)?.(e)}return a}function createWorkflowJob(e){let t=e.body,n=process.env.__TAILOR_PLATFORM_BUNDLE?t:(e,n)=>s(n.invoker,()=>t(e,n));process.env.__TAILOR_PLATFORM_BUNDLE||i(e.name,n);let o=process.env.__TAILOR_PLATFORM_BUNDLE?()=>{throw Error(`.start() on workflow job "${e.name}" is rewritten at build time and is unavailable in the bundle`)}:function(t,n){return arguments.length>=2?a(e.name,t,n):a(e.name,t)};return r({name:e.name,start:o,body:n,...e.publishEvents===void 0?{}:{publishEvents:e.publishEvents}},`workflow-job`)}const w=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/;function parseKey(e){let t=e.split(`-`);return{segments:t,paramNames:t.filter(p).map(e=>e.slice(1))}}function composeKey(e,t,n){let r=t.segments.map(t=>{if(!p(t))return t;let r=t.slice(1),i=n[r];if(typeof i!=`string`)throw Error(`Wait point "${e}" needs a string for parameter "${r}" but received ${i===void 0?`undefined`:typeof i}.`);if(!w.test(i))throw Error(`Wait point "${e}" cannot use ${JSON.stringify(i)} for parameter "${r}": values may only contain [a-z0-9-] and cannot be empty or start or end with "-".`);return i}).join(`-`);if(r.length>63)throw Error(`Wait point key "${r}" built from "${e}" is ${r.length} characters; the limit is 63.`);if(!d.test(r))throw Error(`Wait point key "${r}" built from "${e}" must match ${f}.`);return r}function createBoundWaitPoint(e,t){return{wait(n){return Promise.resolve(e.wait(t(),n))},async resolve(n,r){await e.resolve(t(),n,r)}}}function createWaitPointInstance(e){let t=e,n=l(),i=r(createBoundWaitPoint(n,()=>t),`wait-point`);return u(i,n),{instance:i,setKey:e=>{t=e}}}function createParameterizedWaitPointInstance(e,t,n){let i=l(),unbound=()=>{throw Error(n===`define`?`Wait point key "${e}" has $params, so it identifies no single suspension on its own. Bind them first: waitPoint.with({ ... }).wait(...).`:`Wait point key "${e}" has $params, which createWaitPoint cannot type. Declare it through createWaitPoints instead: createWaitPoints((define) => ({ myWaitPoint: define.for("${e}")<Payload, Result>() })).`)},a=r({with(n){let r=composeKey(e,t,n);return c(createBoundWaitPoint(i,()=>r),r)},wait:unbound,resolve:unbound},`wait-point`);return u(a,i),a}function createKeyedWaitPoint(e,t){m({key:e,declaredBy:t});let n=parseKey(e);return n.paramNames.length>0?createParameterizedWaitPointInstance(e,n,t):createWaitPointInstance(e).instance}function createWaitPoint(e){return createKeyedWaitPoint(e,`createWaitPoint`)}function createWaitPoints(e){let t=new Map,n=e(Object.assign(()=>{let{instance:e,setKey:n}=createWaitPointInstance(`__pending__`);return t.set(e,n),e},{for:e=>{let t=createKeyedWaitPoint(e,`define`);return()=>t}}));for(let e of Object.keys(n)){let r=t.get(n[e]);r&&(m({key:e,declaredBy:`property`}),r(e))}return n}function createWorkflow(e){return r({...e,start:process.env.__TAILOR_PLATFORM_BUNDLE?async()=>{throw Error(`workflow.start() is rewritten at build time and unavailable in the bundle`)}:async function(t,n){return arguments.length>=2?await o(e.name,t,n):await o(e.name,t)}},`workflow`)}function defineStaticWebSite(e,t){return{...t,name:e,get url(){return`${e}:url`}}}function defineAIGateway(e,t){return{...t,name:e}}const T={create:[{conditions:[],permit:!0}],read:[{conditions:[],permit:!0}],update:[{conditions:[],permit:!0}],delete:[{conditions:[],permit:!0}],sendPasswordResetEmail:[{conditions:[],permit:!0}],unenrollMfa:[{conditions:[],permit:!0}]};function defineIdp(e,t){return{...t,name:e,provider(t,n){return{name:t,kind:`BuiltInIdP`,namespace:e,clientName:n}}}}function defineSecretManager(e,t){let n={vaults:e,options:{ignoreNullishValues:t?.ignoreNullishValues??!1}};return Object.defineProperty(n,"get",{value:async(e,t)=>tailor.secretmanager.getSecret(e,t),enumerable:!1}),Object.defineProperty(n,"getAll",{value:async(e,t)=>{let n=await tailor.secretmanager.getSecrets(e,t);return t.map(e=>n[e])},enumerable:!1}),n}function createHttpAdapter(e){return r({...e},`http-adapter`)}function defineConfig(e){return e}function definePlugins(...e){return e}const E=h;export{authAccessTokenIssuedTrigger,authAccessTokenRefreshedTrigger,authAccessTokenRevokedTrigger,authAccessTokenTrigger,createExecutor,createHttpAdapter,createResolver,createWaitPoint,createWaitPoints,createWorkflow,createWorkflowJob,n as db,defineAIGateway,defineAuth,defineConfig,defineIdp,definePlugins,defineSecretManager,defineStaticWebSite,defineWorkflowExecutionPolicies,defineWorkflowExecutionPolicy,idpUserCreatedTrigger,idpUserDeletedTrigger,idpUserTrigger,idpUserUpdatedTrigger,incomingWebhookTrigger,recordCreatedTrigger,recordDeletedTrigger,recordTrigger,recordUpdatedTrigger,resolverExecutedTrigger,scheduleTrigger,E as t,_ as unsafeAllowAllGqlPermission,T as unsafeAllowAllIdPPermission,g as unsafeAllowAllTypePermission,workflowExecutionCompletedTrigger,workflowExecutionResumedTrigger,workflowExecutionRetriedTrigger,workflowExecutionStartedTrigger,workflowExecutionTrigger,workflowExecutionWaitResolvedTrigger,workflowExecutionWaitStartedTrigger,workflowJobExecutionCompletedTrigger,workflowJobExecutionStartedTrigger,workflowJobExecutionTrigger,workflowJobExecutionWaitResolvedTrigger,workflowJobExecutionWaitStartedTrigger};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|